From 395426b39fb36aaab3305854830becc150fb9b0f Mon Sep 17 00:00:00 2001 From: MyGithub-1 <68680964+MyGithub-1@users.noreply.github.com> Date: Mon, 15 Jul 2024 11:39:48 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20MyGithub?= =?UTF-8?q?-1/nav@a3287cb89fbf0d6ec0f891ae48b6c3066cb5d027=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 6 +++--- index.html | 6 +++--- main.2e56b0368102eb93.js | 1 - main.53a93bea7b9b99fa.js | 1 + 4 files changed, 7 insertions(+), 7 deletions(-) delete mode 100644 main.2e56b0368102eb93.js create mode 100644 main.53a93bea7b9b99fa.js diff --git a/404.html b/404.html index 4b56863479..5bc56bf5f9 100644 --- a/404.html +++ b/404.html @@ -57,8 +57,8 @@ -
-

发现导航 - 精选实用导航网站

https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/nav-1691133333044-logo.png

发现导航 - 精选实用导航网站

Navigation

发现导航 - 精选实用导航网站

GitHub

发现导航 - 精选实用导航网站

OpenSource

发现导航 - 精选实用导航网站

AI

🤖

发现导航 - 精选实用导航网站

Open Broadcaster Software | OBSobs

https://obsproject.com/favicon-32x32.png

发现导航 - 精选实用导航网站

录屏软件

发现导航 - 精选实用导航网站

录屏软件

发现导航 - 精选实用导航网站

Musetransfer

nav-1720879893574-f89fe5be-7027-405a-8d35-7b7d0f9330d7.webp

文件快速上传下载

文件传输

发现导航 - 精选实用导航网站

云盘网盘

发现导航 - 精选实用导航网站

Github-CLI

https://github.githubassets.com/favicons/favicon.svg

GitHub的官方命令行工具

Coveralls

https://coveralls.io/favicon.png

通过显示测试套件未涵盖代码的哪些部分,我们可以帮助您自信地交付代码。免费提供开源软件库

Releasly

在新的开源版本发布时收到通知,直接发送到您的电子邮件中。

Convert cURL

将curl命令转换为Python,JavaScript,PHP,R,Go,Rust,Dart,JSON,Ansible,Elixir。

Supervisor

Supervisor是一个客户端/服务器系统,允许其用户监视和控制类似UNIX的操作系统上的多个进程。

SonarQube

https://www.sonarqube.org/favicon-152.png

代码质量和安全性检查, 支持所有开发人员编写更干净,更安全的代码。

Pastebin

https://paste.ubuntu.com/favicon.ico

在线共享代码,将代码以URL形式发送以便查看

UPX

https://avatars2.githubusercontent.com/u/30217756?s=200&v=4

UPX-可执行文件的终极打包器

askgit

https://avatars2.githubusercontent.com/u/30217756?s=200&v=4

使用SQL查询git存储库。生成报告,执行状态检查,分析代码库。

Sentry

https://avatars3.githubusercontent.com/u/1396951?s=200&v=4

Web应用程序,移动应用程序和游戏的实时崩溃报告。

randomuser

https://randomuser.me/favicon.ico

随机用户生成器是用于生成占位符用户信息的免费API。 获取个人资料照片,姓名等。 对于人们来说,就像Lorem Ipsum。

github-readme-stats

https://camo.githubusercontent.com/ebfdd465daa90626d0ab0d0fddc0e457c942a392/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f616e7572616768617a72612f696d6167652f75706c6f61642f76313539343930383234322f6c6f676f5f636373776d652e737667

在你的 README 中 获取动态生成的 GitHub 统计信息

Hits

https://i.imgur.com/zBEQq4w.png

了解有多少人正在查看您的GitHub项目的简单方法

GitHub 文件加速

GitHub 文件加速

Shields IO

svg生成版本号图标

FunDebug

https://www.fundebug.com/favicon.ico

支持前端JavaScript,后端Node.js以及微信小程序错误监控

Asciiworld

http://www.asciiworld.com/favicon.ico

WA!原来那些年程序猿搞怪的注释都在这里

jsfiddle

https://jsfiddle.net/img/favicon.png

强大的前端代码在线演示的网站

CODEIF

https://user-images.githubusercontent.com/799578/50462941-8075fe80-09c3-11e9-89e7-af0cb7991406.png

变量命名神器

ASCIIFlow Infinity

http://asciiflow.com/images/favicon.png

无限的ASCII图表,保存到谷歌驱动器,调整大小,自由绘制,并直接输出到文本/HTML。

gitzip

https://kinolien.github.io/gitzip/images/gitzip.png

它可以将GITHUB存储库的子文件夹/子目录作为zip并下载

Server酱

http://sc.ftqq.com/static/image/favlogo.png

「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。

mkcert

一个简单的零配置工具,可以使用您喜欢的任何名称制作本地可信赖的SSL开发证书

carbon

https://carbon.now.sh/favicon.ico

创建和分享源代码的精美图像

setup-ipsec-vpn

用于构建您自己的IPsec VPN服务器的脚本,在Ubuntu,Debian和CentOS上使用IPsec / L2TP和Cisco IPsec

nginxconfig

https://www.digitalocean.com/favicon.ico

nginx配置生成器

GraphQL Explorer

GraphQL资源管理器利用真实的、实时的生产数据

patorjk

将文本转换成ASCII

lens

https://avatars0.githubusercontent.com/u/62133242?s=200&v=4

Lens控制Kubernetes集群所需的唯一IDE。它是适用于MacOS,Windows和Linux操作系统的独立应用程序。它是开源的,免费的。

public-apis

一些可用在 Web 或软件开发的开放 API 接口

astexplorer

https://astexplorer.net/favicon.png

一个Web工具,用于探索由各种解析器生成的AST

uTools

http://www.u.tools/assets/img/brand/favicon.png

uTools是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合

ihateregex

https://ihateregex.io/favicon.ico

正则表达式备忘录

Oh My ZSH

https://avatars3.githubusercontent.com/u/22552083?s=200&v=4

是一个开放源代码,社区驱动的框架,用于管理zsh配置。

Tampermonkey

https://tampermonkey.freetls.fastly.net/images/icon144.png

一款免费的浏览器扩展和最为流行的用户脚本管理器

Greasy Fork

提供用户脚本的网站

免费代理

https://img.kuaidaili.com/img/favicon.ico?v=3

免费HTTP代理IP

Google Workspace

https://avatars2.githubusercontent.com/u/1342004?s=200&v=4

Google Workspace状态信息中心

开发神器

发现导航 - 精选实用导航网站

eoLinker接口管理平台

https://www.eolinker.com/assets/images/favicon.ico

国内最大的在线接口管理服务方案供应商

YApi

https://avatars2.githubusercontent.com/u/19645609?s=200&v=4

YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台

RAP2

http://rap2.taobao.org/favicon.png

Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品

showdoc

https://www.showdoc.cc/static/logo/b_64.png

一个非常适合IT团队的在线API文档、技术文档工具

docsify

https://avatars3.githubusercontent.com/u/40133106?s=200&v=4

一个神奇的文档站点生成器

apiDoc

https://avatars2.githubusercontent.com/u/4103663?s=200&v=4

RESTful Web API文档生成器

docusaurus

https://avatars2.githubusercontent.com/u/69631?s=200&v=4

易于维护的开源文档网站

禅道

https://www.zentao.net/favicon.ico

禅道是灵活的项目管理软件

Tapd

https://www.tapd.cn/favicon.ico

一站式敏捷研发协作云平台, 凝聚腾讯研发方法及敏捷实践精髓, 助力企业研发更高效、协作更敏捷

Hoppscotch

https://avatars2.githubusercontent.com/u/56705483?s=200&v=4

一个免费,快速,美观的API请求构建器,供10万多个开发人员使用。(原名叫 Postwoman)

接口/开发文档管理

发现导航 - 精选实用导航网站

Sunny-Ngrok

一条命令解决的外网访问内网问题,无需任何配置,下载客户端之后直接一条命令让外网访问您的内网不再是距离

frp

一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。

zan-proxy

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

本地代码调试线上页面,环境再也不是问题

ngrok

https://ngrok.com/static/img/favicon.png

ngrok是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析和重放

内网穿透/代理

发现导航 - 精选实用导航网站

查MD5

http://www.chamd5.org/favicon.ico

MD5在线解密|md5在线破解|批量破解md5网站

JSON Web Tokens

https://jwt.io/img/favicon/apple-icon-76x76.png

jwt 在线解码

base64

http://www.xpcha.com/favicon.ico

base64在线解码编码

编码/解码

发现导航 - 精选实用导航网站

ipify

https://www.ipify.org/static/images/favicon-96x96.png

一个简单的公共IP地址API

归属地查询

淘宝免费归属地查询

免费公开API

发现导航 - 精选实用导航网站

开发相关

发现导航 - 精选实用导航网站

draw

https://www.draw.io/images/apple-touch-icon.png

免费的在线图表软件,用于制作流程图、流程图、组织图、UML、ER和网络图

ProcessOn

https://www.processon.com/favicon.ico

免费在线作图工具,UML作图,UI界面原型设计,iOS原型设计,BPMN,流程图,思维导图,多人协作绘图

蓝湖

https://lhcdn.lanhuapp.com/web/static/favicon.ico

蓝湖是一款设计图共享平台,帮助互联网团队管理设计图

Zeplin

https://zeplin.io/img/favicon/228x228.png

为设计师和前端而生的协作应用

幕布

https://mubu.com/favicon.ico

极简大纲笔记 | 一键生成思维导图

声享

https://p.ssl.qhimg.com/t01a54d9106629dda0e.png

在线制作 PPT,让分享更有价值

墨刀

https://modao.cc/images/logo.png

原型设计工具,web原型设计工具,app原型设计工具

小智LOGO

https://xzlogo.com/static/images/favicon-16x16.png?v2

LOGO在线制作神器 - 3分钟完成LOGO设计在线生成

创客贴

https://www.chuangkit.com/favicon.ico

一款简单易用、功能强大的线上图形设计工具

在线制作图表

https://cdn.jifo.co/favicon/favicon.ico

信息图表是一种易于使用的信息图表和图表制造商。创建和分享美丽的信息图表,在线报告和互动地图。在这里做你自己

CLIPPING MAGIC

删除图像背景在线。使背景透明,白色等编辑,裁剪,旋转,固定颜色,添加阴影,一款在线抠图工具

稿定抠图

https://koutu.gaoding.com/favicon.ico

稿定设计是一款专为淘宝店主、新媒体运营人员和修图爱好者打造的免费在线抠图工具。

UZER.ME

https://uzer.me/favicon.ico

超级应用空间致力于全生命周期的文档管理,无需安装,即可在线编辑Office, CAD,PS等任意格式文档,支持远程协作,全文检索,版本管理,权限管理,安全外发等.提高工作效率,降低安全风险

launchaco

https://www.launchaco.com/static/favicon.ico

免费在线制作LOGO

鹿班

https://g.alicdn.com/acca/resource/luban/image/favicon.png

鹿班 - 让设计更美好(阿里出品)

图片裁剪

https://www.yasuotu.com/favicon.ico

在线裁剪照片大小尺寸

设计相关

发现导航 - 精选实用导航网站

设计相关

发现导航 - 精选实用导航网站

Bitwarden

https://bitwarden.com/images/icons/favicon-32x32.png

个人和企业在任何设备上存储,共享和保护敏感数据的最简单,最安全的方法

Typeora

https://typora.io/img/favicon-48.png

Typora是一款跨平台的最小Markdown编辑器,可为Markdown读者和作家提供无缝的体验

iterm2

https://www.iterm2.com/favicon.ico

iTerm2是Terminal的替代品,是iTerm的后续产品

Sourcetree

https://www.sourcetreeapp.com/assets/img/favicons/sourcetree/favicon-32x32.png

美丽的Git GUI中的简单性和强大功能

charles

https://www.charlesproxy.com/static/img/icon.8b97278f.png

Charles是HTTP代理/ HTTP监视器/反向代理,使开发人员可以查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。这包括请求,响应和HTTP标头(其中包含cookie和缓存信息)。

Tunnelblick

https://tunnelblick.net/favicon.ico

适用于macOS的免费开源OpenVPN VPN客户端服务器软件。

Keka

https://www.keka.io/img/Keka-120x120.png

macOS文件存档器, 储存更多,私密分享

Kap

https://getkap.co/static/favicon/kap.ico

使用Web技术构建的开源屏幕录像机。

Vscode

https://code.visualstudio.com/apple-touch-icon.png

VScode是一款轻量级的编辑器,自由。 建立在开源上。 无处不在。

zenmap

https://nmap.org/shared/images/tiny-eyeicon.png

开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本

obsproject

https://obsproject.com/favicon-32x32.png

免费和开源软件,用于视频录制和实时流。

hyper

https://avatars1.githubusercontent.com/u/14985020?s=200&v=4

基于WEB技术的终端

Listary

https://www.listary.com/wp-content/themes/listary5/images/favicon.ico

Listary是Windows的革命性搜索实用程序,它使休闲用户和高级用户都能快速找到文件并启动应用程序!

GUI

发现导航 - 精选实用导航网站

vmware

https://www.vmware.com/favicon.ico

利用VMware提供的软件定义的云,移动性,网络和安全解决方案来建立您的数字基础。

parallels

https://www.parallels.cn/typo3conf/ext/prls_theme/Resources/Public/theme/res/img/favicon/favicon.png

Mac和Windows虚拟化|管理Mac|VDI和RDS解决方案

mumu Android模拟器

http://mumu.163.com/favicon.ico

网易MuMu[手游模拟器][安卓模拟器]

虚拟机

发现导航 - 精选实用导航网站

DBeaver

https://avatars3.githubusercontent.com/u/34743864?s=200&v=4

适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费的多平台数据库工具。支持所有流行的数据库:MySQL,PostgreSQL,SQLite,Oracle,DB2,SQL Server,Sybase,MS Access,Teradata,Firebird,Apache Hive,Phoenix,Presto等

RedisDesktopManager

https://redisdesktop.com/static/css/favicon.png

Redis Desktop Manager(又名RDM)—是用于Windows,Linux,MacOS和iPadOS的快速Redis数据库管理应用程序。

Sequel Pro

https://sequelpro.com/favicon/favicon-32x32.png

Sequel Pro是一个快速,易于使用的Mac数据库管理应用程序,用于处理MySQL数据库。

Robo 3T

https://robomongo.org/static/favicon-11ace079.ico

一个现代,强大且由社区驱动的MongoDB管理工具

DataGrip

https://www.jetbrains.com/favicon-32x32.png

jetbrains出品的数据库管理系统

tableplus

https://tableplus.com/resources/favicons/apple-icon-57x57.png

用于关系数据库的现代,本地且友好的GUI工具:MySQL,PostgreSQL,SQLite等

数据库

发现导航 - 精选实用导航网站

TeamViewer

https://www.teamviewer.cn/wp-content/themes/tv-wordpress-theme/dist/media/favicon.png

TeamViewer远程连接控制软件是一款随时随地连接到远程桌面电脑、移动设备及Iot,让远程连接过程更加的快速和安全,轻松实现对文件、网络及程序的实时支持或访问。

向日葵

https://sunlogin.oray.com/favicon.ico

向日葵远程控制软件是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件

远程控制

发现导航 - 精选实用导航网站

v2ray

https://avatars0.githubusercontent.com/u/14110142?s=200&v=4

用于构建代理绕过网络限制的平台。

clash

https://github.com/Dreamacro/clash/raw/master/docs/logo.png

Go中基于规则的隧道

飞机场

发现导航 - 精选实用导航网站

GUI软件

发现导航 - 精选实用导航网站

哔哩哔哩

https://www.bilibili.com/favicon.ico

国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主

爱奇艺

https://www.iqiyipic.com/common/images/PCW-114x114.png

拥有海量、优质、高清的网络视频的大型视频网站,专业的网络视频播放平台

Youtube

https://www.youtube.com/favicon.ico

全球最大的视频网站

斗鱼

https://www.douyu.com/favicon.ico

斗鱼 - 每个人的直播平台

疯狂影视搜索

https://cdn.jsdelivr.net/gh/txxxjs/fk/ifkdy/2020-03-16/favicon.ico

疯狂影视搜索是一款全能影视搜索引擎,帮你找到最新影视资源,一站拥有无尽影视资源

全民vip视频在线解析

http://www.qmaile.com/favicon.ico

免费全网VIP视频会员免广告看电影!优酷vip解析,爱奇艺vip解析,腾讯vip解析,乐视vip解析,芒果vip解析

蜜蜂剪辑

https://qncdnimg.aoscdn.com/local/beecut.cn/img/favicon.png

免费在线视频剪辑、视频制作、视频剪切、视频转gif等实用功能

kk高清影院

kk高清影院,1080p电影下载,高清电影迅雷下载,免费高清电影网

影视

发现导航 - 精选实用导航网站

自由的音乐

自由的音乐是一个免费试听并下载全网音乐的网站

音乐

发现导航 - 精选实用导航网站

影视/音乐

发现导航 - 精选实用导航网站

智联招聘

https://www.zhaopin.com/favicon.ico

智联招聘,更懂你的价值

前程无忧

https://www.51job.com/favicon.ico

招聘网,人才网,求职,找工作

BOSS直聘

https://www.zhipin.com/favicon.ico

BOSS直聘是权威领先的招聘网,开启人才网招聘求职新时代,让求职者与Boss直接开聊、加快面试、即时反馈,找工作就来BOSS直聘和Boss开聊吧

招聘/求职

发现导航 - 精选实用导航网站

ResumeSample

程序员简历模板系列, WEB/IOS/Android/C++/node等以及通用程序员简历模板

程序员找工作黑名单

http://coder.shengxinjing.cn/logo.ico

有些事情,应该被记住

看准网

https://www.kanzhun.com/favicon.ico

看准网★中国领先的职场信息平台,专注于公司评论,晒工资,工资待遇,面试,公司福利等.您可以在看准网上匿名分享您的职业信息

其他

发现导航 - 精选实用导航网站

招聘/求职

发现导航 - 精选实用导航网站

TinyPNG

https://tinypng.com/images/apple-touch-icon.png

智能PNG和JPEG压缩,以质量和文件大小的完美平衡来优化您的图像

Squoosh

https://squoosh.app/assets/favicon.ico

在浏览器中用不同的编解码器压缩和比较图像(Google出品)

压缩工具

发现导航 - 精选实用导航网站

草料二维码

https://static.clewm.net/static/images/favicon.ico

用专业的二维码产品帮助企业创造价值

Feed 验证器

验证RSS是否符合标准规范

淘捏捏

https://www.taonienie.com/favicon.ico

淘宝信誉查询 - 淘捏捏卖家工具箱 淘宝信誉查询_淘宝信用查询_淘宝小号查询_淘宝黑号查询

天眼查

https://www.tianyancha.com/favicon.ico

人人都在用商业安全工具_企业信息查询_公司查询_工商查询_企业信用信息查询系统

语雀

https://yuque.com/favicon.ico

优雅高效的在线文档编辑与协同工具,让每个企业轻松拥有文档中心 - 阿里巴巴

求是潮云U盘

https://www.qsc.zju.edu.cn/box/favicon.ico

临时文件上传, 快速和稳定

云转换

https://www.360converter.com/images/favicon.ico

在线免费转换视频,音频,YouTube视频到文字,视频到文字,音频到文字,语音转换成文字

Picdiet

https://www.picdiet.com/css/favicon.ico

独特且强悍的JavaScript算法,能极速压缩80%的图片大小,而不损害其质量

easyicon

https://cdn-img.easyicon.net/favicon.ico

在线图标转换ico、icns

Smallpdf

https://smallpdf.com/favicon.png

压缩pdf、各种文件格式转换pdf

Cool Backgrounds

https://coolbackgrounds.io/images/favicon-fe5a0ff5.png

生成非常酷的彩色背景图像

Unsplash Source

https://source.unsplash.com/favicon-32x32.png

随机生成图片链接

石墨文档

https://assets.smcdn.cn/from_qbox/favicon.ico

一款轻便、简洁的在线协作文档工具,PC端和移动端全覆盖,支持多人同时对文档编辑和评论...

Emoji searcher

https://emoji.muan.co/appicon.png

Emoji表情大全

imgURL

https://imgurl.org/favicon.ico

ImgURL是一个简单、纯粹的图床程序,让个人图床多一个选择

拷贝兔

https://f0cdn.anyknew.com/web/img/icons/favicon-32x32.png

跨平台分享工具,纯Web,IOS,MAC,Linux,Android互传

表格工具

https://tableconvert.com/static/images/favicon.png

一个功能强大的在线表格编辑器,支持Excel、Markdown、JSON、CSV、HTML等格式的相互转换

360查字体

https://p2.ssl.qhimg.com/t014de4ba13ada26743.png

360查字体 - 查版权,免纠纷

sejda

https://www.sejda.com/images/icon_128.png

在线HTML转换pdf

AI人工智能图片放大

https://bigjpg.com/static/css/touch-icon-iphone.png

Bigjpg - 使用开源waifu2x人工智能深度卷积神经网络(CNN)智能无损免费放大图片

VVV文档在线导出工具

免费下载百度文库文档

在线文件编码识别

http://tools.bugscaner.com/static/images/favicon.ico

在线文件编码识别

iptv

http://tools.bugscaner.com/static/images/favicon.ico

收集来自世界各地的5000多个公共IPTV频道

临时邮箱

https://www.linshiyouxiang.net/public/zh-CN/img/favicon.ico

10分钟邮箱,临时邮箱,临时邮,临时电子邮箱,24小时邮箱,一次性邮箱,匿名邮箱,安全邮箱

辅助工具

发现导航 - 精选实用导航网站

其他

发现导航 - 精选实用导航网站

实用工具

发现导航 - 精选实用导航网站

jQuery

https://jquery.com/jquery-wp-content/themes/jquery.com/i/favicon.ico

jQuery是一个JavaScript函数库

webpack

https://www.webpackjs.com/assets/favicon.ico

webpack是一个模块打包器

Babel

https://babeljs.io/img/favicon.png

用于编写下一代 JavaScript 的编译器

ESLint

https://cn.eslint.org/img/favicon.512x512.png

可组装的JavaScript和JSX检查工具

stylelint

https://avatars3.githubusercontent.com/u/10076935?s=200&v=4

一个强大的现代样式风格的linter

Mocha

https://avatars0.githubusercontent.com/u/8770005?s=200&v=4

Mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行

MUI

https://avatars1.githubusercontent.com/u/5485517?s=200&v=4

MUI: 最接近原生APP体验的高性能前端框架

rollup

https://avatars0.githubusercontent.com/u/12554859?s=200&v=4

Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序

standard

https://avatars1.githubusercontent.com/u/29208316?s=200&v=4

JavaScript样式指南,带有linter和自动代码修复程序

JavaScript

发现导航 - 精选实用导航网站

Faker

https://github.com/favicon.ico

在Node.js和浏览器中生成大量逼真的假数据

sweetalert

JavaScript Alert 的漂亮替代品

Sortable

https://avatars0.githubusercontent.com/u/17040762?s=200&v=4

一个JavaScript库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序

formilyjs

Formily 是一个由阿里巴巴集团多 BU 共建的面向中后台复杂场景的表单解决方案,它也是一个表单框架

rough-notation

https://roughnotation.com/images/fav.png

一个小的JavaScript库,用于在网页上创建手绘动画并为其添加动画效果

AntV

https://avatars3.githubusercontent.com/u/19199542?s=200&v=4

AntV 是蚂蚁金服全新一代数据可视化解决方案

Lodash

https://www.lodashjs.com/icons/favicon-32x32.png

Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库

Swiper

https://www.swiper.com.cn/favicon.ico

轻量级的移动设备触控滑块的js框架,使用硬件加速过渡

fastclick

Polyfill 解决移动端具有300ms延迟的库

Layer

丰富多样的Web弹出层组件,可轻松实现Alert/Confirm/Prompt/普通提示/页面区块/iframe/tips等等几乎所有的弹出交互

moment.js

https://momentjs.com/static/img/moment-favicon.png

一个轻量级的JavaScript日期库,用于解析,验证,操作和格式化日期

js-cookie

一个简单,轻量级的JavaScript API,用于处理浏览器cookie

qs

具有嵌套支持的查询字符串解析器

Mock.js

生成随机数据,拦截 Ajax 请求

GITALK

https://gitalk.github.io/favicon.ico

凹凸实验室出品的一款基于 Github Issue 和 Preact 开发的评论插件

prism

https://prismjs.com/assets/favicon.png

轻巧,强大,优雅的代码语法高亮

nprogress

顶部加载进度条

iNotify

JS实现浏览器标题闪烁,滚动,语音提示,Chrome/Safari/FireFox/IE通知

html2canvas

最流行的JavaScript屏幕截图

dayjs

使用与Moment.js兼容的API来解析,验证,操作和显示现代浏览器的日期和时间

JsBarcode

易于使用但功能强大的条形码生成器,适用于Web和Node.js

clipboard.js

现代复制到剪贴板。没有Flash。只需3kb gzipped。

lib-flexible

可伸缩布局方案, 淘宝rem解决方案

js-xss

根据白名单过滤HTML(防止XSS攻击)

mescroll

精致的下拉刷新和上拉加载 js框架.支持vue,完美运行于移动端和主流PC浏览器

better-scroll

灵感来自iscroll,它具有更好的滚动性能

pinyinjs

一个实现汉字与拼音互转的小巧web工具库

ms

使用此包可以轻松地将各种时间格式转换为毫秒。

ramda

https://avatars2.githubusercontent.com/u/5298359?s=200&v=4

适用于JavaScript程序员的实用函数库

decimal.js

JavaScript的任意精度Decimal类型 (0.1+0.2=0.3)

copy-to-clipboard

简单的模块公开copy功能,它将尝试使用execCommand与特定于IE的clipboardData接口的回退,最后,通常prompt使用适当的文本内容和消息

path-to-regexp

将字符串路径转换成正则表达式

autosize

autosize是一个小的独立脚本,可以自动调整textarea域的高度以适合文本

shake.js

监听手机设备摇动

progressbar

可以轻松地为Web创建响应式和时尚的进度栏。动画即使在移动设备上也表现良好

easy-mock

https://avatars0.githubusercontent.com/u/28626637?s=200&v=4

Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务

Clamp.js

https://joe.sh/assets/images/favicon.ico

JS版本的多行文本溢出省略

json-bigint

带有bigints支持的JSON.parse / stringify

exif-js

用于读取EXIF图像元数据的JavaScript库

lunr.js

Lunr.js是一个用于浏览器的小型全文本搜索库。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询最匹配的文档

hotkeys

强大的Javascript库,用于捕获键盘输入和输入的按键组合。它没有依赖性。

dom-to-image

使用HTML5 canvas从DOM节点生成图像

single-spa

https://avatars1.githubusercontent.com/u/59940233?s=200&v=4

使微前端变得简单

qiankun

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

为微型前端提供快速,简单和完整的解决方案

nanoid

https://zelark.github.io/nano-id-cc/favicon.ico

一个很小的,安全的,URL友好的,唯一的JavaScript字符串ID生成器。

Numeral-js

一个用于格式化和处理数字的javascript库

ua-parser-js

用于从userAgent字符串检测浏览器,引擎,操作系统,CPU和设备类型/模型。支持浏览器和node.js环境

hammer.js

https://avatars0.githubusercontent.com/u/7997161?s=200&v=4

一个用于多点触摸手势的javascript库

常用插件

发现导航 - 精选实用导航网站

i18next

https://avatars1.githubusercontent.com/u/8546082?s=200&v=4

i18next是一个非常流行的国际化框架,适用于浏览器或任何其他JavaScript环境(例如,node.js)。

js-lingui

https://avatars3.githubusercontent.com/u/11225539?s=200&v=4

JavaScript的可读,自动化和优化(5 kb)国际化

国际化多语言方案

发现导航 - 精选实用导航网站

wow.js

基于Animate.css,向下滚动页面时显示CSS动画,轻松自定义动画设置:样式,延迟,长度,偏移,迭代...

Waves

受Google材质设计启发的点击效果, 波纹效果

velocity

加速JavaScript动画

anime

轻量级的JavaScript动画库。它适用于任何CSS属性,单个CSS转换,SVG或任何DOM属性以及JavaScript对象

Hover-Buttons

hover动画CSS / SCSS按钮

动画

发现导航 - 精选实用导航网站

JavaScript-MD5

JavaScript MD5实现。兼容服务器端环境,如node.js,RequireJS等模块加载器和所有Web浏览器

js-sha1

JavaScript的简单SHA1哈希函数支持UTF-8编码。

js-base64

JavaScript的Base64实现

jsSHA

SHA-1,SHA-224,SHA3-224,SHA-256,SHA3-256,SHA-384,SHA3-384,SHA-512,SHA3-512,SHAKE128 ,和SHAKE256以及HMAC

crypto-js

加密标准的JavaScript库

加盐

发现导航 - 精选实用导航网站

pdf.js

PDF.js是一个使用HTML5构建的可移植文档格式(PDF)查看器

webuploader

百度出品,采用大文件分片并发上传,极大的提高了文件上传效率。

pdfmake

纯JavaScript中的客户端/服务器端PDF打印, HTML转换Pdf

ViewerJS

JavaScript中的文档阅读器, pdf/ppt/opt/odt等文件渲染成HTML

filepond

灵活而有趣的JavaScript文件上传库

FileSaver.js

客户端保存文件的解决方案,非常适合在客户端上生成文件的Web应用程序

jsPDF

一个使用JavaScript生成PDF的库

文件插件相关

发现导航 - 精选实用导航网站

PhotoSwipe

适用于移动和桌面的JavaScript图像库, 图片预览

viewerjs

javascript图片预览

图片预览

发现导航 - 精选实用导航网站

howler.js

https://howlerjs.com/assets/images/favicon.ico

现代 Web 音频 javascript 库

DPlayer

哇,这么可爱的HTML5 danmaku视频播放器

APlayer

哇,这么可爱的HTML5音乐播放器

音频/视频

发现导航 - 精选实用导航网站

three.js

https://threejs.org/files/favicon.ico

JavaScript 3D引擎

flowy

创建流程图的最小JavaScript库

incubator-echarts

https://echarts.apache.org/examples/images/favicon.png

浏览器的功能强大的交互式图表和可视化库

d3

https://avatars1.githubusercontent.com/u/1562726?s=200&v=4

借助SVG,Canvas和HTML使数据栩栩如生。

图形

发现导航 - 精选实用导航网站

uikit

https://getuikit.com/images/favicon.png

一款轻量级、模块化的前端框架可快速构建强大的web前端界面

UI组件库

发现导航 - 精选实用导航网站

JsBridge

android java和javascript桥接,灵感来自微信webview jsbridge

DSBridge-Android

一个现代的跨平台JavaScript桥接,通过它您可以在JavaScript和本机之间同步或异步地调用彼此的功能

原生APP交互webview桥接

发现导航 - 精选实用导航网站

joi

对象模式验证

validator.js

字符串验证插件、表单验证

async-validator

异步验证器

yup

无效的简单对象架构验证

参数验证

发现导航 - 精选实用导航网站

localForage

https://avatars2.githubusercontent.com/u/18673496?s=200&v=4

离线存储,使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage。

数据库

发现导航 - 精选实用导航网站

introjs

https://avatars2.githubusercontent.com/u/2010360?s=200&v=4

为您的网站和项目提供新功能介绍和逐步用户指南的更好方法

shepherd

https://avatars3.githubusercontent.com/u/17297725?s=200&v=4

引导您的用户浏览您的应用程序

bootstrap-tour

使用Twitter Bootstrap Popovers快速方便地进行产品浏览

步骤引导

发现导航 - 精选实用导航网站

JavaScript

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

React

用于构建用户界面的 JavaScript 库

React Router

React 路由管理

Redux

https://avatars2.githubusercontent.com/u/13142323?s=200&v=4

React 状态管理

create-react-app

React官方脚手架

生态系统

发现导航 - 精选实用导航网站

React Redux

Redux的官方React绑定(通常配合redux使用)

redux-actions

Redux的Flux标准action实用程序(用于生成action)

redux-thunk

Redux的Thunk中间件, 用于处理异步逻辑

redux-saga

https://avatars2.githubusercontent.com/u/24776643?s=200&v=4

一个旨在使应用程序副作用(即异步事物,如数据获取和不纯的东西,如访问浏览器缓存)更容易管理,执行更高效,易于测试,以及更好地处理故障的库

Redux相关

发现导航 - 精选实用导航网站

React Native

使用React构建原生APP程序的框架

React Navigation

https://avatars0.githubusercontent.com/u/29647600?s=200&v=4

为您的本地应用程序提供路由和导航

expo

https://avatars0.githubusercontent.com/u/12504344?s=200&v=4

用于制作跨平台移动应用程序的Expo平台

ant-design-mobile-rn

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

一个基于 React Native 的 UI 组件库

React Native相关

发现导航 - 精选实用导航网站

Ant Design

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

Ant Design - A UI Design Language

MATERIAL-UI

https://material-ui.com/static/favicon.ico

React 组件用于更快速、更简便的 web 开发。你也可以建立你自己的设计系统,或者从 Material Design 开始

element

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

elementUI组件库

react-bootstrap

https://avatars0.githubusercontent.com/u/6853419?s=200&v=4

基于Bootstrap 3构建的组件库

evergreen

Evergreen是一个React UI框架,用于在Web上构建雄心勃勃的产品。由Segment带给您。

@alifd/next

@alifd/next 是 Alibaba Fusion Design 的官方 React 实现, 赋能企业中后台产品开发

zent

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

Zent 是有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件

React95

装修一新的现代的应用程序做出React Windows95的UI组件。

rsuite

https://avatars1.githubusercontent.com/u/19635045?s=200&v=4

React Suite 是一套 React 组件库,为后台产品而生。同时也是一个具有贴心设计以及对开发者友好的 UI 框架

chakra-ui

https://avatars2.githubusercontent.com/u/54212428?s=200&v=4

适用于您的React应用程序的简单,模块化和可访问的UI组件

PC端UI组件库

发现导航 - 精选实用导航网站

Ant Design Mobile

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

一个基于 Preact / React / React Native 的 UI 组件库

移动端UI组件库

发现导航 - 精选实用导航网站

React Helmet

这个可重用的反应组件将管理对文档头的所有更改

react-image-crop

用于React的响应式图像裁剪工具

React Helmet

这个可重用的反应组件将管理对文档头的所有更改

react-transition-group

当React组件进入或离开DOM时执行动画的简单方法

React Loadable

用于加载具有promise的组件的更高阶组件 - 路由懒加载

react-swipe

基于swipe.js封装的react组件/走马灯

Ant Motion

使用 Ant Motion 能够快速在 React 框架中使用动画,我们提供了单项,组合动画,以及整套解决方案

video-react

网络视频播放器使用React库从头开始构建HTML5世界

react-keeper

一个react路由库,更适合移动端使用,拥有缓存等功能

Fusion Design

基于React构建的Web可配置组件库

recharts

https://avatars0.githubusercontent.com/u/13690587?s=200&v=4

基于 React和D3 的组合式图表库

react-json-view

JSON查看器

BizCharts

基于G2和React的强大数据可视化库

react-draggable

一个简单的组件,用于使元素可拖动

react-slick

react走马灯组件

react-color

react 拾色器

react-intl

https://avatars1.githubusercontent.com/u/50559490?s=200&v=4

国际化React应用程序。这个库提供了React组件和一个API,用于格式化日期,数字和字符串,包括复数形式和处理翻译

react-data-grid

https://avatars3.githubusercontent.com/u/1763971?s=200&v=4

使用React构建的类似于Excel的网格组件,具有编辑器,键盘导航,复制和粘贴等功能

react-virtualized

https://cloud.githubusercontent.com/assets/29597/11736841/c0497158-9f87-11e5-8dfe-9c0be97d4286.png

React组件可有效呈现大型列表和表格数据

react-live

https://avatars3.githubusercontent.com/u/5078602?s=200&v=4

一个用于实时编辑React组件的灵活组件库

formik

https://jaredpalmer.com/formik/img/favicon.png

在React中轻松创建表单

其他组件库

发现导航 - 精选实用导航网站

react-move

https://github.com/favicon.ico

一个React组件,它创建可移动,可拖动,可调整大小,可缩放,可旋转,可扭曲,可收缩,可分组,可捕捉。

react-dnd

https://avatars2.githubusercontent.com/u/25307599?s=200&v=4

React DnD是一组React实用程序,可帮助您构建复杂的拖放接口,同时保持组件分离

react-beautiful-dnd

漂亮的和可访问的拖放列表

react-rnd

一个可调整大小且可拖动的React组件。

拖拽组件

发现导航 - 精选实用导航网站

ANT DESIGN PRO

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

开箱即用的中台前端/设计解决方案

开箱即用

发现导航 - 精选实用导航网站

enzyme

适用于React的JavaScript测试实用程序

Jest

Jest是一个令人愉快的JavaScript测试框架,专注于简单性。

单元测试

发现导航 - 精选实用导航网站

umijs

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

插件化的企业级前端应用框架。

DvaJS

https://avatars1.githubusercontent.com/u/20552239?s=200&v=4

基于React和Redux的轻量级和elm风格框架

umijs/hooks

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

你可以将 umi hooks 使用在任何地方,和任意组件库搭配使用。虽然我们的代码示例都是基于 ant design 的,但是并不代表我们的 Hooks 只能和 ant design 配合使用

umi-plugin-cache-route

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

路由缓存,类似vue keep-alive

umi/dva

发现导航 - 精选实用导航网站

React.js 小书

这是一本关于 React.js 的小书

TypeScript-React-Starter

TypeScript和React的入门模板,带有详细的README,描述了如何将两者结合使用。

react-redux-typescript-guide

TypeScript中的React和 Redux - 使用说明

知识

发现导航 - 精选实用导航网站

Mobx

https://avatars1.githubusercontent.com/u/17475736?s=200&v=4

简单、可扩展的状态管理

next.js

服务端渲染框架、SEO解决方案

nwb

适用于Web的React,Preact,Inferno和Vanilla JS应用,React库和其他npm模块的工具包,无需配置

ahooks

为 React Hooks 而生

react-app-rewired

覆盖create-react-app webpack配置而不弹出

其他

发现导航 - 精选实用导航网站

React

https://reactjs.org/favicon.ico

发现导航 - 精选实用导航网站

Vue.js

渐进式JavaScript 框架

Vue Router

Vue Router 是 Vue.js 官方的路由管理器

Vuex

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。

vue-devtools

vue.js调试工具

vue-cli

Vue.js开发的标准脚手架工具

vuepress

Vue 驱动的静态网站生成器

Vue SSR

Vue服务端渲染、SEO解决方案

vue-class-component

用于类式Vue组件的ECMAScript / TypeScript装饰器。

eslint-plugin-vue

Vue.js的官方ESLint插件

vite

Vite是一个经过验证的Web开发人员构建工具,可在开发过程中通过本机ES模块导入为您的代码提供服务,并将其与Rollup捆绑在一起进行生产

Vue 组合式 API

Vue 组合式 API在线文档阅读

生态系统

发现导航 - 精选实用导航网站

iView

https://avatars0.githubusercontent.com/u/20693613?s=200&v=4

一套基于 Vue.js 的高质量UI 组件库

Element

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库

Element Plus

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

支持Vue3.0的Element

Muse-UI

https://avatars0.githubusercontent.com/u/22283362?s=200&v=4

基于 Vue 2.0 优雅的 Material Design UI 组件库

Ant Design Vue

https://qn.antdv.com/favicon.ico

这里是 Ant Design 的 Vue 实现,开发和服务于企业级后台产品

vuetify

https://avatars2.githubusercontent.com/u/22138497?s=200&v=4

让Vue和Material Design的强大力量在开发上助您一臂之力

bootstrap-vue

https://avatars1.githubusercontent.com/u/22965283?s=200&v=4

BootstrapVue为Vue.js提供了最全面的Bootstrap 4组件和网格系统实现之一,并提供了广泛的自动WAI-ARIA可访问性标记

vue-material

https://avatars0.githubusercontent.com/u/23659108?s=200&v=4

Vue material简单,轻巧,完全符合Google Material Design规范

buefy

https://avatars1.githubusercontent.com/u/26799900?s=200&v=4

Buefy是一个基于Bulma框架和设计的Vue.js响应式UI组件的轻量级库。

PC端UI组件库

发现导航 - 精选实用导航网站

vant

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

轻量、可靠的移动端 Vue 组件库

vux

一个凑合的 Vue.js 移动端 UI 组件库

cube-ui

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

基于 Vue.js 实现的精致移动端组件库

Mand Mobile

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

面向金融场景的Vue移动端UI组件库,丰富、灵活、实用,快速搭建优质的金融类产品,让复杂的金融场景变简单

Mint UI

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

基于 Vue.js 的移动端组件库

NutUI

一套京东风格的轻量级移动端Vue组件库

移动端UI组件库

发现导航 - 精选实用导航网站

vue-awesome-swiper

基于swiper封装的轮播图组件

vue-meta

管理Vue 2.0组件中的页面元信息。支持SSR + Streaming

vue-scroller

Vue Scroller是Vonic UI 的基础组件。为了平滑滚动,拉动刷新和无限加载。

vue-infinite-loading

Vue.js的无限滚动插件(支持向上和向下)

其他组件/插件

发现导航 - 精选实用导航网站

iview-admin

基于iView的Vue 2.0管理系统模板

开箱即用

发现导航 - 精选实用导航网站

nuxt

https://avatars2.githubusercontent.com/u/23360933?s=200&v=4

Vue.js 通用应用框架

创建nuxt的脚手架工具

https://avatars2.githubusercontent.com/u/23360933?s=200&v=4

create-nuxt-app

nuxt服务端渲染框架

发现导航 - 精选实用导航网站

Vue.js

https://v3.vuejs.org/images/icons/apple-icon-152x152.png

发现导航 - 精选实用导航网站

Angular

一个框架,移动 & 桌面

angular-cli

用于Angular CLI脚手架工具

augury

Angular调试和可视化工具

生态系统

发现导航 - 精选实用导航网站

NG-ZORRO

https://avatars2.githubusercontent.com/u/30223759?s=200&v=4

基于Ant Design的Angular企业级UI组件

ng-bootstrap

https://avatars3.githubusercontent.com/u/14283866?s=200&v=4

基于Bootstrap 4的Angular组件

element-angular

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

Element Angular组件库

primeng

https://avatars1.githubusercontent.com/u/3494069?s=200&v=4

PrimeNG是Angular的丰富UI组件的集合

material

Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。

PC端UI组件库

发现导航 - 精选实用导航网站

material

Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。

移动端UI组件库

发现导航 - 精选实用导航网站

Angular

https://avatars0.githubusercontent.com/u/139426?s=200&v=4

发现导航 - 精选实用导航网站

小程序开发

微信小程序

小游戏开发

微信小游戏

小程序文档

发现导航 - 精选实用导航网站

mpvue

Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心

wepy

官方小程序组件化开发框架

mpx

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

Mpx是一款致力于提高小程序开发体验的增强型小程序框架(滴滴出品,基于vue)

uni-app

https://avatars1.githubusercontent.com/u/5485517?s=200&v=4

uni-app 是使用 Vue 语法开发小程序、H5、App的统一框架

omix

https://tencent.github.io/omi/assets/omi-logo2019.svg

腾讯原生小程序框架 OMIX 2.0

小程序框架

发现导航 - 精选实用导航网站

vant-weapp

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

轻量、可靠的小程序 UI 组件库

weui-wxss

https://avatars0.githubusercontent.com/u/18461506?s=200&v=4

这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库

wxParse

wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析

mpvue-wxParse

适用于 Mpvue 的微信小程序富文本解析自定义组件

echarts-for-weixin

https://avatars1.githubusercontent.com/u/2268460?s=200&v=4

ECharts 的微信小程序版本

腾讯位置服务

https://lbs.qq.com/favicon.ico

微信小程序原生LBS能力的最佳拍档

ColorUI

鲜亮的高饱和色彩,专注视觉的小程序组件库

weapp-input-frame

验证码、支付密码输入框组件

小程序组件库/插件

发现导航 - 精选实用导航网站

JS接口签名校验工具

微信 JS 接口签名校验工具

接口调试工具

微信公众平台接口调试工具

computed

小程序自定义组件 computed / watch 扩展

微信公众号开发辅助工具

发现导航 - 精选实用导航网站

awesome-github-wechat-weapp

微信小程序开源项目库汇总

awesome-wechat-weapp

微信小程序开发资源汇总

资源

发现导航 - 精选实用导航网站

微信开放社区

小程序开发者专区,微信公众平台,微信开放社区,开发者专区

wechat-format

微信公众号排版编辑器,转换 Markdown 到微信特制的 HTML

微信开放平台

微信开放平台

其他

发现导航 - 精选实用导航网站

微信开发

https://avatars0.githubusercontent.com/u/18461506?s=200&v=4

发现导航 - 精选实用导航网站

CSS3 UI Lib

CSS动画集成、在线调试阴影

CSS Sprites Generator

CSS雪碧图生成

CSS渐变调试器

http://www.colorzilla.com/favicon.ico

前端开发调试CSS渐变必备神器

Animista

https://animista.net/favicon.ico

在线生成CSS动画

CSS Gradient

https://cssgradient.io/favicon.ico

CSS渐变调试并生成CSS代码

Grabient

https://www.grabient.com/favicon.ico

CSS渐变调试并生成CSS代码,还可以角度变换

px与em单位转换

http://pxtoem.com/favicon.ico

px与em单位转换

CSS三角形產生器

http://apps.eky.hk/css-triangle-generator/favicon.gif

CSS三角形產生器 - 使用純CSS繪畫三角形

SassMeister

https://www.sassmeister.com/favicon.ico

将sass语法转换成CSS语法

transfonter

https://transfonter.org/favicon.ico

字体图标转换Base64

Loading集合

上千种Loading认你选

CSS Reference

https://cssreference.io/favicons/favicon-32x32.png

css参考是一个免费的视觉指导css。它以最受欢迎的特性为特色,并用插图和动画示例对其进行说明

在线CSS阴影调试

https://www.w3cschool.cn/favicon.ico

CSS3 Box Shadow(阴影)效果在线调试工具

CSS

发现导航 - 精选实用导航网站

正则表达式验证器

https://regexper.com/favicon.ico

验证JavaScript正则表达式

JSON在线解析及格式化验证

https://www.json.cn/favicon.ico

json在线解析,json格式化,json格式验证,json转xml,xml转json

prettier

https://avatars0.githubusercontent.com/u/25822731?s=200&v=4

Prettier是一个固定的代码格式化程序。它通过解析代码并使用自己的规则重新打印它来强制执行一致的样式,这些规则考虑了最大行长度,并在必要时包装代码

正则表达式在线测试

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

正则表达式在线测试

spy-debugger

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备

VConsole

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

一个轻量、可拓展、针对手机网页的前端开发者调试面板

JavaScript

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

Staticfile CDN

https://www.staticfile.org/assets/images/logo.png

免费CDN服务,包括 JavaScript、CSS、图片和 swf 等静态文件

jsDelivr

https://www.jsdelivr.com/favicon.ico

jsDelivr – 开源 CDN

BootCDN

https://www.bootcdn.cn/assets/ico/favicon.ico

稳定、快速、免费的前端开源项目 CDN 加速服务

cdnjs

https://avatars0.githubusercontent.com/u/637362?s=200&v=4

面向Web开发人员的免费和开源公共Web CDN!

CDN

发现导航 - 精选实用导航网站

FunDebug

https://www.fundebug.com/favicon.ico

支持前端JavaScript,后端Node.js以及微信小程序错误监控

前端兼容性查询

https://www.caniuse.com/img/favicon-128.png

前端查询API各个厂商兼容性情况

Browserhacks

http://browserhacks.com/assets/images/browserhacks.ico

Browserhacks是来自各个互联网的浏览器特定CSS和JavaScript hacks的广泛列表。

Character Entity Reference Chart

字符实体参考图,>

awesome-web-editor

开源web编辑器汇总列表

jsfiddle

https://jsfiddle.net/img/favicon.png

强大的前端代码在线演示的网站

jsperf

https://avatars0.githubusercontent.com/u/11043997?s=200&v=4

jsPerf旨在提供一种简单的方法来创建和共享测试用例,通过运行基准测试来比较不同JavaScript代码段的性能

codesandbox

https://codesandbox.io/favicon.ico

codesandbox是为Web应用程序定制的在线编辑器。

HTML Reference

https://htmlreference.io/favicons/favicon-32x32.png

所有HTML元素和属性的免费指南参考

jsbin

https://static.jsbin.com/images/dave.min.svg

一个轻量级的html/css/js在线编辑器Debug调试器

jsfuck

http://www.jsfuck.com/favicon.ico

JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅使用六个不同的字符来编写和执行代码。

其他

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Bootstrap

https://getbootstrap.com/docs/4.5/assets/img/favicons/favicon.ico

Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架

Sass

https://avatars2.githubusercontent.com/u/317889?s=200&v=4

Sass 是成熟、稳定、强大的 CSS 扩展语言

Less

https://avatars0.githubusercontent.com/u/3538330?s=200&v=4

Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性

magic

CSS3动画特效

Animate.css

https://avatars3.githubusercontent.com/u/64791939?s=200&v=4

CSS动画的跨浏览器库,简单易用

normalize.css

http://necolas.github.io/normalize.css/favicon.ico

使浏览器更加一致地呈现所有元素并符合现代标准。它只针对需要规范化的样式

Hover

CSS3动力悬停效果的集合,适用于链接,按钮,徽标,SVG,特色图像等

github-markdown-css

复制GitHub Markdown样式的最小CSS量

autoprefixer

https://avatars1.githubusercontent.com/u/8296347?s=200&v=4

Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里

vivify

http://vivify.mkcreative.cz/assets/img/apple-icon-57x57.png

Vivify是免费的CSS动画库。

cubic-bezier

在线制作CSS动画

CSS

发现导航 - 精选实用导航网站

iconfont

http://www.iconfont.cn/favicon.ico

阿里妈妈MUX倾力打造的矢量图标管理、交流平台

Font Awesome

https://avatars1.githubusercontent.com/u/1505683?s=200&v=4

一套绝佳的图标字体库和CSS框架

LivIcons Evolution

https://livicons.com/apple-icon-57x57.png

会动的纯svg矢量图标库

ionicons

https://avatars0.githubusercontent.com/u/3171503?s=200&v=4

适用于Ionic Framework和Web应用程序的高级图标字体

material-design-icons

Google的Material Design图标

图标库

发现导航 - 精选实用导航网站

css battle

https://cssbattle.dev/images/logo-square.png

在线比拼CSS

学习CSS布局

http://zh.learnlayout.com/images/logo.png

学习CSS布局

资源

发现导航 - 精选实用导航网站

CSS

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/css/css.png

发现导航 - 精选实用导航网站

TypeScript

TypeScript 是一种由微软开发的自由和开源的编程语言,它是JavaScript的一个超集

TypeSearch

搜索typescript 类型包 @types/node

DefinitelyTyped

高质量TypeScript类型定义的存储库

typescript-eslint

https://avatars0.githubusercontent.com/u/46634674?s=200&v=4

Monorepo用于所有工具,使ESLint能够支持TypeScript

awesome-typescript

用于客户端和服务器端开发的强大TypeScript资源的集合。在TypeScript中编写精彩的JavaScript

TypeScript 入门教程

TypeScript 入门教程

TypeScript

发现导航 - 精选实用导航网站

TypeScript

https://www.typescriptlang.org/favicon-32x32.png

发现导航 - 精选实用导航网站

JavaScript 20 年

JavaScript 20 年

你不知道的JavaScript

你不知道的JavaScript

现代 JavaScript 教程

https://zh.javascript.info/img/favicon/favicon.png

以最新的 JavaScript 标准为基准。通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识

ECMAScript 6入门

ECMAScript 6入门

JavaScript教程

JavaScript 标准参考教程

书籍

发现导航 - 精选实用导航网站

JavaScript Puzzlers

你真的了解JavaScript吗?来试试吧!

InterviewMap

https://avatars1.githubusercontent.com/u/41361384?s=200&v=4

打造最好的面试图谱

飞冰早报

飞冰早报

jsdoc

用于JavaScript的API文档生成器。

30 seconds of code

https://avatars3.githubusercontent.com/u/43479428?s=200&v=4

精选的有用JavaScript代码段集合,您可以在30秒或更短的时间内理解这些代码段。

33-js-concepts

JavaScript开发者应懂的33个概念

ECMAScript Proposals

https://avatars1.githubusercontent.com/u/1725583?s=200&v=4

跟踪ECMAScript 提案

ecma262

https://avatars1.githubusercontent.com/u/1725583?s=200&v=4

ECMA-262的状态,流程和文档

JavaScript 秘密花园

https://bonsaiden.github.io/JavaScript-Garden/favicon.ico?v=2

JavaScript 语言最古怪用法的文档集合

Airbnb JavaScript 编码规范

Airbnb JavaScript 编码规范

Daily-Interview-Question

工作日每天一道前端大厂面试题,祝大家天天进步,一年后会看到不一样的自己

javascript-algorithms

JavaScript 算法与数据结构

weekly

https://avatars2.githubusercontent.com/u/26534952?s=200&v=4

前端精读周刊

文档

发现导航 - 精选实用导航网站

参考资料

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

WEB前端

发现导航 - 精选实用导航网站

Node.js

Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时

npm1

npm是JavaScript世界的包管理工具,并且是 Node.js 平台的默认包管理工具

官方

发现导航 - 精选实用导航网站

urllib

在复杂的世界中请求HTTP(s)URL

formstream

multipart / form-data编码流,用于文件上传的帮助程序。

validate-npm-package-name

给我一个字符串,我会告诉你它是否是有效的npm软件包名称

模块

发现导航 - 精选实用导航网站

Yarn

https://classic.yarnpkg.com/favicon.ico

快速、可靠、安全的依赖管理

awesome-nodejs

Node.js软件包和资源

nodebestpractices

最大的Node.js最佳实践列表

其他

发现导航 - 精选实用导航网站

NodeBB

https://avatars0.githubusercontent.com/u/4449608?s=200&v=4

基于Node.js的论坛软件,为现代网站

Ghost

https://avatars1.githubusercontent.com/u/2178663?s=200&v=4

Ghost 是基于 Node.js 构建的开源博客平台。Ghost 具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写。Ghost 的目标是取代臃肿的 Wordpress

CMS

发现导航 - 精选实用导航网站

nodebestpractices

Node.js 最佳实践, 最大的汇集,且每周都在增长 - 当前,超过50个最佳实现,样式指南,架构建议已经呈现

资料

发现导航 - 精选实用导航网站

生态系统

https://nodejs.org/static/images/favicons/favicon.ico

发现导航 - 精选实用导航网站

request

简化的HTTP请求客户端

superagent

一个小型渐进式客户端HTTP请求库,Node.js模块具有相同的API,具有许多高级HTTP客户端功能

axios

基于Promise的HTTP客户端,用于浏览器和node.js

node-fetch

一个轻量级的模块,将window.fetch带到Node.js

bent

带有async await的功能性JS HTTP客户端(Node.js和Fetch)

superagent-proxy

superagent代理扩展,这使您可以通过某种代理来代理HTTP请求

网络请求

发现导航 - 精选实用导航网站

Puppeteer

https://pptr.dev/favicons/apple-touch-icon.png

Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chromium或Chrome

cypress

https://avatars0.githubusercontent.com/u/8908513?s=200&v=4

对浏览器中运行的所有内容进行快速,轻松和可靠的测试,(类Puppeteer)

Mocha

https://avatars0.githubusercontent.com/u/8770005?s=200&v=4

Node.js和浏览器的简单,灵活,有趣的JavaScript测试框架

chai

https://avatars0.githubusercontent.com/u/1515293?s=200&v=4

node.js的BDD/TDD断言框架和可以与任何测试框架配对的浏览器

ava

https://avatars2.githubusercontent.com/u/8527916?s=200&v=4

未来的JavaScript测试运行器

Jest

https://jestjs.io/img/favicon/favicon.ico

Jest是一个令人愉快的JavaScript测试框架,专注于简单性。

testcafe

https://avatars1.githubusercontent.com/u/4243232?s=200&v=4

一个Node.js工具,用于自动化端到端Web测试

jest-puppeteer

https://avatars2.githubusercontent.com/u/26206404?s=200&v=4

使用Jest&Puppeteer运行测试 🎪✨

ts-jest

https://kulshekhar.github.io/ts-jest/assets/img/logo.png

具有对Jest的Sourcemap支持的TypeScript预处理器

jest-extended

https://avatars2.githubusercontent.com/u/26206404?s=200&v=4

扩展 jest 匹配器

单元测试

发现导航 - 精选实用导航网站

node-mysql2

node.js的快速node-mysql兼容的mysql驱动程序

sequelize

基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite 和 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 读取和复制等功能

mongoose

mongodb对象模型设计用于在异步环境中工作。

ioredis

适用于Node.js,以性能为中心且功能齐全的Redis客户端。

objection.js

Objection.js是Node.js的一个ORM ,它旨在避免使用SQL和底层数据库引擎的全部功能,同时尽可能简单地将magic保持在最低限度。

nedb

JavaScript数据库,用于Node.js,nw.js,electron和浏览器

typeorm

https://avatars0.githubusercontent.com/u/20165699?s=200&v=4

ORM for TypeScript和JavaScript(ES7,ES6,ES5)。支持MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle,WebSQL数据库。适用于NodeJS,浏览器,Ionic,Cordova和Electron平台

knexjs

https://avatars0.githubusercontent.com/u/10490573?s=200&v=4

PostgreSQL,MySQL和SQLite3的查询构建器,旨在灵活,可移植且易于使用。

node-redis

https://avatars1.githubusercontent.com/u/5845577?s=200&v=4

高性能Node.js Redis客户端。

数据库

发现导航 - 精选实用导航网站

node-canvas

node-canvas是Node.js的Cairo -backed Canvas实现。

svg-captcha

在node.js中生成svg验证码

ccap

node.js使用C++库CImg生成验证码,无需安装任何其他库或软件

text-to-svg

将文本转换为SVG路径而不依赖于本机

svg2png

使用PhantomJS将SVG转换为PNG

图形相关

发现导航 - 精选实用导航网站

node-http-proxy

一个HTTP可编程代理库,支持websocket。它适用于实现反向代理和负载平衡器等组件

http-proxy-middleware

用于连接,快速和浏览器同步的单线程node.js http-proxy中间件(基于node-http-proxy)

代理

发现导航 - 精选实用导航网站

esprima

ECMAScript解析基础架构,可进行多用途分析, 将代码转换成AST

recast

JavaScript AST转换器,非破坏性漂亮打印机和自动源映射生成器

AST辅助工具

发现导航 - 精选实用导航网站

node-xlsx

NodeJS excel文件解析器和构建器

fs-extra

操作系统文件,用于替代内置的fs模块

js-xlsx

https://avatars0.githubusercontent.com/u/5826089?s=200&v=4

SheetJS社区版 - 电子表格工具包

node-archiver

https://www.archiverjs.com/images/logo.svg

文件压缩

文件相关

发现导航 - 精选实用导航网站

wechat-oauth

微信公共平台OAuth接口消息接口服务中间件与API SDK

wechat-api

微信公共平台API

wechat

微信公共平台消息接口服务中间件

wechaty

是适用于微信个人帐户的Bot SDK ,可以帮助您创建6行javascript的机器人

微信开发

发现导航 - 精选实用导航网站

Glob

匹配文件。 **/*.js

prompts

轻巧,美观和用户友好的交互式提示

enquirer

https://avatars3.githubusercontent.com/u/21160645?s=200&v=4

时尚,直观和用户友好的提示

cli-table3

https://avatars2.githubusercontent.com/u/887802?s=200&v=4

带有Node.JS的CLI的漂亮unicode表

commander.js

node.js命令行界面的完整解决方案,受Ruby指挥官的启发

ora

优雅的终端微调器

Inquirer.js

常用交互式命令行用户界面的集合

shelljs

Node.js的可移植Unix shell命令

download-git-repo

下载并提取git存储库(GitHub,GitLab,Bitbucket)

node-semver

https://avatars0.githubusercontent.com/u/6078720?s=200&v=4

node的semver解析器

node-progress

node.js的灵活ascii进度条

node-qrcode

二维码生成

open

打开URL,文件,可执行文件等内容。跨平台。

ssh2

用纯JavaScript编写的SSH2客户端和服务器模块,用于node.js

minimist

解析参数选项

node-clear

清空终端屏幕信息

chalk

https://avatars2.githubusercontent.com/u/13122722?s=200&v=4

终端字符串样式

yargs

https://avatars3.githubusercontent.com/u/16504989?s=200&v=4

通过解析参数并生成优雅的用户界面来帮助您构建交互式命令行工具。

CLI

发现导航 - 精选实用导航网站

handlebars

https://handlebarsjs.com/images/favicon.png

JavaScript模板引擎

ejs

https://ejs.co/favicon.svg

JavaScript模板引擎

mustache.js

https://github.githubassets.com/favicons/favicon.svg

使用JavaScript的无逻辑{{mustache}}模板

模板引擎

发现导航 - 精选实用导航网站

node-xml2js

简单的XML到JavaScript对象转换器。它支持双向转换。使用sax-js和 xmlbuilder-js

iconv-lite

纯JavaScript中转换字符编码。

node-uuid

在JavaScript中生成符合RFC的UUID

nativefier

使任何网页成为桌面应用程序

getmac

通过Node.js获取当前计算机的mac地址

http-server

一个简单的零配置命令行http服务器

node-schedule

Node的类似cron-like和非not-cron-like的作业调度程序。

qrcode-terminal

QRCode终端版

localtunnel

https://avatars1.githubusercontent.com/u/13612933?s=200&v=4

localtunnel将您的localhost暴露给世界,以便于测试和共享!无需混淆DNS或部署只是为了让其他人测试您的更改

passport

http://www.passportjs.org/images/favicon/apple-icon-57x57.png

Node.js的简单,不显眼的身份验证

parameter

参数验证工具

bytes

用于解析字符串字节, b/kb/mb/gb/tb/pb

js-yaml

https://avatars2.githubusercontent.com/u/723678?s=200&v=4

JavaScript YAML解析器和转储器。非常快

acorn

https://avatars0.githubusercontent.com/u/34631683?s=200&v=4

一个小型,基于JavaScript的快速JavaScript解析器

figlet.js

用JavaScript编写的FIG驱动程序,旨在完全实现FIGfont规范, 生成ascii

node-printer

本机 node.js 打印机

fontmin

无缝缩小字体

morgan

https://avatars1.githubusercontent.com/u/5658226?s=200&v=4

Node.js的HTTP请求记录器中间件

jsdom

https://avatars0.githubusercontent.com/u/9271229?s=200&v=4

与Node.js一起使用的各种Web标准的JavaScript实现

其他

发现导航 - 精选实用导航网站

依赖包

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

Electron

https://www.electronjs.org/images/favicon.ico

使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用

electron-packager

https://www.electronjs.org/images/favicon.ico

通过JS或CLI自定义和封装您的Electron应用程序与特定于操作系统的软件包(.app,.exe等)

electron-installer-dmg

https://www.electronjs.org/images/favicon.ico

使用AppDMG为电子应用程序创建DMG安装程序

electron-vue

https://simulatedgreg.gitbooks.io/electron-vue/content/gitbook/images/apple-touch-icon-precomposed-152.png

基于 vue (基本上是它听起来的样子) 来构造 electron 应用程序的样板代码。

electron-builder

https://www.electron.build/assets/images/favicon.png

一个开箱即用的完整解决方案,用于将Electron, Proton Native or Muon 打包、构建成支持macOS, Windows and Linux三大系统的,可”自动更新”的可发布安装程序

electron-react-boilerplate

https://electron-react-boilerplate.js.org/logo/logo.png

基于React可扩展跨平台应用程序的App

menubar

https://www.electronjs.org/images/favicon.ico

Electron创建菜单栏桌面应用程序的高级方法。

Electron

https://www.electronjs.org/images/favicon.ico

发现导航 - 精选实用导航网站

nw.js

https://nwjs.org.cn/asset/img/favicon.ico

从DOM/WebWorker层,直接调用所有的Node模块,使用现有的web技术,开启一个全新的编写应用的方式

nw-builder

https://nwjs.org.cn/asset/img/favicon.ico

以编程方式或通过CLI 构建适用于Mac,Win和Linux的NW.js应用程序。

nwjs-ffmpeg-prebuilt

https://nwjs.org.cn/asset/img/favicon.ico

FFMpeg预构建的二进制文件具有专有的编解码器和构建窗口。

nw.js

发现导航 - 精选实用导航网站

跨平台框架

发现导航 - 精选实用导航网站

nest

https://avatars1.githubusercontent.com/u/28507035?s=200&v=4

Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架。它使用渐进式 JavaScript,内置并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码)并结合了 OOP(面向对象编程),FP(功能编程)和 FRP(功能反应编程)的元素

awesome-nestjs

https://avatars1.githubusercontent.com/u/28507035?s=200&v=4

NestJS的精选列表

nest

发现导航 - 精选实用导航网站

Egg.js

https://eggjs.org/images/favicon.png

Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本

egg-validate

https://eggjs.org/images/favicon.png

基于 parameter 封装的参数验证插件

egg-mailer

https://eggjs.org/images/favicon.png

基于 nodemailer 封装的参数验证插件

egg.js

发现导航 - 精选实用导航网站

Koa

https://avatars2.githubusercontent.com/u/5055057?s=200&v=4

Koa -- 基于Node.js 平台的下一代web开发框架

Express

https://avatars1.githubusercontent.com/u/5658226?s=200&v=4

Express - 快速、开放、极简的 Web 开发框架

Express/Koa

发现导航 - 精选实用导航网站

WEB框架

发现导航 - 精选实用导航网站

node-inspector

Node.js调试器基于Blink Developer Tools

debug

一个微小的JavaScript调试工具,以Node.js核心的调试技术为模型。适用于Node.js和Web浏览器

ndb

ndb是针对Node.js的改进调试体验,由Chrome DevTools启用

调试debugger

发现导航 - 精选实用导航网站

nvm

Node版本管理器 - 用于管理多个活动node.js版本的简单bash脚本

nvm-windows

适用于Windows的node.js版本管理实用程序

nvs

Node Version Switcher - 用于在Node.js的版本和分支之间切换的跨平台工具(受到nvm的启发)

n

Node.js版本管理:无配置文件,无复杂的API,非常简单

node版本管理

发现导航 - 精选实用导航网站

log4js-node

log4js 是一个 nodejs 日志管理工具,可以将日志以各种形式输出到各种渠道。

node-bunyan

用于node.js服务的简单快速的JSON日志记录模块

日志管理

发现导航 - 精选实用导航网站

yeoman

https://avatars0.githubusercontent.com/u/1714870?s=200&v=4

一套用于自动化开发工作流程的工具

nodemailer

https://avatars0.githubusercontent.com/u/16486629?s=200&v=4

发送来自Node.js的电子邮件 - 很容易就像蛋糕一样!

gh-pages

将文件发布到GitHub上的gh-pages分支的常规任务

集成工具

发现导航 - 精选实用导航网站

terser

https://avatars1.githubusercontent.com/u/43502240?s=200&v=4

适用于ES6+的JavaScript解析器,mangler和压缩器工具包

代码压缩

发现导航 - 精选实用导航网站

Awehunt

npm包下载量曲线对比图

nodemon

监视node.js应用程序中的任何更改并自动重新启动服务器 - 非常适合开发

pkg

将Node.js项目打包成可执行文件

npm-check-updates

查找package.json或bower.json允许的更新版本的软件包依赖项

husky

husky 可以防止错误的 git commit, git push 等

bundlephobia

找出在项目中添加新的依赖项的包大小

npm-run-all

一个CLI工具,可并行或顺序运行多个npm脚本

dotenv

从.env加载用于nodejs项目的环境变量

cross-env

运行跨平台设置和使用环境变量的脚本

nrm

npm源快速切换, npm, cnpm, taobao, nj, 内网

其他

发现导航 - 精选实用导航网站

辅助工具

https://nodejs.org/static/images/favicons/favicon.ico

发现导航 - 精选实用导航网站

Deno

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

一个安全的运行时的JavaScript和TypeScript

Deno 标准库

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

Deno 标准库

官方

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

发现导航 - 精选实用导航网站

Deno

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

适用于Deno的Visual Studio Code插件

工具

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

发现导航 - 精选实用导航网站

Deno

发现导航 - 精选实用导航网站

Node.js

发现导航 - 精选实用导航网站

Golang

Go编程语言

go.dev

大规模构建快速,可靠,高效的软件

awesome-go

精选的Go框架,库和软件的精选列表

Goproxy

https://avatars1.githubusercontent.com/u/49926011?s=200&v=4

中国最可靠的 Go 模块代理

Go语言中文网

https://static.studygolang.com/static/img/favicon.ico

Go语言中文网

Go标准库中文文档

https://studygolang.com/static/img/go.ico

Go标准库中文文档

生态

发现导航 - 精选实用导航网站

gin

Gin是用Go(Golang)编写的Web框架。它具有类似于martini的API,其性能比httprouter快40倍。如果您需要性能和良好的生产率,您会喜欢Gin

beego

beego是用于Go编程语言的开源,高性能Web框架

martini

Go的经典Web框架

echo

https://avatars1.githubusercontent.com/u/2624634?s=200&v=4

高性能,简约的Go Web框架

iris

https://www.iris-go.com/favicon.ico

最快的HTTP / 2 Go Web框架。AWS Lambda,gRPC,MVC,唯一路由器,Websocket,会话,测试套件,依赖注入等。expressjs和laravel的真正继承者|

fiber

https://avatars1.githubusercontent.com/u/59947262?s=200&v=4

Fiber是一个受Express启发的Web框架,建立在Fasthttp(Go最快的HTTP引擎)的基础上。 旨在简化零内存分配和性能的情况,以便快速开发。

WEB框架

发现导航 - 精选实用导航网站

生态系统

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

Fyne

https://avatars3.githubusercontent.com/u/36045855?s=200&v=4

基于Material Design的Go跨平台GUI

GUI

发现导航 - 精选实用导航网站

logrus

Go的结构化,可插入日志记录。

zap

https://avatars3.githubusercontent.com/u/19262598?s=200&v=4

在Go中实现快速,结构化,水平的日志记录。

日志模块

发现导航 - 精选实用导航网站

gorm

适用于Golang的绝佳ORM库,旨在对开发人员友好

ent

https://entgo.io/img/favicon.ico

用于Go的简单但功能强大的实体框架,可轻松构建和维护具有大型数据模型的应用程序。

mysql

Go MySQL驱动程序是Go(golang)数据库/ sql包的MySQL驱动程序

sqlite3

sqlite3驱动程序

pq

适用于database/sql的Pure Go Postgres驱动程序

redis

https://redis.uptrace.dev/assets/images/favicon.png

用于Golang的类型安全的Redis客户端

数据库

发现导航 - 精选实用导航网站

json-iterator

高性能100%兼容的“ encoding / json”替代产品

blackfriday

Markdown处理器,安全、快速。

goldmark

用Go语言编写的markdown解析器。易于扩展,符合标准(CommonMark),结构合理。

goquery

接近jQuery语法的DOM解析库

go-yaml

yaml包使Go程序能够轻松地对yaml值进行编码和解码, 可以快速可靠地解析和生成YAML数据。

xurls

从文本中提取Urls

解析器

发现导航 - 精选实用导航网站

govalidator

参数验证程序,用于字符串,数字,切片和结构

validator

基于标签对结构和各个字段实现值验证。

参数验证

发现导航 - 精选实用导航网站

ip

获取公网IP地址、v4/v6

terminal

提供了用于处理终端的支持功能,这在UNIX系统上很常见

gopsutil

用于检索正在运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视,概要分析和限制进程资源以及管理正在运行的进程

air

Go热重载

go-micro

分布式系统开发框架

xlsx

xlsx是一个库,用于简化在Go程序中读写Microsoft Excel最新版本使用的XML格式。

email

Go强大而灵活的电子邮件库。

websocket

Go的一种快速,经过测试且广泛使用的WebSocket实现

jwt-go

Golang 实现的 JSON WEB TOKEN

cron

Go 实现的 cron 包

qrcode

二维码生成

casbin

https://avatars3.githubusercontent.com/u/27810343?s=200&v=4

权限管理库,支持Golang中的访问控制模型,如ACL,RBAC,ABAC

resty

用于Go的简单HTTP和REST客户端库

grpc-go

https://grpc.io/favicons/apple-touch-icon.png

gRPC的Go语言实现。基于HTTP/2的RPC

colly

https://avatars2.githubusercontent.com/u/33584194?s=200&v=4

Colly提供了一个干净的界面来编写任何种类的爬虫

cors

使用net / http可配置的处理程序来处理CORS请求

其他

发现导航 - 精选实用导航网站

依赖包

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

color

CLI 控制台颜色渲染工具库, 支持Windows

终端颜色

发现导航 - 精选实用导航网站

cli

一个简单,快速且有趣的软件包,用于在Go中构建命令行应用

cobra

Cobra既是用于创建功能强大的现代CLI应用程序的库,又是用于生成应用程序和命令文件的程序

命令行解析

发现导航 - 精选实用导航网站

pb

Golang的控制台进度栏

mpb

Go cli应用程序的多进度条

控制台进度条

发现导航 - 精选实用导航网站

promptui

命令行应用程序的交互式提示

godotenv

从`.env`文件加载环境变量。

go-prompt

受python-prompt-toolkit启发,在Go中构建强大的交互式提示。

其他

发现导航 - 精选实用导航网站

CLI

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

gvm

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go版本管理器,类似 nvm

json-to-go

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

在线 JSON 转 Struct结构体

golangci-lint

https://avatars3.githubusercontent.com/u/35628013?s=200&v=4

Go的快速Linters Runner

The Go Playground

https://play.golang.org/favicon.ico

在线运行Golang

nuclei

https://nuclei.projectdiscovery.io/

Nuclei是基于模板的可配置目标扫描的快速工具,具有广泛的可扩展性和易用性。

jaeger

https://avatars3.githubusercontent.com/u/35628013?s=200&v=4

分布式链路追踪

delve

https://avatars1.githubusercontent.com/u/19232073?s=200&v=4

Delve是Go编程语言的调试器。

工具

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Go 入门指南

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《The Way to Go》中文译本,中文正式名《Go 入门指南》

Go语言圣经

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go语言圣经 《The Go Programming Language》 中文版本

Go WEB 编程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Golang电子书介绍如何使用Golang建立网络

Go简易教程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《The Little Go Book》中文译本,中文正式名《Go简易教程》

Go by Example 中文版

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go by Example 是对 Go 基于实践的介绍,包含一系列带有注释说明的示例程序。

Go语言之旅

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

本指南涵盖了该语言的大部分重要特性,主要包括:基础、方法和接口、并发等

Go语言101

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

一本着墨于Go语法语义以及运行时相关知识点的编程指导书(Go 1.15就绪)。 此书旨在尽可能地帮助Go程序员更深更全面地理解Go语言

Go语言高级编程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

本书涵盖CGO、Go汇编语言、RPC实现、Web框架实现、分布式系统等高阶主题,针对Go语言有一定经验想深入了解Go语言各种高级用法的开发人员(不推荐新手)

Mastering GO

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《Mastering GO》中文译本,《玩转 GO》。

Mastering GO2

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Mastering Go 第二版中文版来袭!

书籍

发现导航 - 精选实用导航网站

100天从新手到大师

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Golang - 100天从新手到大师

project-layout

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go标准布局结构,项目架构结构参考。

编码规范

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Uber Go 语言编码规范

Gin实战

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

WEB 框架Gin实战

其他

发现导航 - 精选实用导航网站

参考资料

发现导航 - 精选实用导航网站

Golang

发现导航 - 精选实用导航网站

Dart

https://pub.dev/favicon.ico

Dart语言

DartPad

https://pub.dev/favicon.ico

在线运行Dart语法

Dart packages

https://pub.dev/favicon.ico

Dart packages

Flutter

https://flutter.dev/images/favicon.png

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的

Flutter Icon

https://flutter.dev/images/favicon.png

Flutter内置Icon组件图标速查表

官方

发现导航 - 精选实用导航网站

imei_plugin

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

用flutter在Android中获取imei的插件

multi_image_picker

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

Flutter插件,可让您在iOS和Android上显示多图像选择器。

sqflite

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

SQLite flutter plugin

dio

https://flutter.dev/images/favicon.png

dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等

fish-redux

https://camo.githubusercontent.com/a53c432bb9c2222880a6eca54b5ed091d1ab3d40/68747470733a2f2f696d672e616c6963646e2e636f6d2f7466732f5442317237344e4a794c614b31526a535a46785858616d504658612d313032342d313032342e706e67

一个基于Redux状态管理的组合式flutter应用程序框架。它适用于建筑中型和大型应用。

flutter_pulltorefresh

https://flutter.dev/images/favicon.png

一个提供上拉加载和下拉刷新的组件,同时支持Android和Ios

json_serializable

https://flutter.dev/images/favicon.png

JSON序列化和反序列化的代码

flutter_swiper

https://flutter.dev/images/favicon.png

flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配

FlutterToast

https://flutter.dev/images/favicon.png

适用于Flutter的Android Toast插件

dart-uuid

https://flutter.dev/images/favicon.png

生成 RFC4122(v1,v4,v5) UUIDs

fluwx

https://flutter.dev/images/favicon.png

Flutter版微信SDK.WeChat SDK for flutter.

常用模块

发现导航 - 精选实用导航网站

Material Design

https://flutter.dev/images/favicon.png

Material是一个由开源代码支持的设计系统,可以帮助团队构建高质量的数字体验

Flutter实战

https://flutter.dev/images/favicon.png

Flutter实战

samples

https://flutter.dev/images/favicon.png

Flutter示例和演示的集合

flutter-go

https://img.alicdn.com/tfs/TB1OJkeHNYaK1RjSZFnXXa80pXa-229-229.png

flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档

Flutter-Notebook

https://flutter.dev/images/favicon.png

flutter相关功能demo的集合,它能够帮助您快速学习一些零碎的知识

plugins

https://flutter.dev/images/favicon.png

Flutter团队维护的Flutter插件

awesome-flutter

https://flutter.dev/images/favicon.png

很棒的清单,精选了最好的Flutter库,工具,教程,文章等

flutter-do

https://flutter.dev/images/favicon.png

330+Widgets在线查看预览和使用。

文档资料

发现导航 - 精选实用导航网站

flutter_wanandroid

https://flutter.dev/images/favicon.png

基于Google Flutter的WanAndroid客户端,支持Android和iOS。包括BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构&比较规范的代码

Best-Flutter-UI-Templates

https://flutter.dev/images/favicon.png

Best-Flutter-UI-模板, 对所有人完全免费。其内置的Flutter Dart。

其他

发现导航 - 精选实用导航网站

生态系统

发现导航 - 精选实用导航网站

Flutter

发现导航 - 精选实用导航网站

Python

是一种解释型、面向对象、动态数据类型的高级程序设计语言。

PyPi

使用Python软件包索引查找,安装和发布Python软件包

官方

发现导航 - 精选实用导航网站

PCU

python-check-updates, 检查 pip 当前依赖包最新版本

工具

发现导航 - 精选实用导航网站

生态系统

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

requests

https://www.python.org/static/favicon.ico

requests是一个简单而优雅的HTTP库。

aiohttp

https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png

用于asyncio和Python的异步HTTP客户端/服务器框架

Scrapy

https://avatars2.githubusercontent.com/u/733635?s=200&v=4

一个用于Python的快速高级Web爬虫框架。

selenium

https://avatars0.githubusercontent.com/u/983927?s=200&v=4

浏览器自动化框架和生态系统。

beautifulsoup

可以从HTML或XML文件中提取数据的Python库

HTTP/爬虫

发现导航 - 精选实用导航网站

Pillow

友好的PIL前叉,是一个出色的图像处理库

图像

发现导航 - 精选实用导航网站

numpy

使用Python进行科学计算的基本软件包。

运算

发现导航 - 精选实用导航网站

pandas

https://avatars1.githubusercontent.com/u/21206976?s=200&v=4

功能强大的Python数据分析工具包

数据分析

发现导航 - 精选实用导航网站

rich

https://github.com/favicon.ico

Rich是一个Python库,用于在终端中提供富文本和精美的格式。

Fire

Python Fire是一个用于从绝对任何Python对象自动生成命令行界面(CLI)的库。

colorama

Python中简单的跨平台彩色终端文本

tqdm

https://avatars1.githubusercontent.com/u/12731565?s=200&v=4

适用于Python和CLI的快速,可扩展的进度栏

paramiko

领先的Python SSHv2协议库

click

Python可组合命令行界面工具包

CLI

发现导航 - 精选实用导航网站

JMESPath

https://github.com/favicon.ico

JMESPath是JSON的查询语言

其他

发现导航 - 精选实用导航网站

依赖包

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

Django

https://avatars3.githubusercontent.com/u/27804?s=200&v=4

具有期限的完美主义者的Web框架。

flask

https://avatars0.githubusercontent.com/u/16748505?s=200&v=4

用于构建Web应用程序的Python微框架。

WEB框架

发现导航 - 精选实用导航网站

框架

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

简明 Python 教程

https://www.python.org/static/favicon.ico

旨在于介绍如何使用 Python 语言进行编程的自由图书。它以教材与指南的形式为入门者介绍 Python 语言。如果你对电脑知识的了解仅限于如何保存文本文件的话,那这本书就是为你准备的。

书籍

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

100天从新手到大师

https://www.python.org/static/favicon.ico

Python - 100天从新手到大师

Python 入门指南

https://www.python.org/static/favicon.ico

Python 入门指南

What the f*ck Python!

https://www.python.org/static/favicon.ico

一些有趣且鲜为人知的 Python 特性.

awesome-python-cn

https://www.python.org/static/favicon.ico

Python 资源大全中文版

cheatsheet

https://www.python.org/static/favicon.ico

Python大全备忘单

awesome-python

https://www.python.org/static/favicon.ico

精选的Python框架,库,软件和资源的精选清单。

文档资料

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

参考资料

发现导航 - 精选实用导航网站

Python

发现导航 - 精选实用导航网站

segmentfault

https://cdn.segmentfault.com/v-5f64887f/global/img/touch-icon.png

是中文领域最大的技术问答交流社区平台

掘金

https://b-gold-cdn.xitu.io/favicons/v2/apple-touch-icon.png

一个帮助开发者成长的社区

DiyCode1

致力于构建开发工程师高端交流分享社区

黑客派

https://static.ld246.com/images/favicon.png

黑客派是程序员和设计师的聚集地,汇聚了严谨求实的工程师和富有创意的设计师

Node.js专业中文社区

国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究

吾爱破解

https://www.52pojie.cn/favicon.ico

吾爱破解关注PC软件安全和移动安全领域,致力于软件安全与病毒分析的前沿

FreeBuf

https://www.freebuf.com/favicon.ico

FreeBuf黑客与极客,国内关注度最高的全球互联网安全媒体平台

IMWeb

https://imweb.io/public/icon.png

Web前端 腾讯IMWeb 团队社区

Stack Overflow

https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a

全球最大的技术问答网站,是一个与程序相关的IT技术问答网站

React社区

https://reactjs.org/favicon.ico

React论坛社区

众成翻译

https://p1.ssl.qhimg.com/t010e845cdf71587354.png

中国最好的技术翻译社区,最懂译者的翻译平台,奇虎360最大前端团队“奇舞团”出品

MDN web docs

https://developer.mozilla.org/favicon.ico

Mozilla 开发者社区,是一个完整的学习平台,你可以在这里深入学习Web技术以及能够驱动Web的软件

DEV Community

https://dev-to.s3.us-east-2.amazonaws.com/favicon.ico

在这里程序员分享想法并帮助彼此成长

问答社区1

发现导航 - 精选实用导航网站

V2EX

https://www.v2ex.com/static/img/v2ex_192.png

创意工作者们的社区

知乎

https://static.zhihu.com/static/favicon.ico

知乎,中文互联网最大的知识分享和社交平台

简书

https://www.jianshu.com/favicon.ico

简书是一个创作社区,任何人均可以在其上进行创作

小专栏

https://images.xiaozhuanlan.com/assets/favicon-bd135558698197f509ada06695c03a4f458f0077fa476f9a4e7ba9664f3dc55f.ico

小专栏是一个专业人士的创作知识社区,在这里您可以看到各个领域最专业的专栏和观点

Hacker News

https://news.ycombinator.com/favicon.ico

Hacker News

程序员客栈

https://stacdn.proginn.com/favicon_new.ico

程序员客栈是领先的程序员自由工作平台,未来互联网企业用人方式。提供优秀程序员为您进行网站建设制作、测试运维服务、人工智能AI、大数据区块链、软件开发等优质服务

职Q

https://fecdn4.zhaopin.cn/zq/assets/logoIcon.7a3e67.png

智联招聘旗下专业的招聘求职社交问答平台,覆盖了求职、招聘、职业规划、升职加薪、面试技巧、工作经验分享等热门话 题,涉及各种行业职场问题,1.5亿用户的职场社区

煎蛋

http://cdn.jandan.net/static/img/appicon.png

煎蛋以译介方式传播网络新鲜资讯

其他

发现导航 - 精选实用导航网站

Github

https://github.githubassets.com/favicons/favicon.svg

面向开源及私有软件项目的托管平台

码云

https://gitee.com/favicon.ico

码云专为开发者提供稳定、高效、安全的云端软件开发协作平台

GitLab

https://about.gitlab.com/ico/apple-touch-icon-57x57.png

用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

Coding

https://dn-coding-net-production-static.codehub.cn/platform/favicon.ico

面向开发者的云端开发平台,提供 git/svn 代码托管,代码质量分析,在线WebIDE,项目管理...

代码托管

发现导航 - 精选实用导航网站

社区站点

发现导航 - 精选实用导航网站

社区站点

发现导航 - 精选实用导航网站

觅元素

http://www.51yuansu.com/favicon.ico

觅元素,为您提供免费设计元素,设计元素的资源站

千库网

https://js.588ku.com/comp/public/css/iconfont/favicon.ico

致力于为设计师提供最优质的素材

花瓣网

https://huaban.com/img/touch-icon-ipad.png

花瓣,陪你做生活的设计师

Dribbble

https://cdn.dribbble.com/assets/favicon-b38525134603b9513174ec887944bde1a869eb6cd414f4d640ee48ab2a15a26b.ico

Dribbble是展示和宣传,推广,发现和探索设计的地方

万素网

https://669pic.com/669pic.ico

万素网致力于为国内各行业设计师,网站编辑,新媒体工作人员提供免费png素材与背景图片服务

ArtStation

https://www.artstation.com/assets/favicon.ico

ArtStation是游戏,电影,媒体和娱乐艺术家的展示平台。它使艺术家能够以流畅的方式展示他们的作品集,发现和保持灵感,并与新的机会联系起来。

Design Templates - Canva

https://static.canva.com/static/images/favicon.ico

设计模板 - Canva

Unsplash

https://unsplash.com/favicon-32x32.png

美丽,免费的照片。由世界上最慷慨的摄影师社区赠送。

稿定设计

https://www.gaoding.com/favicon.ico

电商素材、新媒体配图、手机海报等。

unDraw

https://undraw.co/favicon-32x32.png

带有开源插图的设计项目,可满足您可以想象和创建的任何想法。 免费使用您的颜色创建漂亮的网站,产品和应用程序

UI中国用户体验设计平台

https://www.ui.cn/Public/img/favicon.ico

UI中国用户体验平台,中国用户体验联盟理事单位。国内极具影响力的设计平台之一。十多年来,携手会员150万+,共同致力于为设计师与企业搭建健康的设计生态!

GitHub Octodex

https://octodex.github.com/favicon.ico

由GitHub Design团队创建和维护的所有吉祥物素材

Collect UI

http://collectui.com/img/favicon.ico

从每日ui档案库及其他收集的每日灵感。 根据Dribbble拍摄的照片,手工挑选,每天更新

材料

发现导航 - 精选实用导航网站

icons8

https://icons8.cn/vue-static/landings/primary-landings/favs/icons8_fav_96%C3%9796.png

下载免费图标,音乐,素材图片,矢量,UX插图和视频音乐

vectorlogo

https://www.vectorlogo.zone/favicon.ico

3000多种精美的SVG徽标,非常适合您的自述文件或积分页面

shareicon

https://www.shareicon.net/favicon.ico

超过25万个icon免费集合

SVG Logos

超过1000+SVG Logos集合

iconfont

https://www.iconfont.cn/favicon.ico

阿里妈妈MUX倾力打造的矢量图标管理、交流平台

iconscount

https://iconscout.com/favicon.ico

免费下载图标,插图和库存照片

图标

发现导航 - 精选实用导航网站

创客贴

https://www.chuangkit.com/favicon.ico

一款简单易用、功能强大的线上图形设计工具

Ps Play

Ps Play - 移动设计零阻力

鹿班

https://g.alicdn.com/acca/resource/luban/image/favicon.png

鹿班 - 让设计更美好(阿里出品)

fontspace

https://www.fontspace.com/android-chrome-192x192.png?v=00Bdv4Q5g6

6500+免费字体下载

工具

发现导航 - 精选实用导航网站

Color Hunt

https://colorhunt.co/img/color-hunt-icon-ios.png

Color Hunt是一个免费开放的平台,可通过数千种精选的时尚调色板来激发色彩灵感

配色

发现导航 - 精选实用导航网站

Design

发现导航 - 精选实用导航网站

Design

发现导航 - 精选实用导航网站

Docker — 从入门到实践

https://github.com/favicon.ico

Docker — 从入门到实践

Docker官方映像文档

https://github.com/favicon.ico

docker-library中的Docker官方映像文档

Docker Hub

https://avatars2.githubusercontent.com/u/7739233?s=200&v=4

Docker 镜像仓库

Docker-Compose

https://avatars2.githubusercontent.com/u/7739233?s=200&v=4

使用Docker定义和运行多容器应用程序

Docker

发现导航 - 精选实用导航网站

git-manual

https://github.com/favicon.ico

Git常用命令参考手册 (推荐学习)

GitHub Docs

https://github.com/favicon.ico

github 官方帮助文档

awesome-actions

https://github.com/favicon.ico

精选的GitHub上很棒的Action列表

Github - Actions

https://github.com/favicon.ico

Github 官方Actions 资源列表

growing-up

https://github.com/favicon.ico

程序猿成长计划

Git

发现导航 - 精选实用导航网站

nginx

https://avatars0.githubusercontent.com/u/1412239?s=200&v=4

nginx参考文档

Nginx开发从入门到精通

https://avatars0.githubusercontent.com/u/1412239?s=200&v=4

Nginx开发从入门到精通

服务器

发现导航 - 精选实用导航网站

redis

https://avatars3.githubusercontent.com/u/1529926?s=200&v=4

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构

MySQL

https://labs.mysql.com/common/themes/sakila/favicon.ico

MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。 它是百分百由MySQL原厂开发,管理和提供支持

数据库

发现导航 - 精选实用导航网站

免费的编程中文书籍索引

https://avatars1.githubusercontent.com/u/14127308?s=200&v=4

免费的编程中文书籍索引

Zlibrary

https://zh.b-ok.global/apple-touch-icon.png

Z-Library 项目部分. 全球最大的数字图书馆, 电子书

IT-eBOOK

IT类技术书籍PDF

Refactoring.Guru

https://refactoringguru.cn/favicon.ico

22种常用设计模式

书籍

发现导航 - 精选实用导航网站

Linux 常用命令参考手册

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/linux/linux.png

Linux 常用命令参考手册

developer-roadmap

https://github.com/favicon.ico

2020年成为网络开发人员的路线图

Devhints

https://devhints.io/assets/favicon.png

WEB开发速查表,mysql/go/java/js/bash/react/git...

linux-command

https://wangchujiang.com/linux-command/img/favicon.ico

Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集

learn-regex

https://github.com/favicon.ico

正则表达式学习

the-art-of-command-line

https://github.com/favicon.ico

命令行的艺术

Peter Beverloo

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/chrome/chrome.png

Chrome浏览器命令参数参考手册

vimrc

https://avatars2.githubusercontent.com/u/11618545?s=200&v=4

vim配置参考手册

Jenkins

https://www.jenkins.io/zh/sites/default/files/jenkins_favicon.ico

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要

learnxinyminutes-docs

https://learnxinyminutes.com/favicon.ico

在Y分钟内学习X

Vscode Docs

https://code.visualstudio.com/apple-touch-icon.png

Vscode 扩展开发文档

YAML教程

YAML教程

Chrome Extension

https://www.google.com/images/icons/product/chrome-32.png

谷歌浏览器扩展插件开发文档

其他文档

发现导航 - 精选实用导航网站

参考文档

发现导航 - 精选实用导航网站

菜鸟教程

https://static.runoob.com/images/icon/mobile-icon.png

提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程

慕课网

https://www.imooc.com/static/img/common/touch-icon-ipad.png

慕课网-程序员的梦工厂

极客学院

https://www.jikexueyuan.com/favicon.ico

致力于“让IT学习更有效”,以实战为特色,为注重自我提升的IT从业者提供高品质职业教育

腾讯课堂

https://9.idqqimg.com/edu/edu_modules/edu-ui/img/nohash/favicon.ico

腾讯课堂 - 专业的在线教育平台

i春秋

https://static2.ichunqiu.com/icq/resources/images/favicon.ico

【i春秋】-专注网络安全_信息安全_白帽子的在线学习_教育_培训平台

实验吧

http://www.shiyanbar.com/favicon.ico

实验吧是国内最大的在线虚拟机实验IT教育平台

合天网安实验室

https://www.hetianlab.com/img/ico/favicon.ico

合天网安实验室是支持在线实验的信息安全学习的大型服务平台

网易云课堂

https://study.163.com/favicon.ico

网易云课堂 - 领先的实用技能学习平台

蓝桥

https://study.163.com/favicon.ico

蓝桥是国内领先的IT在线编程及在线实训学习平台,专业导师提供精选的实践项目,创新的技术使得学习者无需配置繁琐的本地环境,随时在线流畅使用

W3Cschool

https://7n.w3cschool.cn/statics/images/favicon.ico?v=2.2

编程狮,是一个专业的W3C前端开发及编程入门学习平台

发现导航 - 精选实用导航网站

发现导航 - 精选实用导航网站

教程相关

发现导航 - 精选实用导航网站

LeetCode

https://static.leetcode-cn.com/cn-assets/icons/favicon-96x96.png

提高你的编码技能,快速找到一份工作。这是扩展你知识和为下一次面试做好准备的最佳地方。

牛客网

https://www.nowcoder.com/favicon.ico

牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库

CS-Notes

https://cyc-1256109796.cos.ap-guangzhou.myqcloud.com/LogoMakr_1J56bI.png

技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Java、Python、C++

数据结构和算法动态可视化

https://visualgo.net/img/favicon.png

数据结构和算法动态可视化

algorithm-pattern

https://github.com/favicon.ico

算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~

面试刷题

发现导航 - 精选实用导航网站

面试刷题

发现导航 - 精选实用导航网站

学无止境

发现导航 - 精选实用导航网站

乌云网镜像

WooYun是一个位于厂商和安全研究者之间的漏洞报告平台,注重尊重,进步,与意义

安全联盟

https://www.anquan.org/aq_static/images/favicon/favicon.ico

安全联盟 - 国内最大的第三方网络安全数据共享交换平台

360网站安全检测

https://www.360.cn/favicon.ico

为站长免费提供了网站漏洞检测、网站漏洞修复、网站后门检测、木马查杀,网址安全查询等服务

红黑联盟

https://www.2cto.com/favicon.ico

红黑联盟作为老牌的信息安全网站,致力于培训电脑技术高手.网站集网络安全,系统网络,编程开发,网站建设等频道于一体

知道创宇

https://www.knownsec.com/static/favicon.ico

知道创宇,网络空间安全专家,长期致力于为政府、企业类客户提供完善的云安全解决方案

安全周

关注安全资讯 专注资源共享

全球被黑站点统计系统

https://www.hacked.com.cn/favicon.ico

主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据...

安全脉搏

https://www.secpulse.com/favicon.ico

高质量的全球互联网安全媒体和技术平台,安全爱好者们交流与分享前沿安全技术的最佳社区

网络安全

发现导航 - 精选实用导航网站

XSS-CTF

http://xss.xiejiahe.com/favicon.png

XSS-CTF 是一个练习和入门的XSS平台, 每一位WEB工程师都应具备的基础知识,提高网络安全意识

XSS测试

XSS小游戏

Pasteurize

XSS CTF

CTF

发现导航 - 精选实用导航网站

fiddler

https://www.telerik.com/favicon.ico

Fiddler是一个用于HTTP调试的代理服务器应用程序

wireshark

https://www.wireshark.org/assets/images/favicon.ico

是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换

XSS平台-白帽安全测试

XSS平台是一个免费给白帽安全测试的平台

Security Headers

快速轻松地评估HTTP响应头的安全性

w9scan

一款全能型的网站漏洞扫描器,内置1200+插件可对网站进行一次规模的检测,功能包括但不限于web指纹检测、端口指纹检测、网站结构分析、各种流行的漏洞检测、爬虫以及SQL注入检测、XSS检测...

xray

https://avatars0.githubusercontent.com/u/7302766?s=200&v=4

xray 安全评估工具

cmd5

https://www.cmd5.com/favicon.ico

md5在线解密破解,md5解密加密

sqlmap

https://avatars3.githubusercontent.com/u/735289?s=200&v=4

自动SQL注入和数据库接管工具

nmap

https://avatars2.githubusercontent.com/u/63385?s=200&v=4

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端

xssor

http://xssor.io/s/favicon.ico

编码/解码,Codz,探针

在线子域名查询

https://phpinfo.me/favicon.ico

在线子域名查询

fuzzDicts

Web Pentesting Fuzz 字典

BurpSuitePro

免费的BurpSuitePro版本

辅助工具

发现导航 - 精选实用导航网站

Vulhub

https://vulhub.org/img/favicon.ico

基于docker和docker-compose的漏洞环境集合...

SRC-experience

工欲善其事,必先利其器,一些src挖掘奇技淫巧,国外新技术的学习网站分享

Intranet_Penetration_Tips

内网渗透TIPS

知识/测试

发现导航 - 精选实用导航网站

网络安全

发现导航 - 精选实用导航网站

网络安全

发现导航 - 精选实用导航网站

百度统计

https://tongji.baidu.com/favicon.ico

全球最大的中文网站流量分析平台,帮助企业收集网站访问数据,提供流量趋势、来源分析...

CNZZ

https://www.umeng.com/favicon.ico

CNZZ数据专家是全球最大的中文网站统计分析平台,为各类网站提供免费、安全、稳定

百度搜索资源平台

https://www.baidu.com/img/baidu.svg

百度搜索资源平台_让网站更具价值

问卷星

https://www.wjx.cn/favicon.ico

免费使用问卷星创建问卷调查、在线考试、360度评估等应用

金数据

https://gd-assets.jinshujucdn.com/favicon.ico

金数据是人人可用的在线表单工具,帮助用户收集和管理日常工作中的数据,提升工作效率

Google Analytics

https://ssl.gstatic.com/analytics/20201013-01/app/static/analytics_standard_icon.png

Google Analytics是一个收集数据并将其分析整理成实用报告的平台

腾讯移动分析

https://mta.qq.com/mta/resource/imgcache/images/favicon.ico

腾讯移动分析是腾讯数据云,腾讯大数据战略的核心产品,提供app应用的移动统计分析,支持android/iOS平台,实现用户画像、数据可视化、数据挖掘、渠道效果分析等综合数据服务

Google Adsense

https://www.google.com/favicon.ico

Google Adsense

运营相关

发现导航 - 精选实用导航网站

运营相关

发现导航 - 精选实用导航网站

运营相关

发现导航 - 精选实用导航网站

凹凸实验室

https://aotu.io/img/favicon-48x48.png

O2面向多终端技术体系,致力于构建沉淀与分享包括但不限于交互、页面制作技巧...

腾讯IMWeb

https://imweb.io/public/icon.png

Web前端 腾讯IMWeb 团队社区

字节跳动技术博客

https://avatars1.githubusercontent.com/u/4158466?s=200&v=4

字节跳动技术博客

淘系前端团队

https://fed.taobao.org/favicon.ico

用技术为体验提供无限可能

有赞技术团队

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

有赞技术团队

Team

发现导航 - 精选实用导航网站

阮一峰的网络日志

http://www.ruanyifeng.com/favicon.ico

阮一峰的网络日志

谢家和的博客

https://www.xiejiahe.com/favicon-128x128.png

WEB Developer

王垠的博客

https://www.yinwang.org/images/Yc.jpg

当然我在扯淡

Dan

https://overreacted.io/favicon.ico

react作者的博客

个人博客

发现导航 - 精选实用导航网站

博客看点

发现导航 - 精选实用导航网站

博客看点

发现导航 - 精选实用导航网站

MyNAV

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcElEQVQ4jXWTP2iVVxjGf+85596bm5hI1ArW1D90lXZRdFIJIia0IDhJqlhELXFwsDi7uOjgFAUVRW276CSJgyTYiEspCg66OEiMDjoUrybXe7/vO+dx+BJ67+A7nXOe9z3/3ucHnXFW7v+J3MiYBraPaQA61rtywLqEs5b2HNeGeo2j5hhWZAPCLDCHmGm2uD59xV4v53ZsIAeWfhrX4VDlgjPWxggSIMBBJUBMvMvb/D512f5YrrHlwc8ndchXuFXkQCLD8AbmygurnRGdp1qtQZHxy+Ql+xNkBjB6VBtDnWcS/UkkA79UyOcWtDPY+C3kkfhxARcCjdYCPz64YfMOwPVwwldYqUQRHB5goQkLTWzzEHb6Vzh3CoLHx4IiVBis9XECIICcM4ZTREn4RgP66rDjB2x0J9q2BaoV7N5DNPcWVq3EFzlyxjDIhd37GUhiPQX09mAH9qJdW7HvvxNglgTtDE09gnoPEpgEEkPbx1jhil7MwElgBoP9sG5N+f52Vrbp6Qt4OQf1HkgqtQTWn2Hu8V80zJgPFVj8jC7ewg6egclZo1YVgCZny3ZLGELmIDjmp+/wyYEliRnnMW/E1YPlz1+7ixabxqs32JPnqK++dLqIPmCCGbDkAPLI1VTQwOPzgtjXC/81YPof9Pe/aLEF3oFEdI4Qcz4021xdcmJppNFxHanWuFFkAGQp4lf0YilBs4WcJwLVUIEs5/D9CbsNcl1WHh3XkWqF8+b5JhUQY6l6Dy6AEu/znDNTE3azw8rdMO37TZtqNY4hdqfEEIB55i0xmyeu3J+wuU6YuqMbZz8ypoGREmf/NZy/AG6PHowdArJiAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Hoarder

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Home | TOP500 Supercomputer Sites

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsElEQVQ4jY2TTWhcVRiGn+/cM3d+Osm0UYuRpKQLFenCVrHipljUgnQhCq24qLhyJUYlCkKLQVChWFoUxFVNNy78wYU/VQQVxCLRgo1VrEUSisVJtGk6ncyd3HvPeV2MO0Xy7t+X74PngXXk08cZXTjMwdlnGAfQNG49PTSNB1h4id06jrI3uPDHER4FkDDg/5dsmhKwjU2myoJQRsav38iJ9lGeMkMSZgD7xqjffhdpvzsiRoDlZUab2P070/HhND/UrLG/V1gQkCD5Cr69zD0Tz/OFnTnI1i2bec/DBkUiYDIwj7mSLY069W5uQUEOAY7QqOFX+3z73Al22eIRDm3exItZGMLXNw1uzzvE3grl8FbFq4tBZS9xQ6OQDqGVBQh59BVYusIen6b+3qJbBm56IPpdx5ySlOL0YZRUrb590uJfc77/1ZM09r4rnEeXz9M7+Yhq7s+kUWW385QTZepc/tPbSXFuxmJ71uU/HnfVHZPW/+QAVJqq3LxPUrTi+5flxu42d80txBKCkhudwAtDZTTyDioziD0AwuXzqL+CJR7MKd3+NPncm8TF7yABR/BO0PbOMCPK182qLWL3CmHpjDUe+siS1gTlxW+wWovex/vpf/6EFDOcgyB+91nBqWYt3EYFlT/PUP72ISSy7OSDSsb3Rl36QXH5rFv77IDUPUfSMEWJImBRnLILr3DHdS2+LoVXgUkYKVhJqBseD2sCciAdAJp6LCv4dXaOnQZw6RhvjbR4rNO1NeesohhVr1qymrsvr2a8XsRw0VzdiiKjZkTn8SW0J55l3gtsdpGpbSk7hjfo1s6q+o2UWifTB3smw8OnoRjAkf037gIz0C/T3DB2LTPVGvfla2Rn59l256vM/yNU/FfzBWSGBk8xMAtwi0eZWnqN99+BZD3G/g0EOj/O4xBoDgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

程序员客栈-领先的程序员自由远程工作平台

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jZWSvy5EYRDFf2f23sXSKCQkGpVSi2rjCbwGpUojHoAXINHtm4jgFSgVJP50u3at/Y5i7967f0Riii+TmTlzZs584vKdaTMIG0CaymVFAqTKBc+WDi3A4Mx2N4FVMIBdNpgAhETPh5tz59sNuvZgsqiAVeBIhrpaj708aO0tbSxIyRrNhYQEKicMMKGPTx/fdJrr+f5G3V8uJtUvDJkk91NzLT/bbZzed64eerW6om9DghTTQmVgzPKiju7a10996jrZmt9ZzQf2S9sHt+2eDYHTECku3gC+EqHIlQZemVcjk+E78fyZDIRIJmLIABBzgZVsQq9dKkFrQ52FypEkIFXHg1qRNeXq1SbVpUeJQv0iUla7uH1WiVA2gzGKWYbSNPYy6Y8FY/a3/G3/BvwAXPGMy7CiL0wAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

CloudConvert

发现导航 - 精选实用导航网站

油小猴

发现导航 - 精选实用导航网站

www.similarsites.com

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuUlEQVQ4jU2TzWtdVRTFf2ufc+/LF1KKQpCSkkSL0I/QUIsO7aA4qQMnzhQ1VqkRHNR0UAcVcWAVdZAmpYSIDvoPSEGLYoSWSkTUCELVECTFGKyE1qRN3r3nbAfvvZozOwvWb+99zl6idQQ4nOna82Bf369/nrzZ1jn+uo82CvZJLC/Mc21uTpvgAjmAdcz7B6aGRh/uvxgaXb0d84lTPtFocBXjExefjzzO1dcm/OmW2dWprAPD0w+Usbzm5LXvr790COD4uD9SdPOzRMyZGrAYMQtQV7wzeVZvgssAD2ZnY+gbAi13qodGGpQRU6IGAqC6pm5uUZUlp8cn/BWQ68Dw9JEi2GV3F3BjY+3Wvus3J9affZWd9/XwowK7Uk0FRAlyJofW4LdSxaMWQnhOCsFJlUIx0L1jxzMg//Sc/sEYM7FhRoFTu4OE5YyHyE5FXjaDx7InlxQ8VzlYeHvvrnMPAUy+qy+qLY6FyHIsKIDU/jOlGjdx1NzrAfcMKODZwfu7eopLe4dbkKkP9PXdiidSZiFGYhtiOUPODJsLA0cCJHOaNWhPV+z+cmRw+jDAhfe0WDV50p1fQiDi5PZbRxNhRQq4u7c0C5mqgnp3UZSXRnZPH8RdFz7SStXkecQmgAzMuGFyfSdFpHtUhGL2ugLuD6XNMPhWA1znP9S8Zy6HgmBCgm+tzukinnWvgf8hIftWQoweLPoPd7YvJRZCILlTVZlZ+2lx9TMnfRWsN7rnJmwjyR3Hc06hIwhiTy/Bxcz59zVncKb2Kr6YvPlbDH0NkLlnh5yDeiLypb/W78x3mLHkqfXbXLn7N6c6q6wflsb+qNPmEff6Y0drpsJEaVn+u+fyhdXVNzYATpz0YzhXVhY5Ojurf9sdbY8z7B+YGirKeMgU0u2NtW+2R3ts3AdnJrXUurUi/R8QyTtLzvPYgQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Etsy China - Shop for handmade, vintage, custom, and unique gifts for everyone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

The Verge

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABsUlEQVQ4jXXTO2sUcRQF8N8dJxojQSEgihCiILFTxGCjhYqiRUISDdhpo58ghaWFn8LKRiSs5okoijYi+AIVUUFsIj6IhUUivpLdv8XObNbFvdUczjmXc8/MxElpXyK0mcT8lPha4jFpyzK9GSlIeeISBlD7jz+CcVyBi1L2kgsZZ1Cr8SxPTAeHsLZNgs7y+QXbM4awCX+CmTxnrso57C10j/G09AevGnE4jr4CvsVsXhGfRqWppgVffjJ+S/xuTjIkdQejVvuanhQfM6gyg88FcbCLPa2nrKn3NFDAhRrTkKkf/yZxtyB7agy3NBHBCLqLXu5v5nVjQUVUExP4Udw6OCZtW311+tTvh1+YuCyWGwtgAw8TTwrYv8KRkqtyDDsK+DznQck1FlwVi0GlnlCeMXZW6hyUulK9vFJ7oyK+lb68paubidNBb2LrEn0d9GB/wc8n5poNWTOY5ANO4QCGM+YLvLGQ3N7N+2ZP23+gXl7qXeFO0I+ljJHr4l7bBK1T5Wiws4CPov6V/jOtHTTmhLQOh7GI5cS1ivjeqmt7wnmpY4FdwXpUa7ybFUutur/QZXoo2k7BZgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

六星源课堂:每个程序员都应该访问的17 个实用级网站! - 知乎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Gumroad – Sell what you know and see what sticks

发现导航 - 精选实用导航网站

HiringCafe - Find Top Remote Tech Jobs

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAZFJREFUOI2FUj1v20AMJc+WFsGwJ0/p6sCZLED/IoWz+6c4q7WmQLoJ3lJ4c1atzj+If4GGBnAWwSkEAwfcHV8HtlcjSJE33JF8j/dBkgEACCHQZ+j1eszMIsLMn6oVAPpEdDweN5vNz5eXnjEf6oLIl4uLxWIxGo0MMz/tdrfLZZokzAyAz6BumiS3y+XTbsfMFEJo2/ZmPi9XK/wH5Wp1M5+3bRtCIO89gNfDIZ/NyrIEYK11zjnnrLUAyrLMZ7PXwwGA955ERHOaprmaTquqUkKDVVVdTadN02hQRAiAiDjnAOz3+8vJ5HG71Zc8breXk8n++RmAc05EAJBuMaeu6zzPu67rui7P87quz9Ui0o+lMMaISFEUWZadTiciyrKsKAoRMcb8kxGROupbazWiq7VWbWWJqK+t0aoTkTEGgDEmyzLvvVJ6iSrNeduVS5JERL7d3UFkOBzGsxX9aOnD0jT99fb29fp6PB6v1+vBYPB+2GI75S9+PDx8v7+PU6z1iWAAMTN+98/MhXBeHw3+Btg7btfem1ozAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Data Structure Visualization

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABj0lEQVQ4jbXSO0jVcRQH8M+595pP1K4iWOZQbSkZQVhhS2FhJNRgY0UQ1BK1RLRENEhBU1OvXaFBycGxIJoMygalprCHiqgJCnr7/RvScHXoTAfO+T748g1XDtrK5Lb0jUJTvmxmkRUo1GqosrpmfoESBY1F+WR6jm121Mtl/4C1G0sF1ZsIyzed/ioMjBzuOy4O6b1g6Ka4xjNDb/R2GRx1/ioHzN1VXae81fiYQt++knImnSiCb+4/1Nvl3ai+k2oeO31JsX2dPivJfZpIJLn0cTqRoizduZ78SEdOpVfDaXdTsj2RxodTRNp/JhXShrmUQfZV1WXLz2XfxTG+0MOa9jaPXnryflOs68g2Ky/cfkCz7LPoY4wZWtw4Z2Jcbk8dWPF2CjqKWnr0PxVHIQ3QyE7ZB7ELCqv5XDW13Qa7YXLW8ghELQvUUwPRTIkqueK9kGJxNDp6Y+p1rAzF2f4gsl+hPjpvhfkg5MPeUBehklVa+M0sDfykSCVLLNFKkNhGhULTxc4tVSP+e1v/ALHxh1lBNmIPAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Stripe 如何创建科技行业最好的文档 - Mintlify

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABzElEQVQ4jY2SP2hTURTGf+e+l9ikrwGzpFL/rFIFLUIJSAd1kE6lYAUJREqHzg9EOj4cNcWSUZBUS4dCoTg4ZCy4BAqpFroUpwqti6KmNX/63nGIjX3Jq3qmey/f75yP7x7htFLPDO4OPRR0RtERIBmh8iWKTe8UU/F4fA2R26cO+F12D1zMpeyAMiLZf8EAphv2M5mySZz5LzjUIF3MpZpNqyyqFaOM4Qe3VHGBD39r0M6gmEs5TasMZAUd+/Fo6V1HoZ4Z3D3nAk+7HbcdTE1ZTtOsAVkAVSuci3jB/sXZeQIeRxiom4HRZB7+pK3Gvx5ldX9x77nA+/Crbho1OhMaqDKN5/VYxfOCQLUU0oq8NAQyEm6qw/19O1eiXBiheuK6vnf+bMkgGjsBH2HLg4O55S2nMD2MFw7NGFoAWm9VGg4TyH1fnEJ+C7h6DNfc16sDz/KTKqwA2wolQaqi2rIupO+JZd/k4/e7X+defKO9ibKCBpcj4BhwTWABFBXwP32p2Ed9HRjAriX6F5KHB9VD99XbLjhUAj0wnUUCkoX8uIE3UTCq6zE/MdENA1jHh9adG5/jRhtABiWN0AA2BJ7ULtXd+uzSz6if+QWXj65atnGG2AAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

TechCrunch | Startup and Technology News

发现导航 - 精选实用导航网站

MEGA

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABpklEQVQ4jaWSwUtUURTGf/fNzMNkZoLRzDcbhVLb+Y/YyloFQRHtIhlbDCi0dlFQyyhBcCduBP+PcGVmQ4H0cHARvkfJe/ee02LmvRlnGkg8cOHej3O/832cD65ZZhDQ+vwkJmkgZgnDfBc+BPag9N78PDobSWCDmWVjzCeUmyMGniv6tBj+2B0isFMzy2p051+qBkUaNQ+L7Q6JAdDp6VuJlI6B6v/4Bs4T489VTr+1PYDftvDCiVSdCP5Ji8LbDZwqTqRzVPHebOCftDKs6snFSk4X1YLPUS3QqBZoVsnWtkYTdY0m6ppsbed41hfVggOAIoB17l6/PglDSo8fIdaCaucehnhBgHUua1vICZzIJYMXHzbxgtuMPX/WfX9EwlPGX6/19yb9BIfAYq5AhHi1iaQWgLi5znjjJQPDWj0CJ3uKLgJomiJpirWWX6+aPVtpCtbmFhT28zUel8tTfmK+XmmNvs7djeN2HprvhfKVgjTr4l6QclOFGw8UNsFURvyNgCd33J/hKGf1hcqk56UNlPvdVSWgR8aYfSeldwtEZ0O816m/ibHiwE2Nd0oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

namakxin - Digital Artist | DeviantArt

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小红书千帆PC端

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACNElEQVQ4jW2Tz0tUURzFP987I+IMuYjARmq0RcRAi0zKbFOLEPoHoqBtf0ntoyJoZ9AvEMooSFQICoMCN0ILYSTNwChFcyZ0sne/p8V9TQo9uLzL/X7P95533jlIqkqakuSSotxd7pLLFaOUF9LGU086mpJURdJ0Xs52FV0xJtzrd9KNO64vK+k8DfmdY6bZBXZJ7pIUY2JRX5RGrkoDF6Xrt//VUm8mSQFwIJA/BkIyDHHvEWy14FBFLCyZbbdECCDlrcSQb0BK7ywzFQowPWO8+QDlEoRgrG+K+pIJwGU5ztIAd8NMuBshyJo/4e4DKBQTg44OiNGoL8okQEKJcABECIm2JEIwRp/CwjLs7MD5IejtSfd9nDeZGWZGmqCQqMtwT1TrS/DweRKkchCuXYbeA9BXgWYDe/teSGmguyXxclaYwc1RWPkO3WUYPg4vJ2BnGyr7oasTnozD4/GEMSPk3y6KRZiaEeOTcO4kXLoA+zphdQ2yDLZ+QRahuxtm5+DbGm5mxVxA+NEUt+4bV0bEYM1Y30wCHumDwROw/BXGXiTpKj2i3EUAmWJ0hWD2bALq8+Jo1VhZFeWyMXQKasfALDGenYNPn53TA0H9hzHJzSW3VgteTUDMoNGE/n5j+IxUKplJ+mschbbfsGRAFQ2MQiFS6gpsbBhnh6VaDQOzGNOfMQMzmXt7ACEIKLTD5K1WpkYj+d3dd3n+f2tPmKqSJmMeRbnHdipT8rwd9b1rUlL1D5CO+mEah6VfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

3Blue1Brown

发现导航 - 精选实用导航网站

RegExr: Learn, Build, & Test RegEx

发现导航 - 精选实用导航网站

火山引擎-云上增长新动力

发现导航 - 精选实用导航网站

私有化部署 Dify 并快速搭建 AI 应用_dify ai-CSDN博客

发现导航 - 精选实用导航网站

大模型知识库|大模型训练|开箱即用的企业大模型应用平台|智能体开发|53AI

发现导航 - 精选实用导航网站

完整视频 - HOTWIFE XXX - Hot Married MILF Visits a Stranger To Fuck Her Brains Out (Freya Parker) | Pornhub

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABhklEQVQ4jZXSP0iUcRgH8M/vvffULIQjU5SIWlys4bCg7YIKgpYKAonWiDBoqqkghIKIxohyazHStcIhiChoqAazhgYnMzVTDgk9r7tfw5ueUMs9PMMDz/f7/P2G+FBTljQHbxDChm/NbFYLjThVJ0/XFlyFHxSoskykg3aW+C21XXnJzVGzZT8X9XQbOurwgFPDDu51/RypJy+MffDovJ1dxDHTt6Elp3jgb5t3N2B/rzghvjJ0BKZviU8lanIJjF/0cVJ8DCMv9ffa10kLebsLkM9Rl2Zjh2Dkja9XvH0Nx/rNrXg+pXCSYLUilwghW5oQJMGzTyYmtW1zb9DgcVfH9XQ4cYjE+y8mZzavRD2q1d057doFFulmzsyyswNG7tLq/rDLo2LMCDnVGpTX2ME8C1Th8ywztJr6BtUaidSqQrtLJaU+vrNOJDpTVNzDLypKfRZWdLRREeID8uxihTIpkUAn6/99XEKNeWK20YZAlkAOrLJGPRsps/iPyupb4tgANK3WP/AcfVDZ7aoLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

简历模板_简历设计模板 - Canva可画

发现导航 - 精选实用导航网站

30tool-可能是最好的工具网

发现导航 - 精选实用导航网站

人形机器人

发现导航 - 精选实用导航网站

Meta 发布 3D Gen AI 模型:1 分钟内生成高质量 3D 内容 - IT之家

发现导航 - 精选实用导航网站

月之暗面 Kimi 浏览器插件上线:支持框选搜索、全文自动总结 - IT之家

发现导航 - 精选实用导航网站

MindPal - Build any internal AI tool in 5 minutes | Product Hunt

发现导航 - 精选实用导航网站

Free Essay Checker AI - Essay AI's free essay-checking tool to review your essay | Product Hunt

发现导航 - 精选实用导航网站

Validator - Research and validate you micro saas ideas fast as Cheetah | Product Hunt

发现导航 - 精选实用导航网站

iLovePDF | 为PDF爱好者提供的PDF文件在线处理工具

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACVklEQVQ4jY2TO2tUURSF19rn3puHOkFRRnzFQJzEScxEW7EQGxv9CWLUwspG1EKiRLBQFEsLQcVGUAvBRyNIsBC08ZEUvmGMMcGAISo6c+eesyySkRjiY8Opzt6LtTbfBgAIIOYpAZz9N19fBAAEVO4pbnOG3YCtovS2Rn+RT188BICRQmFl+upVM4HXAoxAqAsQAEZ61x9uYHQqMcJLiEikCmnV+32cmBq01hX3k0JH0+TV69vb03R4tgg/lDq2msX3KJkHaiAdJB+TSQpMIcvGGpubO5deuoIvd+6Uxw4d2dkJDQkkgRABUV9CuoqUAYhnXLlUkpEtzrmWapb5Wpwod/BQq759vfVygDsJPBNgRsNaSIEkAQiSQIokJakWQgDpVK26QKrlaP+a/Iljt4aBEoEQBYXnsGhLCMETIElIAsiZB0IQ4pgGwMcJWvoHViOKbr47f34XR0vFjaA9cMTCTMoIOP1SAQWApBp6SsCiRYT3gXGS5dJqMvH40WkCwGip2Bc7dwGSS6d34TAjQkwnC5UK5LNgJHNmNllNbzQ15fo4Y1blns4diXNnGmmF70FeEEHaNEGSzEKjmcukGshzle7Fx9suD1ZYJ4yAhrrb8ktc88nYcW8tSAKmEwC+ySyqSkOVWnagbfjFYJ2j2Zj+gmOkp3ggieysDzIP+AVm8Q8fbn+36p51T95MzKVxLvsGAO9Lxf3jG7v9500b9LG36+6zfH4BAFwD3Hx381vVm0Z6uy6M9XaPj7W3L6u7/OdwPZsAfioWl5e7Ojb/6RL/u/42/BOE6RCtuVZPJwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

百度Apollo-自动驾驶、智能汽车解决方案

发现导航 - 精选实用导航网站

腾讯兔小巢-免费便捷的用户意见反馈服务平台

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACKElEQVQ4jY2TTUhUYRSGn/PdO86MP5hZTY0SoqQVUgZJYOQ2iIJAJFdhi4oWES3aFZqLKGgTBC0jCqkMIgraRBESRkLkxiKSEiIi+zEVdcZ779tickbNwHf5cd6P9+ccWBFkkkxS/MsPHc3M6dxHKbEyLiAwgOdD6s6G0s9J3QaQup2/dHhru0qTFUQAn2ew1jrMHhJdPUtbbZW6YqZw8L27BdDX12WWZ7bLa6rkpnnsJSRjhjmHZbJQUQqXj7O2uQF35xnjHYfYwph9BXDz/G0JEgb7nGM1jg2ex/pMQMr3SfUcIdXcIPf4Fbp0l7LGA1TPZ5O38H0cpUqYVkSZg2hyGldeAj2dUJ+GC73GvX5cJBRP5iwCtjQDc+CmZmH/LtzpNkhXwtAI3H+BMgGUJWFiqpBv3sKaVTnPM1loqoWTB2FgGMIQttfBtVNQXgxjvzFF2LIKzCAbQFsrbFwHpQnwPAhC2Fkvu3HG6H0Kg2/h3V/Oog8kiMfg0Uuor8rJzwZQ5EMYmTZVY12HA28OX0UXQTqfl0L6mIpTjhHnkZrJEBbHsEjQ0ghXToA5JGFA4IwWM3styQoZfMIAEyiZwMfHw8d7MoQ38B7PwHeG54z4gvoX1FiDUhA4DxdmNWxmo54RC+fQg37YvRlJ+BLfnGMkl5lFhU3sVGJHgl9mjE7MsufDdRtbuubLIW8hXYQD3kQBHTlyoeLFQcuWewdkNZ3zJ/rfoX/wB6c+y9Xr8Id6AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Tabby - a terminal for a more modern age

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfUlEQVQ4jaVT3UtTcRh+fmfHzX2yrZofldGHwxAHMdRpeFN/QBdhEV3oRfdBZFBUHpBuhCgEiy6iukgy0YsIrypRwhnlRzOZNVJDOzm1tua2s+3s/N4uTJs56aLn6n3h9zzv7+F9XiAHEpGwUUuSgP8F5QhuBzG3GSOqiySoTVHTqSxplxljkwDwlEh3ijFtOxEGAGekrorOwQ8/BxWiIY3oeSwTe7aq3uiSYzvXH0p5fiRAkhgA2J0W+/i7kK33UX/mY2AuLYIsZot4xWg1jPTGM80AIDHGiYhtmQ4Aze0Pim1WVzcX9A3JhMJdpQ5eVeMmR7FTnxUEqJwPxNOptiaHdSCfAANA4h53a5W3oaXm+AkRBrMhHlvVqqrd/JCnDExfUEDgULh2f3hupuWuxxMBAF2uHb5r98ridCA1MfzCZLPZdbXHjlr3HSxGYaFeIK6pcjSKhZTiJbGw199xS4YkCZv8rONC+82LFT7f9cM19ea0qkKOxvApvMQToiDozQY1HU/6bh+pnADANq3xC1GlHNGuoUB3Wm8Evi7Ftal5GfOrMcHktAvp5TDNDU09nAylg78pJK77P3n1cfmQP/Sy2ldetPw9Q2PBBS0ohxlMRp1BFDPv+/qS/u4ny/HPs0HwqPonSJLEIEnkcll3DLyZLpqakTNkNgoriqqzOizZ+cBocrinK/ptMvAKRmunpEVGJcb4ljU2tt4rKynd35dhopeZjTwRWVT8/d3x0MjrcaTUO42Jxf6etTQyAJQ3jaYDntb6pktKXVPLD12p+y2MzvOoPWvbFLx8xI26ZK8Xqew5EFIwWDooHJpla9MEAPxvcl4QEcuJ6z+v8ReH4CD5bSHEzQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

XPage

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC2klEQVQ4jY1TTWhcZRQ99/vezHSS6WSm+RlNhf66SZVCA24MpSoustI0Dtq0qY1GYi0FF20plVIRUaggWCOBIOjCbEapRVu12mJwUfoDKTZk00UgRBLCzHuZTOfnTeZ73+kiSRsTBO/qcu853MvhHGBNkZTlTlZNZWkHWYv/j6ICgMMt7keHW7zP/g9BPlwmzY0XUwDQ27xwrC9V5ttPVNnbmD8FAFNTTD4+wPXfuK67K2Al+9vX5ZHucK5ypNUNjrS6Zn8ot3j7J3/UMD9161qhcTVHAKCnKdse0bH3oKvtZy837H7qaeBEh8vctKVZBNo6HDn3a1JuXjT4oq80FotFx32/OPyd13hDAYAxrHd06K1KgbsvvOMFEoEZGIzTL1Gicci7QxvhzVoz/P5CoDX3aITfhJIkACgAyORb/vJN4VZ9Q8hOjQf89kRBt3WEVPfJOvR+EkNqqyNDRwu6kAsQiSpbMd7EP7m/rwKAsySIWCF+ZBB6LpYU/vGNj+3tYRuuhzI14tLnFXv390WpSygi2KDIyqVRvGAAKmdFB1o7Q2UhigIIrgyWxQZgOCooekQ4oghyWTozCwBpQBwAFgBE6VdFAbUqsLERcvbnpJ2brKmGlKCUBz54KQ9aAVUAJc4rAL76HrAKEPYk5reIkpcNS7JYpuo7H7eJlKiRcyVePF/hjj0h6T5Zx+K8VVQlQmTvwZjbBsiSeUKOekZrbUrzqO07VGeeT0fU5S/LwcSo4ehIFXeuVIPXzkTVro5IUF7QVilV1VE8+8gMaVB3xsaaP+6aO0hDTk+Y2qEmj72prOnZlK0N7PRYzJK52Zr/evN054Ftk6l9+NNZ58R7PJ0M6F8Yu/5gbzoy/0P/kz77N/vscrxf7t8pH6gx/ykIvc6JK3kAZEVmHN/pxhcK+irB+mhCvzh8P557jANWY/8dK2Z0Jk0NAG80ZVv3J2a2AEAmQ51hRq/FPwSJI1dehpVmNwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

iOS 使用教程 — iKuuu VPN

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

登录

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Top iPhone Apps Ranking on 19 April | Similarweb

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACqElEQVQ4jV2SUYjUZRTFf+d+3/8/M2WYZTk1WUYlskhByxqKhRHYw7ZFrPsYSkhUlFEWVBD4GBGiySJGRERvQSW9GYRptBUMGWTQS1svsriTQunuzPz/33d72BGj83zvPefcc8QKBDhjO1a1r1t9+8IPx38F8CM8T8nrJNoYvwGfcJZDOsLAwQTZriyvu3fqzs61a0+05HcD9N9jJw1mcdbjBGAzBW8zxtd+mHsE2UEG+E0TM+2i0fxK0taNqxe/BSjEFA0ymQFCZDLL1DTZRskJn2W9wA2gJM9aUdzlni/2lmJjZOsijpHRyKQwApcZ0mIDcNRBdsv9048iezJXw0qy689XayYAepf4iCV6NChxahwBwihYIhGZ5CiTZsH3yAzHM2ZKqdjvoHVv8HudmQYWKSnI1P95txNxMrsNaSs54VDkVCcL8aHO+PQ7AMULnLp8iZ1kztIijpQAGBUADxjoNneXQALzVCeL8dVbJ3a9e+AAtuplzrDMIww5TWPEK0RCiI46W3Yt494EXJLc3R1SCEXMqfqynf96uts92fOD3MA1nCIyxoCMYWRqw/1PydxdDiBJgpBTVVkspxZs7fHt2yfX6BUu9Ae8SB7lYgDMm+OnMRPy7COs3CDmejiwotw232++5aDWS5xkSJdAwBDwjdW1f+g5pRX5V21IkouY6zojnnh4x4YG4Fn8QpNExQDjAzv/0+dz7vmYxTJIqt09CcDdcVyGO1re+M+NaVSwSIuAc0zP8aMBdm7xwv5cDT6zWJayEBzJV1KJZmUw5U/f73arZ8YpDB6nx/cs8eZo5io649PPEsNesm8CLxF9d//4jnjute/m5vpplqeCeIyavdrH31d69T/MhPZ9eVOIfnNKeX7hzBd/APgMgQfZrH38DDBi938BGLwydtX32EQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Website Traffic - Check & Analyze Any Website | Similaweb

发现导航 - 精选实用导航网站

Top Websites in the World - March 2024 Most Visited & Popular Rankings - Semrush

发现导航 - 精选实用导航网站

有道翻译_文本、文档、网页、在线即时翻译

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4UlEQVQ4jSXTy6tVVQDH8e9vrXX2Pvvktby+8lXUDWkiRg8bKAjSqKCRDePeECIaFzTIBklQDhrUMEt60CAciA4iSkxL7P0YRYH2IrES83ruPfecs/davwZ+/oePADyzY4GQnsftHVDAFrmI1dFs7kGyaLMZtWaxhREXmU4PafzXO/LMPQuEeBQyuBRk0Wa8oSfNDUzJMO1El824hVE2yyWw3JpJuyDf/MCfyFtxyVAiOZtBgPtuESVDm6FkyJ1pCwxHsDjOlCqx1P0ekLZgCigQo10Cvn1GbiogQK9nVxX0KhEDbL8L9u2ONC6sTtsSkiEIjFfGlBQVZvr2qBNVD0onXR1CXZsrf4uXDpuVMZw7K2bXODj2xHBEPrBf5cMjXA0Td5da6dkXYf8TMDR+5jn81vvitTfM3Hb49YJoaripp4ClSQgaffm9495dCg/uVLd9Du3bg099Cy+8DPfvRseP4Y0bxdZt4vIl069FlZRKKe4GDd2575R//MmDp+ZF08fnvgEMu3bAI/N4dBGdPwtHP4ClJdGvzRhStgkxElyYHDlG8/pBDPixp9Hdd+LrQ/TPNXAPb9qCYjJLiyJV4uLYwQRRrNTMuDv+sbwyYXrmC66cPEn31Q+E9evRkcPw5AE49AruV2K4hC9MYDErRIJjTKbtFDdtNP2ayatv0k2m/PvJp1x79HFWpktM99wLH52xTpyyP7+MrmTTC1a3Zm/OsvJwkfqzdymral3f+bC7qqdcJrST/8iMicib022KVd+KQURMKU4KUaGb2rOz6k6cpjt93gpJIUQowW5m5XbZdewrrVpnlynYxsWEgDz70B8mb+ty23WLV1OpknMdafNU2S05T92VqTYMNrkOFTfOOCMSlN8CxQel5BRSimvXFg0GCBEUCARLSeuaW13HBgMQTEgJYqGEg0HXTr1NZl6h/iVmES0HRYIS/diwttngpjcjA1K48YPwMyXP6/rX7/0PF06Fun4dhroAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

常用

发现导航 - 精选实用导航网站

Claude \ Anthropic

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACDUlEQVQ4jZ2ST0sbURRHz31JqDABQ90adyZu6idocCMUotBQcV3FbqSburGfQVuwn8Fu3FlrnGDtkJXdhVjQTApqsnBjiU5qhubPJHldiEOiFml/u3t597z3Lkc8r/FM6+4qyDj/lkOlZFlard/f/2P4JkfSatW7gPR2RQQRQWvt11prv+6JDt437LourusSiURQSuE4DoZhEA6Hb0NE3R5ut9usrr4nlZphff0jlUqFxcXXrKy8o91uI9J3H30ApRSlUhnTzFAul9nc/EQwGGR4eJh0Ok2pVEYp9XcAgGVZuG6NqakkJyen5PMHpFLPubqqYVnWnS36ABHBcaqYZoaxsTGWlt4wNPSYra3PjI8/IR6PY5oZHKfa9w0fEAgEyOVyHB0VGBkZwXVdotEo+/vfuLy8ZHo6SaFgk8vlCAQC/QARwfM8TDNDvd5gd/cLCwuvyOcPuLi4YG/vK5OTkxiGwc6Oied5/iuCN8s7Pj4hm80yMZFgfn4OAM/zWFv7wPZ2mtnZWRKJp2SzWU5PS8Rio3Q6nWsAgG3bRCIR5uZekkxOoXUHEcX5+U82NjY4OztjZuYFxeIPbNsmFhu93l2rVdc38jQaDQYHBwmFQmitERGazSa1Wg3DMAiFQlSrvxgYeORL5avcq2+vbQ9orRVwCKC1ptvt3vG9t3/PmaJSSt4ChTuGPBxbKVn+A+V/CrLvaunfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Mintlify - The modern standard for documentation

发现导航 - 精选实用导航网站

Models - Double, the AI Coding Copilot

发现导航 - 精选实用导航网站

火山写作

发现导航 - 精选实用导航网站

这是我们的故事|字节跳动:激发创造的旅程 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

🌟 Anime Wallpapers 4K - HD Anime Backgrounds for Desktop

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

大线索报道:看完抖音的创业故事,我明白了一个道理 - 知乎

发现导航 - 精选实用导航网站

TikTok内幕:张一鸣的巨浪征途

发现导航 - 精选实用导航网站

AI智谱清言

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jW2TT2icZRjE5/n2T0yKq0aJ0hqs2lTFapWCMZjQUlQiaFFUEFsESeKhiAcV6kFB1IN6ElosshBFPfVgG60o0kK8iM0xRRq0TWNqaRvTxP2S3ezu977Pz8MuasGBB57DwAwzjCQJ2A3MANGdGCPO/8KJkQicBkYlydpPWZLc5UlCIpkWllzHpqJOzUVJUl9vouGBPD3dZpKpjT0C5gEPkQycs+cjo+/VveOhFG2rUBxI6RhI0f2pl7anHPmxCYSWHZiVuxOCO8CxqYybhle8tL3CGwfWOHEyY60egcj0bxkP7616xwMVfp7OADw6WIjuucTs+FTkqdfWtP5G2SvPdapYTPTHJanelK4vSff0mW7f4BoaqTE8mNenb11lDhjgFxbdhsbWWFzGNm3sklkicPX2mJKc6fKy6+KSqfsa0+/na7rjFnH84y4zE3kJO3Ao05n5aFs2d2lgS6Knd7r67zZ1Fk0ylAXTzJz0wxR6t4w6O8wkJMmUrjp3PpNS2lGjPOHtbPyf2lrVRQDmLwYK/RVe/ajO4UnIQiSZu+A6dwnt2JbT6C7JHYUggQSmEJBjktDe9xu6tmTa2lfQ/kNoYUnKF/JSCNJtG1qOsoByiRQdmaR8vtX52580dfT7TOMfdmr9DYn+/MuVVk3KAn7f8ytserLqK9UrrYPzy2zg2X1VtLnCmwfXAOf1/fjgS85qDRfgRyab6N7UB0erXj7cYGKyyfjXDUbeqbFuqEL3zpTPv20AcPArvPcJfPyblpABSOiL74Je/qChdBGKJVl0lM+ZHn2woD2PFVQs5PTZUXHyDDayy7TvBWGSGTCLtNEU7dTZROUJ10/TolqXmSUqrWvlsloztvZhLz5ueqQ/SOSE7JwBuyV92dqGS0p0uSL9Oi8tLEuNJrruaumuW0039/zLaWNM7TmPAadjJMbo/t8QrzxiaM15pi2svwHcLD+MVIJbdgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

寻一款开源在线相册软件 - 问题求助❓ - 小众软件官方论坛

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACJElEQVQ4jV2Tv2tVWRSFv7XvfS/xPpMMDIyoRWIhgzMZjA9MgiAW2ihiaxETsRkG5m+awh/gFFaWFnYDIjLRJiNYWdupL+S9vLuXxbkvhjlwqnP2t/Za+xzxx94q9dxD0CXcmrQQAqgENiSzJSOMKoF3mY7vB1XvMfX8kJwaJIQiBKOWe5cXuDs8CaOWCMApLJFTU88Pqeongao1DvcTKXAKZNuA+P3qEg+uLAJgBApDCilKTX2xxplAAMagQB4nP6/Msb48z6Q1y2fn+PjpEPVDtkzhB84MbBUJgZDCMDHb6wvUlWj6wdblBRgniu6iSgm2AiFsutbIQ2iWarY2FrGNDVsbC/QGVYmJWRYGdcxCNJUMBy23fm1Y+bFHJtjml9N9rl9o4CCJ6EbTdRFdK4BIBBLbm506prWxxc7GIhg8E7SPAQBJeJycO9PnxoWmHAZUIZC5udpw6qcenuSR+jGAiTCMkzu/DWj6QZswe1Ftwg9Nxe3VAYyTKvx/gEgLQgxX5o/any13WQyX54qHMrEOUKaPOofTtiR/rL48ERdQp1f4xoHkWYgQfrG3X5IGpm0BIhEhXvy3D1XYLnJIDhSByMyUGunZ66/++81nenV835X465/PPP93ZJ2QMlNlaBHizw+79Jo1JqMSb1rYbG8ucu38CQy8fL/P01dfoCeQDDb9QXA4eqfynfuPINbItvNiMUqQj0wzqDhyHpUg3zKd7HwD5ZsKj1FuVYsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Shell是什么?1分钟理解Shell的概念!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4jV2TzYtcVRDFf3XvfR89Pd1oZoYkaBKURCcaJaCLQCALEdGF/0EQNAiBQATJQnQliIuAC3HjOpu4NhDE5A8IiCFDskt0jF8ziuPHTE9/vPfuPS5et0xbq3urOFXUOads7fkjT/i8/DTJXjUUmIWZMR9Cmj6scaavYjV+J1hWfr7o3Ss7TUpzQOcgJTRLe9/mJRnyi969vp2Vhd194emEkRAOMHNOSpE42DXXKbGiBAmNRrLgwQdD0gwTwGjBMnNOsarM8oKlN87RP/MS+aHDECPj7+7bxicf02xuyLLMpgMJIDDMMMW6Mt/vc/jyZ/ROnQagGezgfKB88ihbV69Q/fSj+TwXyJAUMDMEyTDVNQcvfUDv1GkmD9f55fJHjNZuY97TeeYE1a8/47IMJJvxZXdfXBVAmowpjq1y7IsvAfjhwjn+uXmd8OgSpESqJri8wEIACaZchxnjaVLROf4sLssYr3/PcO02YWkFm9Z9nreqSHMKu6nooIRf6CKJNBoiCbTXBXs//L+BMO9p/tzCzCgOHSFbXiENB60fANUVirGdvqdZW00JK0uGd76l/vsvfK/HgXffI+xbJg2HpGpCWNmP7/dRjP/tD9AaCcycVzPYtqWzb/H4+x8CUG1uMLx3B9fpsvDcSR5efJvBN7fw3a7QTEYMDEnJQndRW1evWNrdZfnsm5RPrfLIy68BMHpwn/qP33FZmIKnBpqzsrUbxt0B1utbfvAxfHeBZmeH5rdNUdfg/byVBTf6s2OSkJm5Xh/Fhsn6A0gC57AQzLynlQf1vPPbTfraqR6fH8R0TVicXRspyczhihLX6eCKAnNOUzDC4iCma6rH5/8F5tA3xipPqRgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

HyperText Transfer Protocol (HTTP) explained

发现导航 - 精选实用导航网站

Python | Program to implement simple FLAMES game - GeeksforGeeks

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

‌⁣⁢​⁡⁡​​⁢⁢‍‌⁢‍⁣⁣⁢​​⁣‌⁢‍‌⁢⁢‬⁢⁤⁢⁡​⁡⁤⁤⁡⁣⁢⁤⁣‍⁤​⁡‍⁣⁡‍字节范典型案例 - 飞书云文档

发现导航 - 精选实用导航网站

AI Is Turning into Something Totally New | Mustafa Suleyman | TED - YouTube

发现导航 - 精选实用导航网站

Y Combinator

发现导航 - 精选实用导航网站

Perplexity AI becomes a unicorn

发现导航 - 精选实用导航网站

MySQL - LOAD DATA LOCAL INFILE将数据导入表中-CSDN博客

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

墨天轮数据社区 - 乐知乐享,同心共济

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACyklEQVQ4jSXOzW9UZRQH4HPe996Zuf2wHbG09gMw5aOgDrRoCogGFpAIYWl0YwgBlBBilBAgBMIKDCtJgAUhxhA0MbAxgQRTU5AU0czAVKyttp2ZDq0DLZ2WInRg7r3n/Fjw/AUPqyozE5EomMgYvjkYnLhcfhbQznWRj1dHRJWIrDFEBMAwMwBVWEPGUDIbnOryZ0oUhjjf449M+tYYa4xCCcTMrKoAjOHCNL65Wr4+EFrL1TEKVSts5Ucb0xm/+6sVn9d58ZcXo4BhKkzJ3h9K3f3hp2sjO9a5ROSH2NJh47Uz3w1c+fLGsannM8SkAImID3zxoyYO/H/5ThkAoP8Uwt68Lyqiwbm+i83ffnDk1kkAoYQEoJTL/Xrlr66/QwAiGoQCAEAo8jK8r+fE0gubUuN9AOz+Za2lrw/Pu3VxkfeY2lczk7VGFCpwrFEA0N/H7/ZNDd28f8dzPJ7Y0EmBL2BSnXP2QmTpW9ls9t/BISgWLmptW7Kkvzi89ZcDbEyoErURh6MxLT+3jgvXcTxvYvpRT89vCjDz+MOJmsqaWE1MNRRVkHFca6r3HrKvzcXsbOUnW2lB65+plB8E777T/t6aTgIl06n50YZdHbuqKpobqxoOrtzpxNZvJMd5tGebyzxSuD82OtpQX9/2ZsI1lL83OpzJZUbGPovnNy9b4LVsf7WizoFIZNVab9X7T5886esfYOMkEu3ubBIiy1es9Kobm+mSf/tgU9MmqtgvKiwibAxPPkwPDd8eHGp9Y/H6eT9L7jgRTMtuY13NnjTxt7mjS516gjpERMB01Bv8rxCLVCUWejxyGlC2Ec2fESHb+OGD2qNadJsaADIGADPnM5mpYrGtbXHd6/MDqmIi0gDRuNv503TL91dv5O6m/2A2zEQioqqTk8VkMlWafapAWDjvX6v1u18Jx84p4JfLvb3pXC6vUFV9AQr9oMOJNcy4AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

mysqlimport是MySQL数据库中的一个命令行工具,用于将数据从外部文件导入到MySQL数据库中的表中-CSDN博客

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

How I Won Singapore’s GPT-4 Prompt Engineering Competition | by Sheila Teo | Towards Data Science

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAM5JREFUOI3NUaESRVAQ3bvubJMoPsCQFEkUJNVP+DPBqIoiKRRNlCSqsq4XzBjvlee95KSd3T1n9pwFeDCEEGeNiGdHCHEdaR80XdcBgJm/a9u2XZblsizDMKRpCgBRFFVV5TiO67qmab5xiKht2/2COI7rut73PcuyoijCMDykJSIqpYIg8H2fmRGRmaWUSZJYlrVtm+d567oahnF4w1+zQaUUADRN03WdlBIRiQgR8zyfpknTtL7vx3Gc5xkAjuW/TF9jJaJbx9183APxAkMeYSPGQDyBAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

真实案例:程序员技术最大化变现路径 - 知乎

发现导航 - 精选实用导航网站

Jeff Bezos: Amazon and Blue Origin | Lex Fridman Podcast #405 - YouTube

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABx0lEQVQ4jZ2TQWtTQRDHfzO7yUsNKSG0heJJ0YKnCvVSkHrV7+BBeu7Vk9+lH8CLN6EXk4Lo1V48lGClFBELGmmSmr73djy8fS8vll4c+LO7s7OzM///LhQmBmrg+uDtZrgIBQQAKyf/YQbiBexFt9t9niSP7ji3umrW7og0UfWL0ZaOzGYjmBxn2c/BdPpJxuNz+vDwFxxnqmaqZs4V8L5AuS6haqmqXcDpO3jCEN4YmEFmkMcxrSCSGqSh8GcGIY52Am91Ce5HJ5EYBRwbG45222HmUHVS+DX2DhASuKu3oAeolGSqCiDs7gqHh8L2thCCxOQSbxFAO9BToClzNQSJokwmsLUFgwHs78P6eklnlQho6c0axUKbTVhZgUYjHpeqCwE8kMWFxYNF9uVlGA5hbw8ODuqJzajqnPENPtfYDxU2N4OtrRVzkVDfC0V8/h2G/g98AR7ESkJF8tFRcYdzkOf15iRW6y/hlD48voCz+BbmELFrvhrG8OMjPBOAV3D7qXM791R73Var00qSJRoNTyifB5Dn+eVsNv19dTX+mmWj93n+4SWciM1LKkmqy7RoImFBqPqPfH39K7t/4A18f74nAH8Bjm35s3ZkOjEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Wallpaper Pack - Sleek, Simple and Clean HD Phone Wallpaper

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

High-Res Preppy Space Pattern Wallpaper: Zoom and Enjoy

发现导航 - 精选实用导航网站

Classic Nokia Lockscreen Interface Wallpaper for Phone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Classic VHS T-120 Video Cassette iPhone Wallpaper - Retro Tech Chic

发现导航 - 精选实用导航网站

wallpaper

发现导航 - 精选实用导航网站

Todo

发现导航 - 精选实用导航网站

小云搜索 - 阿里云盘夸克网盘搜索神器 蓝奏云搜索| 网盘搜索引擎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABE0lEQVQ4jWNgGM7gPyPD//+MVDILalDDfyZ0KRYUXsN/JoYGxn8MDf+ZNAUfazEw/uX5+I790jNGxm8QecZ/6AZgdaLR5CdObOxMkj/+/Of8+/evHDcH0/Nfv/8J/vzz/9bVPLm1DAyM/zEMkOl7zCnOzezOwvT/6+dfrMevZYt9YWBgYDCc91xUiIFB9DfDv8/vv/93ZvjPyH05R3oqA8N/RiSD/jPqT3mobTP7uYPtvNuiEOc2MGHzs87kJxk6kx65wfQRGcqwQGxklOFLZhdmZ8j/w84w62qK7DvUQPz/n5GBEeE/pKCCiDX8Z3jCwPhdavqTK+z/WfgZGBjQDMCqGdOgbz9/nWZnkn5HnOuHPwAA6T5kFPG+MYgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

喵狸盘搜 - 云盘资源搜索

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACQElEQVQ4jX2TP0xTYRTFf/fx+g9pCQYINSIEkxoT2N1YjCaIOrurY0OMcXRxcjEKLg4yubvAwuSKmyE11BghIv+kUmjfa1/73vddh7aQSPFOX27OObnfPecK55SqSqlEH8DgIJ6IaDec/NvYrug1V3giDjOqZNvtXZRlR3k1lJFv5wr8rmlelZcoyYZRahHEBPriJ7BAlWcjaVk4I7BX1bwIr6uhysqWpXiseDWl7hmu9Av3cj1cvegCqFXy2bS8PRH4VdFczOFLNdTk4rrlOARVOD6MsBbqYUQlaPJ8Os31IReFwHGZGk7Kdwcg1sMckFzZOiV7FYO1renqoSGIlIXPHkYVgaSGzAE4qiqq3GkYpXisRJFSPTKEzdbSjVX8ZgTAj6OQ9VLrjcOMqoqzCykHLvkhHJYtlbIhilpkBf7UGti2gZGFnapp+8wokHCyrYmJO2BC5XJGeDDpYlU58ALqoenkgoa1ZBLS2b5uAg4QIGz1xYWxfmGjHJFJKLcnYDRz6rJnLOm4MDUc7/j3cxwajoiowBLA3ZxDyQ948anKYd0ym0uQcIVaZAiMZXosSW9MOl9YanNhP9AJDGsovV8PQuZXffY9S2QV3xgSLtzPpfhYrPP0RpqbE6kaPUyOpGTjNEi+PhLlHSCRVYqliB3P0J9sjZ1yhdXtBh/Wanb+1sDjkYy8PxPlPV8forwR6O12OAi+QH74gix2vQWAcl3Hm4Y8MAuMtUGb1rKshvnsgGx2Fe9WhYLGCwWN/w/zF2tGKASRR1acAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

我的小站-云盘资源共享站

发现导航 - 精选实用导航网站

地址发布页,收藏我回家不迷路!

发现导航 - 精选实用导航网站

云铺子 - 百度网盘搜索引擎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jYWSQWhbdRzHP7+X9/Ly0vdM0jQ10xJSRQyoE10coxS2oeJF8LJLDx56d7AiOsRLbp7EntxEZRdhB3MZIioIm4oYcWoPYqvrWMY2m7VJ99K+JC/pe/+/B6F0c2Wf2w9+ny98f/yE+zDyD1dlLHVUi1RAh/7IWo3FunDA+bp5767sHfTVx6qxZZzRCaoqmYSUTSg2PfFQGhDqiLkwlf7q5v8Cou+nT5A3zg9FzO1IuBPDhoah45DwPDK2SWhN8pN6ttVRmePvTZxc2Q3Q35QrytS/DLpJ13c0PVtWgiSLYZKf+4XxlErIixrjVKOfm1h3Z8g5btMy1HO13IJvAuhYnyE03FTLIlEa1ZOy8/qh2Wa4p13jy2svfHq9l7n4++bVykzp8XLKzr0LvCW6Xq4oUy9Lx0a2rFWyvWdk/i55l+y5c2Wl4mXLNVJm5Qn/9mZUMJRSr/APyJYFsLifDODPzzclGH2209cIZB8et6qG8aEuG2c1/KGhr3/cT95lEF2WYISOYgSeNOkAWkNbQcd4oI9SEb0RY4EwkS9goOW/5xjEcF0femCAyBFCm5LzKHlj7C8DFX8HMGwGsCOn9LFj5n7ueO3jKR3YJ3KTj2C7TjBwdpYM+fPWUvdGp7H59xrBRvtpNtY/uF+I9+ZHE9FIn0cns8XKNKA/uTQ9HZoAYbe/APwQrG+YVvqhN660X6r+9tRr70vMZb/YvXn8Ui2yverpoZufjZMZbpg27W58AcAAKEJDYC7Qk9HS2kHCKH1EI5+rhFzLtjJTAG2ef8fdTtdTA8Wd7SStoftFoaFnd89+AOorzL28HpZWb1+5xWCrf3eHmkRrUphz+vFisTeklIdimrZwDxepmQH+qxqOjuW9Kc/zTh5uvt3au1M+6592ZjK/Lh+Ub/8Fi4EgXsA+nT0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

百度网盘搜索,阿里云网盘搜索导航,网盘链接提取码或密码查询 - SOSO云盘搜索导航

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACS0lEQVQ4jZ2TTUhUcRTFf/fNvEnUNLXUCkOtNF24EUwhqSioiKBo0aaFrtq0sahWLWoRWBCUi2rTKsK+KINImKAQWqSoJYIbP6IGs4+Z8eM933vjvHdbmMhkRvSHs/hzzj1cOOcSjUbzLcvqdF3X8zxP/wWu63qWZXVGo9F8sSyrMxwOn+A/XjqdfiCO43giEvkfA1VNhUEiqpnEQgAvPxoMxw0iIWje5LOzVP9gIRFxHCeDUYXrfTD4TSjLE+YXIOEqJ2uVAxUrLQzVxaElTCQDukccGjekuNLsc22PTz4ed/tcVJXf9QYoS9BkEvvtO/JGh6lcmwbANKDE9IglUgz9EFL+sh4Use15Bege83n43uHik/Nsno4xvaOO+bMX+K5Z3BwU3MAAoCALzjXA9oLFv9i2reMJn5aueaqLDK6WjLJmoBf7/iPulB2ma3cLhTkhTjdkYRrQ0euRbSqdx3MIGUJYFd6Mu0wmbG4dKmRdSR001DHWM8DryiZsx+XGwQKatoQA+JyE9h6L8UQW24rChFUVQ33isy6fkilqik28dEBbVSuDUsztvTk0lpksRb2v0mRkymRjrqCqyNycpXHbp74jRipQjtbm8OGLx9DUApf2F3CmOT8jtrgDryaUY9VCJCQYqkphtsHz1lJqtuZyL+bz1TRpP7Ketl15K2IbmfK4/GKSuO0vbjAzM5tR5SBQREBE/lZhRARVTRm+n366WBD9RSyLVsMS7/vpZ6H6+vpoeXl5hYhUiUho9dPJ2CAVBP7j/v7+Uz8Bm4xsvDLO8vAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

云盘资源搜索

发现导航 - 精选实用导航网站

《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibili

发现导航 - 精选实用导航网站

Open WebUI

发现导航 - 精选实用导航网站

AI工具集导航 | 500+ AI工具导航大全,国内外AI工具集合网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACPklEQVQ4jbWSO2hTYRTHz/lu7v3uK83LkIIkrTpEVBAXV9tBHMTHEkWhEHDQoYhFobTYekuHDgYLog5SKII4xMVFEBxaEFwURKoBsbUFCZi+Yl73kdx7j4NG+9DNnunAOed3Xn+AnTICQgLCtr9jjbaRCQgRkObvF5NlW7y93lTVNdMZujge+9iObcxn25DGT+iKKd4Sefy8TdqpZVu6Z/RQYKxnVtiaHthUaxBDA30AgLIt+GUCKFoAJYuZE7PobpmcNq3QHi+bXZTTnd1KtFUTWiJOlBwuJyXrcTrGzs5XqfHhU2Vk8mnSAiAEQGK/OwPS8NXaub2x3XMB31lsCMJ0YcEaGJ+U+o4mnEFV1q9E1OD1rj2R53cGSIFft8A26WZ/9ZKmaFMcXRDBhniwA8CrvWcOHj+UsF40SDvy5bttVSmqFmvWDDjKaeMBNBgA0ug180JYU6ZUZrsK2q2gRD56ZSeha4dDevOZ0/JGA+hVdElUvWbF0mWlt4bmXQAkvNH3TdsV15YishgSwKGQLEmy0ALOPAhAq56MxvX1yvKg7VkvIRB/XayjXLI5rJjWZ2nuzQGWCifcGPdXE0EupiIdkozmI47OGc7cUlckrEc4QQdH4dhQ9zvbLp/kgr/EmVsBn0aN2V4XAQCejKwdjOqhfvTqCyeGwzkAgLe51f1Rnfc3m/Wv6c5XubFCgQzD8KezM3JTSvHLD/dV/inPfIa2Cab9rQ2a/aNiAkLDILaxkIgwnyEhn8n/Ffbf7AeJCvhL+7aUVQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

AI科普在飞书:一众知识付费内容的免费源头找到了!-今日头条

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACk0lEQVQ4jYWUzWucVRTGf+d9Z5JJZsYwpE3RpllYxapQMK1IXSpVqCKKiCvpoiBIF/4BhSy6Ef8BF9WuYnHVhf2giIW2SXXZrSmllCkRU43Nx8xk3o97z+PinWC76oHDfS4X7rnn3ud3kdSRtCgplxQlRblLkstdT+lqLco9V4yL6m52UFFckCSVZVAIUSG4YtxNKUZptI2PKgRV0ZNftCAJwIAEEFUYT4QAuXCHLDeK3OkPFLMsNf/5slteoOGO2XAo9Xpm648hBpHlxmAA6+uVHg5FUUBRwPg4uMt06LAjQSiNLBeNcePVQ2L1TyPLYGwcPvkINjbEZNNIa6I5Yfx6XWxtU6MzZTjo69PYzF7TpSvY6a+MhbNw5w58+jEsnIGlZaP7ULx/3EgSce0Xw4wa0YWE/bFibGzKBjtV+0UOk024/Rss34aXDkJRGu22+OZbw10kCQlmRlEYBw7A668Ze/ZAfwDdh7C9BZ9/BmWAG7fgrzX48Sfj3Xfg2FtGf2A1yhL2vwD37sHqKrzyMszNwpen4N/H0GrBo0fVOP9GdaKyhBjBoEaei4MvwpF5o9UUH5wwrl6DuTlYuQv378N7xyHL4O9/oNcTW9vG8u+i1SKh3TZuLhnnfhCzs8Z358SZharnfh/az1X65hIa9OHWsunDE7D/eSNGM735tuMOJ7+onvH780aaiqPzRppCrw+bm7C2JvbtMx48ENPT1SUOdjAdPRap141QgiUwMwONMSN45YlmE1pNMTVlqtex6WlprG7WakkTE1hYuau00Yg0J41GI6FeF0kCaWokyVNu3rW4PzGnJ13UCJA4AsYrVv6HaReuEFwhRJVlxVNRXEDdbkcxLso9l/uzca4yH30Bnf8A/anw+G86KOcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Coze: Next-Gen AI Chatbot Developing Platform

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAptJREFUOI1lk09rnFUUxn/Pve8748xk0mbMFBMXSolFLfgdJKTGNlXSVhR34sKFuFCp0JXtVxDcKMF+C/+AiqAo1YV/aI0uSoQukkXNJE1mksl77+PinQji8sK55zzPOb9HFy5tvhVj44bz0QnbAgArBBHC5GXIGWwMIMkK5U5K4/e1cnlzL6jo5FxliQAmBDEamYODDEDZEJ12wAbbgHIIRciu9gtBJ+fK4ACyLXZ2k545Gzlzpo2Auxtjfv6lotmMDkGAQ86VJTrFRJZqqdZ4nHnzjS6rL3SIceIB89kXQz74cFeWUG1UNj52SYzBe3uZK6strqx2AVFVpqpMSrB8rsPrr02xP8yEEAxGEkGqp6eU1WnD+eUpcjbHu4hRSCZn8/y5NvOPiPE4SQI7K9hGgpRhbi7Qmwn/+VgX1jpbLfH4YwU2BAnb9dYlMRhk9vczMQowR1WenM/EWDcFsbObuf93IntiofaauXj+IV55aZqyFD/+NOT6jS1qFsS33+1z+/YISby40uXVl6coy1pZUSXRO5m5+vZJiiJgm/5sQX+25Pc/DklH5v52YmGhQUpmabHN0mKbjb+2uLOeiU+efff66ADW/zykWYr5+ZKHewWnTzdYu7nDp58/4LmlKZ5YaJIS/PrbIR+vDbizniii0MqlzSxZg4H96HzWJx/N0WgGQk3GhAORDUHwzntbfH8ruT8bZePimPVeL2j3AazdHDAcZZ5+qsGF5WkAfrg15Muvh5zqF9zdMKf6QfWphS5e3rQngEPwaJRIyep2zeKzTTrtyFffHHDvnilL3GpFJAuwJP0vTBJIUFUwHCZyNu12pNnUcSKx+TdMweYaCtuSsHHOOCUIAaanIzMzBWVZY50ztrEkUNi2ufYPQaVaNw1406cAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Cici - 你的 AI 助手

发现导航 - 精选实用导航网站

WayToAGI

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACiklEQVQ4jX2TzWucVRSHn3PvnXnnnZnMhxPT2HYaRTTZWCwIXRRroCi0LmyRgLgRQeyiCu7cidBlQcRm50balSv9E7JVC1JCIYik1abBmDQwaSYz896P4yI4aSHk7s6B53d+5+PCEU9BFOwzua8xukD5/1iOgI1AAtAr9Sk0v0S0bwFzqBo2N96WX9hxR8F6hSn0+S8I5mNynabmIS9Q66PM0OYwgTF8uX2RWL5JPb3M5BNoD0Kqq0pDjFbs7iDgAdyh8Huda6j7jheGhlM9nyaweiy3ZjpHOhVJpZJo2EuweSBwAD/3CcYtcmo30u0HP505N9fCtyq6FjK2vEp/kPBBZexgDL/ffIOifJPubmSmjz9Zt/ZMi/uhyt2eZSs4eWBe0UfalVERBRbHDlTncRTZt3SKinZ3Q5ysWHumJcuDCb0zNKymWflJP9IVfzbVnkykLAz2BcbV2513Qc5xYiekuljzWou/Q55+HRr5LV7gh/Clnlib1M/Wy66z7WtbvqqLgNnvAIjuQ5peaQbVbp2ikevvfSPL8Szfh6/03EpLPr9j7Mx6uu0K88H5+2wAOAHVizSIvElzSMqw9niV1ZGTh6EpP+qn6dVHdb38R6l4bOLV6zfsrac3ZwDIG7NYjlEtoGZJ1TIbPumKvq7/+rl46WHZ+pgWr98o35qfV7ewoOPz3h+ilo6TKdgYyMtm5Kz29gx/6qw2djLTflwU/Si3FRVZIoGkZx1EyXEYnJZMzViTWeudtdvlKTsVKjYvZO9epf+XIPo0fODA8A+eVZQRICGqxAiiUUqjZC2yvpm3R4f9GwcgP28t6WlOUyeuNQdysrmqk7xIKbsrvd47srw9SkvfvDQ8TOA/VtwsjpTB5CEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

The Top 100 Gen AI Consumer Apps | Andreessen Horowitz

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbElEQVQ4jXWTP4hcZRTFf+e+NzNvN5kkaJMVo0QDoiwbMEkRsVAIiAHFSixWSCeCfxIJptMYBAujAQsbsdVG6wUtsqCVkIDYKAspDEiMMZkk7u5k5n33WMyss40Xvu8299xzL/ccnYU49QlnI3hjPGa3BcDkn+X/Dd09z3tNjw/uDrGN0QxkM2vnKUBgTzJAPTanxkNyCq5mpWirCM9m2Q4GiDR7PCkIacajCNvTbhF4G9ievQiRCBnJqrAqudhlPSc8CbmZkJNdrAAF0mSoSBNGotj5T5HvFFcLxzT//BdYFXZNc/Qc2rEf3zPeSDxMXMCCUGBaW/0Dmjv6tjtPvCz199F97AVwMPfMZ3QXX6Xcukr1wCG6SyfoHHgR7XgQCujGR1g7H2HnS99S/vqZzsNP017/BdoR46s/0jz5Ju2fl4GK0ZUVuvufpXdwmTtfHae9skLkEDqPHidv/8bg8xOsf/8uqIJMmoPLrK+eYfDlK1S791JurNH+cZmNix8yXlsh5kR15jnedxZ6S6+r3tO4OfKWoEB0yZtr1AtHqO9foLrvcWJ+L/NPnfa9X7+R2ptmeIuaDirXLrF58aS7i8tqf191e+2S1O0zWvua7uJr1A8dZmP1HWLXPm9Gql445HL9J+UA9PfHFIRyiFRwgqLGNqIGjyanjB52IsokR4OjwrVNyGQ0W7eVsRXCmamYr5BsJ5JsKTA2mU4TdYgBsMuZ6ZmUbU8V67LlCWOwizBFQhKD6IgL/YZABJ7o7T8vTeW6zR9gUiL6DdERF6red/xw+BhRVyxl0mzzH1OW7WEBnQ63Ry3nPz3NuX8BMjctuhbqzw4AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Kimi.ai - 帮你看更大的世界

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACCElEQVQ4jYWTMU8bQRCFv9lbG2NkkFzEEpIjpUv4J5ShoKCAdGkoIgHyj0AKRRo6SiLxAyJRpqV2ESIr4uKYAjchyDmdvPtS3B1cSJS8Zme1b2dm3+yDAtvAEPgJBCACKtd6HLBkBjYEdsq77NRI4S+XHsf1/TbAZ0Bmlrdareicq5MEqLW4qNZCM9JoR15sRDpP8+LMLnHOzYC4vr4e0zSNg8EgAvLeC4h7e3tx/G2iN69fiWcb0b2TePm+LOJmzswWAFZWVuj3+7a6umpmphgj3W7XDg4OrNd7wofzc5F/N32diPRj+XoteEkGEEJAkrIsQ5JJYnNzk16vx9HREZ++TMySqfT2Ocx/VAnMm5kBmBlmRrfbpd/v02632d3dJU1TTk9PC3rIDXLASnmAJEkiELe2tqIkhRBUx3w+1+3trQ4PDwtRzerTiL6aZYwRgKurK0ajEUmS4Jzj4uKCtbU19vf3OT4+ZjQaYWZIRQe+7IcQAgBnZ2cMBgOcc/eJT05OiDGyvLxMxa/gVaUCJOG9LyUpqjjnaDabVTJVvArOzFRqgZlZkiQ1hYoOvPc453DO3Qte1XSScoC7uztubm40nU4FmCTK7nR9fc14PCbLsofSBTKAS0BJkuSdTid67//4yo1GQ0tLS9EeJlB+ZS4rJ/7LMI/jUNv/5sghMPuvnQvLDysn/gK2LDHPFYe+SAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

万知: 你的个人AI工作站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC7UlEQVQ4jV2TS2jcZRTFf+f7/o95Z4bEhCQtilBqhVKoWFEIaOnGRXEjFJGuFJUiWdiFSN2rIG4E3RYLEh91IQoqPlaKRQUVfFWUgiY1EweTTGam/9d3XSRK9a7u4nDu5TzE/2Z6ev6Q9+5+iduBGTBAfwKXyjK8NRhc/eF6vK7b3czM/LL3ehDURcrAqj2IN7NU2CZwYX197UV2mfF7JPHc3MILkntI3lU45VQmQhBmAqFIOXKpBY63Wu0bR6PhR4B5gNnZhSckHpH3g2onl2WF9/XUK/ZOkXeSc9XWWCqCqRZNMO5oNtthNBp+pl5v7nCS+NfwPq62JmX77gONGx69p5semk2UeAdgeRWy7/v5xksfbw4//XnsO/WIKhR5Xp3ync7UWXl3Vxjl4/qRfY2b3zyz2Dpya10971yj5l2r7qPplm/ecrDWuvdAc/u97yZVf7tQHPecsEjSMZwKsiKeeuxEN3Rv8qvn394ePPPO1q5MuypNP33f1PTpk53Ow8e7/eVXBr6RVs50zIH2W2nQSOIwOxvtWGpbK19N8stXQtnfpOxvkl/+NWytfDHZCbHZvoVYtSi2gJmxPwLzkjyYsiKWqUVy7nS38n5ow5EBuM5hJU+eao9dT5NvV0tlhVOr4QEfAX9IHETkOTWVwcHSnWm8tJRayHbd9iklTYpvLhX5+Q8yteqRQkgMrkRgX5q5owQrJknbmVuUfv+p0o+/BJyQBNcK0+dfF7z6bsZg01GLzYI1gUuamZk/6iP/IVnminPLidXrLn75Qsbq1YD3CBNVMMbXoN0QcWyEIESoyuyE9oL0vHPurJXhL8YjT5o60mQ3rQZI4JwIVcAoJfXMwrPr62tPCXBAMje3+Lqkk+aUYVZguP90xawCIkm1EOxiv7/6AFD5vVKUo9HwYrPZFsZtgg5mkRnC8IJEUgoam4Xn+v21ZaD8twt7l6rRaPhJo9F6X0JmdCUaEhXwmxlvmPH4xsbaChD+eexvvWFS9eInlokAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

AI

发现导航 - 精选实用导航网站

吾爱破解 - LCG - LSG|安卓破解|病毒分析|www.52pojie.cn

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC1klEQVQ4jQXBy0tUURwA4HN+59yH470zcxkFx8eoJCPooKLLwhqqRbUIJAgiV4HQwm3QTvoXahGuRHGnOC5cyFj0AKUgMgysyMcMMzh10e6VuXNf59H34cuVldbqKsnlhG1LzsE02ekp6Drp6eHn57xeJ4ODGAAsi9dqxtwcma/Xo709GUUoiqL9fePxY0xpsL0dffqk377dduMGGAYiBEzTW16GdJo8v3eP12rWq1ciiqwXL6QQpKtLeh47ORGO0z4zQ4eGhJTB2hr/+1fJ5yE+PVXGxmQUxd++hXt70nHYr1/B27dgGCSfh2zWf/eOWlbb3bs4mRS2TZ5NTupXrwrP08bH6ciIt76uTkwI28aU6rduyYsLms2CacowlK6LNQ2wEM3FRazrSFXDclkdHaX9/fHv3+H377xaRQDBzk5QLmNF8T9+pAMDAP398dFRUCr5pRLJ5TBA9PmzOjwMigKWJVstVq/jTAYyGQAQ5+e4cf9+sL0tgoCYJh0YCA8OEEK0owMxJnxfLxZJV5e4uAjev5eel3jwACCVEkFgPnmiTk2xajX59Knx6JH0fSQlzeV4rcaOjyGd1qanBWM4nabxwYF+/Xr77KxoNKKTE21ykh0fY1VtLi21zcwkHj7kjQZJpaL9fX9rS3oekN5e2t0dfPiALQu5bvP1a27bvFIBw6BXrmBKsao2NzeVqanEnTvx169Au7ul57UVi/zsTJ2Y0ItF6Tjh7i7WNDI4yP79E64LmobiOD48VEZHQbguVlWSzUrXlYxBJqPfvEnyedFs+hsbeqEAiYR+7Ro7OoorFYQxxD9/Qk+P8H3a1yfDUDgOAkCMIQBlePjy5UucTCKEkK4jjIXjUCRlUC5HX75gIUSzKTlHnMc/fkAqxet1Vq0ihITjIIwlY9DZiVtv3jgLC0o+L2xbtlrQ2yuDQPz5Q/v6WKWCLUucneFkUikUUBwn5+f/A3gvfAEHLK4lAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小众软件 - 分享免费、小巧、实用、有趣、绿色的软件

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACHElEQVQ4jS3OTWtcdRiG8et+zn/OnJkkpNGQ1Jiiu/iWoPhS6kIHwYIFXbhx5wco+KXcuBfBvYgIinRn1Q/QhYWkEyYzc875P7cLu7w2Py7x8B80EBMUzXgTMRurd7WJiOXYNoXMTZYZNjngNhAgSJzJZKz45vr+eweLiz1vVo5W0ZEJBqEMqAA2tdpTl9m0bL9e3Prqw3mrVWpSs6FWnCCoBSWEMsONo82+f/NO3HtlZxjmb9wpj56so5tpHDLTIXBgsML6v+gvP3v36DB8MtWnFy9Qr8AyYbCwAgKaJJLwuH5p7+bz90/wYA9f3D09nC4z+4xIBA0QuEA4moyGzfKTt148P25twO+cdh+d7bO5yiiO53Q8vyJQlGZ48MHx3K7WaO3YD+6+HGxRQIMhS4iUK2rp+9dv5+Js3x4a0WAz3H/78Oyo0q8VLU4g3GClGBieLc6PbndBMlJ6Tag66WJxcUy/RFsiaRRIiPCm9er8dCI7HWOoQjrCvjhti1fyFhlRyBFkJolqBcDbqWUMA3TVGNkNiKwxqVUZqdnIzk+Pr9eSIqjbyA2hlfTz36uqXWuuVKlDhDNsgO7Wj388/e7RclNmUeZudjdN9+3vVz/89i+zfQhSYUsP/5SVFMqE9eW+Lr/8+NV7rx0Mmb8+vvz+lyfPvM90j3GAlCy++Ytaiz26aDrzsOX6aVcylX22dAdM5wyrYJsqNJP/AJrRJwwuJvJRAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

阿酷杂货铺 - 优质互联网资源分享

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACUklEQVQ4jX1Tz0tUYRQ9537fG5UakfLHRgKniNKZeW/a6SKQIGgR4sZF7dq7cRG4LYqgPyCoTUhLiSLQRVBQuQiCfI0TjghuKhSXZerMe/e28I1OUZ3NB9+953LuOd9HHEEAKAYHu8q9vVM0TJAogmw0Gzpdq8WvARCA4Q/SIXkkDMej/v4lAR+TmDSzgiNHgpzMZn0WhuFZAEH7AALQUql0PRB5CdWKmoIkSJqa7anZAgBEUXTfeR+Xo/LzgYGBYwDgAdhwGFa8yCNThQGgYDNRfaBm71Lyy2ocrx30cpJAp0Cu9PT09G9tbW14APCUOwC6DFCSn5uN5kStVltvW5UAkqamM967GTO+qNfrGwDA8+XyhRzdklnaISI/d3eTsXp95VOmTjPTfjOuHV4gF4XWYRQqsJiRHYDkL/2SDW2dEAcdMgAkkabph0zuv6BZXVoJejOmdnT7P3IL1q7Ok7ZOEmYGOj/6n30JAIVCoTufz0+rcqVaXX4me2avTG1HVZXE5XOl0iiANDPRZVJ9y8x8vvthEAS3ncd8MSqOyVq1ugpgwTknUPUdzj0ZDsNKJjPN9k4ASBRFd0lO7Tca+1BLRTUlAJwpFk8fD4L3pnrywFD8MOUcaW9U+R3AkDhcE2AsUd3LBUFnkiT34jieZeuDjIyE47mczAN2QtUgIkduEDBTmAHeOaSmc8sfl28AUNfKd3t7a6Ovr29RxBUAnCLg1AzWyoUCkl9V9Va8HN9smd0e2+HjKFcqlzRNr3qRYQAdZthUyNvG3s7Ter3+rT2aX95EAq8MhX9UAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

mefcl'blog - 分享纯净好资源

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACzElEQVQ4jY2SaUhUURzFz//Oe7ORW0UFtkALVgYRk/UhghbaXBJKW4fKEiWooChsxTtBDQUtYgUtFpFYahZUZmUogrQxlBQUfciJJNfR3Gaezmvevw+jYCXU+fi/99z7O+deAgBmEBEY/6GNecdOWcdGQ7dZaHLshBoFCJvfVBQm+DV/Kvf7A342V6ds2vUSALKyHGpMzOLErq7OOX6/PxAXO9HaIALzOjp8k8X4iU8IAD5U31oU0Pr26IZyTg3qLS2asVDr485PDS3ldrt9R6+mNbY2Nb3TdT1Ba/2xfkXyin3xDjTNnZutg5lFXU1xwcdXd6cNRS26fnXJg/ulu4uKiqYPnWet3bw1LSU1BwAcDoeqvH92f7RthM24/eTtF2YmuFyE3Fz2eDxf29vb0mZNiSiUUoqwXcLrVWqtoYgDzKwQkS7sUYE+DvVbc9NnKi6Xi0hKg4hYVVVFCOWKYUTYpZQGAEgJFkJEdXd3/wRgACAAQN3Tq+66Z9ezAaCkJN00TPkEQABAcnLyJafTuW5gHiZjz8PRtaX596rKzq8Og0IwMzEzDeJLZrF86dKTSUlJBcxsGrydqr7Xx5W9e5wfH2FrmtrckaD19NxKzTzuBgAGiABuaHhh27ll/w02WYxHlVUZRBQMLwPC16l5I6NHXfjW2Gr5abak9OihhIt5OQVSsiAA508cHrs388hz1Wz++qiyyklE/YPm38QYbJrpjDv7qftYZp7Xy9asNSs9GWsSj/6WeYjC+aQUBGmE8xLPmDLfqTKSrp1dXaGYg72rNpS7AZgGmv+nCJLF6YPb7uRsX8A5GcuyAVB6OoZ7nb+RwmnIMDikcYiDJkE6AI6pdwy3d+AjDFFlyeWo1u4fqz6/f32xx9c4MqhbKiPHzd7szs9v+yeBz+eLjZ40PhHUv9xus9XbR0TeJJhUFnzodnHh9ubm5jF/HvALtd856R2nXDcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

即时工具-致力打造即用即走型在线工具箱

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

software

发现导航 - 精选实用导航网站

阿里云盘 - 公测预约中·阿里巴巴集团出品

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jT2SzYuWZRyFr/O77+d933nf+TBIDHNCCLVIZ9JF6jZaBa2SIFo1YYvoH2jnpn+iQImoTRS0zkVgLcJh/AIVMTSHFMPMkvl4n+e579NiqD/gcLjOdXT6zPYbOfLnrvUFu4BQTjI4JEiCFJCkmoQG2MOcmG3SvYZ6OmfFWaRF11KAENbGprFNDgAYZJibCckWCLpSHWk/+GyurovuSolE9J0pBR85GCwdFHMTsbFpbt6u3Lpthhk3CWyi7dsSSYuZ6qrYCTcZPjjVcGI5dpoQYF4/CWvXen3zfe92y4REiGhVa8YOCvRdZeXtASeWE7XiX670Wn9g9jwrji8ljh3JyOiLLzsim2qwpSzkrW1z+GDixKtJbYfPfdvqwmqhaaB0ZvVq4sN3BxxdSvz8YvH1a4X5oajVBLb6znrlQAiLy9d7XVjt2bUgJhNY2CXWrvf8dLGjFHHokLQ5rdrurK2uKlNM2CzMCoB7901KYJlqEzvuePjYpCRGo2C7iu0CqYrs3tTetFMAMZnZ2e4/ziozmIib65ULax1KJs2Y1tAAoT5QL+7+VpDM8suJuVloKzQjESMYz5tbDws/rHYcP5b59JMZ8th0YaL0eJjDa5erH/9l790TvPfWgGYIG9VsB/xT4PBLiY/fGbnJ4vdH9t+dnEfhTGflDE+eVL7+ruWj9wecXE4s7h1x5U7P0xaeeyZ47UDyeCA9+LPw1fmpRhNImOyiWiqaDIPVS4XPRh2n3szatzvYt3vw/5nAunG/+tz5lk1gvCDy1M5RFVUutRDjkbh4uXDnUfHRpaT9zwfDoXg6rdz4w756r6d0MD8vvEUdpEiZGus5p8VSpqX2xMyctbEh/3ipJ/8KaQw1gQJGA8uSveU6nB2laMt6eOoVF+7KWVRcWjnV8CSLcYiZELONmDTJQTiMc0qKpLsps/Iv6sh0VzXh/zcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

蓝奏·云存储

发现导航 - 精选实用导航网站

123云盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACx0lEQVQ4jXWST2hdZRTEZ8733Zv38lSKTeMf0Lpx70IogmsXbuymSVqsiiC4U8GFWJMUNXWhSFEJFBWXEkNX1j8VF1JrrSAabF2IIojQlqRQTdO8d+/9zhkXr9aVsxo4DPyYM8R1zR4qj8DsoAHTZnQRRFw/UpQgABRwDdLnf//1+7HP3r63IQDsn+9es5RfEAAI/y8BIJASUDo/WbbSAc68WGaqXloprbckoBAEgeA4QRoFCnDcgJDqftXrRvFuZsITJJCrVHsR6h4B+4+ktEB4Qd3P6V+QCKAdhsM4k824uzR+VuIKiWebRh8QWAeRELGLKR8EOdWNYlG0Bh7JEu4n8ajkA5PQD+jblaV0FOAFmX1faKfa1r9eWaoWu9LupfGi0862Lb5pwj7+8JX0eDDeSVVOZoSM7O/bp0TDoD+BE5M9nJ+6o1qbm/el40cmfiK5OTmJMzt2Yq1Xx68PPa8BHJ+SYBYAkFpdpc8teNU1uOCh97shrnhnxx94Tn3I72m27bvisczQOrCBlKaflqBxwzFujIR3xR/76NW04F5O0nDX3YN4r6rTlISLOaVz8LwG3AYRt8ODJkAIAIdlXmJ97cd8evZQt7BjV/1z/2ac7t9kB9qhY6LHvYNb8EPq6c92e4PhcYTJkAkQVIPDDL7Ubf+2B37fMH959XKRuzYtp1tFPDm6Vo6NrqJlype+Wp7emp1vd0MJ3L/ov0TonIfeTMDrCi6RcQkOL3VVai93Ou1owJ5Kwmagy2bVHjJehrCTc/PllCV70D2cogniWHZjvxEOswSI4ylnoLSCECOL4ImUSLgESJSkCIUXRSkKd0FQFFdEkaJEOyrDlAmjnTFdseWu1Rf1IFeCDARoHH/XKJICOPY29nUv9wX9EcPuGVtd5tblljPdKN4ysw0BQEAkAxAggYQACBIADL3gk67hwytvTJz/Bx/omhF6i7KiAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

字节网盘·云存储

发现导航 - 精选实用导航网站

迅雷云盘

发现导航 - 精选实用导航网站

TeraCLOUD

发现导航 - 精选实用导航网站

我的坚果云 - 坚果云 - 云盘|网盘|企业网盘|同步|备份|无限空间|免费网络硬盘|企业云盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADNElEQVQ4jV2TS2hcZRiG3+8/Z2YymSQzJk0yqEljZMQozaJQazGKSGvNoo0XQtGFqJsuFHQvyGykaxcuRHBhQZFgdVGFilKQQdzUggnGaG2bxEliJpnOmTmX//65kELwWb2bl2f1EA7A9bqget2/cup4rVDse91oO9mN0+s/3tj+srOzcxsAGCAC+O6H7o7FxcVgaWnJnZ478dzJI9XP7+0PK5ViiF4q0UnS/dVm+9IHl5ffB+TWOydn3hwrhU98s/L3JwQA9TpEvQ5/4e0Xzy08Of1heTA/cvnqTSeilKpDAWmlqRgwGn9s3YwT2Zqo5I/fanVxbTNaJ2YQEfi982cW3jjzyFdj9xRJSu0gWHzx7e9wuxHGBwSSTNrBkHPLzTu4cGX1irL8GQAWIODpY8eqZ5+a+rg6XEAUZ1YZGzijce70FOICsLPfQ45cGCWZLefZ1cYGSqPAJQAXBQH82tmH3pqdHh6NYmkF+YDYwhgDqzS9PP8AbUhJ3SgmdiYwztPD4wNzHeAFABBTlanKzP0Dr1qj2TsbsDXE3jC8IaUyDOUcnj81ievbEROYW4n1g4WQq+W+eQA58dLC4fn7DvVNxEnG8JrYK/ZWElsJ4RXanRjT1RJmZsfp51sRdZUlImComHsQwKh4rDb8TLkf7Iz0bCWczohNBq8zZFIiURZbeylOPDqGzVShHWswCEycB1ASYHeUvIY1mWDzn9kahVRq9DKLJDVIjeP4TsZHD5e5FWuwZ0SZTQBIEbAdd0aBnSLvFSttkEiLVFmk0sKw57iraH29Q5OH+lHsE9xONO0n+i8AndBoKckbVsrCey+0dayth7Yelhm9SNE/6x1OM4NyKc+lQhgub3StNL4BoCd+vdFqGOdEIR845dgpy5xpj16ssb3Rwcafe15K68ulHP3W7AZX1/ZX1lrJRwB+AICgsbL7i9VubrgYTJB2Iusp6u0lFO3GJHuagkCQtF401trm4k+b33VS8y6ATwHsHoxprJIX5x+vjTxb7g9rA4WwQiRykbS2nejWarO7uhWp7wF8DWDtYMEEgLgOojo8gBEARwDMAhgHIAGsALi2CDSXAIf/8S/HtuzGYHC3cgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Apps|InfiniCLOUD

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACKUlEQVQ4jW2STUhUcRTFz7n/9zE+R5RGDUIiiYIQDal01SYItGhTmyIKDCKM2lu4UWohtUkqoVUULWoVRB+EFAQWBQaWGFlBUQlWjpjz9ea9978tJtKsszv3nstZ3B/nB/GvVEH+38rKaGUtAooqVAGQIpU5AGdFmgoINbQA6BtQNIxglSkCqgpneSMBJbWgTvNWf1uvaWyFOPb7VDhxLX77kC5JZXYAJEBRa6FAAq/zWNA1TOMtLy886i89PiseHBIKoGRZ5cINtPCTfi3ESRY+R6+uA3BbD5i65mDHGTv7sjx5n/MDsAlSncf9jhMMGmz2Q+Fur4ZFOjb+NA3ArFmXPvhAMhvid/dyN/aIDeFv6Ql2XTL1mySod5o60z1PgDD+Oi21ntT68czHcPwyQFndxqpAmDJ+x0nVJMm+L472Jfkf4qWrui9CoFYBgoCNAUAcQIR+tdQ0AVKeuJq7OVR+cQGAu77L27zXLkR2sWRWZbz2o4Dab5NayjtazCXZaTeod1v2B91fSk+HvLZDJrMx2H3FZFo0yvvtR0xDC4BwfETLirnTWLy1z+pv5W4fXhhps+W8/q3i2PlsP7KDNKd2Mp6ZsnOvWd1It8ZZuz0cOxe9ucOgTq21+dl45nlxtC98NozK4+YHoARCwAO9NI2jcaiFIgT0XAAaRYiwhIYCBJAStVbDnCogoC9Q1SQCQAM4BppUCHJIqIKwZOUUANRacglptckf+wtMOxhagzwf3QAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

MUSE|文件传输 不限速 高品质

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACa0lEQVQ4jVVRO0szURQ89+4KMbJJFInVgkYRDNqIjVpIhAQfIFhYxMpWIYX/wH9go0XwJ6wICVrYiYqFpvIRO1FEWXyxcTEa9t4zX3Et/KYaDpw5Z2aE1hqAZVlEpLUmIsMBCCH+EmYWQkghhNa6Uqn4vi+EsCyrVqudnZ0ppTzP832fiDzPOz09/VUE8PX15TjO6uoqgJ+fn97e3mKxGASBbduHh4cAhoaGSqUSgFarJQEASKfT5XLZ933P8+7v77u7uwEkEgkpJTMnk8mOjg4ARGSbQ8lkMpfLra2tKaUmJye/v7+llFrr9vZ2KaWUUilFREQkhRBSytfX11KpVK/XR0ZGJiYmXl5eHMeJxWLVavXm5ub29jabzRrrEoCUMpPJJBKJvb299fX1WCzmui4RbW1tHRwczMzMzM3NLS4uaq0tyyJmVkrhf7RaLWYGoJQKgsAMlVJaa4qiCMDJyUmhUMhms7lc7vLyEsDn5+fKysr09HQ+nx8fH9/f3wcQRZFtWVYYhktLS7OzsxsbG8fHx0YbwO7ubrFYXFhYCMNwcHDQFGebmlOp1NXV1fX19fLysuu6AGzbTqVSURQ9PT21tbW5rvtrmpnj8fjR0dHU1FS5XB4eHt7Z2TFZCyHu7u5qtdrFxUWz2TQLBKDZbFYqlefn54+Pj4GBgfn5eQCNRqOrq2tzc7PRaDw+Pr69vTGz1pqYOQzDfD6fTqf7+vrGxsbOz8+ZOQiC0dHRnp6e/v7+zs7O7e1tk57QWkspiejh4SEMw0wmE4/HmZmZ39/fTQDM7DiO4zgAhBkJIX5fJDISplD6A2Ymon9KZZgFuJtEJgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

网盘

发现导航 - 精选实用导航网站

(300) Pinterest

发现导航 - 精选实用导航网站

iPhone 壁紙:iPhone 14、iPhone 15 とも使えるおすすめ iPhone をゲームボーイ風に変身させる壁紙 13 種類をダウンロード - アップルジン - iPhoneの使い方と便利な機能紹介

发现导航 - 精选实用导航网站

GAMEBOY WALLPAPER IPHONE 14 PRO

发现导航 - 精选实用导航网站

Bodega Supply – A design store of hand-picked digital goods for you.

发现导航 - 精选实用导航网站

13 Gameboy Advance SP Wallpaper for iPhone / Android Colorfull Retro Phone Screen for Gamers Wallpaper Variety Pack Digital Download - Etsy China

发现导航 - 精选实用导航网站

iOS 17 - Concept Wallpaper - Wallpapers Central

发现导航 - 精选实用导航网站

iPod Wallpapers Collection for iPhone - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

个性化电脑桌面必备:Wallpaper Engine下载、注册、使用教程 - 哔哩哔哩

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACaElEQVQ4jY2SP2gUQRSHvzcze5c977jDiBhQTGEngqIBAyIkRYKNIJggYiOCImprJXiWNnYiEaJoIXIKgiBIIImFqGCMQv7YiWIjGjS62c1lb2fGYs0ZG8kPBh7vzbz38XsDqxqZCrg7f47R6V4Ahhq6XVuNR6d7uTt/jpGpYLUk1L2CK7Dt6C4qlXe00gWa8RFO7X7OWo2+O0DHhkcEhU1E0W4+P5yBy0j7wu23NaR4g7B8jJXkO5kdwuvX+Rjbg9EPKJY2srx0H79ylpN7FnOCay9CNtXqoI7jfQWhig7AWbBZAoA2JZQG2wLPT0QicPdYWKwbOqtXqXReIPoB3iV4iXCpQxDAAODsL6z1gEIwIFupdF7ESyjcmY/RgaLVOoxTrwBoWk+HFirWAxBpaecAlNtPEDzGtaxB6RKt9CfdXyfp68tYjyYnJ/m4eQVjqgbwKBE+dIU0GgnLu8bw3rOSHOL03rzhzTeGQvgUpSCcGeBDV4hxAniD9wIIsU5RPQGFrB/vwTY7crOAxlyRNOhHBOKegDhLqToBUH+gPLXE8Kk7JUsnyLJxPreW28jzX5tk2ThZOsGn7pRakpPnrkpulCpp6uII5wZ4MjtIvS8Dcrp6X0ZpdpBwboC6OFSp/UsNIDjvCXfEAAwP2zV2+Xa0Nl94G5Ps9IAYnE0ICkXi9/005l7ypaDYYH17hauKtBBrYUvqiKWXICjisiWD97coV88T/RgjyRKqrXzXy/LPe4yDqoMEj9ElylVYXLiuOXjiGcpqUNuBAHD/PaIsyDeayQ2+L176O2ZkqoQpa9ajbMlyZl8C8BsqkQfT9fYhAwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

下载复古经典任天堂游戏男孩壁纸 4k - Boring Day Arts

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jX1SQY6CQBDsxsTgfeEtxOMQTFAT+JX6JeEtetDIG4CZqj0MC+iqc+qkqyZV1aUAVFVmj+Q4jyuSqkpSSc4RzjlVXSwWfibp5wGtqgBGNAC/7rpORJbL5fjFpAIAAOectZbk+VwVRRnHcRzHRVGezxVJa61zziMHgkcfDycREQmMSY1JRQIROR5OnjMRuq4DUFe1iCTJ+na7e2O32z1J1iJSVTWAvu8HgrU9wN12H4ar5tFcLtc8z/M8v1yuzaMJw9VutwdobQ9giKJt258oMiYlmWUbby/LNiSNSaMobtuWpHMumCKXp2s8XUam3D9J2npJj/+SBtNE9dl0XdXgzPS7WM23WF8OV5bD4cryzeH+qqFCcGzOSzWCYJaNl+u79aV8Y3nV19tzvtR7XP0CAuh8NWjFB9kAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Awesome Wallpapers - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Desktop Wallpapers, Full HD/4K Free Backgrounds for Desktop & Mobile

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABbElEQVQ4jZ2Sv0tCURzFP/fqU18RRJSUtgtJ5NIkSFvYH9CSQ0NTS82Ck0NrLrnUlv+Ci4tFEtFShInNZmkGguTP914NpWnPCj3b/d5zvt9zz/eK+aO3oBTGCbDAKDC0l2b+LCxc8VpxZHFfEzm2GEBa5+Rf994piXfqTwrWYUX/rGR31cHi9Ke4UDU4um6SqRhmE8PEkTWVXFkjnKoTTtXJlTUia+pQN8IVr713D7GAA4/TQr6ss3feHCDGAg4AU13+JETTDQ6uWgDsL9vY8SgA3JV0fG4rieAEGy6LOQOP00I03SBTMfDPSuLrKqpNAJB71TnOd7gs6oS8ClsrdpLF+qADVRG9rts+OzOTElURqIpg22cHIFszOM12euEOOLh51NhcssF9m8OvJ/SjG2DIq1Cofm/DFKLPPXSzPRSqBonbFsmibm7QP+k3ZGuDf8E07ifhP0jgaSRFPwytIqWQO8DzGOJS++Ei/AFayn5TS9doTwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Alpha Coders - Your Source For Wallpapers, Art, Photography, Gifs and More!

发现导航 - 精选实用导航网站

世界著名的壁纸网站 电脑桌面壁纸 - WallHere 壁纸库

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABs0lEQVQ4jZ2SQU8UQRCF61X37M4s7DgYlmWJYjxI0LD4Czx71Ss3fxr/w4t48uZZI3oxxCDBsMDOTHfX89BI9Ih1+urVq6S6unB4dCB3Cb2T+7YBJEn+y8ipiPyteNKSBe+GImIWKeZ0ICIxtYBS6FAAyIrTQgtXzZo5yWRhtZyuj3eShZj6rbX9ZvRwWj916kkz2qyZF65S76rNZk7SLK6W0/Xxk2QxWT9r5s3owUb9zOkAohDdbPa9qzxpMbUAAJjFZB0AEcTUJot9vGrDIqQlyS4sROhFBND8MgB57iwaU11Nn2+/jqkXYG3l0dfT9x4AadlBmlmCKMVIqvo2LE7OPwZrRWTgxwrnSStcFVPfxYtxOR2Xkz4sAAVcSl1M3a/r7yEtKdKHK0D9VXem6na3Xp4uPk/u7RRaPt544XQwGt4/uzye1LvOFZREkbx69+rN3tnl8drKdl3Nvvx49+3nh61mryzqTydvu3gRrV325xRCENL1Mpzj8OiAtD5dC8W7ocJlLlyp6pP1+ufjMnuSgJa+FhGKicgtk3Q6zJchIpl97s7WHLcMQG5WjJvKf1zrb+JE/PdkwomPAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

DeviantArt - The Largest Online Art Gallery and Community

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Wallpapers Clan - Cool Wallpapers - Free App Icons - Cool PFPs

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

4K Wallpapers for PC, Desktop & Mobile Phones

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACW0lEQVQ4jUWRy29NYRTF1/oe5z76un1oq1qtElHPxsAIEyREYmAkjDqQYCJGzBASMxOviVcYmBMxYOAPMCGmbVJSVG9b7e2555x7vu/bBqdi7cGe/Nba2VncNL6duTPGQCkAreBV7q01uWbabLbRsFJGEMfQaiZVY/XWvuFoYEOSZcp7L7LBttmBvjhLuzPu3T35u7tNFureqF5nd0zu/2Whbg8dufjmbX14KHL5WpbdGT8+9fbd3EBtsq6fXL1nL0zJn0ZTy4Gs++7tR/mJY8pSmUoFJIWAWKVNuQKqwJC6lgrBWKuNyRmyJKFzJkDEeaVIrRSUkCEEEBCI1otJki3ONyTpkFqpt9ORxlA5reK1OFmL4+B92iIIQdC63GzePHTYPXxAE50a2/e8spq9/2g+zU2fjdXrS+fzxy/7Fdq3DgUGECCV9xO1vrBnt6buHR2bz5exsoItg+Ovzlxf+L48G8czq6txM70VJzh08Fx11/cP3wZfPO1mNeofvDF28vNc2nPtqsk77OWPz0aOvqls7F2OG492nq7evwIIAIp0RlGr1qX6atMLdfWtXiqXjfW0He0/s1U1s7LUaCRddQWCEJHicxGB9yVtYI2IGCHoQ8kYrU3FOV2KAIGQpAAiEBGAAlAEpCIJMkD+CQCA9U0AJCiCwiemQCgUKeKCSACKdBSQCCEAIIBi0TFBUkRKNDaKiuI1WEAQIbE+W7ZNrB8hc+cm2vvjidGZr1964nxg89iMj/FjPhjV6U3P6MhsY+m/oVDic93MSm1Vp9lKszIVowgCR3FpWtb2L+29QKybJsLyAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

57 Best Gradient Wallpapers for iPhone and Android

发现导航 - 精选实用导航网站

macOS Big Sur Stock Wallpaper - Official Wallpaper Abstract Dark (Full Quality 5K) - Wallpapers Central

发现导航 - 精选实用导航网站

Wallpapers Central Collections - Browse Wallpapers by Smart Groups

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

壁纸网站

发现导航 - 精选实用导航网站

壁纸样机生成器 - iPhone锁屏模板、手机锁屏壁纸模板

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC80lEQVQ4jV2Ty2udVRTF1zqP77v3JrnJ1TZKW6XSx6DSQqtmoLYYjODAkZKWgkqs4kQU8X8QHDjsQMSqAymV4EBLBR05ECRKaSNUB9KiqFET87jhPr7HOWc5iNGSNdnswYL9g/0jAEggCQGAfnjpCeSYqwfpcQNMxoRgaVatMd9F1hfc/R98enuH+De6NjdRZ/YdCz4Tfo99tmE4ZsasDNbrfm+oEPY022Mhat5vbr7Ch+fXAIASiKuz7dq3L/td+cnh5/2/4kIYSR3Uo6cb+YYvqk/WFtFT4U6NHKwe2Hvojqrb/zZLxZM4dnHDkFBhR9/2nebJulsOUi+BNZvqI1MtVQr1MFWuUmwMUnBYr+qs3ZiqlJ8nIFbX5h6yDfuNCRFwgPosBt+nYCcZ7X7TMZHpZvn3RjcV9vjIbu+SaUICmg1TDePTzjq+NpTD+S86y6s9l16dWRvfN53GYyGoAhJhD7fuvhNOuLU50n/zl6mlA62ufePQ9bu8Dc86g/TU1R/tn5cWOruCmB/cXfZenlxXXVg5K0rAMEY1zQAfLx83V7pH9uXrg3Jm/OflqdHfHnVybuLwnlon7h1urPSMf/C+gkqGhgJAkpKRCHg8Mr5Ufra6Mtzf6IYDrY1RWS9Wi+eG3qFRBlQxGbayZOtAQ0oCCQCkJJGeMfWjjx4xZC3brIfxawODW4lG1sDnTr4KNKIgbL+IBDESqMtkU85gstw2Y4SM4VtGwoLJLFNETJJIiVtlSlsYruWda2c+n8ica2U2GayksnrRHb1wxVHp3VDE56wlBUiCASQAIEBACoPqsoBfSXRp8JMtB1/aE5eW/mMsF1+4mHWaZ6v1oiLhSUJJ0Y9ltupV8/mx989gR7ZdMBKYIbxeb5aL2UQjk5CUlEBCIRHCPboxOyrNWukxtzX/l4/bi64/vzdY96H1doaGqIsASPLNjKGM0/7oe19JMCTS7Zdwp87hxrnToDmT6jRtG3YilOlm5spTPPLRHzsxAOAfWWWgmsbtPiAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Shots - Create Amazing Mockups

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3ElEQVQ4jYVTXUsUYRQ+531n13d31mnVplVLy0otTKWiiCSKgiDqIoqCrroIuu4ftAgVXVjQP+iiMu077csPktA+MIRay1i2XDZsZ2tzdx232RnnPV2khmJ0bg6cj+c853AegCWMiHCJGCMivjinLC4Mh8MMEWUsFqvWNG2/lPJjIpEYQcT8UsMWoBERIiLF4/G1Qoje4uLiGtM0iXP+hTH2EhEHhBD9QojYP2lHo1HdMIz32WyWUqmUlU6nXdM0ybZtIiKyLCsyPDzsWbDCXHMikfAJIW6qqrrJsiynqKjIyxgDAHSJyAUAK5lMnu/q6nLn2C5gkclkrjuOQ7lcrmCapszn87JgWXJmxnWIJLW3t19dvD4SEcKHTo9ZfeCi6lfP5PPTtqIoCjKOnDMAQOKcsfu3H7tPnj0qVKzUO3O53Nm2trb4PEr3d6rbq1qRIp/gCMAAAEgSAQAhQ/aqPyKH+sZoeZWXuZ4s/iqYU4aRPNHa2tqthPeA0nC64eSIv9G09x3SQvX1MrR2DQZDOiEC+/B6TI4NfKHG9VtBLQm4UxSXnxJD45OTU7k/R0wB+6Hau01nrGTiTdBKjX70jEhBgVA5ikBQ5g2HNlbWga6vgMlppKf3pr0DPdaNgfTlFwCECACwv7K06miN72GB+5t9q7fatXVbuGt7ARwPVFfVQpm+DiLvJuBW51uY+FFBFaE9BY2VnToXUW7i7B3YttLAhpO1y67RzExz3lth72g5yJuaWgBNDoN3B2n4+Tj5RSNTy3ZwR22B78y17ExmHQIAhAFYGABO1QSrjtTpHU7B3v4p6RbKyzYyJSlRi9nKBqUZLH89fBaV38bFqt6ox3cnEkt3zb/yLIi8srlc37W65F7Ay3YaSRu0bBC0Sd3wflvWE5f6wwduou8C3E0vqYU5kEsNWunhhlVhAK5lDW93NGb1Hf86+vNvHbE/HuV/BTavFQizDjjGF+d/A76eaE3Mucb7AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Free iPhone Mockups — Mr.Mockup | Graphic Design Freebies

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACoElEQVQ4jSXOS2+UVRgH8P9zznkvM9OZ0o5FMoBNW6AErYq3aAwY07hx4QZXulEWYOLKFV+Bb2AMYYMmBl3qwhgjSkyNSKIr7RtKp9KGJsNgp5133su5PI8Lf5/gR4UPAHNtSSsipYW0C4iIiEFMOpLAvqgFCmmDtKJ9VxhmFbcUWIEUCEAACBDvxQUJwkyIDBnFApPAEjv76Rf83W1+PPKzbXVmsfHqy3plhXo9ajQJgMCOJtpomIRKKXiz/++Fy9xpR93ptGJkW+HRkBtJdPaMOn6UpqfDo5G9t92+flWfWqKyyj17Lmsze/j/jELQ6xv4/Y69teb+uu8He/pYL1o9l35yEWlKB+XAiNhrX9kf1/ReHk13aHlBnX/JnHtFHZohpN5ViBJ2jq0DC9X10Gf9ybsfpycXqN0O4m22KVsPuZni6JH4xWfRnXH9hz7bmrp2NVo5TZUNrijhLGZnoBAD5MT/8wC3f7C/3fXrfR6XMnPIvHW+eel902nTxFU+z+sbX+tvfy72H7fmutHJeb36unrhrOkdE4ABBcg4D5pYQBMuzd/39i5c1sePtOZ7oZyMsvVod6CqQi0t6qefCZpkfFBtZM3Pb8ZLi1Qwi60lMJpNBa9hNBg7O27tzuSn7/1GhoOxe3IuffudznsfShpTxT7sjfxnX9a3flG7A99tNVaWsfqaev655KklUsQCxZA8d2mklKYyBHu/X39wheY6yXzPD4Yq27Q721pPuHdYL5/2SVIPd8P2g+7Nb+jEApV5EPZcWTwxZQgCmP193h2Wd3+lP/60GxmPD3SzRW+8GV36CNpQ7lzsmBEUJOIATZ6CShpAHABxTgSilDIaRSHaUBWEQ0DtYqVq9jEJEYnRKijxkNgwg6sycKCpJkf6P0nlc75ue+HdAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Screenzy - Beautify your Pictures and Screenshots Online

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC1ElEQVQ4jV2TbWiWZRTHf+dc133v2bMJipVjbSMVS0Ob+qgjmhl9eBCxPpQiQTRmLyBm9EFEhqFBDEUxLJUipKzAD4KvQSAIww/TBF0vBAWpzFyxpg734p7nvndfxw+3lnQ+HQ6Hczj/3/kLAJiAGMBLi+1FMzpUeR54rFqFtMKAenrqpnLo5AX5gYdCHiQvPGGF+ul8rMLbXnGVCphB80xoaILBG9B/hUoUs6/UR9cOJNwfYFJ+hmKN51jsKU9mhGpCaGjCbeyCxha41IstaiNc6MF98wmC48ipS7wOoCAWe3bFEeV0kiQLSE0NftteWNJucqAbPnwP+fYgfk1nkKmPkkjgtZdLdIEEXd1qyxTeSSfJRPFpFZn5FDZ7LjKZCuMjSG0RmV/Chm8q42O4YASELavn2RxVZaNzRGaYGaIeuz2EjI6A87DuLSjWQ995ZPu72PgoKp7ghClWS4d7snHHHoNp9zGo98jwTSgUoHVZLmLLLPh6P9weQgpFxAImgmCgAs0YEgwRwQCcg0N74czxnNCKlbD9U4hiCCFnHgIItCiAASI5tsoENM+ChW1wsBt+vpjXl5ehvQx3x0Ddf3+gBn+qYCpYtYK80gEHjsLuw9DaBp/vhiyDEGDpchBFDEwVDK4rgXPqkCQlNDRh69/HRkdg8xv59sEBuDWUb4tizCmG5RqYcU4t4wsLhJAhj8zAfIRc/Q273At3hsFHEMegalz7HUkSglM0yxjThMP63S9yPjP2Fwu4gX6yO8OE0nPIq53Y3AXYpg+wadONG9eEMycItXUEFdSMj079Kn8ImKx9migpcjxLWTV/KWHDVkLLbFyW5WbpPYt9uY/w13V8fR1UU746fVk6wfRfM5WwqGkJu6oTbCrW42c0QqEI//wNtwbzU3zEaJay8/SP0v3AwfJ/O6991lZM3OXNJKEd4XHnsLiGfoOeNOWz73+Svof77wE4ay2MNoWW1wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Check.: 做了一个壁纸套样机模板的网站,https://mjcn.club,方便套上AI生成的壁纸发到小红书等平台。 壁纸套上 iPhone 样机后会比单纯发图片更有沉浸感,更让人想拥有。现在的小红书大V基本都是套样机的,而且效果很不错。 我也在做卖壁纸的事情,为了自己方便就做了个小工具,想着自己玩还不如发出来让大家用,没准可以碰撞出更好的想法~ 💡下面是一些 - 即刻

发现导航 - 精选实用导航网站

初星壁纸样机|CX Mockup

发现导航 - 精选实用导航网站

Device Shots — Free Device Mockup Design Generator

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC/0lEQVQ4jVWTz2tcVRzFz/nel5dME5NQ28wkTatJqRaiaTYKbooL3fc/0BZBdGEXSltQENSFS6u48AfVUipi27E1Oi1NiMEarQGtViXFhT+KmWRCoJmZTN68mffucTEzQs/q3PuFL9/v555LAMhmR54wC9708lMA2JEkoX2htgDIaD97n5wolYqz3D408mTo3EUA20imkgwt/d+jY0hCkgfgAGw10vSQ679n4HOSoxKaURQ5SUjTFCAZxzGTJKGZIY5jdAYyWgKix8gDBmCCpI+ireDIkcO49s3XePedk3xoYj8WF7/T5cK0xsfHMHO1wLm5qzj89FOobFYDM/MAJowkAVASnn/uWfT0dHNmdlaVShWXC1c4MzvH2mYNl774SvsfeJBTUwcQxzHMjAAYACAAmBnn5+f14083dOrUhxzK7cKLLx2HmWFwcABvvP4ad+64V8ViEWFXV4cJmRveLQBI01T79u1lPapjubgCM4NzDu0aAGBs7D5EUYTbt/9VGIaUBCMpM1MURTxz5rSOHn0B6+vrcM6h2WwiSRKQRLlcxgfvv4fjx45pY2ODzjlJUtAmC+ccFha+x9LSLYRhiPbzgQQkwbkA16//gL/+/ufu+vDIHkmCJGUyGXrv0Wg0QQJmrUh47wEA3d3d8F5oNGJ12Lm+vv5XSWKzVmM+/5mGdg7h0sXz7Ovtx507G6jXI4RhiNWVZeTz5zS+dxznz33KgcHtrWDmhnenwyN7fP/ADv/rb7/7crmst06+7Q8efFzXvl3Q9PSXeuTRx1QoXPHValWlUsl/9PFpn82N+mxuNA06ee/qCnj27CeYnHxYtc0txnEDa2trKm+UkSQJS6VVei9F9TpWVlYBQADEbG70F5KTEpq1Wi1oNBoIAodMZhsrlTLIVg7WSsu6cCGPpVt/4JWXTyS7Ru/vSpLk5l2fycxSMzPvPSTRzNSG2PatI0CXpOlWM00PuahW/bO3t2/R6Ca897k2cZKk9x7ee3R8mqatjYUb8ukz62vF2f8A6CG0i03SuBgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Bigjpg - AI人工智能图片无损放大 - 使用人工智能深度卷积神经网络(CNN)无损放大图片

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4jaXSTSvmYRQG8J8HD5Ekk5eZLLyEWJjV7MySKF9hmrUPY2nBN7CxU5KFbGxINLGlaJKGYUEeHjbnX//ubjauOt3d933Oda7zwifRkNy7MYRzfMMCqnjEDXZxhtsioDEh+IJpDOISdxHwD11YjKQ1XEFTQlAN9nschZVxiN6wY6gkDi14+qDkF/zASfGQI3hEPRPcgd/YwsV7BE1RY/m9inEsYweb5YB0ClP4GhO4xzwmcY1VrKfqUoIJDGAUe2hHM3owjFasRTOzGMMs5jJ/lVC0je/lmst4yfSlQB0bcf7CH9RS59cgeX1PIvbxF305BZXMdqaoRT/uZOS2RfacgraY0BIO8L9QUIk51/EzMtRiEjN4DsKnIDjESsFaLM1IOLSgM7auP4hu8FCy0+gTeAP16Ea6ZRH4EgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Photopea | Online Photo Editor

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADDElEQVQ4jUWTX0jddRjGP+/39zvn6NyZOlMXU3MGNpnUIFdGq1gZjBWjoIIRRQhBEF3UVd0J66aL6CaIoD8wgoi2tqJujGl/WIFtpUGjcDSZZZppeTp6POf8vu/ThYHPzfPw3DzwvnwMYHZ2tr2nq+u5vDOMx5Rt2f+u7cYyL+S/nJiZef3+oaE1+3VpqbO3re1TS5Kh8wtzlD0SLGBAMMMAGbiL6E4B40h3H4UYv56enz9u5XL51aamphfu/eS92uTC1UCaGmYCjHpNxMwwg1xBhMTI6jqwu9MvPfp03jY3X0qbkvTQ9N/LPrl4LdDSmqQYWb1KzmX37LlB/c27bbmyzvjSvNbkpMUiP638wecLc/5gc/tdKZJXsswsTcyArLLBna0dvHX4qPZf12lEhxC4urbKw+fPMrNRwnI5ah6NiAXATDJh8lrVhlvaNXHshEWw45+9r+Kp1zh85m1M2NkjD2mnMElmUQZ4AHPcASxx6c3hEZsr/aPbPnqHL5YX7MS+/fy88S+PTZzTvl2tYaSjS9Rrsq3HKAWBBFmdoY69dnPbHh4Y/5CGXJ6pY09wY1s765Mfc3r+inm9ps6GRkNuSIArBRwJ3Onf2SrV61xYWbRHevvpK+7iwAdvcHllgecH7yAQ7IfVZUhyuDs4SuUSLjBhyMxdaQjMl0uY4Mm+AZpvOsgzg4d49/L3mlr7y0hzZB7BLKYml+TAVspipCVf0Pifv9krM9/ybP8tlOo1Tl78Sidnp7FCQaqsb40qkgrkkgLY1jUEUiCf14u/XOTlKz9S80gtqxmNOzyBIMxcEhY8rdbqVrAgj1FRCjFGLARhWFJopKwISUJSKMrdzUOQYqa8BUVFpYul1W+GuntH7m7vievr61ES1WpVbFYsJrUtniSimZAMd93eej1He/rC74tLF2xycrJlcGDgdFOxeN+1tVW6iy1MryyxkWWEELY5NCGJPMatnXuplMrnzlz67nEDGBsbaxgdHX0qjTpYrlZoa9xBYgGXjC0q5QJwQhJUcp/q6ek5BcT/AEQAqyv0uVORAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

TinyPNG – Compress WebP, PNG and JPEG images intelligently

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC50lEQVQ4jbVSSUhUAQB9f77ZpanJaSqzTbLApbKcDCpCoZLIILq1UxJ0KAtKo1WlgjwlYXSoPBRGtJptJIatMhahZTqjTsW3UnO+3/l/1v9z5nWoGerQsXd/Kw/4XwiEQkUjur7BIHM9pJmkCEAAcNxqtVb9k6iqg2maolzxKQr9mpeqIlMdVoYikci36upqCQABcPOmjQ+bmpoSYrwpeXl5Y0ju6/8iGX29Er9Knyl9clNVZGrKELXhIZJkVVUVAXBNwSpmZGQkAsA1AGpFeXk/SSqyh/LgAKVPPfQM9NGneRlDOKCRJAtWrpABHAEAZKSn02azUfZ4qIeC1LzDNPQwo5ER+n0qA36Np09XsqKsjOQISfL5k4aaWHTT1JQUZGZlwZqUBMFkgtPpwtIly3D99m0Y4TBCoTC6nE48eNyAsrIT0HUd6ZlZa8+Wl48FAFNDY+P5aCQa1A0doxJH42ZdHTSfD22v32K8xQzrBBtKS0tQtGsHXE4nPrrdSBiVOGH5unX748vX1NQcivVMmTaN+WsL+ODhfV48f47Hjh5j6owZvHW1liT5tVdit6uTzY2P6uICJFeQUfZ0ubh3z162vnlDr3eY2QtzCIB2u50k6e54xxdPn7D9rYMVB3Y/S05OzvktoM8dMQx6Bgd/xYj8iC/vaHEw4Pexu8vFg7t38tK5M+xoaeLJowcJgCYAEITR7ZFopD8hwYRQwI9mRwtKS0pwr/4uetrfYVluLvLy8zErKxvrV6+Cq9uNC5drIYoihD9qHAZwKuz3IWzoaHvfjmZHC169fIWli+3YsnUzvLKMyspK1N64AwAQRfHvG/dKUidJGsEANa/C7s4OOjs+8LWjmdu3bWXsxhMn2mg2mymKIuNfLi4unj4zNTWpsLAQqqqirbUVwWAQFosFHln+y0iAgDmz0yAIAuICfQPf70aj0Un19fW/4plEjLOMjZMX2XOQPW8eVE3D7LQ0LJg/H5MnT8JPbLra8gg0m0gAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Convert image online

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACnklEQVQ4jXVTSUiVURT+7j/4prT3qLA0pGmRljaBi0qwiCzDDMF2SQmGBUlCmyLihRgNbmoVhgsriKzAqTCkEW0TtVBEjUAsSrN85fBPd2yR75H2OnAW95zvfOfjnHOBBaYAAgAvjhb6VQt0Vf7HW8qhYy73X4sXjzeU1PZeKD2WDBMFtL/f/zD+bCg+H/ZrdaMxpyvA7ValZACCCs7kyI1h99XV9uEZBRACqHkEI9HCcCTkr0815EnquZxIZqRAQHEGcArGKGwm+wZn/bU7bg48n6tVWly2JcwNuvBOSGcW3HWUcCzlWTPSs6alY88Kz+MsSFTeqhT6qKNiUz4ApQCixaVsrOvuHfzBSm2XTgaVY7qUOtMOt6c8Yk8xU3ChmTGXOCGCcKaPnYur1xMDjMJYeenT0N7cjN4lxCn+YPkftH6PVI3zUPMEDdxJBc1OM/U1DiOwmJYRysq+u294dCrpWtoqcrYYpj/9QNP7rnjsdnn+6vQ0sd+lirnSoINWsC3a+vIXAYDP9QfzAj5ZqZjHpeRa+0Tqlarr7d/ixR9P55z5bOuduxr7hxY2IwAwWle0Jyuid8NzASLwZdJ9YnC7UVeO4lQKU8NlKC3cFwsc2t3c/64F0A8DIkHQcbwkuD0z9iZisFzLpZ4PLCA4gxQcQigwQbipEeMnNcY+OUblzqaBp/HhawogJY0d9vi0d9Z2PG8RnAB1bcE9T1AqBeUQTBDtl0u8sK5WhAhu1ZYVLE96ia+rNxWtDdkXdS63AsTkkkBIAiXBfQTGGPV97bEWV9fc63kMQM4jSJznulO+hwVvNpsallKpEwmw9frMNVeakU5rWVnd/Wdvk20ufgtasnjrkW010bKCrXONkmLmWRTQVPSPz33jhMqF2N9aDlm+XFfI6AAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

donaldcwl.github.io/browser-image-compression/example/basic.html

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Ocean Black - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPadOS 17 Stock Wallpaper in High Quality by @ispazio | Dark - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Apple Tower Theatre Wallpaper by @ispazio - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Holo Pattern | Whatsapp Wallpaper - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPhone 15 Pro Max Concept - Graphite - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Dunes | DUAL - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPhone 14 Stock Wallpaper - Midnight - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

macOS gradient wallpapers for iPhone [Download] - iDisqus

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRUlEQVQ4jWWTT0hVQRTGf+fcef/kqYFGtLCigqBNUNiq17Z1L1xIgRBa4iZo47JaFAQhtLMQwUW0EBVcJO2k2kSIuKlNBK9NBAWpofe+e2dOi3t9vOrbDJz5vjPfnG9GyCGAAXBr+RK4mygNCMeL7RZB3kI2z/Pmu26NcICRmRqDpx+DTuJKJYIHs4IqoBFkaQphlh+fp1m8u190ua+MnK0wUFmh1n+FeCcAgSyN1CcAhKgMruwBpdqn7G+/5mdylcWPSQTrRuPGE3r6r7O33caCUu6N+LSGrUxjm0tQ64Nj5yPS2EjbKT39Z3BZnY3JNcfE6jCRTBHvegSHoRCMaq/I4EnAsFo/BDNAERzxrifSKSZWXzjUxomqJdI4A1FEjSwROXwKvTgKZoSBE1iWCKIGIpgFXLWE3x9XxBr4zMAUQTAvlGrY1038q4f4tUfYl/dQqoEFQRAwxWeGWENBhgiZ5J2xIsz/IeSpGLmLXDOknfzlYJWcKNIl/qcmnWNMwVqos5yAdAT/OeiIBTNQZ2AtBVnHOQEJhT3rPKBu5LXikhIKzbrS9nOkcYJq7tNCPu3uJhbIa+QcVSGNE9p+TplvbhH8DJV6BGSIBCwIkTN1FVNXMaJS0dgCkFGpRwQ/w3xzK3/KF45GDB95SfXQNZIdQDKyWCXZEwAr14xSLYA5Kn0Q/1riw/dRNr75rmmNREyOPUDtDlGljoVOQCAgCj75TZCnzC7cg0V/kO7fuL18DnFjwGWs+M6iLeANli3wrLnVTf8Dz+MJt/sFlxEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Imgur: The magic of the Internet

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADQ0lEQVQ4jS3R3YtVVRjA4d+71tpnnzlzZsaxsSPp+JGiTEUmJHWRXYRUKkIjgiQiZpRdmBJURMQIZWKYkKDBRIUXUuhVgQXVhfgBEcIQgxYqmOQ0Ot/OcY6zz95rrbeLunr+gEcAaj/u2epKyXuxCI8JagUAkf9FABUUQCHgzGWfF4dGNhw7JbWf9mx1xn2DiNE8RGMQH6NEVYJGIkpURVEQNMFpuZwaVKMv/DZno+nDYrQZfJToMu/pTCpasSV5IKnS7lqo2BKJdYpG+ev+hFxrjPgkLTkrps8BK7QZNCZq27RM3yO92tOxQOakVWa0oKmRQiCIijVOuynLzkuf28Hpv7XFpSuchuhsainqOY3jt3Xzt6vlMwb4+voAc8pVChHUGsQ6ciPSX3tOeyrz5dLUDSqaOmPKRnU2Uhwa09pYi7yy71M2TXfzTHs3U817aCyQEDAhIsHT9LmooIqgqBp/18tU3y1mLk3L+pee5pezA0z+Psr22ip8nqMhoDGgwSMhkiA0Qy7mvx1xxcEJju56jR/O/sbBj/o5feITzPNdvHH5NKlzxOAxQFTF4kjVUPcZRkARjLnqianifeRk/8cs2raM7QMn8CHHRsX7nHrWoFHMUlJoEcNE3sCKARSThYLdu4+w7tnVLNixmM3nj6PBkypkRUYzb3K0ZyNr27uZbjZok4Tx/B4Wg6IYZ606W2LZ4of0emOEsZm7lDFkRZM8z/ji8S10Xcx4J1nDjoWrqOf3acRcrTEoqJmdLeSFdU/y4aGTsnZokR5Y08vNqRGyZsbJp3biz4yz74N+9u/7kjcbq/hjekjv5vfFYhBEpC3tLWrzO+zQ8BidHVU5f+6I/vzgdVlerZF/N8WWXQfonNvG6D+TPLxxibK3Q+6FTB0GFQmmpZRca620ypz2aljZs5AXN7wvi86V9eZXN9j08n4OH36dJ5YuxT1a0fqrJZnRJlZtoGQFuGZTVk6MT8xsrlQqdv3GNfHChSt8f+ZXGb4zye3hSUZvTHFrXh337lwptSdKISqptSgxEPba2fDnlarruTqbFcvPXRycZ1RMe1sLra1lmRyuc6ergXm7k6TDqWYKVqJYM+gL/9bI+mOn/gWZFaGEUyA9lwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

30+ Stunning HD Purple Tone Phone Wallpapers

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACt0lEQVQ4jY2TMUtjaRSG33PnRqLCTGVlFK1stFC0UpKQaBPBTi5WVsYfYGG3uzM4hXZX7BTsBBGConDBIIkiWKRQCyE25iYSi2Ay60RC5Oaedwt1WJcp9ik/TnO+8zwg+YnkV5JVkr7v+z5J5W9otVo+SZ9kjeQ3kqaQ/APAVwBQVTUMwwCAy8tLuK4Lkujp6cHo6ChEBCRVRAy88k1I/iD5haQahvEpk8lgY2ODJKWvrw8igmKxCM/zmEwmZXp6GiR9AIaI/ISq0vd9JcnNzU1GIhHd39/n8/Mza7Uaa7UaG40GHcdhLBZT27bJ111VVYlWq6UkeXZ2puPj4/r4+MinpycWCgW6rsv7+3uWSiVWq1XW63VGo1E9OjrStz9RUVUlKXNzc7QsS8LhMOr1Oi4uLuA4DkgiHo9jamoKgUAANzc3sG2be3t7EggEaIiI3N7eotlsSiKRQKPRwPn5Oba3tzE/P49kMond3V04joNms4loNIpgMChXV1cQETFJ4u7uDt3d3QgGg+jt7cXJyQmWl5cxOTkJAOjs7MTa2hoWFhYAAP39/cjn8xgbG4MBAKZp4uHhAYVCAel0Gul0Gh0dHXinvb0d2WwWqVQKxWIRpVIJpmkCAIQkXddFJBLB0NAQurq6EAqFkMvlsLS0hLa2NqyurmJ4eBiVSgWVSgW5XA7Hx8cYHBx8lcf3fVqWpQcHB7+sS6VStCyLs7Oz3NnZ+fV+enrKmZkZfXl5oarqhzOGw2Etl8u/s5gkWa1WGY/H9fDw8F1t/SDS1tYWJyYm1HEcep737waYyWQYi8V0fX39g0iiqn8D+PyucjabhW3bFBEJhUIQEZTLZXiex8XFRUkkElBVlVfqQvIvAH8C+BDK9fU18vk8VBUDAwMYGRnBf2cArICkSXLlLdH/m/MPkt9JBv4BpIho0YzrPsQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

01-wowpapers

发现导航 - 精选实用导航网站

Wallpaperize Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Cool Phone Wallpapers - Aesthetic Phone Backgrounds - Its Lit 🔥

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Iron Man | Marvel - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Lake, The Beach Day – Official from iOS 14.2 | Stock Wallpaper - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Traditional Chinese Landscape Ink Painting Apple Bundle - Etsy Taiwan

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Relive the Nostalgia with Sony Dynamicron T-120 Video Cassette VHS Wallpaper

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

LCARS 2023 Star Trek Wallpapers | gedblog

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAuUlEQVQ4jWNkYGBgOF/K95+BDGDY/YmR8XwZP1maYYCFkZGREv0MLIxM2A3Qa3uHVfxSlRBxBuAC6OpZGJmYUAR0ml4zMDAwMFypE8VhAKp6FgY0ATjAJY4GcHoBJq5d9wJF/GqTBLoB2G0iVpyFCYdCmPiNNhkGBgYGBo2qJyjiRHuBkDhGIN7skmdgYGBgUK94jNUAdPU4wwAXQFfPeKtXkcK8QGJKxHARAwMDw50JymS5QqXgLiMAzbscf1WKWFsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Download » ArtStore - Beautiful Wallpapers

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jZWTX4jUVRTHP+f+7vxmZmdad9yadm0N2cRQIyOhl9KwXoRKkTCCoOilyB580h4KXKiIgqAewqiXMuq1iJCK6C0QM3c3cMnUaVUo/8yqM+Puztzf757Tw+zSRk994XAPXw7nHA6fKwBmEw4O7Qd2A2X+kazIbYV3BXhPRH4AJvz1Vnjf/r9aZvYYE2/89GavZ2amamaZmcWoGlUtqlo0+0/kZhaWmvziS8K+NEVBRFW9OIcT+dfiqoYIiBMD3FIYMOpLYgMaTVwiOOfAjB8vX+XrP66zpVziufvGcEnSrzfExJavISJivurV1EwcQicE++hcQ744dpabl+HYHbeyoR0YPTFI5aGU+gNDWDQkcQhghnOVJJI4Ryf07PCZU3J06jR7yTny5EayrvLdi+eZPDjN9GeTZBpwIojmxG6LGBbNrXJRQp7x1YXfOHW1ybYQOPDUo9w47pk/26HyeMBt+50rMyfBFYkaaHx/mEuNSRYXOrhhl/Fr8yJnFlvUb87z7CP38/ORJp++dBzrttn6wjo2j9apJVXipdM033mePxszJGmV8mDdu0Le5sLCNVSNe2oVav42vpyYYmDrAmlYZDAUqBRSarPTnHt6B43Gecb3vMrw2s34hMwN+Z4Vc6A5x6bVdcR5urHH7Jwx2G4zNrKKwl1lkr9mmd2wnfXvfmtrRsekUOwD66vlyIO3jzOe3GLr164jLRVlz8eb6B09wc5d97JmuM7c3rspbXmFHU9st4pzYqomzvWxvvbh2z2L0fosqpmZ9iHLVnpL0r6hukxlw/m5ky27OGM5YAgKogaKJxogggGqoAgRkRxZpvGT5NDD5dw1p3Ymq0eQgSHEckQDogG39IoGxAISezgyXHYDup0PSKuvCUB4a2SfH0hftqE7a5IUTa0/Yvkzm4GI9QH2fj7G9HP/zDevC+jfCEzIHkv+fzcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Ship & Swans Light Blue Wallpapers - Light Blue Wallpaper iPhone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Wallpaperize

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Classic iPod wallpapers for iPhone (Free HD download) - iGeeksBlog

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACi0lEQVQ4jW2TS4iVdRjGf8/7ff9zPHMcs+ME4QQVOIkcyEUtCqqRiiCIZCKkqFWFBKHr3LV0a9NiFrWRLnQhGMKgs8hxkgxy18JyEYSXiJKZUc94Lt/3f1qcMVz07h/e5yoAG0kYwL/xBJk3EfOuuA9AictkVgk+1F7O3okRW+fzTLGT49S8TanE0DjLAAqLpqDymIIl1nlXj7IJIL9HsEDLLb5Wm+e8pmyTJWLrCzbGZAWhjsM36ekWL/Ewm9qi/T7bOZL/YWiRdFvQBIxu85StzFgdmvRZ1F6Oyhd4HHEGKVEC2ZBlArkGFUCNrYkUW1l2AGMy8+W45nCaIX3xqasvv6N4/SCcOGnWNqAI/NoLsHYd9X7EgyG+a9p651WqQ6+Q6jUOR4gDDHFKxL274NvTcPon1J3D19bRqRV09jz+5SJ68hFY/RlOLhMgYw6UrpilltY3zF/XoN2CXTvxGy+j3TPw4G5YXkHTbby9DZ0d8OLTiIFFzWzYQDK//g7L38NgCM0EFy7C0ufwVQ/KgNEILl2dWDS1DfCkBEHJFUpcFLiRoK7h6t/ojz/xdBtubMJgiCXUnYP1G/DZKUzLVnAlgBUK6Z67yXP3w7OPQXcP/uQblAr8/FO4uwdNT+EPPoaHHoCDz5AJCViZxBicySNU1YrGNsd4hENQjVGzBdUI1xnKEqosNxsOYhJjaB/ngKWYoWwUrvKYnApRhGg2ca7kshDNJBUBzXDFDgCWtI9zYSMGHPMGPTo0JJFr6pxxzpMKGpwzlS3ToeE+PQYcs1FIWPvp6yYL3GJRyXW0KaNwSJMaKxzRplRyTZ9FXWdB++n/t8b/mfNbwLxrZgFUcjmb1Zz5KHX54U7Mvz7fN6zfi4ePAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

GameBoy Wallpaper iPhone | GBA Famicom Edition - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

02-bestwallpaper

发现导航 - 精选实用导航网站

Ultra HD, 4K, 8K Wallpapers for Desktop & Mobile | Wallpaper.cam

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAx0lEQVQ4ja2SzQ2CQBBGn9wMp73TwTZgYgV0QA1GK5ACKIAGtAmudMDJGijAhCteZpMvm10k0S+ZhHnzywD8qEPkrzvripBbRIF2R3Grg+INABbgaM9P4B3Fr98m1DZhBfodG+HMSmGTNKkSNaUYsyQ7S6iETYniEJsBvIBREh/Ca+GDcJ+CZ0kObDFfhw2ba5kuwu/AS3y9GQCdBG/C9UbBusRhwVYNSUGnRIOsmsw/MApvthog7+mFucR9svLxhU199IX+ow+Ipksw4z4/ngAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Stunning 4K Desktop Wallpapers - Free & HD Full Screen

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Nature - Vector 8K - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Popular Desktop Wallpapers, Images and Pictures - Download Free Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsklEQVQ4jVWTO4hdZRSFv73/x7n3ztwzucMomkJkfDNgIcEgNk4iQopgZ6GN1qKlYCGexoBGESwEC0tR1CZJp2hACwVBEwuJzIBIUBLJDMPNfc05//9vi8z4WO3mY7MWawmAGSKCXT/H49WC5/c7TpdObhezLBX7MfKVRj5eeZpPAKxBpaEAyCG8c47XbcardZ8qC0w7rO9FZhMjBkDAHF+myMtrp7nSNGjTUARg9wKv1Mqbc4WwypZFzvrIlTzn+OIvmjSRyjCGPXwH11KPU6OnuGQgsviW9ekOlwYjBtVRSq54MtzFNxxo+h3vVVNe2hvTASz1JMyS/bo65JhsMtHFmGfq2xiGO9GUmF37nh/sIt62qOwiXoTfXQ80CBrx82zt6hF5YNzyAoBqZMXfAaWQXGBp7UEelU0SX1Nkk9R1PJEMXDRxETTiElZwPGuG82GNTIXRUsRRucjbtsVJuY/x/DIndcapxZxMwAGiIB2Ieu69cZ6BuorfyhyxQuhm5NDnWNvxWXuZ47bgfVUcAVwEFzEJiHgEj+wFRKY/clQyP4fAqOswMSRUaMq0JGLKmOq/XQHMKZoKu4MV7talR/gz3eQtn9A8oXQ3sbZlZkIwT3EVSEC0OvgesNDHXOQ6mX21Bh2e4OyNP/iw1xLEkd2ASjxoPIAjJh7RgImnSI3guCAbtMJ/tPs5Ly7dr++6Hr5kkP9dASjqwIw2deXh3gbbCmCf4gBGj/V/8kvLitWmumwiNSI1UAssGwyL1rWzXL3W22DbGtQD8AsGkKY68FXtSiYZ5kBuBVcsoerdEdWyM/8gPLT3jhkqcrCFw0UCmrfv+cKNBidsr2SzoiIiMlBsP83Mpm+49atn7JY7A9B/3AmIkJ0fP5fH5TzSU3XLBmFCKx+l2WTTrV89Yw16CAP8DfU4LOFrYcKVAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Heroscreen Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAApUlEQVQ4jZ3TMQoCMRBA0T+TqFh4pL2BjaWCCDbexcpGD2Ch99A7uYVsxkrRXZNN9kMgE8hLFeG+POJGC4zAd4JhCNFEaB4Hj47XqMxa199IPCfAdKuE5xXvwKxsBQOxoFSXHXV9ZuITz8VTAKrLZiiin91ARH+mAYh2TgqRLlCI/AcKkDiQiaSBDKQf6EHygASSD7QRFQiiqf8W77Y64fycpt6/AGwlXQXtuVx5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Post36 - Google 云端硬盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtklEQVQ4jZ1TTWhUVxT+zjn33TczeTNm8rMwMgzUhVWKjotutAGlVhRKKW0tgnEhrtwKapGALy76Q7sRXNlNq4tKbAvRnSB1U6EtSKWlUGml2FaCzSKZZJz33n33HhdJNNCsPMtzvj84fMD/h9bZAQB0nZtZh6zbvjjwei93h0PmCACqFdaLAw+u0sTDW6uY9dwIALZNv9lKotov891uwy32sQCLt+vzuDR0t/u467dvPIKHK2AFAH5GT5eVqxSfJ+HGANuszHyRZEVx1vyeifGN4SqmCNAVLJ4LpGCkCJ1v3tktRibKXuFja2KXNOyJxiO7Oe5WskV4I5jQGeymFEHTZe7zBAqKAn8EQAAEFdGkWZs9PvTPLASBgEAEKQM+Vl2bYMV959fvHeVYxn1elgDIVIW7Uj81utifQg1MBHIZSmPxmp/B0dUUBIBemt7XGOLBe0TUCoX3bCWC6s8//frKq/oopfIgfmRGp8zhTAQB8Dc77MD76DIAbfLwSYltOxQ+ACwkjCA4gzQt6RKcIXwAYSggrkDgGG0YnCRAafv0W1ti0TvqaRBBPVclKotw9e6hmSNIp8whANfSc0G/3XAFlaXDRR/OsAoM5jnoLmp9+MM4u+S74BwRASxE7UrrvuXGgkcQA0WPbNhcPKhf+O3dLcF5VQJiYTW2v1e6tz7/N+4MdIg2bs2WYt+kUW5Wk5EAbGLQWICMVdVt+iMaGRmc7aPz1+3AbkzcnF5v3Lj3KQPkOZ6bBHp5xXoeTdS7su98/qT0rl+GolfmRVY28yfuy5eP+f+GWmx4Ic/rOgmQCqC89P3g43jXmag9OrwnsZYhViSKmSPLHFmmqMIxk8zVahxV2jT+5+XP6rfvf6VYfiMAJYB0/yfuDaehCYVnXtsTjxBEQYXknMzfOU03FSBaU6oXnqcPZiRKuF2x1gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

壁纸 - MACGF

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4ja2TSWhTYRSFv/9/r69/mmZo05gQdVMoGBUp6EZdiRPoQpQ6oKLghCsHUHCnC3XjgK66sQ4IFoqo4MaCQ+sAgiIqWBCs0lZtwQ5pmzyb5L1cFylYbHXlgctdnHu5B849MA2brXL9X2hos8od9Y850cZc3R0I3N8OEgapAKmcwjsgeuqGmtIFZF4stqbLcbrVxMTqd6VS8odSxUoR/1M+n+p0nL5Vvj9rIJc7fhKUOylNFBywAQtGq2x7AM+rG4faZ56XuFEs1rWIRHRV1fOr4XDzTmPajwLJPwQAiGXM9b21tfu/Q2EJbNoImEkyDN+W19Wt7Y3FVvSBJMqHwYae+cFg62rbPpTWOtOUy23dA04v3H0Feh0MPoG1n2FHk+seOeg47deBPCgBlI5GLz4MBLou+X5ik+ct+JLPr38BSz3oaIXbTxOJDgsqSzAqrruhHfLjkcjhc47TuxDEVsa0rnScD/u0HllWKv30xsbc1zD7E2Q/wuY+iGTgVgxOd0GVBIPXztv218VaD8z2vMhj9due2xsaGy+3NTWtoLPzLZ5nGBrKYtvVhcFBNzcxIQUR7fp+xCkWG1zL+lbt+8mXNrRZIqqolHR43qMfuVwmWl8/R9LpeiuTGaK/v99paFjkDA+Pkc1+p6Wle0ipYzszmeQHSI5MKjil4SS23XzCmLNnqqtHCyIhHY/HtdaaVGquHwgUpKfHd9682XYM9l6YwUYUSDgavXglkWiUVKpG4vGQxOMhqakJSjicFss60wwSKmelbOMMfy3GmAdbjbmzq6KiLy1iF0Xq3+fzW25ms8vvgSrM9Moz5SIIhIASMA7q599np2FanNXfIv4LkuH+RJk7XFQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Top Wallpapers - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Peder Mønsted - Sneklædt landskab med pige gående på vej - 1923 - PICRYL - Public Domain Media Search Engine Public Domain Image

发现导航 - 精选实用导航网站

Artistic Ocean HD Digital Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Colorful Earth HD Minimal AI Art Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

2932x2932 Earth HD Colorful Paper AI Art Ipad Pro Retina Display Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Wallpaper Search: like:7p1v9y - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

long hair, looking at viewer, Pixiv, anime, anime girls, umbrella, water, heels, flowers, leaves, flower in hair, rocks, waterfall, dress | 3186x1826 Wallpaper - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

03-wallpapers

发现导航 - 精选实用导航网站

wallpapers

发现导航 - 精选实用导航网站

CNET: Product reviews, advice, how-tos and the latest news

发现导航 - 精选实用导航网站

The Latest Technology Product Reviews, News, Tips, and Deals | PCMag

发现导航 - 精选实用导航网站

Our Solar System — Google 艺术与文化

发现导航 - 精选实用导航网站

NPR - Breaking News, Analysis, Music, Arts & Podcasts : NPR

发现导航 - 精选实用导航网站

The Difference between the U.K., Great Britain, England, and the British Isles

发现导航 - 精选实用导航网站

four-day workday - Google Search

发现导航 - 精选实用导航网站

five day work week history - Google Search

发现导航 - 精选实用导航网站

inflation - Google Search

发现导航 - 精选实用导航网站

Bright Side — Inspiration. Creativity. Wonder.

发现导航 - 精选实用导航网站

Verywell Health - Know More. Feel Better.

发现导航 - 精选实用导航网站

Lifehacker | Do everything better

发现导航 - 精选实用导航网站

VICE - VICE is the definitive guide to enlightening information.

发现导航 - 精选实用导航网站

Exploring your mind - Blog about psychology and philosophy. Articles and opinions on happiness, fear and other aspects of human psychology.

发现导航 - 精选实用导航网站

Microsoft Accessibility Blog - Making technology easier to see, hear and use!

发现导航 - 精选实用导航网站

Fast Company | Business News, Innovation, Technology, Work Life and Design

发现导航 - 精选实用导航网站

ExpertPhotography » Photography Tips and Tutorials

发现导航 - 精选实用导航网站

News, sport and opinion from the Guardian's US edition | The Guardian

发现导航 - 精选实用导航网站

History, Travel, Arts, Science, People, Places Smithsonian Magazine

发现导航 - 精选实用导航网站

Investopedia: Sharper insight, better investing.

发现导航 - 精选实用导航网站

ABC News – Breaking News, Latest News, Headlines & Videos - ABC News

发现导航 - 精选实用导航网站

Worldometer - real time world statistics

发现导航 - 精选实用导航网站

Xtreme Download Manager | XDMAN | XDM Home

发现导航 - 精选实用导航网站

Breaking News, Latest News and Videos | CNN

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

英文网站

发现导航 - 精选实用导航网站

今日热榜官网

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbUlEQVQ4jV2TPYidZRCFnzPzfns3NlokpYhEghAIwXWRCAFjpY2dWAkiKIh1CgvBgNhpFZuAnVYWopAishgkQpYFQQRZXEghKgqriUnMvd/7871jca+54jTTzDww55wRQLA1sHX2KL2JMQWbG2IsAcDmQ+IehYMfbolPp+U8EgSAAOKJN04x2GUwo3snMEidUBBuSIXw3+lxlRwXtf/eb6xqCdh+ZZu0sQcO4RACJcBh6stOAm1ArwcUe0Hfv/tjgAwAKx2NDY0dzSdsnGB+k5i/j40Ny8C80W8XEidI+cPg9UEQS0B0oWJYNqwEQzgqO/w1XkD5EhoPSM3x4sTdCS/n2D5yGmAJGOZgBVQ7aXLi3hdM9SK+m7X70Zsof4I3YTXQCEMT5BP/ASyWAMuBN6HxmvY+vsadB315Yv4OLcBGYSVQDWycrQFU8AJeBYvAyktx9vlj+uX6Is68eARrr2IllsvF0GiQf2Yp7QpgAeEG1nF/EnE1zj33DTE/jdJT9BrIxDAYU7tBY+9/gA5hQZjAgpROonSSPsHUAvMAE/QFxnl9+/ntWJkNQwVNK1ct6CY0QVRADXcjJpBDK6/p6y8/+5eW7rsQG4CJbuAuenuL8BnJ3qHXTnhH7qT++CqEsRaxtbgvkufAchB3drSzewHyLt4M5UC54/18PHvmaUGsk5hCWHOsCquGZzFwNEDE/G1s7HgdUHaGOmOYPoitrQfWSay9EfxBcBP6nzDdote/BaEr+ztEvYSXu6geMi0OsXqKY+3l9TM9xozjxx9mliEDsxkc3vhV11kAxDNssvnoI8gbACU5oayv9n/6B0NOO7mYhb9bAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

今日热榜 | 一为导航

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACB0lEQVQ4jcWTzUtUYRSHn/d974yj11tZmaDVNI5E31BIRVG0SXIl1ExqKkT/QMtW0VR/QFAkLYOKahYJ9gFBheSi1tEq7EMlxbIPbe44ztz7nhYOkUO1EnrgHDjnd87iwO/A/0b9oRYWkqoQpHJm6cimMQ3gAlcVPAY86WzeON+bHCj1Jgeke8MmwC1r11aDlwVTeUIT8FZBledwbuZEsg30fpSAZcjcGBm2cBYIgRbgA4AW0DOd8Xbpayg5mn6BfP+e+gSovV8KAaB4Ojk3ZuGUATRclnSL/z2VaBNQTv7Yul210egjiNwK7NTppOvYnublHUUrxnXUG6x9efz5xCqgKYRJ4HwYlSueMn359PpWR0eoLoS2qBU9flf8dsxx8mhawoDc6Oz8yc0PPtYqeAjgai7luhOHcyJ9WlRJG6lRnw7V19Y0ekMxo3b6AcVAbGRl1OjX3+az2++PN2poFagWePG1KzFebXRKKyiF8mrOnz2o1wx9zlkrFxRoEXFiWhtExjqeTYiCA0oRE8hldtSN1EVNKh8IjlJabHixfnD6hxZQy+68H/RLct2NaCeqVFAIw8w7P3QVIIIChs9sW/GkaLFeldZ+EN707o7eW2S2LJhCT7x9KhXfV25tAY6WYyvAdHrt7kLvhiNS9sC/qLT433qLkcyCL35bMOVQLDyAlswvfWn4CbV0xUZt23hWAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

今日热榜 - 全站热榜

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACjElEQVQ4jT2TTWhUVxiGn/fcOzMZJ+roJIZgjEYQgijiStCCKxcuhFq6sC1Z6UqwUAoFQVEX4sYf0J3oQgQVreJCFBeCgeKipStrwW7aVBSCRo2azMy9c8/r4sYsDpzFOe93nu/5jgBaE96mwFEimwQ1CQSJjSj3MRoDtumR8rzIOPvumu6rtc/bQo17iAEXICBGiIZKAt0eANRSFpJACSC6MeP7oIqPIwackwliryA2arjVjztdPNrCw008nxGznBgC0QUZkRqJT6bARhfEJCHtZGjNIP71F9Rfh79f4K1j0OyHB38SfrqEZz5BNaXiSJS1IZXpA4LBSYDZOTTYxFkOZ+6i/6bhu51wbJ/5MC8duID7KlAYSRCinSJAuDBeUkVL62jyL/TwD5h+D6fvwLP/xa6teOVSyHtIAEZBZY8IoCxHo4O4ksC/09BowJIaJKFcn9rlGQVsEELBlBECigLWDSEbfn8Oc+9g5iPs3wXjI3BtEmbbuBIQlFpTBWMLQqlufDVIcGgPfPsVrF0F28fh+iScvwfL6qjwYk2CTJTAhiAYG4Ish1tPSozVLZidg8NXoZNBmmKXAZZwMIoAhXG9CqOr8MsZuPIIjlyEny+XGg/uhnYXBxafry9FrYUJq9fwcBO9/lCqGh6Bx0/h6RQc2oO3rEcf2zh86YEhGPdsLFDeQ7PzeHgFqlWgKHA7gxM3cDVFpyZwCOBYXrawBn7If1Oa7lDhXtZTMjYEyxvwbGrxI9HJYfPakv2fVwCOBAVi8VLNb97sTfubN0WSYmI3Q0WEehUFlb4l3O6W4H1VLBEIEDszPwqg+fXURNoYPIrq65OST9GIBTQLBxamNQK0X8X227Nvb4+c+wyjGzAI92qC4wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

即时热榜-今日热点,热搜,排行榜聚合网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFklEQVQ4jV2TX4iUZRTGn3Peb+b7vplvdmZcc9Zdt7YWI8ElI6IiEOuiCKxASiHsYm/WQLyJsCLQyboT6c+dBla49AepzbsIZa3AIoxAEOwiWdpNK52Z3fl2vr/v+54upq3J5+pw4BwOz/k9hAEJwACEABnsL31UGQ4cvGR1flxb58FaVR2KE9xhRe+nwWECLAC0mus2OQpbyc8vRmUZqa/jz2IrH8DIol9Sn8ICYWJ3rd8bzjlrCwiw7Zn6lFsuvCm5PKHZzMIU766IPagyGRPRE+zwy8UCobNiP16/N5yTJpgFYAE4fG7jTMV6l3zLz+gINxHzlGvoXV/zWLeDvKLUfrFoRJGFgp4VAQGAQ4BtPYkhR2hrmtpjPWtPbSjfuNKx8PK4tk1DHQ0CfiDs2LQQoJiL/VN09D0RBIDw8lS1XozGT6uQt5suP+LFzodhb+RnP2p8bbqFkRtZa3vSk+9cza4vTKzpq/o0lpt9w0Er948fcVx+0ZbNJ+Jan0pi4UqGkmwIqrSnq/MXnOH4nCX/qgpsQTv6oHHJgrMv69PJgkOJ2mNz+1blwtJ7uEXdfY2rcNUb5dej2eWmd8ZJ+Vlj1GvKMa9UKsmiCIiRcENF5sf5HXD6zwCkX0NnuICUqgKQyulbr6AUJ+qHoZnwJO2GIYIwUjhJyKuPnofubKtV5yfgXQ9Hi50dtVoh5lc5pssEiOmRxipAPXtcAJJm3wOHQGGR1ZgAl0M7dPThRu3p1DUrjhuMUyZRZtLHAQAZT6620G1VO2eHAEGzTytDcIVI7SRA0lQOm0T+Kmm1WTIcitvxvbXTN38CAEr5KRNj9s4mkn+QBwCwiH3bEE2366O33/bL4rWsm+00ifxOq2rL8Pn2EgC0dzWe55i2eBkd+4/8fwkGwrG7Pi8S39fW+rGNfywsdO4ZmfAD91fNeCcP7JlSIN8kyh6pzl07LAANho0EoOuAX980+QWDHsogp5SS+cTPXa+sTvpl8aKiOVE+u7RvMHD/u2BNyejkASE64Dm0OYJ+P6/oc55HVe/ibyduZWRNfwMy7XT2KrymjwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

今日热榜

发现导航 - 精选实用导航网站

How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

KeePass实现Chrome浏览器自动填充密码方法一 – 奶爸建站笔记

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC90lEQVQ4jYWTW0jTcRTHv+f3W3O3TJeztS2XeRldsKxWVlIWSyga6UN0I6SHlKLsIQiKbhBUTwZ2gQp8KAoaFEVQdNGU0OxCBl2R8pJOzemUWM79/f93eijJosv36Rz48jnne+BI/FtLAUwF0AGA/+MFABAAmACHxTKhesP6kuHTp87H/P6iWgCusZ5RyT8BklKdlVkZacXJ1hQkjk+ijIzMaR0dnZP6+nqv/w4QY5sfO+qyHIaFpevztGyXSl0tDynUUa8tnpvmBTCO+dckvwDoO4PCA1+0oJYl2joV6o0kkD1jmaive6wBICLivwL4yBEBAL48j2nBlAiVFOXGy9bOYY/jK61avcQ81vMniQAHJHNAzsu276it2hPj0G3m8D1+dO244s31lAcCLJlZjh08ehDinxEAADk5rvZVhXlpZDDj7oNnwabGt67fBhIA1o0WBKzxbd61ZXKqRa0/VWFYEbWmZNUMMvMAfCNm61eL7bp1bUl09oSo7tzZM1cA3Py5gCnF799bNXQvNMI7y3bwYaOTL033MReUMReU8qUZK7nCPZ8Li3fzg89xrqy6PAypLwYzEcy2Ofmb9tbNnTExcbihWll3v0mkTJ+Nt/1tMsKAFhcwqAq8zkwt1v8ZhzJnavsuVibUXT4fPVBeViATHdnzpDNnS2rnS3ZevaEr9PqEXYuJowluurOoiPoWeikci9Ky1nZKdrpF7E2jrHjaFTfbzOMiXS13xVDw9UieVsMeF1FjjoObW5q4fFDFi80nOX1qOsPo4ORjF/iERcP796+4xiW4MD1I8dbq+KfWT4pQVZUOblxA27Yup+RZboR72vF80iLkuk2EuIL+iAqDFCTz/eju7USSOxG7S5fT/u1raCg2RDoAou5lm/SwmUyS0K2TlKoOItj8CtrzWzSixvFkmgvjP3bTgBRkkJLfNQeptWeApIQgAHa9XuY77VaSej16PgTZaLRSSAOghL9/nNEGmxZBRInCnm5jTQEFQ2FWFK3hG0BvPQUTgoe9AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

教程

发现导航 - 精选实用导航网站

品玩-有品好玩的科技,一切与你有关

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACH0lEQVQ4ja2TS0iVYRCGn/m+7/9/PZLZKtCjGCJUWxcuXQslURS0l6BNdIfWQVCLLruWEUgXKwlamLSOqE0U7SK1tBKEQD36X2daeE4GCS3qXQ4z77zzzgz8I8RAOIoDkEkqgF+xSYwhPD31fUSAilKFgmT2Yytf/tbBRnvqdCQfwNoJElHoSXk8d3tLwaHeAaJoGK0yVtNpmVlq2JHuvfj2YbRYIMs+kdTeErlOSp2G2cP4/jFKScgbzx2xGyFxE7hwjzjq3uSNDtIR7uDDNaoQAQGzBhvFONZ/hVpyH+eOk8pawGyFXBUlI7LmSLJKoRVKQTAhuBqlniKWAaJwmrViifV8XGaWGgF8jiGIBQjeQEAqwAGO4Hej+oKV9Qd0dbzEAWl5UZ4tLBo4R2n5plsIVRUJGEaKmWAkoDmN8gw7apdp8wNk5aRMfb5r4ATUgeVgihDwltpYbzeifVRmCLvkyeIrEjdI4k+wUX6jyM+1FgTgkCIDUaDEqBHHN/DSiQFKbgfqgwR/C4BSL8jTr1+a3ZsEtDU9YJ0QX8IxisoqgiLmaA83SXwvefVQpuYnWtJbdxDQrEDiHNiJk2NgyzhroFRAH87tIau+kxZnf5fegsOqLRODA9XrqL7DEaNiiEBRnW+5Ln8QOF8i5ERilPqGR3NXwXvMlAhHqRPbSd8a4f3iPPvrI1gck6dzAmrlj9dI1xAAy43Nx9mm+L/gJzhY/QXbkyLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

什么值得买 | 科学消费 认真生活

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADJUlEQVQ4jVWTQWhcVRSG/3Pufe8lk3SSTtUmmVQXaZXYgGOibaKILSoKCioaXCi0AXddNwXpRugmdeW2XWRcKYpCN0IRKrRU22BD0kaDbYaCpkksWDKTzMx77957jhsj9Vt//7/7CP+iABGg6eTE/kj0OAkOifcVFYUyL6jQXOp9tefi/MqOCwCEhwjvj0+T6CmytoTcw0cdUDaImtsACM6FB14wU/jhl7M7G1aAASC8N17lJJmRpFByqXNZKw06Mqr23LeaFveE1mbDBXCpk2imcaRSVYAUYPMpoG7yxZNGw8mw94mcP5slub1s5dY8AYB59yNQTy/ZDz82YiNpz/3sdnV1j9X7H212/rlx1abvjA2x6mlpZ6JdRYPdexhxonzsBPHYBNQ7SO4hF75Wd/UKa0fBNNNcoHp6c2zkO45MNMXGFH2rLRgaZl35Xf2NayQb63DfXwBEIPc3wAcrxP2Dqu2UnUC6gKIYTLF4PQwXVMkQTbxM4dYNkrVVyN0a7Gtvwl+7Ako6Eb89CRoeodBOSUHkgqoKDrOCKr7eAB0cJX66AjowDO19BLrdBD81At3agvvpMvxvS0CcAF4UQSn1AhE8Y0MI4CiB+WAK7vznal56haKpE9BWC+HXRVBPL9BdRFj9Azz0JIQMGAxSQIOA0U4X4r4y3KWL6r6qkipBm02Y58ahWQZ6rA8odIMHBmHKgwjbTfJra2pzB1IsWtjkOv5af9XfvqNIOpXyDFKvE2cZZP0eqLcE2tsPvzAP6i7qrulPQANlpfPnqLVSu87k0tlWHhq2UGDNnYgIcW9JKY4BMLRRhykPwgwdUC6XyY49LyZOuBnFjbx2d9Z2XFqqNY6OnilE5mzebOUIntA3wEgzjd94C+7yj3BLS8gXFylsbIg0tsLuNIsz4MzjQI0UYAKkfuTZanG7dax99HXowD6XffMlq43Z31sFBIKOTiEyUY+1+Fvpi/6bN6dARP+LafOFyjRn2amEbSn3AZko1FjECpigSIM8cKIz/cvL/8X08AEB0PsTo/uty4+r0iEJWtEgUNUFUsxlaV7dV6ut7LgA8A9TRbIkiB/PvgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

站长之家 - 站长资讯-我们致力于为中文网站提供动力!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAi0lEQVQ4jZXS0Q0CIQwG4La4kMkZF3AinOPWcAncABpHcQGRe4Bw2ANT/jfg+9M0AY11MBVjXWoSQogeo0dxn2Oso7bMzOd0qcfT/XkcQCM9Ck3pUtDrUhD6hf7omDmvROKBlm9XXx/vnx2UuhSy0+h9QlcDgNCdHf7ks94mCllrC1WrCq0GAJz93htemlx/Nw7NbAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Solo 独立开发者社区-链接每一位独立开发者, 从 Solo 开始

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jX2Tu28kRRDGq3umH9UeM3cnj/Yxa1vy7uoYm7VkLGxE4ARhJExAQESGkLzmTyBAhM7uREaASHBCbBwQIAiIzAoHIGxHzjZAwlzifdxMz0fg2ZM5cVdSd9L9VdXX/StB/w1BRACgdnZ2esPh8DUiklmWXR4fH/8qhCjoZQFArK2tvdtsNr+P4/ivKIrKKIoQx/GThYWFn9bX1z8EEPyfVgBQ3W73sXMOSikYY6C1hrXWG2NgjMHc3Bwajca3+/v77nlxmGXZ4+piWavVTlqt1mGtVvvZWgtmLpxzubU211ojTdPvAKjKMtH29vY7zjlYayerq6t9AAEAASBst9ufMzOY2TOzt9Y+ZWZsbW19MvOtW63WiZSyXFpa+qHKTEQUVOdcr9cHWutZJ4VSytfr9d8uLi7mZf/j/sPJZLIppSRr7R9EVFRiT0SSiPIwDM8BkBCiBCCllGI8HvcODg7elpdXl6/mef6AiOjm5uYtItKVOCCikojMaDR6Q0oJALeblGWe5+Hp6WldFkUhAQRBEOD6+vrNdrv9xWAwcADE4eHh/cXFxUej0eihlLIkIimEmFmH957Cbrd7eX5+/s90On0AwA+Hw892d3ffV0r9OZ1OXx+Px10hRFnZEUII8t4LY0y5srLyNwEwaZr+qJTyzrmcmf2MAWMMmNk758DMsNaWdx7x97Ozs3tSCDFtNBpfaq2l9x5EREEQlGEYFkEQlOK2Z9BteQDwYRjKZrP51cbGxpNnIHU6na+ttaj+uXDOlXcXMxfM/FQphTRNTwDoZyBVSczy8vI3zDxD+C48pdYazjkkSXK8t7d3/0XDFPR6vY+SJPkliqKJcw7OOczPz+dJkgw6nc6nd0B7cVxdXdksy96L47gfx3F/c3Pzg6Ojo1eeG3siIvoXsuwwBwy7yPsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

(つェ⊂)咦,又回来了!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAADG0lEQVQ4jQEQA+/8Aff79/v9+5LhlzXkE0QjTPYZDAwEC8Xtxez97E8XT/j9+AMEBgH8/v/+/gQEBV/GXwMYWxju++1AET0EGxgaFyKk5qrV9NU3DzT15PYKFQuR1I4w/iIKDhL/BAMA/v4wETAB6/nts+KxFAgUEQIOOxg98tLTle2nBeAW4brb9kgASRkrVMkP+n1bAcjUBTMqAQYEAgDy9wQHBDQPNDEYOP0CAg/r+gWp+t3T30VWQxTWD9i24fs5JAL+/ffW2vD27P8AAAIwPlPxue/eDePBv58C5O3ZLRiow8MX+Q/Z09kS/w2vt77UHA0FBAXuYj2t7rby+vEDJ1ijzL7FAN/fO/QWGCIin6ypojSgwTzDvJjEvWK76C/nJMwe9Sr2CfUDRxxGk9iTAvbduQ0zWKC/BGa/xucN+z44OxH9EwjlBFYiGAniBAvwDC80MicLJuD54Pn8+XUsdQJ0VCPx1q8yRFf2C0BbY38NDQg8vkecjEmg7giPlT44r0I3NzYfCSDs/O78APyl3KUCHBge9ubm3MjLHycu1/IXq6uoFyUS+kIg5RINB0IqCx0GAv3+APr8QQo7qt+pJxAnBAAdAAUWB///Afz9+wwNDeHi1/Hy9/5NS7DfChIfJfy3tcGGkz4sMR0IBEhAQBoUIwT7F/r8BAAHAgz4+ff97NXr/e3+AQLY0dI6Pj/b19fz6OulANTZFgoTEBFgGEr8/fwDl4SYtuGR9e0J7dnKPBzxWFpbIyIi1NfX6Oblzc/PPDs7Tk5NzdHUrrOw9/j2OTg5AZfamBwMG8GEwgL8/y86Lf73/gEDAfwD/bCxsSwrKiQjJP79/sjNzx8aGcvNzCotLAH////w6fGFqIPhFt94JHq+6rwTBhQ6FjsBAv/9/v77+vv+Av7i5uYQGRYXCw65u7oBseGxEQkR2fbZCgILWh1Z0vPSEwcT7Pns9vz3/f78AgICOhE6AAAA/J6z/1hBBQoMAd3y3QL/AgD+ACAQIPr6+gYEBgD/AOP24/8A//7//gEAARsKGwD9/9fJubQPzl4ZY46he1piIDWyAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小众技术工具库 | 专注分享实用软件和精品网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC9ElEQVQ4jV2TTWhcZRSGn3N/MjMx5mdi0kZKI80P6kKJWmKs8S9CxYpCXYoiSC0tIroq2IUjbgrFQne6EYRQDKW40I3SdqF0EUMSTUI7JlibNNE0TTrp5M7kdu7c+7qZkdqzejk8H9853/u9Rq0kOWaW1PRQAq8qYbc5GAmricN53+yne1nv7obCsI9U6tSVudmR6clfM38vL5EoovuhXgaefPpDSRPAcTP7uX7GJJmZSdIwcO7336Y7Tp/4TMFWMQ6CEjfXVrlzJ+T++zLOW+8dcY5+dKwKfGBmX+VyOcczM4Vh2AN8t7yy0n527EyltaPL797zsLsdlllY+JOdO3fQ1trExtrNaGF+3u3r7/8yiqJrvu//6AB4nncCaD/zzdeVsdFR/+rCHwS3b9HS3GQH33zDBocGmZmaYvGvBe/7c9/GShI8zzslqQlJj8dxXJYUn/7iZPz6/heTMNhMdE8dOfROPPjIruSlvY8m+cuzVUmqVCpve8CImWUAPTP8PMFWgYnxcbr39Kq9s9NmpiZpaEhr37Mv2KWLF4i3ypRL2wIEHHCAXjMTYNn2rKWbs7o0Pmmzc3OWSqVZvL7C6NiYOQ1pSze16OjHxxh4aq8L4Pt+j1O3EpDrehrZN2QWljSfv4zrekhVos11+nd1KZfL2buHDlO7HcA1SceBz4G4miRuYfGq2uJtJ8p2aNs8yziQKQcEQYmwJZs0tz1gvuclZuYAPzjAL0AMOJ7jWOOOB2018bR+u2RBsST8Ri1vhaw7KbV3dlmD71NfGbhgklzgIvCcpKqZubc2NylsbFAOAltbXSGOKhp++RUy6TSSEjMz4AYw4JhZDHwCVGtjVbOtreb7PvMzE+rb3aXHBp5gq1gEsBrvAJ+a2Q0kObU8vF/3fDsMo3z+SlQJi7FUjReXlqr5fD4qFAp15GQ9Q9wtJO1PkmS6TgVBoI319f8+U6VSuSbpcI01ag/xvzhLagQOAq8BPTWbrwPngbNm9k89gAD/Ah/Lu7htjeb6AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

异次元软件世界 - 软件改变生活!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACWklEQVQ4jY2TX0hTcRTHP/dud07dJprTtkqLelCuhZAVQY2hJGosjKZUD9GDUQRFBr71JL0UUWC+aS8lPWhiKBGJlfhoCCZeMoSk4d9N03nT/bn708NczlLw+/SD8/2e8z3n/I7AP5j0ac7u8cD9YU/YMaNGswDsZp3/ZIFhqLYk/WmxVRpM5QvJhxqP57UMqu3dYwFX/N+sKeRa2djXWGFpMAuC928CNR7Pa+xe/jQyo8k7aLeg1C4pLe7scrMgeEWA54Nq627FAKOzmvzs42o7gDjp05xvxgJ1ACZ9lJtlemyZ0f9E+RmJmEVKxHqUoGvCq1Xp7DVNj5WFiAzgliXuOvZwviidEc8a3vXEiIpyYrS5c3EcNrGyrvF1IQZALB7PEoc94cpkFUkUWF7TUOYCtNXnUXEQDlkivKi38mMpzOLvMDph09WXaa1SnN1YVRKRWJw7vX7eKSqPXFbOFEo8eL/I7Z4VwpGt+5lXo2ni9mMS6P++TuvQEvecuZwuTGOn1eptZp3/58qmC70o8KTGzNkjJi6/nGN61cfD6lzyTTqkVP9AvkkMiacKDEOp9rMzJcoKMrjV5WVKlRiYghtdXo7a07GaDcRSrJw4YOgXvvk059XXvz4DWKQo148beasE8ai6LdX2ZUa5VGLk1WiQ5VAi1nElp1oAaB7w9/YoQdcObW4LV7HxQ3NlVpUI0FhhaSi1S8puxcdsktJ0znINQAQwC4K3xZ1dflE29u2mcmtd4g5IvcYkJuaDFzrHQw3D05pjYeOP7DXrQmX7pX63bOyQbWmdqfw/Cxne8dCeVlcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

小站

发现导航 - 精选实用导航网站

Emoji大全 | Emoji表情符号词典 📓 | EmojiAll中文官方网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADTElEQVQ4jWVTXWyTZRR+ztuvX9v9hM3BsjV6oSYaftZmSDe7tVOUAMafrqWLcfFvKu00jHhBCCYG6xX+hBDCDeNCE0KQGy+EBJkOaV032FAcTbfgqmxituzHDRi6td/3fu/xYjT+8CTn5jnnec7FeQ7hf3h6+0v+m/OLHVJaQd2h3y+IkF8uTGl220DlfZWfne850Xd3lAAwFYWxWMyeGf3jACvu8njW6g0+L9y1awAQpmfmcPlyBsNXR00hxNENazfsO3YssVTUirZEQn+8KXzm+dYYn/06aTGz5HthfdubVuG2d9gfiCRjsUQJAAEAaGwOf/pcaCfncuMFZmYpJVuWpYolTVNZpsHMzOO/ThTC0bc58ERbNwDgqW0vb/T5XzDP9aTu2aqUYlaKFTMrZjbu8qnUJdMf2GG1Rjuf1G4t3IzX19dpW7cGlVKKT35xGlJKevWVCAgEFgSMZUCzk9CImCuqEGxpsHm965DJjOzSTCmDjT4vE0gs5/M4fuJL5PMFRHc8g9LSEjAzqOcUOHkaCkSWxw99vY8bfB6MjFzboum6XlNbW00A2OVy4sjhBElpobS0ZOVWRKD23eBQB2xOHTbHCu+urSYQlWv/zoBSCo8+8vB/csHMUFU1QFUNsmMT+HNxmv2b1qz0FEMzDGNmemauAgAx/yO0LAtCiBUDaUGzazj40RFUrCon/6Y6npyaYd2hmULT7OmhoQwBsIQgnpub56WlZdhsNhARhBDQ7Bqy2Z+RHc1xNPosA6DBwWEucTkvitUVld3DV7Oy93w/hBC0d98Beu2NPdw/8ANu317EwsItfHWmFzs73+OWgI8CzT7qSw/Jsdy4qK+v6yYAaAxGDlVXrX738KH3DSKyf/zJUfppeIRdLgeUYhQKBiLh7di7J043bkwau3Z/qJeVu86d/KCrFQDE64mEs6kl+k0o0snJ7wctZubZ2Xl1IXmRk6lLfOfOX4qZ+bsLAzIUiXMoEvvlypVr7uJHAQASic+dqXTvwXx+Oe71rLM1Nz2Ghx58gEGE69d/Q1//j5TLjcPtru55q+PFzs2b/RMAqGhAABgA2tu7tvw+NfsmmLdZyloFAC6XwygrK0tv9K4/vn+/8xRR3Cxq/gZYvbxpRSw4agAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Apple logo Icons & Symbols

发现导航 - 精选实用导航网站

MSDN, 我告诉你 - 做一个安静的工具站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACD0lEQVQ4jY2STUhUYRSGn/N502szxCDmTGR1hVqUCS0EI4sSiqQSC5IWBeNCKNrkIsilkAVBRZugQEKjMsTAIELDGhdBP7QYAqPAdAJHBEknm2a07tyvRXOdm8xE7+bj/LzPOXA+IauFY1YYpAMwEYnG1y21bb0Z/wpw+XFReMnMnEfwO5pxneFM1yE+AxgA35qtOo10i4iR5VkbposNoOn23dK66dJ0t9urBEsb9AB7ABSAUqrVYwbAETkyca4iOBVKt7pmVwK7L40QzAFE224xZay6oR09gtaxH/gIpI0ZDe8yijYg6YHY2Rei4YbqqoXYaxHxa/T4WEVo365br+Juc38/RZNruJpStP/ZjicXD9C0vMGO3sjYcKi+FhgUzVQwmT7e39JS5AK+l7A5KVQ6MOoTumrmOerZJKeG60PVMd/6xsnTNdfcnH5GH0LIjWMOPVUH6XVjA2DtnfETs8Xl7RHRO9HEgGXAl19lA0FjrtZUdAD4FaPeoQpgtqTcQrRJHlmH5x6RYciNVzYpAE4GrijHHswHADA8R1ydFwA4yqCQFj1z7b+/RA7wLyXsQEHLfwG8U50VtXyASp7qEm/iRaY+UQieA2h5CYBgMJ/oCNyf2LTtwdvqjX3vL0ScvYtAFMDk5/78gFOB50A7WmaAzgRlHz84WzobzNGBe81nP71JbW9E8xCw9TBh1/YbqbqoHhHn6oAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Greasy Fork - 安全、实用的用户脚本大全

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWklEQVQ4jZWTP8rCQBDF3+KiKQxJMChoIbKVdxA8VMADeIUUdpbewBt4AFshoPinUBHRSAqLfV+Tb1HyRx2YZtn97Zs3M0A2FIAJgBWAZ5qr9Ezl3H+L6WAwoGVZBFCU09yXQoglAPb7fe52O0opyyDLzM8AGEURa7UalVLfQIwSNRwO2e122Wq1uF6vDWS73X6CKACYeJ7H0+nEdrvNZrPJzWbDSqXC8XjMw+HAarVaBJggdZi2bRtIo9Hgfr/nf8zn8yLASgLoAUAcx1BKIYoihGGITqdjDDqfz0Vd6yHts6Hats3b7UattVFwPB5Zr9fzFDxNCa/pOA4XiwVnsxkvlwu11rxer/Q8L1MCUiMKnXZdl4/Hg1pr3u93uq5LIcSbiaoMAIC+7zNJEgN5KceM9rQMIISg7/uM45gkGQRB7kgvPylxHIej0YhSyswof6WkdJle4qd1/gO5YCO0UWoSswAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

PowerPoint Templates and Themes | PPT Slide Templates | PowerPoint Slide Designs | Presentation Backgrounds | PPT Icon

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACCklEQVQ4jXWSS2tTURSF1zrnnptnE7WxTWpbK1KxtQWp4EiqFFHpyJEgOBD/iE5E/AWO+w/MUEciWgdiBUsxtqaooU9jtSTNTe4992wHfUDFrtne7LX24Ft0ZRwhQgTHJ9D6gdQpBquSHkBQ0w/vHn2tDa9+pIQceQytOfqUdptHfwAFyI9JsIJEkeGaJEpor9GV4YQiB8kAQQoBJ4QVKMBBFCmiNDwAOiEwgNtPFqADADopUIAABCiwkA48CL5UM5++d0nMhJGEiXqOReNDTVLml7o2tkzHmjAitIwPNs6fbnFjxr/95PKDyW9TF+uEimJ5NV8oz5WccHps7cbET99Q4N5Wup+9ODNz/73XUwjvXalNX6v39bRdmyopXvev2opnrbo1tTXcH7iAypdssV5b8bxGRyGJwWKrUk3DhwPgofI5fX1o8+bZ9cpiChoOgI/Fr+lSIsimoB/dQSEXld/0si1B6M1+yNeWzaW+rXwqmqvmV+spCpeW0y/fnZgc2DQ6pnsOGmw39OzrzJ+GyiXj0d6GAyBQ5MJ6Zsd6hu7cyVYuaUMLujJEQI8U+b2A5g46AuxjSRkQANC2iB1IKAAkxIoT5oYJn86S3DO0QjRDNkM6we5S7QEm6ET76L+AbBZxtMscJBRFUQ76og71LRYaKY0im6PYPc8/UocmQmLQoDiCdIbi/mP4Cxdq555GkbmfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Download subtitles from Youtube, Viki, Viu, Vlive and more! - DownSub

发现导航 - 精选实用导航网站

ProcessOn - 我的文件

发现导航 - 精选实用导航网站

Hoarder

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

✉ Guerrilla Mail - Disposable Temporary E-Mail Address

发现导航 - 精选实用导航网站

临时邮箱、十分钟邮箱(10分钟)、临时邮、临时Email、快速注册Email、24Mail--查错网

发现导航 - 精选实用导航网站

Attention Required! | Cloudflare

发现导航 - 精选实用导航网站

Moakt Email || 临时邮箱专业服务

发现导航 - 精选实用导航网站

Mail1.io - Temporary Email Provider

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABfklEQVQ4jZVSu04CQQCcfeADCgN3cjEUSrTBX7AzlkYt+AB74yNEjR+g8SyMBUH9CWy1g6jRH4DC3F1DAGOhwQQhwt6uxXFITjRxmt2d3dnMzC7RdAP/AfcGKaWUklJKKe3vSUD5cwLQvkApNT+fSiaTlUqlVCoDIIQASAlhSFcBBHimzOIcADTdiMYmc7lzpVS1Wt3Y2JyMT8W0uKbFz0ZGbeAJcIDTsXFNNzTd6FmilAFIJBKmeTyTnMlmc1BqemkxGh7/uL9XlkUDGTx0ut1IJLyzvTU3OyuEWF5d4aFQZ33907KCoT3cXN80m810Or22tgqgK0Q+f+Xe3i0MnKGDgnq9vrd/cHh49Pr21mg0TPMkk9mt1WrkZ61+Etpqtc4vLkvlMme8UCx6XQ95Bw/KL7RQKAJgjHnLXwV9MMaG8sEMwduG8T2B7TgPD4+27fz00CakQUjb54n3+TjnjDHXdYUQAYEh3Qmp3il5oexb8AeUV4ZvbHjoQIBBl1+HUIfoFURH2QAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

临时邮箱

发现导航 - 精选实用导航网站

玉豆分享

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB4ElEQVQ4jcXSP2gTcRjG8e8v98ekMU1CEmnSEgRxqCCUIr1m00pRcdBBtOIiKEJydCjiVAR1dBNJF3ESuzi5KHaQ6mRQqKJUKxUkkRwWsUmaNL27Xn8O0rTY2qqLz/w+H3hfXvjfEX86KHPGKTwOgQzjF5fFrcJXAHXbotl3pVxzb1pVB6VTw9euEC95GnBmW0CaxpRVdXrUtI4v5GO56IACCGqrMy1A5vpHEewDeV/kC49kznhl1d0eEVFoPxrB/eaCELhvmxDRn2+4gRw2usrfnZKiCaxFl5rj0R0N4OkQOv4TcIsO7iebzntTrZ6vJd0ufEmdT4xLQBOCYt1hprKEYksWHlewp5ssz9qkQjuur1+zBcisYYrBiXMdQ4nhRFijN9bG5wWbmaqNsgQrcx7JsD4rxl5c2wBIsy+DwC/ZH0WT08ETUeJta8j7SpPkTu2jyBf2/nrotRuMZALWvL2YxHeXfPpqY7JWbjycZ67iYssVDjx4t+nPtFbAls+SQe0pusySK90IBrSDu07GLsRDGl1BHWkag1sD+AdEvnAYVX1iCe8iA29eciw13nE6dsdzJcDZLQExNlmXI5kAoCYbe1Sy6VGyH4bEkYlLqUhgN4jXmwG/jTT7e/+q8K/5AXzmsIjgOiEFAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

首页 — iKuuu VPN

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

vpn

发现导航 - 精选实用导航网站

8866-PyCharm激活码最新2023永久免费提供_pycharm密钥激活码_Intellijidea激活码_jetbrains相关产品激活码

发现导航 - 精选实用导航网站

云萌 Windows 10+ 激活工具 - 首页

发现导航 - 精选实用导航网站

激活

发现导航 - 精选实用导航网站

自动发货发卡系统搭建教程_小红帽技术的技术博客_51CTO博客

发现导航 - 精选实用导航网站

Agiso 阿奇索自动发货软件

发现导航 - 精选实用导航网站

自动发卡

发现导航 - 精选实用导航网站

贝贝BiliBili - B站视频下载

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC2klEQVQ4jQXBS2xUVRwH4N//vO6987jtMNNbSjtlhlZFKQVttG3apELkEYhoiCSQWAMutGxYuNFEVsYo6cKVCTuDBU1GmqaGEDEGSGUFCZQSaSGMMzVoC/Q1HWnnceeew/dBIkTc5oAA6mwVq48yIgAuRciSEHAAIoCIQQKKHMZKBpbNT+7b+7YXV4FZNPzy/enMzVuwCTBUBgMCAgxJgGtmEmH73ImPBkXilfn1LUKlOb2bTLmtG67/lSWjlBE+AhAUoAFujDxzZP/hchHF0p+NsW9nHzx3ZXup1OV5K5HQZP4/h7lVU2EwDKhxsNSGTQNNyUJ17UqD+nj055VoaGhkdGS96Gv7g/7dVsj5Xy9LpjjgCw5hsXiU3AJkOH325u0vjxz7pWf38IfHhn+9lm1JDo+P1dl4p7fL1yUjBGkOYzgnPbhte/Mqn5S493h6j8O3CNX6+sDx7848LTy5cOLo0Gs7V5m+nfvHZgLa58VyxW2L98TjzZa7tcV7ae5JlPEpi12dnhkf+rTv8VyQy/W81fdMyclc1iHiLoVv5PObujoHhGzLzcJLXGKhL37K/HBq8M38Uk05DzsbE4/m32vrnKgu5+cXOAiVoHrl7qTT2NCyo+PSWuGr8YvffzLU9/eCbtj448rSyfOZ3jd2pgt+LJ2cuDdFilAVYAFIw0skiPTZo+93P1sNZOhCpXp6bMwP/M8OHfjabrrvhQ9lRlgNgIECIjI6v7jY393f6zRFF5fvtNLnFzN+4DdE7IPJjavrC2vks3KNG2kjCGpAJagyZmWzjxJebHtrKvK02N7x6uZU8vSuvh35f7G5/tzc3O9TMxzGgtEcmgEwQY2ZqzMzTnt6r5t6mdQuGfKWVuoaY3/o2jejvwWBTRbIB5MghqAsDBlIzSvGHOzvPtyxrUmbNQsTudnzl689h9FCABwAgDCYTZI4hwSTFAXQTJSudx1HAeC8noSEwgsTsxoSF44BMQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

视频下载

发现导航 - 精选实用导航网站

tools

发现导航 - 精选实用导航网站

ZType – Typing Game - Type to Shoot

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jYVSS2hTURA9c9997yUmNomNitGFKwWlC7VFEZEWFLoRdFFBRCguqqBQP7gQRJ67LpRWgi4E0YUgJPgFhSr6qlWxtRZUVMT/B21BLdGmyXu5946LlBRR8Sxn5sycmTOESewoDyxwQnexgdECRIACIDEFBQ3AtiSFYWkse/RaPzzPEAAsynnOmrWt/dFI3TdNpgiwRQaAABgAwIABIIhhDDSZpWoi2JStX3FfAsCy1RtsVS5Yb173b8o3bivgP9hTfHSJpZPClMYRECJOKrMo0f7WD4rSpdQ8h8aevVH5xRtDMFO1Li9AG7WwrIpAVb0AgI/PnUDY9qjrWOdiEat3lq1uyC/jFzOZ+QN7xh8fARG3TZI7PvtpUwkW6ooeqSnoa2lR89lfF/9qzwgcLdySLgnLbRBSnFXlidtgpjyR3vzyal10Wry3otWZY8nlw2Am+tuO27/emxtxnV4dlA9m06vOg5na3512k/UN18F8qyfRdADMBCIWNRZ7AgC2friTcW3psw67s+lV55vZlzh0yErObLjMMAM9iaYDHrMAEU+NZBAAtI/5yc7C0NDOscFOAOjgIRsA7f4xfGVXcfg4AHjMsi2Xs/6QvWWkN9ZZGLzbWRg8CADN7MuqZY+zeyeeHP6XpQRm6nh4QkYXLM0R6FVPXeM+j33pUYva9WPoFAOtYVDZJi1MF2A22pAzra5o1Pjt7sTK7xJE7BYeLCFLpHtiyzZ47AmPWnSz70kVhi9I0KjjymYiFgyQkDzO4NYg0HkAXRIAmGALskYBwCPPVK31VB+8rr+69OlmmWwrWfsDYdvEbFLr315IzhE2VX85gbitfjtWGEBGUzKggDIM87PWQE2E7xm6fq5b3wdBKkkgGCaIKT6BWEaYqMwVskQGBvur8Um0Pc3FE+kZMW0c4xZLZM+OcqVYquWDWJTVaIkQB5woq5OJ1u8A8AvD8D79cc9ctAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

game

发现导航 - 精选实用导航网站

莫烦Python网

发现导航 - 精选实用导航网站

Python Projects for Beginner to Advanced - GeeksforGeeks

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Python Syntax Checker PEP8

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

python

发现导航 - 精选实用导航网站

The Everything App

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNUlEQVQ4jY1SQYrDMAyURG+lkJIfJIf8oqc+u59xKARKbBObXoo92oO6blh2Yediz3gk2bJYVYlIVZnZ9kTEzCY2agYi+pj+CbGl1Xm9Xi3FnjZR9tHbtl0ul23bfqWGg0Vbglrr/X6vtdpZo83AzG+3oZTinCul/ErfYaoKIKUEQP/A3kAAQgjTNHnvAZRSWmSj3vtpmkIIAISZAazrKiL8jdZ+g4is6wqAmUVVRaTv+5wzgH0HbQMg59z3vYi8rwTAOTeOY0pJVWutJlp/UkrjODrnTDxY6a7riOjxeJRSzudzu1KMMYRARF3XvWenJVuWZRiGYRjmefbee+/neTZlWZZWlq0h9tAYY875er0+n08iOh6Pt9vtdDpZTbOxvf3zkUQxxkab9TOzrcKP2d43aj/hX+p0kdT5jcFLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

docs

发现导航 - 精选实用导航网站

My

发现导航 - 精选实用导航网站

新人看板 - 新人 - ByteTech

发现导航 - 精选实用导航网站

文档管理-线上-火种服务运营平台

发现导航 - 精选实用导航网站

文档工作 - 飞书云文档

发现导航 - 精选实用导航网站

APIHub - 接口研发平台

发现导航 - 精选实用导航网站

火山账号管理-账号管理-Byte BABI

发现导航 - 精选实用导航网站

权限中台

发现导航 - 精选实用导航网站

‬⁡⁣​⁤​⁣⁤‬​⁢​​‌​⁣⁣​⁣‍‬‬⁤‍‌‍​‬⁡​⁢‬⁢工单-⁣​‬‌​边缘云文档体验提升专项记录

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

‌​⁢⁤‍⁤⁤⁣⁢⁡‌‌​​⁤‬⁣⁢⁤⁡‍⁣​​​‌​​​⁢​⁢⁤‬‌⁤⁡⁣⁤⁤⁣‬⁣‌⁤⁤科锐尔人力资源服务(苏州)有限公司报销 - 飞书云文档

发现导航 - 精选实用导航网站

‍‬​⁢⁤‌​⁤⁣​​‌⁡⁣‌​​⁢​⁡⁤⁡⁣⁤​‌⁡⁤​‌​⁢⁡⁤⁢⁢​‍​‌⁡​⁢‍​​‬⁡字节跳动(中国大陆地区)外包管理规范 - 飞书云文档

发现导航 - 精选实用导航网站

外包资源管理系统

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

科锐尔

发现导航 - 精选实用导航网站

火山引擎控制台BOE-SDWAN

发现导航 - 精选实用导航网站

SD-WAN 接入服务 更换 Edge 设备-操作指南-文档中心-腾讯云

发现导航 - 精选实用导航网站

如何释放一个不需要的SAG实例_智能接入网关(SAG)-阿里云帮助中心

发现导航 - 精选实用导航网站

安装和登录EAG App客户端--边缘接入网关-火山引擎

发现导航 - 精选实用导航网站

‍⁢​​‌​‌⁢⁡⁢⁢‬​‬​⁡‬​‌⁣‍‬​​​‬​‍⁣⁤⁣⁡​‍‬‍​‬‌‬‬​⁡‌‍‌‍SD-WAN+二期MVP差异部分PRD - 飞书云文档

发现导航 - 精选实用导航网站

‍‌⁡​⁢‌⁡‬‌⁣‬‍⁣‬‬⁢‌​⁤⁣‍⁣⁡‬⁤‌⁤‬‬‍​‍⁤​⁢​‌​⁣​‬​​‬SD-WAN+二期产品 - 飞书云文档

发现导航 - 精选实用导航网站

‬⁤‌⁢‌⁣‍‌⁡⁢⁣⁤⁢‍⁤‍⁢⁣​‬​‬⁢⁤⁡⁡‬⁡⁢​⁡‌‍⁣‬‌⁣⁣⁢‌‍‍SD-WAN+二期文档问题&求助 - 飞书云文档

发现导航 - 精选实用导航网站

SDWAN业务线需求-文档 - Meego 项目管理平台

发现导航 - 精选实用导航网站

‍⁡​⁣⁣⁣⁤‬​⁡​‬​‍⁤⁤⁣⁤​​‬⁡​⁣⁤⁤⁣⁡​‬⁤⁤​⁤​⁤‌‌⁤⁤‌⁣‍产品需求 - SD-WAN设备高可用与动态路由 - 飞书云文档

发现导航 - 精选实用导航网站

【SD-WAN】【端】升级/重启/重置(本地控制台) - Meego 项目管理平台

发现导航 - 精选实用导航网站

什么是 SD-WAN+--边缘接入网关-火山引擎

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

SD-WAN+

发现导航 - 精选实用导航网站

‌⁤‍​⁣⁣⁢‌‍‬​⁢‬​⁡‬⁤​⁤‬⁣‌​⁤‍⁣⁤‬⁣‌⁢‍⁡​⁣‬​⁣⁡⁡‌⁤⁤​⁤⁤⁣◆ VEI 文档需求及反馈 - 飞书云文档

发现导航 - 精选实用导航网站

智能边缘-控制台BOE Stable

发现导航 - 精选实用导航网站

边缘智能文档

发现导航 - 精选实用导航网站

★ 待我处理-VEI设备管理&物联网 - Meego 项目管理平台

发现导航 - 精选实用导航网站

工单中心-线上-火种服务运营平台

发现导航 - 精选实用导航网站

ArcoSite-边缘智能-设备管理

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

边缘智能

发现导航 - 精选实用导航网站

E19-1.7-租户-舜宇-veStack

发现导航 - 精选实用导航网站

Sheet

发现导航 - 精选实用导航网站

‌​​‍​⁢⁣⁣‬⁤‌⁣⁣​⁢​​‬​​⁣⁣‍⁣‌​‬‍‍⁤​‬⁢​⁡⁣⁤​‌​⁤​​⁤‌​‍​物联网平台IoT Arenal - 飞书云文档

发现导航 - 精选实用导航网站

‌‍⁡⁤‌‬⁡‌​‍​⁢⁣⁢​⁢⁡⁣‬‌⁤‍‌⁣⁣⁤​⁣​‌⁣⁤‍⁣‍‍⁢‍⁤​‍⁢‬‍‬数据转发使用文档 - 飞书云文档

发现导航 - 精选实用导航网站

‍‌‬‍⁤​⁡‍⁢⁡​‍‌⁣‍​⁢‌​​‌‍⁢⁢⁢​⁡‬‬​​‬⁢‌‍‍⁡‌​⁤⁤⁢‬⁤​‍⁢⁢IoT交接文档 - 飞书云文档

发现导航 - 精选实用导航网站

‌‌‌‌⁡‍⁣​⁣‍‍‍⁤⁣⁤‌⁤⁤⁤‍‌​​⁣‍​‍‬⁣‌‌‬​‌​⁤​​⁣​⁢​⁤⁤⁡​⁢备份 - 飞书云文档

发现导航 - 精选实用导航网站

IoT-SDK设备接入 - 飞书云文档

发现导航 - 精选实用导航网站

EMQ 文档中心

发现导航 - 精选实用导航网站

JetLinks 物联网基础平台

发现导航 - 精选实用导航网站

物联网平台(IoT)-阿里云帮助中心

发现导航 - 精选实用导航网站

物联网开发平台简介_物联网开发平台购买指南_物联网开发平台操作指南-腾讯云

发现导航 - 精选实用导航网站

ArcoSite-物联网平台(公有云)

发现导航 - 精选实用导航网站

沙果开源物联网系统 SagooIoT | SagooIoT

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADCklEQVQ4jW1T32tcVRD+Zs6552bvktRNtrFNEy32hy1VyqpE8GlbBZX0QRCrhIK40oKIFEr/gCj4Iq0IIRXBvrQKYlqrPqmlUqFvagu1FdqmuDaNm2zSbdzsj3vvufeMD5utIh0YGIb55htmviHcxwSgbkzd1OfjObA+AqNKiJLfEYZFlKYX+X9AXgVJ1wEgf7w0BPJ+RF+mhFjOAupllKYX78sIAPXR0YE7xeLw7I6+fgDAn2M5nHnpTZx9rnCvaGKiSwYCIALocLTwOml+NY3C7YjjjOtb01Se/nkuu/HEi2sP+55pbQxyMreSzP1w/ej4EgAiAKg/uTWvVPZkYNQLEsdortuA+b37ET66A8b4aAnhQqsX5y9XUZ6tAXDXrI3fvvzB7nMkmzf7K/3Z073GjDWcs2wthUMP8bVjp2DX+OwigAlY2wOc+7WafPrtFfhBVidxeDeN7LO6mcuMZ5Qaa0VhoqxViCP2F/4SszSPtGcEXiySghAS4Y9KXS03LHpdw2o/k1OevKuhvbdUu+VWni7S8jO7KPfTd3Jn9x4Khx8GJwLHRAwgToBiYYPU6m1aN5DV5UrD/Xajuosaozsj0dqb+fAk6k9sJ64DogGOAIF0tkyACEGrThz0AOcvLsixM1dJc9TWjS1PobVpG7yaEwGIEkCIVm8rHUUASB3EOYFmksH8A5QP3CxTYssYfBBiqNOeSIS4C4Uw/6sWEWJJEQnYJH/TvoGvTzOH4RfGWhIHYRKo1R5udXYd1TrTEESIYI2mwFZd4dZE9YBMTbGZr0wmi5VyEIHbzJQKSESImWT9zSk8fuF5GZ75SBJF5CV1t/7WKbvz4hs8svjNe3QIM5qamK9XrhwcunT0K1V4hZs8nDqwZhtT/8L3oqMlGpj9Ejq+63qXf3F9UvZaK8mJbHnu4wkQk3R04uJPBg9IftNkHIyYUAIHsdTTuEnKhSIAjGuSNj5aqX+8xo+8M7J3un3vW0VARJDmZ1v2GOb3xcljDiCnMgBImABifTt16ZHgtUuT/328fwB47GuHDtGS+wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

IoT

发现导航 - 精选实用导航网站

ArcoSite-云拨测

发现导航 - 精选实用导航网站

火山引擎控制台-云拨测BOE

发现导航 - 精选实用导航网站

火山引擎-云拨测文档

发现导航 - 精选实用导航网站

应用实时监控服务ARMS-阿里云帮助中心

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABXklEQVQ4ja3TvU5VURCG4WfW3ptwEjDGWOglGI0WdFZEr+FcgdGAFnSGkk5iR4XReAVcg4TKzkKjsbOVwlgI5BD2z1gAxwYsPE49X9a8M+9i1kpiluw0nM8t+m5wbHDFSOUgXmshn2j0Fv0yMa+4qcRLB1DnijsqW44sWTDnqpHWR60H+Al6ixq7brinM3HkJJ/5oLcWueqzebedYPBVeCe9iW2fzvGCzFV3hcfSQ8Utczj2JfKpVOu0Nv2wETv6v3KPVa7b0FjXqYsw6Ewc2owdfS6rLw0vq2NH79CmzkQYaimkQaNA7OlyxZbGff3pElUarffxyhpoFGlAXPxa2Be+Gc5wapWwf1FrLSSK1jAdc9uLSxH2dFqDeUXIIhW1kQXrOVbFnu58WUlJSo5VU7yxyoJ1tZFU/sMZz0ViyWBO/UekeHsqUj5yTWNXcyZSccKZSLOqPPNn+tfstH4DoqinIboRo4IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

云拨测简介_云拨测购买指南_云拨测操作指南-腾讯云

发现导航 - 精选实用导航网站

云拨测-文档需求 - Meego 项目管理平台

发现导航 - 精选实用导航网站

‌‍⁢⁣​⁡⁡‍‌⁣⁤​​⁡‬⁢⁤‍⁤⁢⁢‬​‌⁢‌​​⁢⁡⁡⁤​⁤​‍⁤‍⁤​⁣⁣‬‌⁤✅ 概念明确和文案统一(数据治理) - 飞书云文档

发现导航 - 精选实用导航网站

云拨测工单列表

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

云拨测

发现导航 - 精选实用导航网站

JSONPath - JSON 的 XPath

发现导航 - 精选实用导航网站

XML Path Language (XPath)

发现导航 - 精选实用导航网站

json-path/JsonPath:Java JsonPath 实现

发现导航 - 精选实用导航网站

JSONPath在线验证

发现导航 - 精选实用导航网站

Introduction to XPath - GeeksforGeeks

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

任务断言

发现导航 - 精选实用导航网站

‍‬‍⁣⁡‍⁣⁡⁤​⁢‬⁢‬⁡⁤‬‍‍‍⁡⁢⁡​​​⁣‍​⁡‍‌⁢​‌‬⁡⁢⁡⁣‬‍​⁡​⁡⁣全球化写作 - 文档改写排期 - 飞书云文档

发现导航 - 精选实用导航网站

⁡​‬‍​​⁢‌‍‍‌⁡​​‌⁣​‍⁤​⁤​​⁡⁤‬⁡​⁤​‬⁢‍‬‌⁢⁤​⁢⁡‬​全球化写作和框架-评审记录 - 飞书云文档

发现导航 - 精选实用导航网站

‌⁤‌​​​⁣⁣​​⁡​⁣⁤‌‌‌​​​​‍⁢⁢⁡​‬‌⁤⁢⁡‍‍⁡⁤⁡⁣‍⁢⁣‍​​‬⁡‬全球化改写 - ⁤‬边缘智能

发现导航 - 精选实用导航网站

AI文档检测

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

全球化改写

发现导航 - 精选实用导航网站

北京丽明科技有限公司

发现导航 - 精选实用导航网站

How To Set Up vsftpd for a User's Directory on Ubuntu 20.04 | DigitalOcean

发现导航 - 精选实用导航网站

‌⁤‌‬​​‍​⁣‬‌⁡⁢⁡‍​⁢⁡​​⁤⁣⁣‌‬‌⁡‌‌⁤⁢⁡⁣‬⁡​⁡‬​​‌‍⁢‬‌⁡⁢‬边缘智能-天花导视驱动开发-提测 - 飞书云文档

发现导航 - 精选实用导航网站

‍​‌​‬​⁤​​‌​⁣⁡⁤‌‍⁤​⁢⁣‬​⁣‍⁡​​⁣⁡⁤​​​​‍​⁤⁤⁡​⁡⁢‬全球化写作和框架-评审记录 - 飞书云文档

发现导航 - 精选实用导航网站

‌⁢‬‍⁡⁤‌⁢​⁢⁣⁣​‍⁡​⁢‌⁤⁣⁢⁣⁡⁡​⁡​​⁢⁢‍‍‌⁡⁡‬⁣‬⁣⁤​​⁤​⁡边缘智能-天花导视驱动开发 - 飞书云文档

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

MC100

发现导航 - 精选实用导航网站

工作

发现导航 - 精选实用导航网站

⁣​⁣‌​⁡⁢⁢‬​⁤⁤⁢​‍⁤⁤​‌‌‍‬⁡​⁣⁢​⁡​⁡​‍‍⁣‌⁣⁢⁡‍​⁤综合积极情绪疗法对护理人员中重度职业倦怠的干预研究 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

首页

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

ljy

发现导航 - 精选实用导航网站

⁢‌‍⁤⁢⁢⁤⁣⁣⁣‌​‌​‍​​⁣‍⁤​‍‍‌‌​‌‍‬⁢​‌‬‬⁤‬‬‬⁤‬⁢⁡⁤​⁤全球化写作 - 增强文档清晰性 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

‌⁣⁣​⁤​⁡​⁤​‬​⁤‌‌​​‌⁣⁣‌​​‬‌⁤​‍⁡‬⁡⁣​​‬‍‌‬⁤⁢⁡​​​⁡​⁣H1 总结 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Docs

发现导航 - 精选实用导航网站

‌⁢⁡⁤‍‍⁤​‌‬‬‍⁢‬‬‍​⁡⁤⁡​⁤⁢‬⁤​​‌⁢⁡⁤‌⁢​​‍⁡​‬⁣⁡‍‍⁡​文档体验提升专项:基于多维数据提升用户的文档体验 - 飞书云文档

发现导航 - 精选实用导航网站

7 Best Practices for Planning Developer Documentation

发现导航 - 精选实用导航网站

5 Metrics to Measure Documentation Quality

发现导航 - 精选实用导航网站

云速搭(CADT)-阿里云帮助中心

发现导航 - 精选实用导航网站

成长地图_云数据库 RDS

发现导航 - 精选实用导航网站

‌⁣⁡‌⁤‬⁣⁤‌‌⁤‬‬⁡​⁡⁣‍⁢‌‍‌⁣​​⁡​‬⁢⁣‬‬‬​⁤⁡‍‌​⁤⁤⁢⁢‬‬README - 飞书云文档

发现导航 - 精选实用导航网站

基本概念--视频点播-火山引擎

发现导航 - 精选实用导航网站

‬⁣‍​⁡⁡​⁣⁡​‌⁢‬⁤‌⁣⁢‍‌⁤​⁣⁡​⁡⁣‌‍‌‬‬‬‍‌‍⁢⁢⁢‬⁡⁤​​​🌐 写好中文——为翻译而写作 - 飞书云文档

发现导航 - 精选实用导航网站

‍⁡‌⁣‌‬⁤⁢⁣⁢‌‬⁣⁡‬⁤​⁡⁤⁣⁣⁣⁡​⁣⁤​‍⁤‌‌​​‍⁢‬‌‍⁤⁤‌⁡‌⁣开发者访谈实践分享 - 飞书云文档

发现导航 - 精选实用导航网站

‍‌⁤⁢⁣‍​⁢‍‌‍​⁡⁣⁣‌⁤⁡‌‌‬​​⁡⁡​​⁢‬‬‌‍​⁡‍⁤‍‍⁡⁤⁡‌⁡​文档工程师聊写作 Master the Craft of Writing - 飞书云文档

发现导航 - 精选实用导航网站

一个想法值多少钱?94年小伙把奇思妙想变爆品,一个人卖了3千万 - YouTube

发现导航 - 精选实用导航网站

‍‌⁡‌​‌⁢⁢⁤‍‬‍‍⁤‍⁢‬‬​⁡‌⁢⁡⁢⁢​⁡‌⁡⁣‬⁤‬⁣​​⁡​⁣⁡⁣⁡⁡⁡⁤⁤​⁢⁢我是怎样学写 API 文档的 —— 一个文档小学生的告白书 - 飞书云文档

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

job

发现导航 - 精选实用导航网站

EMQ: 连接物理世界与人工智能

发现导航 - 精选实用导航网站

eKuiper: Lightweight data stream processing engine for IoT edge

发现导航 - 精选实用导航网站

物联网中南向协议、北向协议是什么?南向协议、北向协议的区别-CSDN博客

发现导航 - 精选实用导航网站

物联网(IoT)的北向和南向_南向北向在物联网中的作用-CSDN博客

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

北向通道

发现导航 - 精选实用导航网站

how to pronounce localizaiton - Google Search

发现导航 - 精选实用导航网站

‍​⁤⁢⁣⁡⁤‌⁤⁤​⁤⁡⁢⁢⁡‌⁢⁣​‍⁡‌⁤⁢⁢​‬‌‬​⁤​​​‌​‍‬‍​‌​‌‬⁣⁣⁢P0 推荐|研发 leader 私藏书单,一起逃逸平庸的重力 - 飞书云文档

发现导航 - 精选实用导航网站

为什么中国的计算机教育这么差? - 知乎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

(5) 信息流 | LinkedIn

发现导航 - 精选实用导航网站

【TEDx演讲】如何在六个月内学会任何一门外语_哔哩哔哩_bilibili

发现导航 - 精选实用导航网站

‌​⁡⁤⁡⁣⁤⁢‍⁢​​‍​​⁢⁣‌​⁢‍⁡​‌⁡​‬‬‬‌‌⁡​‌​⁣​⁣⁣‌‌​‬⁣‬Refresh - 飞书云文档

发现导航 - 精选实用导航网站

‌​​⁣‬‍​⁡‍⁣⁡‍​⁤⁡‍⁡⁣‌⁢‌⁢‬‍⁣‍⁣⁣⁤⁤⁢‍‌‍​⁤⁤⁡‌⁤‬​AI First学习与思考日志 - 飞书云文档

发现导航 - 精选实用导航网站

ArcoSite

发现导航 - 精选实用导航网站

ArcoSite

发现导航 - 精选实用导航网站

An overview of HTTP - HTTP | MDN

发现导航 - 精选实用导航网站

一杯茶的时间,搞懂 RESTful API

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC40lEQVQ4jW2Tz2ucZRDHv995nuftZje7S3+m2JIsFilWqT9KKLKgOdRfF/HSggeDBylEhJDe6qXRQ3sQWi8SLJ68SKmoCC0eLJbagiWIf4CoawxoaDFu3mbf3XefZ8ZDxKbBOQ4zzAzz+RCbwnDcEZcTANjRmSPwPGNURsT57ObHP2ytAQBuJCEEFADs8TfH0Bg9BaYZMNUhClBzCBbQy8/z9qcrm3t4fzqIZ2ZPwvE0oBOaCphgCFGopRCChzoswcqzcu2TiwTs/gaTs5Pw7gI82ujlSDVfwplDWdKosFpmRktuLc9cowpDvBWHg7ns2qVFMUx5eFxEkLatrQ7SwX2pnH7Ra79PdUajMsaScW7ap8ceTv18dUAvbQb56NupKS9otbwhjiL2klacw/tviVYzat41Zs5QCZZW/zJsC3TvzYp6uhSLZIj1FuAFnRWDp6K37tKxp8CHdjMcnIA2qrThELqe05o1+kda5vbuIY61ob11Z54al5dN0BojqTSLSIcPUAANTx+ie/s1aFkYx/cCLz+L7i+/IgJITzzKpCXoDH7/fvoOOmi5Q6ZQlKaoAMKYNJx4iWg/CezageA9iktf4M98Tf3S72g6ANxAQWJnxAwJzAS973+0XlEoSAEAjO8TVEcAJ9zz+gkJlQoGV66aq1dgiIjLyya+NUbTKNKoJH63iD/mP7DC0egc//0z4Ry73a4WN27Y6KAHBiZDko0TOp043jqQQ5xrNOuD8pubbumdc7pzZpqp36eZYbj6t3U/XEDj558s2709hYBtpeq9zvXrkQBQPvfGZMjkAsTahZVYuXunzHfVnYoRRQEX+9bMXNrRrGU1rzDRWzGmuezzrxcfQFmfnz4pLp2Gl4m7vTUYdEgPuMCwveqgOvwN1HPy2dUtKG+S6d7RV8ZqO0dORbEZEa2DCSqaC9NCEe+cH/3q9v/LtFXV9RdePZJVME+aDRjfrX15ZUPn43C8jP90/geE9nH5rtBMQQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

+
+

发现导航 - 精选实用导航网站

https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/nav-1691133333044-logo.png

发现导航 - 精选实用导航网站

Navigation

发现导航 - 精选实用导航网站

GitHub

发现导航 - 精选实用导航网站

OpenSource

发现导航 - 精选实用导航网站

AI

🤖

发现导航 - 精选实用导航网站

Open Broadcaster Software | OBSobs

https://obsproject.com/favicon-32x32.png

发现导航 - 精选实用导航网站

录屏软件

发现导航 - 精选实用导航网站

录屏软件

发现导航 - 精选实用导航网站

Musetransfer

nav-1720879893574-f89fe5be-7027-405a-8d35-7b7d0f9330d7.webp

文件快速上传下载

文件传输

发现导航 - 精选实用导航网站

云盘网盘

发现导航 - 精选实用导航网站

Github-CLI

https://github.githubassets.com/favicons/favicon.svg

GitHub的官方命令行工具

Coveralls

https://coveralls.io/favicon.png

通过显示测试套件未涵盖代码的哪些部分,我们可以帮助您自信地交付代码。免费提供开源软件库

Releasly

在新的开源版本发布时收到通知,直接发送到您的电子邮件中。

Convert cURL

将curl命令转换为Python,JavaScript,PHP,R,Go,Rust,Dart,JSON,Ansible,Elixir。

Supervisor

Supervisor是一个客户端/服务器系统,允许其用户监视和控制类似UNIX的操作系统上的多个进程。

SonarQube

https://www.sonarqube.org/favicon-152.png

代码质量和安全性检查, 支持所有开发人员编写更干净,更安全的代码。

Pastebin

https://paste.ubuntu.com/favicon.ico

在线共享代码,将代码以URL形式发送以便查看

UPX

https://avatars2.githubusercontent.com/u/30217756?s=200&v=4

UPX-可执行文件的终极打包器

askgit

https://avatars2.githubusercontent.com/u/30217756?s=200&v=4

使用SQL查询git存储库。生成报告,执行状态检查,分析代码库。

Sentry

https://avatars3.githubusercontent.com/u/1396951?s=200&v=4

Web应用程序,移动应用程序和游戏的实时崩溃报告。

randomuser

https://randomuser.me/favicon.ico

随机用户生成器是用于生成占位符用户信息的免费API。 获取个人资料照片,姓名等。 对于人们来说,就像Lorem Ipsum。

github-readme-stats

https://camo.githubusercontent.com/ebfdd465daa90626d0ab0d0fddc0e457c942a392/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f616e7572616768617a72612f696d6167652f75706c6f61642f76313539343930383234322f6c6f676f5f636373776d652e737667

在你的 README 中 获取动态生成的 GitHub 统计信息

Hits

https://i.imgur.com/zBEQq4w.png

了解有多少人正在查看您的GitHub项目的简单方法

GitHub 文件加速

GitHub 文件加速

Shields IO

svg生成版本号图标

FunDebug

https://www.fundebug.com/favicon.ico

支持前端JavaScript,后端Node.js以及微信小程序错误监控

Asciiworld

http://www.asciiworld.com/favicon.ico

WA!原来那些年程序猿搞怪的注释都在这里

jsfiddle

https://jsfiddle.net/img/favicon.png

强大的前端代码在线演示的网站

CODEIF

https://user-images.githubusercontent.com/799578/50462941-8075fe80-09c3-11e9-89e7-af0cb7991406.png

变量命名神器

ASCIIFlow Infinity

http://asciiflow.com/images/favicon.png

无限的ASCII图表,保存到谷歌驱动器,调整大小,自由绘制,并直接输出到文本/HTML。

gitzip

https://kinolien.github.io/gitzip/images/gitzip.png

它可以将GITHUB存储库的子文件夹/子目录作为zip并下载

Server酱

http://sc.ftqq.com/static/image/favlogo.png

「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。

mkcert

一个简单的零配置工具,可以使用您喜欢的任何名称制作本地可信赖的SSL开发证书

carbon

https://carbon.now.sh/favicon.ico

创建和分享源代码的精美图像

setup-ipsec-vpn

用于构建您自己的IPsec VPN服务器的脚本,在Ubuntu,Debian和CentOS上使用IPsec / L2TP和Cisco IPsec

nginxconfig

https://www.digitalocean.com/favicon.ico

nginx配置生成器

GraphQL Explorer

GraphQL资源管理器利用真实的、实时的生产数据

patorjk

将文本转换成ASCII

lens

https://avatars0.githubusercontent.com/u/62133242?s=200&v=4

Lens控制Kubernetes集群所需的唯一IDE。它是适用于MacOS,Windows和Linux操作系统的独立应用程序。它是开源的,免费的。

public-apis

一些可用在 Web 或软件开发的开放 API 接口

astexplorer

https://astexplorer.net/favicon.png

一个Web工具,用于探索由各种解析器生成的AST

uTools

http://www.u.tools/assets/img/brand/favicon.png

uTools是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合

ihateregex

https://ihateregex.io/favicon.ico

正则表达式备忘录

Oh My ZSH

https://avatars3.githubusercontent.com/u/22552083?s=200&v=4

是一个开放源代码,社区驱动的框架,用于管理zsh配置。

Tampermonkey

https://tampermonkey.freetls.fastly.net/images/icon144.png

一款免费的浏览器扩展和最为流行的用户脚本管理器

Greasy Fork

提供用户脚本的网站

免费代理

https://img.kuaidaili.com/img/favicon.ico?v=3

免费HTTP代理IP

Google Workspace

https://avatars2.githubusercontent.com/u/1342004?s=200&v=4

Google Workspace状态信息中心

开发神器

发现导航 - 精选实用导航网站

eoLinker接口管理平台

https://www.eolinker.com/assets/images/favicon.ico

国内最大的在线接口管理服务方案供应商

YApi

https://avatars2.githubusercontent.com/u/19645609?s=200&v=4

YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台

RAP2

http://rap2.taobao.org/favicon.png

Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品

showdoc

https://www.showdoc.cc/static/logo/b_64.png

一个非常适合IT团队的在线API文档、技术文档工具

docsify

https://avatars3.githubusercontent.com/u/40133106?s=200&v=4

一个神奇的文档站点生成器

apiDoc

https://avatars2.githubusercontent.com/u/4103663?s=200&v=4

RESTful Web API文档生成器

docusaurus

https://avatars2.githubusercontent.com/u/69631?s=200&v=4

易于维护的开源文档网站

禅道

https://www.zentao.net/favicon.ico

禅道是灵活的项目管理软件

Tapd

https://www.tapd.cn/favicon.ico

一站式敏捷研发协作云平台, 凝聚腾讯研发方法及敏捷实践精髓, 助力企业研发更高效、协作更敏捷

Hoppscotch

https://avatars2.githubusercontent.com/u/56705483?s=200&v=4

一个免费,快速,美观的API请求构建器,供10万多个开发人员使用。(原名叫 Postwoman)

接口/开发文档管理

发现导航 - 精选实用导航网站

Sunny-Ngrok

一条命令解决的外网访问内网问题,无需任何配置,下载客户端之后直接一条命令让外网访问您的内网不再是距离

frp

一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。

zan-proxy

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

本地代码调试线上页面,环境再也不是问题

ngrok

https://ngrok.com/static/img/favicon.png

ngrok是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析和重放

内网穿透/代理

发现导航 - 精选实用导航网站

查MD5

http://www.chamd5.org/favicon.ico

MD5在线解密|md5在线破解|批量破解md5网站

JSON Web Tokens

https://jwt.io/img/favicon/apple-icon-76x76.png

jwt 在线解码

base64

http://www.xpcha.com/favicon.ico

base64在线解码编码

编码/解码

发现导航 - 精选实用导航网站

ipify

https://www.ipify.org/static/images/favicon-96x96.png

一个简单的公共IP地址API

归属地查询

淘宝免费归属地查询

免费公开API

发现导航 - 精选实用导航网站

开发相关

发现导航 - 精选实用导航网站

draw

https://www.draw.io/images/apple-touch-icon.png

免费的在线图表软件,用于制作流程图、流程图、组织图、UML、ER和网络图

ProcessOn

https://www.processon.com/favicon.ico

免费在线作图工具,UML作图,UI界面原型设计,iOS原型设计,BPMN,流程图,思维导图,多人协作绘图

蓝湖

https://lhcdn.lanhuapp.com/web/static/favicon.ico

蓝湖是一款设计图共享平台,帮助互联网团队管理设计图

Zeplin

https://zeplin.io/img/favicon/228x228.png

为设计师和前端而生的协作应用

幕布

https://mubu.com/favicon.ico

极简大纲笔记 | 一键生成思维导图

声享

https://p.ssl.qhimg.com/t01a54d9106629dda0e.png

在线制作 PPT,让分享更有价值

墨刀

https://modao.cc/images/logo.png

原型设计工具,web原型设计工具,app原型设计工具

小智LOGO

https://xzlogo.com/static/images/favicon-16x16.png?v2

LOGO在线制作神器 - 3分钟完成LOGO设计在线生成

创客贴

https://www.chuangkit.com/favicon.ico

一款简单易用、功能强大的线上图形设计工具

在线制作图表

https://cdn.jifo.co/favicon/favicon.ico

信息图表是一种易于使用的信息图表和图表制造商。创建和分享美丽的信息图表,在线报告和互动地图。在这里做你自己

CLIPPING MAGIC

删除图像背景在线。使背景透明,白色等编辑,裁剪,旋转,固定颜色,添加阴影,一款在线抠图工具

稿定抠图

https://koutu.gaoding.com/favicon.ico

稿定设计是一款专为淘宝店主、新媒体运营人员和修图爱好者打造的免费在线抠图工具。

UZER.ME

https://uzer.me/favicon.ico

超级应用空间致力于全生命周期的文档管理,无需安装,即可在线编辑Office, CAD,PS等任意格式文档,支持远程协作,全文检索,版本管理,权限管理,安全外发等.提高工作效率,降低安全风险

launchaco

https://www.launchaco.com/static/favicon.ico

免费在线制作LOGO

鹿班

https://g.alicdn.com/acca/resource/luban/image/favicon.png

鹿班 - 让设计更美好(阿里出品)

图片裁剪

https://www.yasuotu.com/favicon.ico

在线裁剪照片大小尺寸

设计相关

发现导航 - 精选实用导航网站

设计相关

发现导航 - 精选实用导航网站

Bitwarden

https://bitwarden.com/images/icons/favicon-32x32.png

个人和企业在任何设备上存储,共享和保护敏感数据的最简单,最安全的方法

Typeora

https://typora.io/img/favicon-48.png

Typora是一款跨平台的最小Markdown编辑器,可为Markdown读者和作家提供无缝的体验

iterm2

https://www.iterm2.com/favicon.ico

iTerm2是Terminal的替代品,是iTerm的后续产品

Sourcetree

https://www.sourcetreeapp.com/assets/img/favicons/sourcetree/favicon-32x32.png

美丽的Git GUI中的简单性和强大功能

charles

https://www.charlesproxy.com/static/img/icon.8b97278f.png

Charles是HTTP代理/ HTTP监视器/反向代理,使开发人员可以查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。这包括请求,响应和HTTP标头(其中包含cookie和缓存信息)。

Tunnelblick

https://tunnelblick.net/favicon.ico

适用于macOS的免费开源OpenVPN VPN客户端服务器软件。

Keka

https://www.keka.io/img/Keka-120x120.png

macOS文件存档器, 储存更多,私密分享

Kap

https://getkap.co/static/favicon/kap.ico

使用Web技术构建的开源屏幕录像机。

Vscode

https://code.visualstudio.com/apple-touch-icon.png

VScode是一款轻量级的编辑器,自由。 建立在开源上。 无处不在。

zenmap

https://nmap.org/shared/images/tiny-eyeicon.png

开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本

obsproject

https://obsproject.com/favicon-32x32.png

免费和开源软件,用于视频录制和实时流。

hyper

https://avatars1.githubusercontent.com/u/14985020?s=200&v=4

基于WEB技术的终端

Listary

https://www.listary.com/wp-content/themes/listary5/images/favicon.ico

Listary是Windows的革命性搜索实用程序,它使休闲用户和高级用户都能快速找到文件并启动应用程序!

GUI

发现导航 - 精选实用导航网站

vmware

https://www.vmware.com/favicon.ico

利用VMware提供的软件定义的云,移动性,网络和安全解决方案来建立您的数字基础。

parallels

https://www.parallels.cn/typo3conf/ext/prls_theme/Resources/Public/theme/res/img/favicon/favicon.png

Mac和Windows虚拟化|管理Mac|VDI和RDS解决方案

mumu Android模拟器

http://mumu.163.com/favicon.ico

网易MuMu[手游模拟器][安卓模拟器]

虚拟机

发现导航 - 精选实用导航网站

DBeaver

https://avatars3.githubusercontent.com/u/34743864?s=200&v=4

适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费的多平台数据库工具。支持所有流行的数据库:MySQL,PostgreSQL,SQLite,Oracle,DB2,SQL Server,Sybase,MS Access,Teradata,Firebird,Apache Hive,Phoenix,Presto等

RedisDesktopManager

https://redisdesktop.com/static/css/favicon.png

Redis Desktop Manager(又名RDM)—是用于Windows,Linux,MacOS和iPadOS的快速Redis数据库管理应用程序。

Sequel Pro

https://sequelpro.com/favicon/favicon-32x32.png

Sequel Pro是一个快速,易于使用的Mac数据库管理应用程序,用于处理MySQL数据库。

Robo 3T

https://robomongo.org/static/favicon-11ace079.ico

一个现代,强大且由社区驱动的MongoDB管理工具

DataGrip

https://www.jetbrains.com/favicon-32x32.png

jetbrains出品的数据库管理系统

tableplus

https://tableplus.com/resources/favicons/apple-icon-57x57.png

用于关系数据库的现代,本地且友好的GUI工具:MySQL,PostgreSQL,SQLite等

数据库

发现导航 - 精选实用导航网站

TeamViewer

https://www.teamviewer.cn/wp-content/themes/tv-wordpress-theme/dist/media/favicon.png

TeamViewer远程连接控制软件是一款随时随地连接到远程桌面电脑、移动设备及Iot,让远程连接过程更加的快速和安全,轻松实现对文件、网络及程序的实时支持或访问。

向日葵

https://sunlogin.oray.com/favicon.ico

向日葵远程控制软件是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件

远程控制

发现导航 - 精选实用导航网站

v2ray

https://avatars0.githubusercontent.com/u/14110142?s=200&v=4

用于构建代理绕过网络限制的平台。

clash

https://github.com/Dreamacro/clash/raw/master/docs/logo.png

Go中基于规则的隧道

飞机场

发现导航 - 精选实用导航网站

GUI软件

发现导航 - 精选实用导航网站

哔哩哔哩

https://www.bilibili.com/favicon.ico

国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主

爱奇艺

https://www.iqiyipic.com/common/images/PCW-114x114.png

拥有海量、优质、高清的网络视频的大型视频网站,专业的网络视频播放平台

Youtube

https://www.youtube.com/favicon.ico

全球最大的视频网站

斗鱼

https://www.douyu.com/favicon.ico

斗鱼 - 每个人的直播平台

疯狂影视搜索

https://cdn.jsdelivr.net/gh/txxxjs/fk/ifkdy/2020-03-16/favicon.ico

疯狂影视搜索是一款全能影视搜索引擎,帮你找到最新影视资源,一站拥有无尽影视资源

全民vip视频在线解析

http://www.qmaile.com/favicon.ico

免费全网VIP视频会员免广告看电影!优酷vip解析,爱奇艺vip解析,腾讯vip解析,乐视vip解析,芒果vip解析

蜜蜂剪辑

https://qncdnimg.aoscdn.com/local/beecut.cn/img/favicon.png

免费在线视频剪辑、视频制作、视频剪切、视频转gif等实用功能

kk高清影院

kk高清影院,1080p电影下载,高清电影迅雷下载,免费高清电影网

影视

发现导航 - 精选实用导航网站

自由的音乐

自由的音乐是一个免费试听并下载全网音乐的网站

音乐

发现导航 - 精选实用导航网站

影视/音乐

发现导航 - 精选实用导航网站

智联招聘

https://www.zhaopin.com/favicon.ico

智联招聘,更懂你的价值

前程无忧

https://www.51job.com/favicon.ico

招聘网,人才网,求职,找工作

BOSS直聘

https://www.zhipin.com/favicon.ico

BOSS直聘是权威领先的招聘网,开启人才网招聘求职新时代,让求职者与Boss直接开聊、加快面试、即时反馈,找工作就来BOSS直聘和Boss开聊吧

招聘/求职

发现导航 - 精选实用导航网站

ResumeSample

程序员简历模板系列, WEB/IOS/Android/C++/node等以及通用程序员简历模板

程序员找工作黑名单

http://coder.shengxinjing.cn/logo.ico

有些事情,应该被记住

看准网

https://www.kanzhun.com/favicon.ico

看准网★中国领先的职场信息平台,专注于公司评论,晒工资,工资待遇,面试,公司福利等.您可以在看准网上匿名分享您的职业信息

其他

发现导航 - 精选实用导航网站

招聘/求职

发现导航 - 精选实用导航网站

TinyPNG

https://tinypng.com/images/apple-touch-icon.png

智能PNG和JPEG压缩,以质量和文件大小的完美平衡来优化您的图像

Squoosh

https://squoosh.app/assets/favicon.ico

在浏览器中用不同的编解码器压缩和比较图像(Google出品)

压缩工具

发现导航 - 精选实用导航网站

草料二维码

https://static.clewm.net/static/images/favicon.ico

用专业的二维码产品帮助企业创造价值

Feed 验证器

验证RSS是否符合标准规范

淘捏捏

https://www.taonienie.com/favicon.ico

淘宝信誉查询 - 淘捏捏卖家工具箱 淘宝信誉查询_淘宝信用查询_淘宝小号查询_淘宝黑号查询

天眼查

https://www.tianyancha.com/favicon.ico

人人都在用商业安全工具_企业信息查询_公司查询_工商查询_企业信用信息查询系统

语雀

https://yuque.com/favicon.ico

优雅高效的在线文档编辑与协同工具,让每个企业轻松拥有文档中心 - 阿里巴巴

求是潮云U盘

https://www.qsc.zju.edu.cn/box/favicon.ico

临时文件上传, 快速和稳定

云转换

https://www.360converter.com/images/favicon.ico

在线免费转换视频,音频,YouTube视频到文字,视频到文字,音频到文字,语音转换成文字

Picdiet

https://www.picdiet.com/css/favicon.ico

独特且强悍的JavaScript算法,能极速压缩80%的图片大小,而不损害其质量

easyicon

https://cdn-img.easyicon.net/favicon.ico

在线图标转换ico、icns

Smallpdf

https://smallpdf.com/favicon.png

压缩pdf、各种文件格式转换pdf

Cool Backgrounds

https://coolbackgrounds.io/images/favicon-fe5a0ff5.png

生成非常酷的彩色背景图像

Unsplash Source

https://source.unsplash.com/favicon-32x32.png

随机生成图片链接

石墨文档

https://assets.smcdn.cn/from_qbox/favicon.ico

一款轻便、简洁的在线协作文档工具,PC端和移动端全覆盖,支持多人同时对文档编辑和评论...

Emoji searcher

https://emoji.muan.co/appicon.png

Emoji表情大全

imgURL

https://imgurl.org/favicon.ico

ImgURL是一个简单、纯粹的图床程序,让个人图床多一个选择

拷贝兔

https://f0cdn.anyknew.com/web/img/icons/favicon-32x32.png

跨平台分享工具,纯Web,IOS,MAC,Linux,Android互传

表格工具

https://tableconvert.com/static/images/favicon.png

一个功能强大的在线表格编辑器,支持Excel、Markdown、JSON、CSV、HTML等格式的相互转换

360查字体

https://p2.ssl.qhimg.com/t014de4ba13ada26743.png

360查字体 - 查版权,免纠纷

sejda

https://www.sejda.com/images/icon_128.png

在线HTML转换pdf

AI人工智能图片放大

https://bigjpg.com/static/css/touch-icon-iphone.png

Bigjpg - 使用开源waifu2x人工智能深度卷积神经网络(CNN)智能无损免费放大图片

VVV文档在线导出工具

免费下载百度文库文档

在线文件编码识别

http://tools.bugscaner.com/static/images/favicon.ico

在线文件编码识别

iptv

http://tools.bugscaner.com/static/images/favicon.ico

收集来自世界各地的5000多个公共IPTV频道

临时邮箱

https://www.linshiyouxiang.net/public/zh-CN/img/favicon.ico

10分钟邮箱,临时邮箱,临时邮,临时电子邮箱,24小时邮箱,一次性邮箱,匿名邮箱,安全邮箱

辅助工具

发现导航 - 精选实用导航网站

其他

发现导航 - 精选实用导航网站

实用工具

发现导航 - 精选实用导航网站

jQuery

https://jquery.com/jquery-wp-content/themes/jquery.com/i/favicon.ico

jQuery是一个JavaScript函数库

webpack

https://www.webpackjs.com/assets/favicon.ico

webpack是一个模块打包器

Babel

https://babeljs.io/img/favicon.png

用于编写下一代 JavaScript 的编译器

ESLint

https://cn.eslint.org/img/favicon.512x512.png

可组装的JavaScript和JSX检查工具

stylelint

https://avatars3.githubusercontent.com/u/10076935?s=200&v=4

一个强大的现代样式风格的linter

Mocha

https://avatars0.githubusercontent.com/u/8770005?s=200&v=4

Mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行

MUI

https://avatars1.githubusercontent.com/u/5485517?s=200&v=4

MUI: 最接近原生APP体验的高性能前端框架

rollup

https://avatars0.githubusercontent.com/u/12554859?s=200&v=4

Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序

standard

https://avatars1.githubusercontent.com/u/29208316?s=200&v=4

JavaScript样式指南,带有linter和自动代码修复程序

JavaScript

发现导航 - 精选实用导航网站

Faker

https://github.com/favicon.ico

在Node.js和浏览器中生成大量逼真的假数据

sweetalert

JavaScript Alert 的漂亮替代品

Sortable

https://avatars0.githubusercontent.com/u/17040762?s=200&v=4

一个JavaScript库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序

formilyjs

Formily 是一个由阿里巴巴集团多 BU 共建的面向中后台复杂场景的表单解决方案,它也是一个表单框架

rough-notation

https://roughnotation.com/images/fav.png

一个小的JavaScript库,用于在网页上创建手绘动画并为其添加动画效果

AntV

https://avatars3.githubusercontent.com/u/19199542?s=200&v=4

AntV 是蚂蚁金服全新一代数据可视化解决方案

Lodash

https://www.lodashjs.com/icons/favicon-32x32.png

Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库

Swiper

https://www.swiper.com.cn/favicon.ico

轻量级的移动设备触控滑块的js框架,使用硬件加速过渡

fastclick

Polyfill 解决移动端具有300ms延迟的库

Layer

丰富多样的Web弹出层组件,可轻松实现Alert/Confirm/Prompt/普通提示/页面区块/iframe/tips等等几乎所有的弹出交互

moment.js

https://momentjs.com/static/img/moment-favicon.png

一个轻量级的JavaScript日期库,用于解析,验证,操作和格式化日期

js-cookie

一个简单,轻量级的JavaScript API,用于处理浏览器cookie

qs

具有嵌套支持的查询字符串解析器

Mock.js

生成随机数据,拦截 Ajax 请求

GITALK

https://gitalk.github.io/favicon.ico

凹凸实验室出品的一款基于 Github Issue 和 Preact 开发的评论插件

prism

https://prismjs.com/assets/favicon.png

轻巧,强大,优雅的代码语法高亮

nprogress

顶部加载进度条

iNotify

JS实现浏览器标题闪烁,滚动,语音提示,Chrome/Safari/FireFox/IE通知

html2canvas

最流行的JavaScript屏幕截图

dayjs

使用与Moment.js兼容的API来解析,验证,操作和显示现代浏览器的日期和时间

JsBarcode

易于使用但功能强大的条形码生成器,适用于Web和Node.js

clipboard.js

现代复制到剪贴板。没有Flash。只需3kb gzipped。

lib-flexible

可伸缩布局方案, 淘宝rem解决方案

js-xss

根据白名单过滤HTML(防止XSS攻击)

mescroll

精致的下拉刷新和上拉加载 js框架.支持vue,完美运行于移动端和主流PC浏览器

better-scroll

灵感来自iscroll,它具有更好的滚动性能

pinyinjs

一个实现汉字与拼音互转的小巧web工具库

ms

使用此包可以轻松地将各种时间格式转换为毫秒。

ramda

https://avatars2.githubusercontent.com/u/5298359?s=200&v=4

适用于JavaScript程序员的实用函数库

decimal.js

JavaScript的任意精度Decimal类型 (0.1+0.2=0.3)

copy-to-clipboard

简单的模块公开copy功能,它将尝试使用execCommand与特定于IE的clipboardData接口的回退,最后,通常prompt使用适当的文本内容和消息

path-to-regexp

将字符串路径转换成正则表达式

autosize

autosize是一个小的独立脚本,可以自动调整textarea域的高度以适合文本

shake.js

监听手机设备摇动

progressbar

可以轻松地为Web创建响应式和时尚的进度栏。动画即使在移动设备上也表现良好

easy-mock

https://avatars0.githubusercontent.com/u/28626637?s=200&v=4

Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务

Clamp.js

https://joe.sh/assets/images/favicon.ico

JS版本的多行文本溢出省略

json-bigint

带有bigints支持的JSON.parse / stringify

exif-js

用于读取EXIF图像元数据的JavaScript库

lunr.js

Lunr.js是一个用于浏览器的小型全文本搜索库。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询最匹配的文档

hotkeys

强大的Javascript库,用于捕获键盘输入和输入的按键组合。它没有依赖性。

dom-to-image

使用HTML5 canvas从DOM节点生成图像

single-spa

https://avatars1.githubusercontent.com/u/59940233?s=200&v=4

使微前端变得简单

qiankun

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

为微型前端提供快速,简单和完整的解决方案

nanoid

https://zelark.github.io/nano-id-cc/favicon.ico

一个很小的,安全的,URL友好的,唯一的JavaScript字符串ID生成器。

Numeral-js

一个用于格式化和处理数字的javascript库

ua-parser-js

用于从userAgent字符串检测浏览器,引擎,操作系统,CPU和设备类型/模型。支持浏览器和node.js环境

hammer.js

https://avatars0.githubusercontent.com/u/7997161?s=200&v=4

一个用于多点触摸手势的javascript库

常用插件

发现导航 - 精选实用导航网站

i18next

https://avatars1.githubusercontent.com/u/8546082?s=200&v=4

i18next是一个非常流行的国际化框架,适用于浏览器或任何其他JavaScript环境(例如,node.js)。

js-lingui

https://avatars3.githubusercontent.com/u/11225539?s=200&v=4

JavaScript的可读,自动化和优化(5 kb)国际化

国际化多语言方案

发现导航 - 精选实用导航网站

wow.js

基于Animate.css,向下滚动页面时显示CSS动画,轻松自定义动画设置:样式,延迟,长度,偏移,迭代...

Waves

受Google材质设计启发的点击效果, 波纹效果

velocity

加速JavaScript动画

anime

轻量级的JavaScript动画库。它适用于任何CSS属性,单个CSS转换,SVG或任何DOM属性以及JavaScript对象

Hover-Buttons

hover动画CSS / SCSS按钮

动画

发现导航 - 精选实用导航网站

JavaScript-MD5

JavaScript MD5实现。兼容服务器端环境,如node.js,RequireJS等模块加载器和所有Web浏览器

js-sha1

JavaScript的简单SHA1哈希函数支持UTF-8编码。

js-base64

JavaScript的Base64实现

jsSHA

SHA-1,SHA-224,SHA3-224,SHA-256,SHA3-256,SHA-384,SHA3-384,SHA-512,SHA3-512,SHAKE128 ,和SHAKE256以及HMAC

crypto-js

加密标准的JavaScript库

加盐

发现导航 - 精选实用导航网站

pdf.js

PDF.js是一个使用HTML5构建的可移植文档格式(PDF)查看器

webuploader

百度出品,采用大文件分片并发上传,极大的提高了文件上传效率。

pdfmake

纯JavaScript中的客户端/服务器端PDF打印, HTML转换Pdf

ViewerJS

JavaScript中的文档阅读器, pdf/ppt/opt/odt等文件渲染成HTML

filepond

灵活而有趣的JavaScript文件上传库

FileSaver.js

客户端保存文件的解决方案,非常适合在客户端上生成文件的Web应用程序

jsPDF

一个使用JavaScript生成PDF的库

文件插件相关

发现导航 - 精选实用导航网站

PhotoSwipe

适用于移动和桌面的JavaScript图像库, 图片预览

viewerjs

javascript图片预览

图片预览

发现导航 - 精选实用导航网站

howler.js

https://howlerjs.com/assets/images/favicon.ico

现代 Web 音频 javascript 库

DPlayer

哇,这么可爱的HTML5 danmaku视频播放器

APlayer

哇,这么可爱的HTML5音乐播放器

音频/视频

发现导航 - 精选实用导航网站

three.js

https://threejs.org/files/favicon.ico

JavaScript 3D引擎

flowy

创建流程图的最小JavaScript库

incubator-echarts

https://echarts.apache.org/examples/images/favicon.png

浏览器的功能强大的交互式图表和可视化库

d3

https://avatars1.githubusercontent.com/u/1562726?s=200&v=4

借助SVG,Canvas和HTML使数据栩栩如生。

图形

发现导航 - 精选实用导航网站

uikit

https://getuikit.com/images/favicon.png

一款轻量级、模块化的前端框架可快速构建强大的web前端界面

UI组件库

发现导航 - 精选实用导航网站

JsBridge

android java和javascript桥接,灵感来自微信webview jsbridge

DSBridge-Android

一个现代的跨平台JavaScript桥接,通过它您可以在JavaScript和本机之间同步或异步地调用彼此的功能

原生APP交互webview桥接

发现导航 - 精选实用导航网站

joi

对象模式验证

validator.js

字符串验证插件、表单验证

async-validator

异步验证器

yup

无效的简单对象架构验证

参数验证

发现导航 - 精选实用导航网站

localForage

https://avatars2.githubusercontent.com/u/18673496?s=200&v=4

离线存储,使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage。

数据库

发现导航 - 精选实用导航网站

introjs

https://avatars2.githubusercontent.com/u/2010360?s=200&v=4

为您的网站和项目提供新功能介绍和逐步用户指南的更好方法

shepherd

https://avatars3.githubusercontent.com/u/17297725?s=200&v=4

引导您的用户浏览您的应用程序

bootstrap-tour

使用Twitter Bootstrap Popovers快速方便地进行产品浏览

步骤引导

发现导航 - 精选实用导航网站

JavaScript

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

React

用于构建用户界面的 JavaScript 库

React Router

React 路由管理

Redux

https://avatars2.githubusercontent.com/u/13142323?s=200&v=4

React 状态管理

create-react-app

React官方脚手架

生态系统

发现导航 - 精选实用导航网站

React Redux

Redux的官方React绑定(通常配合redux使用)

redux-actions

Redux的Flux标准action实用程序(用于生成action)

redux-thunk

Redux的Thunk中间件, 用于处理异步逻辑

redux-saga

https://avatars2.githubusercontent.com/u/24776643?s=200&v=4

一个旨在使应用程序副作用(即异步事物,如数据获取和不纯的东西,如访问浏览器缓存)更容易管理,执行更高效,易于测试,以及更好地处理故障的库

Redux相关

发现导航 - 精选实用导航网站

React Native

使用React构建原生APP程序的框架

React Navigation

https://avatars0.githubusercontent.com/u/29647600?s=200&v=4

为您的本地应用程序提供路由和导航

expo

https://avatars0.githubusercontent.com/u/12504344?s=200&v=4

用于制作跨平台移动应用程序的Expo平台

ant-design-mobile-rn

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

一个基于 React Native 的 UI 组件库

React Native相关

发现导航 - 精选实用导航网站

Ant Design

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

Ant Design - A UI Design Language

MATERIAL-UI

https://material-ui.com/static/favicon.ico

React 组件用于更快速、更简便的 web 开发。你也可以建立你自己的设计系统,或者从 Material Design 开始

element

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

elementUI组件库

react-bootstrap

https://avatars0.githubusercontent.com/u/6853419?s=200&v=4

基于Bootstrap 3构建的组件库

evergreen

Evergreen是一个React UI框架,用于在Web上构建雄心勃勃的产品。由Segment带给您。

@alifd/next

@alifd/next 是 Alibaba Fusion Design 的官方 React 实现, 赋能企业中后台产品开发

zent

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

Zent 是有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件

React95

装修一新的现代的应用程序做出React Windows95的UI组件。

rsuite

https://avatars1.githubusercontent.com/u/19635045?s=200&v=4

React Suite 是一套 React 组件库,为后台产品而生。同时也是一个具有贴心设计以及对开发者友好的 UI 框架

chakra-ui

https://avatars2.githubusercontent.com/u/54212428?s=200&v=4

适用于您的React应用程序的简单,模块化和可访问的UI组件

PC端UI组件库

发现导航 - 精选实用导航网站

Ant Design Mobile

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

一个基于 Preact / React / React Native 的 UI 组件库

移动端UI组件库

发现导航 - 精选实用导航网站

React Helmet

这个可重用的反应组件将管理对文档头的所有更改

react-image-crop

用于React的响应式图像裁剪工具

React Helmet

这个可重用的反应组件将管理对文档头的所有更改

react-transition-group

当React组件进入或离开DOM时执行动画的简单方法

React Loadable

用于加载具有promise的组件的更高阶组件 - 路由懒加载

react-swipe

基于swipe.js封装的react组件/走马灯

Ant Motion

使用 Ant Motion 能够快速在 React 框架中使用动画,我们提供了单项,组合动画,以及整套解决方案

video-react

网络视频播放器使用React库从头开始构建HTML5世界

react-keeper

一个react路由库,更适合移动端使用,拥有缓存等功能

Fusion Design

基于React构建的Web可配置组件库

recharts

https://avatars0.githubusercontent.com/u/13690587?s=200&v=4

基于 React和D3 的组合式图表库

react-json-view

JSON查看器

BizCharts

基于G2和React的强大数据可视化库

react-draggable

一个简单的组件,用于使元素可拖动

react-slick

react走马灯组件

react-color

react 拾色器

react-intl

https://avatars1.githubusercontent.com/u/50559490?s=200&v=4

国际化React应用程序。这个库提供了React组件和一个API,用于格式化日期,数字和字符串,包括复数形式和处理翻译

react-data-grid

https://avatars3.githubusercontent.com/u/1763971?s=200&v=4

使用React构建的类似于Excel的网格组件,具有编辑器,键盘导航,复制和粘贴等功能

react-virtualized

https://cloud.githubusercontent.com/assets/29597/11736841/c0497158-9f87-11e5-8dfe-9c0be97d4286.png

React组件可有效呈现大型列表和表格数据

react-live

https://avatars3.githubusercontent.com/u/5078602?s=200&v=4

一个用于实时编辑React组件的灵活组件库

formik

https://jaredpalmer.com/formik/img/favicon.png

在React中轻松创建表单

其他组件库

发现导航 - 精选实用导航网站

react-move

https://github.com/favicon.ico

一个React组件,它创建可移动,可拖动,可调整大小,可缩放,可旋转,可扭曲,可收缩,可分组,可捕捉。

react-dnd

https://avatars2.githubusercontent.com/u/25307599?s=200&v=4

React DnD是一组React实用程序,可帮助您构建复杂的拖放接口,同时保持组件分离

react-beautiful-dnd

漂亮的和可访问的拖放列表

react-rnd

一个可调整大小且可拖动的React组件。

拖拽组件

发现导航 - 精选实用导航网站

ANT DESIGN PRO

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

开箱即用的中台前端/设计解决方案

开箱即用

发现导航 - 精选实用导航网站

enzyme

适用于React的JavaScript测试实用程序

Jest

Jest是一个令人愉快的JavaScript测试框架,专注于简单性。

单元测试

发现导航 - 精选实用导航网站

umijs

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

插件化的企业级前端应用框架。

DvaJS

https://avatars1.githubusercontent.com/u/20552239?s=200&v=4

基于React和Redux的轻量级和elm风格框架

umijs/hooks

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

你可以将 umi hooks 使用在任何地方,和任意组件库搭配使用。虽然我们的代码示例都是基于 ant design 的,但是并不代表我们的 Hooks 只能和 ant design 配合使用

umi-plugin-cache-route

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

路由缓存,类似vue keep-alive

umi/dva

发现导航 - 精选实用导航网站

React.js 小书

这是一本关于 React.js 的小书

TypeScript-React-Starter

TypeScript和React的入门模板,带有详细的README,描述了如何将两者结合使用。

react-redux-typescript-guide

TypeScript中的React和 Redux - 使用说明

知识

发现导航 - 精选实用导航网站

Mobx

https://avatars1.githubusercontent.com/u/17475736?s=200&v=4

简单、可扩展的状态管理

next.js

服务端渲染框架、SEO解决方案

nwb

适用于Web的React,Preact,Inferno和Vanilla JS应用,React库和其他npm模块的工具包,无需配置

ahooks

为 React Hooks 而生

react-app-rewired

覆盖create-react-app webpack配置而不弹出

其他

发现导航 - 精选实用导航网站

React

https://reactjs.org/favicon.ico

发现导航 - 精选实用导航网站

Vue.js

渐进式JavaScript 框架

Vue Router

Vue Router 是 Vue.js 官方的路由管理器

Vuex

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。

vue-devtools

vue.js调试工具

vue-cli

Vue.js开发的标准脚手架工具

vuepress

Vue 驱动的静态网站生成器

Vue SSR

Vue服务端渲染、SEO解决方案

vue-class-component

用于类式Vue组件的ECMAScript / TypeScript装饰器。

eslint-plugin-vue

Vue.js的官方ESLint插件

vite

Vite是一个经过验证的Web开发人员构建工具,可在开发过程中通过本机ES模块导入为您的代码提供服务,并将其与Rollup捆绑在一起进行生产

Vue 组合式 API

Vue 组合式 API在线文档阅读

生态系统

发现导航 - 精选实用导航网站

iView

https://avatars0.githubusercontent.com/u/20693613?s=200&v=4

一套基于 Vue.js 的高质量UI 组件库

Element

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库

Element Plus

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

支持Vue3.0的Element

Muse-UI

https://avatars0.githubusercontent.com/u/22283362?s=200&v=4

基于 Vue 2.0 优雅的 Material Design UI 组件库

Ant Design Vue

https://qn.antdv.com/favicon.ico

这里是 Ant Design 的 Vue 实现,开发和服务于企业级后台产品

vuetify

https://avatars2.githubusercontent.com/u/22138497?s=200&v=4

让Vue和Material Design的强大力量在开发上助您一臂之力

bootstrap-vue

https://avatars1.githubusercontent.com/u/22965283?s=200&v=4

BootstrapVue为Vue.js提供了最全面的Bootstrap 4组件和网格系统实现之一,并提供了广泛的自动WAI-ARIA可访问性标记

vue-material

https://avatars0.githubusercontent.com/u/23659108?s=200&v=4

Vue material简单,轻巧,完全符合Google Material Design规范

buefy

https://avatars1.githubusercontent.com/u/26799900?s=200&v=4

Buefy是一个基于Bulma框架和设计的Vue.js响应式UI组件的轻量级库。

PC端UI组件库

发现导航 - 精选实用导航网站

vant

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

轻量、可靠的移动端 Vue 组件库

vux

一个凑合的 Vue.js 移动端 UI 组件库

cube-ui

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

基于 Vue.js 实现的精致移动端组件库

Mand Mobile

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

面向金融场景的Vue移动端UI组件库,丰富、灵活、实用,快速搭建优质的金融类产品,让复杂的金融场景变简单

Mint UI

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

基于 Vue.js 的移动端组件库

NutUI

一套京东风格的轻量级移动端Vue组件库

移动端UI组件库

发现导航 - 精选实用导航网站

vue-awesome-swiper

基于swiper封装的轮播图组件

vue-meta

管理Vue 2.0组件中的页面元信息。支持SSR + Streaming

vue-scroller

Vue Scroller是Vonic UI 的基础组件。为了平滑滚动,拉动刷新和无限加载。

vue-infinite-loading

Vue.js的无限滚动插件(支持向上和向下)

其他组件/插件

发现导航 - 精选实用导航网站

iview-admin

基于iView的Vue 2.0管理系统模板

开箱即用

发现导航 - 精选实用导航网站

nuxt

https://avatars2.githubusercontent.com/u/23360933?s=200&v=4

Vue.js 通用应用框架

创建nuxt的脚手架工具

https://avatars2.githubusercontent.com/u/23360933?s=200&v=4

create-nuxt-app

nuxt服务端渲染框架

发现导航 - 精选实用导航网站

Vue.js

https://v3.vuejs.org/images/icons/apple-icon-152x152.png

发现导航 - 精选实用导航网站

Angular

一个框架,移动 & 桌面

angular-cli

用于Angular CLI脚手架工具

augury

Angular调试和可视化工具

生态系统

发现导航 - 精选实用导航网站

NG-ZORRO

https://avatars2.githubusercontent.com/u/30223759?s=200&v=4

基于Ant Design的Angular企业级UI组件

ng-bootstrap

https://avatars3.githubusercontent.com/u/14283866?s=200&v=4

基于Bootstrap 4的Angular组件

element-angular

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

Element Angular组件库

primeng

https://avatars1.githubusercontent.com/u/3494069?s=200&v=4

PrimeNG是Angular的丰富UI组件的集合

material

Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。

PC端UI组件库

发现导航 - 精选实用导航网站

material

Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。

移动端UI组件库

发现导航 - 精选实用导航网站

Angular

https://avatars0.githubusercontent.com/u/139426?s=200&v=4

发现导航 - 精选实用导航网站

小程序开发

微信小程序

小游戏开发

微信小游戏

小程序文档

发现导航 - 精选实用导航网站

mpvue

Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心

wepy

官方小程序组件化开发框架

mpx

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

Mpx是一款致力于提高小程序开发体验的增强型小程序框架(滴滴出品,基于vue)

uni-app

https://avatars1.githubusercontent.com/u/5485517?s=200&v=4

uni-app 是使用 Vue 语法开发小程序、H5、App的统一框架

omix

https://tencent.github.io/omi/assets/omi-logo2019.svg

腾讯原生小程序框架 OMIX 2.0

小程序框架

发现导航 - 精选实用导航网站

vant-weapp

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

轻量、可靠的小程序 UI 组件库

weui-wxss

https://avatars0.githubusercontent.com/u/18461506?s=200&v=4

这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库

wxParse

wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析

mpvue-wxParse

适用于 Mpvue 的微信小程序富文本解析自定义组件

echarts-for-weixin

https://avatars1.githubusercontent.com/u/2268460?s=200&v=4

ECharts 的微信小程序版本

腾讯位置服务

https://lbs.qq.com/favicon.ico

微信小程序原生LBS能力的最佳拍档

ColorUI

鲜亮的高饱和色彩,专注视觉的小程序组件库

weapp-input-frame

验证码、支付密码输入框组件

小程序组件库/插件

发现导航 - 精选实用导航网站

JS接口签名校验工具

微信 JS 接口签名校验工具

接口调试工具

微信公众平台接口调试工具

computed

小程序自定义组件 computed / watch 扩展

微信公众号开发辅助工具

发现导航 - 精选实用导航网站

awesome-github-wechat-weapp

微信小程序开源项目库汇总

awesome-wechat-weapp

微信小程序开发资源汇总

资源

发现导航 - 精选实用导航网站

微信开放社区

小程序开发者专区,微信公众平台,微信开放社区,开发者专区

wechat-format

微信公众号排版编辑器,转换 Markdown 到微信特制的 HTML

微信开放平台

微信开放平台

其他

发现导航 - 精选实用导航网站

微信开发

https://avatars0.githubusercontent.com/u/18461506?s=200&v=4

发现导航 - 精选实用导航网站

CSS3 UI Lib

CSS动画集成、在线调试阴影

CSS Sprites Generator

CSS雪碧图生成

CSS渐变调试器

http://www.colorzilla.com/favicon.ico

前端开发调试CSS渐变必备神器

Animista

https://animista.net/favicon.ico

在线生成CSS动画

CSS Gradient

https://cssgradient.io/favicon.ico

CSS渐变调试并生成CSS代码

Grabient

https://www.grabient.com/favicon.ico

CSS渐变调试并生成CSS代码,还可以角度变换

px与em单位转换

http://pxtoem.com/favicon.ico

px与em单位转换

CSS三角形產生器

http://apps.eky.hk/css-triangle-generator/favicon.gif

CSS三角形產生器 - 使用純CSS繪畫三角形

SassMeister

https://www.sassmeister.com/favicon.ico

将sass语法转换成CSS语法

transfonter

https://transfonter.org/favicon.ico

字体图标转换Base64

Loading集合

上千种Loading认你选

CSS Reference

https://cssreference.io/favicons/favicon-32x32.png

css参考是一个免费的视觉指导css。它以最受欢迎的特性为特色,并用插图和动画示例对其进行说明

在线CSS阴影调试

https://www.w3cschool.cn/favicon.ico

CSS3 Box Shadow(阴影)效果在线调试工具

CSS

发现导航 - 精选实用导航网站

正则表达式验证器

https://regexper.com/favicon.ico

验证JavaScript正则表达式

JSON在线解析及格式化验证

https://www.json.cn/favicon.ico

json在线解析,json格式化,json格式验证,json转xml,xml转json

prettier

https://avatars0.githubusercontent.com/u/25822731?s=200&v=4

Prettier是一个固定的代码格式化程序。它通过解析代码并使用自己的规则重新打印它来强制执行一致的样式,这些规则考虑了最大行长度,并在必要时包装代码

正则表达式在线测试

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

正则表达式在线测试

spy-debugger

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备

VConsole

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

一个轻量、可拓展、针对手机网页的前端开发者调试面板

JavaScript

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

Staticfile CDN

https://www.staticfile.org/assets/images/logo.png

免费CDN服务,包括 JavaScript、CSS、图片和 swf 等静态文件

jsDelivr

https://www.jsdelivr.com/favicon.ico

jsDelivr – 开源 CDN

BootCDN

https://www.bootcdn.cn/assets/ico/favicon.ico

稳定、快速、免费的前端开源项目 CDN 加速服务

cdnjs

https://avatars0.githubusercontent.com/u/637362?s=200&v=4

面向Web开发人员的免费和开源公共Web CDN!

CDN

发现导航 - 精选实用导航网站

FunDebug

https://www.fundebug.com/favicon.ico

支持前端JavaScript,后端Node.js以及微信小程序错误监控

前端兼容性查询

https://www.caniuse.com/img/favicon-128.png

前端查询API各个厂商兼容性情况

Browserhacks

http://browserhacks.com/assets/images/browserhacks.ico

Browserhacks是来自各个互联网的浏览器特定CSS和JavaScript hacks的广泛列表。

Character Entity Reference Chart

字符实体参考图,>

awesome-web-editor

开源web编辑器汇总列表

jsfiddle

https://jsfiddle.net/img/favicon.png

强大的前端代码在线演示的网站

jsperf

https://avatars0.githubusercontent.com/u/11043997?s=200&v=4

jsPerf旨在提供一种简单的方法来创建和共享测试用例,通过运行基准测试来比较不同JavaScript代码段的性能

codesandbox

https://codesandbox.io/favicon.ico

codesandbox是为Web应用程序定制的在线编辑器。

HTML Reference

https://htmlreference.io/favicons/favicon-32x32.png

所有HTML元素和属性的免费指南参考

jsbin

https://static.jsbin.com/images/dave.min.svg

一个轻量级的html/css/js在线编辑器Debug调试器

jsfuck

http://www.jsfuck.com/favicon.ico

JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅使用六个不同的字符来编写和执行代码。

其他

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Bootstrap

https://getbootstrap.com/docs/4.5/assets/img/favicons/favicon.ico

Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架

Sass

https://avatars2.githubusercontent.com/u/317889?s=200&v=4

Sass 是成熟、稳定、强大的 CSS 扩展语言

Less

https://avatars0.githubusercontent.com/u/3538330?s=200&v=4

Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性

magic

CSS3动画特效

Animate.css

https://avatars3.githubusercontent.com/u/64791939?s=200&v=4

CSS动画的跨浏览器库,简单易用

normalize.css

http://necolas.github.io/normalize.css/favicon.ico

使浏览器更加一致地呈现所有元素并符合现代标准。它只针对需要规范化的样式

Hover

CSS3动力悬停效果的集合,适用于链接,按钮,徽标,SVG,特色图像等

github-markdown-css

复制GitHub Markdown样式的最小CSS量

autoprefixer

https://avatars1.githubusercontent.com/u/8296347?s=200&v=4

Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里

vivify

http://vivify.mkcreative.cz/assets/img/apple-icon-57x57.png

Vivify是免费的CSS动画库。

cubic-bezier

在线制作CSS动画

CSS

发现导航 - 精选实用导航网站

iconfont

http://www.iconfont.cn/favicon.ico

阿里妈妈MUX倾力打造的矢量图标管理、交流平台

Font Awesome

https://avatars1.githubusercontent.com/u/1505683?s=200&v=4

一套绝佳的图标字体库和CSS框架

LivIcons Evolution

https://livicons.com/apple-icon-57x57.png

会动的纯svg矢量图标库

ionicons

https://avatars0.githubusercontent.com/u/3171503?s=200&v=4

适用于Ionic Framework和Web应用程序的高级图标字体

material-design-icons

Google的Material Design图标

图标库

发现导航 - 精选实用导航网站

css battle

https://cssbattle.dev/images/logo-square.png

在线比拼CSS

学习CSS布局

http://zh.learnlayout.com/images/logo.png

学习CSS布局

资源

发现导航 - 精选实用导航网站

CSS

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/css/css.png

发现导航 - 精选实用导航网站

TypeScript

TypeScript 是一种由微软开发的自由和开源的编程语言,它是JavaScript的一个超集

TypeSearch

搜索typescript 类型包 @types/node

DefinitelyTyped

高质量TypeScript类型定义的存储库

typescript-eslint

https://avatars0.githubusercontent.com/u/46634674?s=200&v=4

Monorepo用于所有工具,使ESLint能够支持TypeScript

awesome-typescript

用于客户端和服务器端开发的强大TypeScript资源的集合。在TypeScript中编写精彩的JavaScript

TypeScript 入门教程

TypeScript 入门教程

TypeScript

发现导航 - 精选实用导航网站

TypeScript

https://www.typescriptlang.org/favicon-32x32.png

发现导航 - 精选实用导航网站

JavaScript 20 年

JavaScript 20 年

你不知道的JavaScript

你不知道的JavaScript

现代 JavaScript 教程

https://zh.javascript.info/img/favicon/favicon.png

以最新的 JavaScript 标准为基准。通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识

ECMAScript 6入门

ECMAScript 6入门

JavaScript教程

JavaScript 标准参考教程

书籍

发现导航 - 精选实用导航网站

JavaScript Puzzlers

你真的了解JavaScript吗?来试试吧!

InterviewMap

https://avatars1.githubusercontent.com/u/41361384?s=200&v=4

打造最好的面试图谱

飞冰早报

飞冰早报

jsdoc

用于JavaScript的API文档生成器。

30 seconds of code

https://avatars3.githubusercontent.com/u/43479428?s=200&v=4

精选的有用JavaScript代码段集合,您可以在30秒或更短的时间内理解这些代码段。

33-js-concepts

JavaScript开发者应懂的33个概念

ECMAScript Proposals

https://avatars1.githubusercontent.com/u/1725583?s=200&v=4

跟踪ECMAScript 提案

ecma262

https://avatars1.githubusercontent.com/u/1725583?s=200&v=4

ECMA-262的状态,流程和文档

JavaScript 秘密花园

https://bonsaiden.github.io/JavaScript-Garden/favicon.ico?v=2

JavaScript 语言最古怪用法的文档集合

Airbnb JavaScript 编码规范

Airbnb JavaScript 编码规范

Daily-Interview-Question

工作日每天一道前端大厂面试题,祝大家天天进步,一年后会看到不一样的自己

javascript-algorithms

JavaScript 算法与数据结构

weekly

https://avatars2.githubusercontent.com/u/26534952?s=200&v=4

前端精读周刊

文档

发现导航 - 精选实用导航网站

参考资料

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

WEB前端

发现导航 - 精选实用导航网站

Node.js

Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时

npm1

npm是JavaScript世界的包管理工具,并且是 Node.js 平台的默认包管理工具

官方

发现导航 - 精选实用导航网站

urllib

在复杂的世界中请求HTTP(s)URL

formstream

multipart / form-data编码流,用于文件上传的帮助程序。

validate-npm-package-name

给我一个字符串,我会告诉你它是否是有效的npm软件包名称

模块

发现导航 - 精选实用导航网站

Yarn

https://classic.yarnpkg.com/favicon.ico

快速、可靠、安全的依赖管理

awesome-nodejs

Node.js软件包和资源

nodebestpractices

最大的Node.js最佳实践列表

其他

发现导航 - 精选实用导航网站

NodeBB

https://avatars0.githubusercontent.com/u/4449608?s=200&v=4

基于Node.js的论坛软件,为现代网站

Ghost

https://avatars1.githubusercontent.com/u/2178663?s=200&v=4

Ghost 是基于 Node.js 构建的开源博客平台。Ghost 具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写。Ghost 的目标是取代臃肿的 Wordpress

CMS

发现导航 - 精选实用导航网站

nodebestpractices

Node.js 最佳实践, 最大的汇集,且每周都在增长 - 当前,超过50个最佳实现,样式指南,架构建议已经呈现

资料

发现导航 - 精选实用导航网站

生态系统

https://nodejs.org/static/images/favicons/favicon.ico

发现导航 - 精选实用导航网站

request

简化的HTTP请求客户端

superagent

一个小型渐进式客户端HTTP请求库,Node.js模块具有相同的API,具有许多高级HTTP客户端功能

axios

基于Promise的HTTP客户端,用于浏览器和node.js

node-fetch

一个轻量级的模块,将window.fetch带到Node.js

bent

带有async await的功能性JS HTTP客户端(Node.js和Fetch)

superagent-proxy

superagent代理扩展,这使您可以通过某种代理来代理HTTP请求

网络请求

发现导航 - 精选实用导航网站

Puppeteer

https://pptr.dev/favicons/apple-touch-icon.png

Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chromium或Chrome

cypress

https://avatars0.githubusercontent.com/u/8908513?s=200&v=4

对浏览器中运行的所有内容进行快速,轻松和可靠的测试,(类Puppeteer)

Mocha

https://avatars0.githubusercontent.com/u/8770005?s=200&v=4

Node.js和浏览器的简单,灵活,有趣的JavaScript测试框架

chai

https://avatars0.githubusercontent.com/u/1515293?s=200&v=4

node.js的BDD/TDD断言框架和可以与任何测试框架配对的浏览器

ava

https://avatars2.githubusercontent.com/u/8527916?s=200&v=4

未来的JavaScript测试运行器

Jest

https://jestjs.io/img/favicon/favicon.ico

Jest是一个令人愉快的JavaScript测试框架,专注于简单性。

testcafe

https://avatars1.githubusercontent.com/u/4243232?s=200&v=4

一个Node.js工具,用于自动化端到端Web测试

jest-puppeteer

https://avatars2.githubusercontent.com/u/26206404?s=200&v=4

使用Jest&Puppeteer运行测试 🎪✨

ts-jest

https://kulshekhar.github.io/ts-jest/assets/img/logo.png

具有对Jest的Sourcemap支持的TypeScript预处理器

jest-extended

https://avatars2.githubusercontent.com/u/26206404?s=200&v=4

扩展 jest 匹配器

单元测试

发现导航 - 精选实用导航网站

node-mysql2

node.js的快速node-mysql兼容的mysql驱动程序

sequelize

基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite 和 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 读取和复制等功能

mongoose

mongodb对象模型设计用于在异步环境中工作。

ioredis

适用于Node.js,以性能为中心且功能齐全的Redis客户端。

objection.js

Objection.js是Node.js的一个ORM ,它旨在避免使用SQL和底层数据库引擎的全部功能,同时尽可能简单地将magic保持在最低限度。

nedb

JavaScript数据库,用于Node.js,nw.js,electron和浏览器

typeorm

https://avatars0.githubusercontent.com/u/20165699?s=200&v=4

ORM for TypeScript和JavaScript(ES7,ES6,ES5)。支持MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle,WebSQL数据库。适用于NodeJS,浏览器,Ionic,Cordova和Electron平台

knexjs

https://avatars0.githubusercontent.com/u/10490573?s=200&v=4

PostgreSQL,MySQL和SQLite3的查询构建器,旨在灵活,可移植且易于使用。

node-redis

https://avatars1.githubusercontent.com/u/5845577?s=200&v=4

高性能Node.js Redis客户端。

数据库

发现导航 - 精选实用导航网站

node-canvas

node-canvas是Node.js的Cairo -backed Canvas实现。

svg-captcha

在node.js中生成svg验证码

ccap

node.js使用C++库CImg生成验证码,无需安装任何其他库或软件

text-to-svg

将文本转换为SVG路径而不依赖于本机

svg2png

使用PhantomJS将SVG转换为PNG

图形相关

发现导航 - 精选实用导航网站

node-http-proxy

一个HTTP可编程代理库,支持websocket。它适用于实现反向代理和负载平衡器等组件

http-proxy-middleware

用于连接,快速和浏览器同步的单线程node.js http-proxy中间件(基于node-http-proxy)

代理

发现导航 - 精选实用导航网站

esprima

ECMAScript解析基础架构,可进行多用途分析, 将代码转换成AST

recast

JavaScript AST转换器,非破坏性漂亮打印机和自动源映射生成器

AST辅助工具

发现导航 - 精选实用导航网站

node-xlsx

NodeJS excel文件解析器和构建器

fs-extra

操作系统文件,用于替代内置的fs模块

js-xlsx

https://avatars0.githubusercontent.com/u/5826089?s=200&v=4

SheetJS社区版 - 电子表格工具包

node-archiver

https://www.archiverjs.com/images/logo.svg

文件压缩

文件相关

发现导航 - 精选实用导航网站

wechat-oauth

微信公共平台OAuth接口消息接口服务中间件与API SDK

wechat-api

微信公共平台API

wechat

微信公共平台消息接口服务中间件

wechaty

是适用于微信个人帐户的Bot SDK ,可以帮助您创建6行javascript的机器人

微信开发

发现导航 - 精选实用导航网站

Glob

匹配文件。 **/*.js

prompts

轻巧,美观和用户友好的交互式提示

enquirer

https://avatars3.githubusercontent.com/u/21160645?s=200&v=4

时尚,直观和用户友好的提示

cli-table3

https://avatars2.githubusercontent.com/u/887802?s=200&v=4

带有Node.JS的CLI的漂亮unicode表

commander.js

node.js命令行界面的完整解决方案,受Ruby指挥官的启发

ora

优雅的终端微调器

Inquirer.js

常用交互式命令行用户界面的集合

shelljs

Node.js的可移植Unix shell命令

download-git-repo

下载并提取git存储库(GitHub,GitLab,Bitbucket)

node-semver

https://avatars0.githubusercontent.com/u/6078720?s=200&v=4

node的semver解析器

node-progress

node.js的灵活ascii进度条

node-qrcode

二维码生成

open

打开URL,文件,可执行文件等内容。跨平台。

ssh2

用纯JavaScript编写的SSH2客户端和服务器模块,用于node.js

minimist

解析参数选项

node-clear

清空终端屏幕信息

chalk

https://avatars2.githubusercontent.com/u/13122722?s=200&v=4

终端字符串样式

yargs

https://avatars3.githubusercontent.com/u/16504989?s=200&v=4

通过解析参数并生成优雅的用户界面来帮助您构建交互式命令行工具。

CLI

发现导航 - 精选实用导航网站

handlebars

https://handlebarsjs.com/images/favicon.png

JavaScript模板引擎

ejs

https://ejs.co/favicon.svg

JavaScript模板引擎

mustache.js

https://github.githubassets.com/favicons/favicon.svg

使用JavaScript的无逻辑{{mustache}}模板

模板引擎

发现导航 - 精选实用导航网站

node-xml2js

简单的XML到JavaScript对象转换器。它支持双向转换。使用sax-js和 xmlbuilder-js

iconv-lite

纯JavaScript中转换字符编码。

node-uuid

在JavaScript中生成符合RFC的UUID

nativefier

使任何网页成为桌面应用程序

getmac

通过Node.js获取当前计算机的mac地址

http-server

一个简单的零配置命令行http服务器

node-schedule

Node的类似cron-like和非not-cron-like的作业调度程序。

qrcode-terminal

QRCode终端版

localtunnel

https://avatars1.githubusercontent.com/u/13612933?s=200&v=4

localtunnel将您的localhost暴露给世界,以便于测试和共享!无需混淆DNS或部署只是为了让其他人测试您的更改

passport

http://www.passportjs.org/images/favicon/apple-icon-57x57.png

Node.js的简单,不显眼的身份验证

parameter

参数验证工具

bytes

用于解析字符串字节, b/kb/mb/gb/tb/pb

js-yaml

https://avatars2.githubusercontent.com/u/723678?s=200&v=4

JavaScript YAML解析器和转储器。非常快

acorn

https://avatars0.githubusercontent.com/u/34631683?s=200&v=4

一个小型,基于JavaScript的快速JavaScript解析器

figlet.js

用JavaScript编写的FIG驱动程序,旨在完全实现FIGfont规范, 生成ascii

node-printer

本机 node.js 打印机

fontmin

无缝缩小字体

morgan

https://avatars1.githubusercontent.com/u/5658226?s=200&v=4

Node.js的HTTP请求记录器中间件

jsdom

https://avatars0.githubusercontent.com/u/9271229?s=200&v=4

与Node.js一起使用的各种Web标准的JavaScript实现

其他

发现导航 - 精选实用导航网站

依赖包

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

Electron

https://www.electronjs.org/images/favicon.ico

使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用

electron-packager

https://www.electronjs.org/images/favicon.ico

通过JS或CLI自定义和封装您的Electron应用程序与特定于操作系统的软件包(.app,.exe等)

electron-installer-dmg

https://www.electronjs.org/images/favicon.ico

使用AppDMG为电子应用程序创建DMG安装程序

electron-vue

https://simulatedgreg.gitbooks.io/electron-vue/content/gitbook/images/apple-touch-icon-precomposed-152.png

基于 vue (基本上是它听起来的样子) 来构造 electron 应用程序的样板代码。

electron-builder

https://www.electron.build/assets/images/favicon.png

一个开箱即用的完整解决方案,用于将Electron, Proton Native or Muon 打包、构建成支持macOS, Windows and Linux三大系统的,可”自动更新”的可发布安装程序

electron-react-boilerplate

https://electron-react-boilerplate.js.org/logo/logo.png

基于React可扩展跨平台应用程序的App

menubar

https://www.electronjs.org/images/favicon.ico

Electron创建菜单栏桌面应用程序的高级方法。

Electron

https://www.electronjs.org/images/favicon.ico

发现导航 - 精选实用导航网站

nw.js

https://nwjs.org.cn/asset/img/favicon.ico

从DOM/WebWorker层,直接调用所有的Node模块,使用现有的web技术,开启一个全新的编写应用的方式

nw-builder

https://nwjs.org.cn/asset/img/favicon.ico

以编程方式或通过CLI 构建适用于Mac,Win和Linux的NW.js应用程序。

nwjs-ffmpeg-prebuilt

https://nwjs.org.cn/asset/img/favicon.ico

FFMpeg预构建的二进制文件具有专有的编解码器和构建窗口。

nw.js

发现导航 - 精选实用导航网站

跨平台框架

发现导航 - 精选实用导航网站

nest

https://avatars1.githubusercontent.com/u/28507035?s=200&v=4

Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架。它使用渐进式 JavaScript,内置并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码)并结合了 OOP(面向对象编程),FP(功能编程)和 FRP(功能反应编程)的元素

awesome-nestjs

https://avatars1.githubusercontent.com/u/28507035?s=200&v=4

NestJS的精选列表

nest

发现导航 - 精选实用导航网站

Egg.js

https://eggjs.org/images/favicon.png

Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本

egg-validate

https://eggjs.org/images/favicon.png

基于 parameter 封装的参数验证插件

egg-mailer

https://eggjs.org/images/favicon.png

基于 nodemailer 封装的参数验证插件

egg.js

发现导航 - 精选实用导航网站

Koa

https://avatars2.githubusercontent.com/u/5055057?s=200&v=4

Koa -- 基于Node.js 平台的下一代web开发框架

Express

https://avatars1.githubusercontent.com/u/5658226?s=200&v=4

Express - 快速、开放、极简的 Web 开发框架

Express/Koa

发现导航 - 精选实用导航网站

WEB框架

发现导航 - 精选实用导航网站

node-inspector

Node.js调试器基于Blink Developer Tools

debug

一个微小的JavaScript调试工具,以Node.js核心的调试技术为模型。适用于Node.js和Web浏览器

ndb

ndb是针对Node.js的改进调试体验,由Chrome DevTools启用

调试debugger

发现导航 - 精选实用导航网站

nvm

Node版本管理器 - 用于管理多个活动node.js版本的简单bash脚本

nvm-windows

适用于Windows的node.js版本管理实用程序

nvs

Node Version Switcher - 用于在Node.js的版本和分支之间切换的跨平台工具(受到nvm的启发)

n

Node.js版本管理:无配置文件,无复杂的API,非常简单

node版本管理

发现导航 - 精选实用导航网站

log4js-node

log4js 是一个 nodejs 日志管理工具,可以将日志以各种形式输出到各种渠道。

node-bunyan

用于node.js服务的简单快速的JSON日志记录模块

日志管理

发现导航 - 精选实用导航网站

yeoman

https://avatars0.githubusercontent.com/u/1714870?s=200&v=4

一套用于自动化开发工作流程的工具

nodemailer

https://avatars0.githubusercontent.com/u/16486629?s=200&v=4

发送来自Node.js的电子邮件 - 很容易就像蛋糕一样!

gh-pages

将文件发布到GitHub上的gh-pages分支的常规任务

集成工具

发现导航 - 精选实用导航网站

terser

https://avatars1.githubusercontent.com/u/43502240?s=200&v=4

适用于ES6+的JavaScript解析器,mangler和压缩器工具包

代码压缩

发现导航 - 精选实用导航网站

Awehunt

npm包下载量曲线对比图

nodemon

监视node.js应用程序中的任何更改并自动重新启动服务器 - 非常适合开发

pkg

将Node.js项目打包成可执行文件

npm-check-updates

查找package.json或bower.json允许的更新版本的软件包依赖项

husky

husky 可以防止错误的 git commit, git push 等

bundlephobia

找出在项目中添加新的依赖项的包大小

npm-run-all

一个CLI工具,可并行或顺序运行多个npm脚本

dotenv

从.env加载用于nodejs项目的环境变量

cross-env

运行跨平台设置和使用环境变量的脚本

nrm

npm源快速切换, npm, cnpm, taobao, nj, 内网

其他

发现导航 - 精选实用导航网站

辅助工具

https://nodejs.org/static/images/favicons/favicon.ico

发现导航 - 精选实用导航网站

Deno

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

一个安全的运行时的JavaScript和TypeScript

Deno 标准库

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

Deno 标准库

官方

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

发现导航 - 精选实用导航网站

Deno

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

适用于Deno的Visual Studio Code插件

工具

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

发现导航 - 精选实用导航网站

Deno

发现导航 - 精选实用导航网站

Node.js

发现导航 - 精选实用导航网站

Golang

Go编程语言

go.dev

大规模构建快速,可靠,高效的软件

awesome-go

精选的Go框架,库和软件的精选列表

Goproxy

https://avatars1.githubusercontent.com/u/49926011?s=200&v=4

中国最可靠的 Go 模块代理

Go语言中文网

https://static.studygolang.com/static/img/favicon.ico

Go语言中文网

Go标准库中文文档

https://studygolang.com/static/img/go.ico

Go标准库中文文档

生态

发现导航 - 精选实用导航网站

gin

Gin是用Go(Golang)编写的Web框架。它具有类似于martini的API,其性能比httprouter快40倍。如果您需要性能和良好的生产率,您会喜欢Gin

beego

beego是用于Go编程语言的开源,高性能Web框架

martini

Go的经典Web框架

echo

https://avatars1.githubusercontent.com/u/2624634?s=200&v=4

高性能,简约的Go Web框架

iris

https://www.iris-go.com/favicon.ico

最快的HTTP / 2 Go Web框架。AWS Lambda,gRPC,MVC,唯一路由器,Websocket,会话,测试套件,依赖注入等。expressjs和laravel的真正继承者|

fiber

https://avatars1.githubusercontent.com/u/59947262?s=200&v=4

Fiber是一个受Express启发的Web框架,建立在Fasthttp(Go最快的HTTP引擎)的基础上。 旨在简化零内存分配和性能的情况,以便快速开发。

WEB框架

发现导航 - 精选实用导航网站

生态系统

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

Fyne

https://avatars3.githubusercontent.com/u/36045855?s=200&v=4

基于Material Design的Go跨平台GUI

GUI

发现导航 - 精选实用导航网站

logrus

Go的结构化,可插入日志记录。

zap

https://avatars3.githubusercontent.com/u/19262598?s=200&v=4

在Go中实现快速,结构化,水平的日志记录。

日志模块

发现导航 - 精选实用导航网站

gorm

适用于Golang的绝佳ORM库,旨在对开发人员友好

ent

https://entgo.io/img/favicon.ico

用于Go的简单但功能强大的实体框架,可轻松构建和维护具有大型数据模型的应用程序。

mysql

Go MySQL驱动程序是Go(golang)数据库/ sql包的MySQL驱动程序

sqlite3

sqlite3驱动程序

pq

适用于database/sql的Pure Go Postgres驱动程序

redis

https://redis.uptrace.dev/assets/images/favicon.png

用于Golang的类型安全的Redis客户端

数据库

发现导航 - 精选实用导航网站

json-iterator

高性能100%兼容的“ encoding / json”替代产品

blackfriday

Markdown处理器,安全、快速。

goldmark

用Go语言编写的markdown解析器。易于扩展,符合标准(CommonMark),结构合理。

goquery

接近jQuery语法的DOM解析库

go-yaml

yaml包使Go程序能够轻松地对yaml值进行编码和解码, 可以快速可靠地解析和生成YAML数据。

xurls

从文本中提取Urls

解析器

发现导航 - 精选实用导航网站

govalidator

参数验证程序,用于字符串,数字,切片和结构

validator

基于标签对结构和各个字段实现值验证。

参数验证

发现导航 - 精选实用导航网站

ip

获取公网IP地址、v4/v6

terminal

提供了用于处理终端的支持功能,这在UNIX系统上很常见

gopsutil

用于检索正在运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视,概要分析和限制进程资源以及管理正在运行的进程

air

Go热重载

go-micro

分布式系统开发框架

xlsx

xlsx是一个库,用于简化在Go程序中读写Microsoft Excel最新版本使用的XML格式。

email

Go强大而灵活的电子邮件库。

websocket

Go的一种快速,经过测试且广泛使用的WebSocket实现

jwt-go

Golang 实现的 JSON WEB TOKEN

cron

Go 实现的 cron 包

qrcode

二维码生成

casbin

https://avatars3.githubusercontent.com/u/27810343?s=200&v=4

权限管理库,支持Golang中的访问控制模型,如ACL,RBAC,ABAC

resty

用于Go的简单HTTP和REST客户端库

grpc-go

https://grpc.io/favicons/apple-touch-icon.png

gRPC的Go语言实现。基于HTTP/2的RPC

colly

https://avatars2.githubusercontent.com/u/33584194?s=200&v=4

Colly提供了一个干净的界面来编写任何种类的爬虫

cors

使用net / http可配置的处理程序来处理CORS请求

其他

发现导航 - 精选实用导航网站

依赖包

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

color

CLI 控制台颜色渲染工具库, 支持Windows

终端颜色

发现导航 - 精选实用导航网站

cli

一个简单,快速且有趣的软件包,用于在Go中构建命令行应用

cobra

Cobra既是用于创建功能强大的现代CLI应用程序的库,又是用于生成应用程序和命令文件的程序

命令行解析

发现导航 - 精选实用导航网站

pb

Golang的控制台进度栏

mpb

Go cli应用程序的多进度条

控制台进度条

发现导航 - 精选实用导航网站

promptui

命令行应用程序的交互式提示

godotenv

从`.env`文件加载环境变量。

go-prompt

受python-prompt-toolkit启发,在Go中构建强大的交互式提示。

其他

发现导航 - 精选实用导航网站

CLI

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

gvm

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go版本管理器,类似 nvm

json-to-go

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

在线 JSON 转 Struct结构体

golangci-lint

https://avatars3.githubusercontent.com/u/35628013?s=200&v=4

Go的快速Linters Runner

The Go Playground

https://play.golang.org/favicon.ico

在线运行Golang

nuclei

https://nuclei.projectdiscovery.io/

Nuclei是基于模板的可配置目标扫描的快速工具,具有广泛的可扩展性和易用性。

jaeger

https://avatars3.githubusercontent.com/u/35628013?s=200&v=4

分布式链路追踪

delve

https://avatars1.githubusercontent.com/u/19232073?s=200&v=4

Delve是Go编程语言的调试器。

工具

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Go 入门指南

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《The Way to Go》中文译本,中文正式名《Go 入门指南》

Go语言圣经

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go语言圣经 《The Go Programming Language》 中文版本

Go WEB 编程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Golang电子书介绍如何使用Golang建立网络

Go简易教程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《The Little Go Book》中文译本,中文正式名《Go简易教程》

Go by Example 中文版

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go by Example 是对 Go 基于实践的介绍,包含一系列带有注释说明的示例程序。

Go语言之旅

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

本指南涵盖了该语言的大部分重要特性,主要包括:基础、方法和接口、并发等

Go语言101

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

一本着墨于Go语法语义以及运行时相关知识点的编程指导书(Go 1.15就绪)。 此书旨在尽可能地帮助Go程序员更深更全面地理解Go语言

Go语言高级编程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

本书涵盖CGO、Go汇编语言、RPC实现、Web框架实现、分布式系统等高阶主题,针对Go语言有一定经验想深入了解Go语言各种高级用法的开发人员(不推荐新手)

Mastering GO

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《Mastering GO》中文译本,《玩转 GO》。

Mastering GO2

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Mastering Go 第二版中文版来袭!

书籍

发现导航 - 精选实用导航网站

100天从新手到大师

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Golang - 100天从新手到大师

project-layout

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go标准布局结构,项目架构结构参考。

编码规范

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Uber Go 语言编码规范

Gin实战

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

WEB 框架Gin实战

其他

发现导航 - 精选实用导航网站

参考资料

发现导航 - 精选实用导航网站

Golang

发现导航 - 精选实用导航网站

Dart

https://pub.dev/favicon.ico

Dart语言

DartPad

https://pub.dev/favicon.ico

在线运行Dart语法

Dart packages

https://pub.dev/favicon.ico

Dart packages

Flutter

https://flutter.dev/images/favicon.png

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的

Flutter Icon

https://flutter.dev/images/favicon.png

Flutter内置Icon组件图标速查表

官方

发现导航 - 精选实用导航网站

imei_plugin

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

用flutter在Android中获取imei的插件

multi_image_picker

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

Flutter插件,可让您在iOS和Android上显示多图像选择器。

sqflite

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

SQLite flutter plugin

dio

https://flutter.dev/images/favicon.png

dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等

fish-redux

https://camo.githubusercontent.com/a53c432bb9c2222880a6eca54b5ed091d1ab3d40/68747470733a2f2f696d672e616c6963646e2e636f6d2f7466732f5442317237344e4a794c614b31526a535a46785858616d504658612d313032342d313032342e706e67

一个基于Redux状态管理的组合式flutter应用程序框架。它适用于建筑中型和大型应用。

flutter_pulltorefresh

https://flutter.dev/images/favicon.png

一个提供上拉加载和下拉刷新的组件,同时支持Android和Ios

json_serializable

https://flutter.dev/images/favicon.png

JSON序列化和反序列化的代码

flutter_swiper

https://flutter.dev/images/favicon.png

flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配

FlutterToast

https://flutter.dev/images/favicon.png

适用于Flutter的Android Toast插件

dart-uuid

https://flutter.dev/images/favicon.png

生成 RFC4122(v1,v4,v5) UUIDs

fluwx

https://flutter.dev/images/favicon.png

Flutter版微信SDK.WeChat SDK for flutter.

常用模块

发现导航 - 精选实用导航网站

Material Design

https://flutter.dev/images/favicon.png

Material是一个由开源代码支持的设计系统,可以帮助团队构建高质量的数字体验

Flutter实战

https://flutter.dev/images/favicon.png

Flutter实战

samples

https://flutter.dev/images/favicon.png

Flutter示例和演示的集合

flutter-go

https://img.alicdn.com/tfs/TB1OJkeHNYaK1RjSZFnXXa80pXa-229-229.png

flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档

Flutter-Notebook

https://flutter.dev/images/favicon.png

flutter相关功能demo的集合,它能够帮助您快速学习一些零碎的知识

plugins

https://flutter.dev/images/favicon.png

Flutter团队维护的Flutter插件

awesome-flutter

https://flutter.dev/images/favicon.png

很棒的清单,精选了最好的Flutter库,工具,教程,文章等

flutter-do

https://flutter.dev/images/favicon.png

330+Widgets在线查看预览和使用。

文档资料

发现导航 - 精选实用导航网站

flutter_wanandroid

https://flutter.dev/images/favicon.png

基于Google Flutter的WanAndroid客户端,支持Android和iOS。包括BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构&比较规范的代码

Best-Flutter-UI-Templates

https://flutter.dev/images/favicon.png

Best-Flutter-UI-模板, 对所有人完全免费。其内置的Flutter Dart。

其他

发现导航 - 精选实用导航网站

生态系统

发现导航 - 精选实用导航网站

Flutter

发现导航 - 精选实用导航网站

Python

是一种解释型、面向对象、动态数据类型的高级程序设计语言。

PyPi

使用Python软件包索引查找,安装和发布Python软件包

官方

发现导航 - 精选实用导航网站

PCU

python-check-updates, 检查 pip 当前依赖包最新版本

工具

发现导航 - 精选实用导航网站

生态系统

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

requests

https://www.python.org/static/favicon.ico

requests是一个简单而优雅的HTTP库。

aiohttp

https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png

用于asyncio和Python的异步HTTP客户端/服务器框架

Scrapy

https://avatars2.githubusercontent.com/u/733635?s=200&v=4

一个用于Python的快速高级Web爬虫框架。

selenium

https://avatars0.githubusercontent.com/u/983927?s=200&v=4

浏览器自动化框架和生态系统。

beautifulsoup

可以从HTML或XML文件中提取数据的Python库

HTTP/爬虫

发现导航 - 精选实用导航网站

Pillow

友好的PIL前叉,是一个出色的图像处理库

图像

发现导航 - 精选实用导航网站

numpy

使用Python进行科学计算的基本软件包。

运算

发现导航 - 精选实用导航网站

pandas

https://avatars1.githubusercontent.com/u/21206976?s=200&v=4

功能强大的Python数据分析工具包

数据分析

发现导航 - 精选实用导航网站

rich

https://github.com/favicon.ico

Rich是一个Python库,用于在终端中提供富文本和精美的格式。

Fire

Python Fire是一个用于从绝对任何Python对象自动生成命令行界面(CLI)的库。

colorama

Python中简单的跨平台彩色终端文本

tqdm

https://avatars1.githubusercontent.com/u/12731565?s=200&v=4

适用于Python和CLI的快速,可扩展的进度栏

paramiko

领先的Python SSHv2协议库

click

Python可组合命令行界面工具包

CLI

发现导航 - 精选实用导航网站

JMESPath

https://github.com/favicon.ico

JMESPath是JSON的查询语言

其他

发现导航 - 精选实用导航网站

依赖包

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

Django

https://avatars3.githubusercontent.com/u/27804?s=200&v=4

具有期限的完美主义者的Web框架。

flask

https://avatars0.githubusercontent.com/u/16748505?s=200&v=4

用于构建Web应用程序的Python微框架。

WEB框架

发现导航 - 精选实用导航网站

框架

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

简明 Python 教程

https://www.python.org/static/favicon.ico

旨在于介绍如何使用 Python 语言进行编程的自由图书。它以教材与指南的形式为入门者介绍 Python 语言。如果你对电脑知识的了解仅限于如何保存文本文件的话,那这本书就是为你准备的。

书籍

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

100天从新手到大师

https://www.python.org/static/favicon.ico

Python - 100天从新手到大师

Python 入门指南

https://www.python.org/static/favicon.ico

Python 入门指南

What the f*ck Python!

https://www.python.org/static/favicon.ico

一些有趣且鲜为人知的 Python 特性.

awesome-python-cn

https://www.python.org/static/favicon.ico

Python 资源大全中文版

cheatsheet

https://www.python.org/static/favicon.ico

Python大全备忘单

awesome-python

https://www.python.org/static/favicon.ico

精选的Python框架,库,软件和资源的精选清单。

文档资料

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

参考资料

发现导航 - 精选实用导航网站

Python

发现导航 - 精选实用导航网站

segmentfault

https://cdn.segmentfault.com/v-5f64887f/global/img/touch-icon.png

是中文领域最大的技术问答交流社区平台

掘金

https://b-gold-cdn.xitu.io/favicons/v2/apple-touch-icon.png

一个帮助开发者成长的社区

DiyCode1

致力于构建开发工程师高端交流分享社区

黑客派

https://static.ld246.com/images/favicon.png

黑客派是程序员和设计师的聚集地,汇聚了严谨求实的工程师和富有创意的设计师

Node.js专业中文社区

国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究

吾爱破解

https://www.52pojie.cn/favicon.ico

吾爱破解关注PC软件安全和移动安全领域,致力于软件安全与病毒分析的前沿

FreeBuf

https://www.freebuf.com/favicon.ico

FreeBuf黑客与极客,国内关注度最高的全球互联网安全媒体平台

IMWeb

https://imweb.io/public/icon.png

Web前端 腾讯IMWeb 团队社区

Stack Overflow

https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a

全球最大的技术问答网站,是一个与程序相关的IT技术问答网站

React社区

https://reactjs.org/favicon.ico

React论坛社区

众成翻译

https://p1.ssl.qhimg.com/t010e845cdf71587354.png

中国最好的技术翻译社区,最懂译者的翻译平台,奇虎360最大前端团队“奇舞团”出品

MDN web docs

https://developer.mozilla.org/favicon.ico

Mozilla 开发者社区,是一个完整的学习平台,你可以在这里深入学习Web技术以及能够驱动Web的软件

DEV Community

https://dev-to.s3.us-east-2.amazonaws.com/favicon.ico

在这里程序员分享想法并帮助彼此成长

问答社区1

发现导航 - 精选实用导航网站

V2EX

https://www.v2ex.com/static/img/v2ex_192.png

创意工作者们的社区

知乎

https://static.zhihu.com/static/favicon.ico

知乎,中文互联网最大的知识分享和社交平台

简书

https://www.jianshu.com/favicon.ico

简书是一个创作社区,任何人均可以在其上进行创作

小专栏

https://images.xiaozhuanlan.com/assets/favicon-bd135558698197f509ada06695c03a4f458f0077fa476f9a4e7ba9664f3dc55f.ico

小专栏是一个专业人士的创作知识社区,在这里您可以看到各个领域最专业的专栏和观点

Hacker News

https://news.ycombinator.com/favicon.ico

Hacker News

程序员客栈

https://stacdn.proginn.com/favicon_new.ico

程序员客栈是领先的程序员自由工作平台,未来互联网企业用人方式。提供优秀程序员为您进行网站建设制作、测试运维服务、人工智能AI、大数据区块链、软件开发等优质服务

职Q

https://fecdn4.zhaopin.cn/zq/assets/logoIcon.7a3e67.png

智联招聘旗下专业的招聘求职社交问答平台,覆盖了求职、招聘、职业规划、升职加薪、面试技巧、工作经验分享等热门话 题,涉及各种行业职场问题,1.5亿用户的职场社区

煎蛋

http://cdn.jandan.net/static/img/appicon.png

煎蛋以译介方式传播网络新鲜资讯

其他

发现导航 - 精选实用导航网站

Github

https://github.githubassets.com/favicons/favicon.svg

面向开源及私有软件项目的托管平台

码云

https://gitee.com/favicon.ico

码云专为开发者提供稳定、高效、安全的云端软件开发协作平台

GitLab

https://about.gitlab.com/ico/apple-touch-icon-57x57.png

用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

Coding

https://dn-coding-net-production-static.codehub.cn/platform/favicon.ico

面向开发者的云端开发平台,提供 git/svn 代码托管,代码质量分析,在线WebIDE,项目管理...

代码托管

发现导航 - 精选实用导航网站

社区站点

发现导航 - 精选实用导航网站

社区站点

发现导航 - 精选实用导航网站

觅元素

http://www.51yuansu.com/favicon.ico

觅元素,为您提供免费设计元素,设计元素的资源站

千库网

https://js.588ku.com/comp/public/css/iconfont/favicon.ico

致力于为设计师提供最优质的素材

花瓣网

https://huaban.com/img/touch-icon-ipad.png

花瓣,陪你做生活的设计师

Dribbble

https://cdn.dribbble.com/assets/favicon-b38525134603b9513174ec887944bde1a869eb6cd414f4d640ee48ab2a15a26b.ico

Dribbble是展示和宣传,推广,发现和探索设计的地方

万素网

https://669pic.com/669pic.ico

万素网致力于为国内各行业设计师,网站编辑,新媒体工作人员提供免费png素材与背景图片服务

ArtStation

https://www.artstation.com/assets/favicon.ico

ArtStation是游戏,电影,媒体和娱乐艺术家的展示平台。它使艺术家能够以流畅的方式展示他们的作品集,发现和保持灵感,并与新的机会联系起来。

Design Templates - Canva

https://static.canva.com/static/images/favicon.ico

设计模板 - Canva

Unsplash

https://unsplash.com/favicon-32x32.png

美丽,免费的照片。由世界上最慷慨的摄影师社区赠送。

稿定设计

https://www.gaoding.com/favicon.ico

电商素材、新媒体配图、手机海报等。

unDraw

https://undraw.co/favicon-32x32.png

带有开源插图的设计项目,可满足您可以想象和创建的任何想法。 免费使用您的颜色创建漂亮的网站,产品和应用程序

UI中国用户体验设计平台

https://www.ui.cn/Public/img/favicon.ico

UI中国用户体验平台,中国用户体验联盟理事单位。国内极具影响力的设计平台之一。十多年来,携手会员150万+,共同致力于为设计师与企业搭建健康的设计生态!

GitHub Octodex

https://octodex.github.com/favicon.ico

由GitHub Design团队创建和维护的所有吉祥物素材

Collect UI

http://collectui.com/img/favicon.ico

从每日ui档案库及其他收集的每日灵感。 根据Dribbble拍摄的照片,手工挑选,每天更新

材料

发现导航 - 精选实用导航网站

icons8

https://icons8.cn/vue-static/landings/primary-landings/favs/icons8_fav_96%C3%9796.png

下载免费图标,音乐,素材图片,矢量,UX插图和视频音乐

vectorlogo

https://www.vectorlogo.zone/favicon.ico

3000多种精美的SVG徽标,非常适合您的自述文件或积分页面

shareicon

https://www.shareicon.net/favicon.ico

超过25万个icon免费集合

SVG Logos

超过1000+SVG Logos集合

iconfont

https://www.iconfont.cn/favicon.ico

阿里妈妈MUX倾力打造的矢量图标管理、交流平台

iconscount

https://iconscout.com/favicon.ico

免费下载图标,插图和库存照片

图标

发现导航 - 精选实用导航网站

创客贴

https://www.chuangkit.com/favicon.ico

一款简单易用、功能强大的线上图形设计工具

Ps Play

Ps Play - 移动设计零阻力

鹿班

https://g.alicdn.com/acca/resource/luban/image/favicon.png

鹿班 - 让设计更美好(阿里出品)

fontspace

https://www.fontspace.com/android-chrome-192x192.png?v=00Bdv4Q5g6

6500+免费字体下载

工具

发现导航 - 精选实用导航网站

Color Hunt

https://colorhunt.co/img/color-hunt-icon-ios.png

Color Hunt是一个免费开放的平台,可通过数千种精选的时尚调色板来激发色彩灵感

配色

发现导航 - 精选实用导航网站

Design

发现导航 - 精选实用导航网站

Design

发现导航 - 精选实用导航网站

Docker — 从入门到实践

https://github.com/favicon.ico

Docker — 从入门到实践

Docker官方映像文档

https://github.com/favicon.ico

docker-library中的Docker官方映像文档

Docker Hub

https://avatars2.githubusercontent.com/u/7739233?s=200&v=4

Docker 镜像仓库

Docker-Compose

https://avatars2.githubusercontent.com/u/7739233?s=200&v=4

使用Docker定义和运行多容器应用程序

Docker

发现导航 - 精选实用导航网站

git-manual

https://github.com/favicon.ico

Git常用命令参考手册 (推荐学习)

GitHub Docs

https://github.com/favicon.ico

github 官方帮助文档

awesome-actions

https://github.com/favicon.ico

精选的GitHub上很棒的Action列表

Github - Actions

https://github.com/favicon.ico

Github 官方Actions 资源列表

growing-up

https://github.com/favicon.ico

程序猿成长计划

Git

发现导航 - 精选实用导航网站

nginx

https://avatars0.githubusercontent.com/u/1412239?s=200&v=4

nginx参考文档

Nginx开发从入门到精通

https://avatars0.githubusercontent.com/u/1412239?s=200&v=4

Nginx开发从入门到精通

服务器

发现导航 - 精选实用导航网站

redis

https://avatars3.githubusercontent.com/u/1529926?s=200&v=4

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构

MySQL

https://labs.mysql.com/common/themes/sakila/favicon.ico

MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。 它是百分百由MySQL原厂开发,管理和提供支持

数据库

发现导航 - 精选实用导航网站

免费的编程中文书籍索引

https://avatars1.githubusercontent.com/u/14127308?s=200&v=4

免费的编程中文书籍索引

Zlibrary

https://zh.b-ok.global/apple-touch-icon.png

Z-Library 项目部分. 全球最大的数字图书馆, 电子书

IT-eBOOK

IT类技术书籍PDF

Refactoring.Guru

https://refactoringguru.cn/favicon.ico

22种常用设计模式

书籍

发现导航 - 精选实用导航网站

Linux 常用命令参考手册

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/linux/linux.png

Linux 常用命令参考手册

developer-roadmap

https://github.com/favicon.ico

2020年成为网络开发人员的路线图

Devhints

https://devhints.io/assets/favicon.png

WEB开发速查表,mysql/go/java/js/bash/react/git...

linux-command

https://wangchujiang.com/linux-command/img/favicon.ico

Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集

learn-regex

https://github.com/favicon.ico

正则表达式学习

the-art-of-command-line

https://github.com/favicon.ico

命令行的艺术

Peter Beverloo

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/chrome/chrome.png

Chrome浏览器命令参数参考手册

vimrc

https://avatars2.githubusercontent.com/u/11618545?s=200&v=4

vim配置参考手册

Jenkins

https://www.jenkins.io/zh/sites/default/files/jenkins_favicon.ico

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要

learnxinyminutes-docs

https://learnxinyminutes.com/favicon.ico

在Y分钟内学习X

Vscode Docs

https://code.visualstudio.com/apple-touch-icon.png

Vscode 扩展开发文档

YAML教程

YAML教程

Chrome Extension

https://www.google.com/images/icons/product/chrome-32.png

谷歌浏览器扩展插件开发文档

其他文档

发现导航 - 精选实用导航网站

参考文档

发现导航 - 精选实用导航网站

菜鸟教程

https://static.runoob.com/images/icon/mobile-icon.png

提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程

慕课网

https://www.imooc.com/static/img/common/touch-icon-ipad.png

慕课网-程序员的梦工厂

极客学院

https://www.jikexueyuan.com/favicon.ico

致力于“让IT学习更有效”,以实战为特色,为注重自我提升的IT从业者提供高品质职业教育

腾讯课堂

https://9.idqqimg.com/edu/edu_modules/edu-ui/img/nohash/favicon.ico

腾讯课堂 - 专业的在线教育平台

i春秋

https://static2.ichunqiu.com/icq/resources/images/favicon.ico

【i春秋】-专注网络安全_信息安全_白帽子的在线学习_教育_培训平台

实验吧

http://www.shiyanbar.com/favicon.ico

实验吧是国内最大的在线虚拟机实验IT教育平台

合天网安实验室

https://www.hetianlab.com/img/ico/favicon.ico

合天网安实验室是支持在线实验的信息安全学习的大型服务平台

网易云课堂

https://study.163.com/favicon.ico

网易云课堂 - 领先的实用技能学习平台

蓝桥

https://study.163.com/favicon.ico

蓝桥是国内领先的IT在线编程及在线实训学习平台,专业导师提供精选的实践项目,创新的技术使得学习者无需配置繁琐的本地环境,随时在线流畅使用

W3Cschool

https://7n.w3cschool.cn/statics/images/favicon.ico?v=2.2

编程狮,是一个专业的W3C前端开发及编程入门学习平台

发现导航 - 精选实用导航网站

发现导航 - 精选实用导航网站

教程相关

发现导航 - 精选实用导航网站

LeetCode

https://static.leetcode-cn.com/cn-assets/icons/favicon-96x96.png

提高你的编码技能,快速找到一份工作。这是扩展你知识和为下一次面试做好准备的最佳地方。

牛客网

https://www.nowcoder.com/favicon.ico

牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库

CS-Notes

https://cyc-1256109796.cos.ap-guangzhou.myqcloud.com/LogoMakr_1J56bI.png

技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Java、Python、C++

数据结构和算法动态可视化

https://visualgo.net/img/favicon.png

数据结构和算法动态可视化

algorithm-pattern

https://github.com/favicon.ico

算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~

面试刷题

发现导航 - 精选实用导航网站

面试刷题

发现导航 - 精选实用导航网站

学无止境

发现导航 - 精选实用导航网站

乌云网镜像

WooYun是一个位于厂商和安全研究者之间的漏洞报告平台,注重尊重,进步,与意义

安全联盟

https://www.anquan.org/aq_static/images/favicon/favicon.ico

安全联盟 - 国内最大的第三方网络安全数据共享交换平台

360网站安全检测

https://www.360.cn/favicon.ico

为站长免费提供了网站漏洞检测、网站漏洞修复、网站后门检测、木马查杀,网址安全查询等服务

红黑联盟

https://www.2cto.com/favicon.ico

红黑联盟作为老牌的信息安全网站,致力于培训电脑技术高手.网站集网络安全,系统网络,编程开发,网站建设等频道于一体

知道创宇

https://www.knownsec.com/static/favicon.ico

知道创宇,网络空间安全专家,长期致力于为政府、企业类客户提供完善的云安全解决方案

安全周

关注安全资讯 专注资源共享

全球被黑站点统计系统

https://www.hacked.com.cn/favicon.ico

主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据...

安全脉搏

https://www.secpulse.com/favicon.ico

高质量的全球互联网安全媒体和技术平台,安全爱好者们交流与分享前沿安全技术的最佳社区

网络安全

发现导航 - 精选实用导航网站

XSS-CTF

http://xss.xiejiahe.com/favicon.png

XSS-CTF 是一个练习和入门的XSS平台, 每一位WEB工程师都应具备的基础知识,提高网络安全意识

XSS测试

XSS小游戏

Pasteurize

XSS CTF

CTF

发现导航 - 精选实用导航网站

fiddler

https://www.telerik.com/favicon.ico

Fiddler是一个用于HTTP调试的代理服务器应用程序

wireshark

https://www.wireshark.org/assets/images/favicon.ico

是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换

XSS平台-白帽安全测试

XSS平台是一个免费给白帽安全测试的平台

Security Headers

快速轻松地评估HTTP响应头的安全性

w9scan

一款全能型的网站漏洞扫描器,内置1200+插件可对网站进行一次规模的检测,功能包括但不限于web指纹检测、端口指纹检测、网站结构分析、各种流行的漏洞检测、爬虫以及SQL注入检测、XSS检测...

xray

https://avatars0.githubusercontent.com/u/7302766?s=200&v=4

xray 安全评估工具

cmd5

https://www.cmd5.com/favicon.ico

md5在线解密破解,md5解密加密

sqlmap

https://avatars3.githubusercontent.com/u/735289?s=200&v=4

自动SQL注入和数据库接管工具

nmap

https://avatars2.githubusercontent.com/u/63385?s=200&v=4

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端

xssor

http://xssor.io/s/favicon.ico

编码/解码,Codz,探针

在线子域名查询

https://phpinfo.me/favicon.ico

在线子域名查询

fuzzDicts

Web Pentesting Fuzz 字典

BurpSuitePro

免费的BurpSuitePro版本

辅助工具

发现导航 - 精选实用导航网站

Vulhub

https://vulhub.org/img/favicon.ico

基于docker和docker-compose的漏洞环境集合...

SRC-experience

工欲善其事,必先利其器,一些src挖掘奇技淫巧,国外新技术的学习网站分享

Intranet_Penetration_Tips

内网渗透TIPS

知识/测试

发现导航 - 精选实用导航网站

网络安全

发现导航 - 精选实用导航网站

网络安全

发现导航 - 精选实用导航网站

百度统计

https://tongji.baidu.com/favicon.ico

全球最大的中文网站流量分析平台,帮助企业收集网站访问数据,提供流量趋势、来源分析...

CNZZ

https://www.umeng.com/favicon.ico

CNZZ数据专家是全球最大的中文网站统计分析平台,为各类网站提供免费、安全、稳定

百度搜索资源平台

https://www.baidu.com/img/baidu.svg

百度搜索资源平台_让网站更具价值

问卷星

https://www.wjx.cn/favicon.ico

免费使用问卷星创建问卷调查、在线考试、360度评估等应用

金数据

https://gd-assets.jinshujucdn.com/favicon.ico

金数据是人人可用的在线表单工具,帮助用户收集和管理日常工作中的数据,提升工作效率

Google Analytics

https://ssl.gstatic.com/analytics/20201013-01/app/static/analytics_standard_icon.png

Google Analytics是一个收集数据并将其分析整理成实用报告的平台

腾讯移动分析

https://mta.qq.com/mta/resource/imgcache/images/favicon.ico

腾讯移动分析是腾讯数据云,腾讯大数据战略的核心产品,提供app应用的移动统计分析,支持android/iOS平台,实现用户画像、数据可视化、数据挖掘、渠道效果分析等综合数据服务

Google Adsense

https://www.google.com/favicon.ico

Google Adsense

运营相关

发现导航 - 精选实用导航网站

运营相关

发现导航 - 精选实用导航网站

运营相关

发现导航 - 精选实用导航网站

ByteByteGo

https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5507d97a-c736-4de2-852b-fab5b91d0796%2Ffavicon.ico

Explain complex systems with simple terms, from the authors of the best-selling system design book series. Join over 500,000 friendly readers. Click to read ByteByteGo Newsletter, a Substack publication.

Stripe | Financial Infrastructure to Grow Your Revenue

https://assets.ctfassets.net/fzn2n1nzq965/01hMKr6nEEGVfOuhsaMIXQ/c424849423b5f036a8892afa09ac38c7/favicon.ico

Stripe powers online and in-person payment processing and financial solutions for businesses of all sizes. Accept payments, send payouts, and automate financial processes with a suite of APIs and no-code tools.

Slack Engineering -

https://slack.engineering/wp-content/uploads/sites/7/2020/05/cropped-octothrope-1.png?w=32

发现导航 - 精选实用导航网站

Cloud Computing Services - Amazon Web Services (AWS)

https://a0.awsstatic.com/libra-css/images/site/fav/favicon.ico

Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Free to join, pay only for what you use.

Discord - Group Chat That’s All Fun & Games

发现导航 - 精选实用导航网站

LinkedIn Blog

https://static.licdn.com/aero-v1/sc/h/al2o9zrvru7aqj8e1x2rzsrca

1 billion members | Manage your professional identity. Build and engage with your professional network. Access knowledge, insights and opportunities.

Engineering at Meta - Engineering at Meta Blog

https://engineering.fb.com/wp-content/themes/code-fb-com/favicon.ico

Engineering at Meta Blog

The Cloudflare Blog

https://blog.cloudflare.com/images/favicon-32x32.png

Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet.

Uber Blog

发现导航 - 精选实用导航网站

Netflix TechBlog

发现导航 - 精选实用导航网站

TechBlog

发现导航 - 精选实用导航网站

TechBlog

发现导航 - 精选实用导航网站

凹凸实验室

https://aotu.io/img/favicon-48x48.png

O2面向多终端技术体系,致力于构建沉淀与分享包括但不限于交互、页面制作技巧...

腾讯IMWeb

https://imweb.io/public/icon.png

Web前端 腾讯IMWeb 团队社区

字节跳动技术博客

https://avatars1.githubusercontent.com/u/4158466?s=200&v=4

字节跳动技术博客

淘系前端团队

https://fed.taobao.org/favicon.ico

用技术为体验提供无限可能

有赞技术团队

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

有赞技术团队

Team

发现导航 - 精选实用导航网站

阮一峰的网络日志

http://www.ruanyifeng.com/favicon.ico

阮一峰的网络日志

谢家和的博客

https://www.xiejiahe.com/favicon-128x128.png

WEB Developer

王垠的博客

https://www.yinwang.org/images/Yc.jpg

当然我在扯淡

Dan

https://overreacted.io/favicon.ico

react作者的博客

个人博客

发现导航 - 精选实用导航网站

博客看点

发现导航 - 精选实用导航网站

BlogView

👀

发现导航 - 精选实用导航网站

MyNAV

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcElEQVQ4jXWTP2iVVxjGf+85596bm5hI1ArW1D90lXZRdFIJIia0IDhJqlhELXFwsDi7uOjgFAUVRW276CSJgyTYiEspCg66OEiMDjoUrybXe7/vO+dx+BJ67+A7nXOe9z3/3ucHnXFW7v+J3MiYBraPaQA61rtywLqEs5b2HNeGeo2j5hhWZAPCLDCHmGm2uD59xV4v53ZsIAeWfhrX4VDlgjPWxggSIMBBJUBMvMvb/D512f5YrrHlwc8ndchXuFXkQCLD8AbmygurnRGdp1qtQZHxy+Ql+xNkBjB6VBtDnWcS/UkkA79UyOcWtDPY+C3kkfhxARcCjdYCPz64YfMOwPVwwldYqUQRHB5goQkLTWzzEHb6Vzh3CoLHx4IiVBis9XECIICcM4ZTREn4RgP66rDjB2x0J9q2BaoV7N5DNPcWVq3EFzlyxjDIhd37GUhiPQX09mAH9qJdW7HvvxNglgTtDE09gnoPEpgEEkPbx1jhil7MwElgBoP9sG5N+f52Vrbp6Qt4OQf1HkgqtQTWn2Hu8V80zJgPFVj8jC7ewg6egclZo1YVgCZny3ZLGELmIDjmp+/wyYEliRnnMW/E1YPlz1+7ixabxqs32JPnqK++dLqIPmCCGbDkAPLI1VTQwOPzgtjXC/81YPof9Pe/aLEF3oFEdI4Qcz4021xdcmJppNFxHanWuFFkAGQp4lf0YilBs4WcJwLVUIEs5/D9CbsNcl1WHh3XkWqF8+b5JhUQY6l6Dy6AEu/znDNTE3azw8rdMO37TZtqNY4hdqfEEIB55i0xmyeu3J+wuU6YuqMbZz8ypoGREmf/NZy/AG6PHowdArJiAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Hoarder

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Home | TOP500 Supercomputer Sites

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsElEQVQ4jY2TTWhcVRiGn+/cM3d+Osm0UYuRpKQLFenCVrHipljUgnQhCq24qLhyJUYlCkKLQVChWFoUxFVNNy78wYU/VQQVxCLRgo1VrEUSisVJtGk6ncyd3HvPeV2MO0Xy7t+X74PngXXk08cZXTjMwdlnGAfQNG49PTSNB1h4id06jrI3uPDHER4FkDDg/5dsmhKwjU2myoJQRsav38iJ9lGeMkMSZgD7xqjffhdpvzsiRoDlZUab2P070/HhND/UrLG/V1gQkCD5Cr69zD0Tz/OFnTnI1i2bec/DBkUiYDIwj7mSLY069W5uQUEOAY7QqOFX+3z73Al22eIRDm3exItZGMLXNw1uzzvE3grl8FbFq4tBZS9xQ6OQDqGVBQh59BVYusIen6b+3qJbBm56IPpdx5ySlOL0YZRUrb590uJfc77/1ZM09r4rnEeXz9M7+Yhq7s+kUWW385QTZepc/tPbSXFuxmJ71uU/HnfVHZPW/+QAVJqq3LxPUrTi+5flxu42d80txBKCkhudwAtDZTTyDioziD0AwuXzqL+CJR7MKd3+NPncm8TF7yABR/BO0PbOMCPK182qLWL3CmHpjDUe+siS1gTlxW+wWovex/vpf/6EFDOcgyB+91nBqWYt3EYFlT/PUP72ISSy7OSDSsb3Rl36QXH5rFv77IDUPUfSMEWJImBRnLILr3DHdS2+LoVXgUkYKVhJqBseD2sCciAdAJp6LCv4dXaOnQZw6RhvjbR4rNO1NeesohhVr1qymrsvr2a8XsRw0VzdiiKjZkTn8SW0J55l3gtsdpGpbSk7hjfo1s6q+o2UWifTB3smw8OnoRjAkf037gIz0C/T3DB2LTPVGvfla2Rn59l256vM/yNU/FfzBWSGBk8xMAtwi0eZWnqN99+BZD3G/g0EOj/O4xBoDgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

程序员客栈-领先的程序员自由远程工作平台

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jZWSvy5EYRDFf2f23sXSKCQkGpVSi2rjCbwGpUojHoAXINHtm4jgFSgVJP50u3at/Y5i7967f0Riii+TmTlzZs584vKdaTMIG0CaymVFAqTKBc+WDi3A4Mx2N4FVMIBdNpgAhETPh5tz59sNuvZgsqiAVeBIhrpaj708aO0tbSxIyRrNhYQEKicMMKGPTx/fdJrr+f5G3V8uJtUvDJkk91NzLT/bbZzed64eerW6om9DghTTQmVgzPKiju7a10996jrZmt9ZzQf2S9sHt+2eDYHTECku3gC+EqHIlQZemVcjk+E78fyZDIRIJmLIABBzgZVsQq9dKkFrQ52FypEkIFXHg1qRNeXq1SbVpUeJQv0iUla7uH1WiVA2gzGKWYbSNPYy6Y8FY/a3/G3/BvwAXPGMy7CiL0wAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

CloudConvert

发现导航 - 精选实用导航网站

油小猴

发现导航 - 精选实用导航网站

www.similarsites.com

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuUlEQVQ4jU2TzWtdVRTFf2ufc+/LF1KKQpCSkkSL0I/QUIsO7aA4qQMnzhQ1VqkRHNR0UAcVcWAVdZAmpYSIDvoPSEGLYoSWSkTUCELVECTFGKyE1qRN3r3nbAfvvZozOwvWb+99zl6idQQ4nOna82Bf369/nrzZ1jn+uo82CvZJLC/Mc21uTpvgAjmAdcz7B6aGRh/uvxgaXb0d84lTPtFocBXjExefjzzO1dcm/OmW2dWprAPD0w+Usbzm5LXvr790COD4uD9SdPOzRMyZGrAYMQtQV7wzeVZvgssAD2ZnY+gbAi13qodGGpQRU6IGAqC6pm5uUZUlp8cn/BWQ68Dw9JEi2GV3F3BjY+3Wvus3J9affZWd9/XwowK7Uk0FRAlyJofW4LdSxaMWQnhOCsFJlUIx0L1jxzMg//Sc/sEYM7FhRoFTu4OE5YyHyE5FXjaDx7InlxQ8VzlYeHvvrnMPAUy+qy+qLY6FyHIsKIDU/jOlGjdx1NzrAfcMKODZwfu7eopLe4dbkKkP9PXdiidSZiFGYhtiOUPODJsLA0cCJHOaNWhPV+z+cmRw+jDAhfe0WDV50p1fQiDi5PZbRxNhRQq4u7c0C5mqgnp3UZSXRnZPH8RdFz7SStXkecQmgAzMuGFyfSdFpHtUhGL2ugLuD6XNMPhWA1znP9S8Zy6HgmBCgm+tzukinnWvgf8hIftWQoweLPoPd7YvJRZCILlTVZlZ+2lx9TMnfRWsN7rnJmwjyR3Hc06hIwhiTy/Bxcz59zVncKb2Kr6YvPlbDH0NkLlnh5yDeiLypb/W78x3mLHkqfXbXLn7N6c6q6wflsb+qNPmEff6Y0drpsJEaVn+u+fyhdXVNzYATpz0YzhXVhY5Ojurf9sdbY8z7B+YGirKeMgU0u2NtW+2R3ts3AdnJrXUurUi/R8QyTtLzvPYgQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Etsy China - Shop for handmade, vintage, custom, and unique gifts for everyone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

The Verge

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABsUlEQVQ4jXXTO2sUcRQF8N8dJxojQSEgihCiILFTxGCjhYqiRUISDdhpo58ghaWFn8LKRiSs5okoijYi+AIVUUFsIj6IhUUivpLdv8XObNbFvdUczjmXc8/MxElpXyK0mcT8lPha4jFpyzK9GSlIeeISBlD7jz+CcVyBi1L2kgsZZ1Cr8SxPTAeHsLZNgs7y+QXbM4awCX+CmTxnrso57C10j/G09AevGnE4jr4CvsVsXhGfRqWppgVffjJ+S/xuTjIkdQejVvuanhQfM6gyg88FcbCLPa2nrKn3NFDAhRrTkKkf/yZxtyB7agy3NBHBCLqLXu5v5nVjQUVUExP4Udw6OCZtW311+tTvh1+YuCyWGwtgAw8TTwrYv8KRkqtyDDsK+DznQck1FlwVi0GlnlCeMXZW6hyUulK9vFJ7oyK+lb68paubidNBb2LrEn0d9GB/wc8n5poNWTOY5ANO4QCGM+YLvLGQ3N7N+2ZP23+gXl7qXeFO0I+ljJHr4l7bBK1T5Wiws4CPov6V/jOtHTTmhLQOh7GI5cS1ivjeqmt7wnmpY4FdwXpUa7ybFUutur/QZXoo2k7BZgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

六星源课堂:每个程序员都应该访问的17 个实用级网站! - 知乎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Gumroad – Sell what you know and see what sticks

发现导航 - 精选实用导航网站

HiringCafe - Find Top Remote Tech Jobs

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAZFJREFUOI2FUj1v20AMJc+WFsGwJ0/p6sCZLED/IoWz+6c4q7WmQLoJ3lJ4c1atzj+If4GGBnAWwSkEAwfcHV8HtlcjSJE33JF8j/dBkgEACCHQZ+j1eszMIsLMn6oVAPpEdDweN5vNz5eXnjEf6oLIl4uLxWIxGo0MMz/tdrfLZZokzAyAz6BumiS3y+XTbsfMFEJo2/ZmPi9XK/wH5Wp1M5+3bRtCIO89gNfDIZ/NyrIEYK11zjnnrLUAyrLMZ7PXwwGA955ERHOaprmaTquqUkKDVVVdTadN02hQRAiAiDjnAOz3+8vJ5HG71Zc8breXk8n++RmAc05EAJBuMaeu6zzPu67rui7P87quz9Ui0o+lMMaISFEUWZadTiciyrKsKAoRMcb8kxGROupbazWiq7VWbWWJqK+t0aoTkTEGgDEmyzLvvVJ6iSrNeduVS5JERL7d3UFkOBzGsxX9aOnD0jT99fb29fp6PB6v1+vBYPB+2GI75S9+PDx8v7+PU6z1iWAAMTN+98/MhXBeHw3+Btg7btfem1ozAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Data Structure Visualization

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABj0lEQVQ4jbXSO0jVcRQH8M+595pP1K4iWOZQbSkZQVhhS2FhJNRgY0UQ1BK1RLRENEhBU1OvXaFBycGxIJoMygalprCHiqgJCnr7/RvScHXoTAfO+T748g1XDtrK5Lb0jUJTvmxmkRUo1GqosrpmfoESBY1F+WR6jm121Mtl/4C1G0sF1ZsIyzed/ioMjBzuOy4O6b1g6Ka4xjNDb/R2GRx1/ioHzN1VXae81fiYQt++knImnSiCb+4/1Nvl3ai+k2oeO31JsX2dPivJfZpIJLn0cTqRoizduZ78SEdOpVfDaXdTsj2RxodTRNp/JhXShrmUQfZV1WXLz2XfxTG+0MOa9jaPXnryflOs68g2Ky/cfkCz7LPoY4wZWtw4Z2Jcbk8dWPF2CjqKWnr0PxVHIQ3QyE7ZB7ELCqv5XDW13Qa7YXLW8ghELQvUUwPRTIkqueK9kGJxNDp6Y+p1rAzF2f4gsl+hPjpvhfkg5MPeUBehklVa+M0sDfykSCVLLNFKkNhGhULTxc4tVSP+e1v/ALHxh1lBNmIPAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Stripe 如何创建科技行业最好的文档 - Mintlify

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABzElEQVQ4jY2SP2hTURTGf+e+l9ikrwGzpFL/rFIFLUIJSAd1kE6lYAUJREqHzg9EOj4cNcWSUZBUS4dCoTg4ZCy4BAqpFroUpwqti6KmNX/63nGIjX3Jq3qmey/f75yP7x7htFLPDO4OPRR0RtERIBmh8iWKTe8UU/F4fA2R26cO+F12D1zMpeyAMiLZf8EAphv2M5mySZz5LzjUIF3MpZpNqyyqFaOM4Qe3VHGBD39r0M6gmEs5TasMZAUd+/Fo6V1HoZ4Z3D3nAk+7HbcdTE1ZTtOsAVkAVSuci3jB/sXZeQIeRxiom4HRZB7+pK3Gvx5ldX9x77nA+/Crbho1OhMaqDKN5/VYxfOCQLUU0oq8NAQyEm6qw/19O1eiXBiheuK6vnf+bMkgGjsBH2HLg4O55S2nMD2MFw7NGFoAWm9VGg4TyH1fnEJ+C7h6DNfc16sDz/KTKqwA2wolQaqi2rIupO+JZd/k4/e7X+defKO9ibKCBpcj4BhwTWABFBXwP32p2Ed9HRjAriX6F5KHB9VD99XbLjhUAj0wnUUCkoX8uIE3UTCq6zE/MdENA1jHh9adG5/jRhtABiWN0AA2BJ7ULtXd+uzSz6if+QWXj65atnGG2AAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

TechCrunch | Startup and Technology News

发现导航 - 精选实用导航网站

MEGA

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABpklEQVQ4jaWSwUtUURTGf/fNzMNkZoLRzDcbhVLb+Y/YyloFQRHtIhlbDCi0dlFQyyhBcCduBP+PcGVmQ4H0cHARvkfJe/ee02LmvRlnGkg8cOHej3O/832cD65ZZhDQ+vwkJmkgZgnDfBc+BPag9N78PDobSWCDmWVjzCeUmyMGniv6tBj+2B0isFMzy2p051+qBkUaNQ+L7Q6JAdDp6VuJlI6B6v/4Bs4T489VTr+1PYDftvDCiVSdCP5Ji8LbDZwqTqRzVPHebOCftDKs6snFSk4X1YLPUS3QqBZoVsnWtkYTdY0m6ppsbed41hfVggOAIoB17l6/PglDSo8fIdaCaucehnhBgHUua1vICZzIJYMXHzbxgtuMPX/WfX9EwlPGX6/19yb9BIfAYq5AhHi1iaQWgLi5znjjJQPDWj0CJ3uKLgJomiJpirWWX6+aPVtpCtbmFhT28zUel8tTfmK+XmmNvs7djeN2HprvhfKVgjTr4l6QclOFGw8UNsFURvyNgCd33J/hKGf1hcqk56UNlPvdVSWgR8aYfSeldwtEZ0O816m/ibHiwE2Nd0oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

namakxin - Digital Artist | DeviantArt

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小红书千帆PC端

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACNElEQVQ4jW2Tz0tUURzFP987I+IMuYjARmq0RcRAi0zKbFOLEPoHoqBtf0ntoyJoZ9AvEMooSFQICoMCN0ILYSTNwChFcyZ0sne/p8V9TQo9uLzL/X7P95533jlIqkqakuSSotxd7pLLFaOUF9LGU086mpJURdJ0Xs52FV0xJtzrd9KNO64vK+k8DfmdY6bZBXZJ7pIUY2JRX5RGrkoDF6Xrt//VUm8mSQFwIJA/BkIyDHHvEWy14FBFLCyZbbdECCDlrcSQb0BK7ywzFQowPWO8+QDlEoRgrG+K+pIJwGU5ztIAd8NMuBshyJo/4e4DKBQTg44OiNGoL8okQEKJcABECIm2JEIwRp/CwjLs7MD5IejtSfd9nDeZGWZGmqCQqMtwT1TrS/DweRKkchCuXYbeA9BXgWYDe/teSGmguyXxclaYwc1RWPkO3WUYPg4vJ2BnGyr7oasTnozD4/GEMSPk3y6KRZiaEeOTcO4kXLoA+zphdQ2yDLZ+QRahuxtm5+DbGm5mxVxA+NEUt+4bV0bEYM1Y30wCHumDwROw/BXGXiTpKj2i3EUAmWJ0hWD2bALq8+Jo1VhZFeWyMXQKasfALDGenYNPn53TA0H9hzHJzSW3VgteTUDMoNGE/n5j+IxUKplJ+mschbbfsGRAFQ2MQiFS6gpsbBhnh6VaDQOzGNOfMQMzmXt7ACEIKLTD5K1WpkYj+d3dd3n+f2tPmKqSJmMeRbnHdipT8rwd9b1rUlL1D5CO+mEah6VfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

3Blue1Brown

发现导航 - 精选实用导航网站

RegExr: Learn, Build, & Test RegEx

发现导航 - 精选实用导航网站

火山引擎-云上增长新动力

发现导航 - 精选实用导航网站

私有化部署 Dify 并快速搭建 AI 应用_dify ai-CSDN博客

发现导航 - 精选实用导航网站

大模型知识库|大模型训练|开箱即用的企业大模型应用平台|智能体开发|53AI

发现导航 - 精选实用导航网站

完整视频 - HOTWIFE XXX - Hot Married MILF Visits a Stranger To Fuck Her Brains Out (Freya Parker) | Pornhub

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABhklEQVQ4jZXSP0iUcRgH8M/vvffULIQjU5SIWlys4bCg7YIKgpYKAonWiDBoqqkghIKIxohyazHStcIhiChoqAazhgYnMzVTDgk9r7tfw5ueUMs9PMMDz/f7/P2G+FBTljQHbxDChm/NbFYLjThVJ0/XFlyFHxSoskykg3aW+C21XXnJzVGzZT8X9XQbOurwgFPDDu51/RypJy+MffDovJ1dxDHTt6Elp3jgb5t3N2B/rzghvjJ0BKZviU8lanIJjF/0cVJ8DCMv9ffa10kLebsLkM9Rl2Zjh2Dkja9XvH0Nx/rNrXg+pXCSYLUilwghW5oQJMGzTyYmtW1zb9DgcVfH9XQ4cYjE+y8mZzavRD2q1d057doFFulmzsyyswNG7tLq/rDLo2LMCDnVGpTX2ME8C1Th8ywztJr6BtUaidSqQrtLJaU+vrNOJDpTVNzDLypKfRZWdLRREeID8uxihTIpkUAn6/99XEKNeWK20YZAlkAOrLJGPRsps/iPyupb4tgANK3WP/AcfVDZ7aoLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

简历模板_简历设计模板 - Canva可画

发现导航 - 精选实用导航网站

30tool-可能是最好的工具网

发现导航 - 精选实用导航网站

人形机器人

发现导航 - 精选实用导航网站

Meta 发布 3D Gen AI 模型:1 分钟内生成高质量 3D 内容 - IT之家

发现导航 - 精选实用导航网站

月之暗面 Kimi 浏览器插件上线:支持框选搜索、全文自动总结 - IT之家

发现导航 - 精选实用导航网站

MindPal - Build any internal AI tool in 5 minutes | Product Hunt

发现导航 - 精选实用导航网站

Free Essay Checker AI - Essay AI's free essay-checking tool to review your essay | Product Hunt

发现导航 - 精选实用导航网站

Validator - Research and validate you micro saas ideas fast as Cheetah | Product Hunt

发现导航 - 精选实用导航网站

iLovePDF | 为PDF爱好者提供的PDF文件在线处理工具

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACVklEQVQ4jY2TO2tUURSF19rn3puHOkFRRnzFQJzEScxEW7EQGxv9CWLUwspG1EKiRLBQFEsLQcVGUAvBRyNIsBC08ZEUvmGMMcGAISo6c+eesyySkRjiY8Opzt6LtTbfBgAIIOYpAZz9N19fBAAEVO4pbnOG3YCtovS2Rn+RT188BICRQmFl+upVM4HXAoxAqAsQAEZ61x9uYHQqMcJLiEikCmnV+32cmBq01hX3k0JH0+TV69vb03R4tgg/lDq2msX3KJkHaiAdJB+TSQpMIcvGGpubO5deuoIvd+6Uxw4d2dkJDQkkgRABUV9CuoqUAYhnXLlUkpEtzrmWapb5Wpwod/BQq759vfVygDsJPBNgRsNaSIEkAQiSQIokJakWQgDpVK26QKrlaP+a/Iljt4aBEoEQBYXnsGhLCMETIElIAsiZB0IQ4pgGwMcJWvoHViOKbr47f34XR0vFjaA9cMTCTMoIOP1SAQWApBp6SsCiRYT3gXGS5dJqMvH40WkCwGip2Bc7dwGSS6d34TAjQkwnC5UK5LNgJHNmNllNbzQ15fo4Y1blns4diXNnGmmF70FeEEHaNEGSzEKjmcukGshzle7Fx9suD1ZYJ4yAhrrb8ktc88nYcW8tSAKmEwC+ySyqSkOVWnagbfjFYJ2j2Zj+gmOkp3ggieysDzIP+AVm8Q8fbn+36p51T95MzKVxLvsGAO9Lxf3jG7v9500b9LG36+6zfH4BAFwD3Hx381vVm0Z6uy6M9XaPj7W3L6u7/OdwPZsAfioWl5e7Ojb/6RL/u/42/BOE6RCtuVZPJwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

百度Apollo-自动驾驶、智能汽车解决方案

发现导航 - 精选实用导航网站

腾讯兔小巢-免费便捷的用户意见反馈服务平台

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACKElEQVQ4jY2TTUhUYRSGn/PdO86MP5hZTY0SoqQVUgZJYOQ2iIJAJFdhi4oWES3aFZqLKGgTBC0jCqkMIgraRBESRkLkxiKSEiIi+zEVdcZ779tickbNwHf5cd6P9+ccWBFkkkxS/MsPHc3M6dxHKbEyLiAwgOdD6s6G0s9J3QaQup2/dHhru0qTFUQAn2ew1jrMHhJdPUtbbZW6YqZw8L27BdDX12WWZ7bLa6rkpnnsJSRjhjmHZbJQUQqXj7O2uQF35xnjHYfYwph9BXDz/G0JEgb7nGM1jg2ex/pMQMr3SfUcIdXcIPf4Fbp0l7LGA1TPZ5O38H0cpUqYVkSZg2hyGldeAj2dUJ+GC73GvX5cJBRP5iwCtjQDc+CmZmH/LtzpNkhXwtAI3H+BMgGUJWFiqpBv3sKaVTnPM1loqoWTB2FgGMIQttfBtVNQXgxjvzFF2LIKzCAbQFsrbFwHpQnwPAhC2Fkvu3HG6H0Kg2/h3V/Oog8kiMfg0Uuor8rJzwZQ5EMYmTZVY12HA28OX0UXQTqfl0L6mIpTjhHnkZrJEBbHsEjQ0ghXToA5JGFA4IwWM3styQoZfMIAEyiZwMfHw8d7MoQ38B7PwHeG54z4gvoX1FiDUhA4DxdmNWxmo54RC+fQg37YvRlJ+BLfnGMkl5lFhU3sVGJHgl9mjE7MsufDdRtbuubLIW8hXYQD3kQBHTlyoeLFQcuWewdkNZ3zJ/rfoX/wB6c+y9Xr8Id6AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Tabby - a terminal for a more modern age

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfUlEQVQ4jaVT3UtTcRh+fmfHzX2yrZofldGHwxAHMdRpeFN/QBdhEV3oRfdBZFBUHpBuhCgEiy6iukgy0YsIrypRwhnlRzOZNVJDOzm1tua2s+3s/N4uTJs56aLn6n3h9zzv7+F9XiAHEpGwUUuSgP8F5QhuBzG3GSOqiySoTVHTqSxplxljkwDwlEh3ijFtOxEGAGekrorOwQ8/BxWiIY3oeSwTe7aq3uiSYzvXH0p5fiRAkhgA2J0W+/i7kK33UX/mY2AuLYIsZot4xWg1jPTGM80AIDHGiYhtmQ4Aze0Pim1WVzcX9A3JhMJdpQ5eVeMmR7FTnxUEqJwPxNOptiaHdSCfAANA4h53a5W3oaXm+AkRBrMhHlvVqqrd/JCnDExfUEDgULh2f3hupuWuxxMBAF2uHb5r98ridCA1MfzCZLPZdbXHjlr3HSxGYaFeIK6pcjSKhZTiJbGw199xS4YkCZv8rONC+82LFT7f9cM19ea0qkKOxvApvMQToiDozQY1HU/6bh+pnADANq3xC1GlHNGuoUB3Wm8Evi7Ftal5GfOrMcHktAvp5TDNDU09nAylg78pJK77P3n1cfmQP/Sy2ldetPw9Q2PBBS0ohxlMRp1BFDPv+/qS/u4ny/HPs0HwqPonSJLEIEnkcll3DLyZLpqakTNkNgoriqqzOizZ+cBocrinK/ptMvAKRmunpEVGJcb4ljU2tt4rKynd35dhopeZjTwRWVT8/d3x0MjrcaTUO42Jxf6etTQyAJQ3jaYDntb6pktKXVPLD12p+y2MzvOoPWvbFLx8xI26ZK8Xqew5EFIwWDooHJpla9MEAPxvcl4QEcuJ6z+v8ReH4CD5bSHEzQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

XPage

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC2klEQVQ4jY1TTWhcZRQ99/vezHSS6WSm+RlNhf66SZVCA24MpSoustI0Dtq0qY1GYi0FF20plVIRUaggWCOBIOjCbEapRVu12mJwUfoDKTZk00UgRBLCzHuZTOfnTeZ73+kiSRsTBO/qcu853MvhHGBNkZTlTlZNZWkHWYv/j6ICgMMt7keHW7zP/g9BPlwmzY0XUwDQ27xwrC9V5ttPVNnbmD8FAFNTTD4+wPXfuK67K2Al+9vX5ZHucK5ypNUNjrS6Zn8ot3j7J3/UMD9161qhcTVHAKCnKdse0bH3oKvtZy837H7qaeBEh8vctKVZBNo6HDn3a1JuXjT4oq80FotFx32/OPyd13hDAYAxrHd06K1KgbsvvOMFEoEZGIzTL1Gicci7QxvhzVoz/P5CoDX3aITfhJIkACgAyORb/vJN4VZ9Q8hOjQf89kRBt3WEVPfJOvR+EkNqqyNDRwu6kAsQiSpbMd7EP7m/rwKAsySIWCF+ZBB6LpYU/vGNj+3tYRuuhzI14tLnFXv390WpSygi2KDIyqVRvGAAKmdFB1o7Q2UhigIIrgyWxQZgOCooekQ4oghyWTozCwBpQBwAFgBE6VdFAbUqsLERcvbnpJ2brKmGlKCUBz54KQ9aAVUAJc4rAL76HrAKEPYk5reIkpcNS7JYpuo7H7eJlKiRcyVePF/hjj0h6T5Zx+K8VVQlQmTvwZjbBsiSeUKOekZrbUrzqO07VGeeT0fU5S/LwcSo4ehIFXeuVIPXzkTVro5IUF7QVilV1VE8+8gMaVB3xsaaP+6aO0hDTk+Y2qEmj72prOnZlK0N7PRYzJK52Zr/evN054Ftk6l9+NNZ58R7PJ0M6F8Yu/5gbzoy/0P/kz77N/vscrxf7t8pH6gx/ykIvc6JK3kAZEVmHN/pxhcK+irB+mhCvzh8P557jANWY/8dK2Z0Jk0NAG80ZVv3J2a2AEAmQ51hRq/FPwSJI1dehpVmNwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

iOS 使用教程 — iKuuu VPN

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

登录

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Top iPhone Apps Ranking on 19 April | Similarweb

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACqElEQVQ4jV2SUYjUZRTFf+d+3/8/M2WYZTk1WUYlskhByxqKhRHYw7ZFrPsYSkhUlFEWVBD4GBGiySJGRERvQSW9GYRptBUMGWTQS1svsriTQunuzPz/33d72BGj83zvPefcc8QKBDhjO1a1r1t9+8IPx38F8CM8T8nrJNoYvwGfcJZDOsLAwQTZriyvu3fqzs61a0+05HcD9N9jJw1mcdbjBGAzBW8zxtd+mHsE2UEG+E0TM+2i0fxK0taNqxe/BSjEFA0ymQFCZDLL1DTZRskJn2W9wA2gJM9aUdzlni/2lmJjZOsijpHRyKQwApcZ0mIDcNRBdsv9048iezJXw0qy689XayYAepf4iCV6NChxahwBwihYIhGZ5CiTZsH3yAzHM2ZKqdjvoHVv8HudmQYWKSnI1P95txNxMrsNaSs54VDkVCcL8aHO+PQ7AMULnLp8iZ1kztIijpQAGBUADxjoNneXQALzVCeL8dVbJ3a9e+AAtuplzrDMIww5TWPEK0RCiI46W3Yt494EXJLc3R1SCEXMqfqynf96uts92fOD3MA1nCIyxoCMYWRqw/1PydxdDiBJgpBTVVkspxZs7fHt2yfX6BUu9Ae8SB7lYgDMm+OnMRPy7COs3CDmejiwotw232++5aDWS5xkSJdAwBDwjdW1f+g5pRX5V21IkouY6zojnnh4x4YG4Fn8QpNExQDjAzv/0+dz7vmYxTJIqt09CcDdcVyGO1re+M+NaVSwSIuAc0zP8aMBdm7xwv5cDT6zWJayEBzJV1KJZmUw5U/f73arZ8YpDB6nx/cs8eZo5io649PPEsNesm8CLxF9d//4jnjute/m5vpplqeCeIyavdrH31d69T/MhPZ9eVOIfnNKeX7hzBd/APgMgQfZrH38DDBi938BGLwydtX32EQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Website Traffic - Check & Analyze Any Website | Similaweb

发现导航 - 精选实用导航网站

Top Websites in the World - March 2024 Most Visited & Popular Rankings - Semrush

发现导航 - 精选实用导航网站

有道翻译_文本、文档、网页、在线即时翻译

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4UlEQVQ4jSXTy6tVVQDH8e9vrXX2Pvvktby+8lXUDWkiRg8bKAjSqKCRDePeECIaFzTIBklQDhrUMEt60CAciA4iSkxL7P0YRYH2IrES83ruPfecs/davwZ+/oePADyzY4GQnsftHVDAFrmI1dFs7kGyaLMZtWaxhREXmU4PafzXO/LMPQuEeBQyuBRk0Wa8oSfNDUzJMO1El824hVE2yyWw3JpJuyDf/MCfyFtxyVAiOZtBgPtuESVDm6FkyJ1pCwxHsDjOlCqx1P0ekLZgCigQo10Cvn1GbiogQK9nVxX0KhEDbL8L9u2ONC6sTtsSkiEIjFfGlBQVZvr2qBNVD0onXR1CXZsrf4uXDpuVMZw7K2bXODj2xHBEPrBf5cMjXA0Td5da6dkXYf8TMDR+5jn81vvitTfM3Hb49YJoaripp4ClSQgaffm9495dCg/uVLd9Du3bg099Cy+8DPfvRseP4Y0bxdZt4vIl069FlZRKKe4GDd2575R//MmDp+ZF08fnvgEMu3bAI/N4dBGdPwtHP4ClJdGvzRhStgkxElyYHDlG8/pBDPixp9Hdd+LrQ/TPNXAPb9qCYjJLiyJV4uLYwQRRrNTMuDv+sbwyYXrmC66cPEn31Q+E9evRkcPw5AE49AruV2K4hC9MYDErRIJjTKbtFDdtNP2ayatv0k2m/PvJp1x79HFWpktM99wLH52xTpyyP7+MrmTTC1a3Zm/OsvJwkfqzdymral3f+bC7qqdcJrST/8iMicib022KVd+KQURMKU4KUaGb2rOz6k6cpjt93gpJIUQowW5m5XbZdewrrVpnlynYxsWEgDz70B8mb+ty23WLV1OpknMdafNU2S05T92VqTYMNrkOFTfOOCMSlN8CxQel5BRSimvXFg0GCBEUCARLSeuaW13HBgMQTEgJYqGEg0HXTr1NZl6h/iVmES0HRYIS/diwttngpjcjA1K48YPwMyXP6/rX7/0PF06Fun4dhroAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

常用

发现导航 - 精选实用导航网站

Claude \ Anthropic

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACDUlEQVQ4jZ2ST0sbURRHz31JqDABQ90adyZu6idocCMUotBQcV3FbqSburGfQVuwn8Fu3FlrnGDtkJXdhVjQTApqsnBjiU5qhubPJHldiEOiFml/u3t597z3Lkc8r/FM6+4qyDj/lkOlZFlard/f/2P4JkfSatW7gPR2RQQRQWvt11prv+6JDt437LourusSiURQSuE4DoZhEA6Hb0NE3R5ut9usrr4nlZphff0jlUqFxcXXrKy8o91uI9J3H30ApRSlUhnTzFAul9nc/EQwGGR4eJh0Ok2pVEYp9XcAgGVZuG6NqakkJyen5PMHpFLPubqqYVnWnS36ABHBcaqYZoaxsTGWlt4wNPSYra3PjI8/IR6PY5oZHKfa9w0fEAgEyOVyHB0VGBkZwXVdotEo+/vfuLy8ZHo6SaFgk8vlCAQC/QARwfM8TDNDvd5gd/cLCwuvyOcPuLi4YG/vK5OTkxiGwc6Oied5/iuCN8s7Pj4hm80yMZFgfn4OAM/zWFv7wPZ2mtnZWRKJp2SzWU5PS8Rio3Q6nWsAgG3bRCIR5uZekkxOoXUHEcX5+U82NjY4OztjZuYFxeIPbNsmFhu93l2rVdc38jQaDQYHBwmFQmitERGazSa1Wg3DMAiFQlSrvxgYeORL5avcq2+vbQ9orRVwCKC1ptvt3vG9t3/PmaJSSt4ChTuGPBxbKVn+A+V/CrLvaunfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Mintlify - The modern standard for documentation

发现导航 - 精选实用导航网站

Models - Double, the AI Coding Copilot

发现导航 - 精选实用导航网站

火山写作

发现导航 - 精选实用导航网站

这是我们的故事|字节跳动:激发创造的旅程 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

🌟 Anime Wallpapers 4K - HD Anime Backgrounds for Desktop

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

大线索报道:看完抖音的创业故事,我明白了一个道理 - 知乎

发现导航 - 精选实用导航网站

TikTok内幕:张一鸣的巨浪征途

发现导航 - 精选实用导航网站

AI智谱清言

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jW2TT2icZRjE5/n2T0yKq0aJ0hqs2lTFapWCMZjQUlQiaFFUEFsESeKhiAcV6kFB1IN6ElosshBFPfVgG60o0kK8iM0xRRq0TWNqaRvTxP2S3ezu977Pz8MuasGBB57DwAwzjCQJ2A3MANGdGCPO/8KJkQicBkYlydpPWZLc5UlCIpkWllzHpqJOzUVJUl9vouGBPD3dZpKpjT0C5gEPkQycs+cjo+/VveOhFG2rUBxI6RhI0f2pl7anHPmxCYSWHZiVuxOCO8CxqYybhle8tL3CGwfWOHEyY60egcj0bxkP7616xwMVfp7OADw6WIjuucTs+FTkqdfWtP5G2SvPdapYTPTHJanelK4vSff0mW7f4BoaqTE8mNenb11lDhjgFxbdhsbWWFzGNm3sklkicPX2mJKc6fKy6+KSqfsa0+/na7rjFnH84y4zE3kJO3Ao05n5aFs2d2lgS6Knd7r67zZ1Fk0ylAXTzJz0wxR6t4w6O8wkJMmUrjp3PpNS2lGjPOHtbPyf2lrVRQDmLwYK/RVe/ajO4UnIQiSZu+A6dwnt2JbT6C7JHYUggQSmEJBjktDe9xu6tmTa2lfQ/kNoYUnKF/JSCNJtG1qOsoByiRQdmaR8vtX52580dfT7TOMfdmr9DYn+/MuVVk3KAn7f8ytserLqK9UrrYPzy2zg2X1VtLnCmwfXAOf1/fjgS85qDRfgRyab6N7UB0erXj7cYGKyyfjXDUbeqbFuqEL3zpTPv20AcPArvPcJfPyblpABSOiL74Je/qChdBGKJVl0lM+ZHn2woD2PFVQs5PTZUXHyDDayy7TvBWGSGTCLtNEU7dTZROUJ10/TolqXmSUqrWvlsloztvZhLz5ueqQ/SOSE7JwBuyV92dqGS0p0uSL9Oi8tLEuNJrruaumuW0039/zLaWNM7TmPAadjJMbo/t8QrzxiaM15pi2svwHcLD+MVIJbdgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

寻一款开源在线相册软件 - 问题求助❓ - 小众软件官方论坛

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACJElEQVQ4jV2Tv2tVWRSFv7XvfS/xPpMMDIyoRWIhgzMZjA9MgiAW2ihiaxETsRkG5m+awh/gFFaWFnYDIjLRJiNYWdupL+S9vLuXxbkvhjlwqnP2t/Za+xzxx94q9dxD0CXcmrQQAqgENiSzJSOMKoF3mY7vB1XvMfX8kJwaJIQiBKOWe5cXuDs8CaOWCMApLJFTU88Pqeongao1DvcTKXAKZNuA+P3qEg+uLAJgBApDCilKTX2xxplAAMagQB4nP6/Msb48z6Q1y2fn+PjpEPVDtkzhB84MbBUJgZDCMDHb6wvUlWj6wdblBRgniu6iSgm2AiFsutbIQ2iWarY2FrGNDVsbC/QGVYmJWRYGdcxCNJUMBy23fm1Y+bFHJtjml9N9rl9o4CCJ6EbTdRFdK4BIBBLbm506prWxxc7GIhg8E7SPAQBJeJycO9PnxoWmHAZUIZC5udpw6qcenuSR+jGAiTCMkzu/DWj6QZswe1Ftwg9Nxe3VAYyTKvx/gEgLQgxX5o/any13WQyX54qHMrEOUKaPOofTtiR/rL48ERdQp1f4xoHkWYgQfrG3X5IGpm0BIhEhXvy3D1XYLnJIDhSByMyUGunZ66/++81nenV835X465/PPP93ZJ2QMlNlaBHizw+79Jo1JqMSb1rYbG8ucu38CQy8fL/P01dfoCeQDDb9QXA4eqfynfuPINbItvNiMUqQj0wzqDhyHpUg3zKd7HwD5ZsKj1FuVYsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Shell是什么?1分钟理解Shell的概念!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4jV2TzYtcVRDFf3XvfR89Pd1oZoYkaBKURCcaJaCLQCALEdGF/0EQNAiBQATJQnQliIuAC3HjOpu4NhDE5A8IiCFDskt0jF8ziuPHTE9/vPfuPS5et0xbq3urOFXUOads7fkjT/i8/DTJXjUUmIWZMR9Cmj6scaavYjV+J1hWfr7o3Ss7TUpzQOcgJTRLe9/mJRnyi969vp2Vhd194emEkRAOMHNOSpE42DXXKbGiBAmNRrLgwQdD0gwTwGjBMnNOsarM8oKlN87RP/MS+aHDECPj7+7bxicf02xuyLLMpgMJIDDMMMW6Mt/vc/jyZ/ROnQagGezgfKB88ihbV69Q/fSj+TwXyJAUMDMEyTDVNQcvfUDv1GkmD9f55fJHjNZuY97TeeYE1a8/47IMJJvxZXdfXBVAmowpjq1y7IsvAfjhwjn+uXmd8OgSpESqJri8wEIACaZchxnjaVLROf4sLssYr3/PcO02YWkFm9Z9nreqSHMKu6nooIRf6CKJNBoiCbTXBXs//L+BMO9p/tzCzCgOHSFbXiENB60fANUVirGdvqdZW00JK0uGd76l/vsvfK/HgXffI+xbJg2HpGpCWNmP7/dRjP/tD9AaCcycVzPYtqWzb/H4+x8CUG1uMLx3B9fpsvDcSR5efJvBN7fw3a7QTEYMDEnJQndRW1evWNrdZfnsm5RPrfLIy68BMHpwn/qP33FZmIKnBpqzsrUbxt0B1utbfvAxfHeBZmeH5rdNUdfg/byVBTf6s2OSkJm5Xh/Fhsn6A0gC57AQzLynlQf1vPPbTfraqR6fH8R0TVicXRspyczhihLX6eCKAnNOUzDC4iCma6rH5/8F5tA3xipPqRgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

HyperText Transfer Protocol (HTTP) explained

发现导航 - 精选实用导航网站

Python | Program to implement simple FLAMES game - GeeksforGeeks

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

‌⁣⁢​⁡⁡​​⁢⁢‍‌⁢‍⁣⁣⁢​​⁣‌⁢‍‌⁢⁢‬⁢⁤⁢⁡​⁡⁤⁤⁡⁣⁢⁤⁣‍⁤​⁡‍⁣⁡‍字节范典型案例 - 飞书云文档

发现导航 - 精选实用导航网站

AI Is Turning into Something Totally New | Mustafa Suleyman | TED - YouTube

发现导航 - 精选实用导航网站

Y Combinator

发现导航 - 精选实用导航网站

Perplexity AI becomes a unicorn

发现导航 - 精选实用导航网站

MySQL - LOAD DATA LOCAL INFILE将数据导入表中-CSDN博客

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

墨天轮数据社区 - 乐知乐享,同心共济

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACyklEQVQ4jSXOzW9UZRQH4HPe996Zuf2wHbG09gMw5aOgDrRoCogGFpAIYWl0YwgBlBBilBAgBMIKDCtJgAUhxhA0MbAxgQRTU5AU0czAVKyttp2ZDq0DLZ2WInRg7r3n/Fjw/AUPqyozE5EomMgYvjkYnLhcfhbQznWRj1dHRJWIrDFEBMAwMwBVWEPGUDIbnOryZ0oUhjjf449M+tYYa4xCCcTMrKoAjOHCNL65Wr4+EFrL1TEKVSts5Ucb0xm/+6sVn9d58ZcXo4BhKkzJ3h9K3f3hp2sjO9a5ROSH2NJh47Uz3w1c+fLGsannM8SkAImID3zxoyYO/H/5ThkAoP8Uwt68Lyqiwbm+i83ffnDk1kkAoYQEoJTL/Xrlr66/QwAiGoQCAEAo8jK8r+fE0gubUuN9AOz+Za2lrw/Pu3VxkfeY2lczk7VGFCpwrFEA0N/H7/ZNDd28f8dzPJ7Y0EmBL2BSnXP2QmTpW9ls9t/BISgWLmptW7Kkvzi89ZcDbEyoErURh6MxLT+3jgvXcTxvYvpRT89vCjDz+MOJmsqaWE1MNRRVkHFca6r3HrKvzcXsbOUnW2lB65+plB8E777T/t6aTgIl06n50YZdHbuqKpobqxoOrtzpxNZvJMd5tGebyzxSuD82OtpQX9/2ZsI1lL83OpzJZUbGPovnNy9b4LVsf7WizoFIZNVab9X7T5886esfYOMkEu3ubBIiy1es9Kobm+mSf/tgU9MmqtgvKiwibAxPPkwPDd8eHGp9Y/H6eT9L7jgRTMtuY13NnjTxt7mjS516gjpERMB01Bv8rxCLVCUWejxyGlC2Ec2fESHb+OGD2qNadJsaADIGADPnM5mpYrGtbXHd6/MDqmIi0gDRuNv503TL91dv5O6m/2A2zEQioqqTk8VkMlWafapAWDjvX6v1u18Jx84p4JfLvb3pXC6vUFV9AQr9oMOJNcy4AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

mysqlimport是MySQL数据库中的一个命令行工具,用于将数据从外部文件导入到MySQL数据库中的表中-CSDN博客

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

How I Won Singapore’s GPT-4 Prompt Engineering Competition | by Sheila Teo | Towards Data Science

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAM5JREFUOI3NUaESRVAQ3bvubJMoPsCQFEkUJNVP+DPBqIoiKRRNlCSqsq4XzBjvlee95KSd3T1n9pwFeDCEEGeNiGdHCHEdaR80XdcBgJm/a9u2XZblsizDMKRpCgBRFFVV5TiO67qmab5xiKht2/2COI7rut73PcuyoijCMDykJSIqpYIg8H2fmRGRmaWUSZJYlrVtm+d567oahnF4w1+zQaUUADRN03WdlBIRiQgR8zyfpknTtL7vx3Gc5xkAjuW/TF9jJaJbx9183APxAkMeYSPGQDyBAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

真实案例:程序员技术最大化变现路径 - 知乎

发现导航 - 精选实用导航网站

Jeff Bezos: Amazon and Blue Origin | Lex Fridman Podcast #405 - YouTube

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABx0lEQVQ4jZ2TQWtTQRDHfzO7yUsNKSG0heJJ0YKnCvVSkHrV7+BBeu7Vk9+lH8CLN6EXk4Lo1V48lGClFBELGmmSmr73djy8fS8vll4c+LO7s7OzM///LhQmBmrg+uDtZrgIBQQAKyf/YQbiBexFt9t9niSP7ji3umrW7og0UfWL0ZaOzGYjmBxn2c/BdPpJxuNz+vDwFxxnqmaqZs4V8L5AuS6haqmqXcDpO3jCEN4YmEFmkMcxrSCSGqSh8GcGIY52Am91Ce5HJ5EYBRwbG45222HmUHVS+DX2DhASuKu3oAeolGSqCiDs7gqHh8L2thCCxOQSbxFAO9BToClzNQSJokwmsLUFgwHs78P6eklnlQho6c0axUKbTVhZgUYjHpeqCwE8kMWFxYNF9uVlGA5hbw8ODuqJzajqnPENPtfYDxU2N4OtrRVzkVDfC0V8/h2G/g98AR7ESkJF8tFRcYdzkOf15iRW6y/hlD48voCz+BbmELFrvhrG8OMjPBOAV3D7qXM791R73Var00qSJRoNTyifB5Dn+eVsNv19dTX+mmWj93n+4SWciM1LKkmqy7RoImFBqPqPfH39K7t/4A18f74nAH8Bjm35s3ZkOjEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Wallpaper Pack - Sleek, Simple and Clean HD Phone Wallpaper

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

High-Res Preppy Space Pattern Wallpaper: Zoom and Enjoy

发现导航 - 精选实用导航网站

Classic Nokia Lockscreen Interface Wallpaper for Phone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Classic VHS T-120 Video Cassette iPhone Wallpaper - Retro Tech Chic

发现导航 - 精选实用导航网站

wallpaper

发现导航 - 精选实用导航网站

Todo

发现导航 - 精选实用导航网站

小云搜索 - 阿里云盘夸克网盘搜索神器 蓝奏云搜索| 网盘搜索引擎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABE0lEQVQ4jWNgGM7gPyPD//+MVDILalDDfyZ0KRYUXsN/JoYGxn8MDf+ZNAUfazEw/uX5+I790jNGxm8QecZ/6AZgdaLR5CdObOxMkj/+/Of8+/evHDcH0/Nfv/8J/vzz/9bVPLm1DAyM/zEMkOl7zCnOzezOwvT/6+dfrMevZYt9YWBgYDCc91xUiIFB9DfDv8/vv/93ZvjPyH05R3oqA8N/RiSD/jPqT3mobTP7uYPtvNuiEOc2MGHzs87kJxk6kx65wfQRGcqwQGxklOFLZhdmZ8j/w84w62qK7DvUQPz/n5GBEeE/pKCCiDX8Z3jCwPhdavqTK+z/WfgZGBjQDMCqGdOgbz9/nWZnkn5HnOuHPwAA6T5kFPG+MYgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

喵狸盘搜 - 云盘资源搜索

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACQElEQVQ4jX2TP0xTYRTFf/fx+g9pCQYINSIEkxoT2N1YjCaIOrurY0OMcXRxcjEKLg4yubvAwuSKmyE11BghIv+kUmjfa1/73vddh7aQSPFOX27OObnfPecK55SqSqlEH8DgIJ6IaDec/NvYrug1V3giDjOqZNvtXZRlR3k1lJFv5wr8rmlelZcoyYZRahHEBPriJ7BAlWcjaVk4I7BX1bwIr6uhysqWpXiseDWl7hmu9Av3cj1cvegCqFXy2bS8PRH4VdFczOFLNdTk4rrlOARVOD6MsBbqYUQlaPJ8Os31IReFwHGZGk7Kdwcg1sMckFzZOiV7FYO1renqoSGIlIXPHkYVgaSGzAE4qiqq3GkYpXisRJFSPTKEzdbSjVX8ZgTAj6OQ9VLrjcOMqoqzCykHLvkhHJYtlbIhilpkBf7UGti2gZGFnapp+8wokHCyrYmJO2BC5XJGeDDpYlU58ALqoenkgoa1ZBLS2b5uAg4QIGz1xYWxfmGjHJFJKLcnYDRz6rJnLOm4MDUc7/j3cxwajoiowBLA3ZxDyQ948anKYd0ym0uQcIVaZAiMZXosSW9MOl9YanNhP9AJDGsovV8PQuZXffY9S2QV3xgSLtzPpfhYrPP0RpqbE6kaPUyOpGTjNEi+PhLlHSCRVYqliB3P0J9sjZ1yhdXtBh/Wanb+1sDjkYy8PxPlPV8forwR6O12OAi+QH74gix2vQWAcl3Hm4Y8MAuMtUGb1rKshvnsgGx2Fe9WhYLGCwWN/w/zF2tGKASRR1acAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

我的小站-云盘资源共享站

发现导航 - 精选实用导航网站

地址发布页,收藏我回家不迷路!

发现导航 - 精选实用导航网站

云铺子 - 百度网盘搜索引擎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jYWSQWhbdRzHP7+X9/Ly0vdM0jQ10xJSRQyoE10coxS2oeJF8LJLDx56d7AiOsRLbp7EntxEZRdhB3MZIioIm4oYcWoPYqvrWMY2m7VJ99K+JC/pe/+/B6F0c2Wf2w9+ny98f/yE+zDyD1dlLHVUi1RAh/7IWo3FunDA+bp5767sHfTVx6qxZZzRCaoqmYSUTSg2PfFQGhDqiLkwlf7q5v8Cou+nT5A3zg9FzO1IuBPDhoah45DwPDK2SWhN8pN6ttVRmePvTZxc2Q3Q35QrytS/DLpJ13c0PVtWgiSLYZKf+4XxlErIixrjVKOfm1h3Z8g5btMy1HO13IJvAuhYnyE03FTLIlEa1ZOy8/qh2Wa4p13jy2svfHq9l7n4++bVykzp8XLKzr0LvCW6Xq4oUy9Lx0a2rFWyvWdk/i55l+y5c2Wl4mXLNVJm5Qn/9mZUMJRSr/APyJYFsLifDODPzzclGH2209cIZB8et6qG8aEuG2c1/KGhr3/cT95lEF2WYISOYgSeNOkAWkNbQcd4oI9SEb0RY4EwkS9goOW/5xjEcF0femCAyBFCm5LzKHlj7C8DFX8HMGwGsCOn9LFj5n7ueO3jKR3YJ3KTj2C7TjBwdpYM+fPWUvdGp7H59xrBRvtpNtY/uF+I9+ZHE9FIn0cns8XKNKA/uTQ9HZoAYbe/APwQrG+YVvqhN660X6r+9tRr70vMZb/YvXn8Ui2yverpoZufjZMZbpg27W58AcAAKEJDYC7Qk9HS2kHCKH1EI5+rhFzLtjJTAG2ef8fdTtdTA8Wd7SStoftFoaFnd89+AOorzL28HpZWb1+5xWCrf3eHmkRrUphz+vFisTeklIdimrZwDxepmQH+qxqOjuW9Kc/zTh5uvt3au1M+6592ZjK/Lh+Ub/8Fi4EgXsA+nT0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

百度网盘搜索,阿里云网盘搜索导航,网盘链接提取码或密码查询 - SOSO云盘搜索导航

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACS0lEQVQ4jZ2TTUhUcRTFf/fNvEnUNLXUCkOtNF24EUwhqSioiKBo0aaFrtq0sahWLWoRWBCUi2rTKsK+KINImKAQWqSoJYIbP6IGs4+Z8eM933vjvHdbmMhkRvSHs/hzzj1cOOcSjUbzLcvqdF3X8zxP/wWu63qWZXVGo9F8sSyrMxwOn+A/XjqdfiCO43giEvkfA1VNhUEiqpnEQgAvPxoMxw0iIWje5LOzVP9gIRFxHCeDUYXrfTD4TSjLE+YXIOEqJ2uVAxUrLQzVxaElTCQDukccGjekuNLsc22PTz4ed/tcVJXf9QYoS9BkEvvtO/JGh6lcmwbANKDE9IglUgz9EFL+sh4Use15Bege83n43uHik/Nsno4xvaOO+bMX+K5Z3BwU3MAAoCALzjXA9oLFv9i2reMJn5aueaqLDK6WjLJmoBf7/iPulB2ma3cLhTkhTjdkYRrQ0euRbSqdx3MIGUJYFd6Mu0wmbG4dKmRdSR001DHWM8DryiZsx+XGwQKatoQA+JyE9h6L8UQW24rChFUVQ33isy6fkilqik28dEBbVSuDUsztvTk0lpksRb2v0mRkymRjrqCqyNycpXHbp74jRipQjtbm8OGLx9DUApf2F3CmOT8jtrgDryaUY9VCJCQYqkphtsHz1lJqtuZyL+bz1TRpP7Ketl15K2IbmfK4/GKSuO0vbjAzM5tR5SBQREBE/lZhRARVTRm+n366WBD9RSyLVsMS7/vpZ6H6+vpoeXl5hYhUiUho9dPJ2CAVBP7j/v7+Uz8Bm4xsvDLO8vAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

云盘资源搜索

发现导航 - 精选实用导航网站

《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibili

发现导航 - 精选实用导航网站

Open WebUI

发现导航 - 精选实用导航网站

AI工具集导航 | 500+ AI工具导航大全,国内外AI工具集合网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACPklEQVQ4jbWSO2hTYRTHz/lu7v3uK83LkIIkrTpEVBAXV9tBHMTHEkWhEHDQoYhFobTYekuHDgYLog5SKII4xMVFEBxaEFwURKoBsbUFCZi+Yl73kdx7j4NG+9DNnunAOed3Xn+AnTICQgLCtr9jjbaRCQgRkObvF5NlW7y93lTVNdMZujge+9iObcxn25DGT+iKKd4Sefy8TdqpZVu6Z/RQYKxnVtiaHthUaxBDA30AgLIt+GUCKFoAJYuZE7PobpmcNq3QHi+bXZTTnd1KtFUTWiJOlBwuJyXrcTrGzs5XqfHhU2Vk8mnSAiAEQGK/OwPS8NXaub2x3XMB31lsCMJ0YcEaGJ+U+o4mnEFV1q9E1OD1rj2R53cGSIFft8A26WZ/9ZKmaFMcXRDBhniwA8CrvWcOHj+UsF40SDvy5bttVSmqFmvWDDjKaeMBNBgA0ug180JYU6ZUZrsK2q2gRD56ZSeha4dDevOZ0/JGA+hVdElUvWbF0mWlt4bmXQAkvNH3TdsV15YishgSwKGQLEmy0ALOPAhAq56MxvX1yvKg7VkvIRB/XayjXLI5rJjWZ2nuzQGWCifcGPdXE0EupiIdkozmI47OGc7cUlckrEc4QQdH4dhQ9zvbLp/kgr/EmVsBn0aN2V4XAQCejKwdjOqhfvTqCyeGwzkAgLe51f1Rnfc3m/Wv6c5XubFCgQzD8KezM3JTSvHLD/dV/inPfIa2Cab9rQ2a/aNiAkLDILaxkIgwnyEhn8n/Ffbf7AeJCvhL+7aUVQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

AI科普在飞书:一众知识付费内容的免费源头找到了!-今日头条

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACk0lEQVQ4jYWUzWucVRTGf+d9Z5JJZsYwpE3RpllYxapQMK1IXSpVqCKKiCvpoiBIF/4BhSy6Ef8BF9WuYnHVhf2giIW2SXXZrSmllCkRU43Nx8xk3o97z+PinWC76oHDfS4X7rnn3ud3kdSRtCgplxQlRblLkstdT+lqLco9V4yL6m52UFFckCSVZVAIUSG4YtxNKUZptI2PKgRV0ZNftCAJwIAEEFUYT4QAuXCHLDeK3OkPFLMsNf/5slteoOGO2XAo9Xpm648hBpHlxmAA6+uVHg5FUUBRwPg4uMt06LAjQSiNLBeNcePVQ2L1TyPLYGwcPvkINjbEZNNIa6I5Yfx6XWxtU6MzZTjo69PYzF7TpSvY6a+MhbNw5w58+jEsnIGlZaP7ULx/3EgSce0Xw4wa0YWE/bFibGzKBjtV+0UOk024/Rss34aXDkJRGu22+OZbw10kCQlmRlEYBw7A668Ze/ZAfwDdh7C9BZ9/BmWAG7fgrzX48Sfj3Xfg2FtGf2A1yhL2vwD37sHqKrzyMszNwpen4N/H0GrBo0fVOP9GdaKyhBjBoEaei4MvwpF5o9UUH5wwrl6DuTlYuQv378N7xyHL4O9/oNcTW9vG8u+i1SKh3TZuLhnnfhCzs8Z358SZharnfh/az1X65hIa9OHWsunDE7D/eSNGM735tuMOJ7+onvH780aaiqPzRppCrw+bm7C2JvbtMx48ENPT1SUOdjAdPRap141QgiUwMwONMSN45YlmE1pNMTVlqtex6WlprG7WakkTE1hYuau00Yg0J41GI6FeF0kCaWokyVNu3rW4PzGnJ13UCJA4AsYrVv6HaReuEFwhRJVlxVNRXEDdbkcxLso9l/uzca4yH30Bnf8A/anw+G86KOcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Coze: Next-Gen AI Chatbot Developing Platform

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAptJREFUOI1lk09rnFUUxn/Pve8748xk0mbMFBMXSolFLfgdJKTGNlXSVhR34sKFuFCp0JXtVxDcKMF+C/+AiqAo1YV/aI0uSoQukkXNJE1mksl77+PinQji8sK55zzPOb9HFy5tvhVj44bz0QnbAgArBBHC5GXIGWwMIMkK5U5K4/e1cnlzL6jo5FxliQAmBDEamYODDEDZEJ12wAbbgHIIRciu9gtBJ+fK4ACyLXZ2k545Gzlzpo2Auxtjfv6lotmMDkGAQ86VJTrFRJZqqdZ4nHnzjS6rL3SIceIB89kXQz74cFeWUG1UNj52SYzBe3uZK6strqx2AVFVpqpMSrB8rsPrr02xP8yEEAxGEkGqp6eU1WnD+eUpcjbHu4hRSCZn8/y5NvOPiPE4SQI7K9hGgpRhbi7Qmwn/+VgX1jpbLfH4YwU2BAnb9dYlMRhk9vczMQowR1WenM/EWDcFsbObuf93IntiofaauXj+IV55aZqyFD/+NOT6jS1qFsS33+1z+/YISby40uXVl6coy1pZUSXRO5m5+vZJiiJgm/5sQX+25Pc/DklH5v52YmGhQUpmabHN0mKbjb+2uLOeiU+efff66ADW/zykWYr5+ZKHewWnTzdYu7nDp58/4LmlKZ5YaJIS/PrbIR+vDbizniii0MqlzSxZg4H96HzWJx/N0WgGQk3GhAORDUHwzntbfH8ruT8bZePimPVeL2j3AazdHDAcZZ5+qsGF5WkAfrg15Muvh5zqF9zdMKf6QfWphS5e3rQngEPwaJRIyep2zeKzTTrtyFffHHDvnilL3GpFJAuwJP0vTBJIUFUwHCZyNu12pNnUcSKx+TdMweYaCtuSsHHOOCUIAaanIzMzBWVZY50ztrEkUNi2ufYPQaVaNw1406cAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Cici - 你的 AI 助手

发现导航 - 精选实用导航网站

WayToAGI

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACiklEQVQ4jX2TzWucVRSHn3PvnXnnnZnMhxPT2HYaRTTZWCwIXRRroCi0LmyRgLgRQeyiCu7cidBlQcRm50balSv9E7JVC1JCIYik1abBmDQwaSYz896P4yI4aSHk7s6B53d+5+PCEU9BFOwzua8xukD5/1iOgI1AAtAr9Sk0v0S0bwFzqBo2N96WX9hxR8F6hSn0+S8I5mNynabmIS9Q66PM0OYwgTF8uX2RWL5JPb3M5BNoD0Kqq0pDjFbs7iDgAdyh8Huda6j7jheGhlM9nyaweiy3ZjpHOhVJpZJo2EuweSBwAD/3CcYtcmo30u0HP505N9fCtyq6FjK2vEp/kPBBZexgDL/ffIOifJPubmSmjz9Zt/ZMi/uhyt2eZSs4eWBe0UfalVERBRbHDlTncRTZt3SKinZ3Q5ysWHumJcuDCb0zNKymWflJP9IVfzbVnkykLAz2BcbV2513Qc5xYiekuljzWou/Q55+HRr5LV7gh/Clnlib1M/Wy66z7WtbvqqLgNnvAIjuQ5peaQbVbp2ikevvfSPL8Szfh6/03EpLPr9j7Mx6uu0K88H5+2wAOAHVizSIvElzSMqw9niV1ZGTh6EpP+qn6dVHdb38R6l4bOLV6zfsrac3ZwDIG7NYjlEtoGZJ1TIbPumKvq7/+rl46WHZ+pgWr98o35qfV7ewoOPz3h+ilo6TKdgYyMtm5Kz29gx/6qw2djLTflwU/Si3FRVZIoGkZx1EyXEYnJZMzViTWeudtdvlKTsVKjYvZO9epf+XIPo0fODA8A+eVZQRICGqxAiiUUqjZC2yvpm3R4f9GwcgP28t6WlOUyeuNQdysrmqk7xIKbsrvd47srw9SkvfvDQ8TOA/VtwsjpTB5CEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

The Top 100 Gen AI Consumer Apps | Andreessen Horowitz

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbElEQVQ4jXWTP4hcZRTFf+e+NzNvN5kkaJMVo0QDoiwbMEkRsVAIiAHFSixWSCeCfxIJptMYBAujAQsbsdVG6wUtsqCVkIDYKAspDEiMMZkk7u5k5n33WMyss40Xvu8299xzL/ccnYU49QlnI3hjPGa3BcDkn+X/Dd09z3tNjw/uDrGN0QxkM2vnKUBgTzJAPTanxkNyCq5mpWirCM9m2Q4GiDR7PCkIacajCNvTbhF4G9ievQiRCBnJqrAqudhlPSc8CbmZkJNdrAAF0mSoSBNGotj5T5HvFFcLxzT//BdYFXZNc/Qc2rEf3zPeSDxMXMCCUGBaW/0Dmjv6tjtPvCz199F97AVwMPfMZ3QXX6Xcukr1wCG6SyfoHHgR7XgQCujGR1g7H2HnS99S/vqZzsNP017/BdoR46s/0jz5Ju2fl4GK0ZUVuvufpXdwmTtfHae9skLkEDqPHidv/8bg8xOsf/8uqIJMmoPLrK+eYfDlK1S791JurNH+cZmNix8yXlsh5kR15jnedxZ6S6+r3tO4OfKWoEB0yZtr1AtHqO9foLrvcWJ+L/NPnfa9X7+R2ptmeIuaDirXLrF58aS7i8tqf191e+2S1O0zWvua7uJr1A8dZmP1HWLXPm9Gql445HL9J+UA9PfHFIRyiFRwgqLGNqIGjyanjB52IsokR4OjwrVNyGQ0W7eVsRXCmamYr5BsJ5JsKTA2mU4TdYgBsMuZ6ZmUbU8V67LlCWOwizBFQhKD6IgL/YZABJ7o7T8vTeW6zR9gUiL6DdERF6red/xw+BhRVyxl0mzzH1OW7WEBnQ63Ry3nPz3NuX8BMjctuhbqzw4AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Kimi.ai - 帮你看更大的世界

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACCElEQVQ4jYWTMU8bQRCFv9lbG2NkkFzEEpIjpUv4J5ShoKCAdGkoIgHyj0AKRRo6SiLxAyJRpqV2ESIr4uKYAjchyDmdvPtS3B1cSJS8Zme1b2dm3+yDAtvAEPgJBCACKtd6HLBkBjYEdsq77NRI4S+XHsf1/TbAZ0Bmlrdareicq5MEqLW4qNZCM9JoR15sRDpP8+LMLnHOzYC4vr4e0zSNg8EgAvLeC4h7e3tx/G2iN69fiWcb0b2TePm+LOJmzswWAFZWVuj3+7a6umpmphgj3W7XDg4OrNd7wofzc5F/N32diPRj+XoteEkGEEJAkrIsQ5JJYnNzk16vx9HREZ++TMySqfT2Ocx/VAnMm5kBmBlmRrfbpd/v02632d3dJU1TTk9PC3rIDXLASnmAJEkiELe2tqIkhRBUx3w+1+3trQ4PDwtRzerTiL6aZYwRgKurK0ajEUmS4Jzj4uKCtbU19vf3OT4+ZjQaYWZIRQe+7IcQAgBnZ2cMBgOcc/eJT05OiDGyvLxMxa/gVaUCJOG9LyUpqjjnaDabVTJVvArOzFRqgZlZkiQ1hYoOvPc453DO3Qte1XSScoC7uztubm40nU4FmCTK7nR9fc14PCbLsofSBTKAS0BJkuSdTid67//4yo1GQ0tLS9EeJlB+ZS4rJ/7LMI/jUNv/5sghMPuvnQvLDysn/gK2LDHPFYe+SAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

万知: 你的个人AI工作站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC7UlEQVQ4jV2TS2jcZRTFf+f7/o95Z4bEhCQtilBqhVKoWFEIaOnGRXEjFJGuFJUiWdiFSN2rIG4E3RYLEh91IQoqPlaKRQUVfFWUgiY1EweTTGam/9d3XSRK9a7u4nDu5TzE/2Z6ev6Q9+5+iduBGTBAfwKXyjK8NRhc/eF6vK7b3czM/LL3ehDURcrAqj2IN7NU2CZwYX197UV2mfF7JPHc3MILkntI3lU45VQmQhBmAqFIOXKpBY63Wu0bR6PhR4B5gNnZhSckHpH3g2onl2WF9/XUK/ZOkXeSc9XWWCqCqRZNMO5oNtthNBp+pl5v7nCS+NfwPq62JmX77gONGx69p5semk2UeAdgeRWy7/v5xksfbw4//XnsO/WIKhR5Xp3ync7UWXl3Vxjl4/qRfY2b3zyz2Dpya10971yj5l2r7qPplm/ecrDWuvdAc/u97yZVf7tQHPecsEjSMZwKsiKeeuxEN3Rv8qvn394ePPPO1q5MuypNP33f1PTpk53Ow8e7/eVXBr6RVs50zIH2W2nQSOIwOxvtWGpbK19N8stXQtnfpOxvkl/+NWytfDHZCbHZvoVYtSi2gJmxPwLzkjyYsiKWqUVy7nS38n5ow5EBuM5hJU+eao9dT5NvV0tlhVOr4QEfAX9IHETkOTWVwcHSnWm8tJRayHbd9iklTYpvLhX5+Q8yteqRQkgMrkRgX5q5owQrJknbmVuUfv+p0o+/BJyQBNcK0+dfF7z6bsZg01GLzYI1gUuamZk/6iP/IVnminPLidXrLn75Qsbq1YD3CBNVMMbXoN0QcWyEIESoyuyE9oL0vHPurJXhL8YjT5o60mQ3rQZI4JwIVcAoJfXMwrPr62tPCXBAMje3+Lqkk+aUYVZguP90xawCIkm1EOxiv7/6AFD5vVKUo9HwYrPZFsZtgg5mkRnC8IJEUgoam4Xn+v21ZaD8twt7l6rRaPhJo9F6X0JmdCUaEhXwmxlvmPH4xsbaChD+eexvvWFS9eInlokAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

AI

发现导航 - 精选实用导航网站

吾爱破解 - LCG - LSG|安卓破解|病毒分析|www.52pojie.cn

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC1klEQVQ4jQXBy0tUURwA4HN+59yH470zcxkFx8eoJCPooKLLwhqqRbUIJAgiV4HQwm3QTvoXahGuRHGnOC5cyFj0AKUgMgysyMcMMzh10e6VuXNf59H34cuVldbqKsnlhG1LzsE02ekp6Drp6eHn57xeJ4ODGAAsi9dqxtwcma/Xo709GUUoiqL9fePxY0xpsL0dffqk377dduMGGAYiBEzTW16GdJo8v3eP12rWq1ciiqwXL6QQpKtLeh47ORGO0z4zQ4eGhJTB2hr/+1fJ5yE+PVXGxmQUxd++hXt70nHYr1/B27dgGCSfh2zWf/eOWlbb3bs4mRS2TZ5NTupXrwrP08bH6ciIt76uTkwI28aU6rduyYsLms2CacowlK6LNQ2wEM3FRazrSFXDclkdHaX9/fHv3+H377xaRQDBzk5QLmNF8T9+pAMDAP398dFRUCr5pRLJ5TBA9PmzOjwMigKWJVstVq/jTAYyGQAQ5+e4cf9+sL0tgoCYJh0YCA8OEEK0owMxJnxfLxZJV5e4uAjev5eel3jwACCVEkFgPnmiTk2xajX59Knx6JH0fSQlzeV4rcaOjyGd1qanBWM4nabxwYF+/Xr77KxoNKKTE21ykh0fY1VtLi21zcwkHj7kjQZJpaL9fX9rS3oekN5e2t0dfPiALQu5bvP1a27bvFIBw6BXrmBKsao2NzeVqanEnTvx169Au7ul57UVi/zsTJ2Y0ItF6Tjh7i7WNDI4yP79E64LmobiOD48VEZHQbguVlWSzUrXlYxBJqPfvEnyedFs+hsbeqEAiYR+7Ro7OoorFYQxxD9/Qk+P8H3a1yfDUDgOAkCMIQBlePjy5UucTCKEkK4jjIXjUCRlUC5HX75gIUSzKTlHnMc/fkAqxet1Vq0ihITjIIwlY9DZiVtv3jgLC0o+L2xbtlrQ2yuDQPz5Q/v6WKWCLUucneFkUikUUBwn5+f/A3gvfAEHLK4lAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小众软件 - 分享免费、小巧、实用、有趣、绿色的软件

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACHElEQVQ4jS3OTWtcdRiG8et+zn/OnJkkpNGQ1Jiiu/iWoPhS6kIHwYIFXbhx5wco+KXcuBfBvYgIinRn1Q/QhYWkEyYzc875P7cLu7w2Py7x8B80EBMUzXgTMRurd7WJiOXYNoXMTZYZNjngNhAgSJzJZKz45vr+eweLiz1vVo5W0ZEJBqEMqAA2tdpTl9m0bL9e3Prqw3mrVWpSs6FWnCCoBSWEMsONo82+f/NO3HtlZxjmb9wpj56so5tpHDLTIXBgsML6v+gvP3v36DB8MtWnFy9Qr8AyYbCwAgKaJJLwuH5p7+bz90/wYA9f3D09nC4z+4xIBA0QuEA4moyGzfKTt148P25twO+cdh+d7bO5yiiO53Q8vyJQlGZ48MHx3K7WaO3YD+6+HGxRQIMhS4iUK2rp+9dv5+Js3x4a0WAz3H/78Oyo0q8VLU4g3GClGBieLc6PbndBMlJ6Tag66WJxcUy/RFsiaRRIiPCm9er8dCI7HWOoQjrCvjhti1fyFhlRyBFkJolqBcDbqWUMA3TVGNkNiKwxqVUZqdnIzk+Pr9eSIqjbyA2hlfTz36uqXWuuVKlDhDNsgO7Wj388/e7RclNmUeZudjdN9+3vVz/89i+zfQhSYUsP/5SVFMqE9eW+Lr/8+NV7rx0Mmb8+vvz+lyfPvM90j3GAlCy++Ytaiz26aDrzsOX6aVcylX22dAdM5wyrYJsqNJP/AJrRJwwuJvJRAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

阿酷杂货铺 - 优质互联网资源分享

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACUklEQVQ4jX1Tz0tUYRQ9537fG5UakfLHRgKniNKZeW/a6SKQIGgR4sZF7dq7cRG4LYqgPyCoTUhLiSLQRVBQuQiCfI0TjghuKhSXZerMe/e28I1OUZ3NB9+953LuOd9HHEEAKAYHu8q9vVM0TJAogmw0Gzpdq8WvARCA4Q/SIXkkDMej/v4lAR+TmDSzgiNHgpzMZn0WhuFZAEH7AALQUql0PRB5CdWKmoIkSJqa7anZAgBEUXTfeR+Xo/LzgYGBYwDgAdhwGFa8yCNThQGgYDNRfaBm71Lyy2ocrx30cpJAp0Cu9PT09G9tbW14APCUOwC6DFCSn5uN5kStVltvW5UAkqamM967GTO+qNfrGwDA8+XyhRzdklnaISI/d3eTsXp95VOmTjPTfjOuHV4gF4XWYRQqsJiRHYDkL/2SDW2dEAcdMgAkkabph0zuv6BZXVoJejOmdnT7P3IL1q7Ok7ZOEmYGOj/6n30JAIVCoTufz0+rcqVaXX4me2avTG1HVZXE5XOl0iiANDPRZVJ9y8x8vvthEAS3ncd8MSqOyVq1ugpgwTknUPUdzj0ZDsNKJjPN9k4ASBRFd0lO7Tca+1BLRTUlAJwpFk8fD4L3pnrywFD8MOUcaW9U+R3AkDhcE2AsUd3LBUFnkiT34jieZeuDjIyE47mczAN2QtUgIkduEDBTmAHeOaSmc8sfl28AUNfKd3t7a6Ovr29RxBUAnCLg1AzWyoUCkl9V9Va8HN9smd0e2+HjKFcqlzRNr3qRYQAdZthUyNvG3s7Ter3+rT2aX95EAq8MhX9UAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

mefcl'blog - 分享纯净好资源

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACzElEQVQ4jY2SaUhUURzFz//Oe7ORW0UFtkALVgYRk/UhghbaXBJKW4fKEiWooChsxTtBDQUtYgUtFpFYahZUZmUogrQxlBQUfciJJNfR3Gaezmvevw+jYCXU+fi/99z7O+deAgBmEBEY/6GNecdOWcdGQ7dZaHLshBoFCJvfVBQm+DV/Kvf7A342V6ds2vUSALKyHGpMzOLErq7OOX6/PxAXO9HaIALzOjp8k8X4iU8IAD5U31oU0Pr26IZyTg3qLS2asVDr485PDS3ldrt9R6+mNbY2Nb3TdT1Ba/2xfkXyin3xDjTNnZutg5lFXU1xwcdXd6cNRS26fnXJg/ulu4uKiqYPnWet3bw1LSU1BwAcDoeqvH92f7RthM24/eTtF2YmuFyE3Fz2eDxf29vb0mZNiSiUUoqwXcLrVWqtoYgDzKwQkS7sUYE+DvVbc9NnKi6Xi0hKg4hYVVVFCOWKYUTYpZQGAEgJFkJEdXd3/wRgACAAQN3Tq+66Z9ezAaCkJN00TPkEQABAcnLyJafTuW5gHiZjz8PRtaX596rKzq8Og0IwMzEzDeJLZrF86dKTSUlJBcxsGrydqr7Xx5W9e5wfH2FrmtrckaD19NxKzTzuBgAGiABuaHhh27ll/w02WYxHlVUZRBQMLwPC16l5I6NHXfjW2Gr5abak9OihhIt5OQVSsiAA508cHrs388hz1Wz++qiyyklE/YPm38QYbJrpjDv7qftYZp7Xy9asNSs9GWsSj/6WeYjC+aQUBGmE8xLPmDLfqTKSrp1dXaGYg72rNpS7AZgGmv+nCJLF6YPb7uRsX8A5GcuyAVB6OoZ7nb+RwmnIMDikcYiDJkE6AI6pdwy3d+AjDFFlyeWo1u4fqz6/f32xx9c4MqhbKiPHzd7szs9v+yeBz+eLjZ40PhHUv9xus9XbR0TeJJhUFnzodnHh9ubm5jF/HvALtd856R2nXDcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

即时工具-致力打造即用即走型在线工具箱

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

software

发现导航 - 精选实用导航网站

阿里云盘 - 公测预约中·阿里巴巴集团出品

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jT2SzYuWZRyFr/O77+d933nf+TBIDHNCCLVIZ9JF6jZaBa2SIFo1YYvoH2jnpn+iQImoTRS0zkVgLcJh/AIVMTSHFMPMkvl4n+e579NiqD/gcLjOdXT6zPYbOfLnrvUFu4BQTjI4JEiCFJCkmoQG2MOcmG3SvYZ6OmfFWaRF11KAENbGprFNDgAYZJibCckWCLpSHWk/+GyurovuSolE9J0pBR85GCwdFHMTsbFpbt6u3Lpthhk3CWyi7dsSSYuZ6qrYCTcZPjjVcGI5dpoQYF4/CWvXen3zfe92y4REiGhVa8YOCvRdZeXtASeWE7XiX670Wn9g9jwrji8ljh3JyOiLLzsim2qwpSzkrW1z+GDixKtJbYfPfdvqwmqhaaB0ZvVq4sN3BxxdSvz8YvH1a4X5oajVBLb6znrlQAiLy9d7XVjt2bUgJhNY2CXWrvf8dLGjFHHokLQ5rdrurK2uKlNM2CzMCoB7901KYJlqEzvuePjYpCRGo2C7iu0CqYrs3tTetFMAMZnZ2e4/ziozmIib65ULax1KJs2Y1tAAoT5QL+7+VpDM8suJuVloKzQjESMYz5tbDws/rHYcP5b59JMZ8th0YaL0eJjDa5erH/9l790TvPfWgGYIG9VsB/xT4PBLiY/fGbnJ4vdH9t+dnEfhTGflDE+eVL7+ruWj9wecXE4s7h1x5U7P0xaeeyZ47UDyeCA9+LPw1fmpRhNImOyiWiqaDIPVS4XPRh2n3szatzvYt3vw/5nAunG/+tz5lk1gvCDy1M5RFVUutRDjkbh4uXDnUfHRpaT9zwfDoXg6rdz4w756r6d0MD8vvEUdpEiZGus5p8VSpqX2xMyctbEh/3ipJ/8KaQw1gQJGA8uSveU6nB2laMt6eOoVF+7KWVRcWjnV8CSLcYiZELONmDTJQTiMc0qKpLsps/Iv6sh0VzXh/zcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

蓝奏·云存储

发现导航 - 精选实用导航网站

123云盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACx0lEQVQ4jXWST2hdZRTEZ8733Zv38lSKTeMf0Lpx70IogmsXbuymSVqsiiC4U8GFWJMUNXWhSFEJFBWXEkNX1j8VF1JrrSAabF2IIojQlqRQTdO8d+/9zhkXr9aVsxo4DPyYM8R1zR4qj8DsoAHTZnQRRFw/UpQgABRwDdLnf//1+7HP3r63IQDsn+9es5RfEAAI/y8BIJASUDo/WbbSAc68WGaqXloprbckoBAEgeA4QRoFCnDcgJDqftXrRvFuZsITJJCrVHsR6h4B+4+ktEB4Qd3P6V+QCKAdhsM4k824uzR+VuIKiWebRh8QWAeRELGLKR8EOdWNYlG0Bh7JEu4n8ajkA5PQD+jblaV0FOAFmX1faKfa1r9eWaoWu9LupfGi0862Lb5pwj7+8JX0eDDeSVVOZoSM7O/bp0TDoD+BE5M9nJ+6o1qbm/el40cmfiK5OTmJMzt2Yq1Xx68PPa8BHJ+SYBYAkFpdpc8teNU1uOCh97shrnhnxx94Tn3I72m27bvisczQOrCBlKaflqBxwzFujIR3xR/76NW04F5O0nDX3YN4r6rTlISLOaVz8LwG3AYRt8ODJkAIAIdlXmJ97cd8evZQt7BjV/1z/2ac7t9kB9qhY6LHvYNb8EPq6c92e4PhcYTJkAkQVIPDDL7Ubf+2B37fMH959XKRuzYtp1tFPDm6Vo6NrqJlype+Wp7emp1vd0MJ3L/ov0TonIfeTMDrCi6RcQkOL3VVai93Ou1owJ5Kwmagy2bVHjJehrCTc/PllCV70D2cogniWHZjvxEOswSI4ylnoLSCECOL4ImUSLgESJSkCIUXRSkKd0FQFFdEkaJEOyrDlAmjnTFdseWu1Rf1IFeCDARoHH/XKJICOPY29nUv9wX9EcPuGVtd5tblljPdKN4ysw0BQEAkAxAggYQACBIADL3gk67hwytvTJz/Bx/omhF6i7KiAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

字节网盘·云存储

发现导航 - 精选实用导航网站

迅雷云盘

发现导航 - 精选实用导航网站

TeraCLOUD

发现导航 - 精选实用导航网站

我的坚果云 - 坚果云 - 云盘|网盘|企业网盘|同步|备份|无限空间|免费网络硬盘|企业云盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADNElEQVQ4jV2TS2hcZRiG3+8/Z2YymSQzJk0yqEljZMQozaJQazGKSGvNoo0XQtGFqJsuFHQvyGykaxcuRHBhQZFgdVGFilKQQdzUggnGaG2bxEliJpnOmTmX//65kELwWb2bl2f1EA7A9bqget2/cup4rVDse91oO9mN0+s/3tj+srOzcxsAGCAC+O6H7o7FxcVgaWnJnZ478dzJI9XP7+0PK5ViiF4q0UnS/dVm+9IHl5ffB+TWOydn3hwrhU98s/L3JwQA9TpEvQ5/4e0Xzy08Of1heTA/cvnqTSeilKpDAWmlqRgwGn9s3YwT2Zqo5I/fanVxbTNaJ2YQEfi982cW3jjzyFdj9xRJSu0gWHzx7e9wuxHGBwSSTNrBkHPLzTu4cGX1irL8GQAWIODpY8eqZ5+a+rg6XEAUZ1YZGzijce70FOICsLPfQ45cGCWZLefZ1cYGSqPAJQAXBQH82tmH3pqdHh6NYmkF+YDYwhgDqzS9PP8AbUhJ3SgmdiYwztPD4wNzHeAFABBTlanKzP0Dr1qj2TsbsDXE3jC8IaUyDOUcnj81ievbEROYW4n1g4WQq+W+eQA58dLC4fn7DvVNxEnG8JrYK/ZWElsJ4RXanRjT1RJmZsfp51sRdZUlImComHsQwKh4rDb8TLkf7Iz0bCWczohNBq8zZFIiURZbeylOPDqGzVShHWswCEycB1ASYHeUvIY1mWDzn9kahVRq9DKLJDVIjeP4TsZHD5e5FWuwZ0SZTQBIEbAdd0aBnSLvFSttkEiLVFmk0sKw57iraH29Q5OH+lHsE9xONO0n+i8AndBoKckbVsrCey+0dayth7Yelhm9SNE/6x1OM4NyKc+lQhgub3StNL4BoCd+vdFqGOdEIR845dgpy5xpj16ssb3Rwcafe15K68ulHP3W7AZX1/ZX1lrJRwB+AICgsbL7i9VubrgYTJB2Iusp6u0lFO3GJHuagkCQtF401trm4k+b33VS8y6ATwHsHoxprJIX5x+vjTxb7g9rA4WwQiRykbS2nejWarO7uhWp7wF8DWDtYMEEgLgOojo8gBEARwDMAhgHIAGsALi2CDSXAIf/8S/HtuzGYHC3cgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Apps|InfiniCLOUD

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACKUlEQVQ4jW2STUhUcRTFz7n/9zE+R5RGDUIiiYIQDal01SYItGhTmyIKDCKM2lu4UWohtUkqoVUULWoVRB+EFAQWBQaWGFlBUQlWjpjz9ea9978tJtKsszv3nstZ3B/nB/GvVEH+38rKaGUtAooqVAGQIpU5AGdFmgoINbQA6BtQNIxglSkCqgpneSMBJbWgTvNWf1uvaWyFOPb7VDhxLX77kC5JZXYAJEBRa6FAAq/zWNA1TOMtLy886i89PiseHBIKoGRZ5cINtPCTfi3ESRY+R6+uA3BbD5i65mDHGTv7sjx5n/MDsAlSncf9jhMMGmz2Q+Fur4ZFOjb+NA3ArFmXPvhAMhvid/dyN/aIDeFv6Ql2XTL1mySod5o60z1PgDD+Oi21ntT68czHcPwyQFndxqpAmDJ+x0nVJMm+L472Jfkf4qWrui9CoFYBgoCNAUAcQIR+tdQ0AVKeuJq7OVR+cQGAu77L27zXLkR2sWRWZbz2o4Dab5NayjtazCXZaTeod1v2B91fSk+HvLZDJrMx2H3FZFo0yvvtR0xDC4BwfETLirnTWLy1z+pv5W4fXhhps+W8/q3i2PlsP7KDNKd2Mp6ZsnOvWd1It8ZZuz0cOxe9ucOgTq21+dl45nlxtC98NozK4+YHoARCwAO9NI2jcaiFIgT0XAAaRYiwhIYCBJAStVbDnCogoC9Q1SQCQAM4BppUCHJIqIKwZOUUANRacglptckf+wtMOxhagzwf3QAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

MUSE|文件传输 不限速 高品质

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACa0lEQVQ4jVVRO0szURQ89+4KMbJJFInVgkYRDNqIjVpIhAQfIFhYxMpWIYX/wH9go0XwJ6wICVrYiYqFpvIRO1FEWXyxcTEa9t4zX3Et/KYaDpw5Z2aE1hqAZVlEpLUmIsMBCCH+EmYWQkghhNa6Uqn4vi+EsCyrVqudnZ0ppTzP832fiDzPOz09/VUE8PX15TjO6uoqgJ+fn97e3mKxGASBbduHh4cAhoaGSqUSgFarJQEASKfT5XLZ933P8+7v77u7uwEkEgkpJTMnk8mOjg4ARGSbQ8lkMpfLra2tKaUmJye/v7+llFrr9vZ2KaWUUilFREQkhRBSytfX11KpVK/XR0ZGJiYmXl5eHMeJxWLVavXm5ub29jabzRrrEoCUMpPJJBKJvb299fX1WCzmui4RbW1tHRwczMzMzM3NLS4uaq0tyyJmVkrhf7RaLWYGoJQKgsAMlVJaa4qiCMDJyUmhUMhms7lc7vLyEsDn5+fKysr09HQ+nx8fH9/f3wcQRZFtWVYYhktLS7OzsxsbG8fHx0YbwO7ubrFYXFhYCMNwcHDQFGebmlOp1NXV1fX19fLysuu6AGzbTqVSURQ9PT21tbW5rvtrmpnj8fjR0dHU1FS5XB4eHt7Z2TFZCyHu7u5qtdrFxUWz2TQLBKDZbFYqlefn54+Pj4GBgfn5eQCNRqOrq2tzc7PRaDw+Pr69vTGz1pqYOQzDfD6fTqf7+vrGxsbOz8+ZOQiC0dHRnp6e/v7+zs7O7e1tk57QWkspiejh4SEMw0wmE4/HmZmZ39/fTQDM7DiO4zgAhBkJIX5fJDISplD6A2Ymon9KZZgFuJtEJgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

网盘

发现导航 - 精选实用导航网站

(300) Pinterest

发现导航 - 精选实用导航网站

iPhone 壁紙:iPhone 14、iPhone 15 とも使えるおすすめ iPhone をゲームボーイ風に変身させる壁紙 13 種類をダウンロード - アップルジン - iPhoneの使い方と便利な機能紹介

发现导航 - 精选实用导航网站

GAMEBOY WALLPAPER IPHONE 14 PRO

发现导航 - 精选实用导航网站

Bodega Supply – A design store of hand-picked digital goods for you.

发现导航 - 精选实用导航网站

13 Gameboy Advance SP Wallpaper for iPhone / Android Colorfull Retro Phone Screen for Gamers Wallpaper Variety Pack Digital Download - Etsy China

发现导航 - 精选实用导航网站

iOS 17 - Concept Wallpaper - Wallpapers Central

发现导航 - 精选实用导航网站

iPod Wallpapers Collection for iPhone - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

个性化电脑桌面必备:Wallpaper Engine下载、注册、使用教程 - 哔哩哔哩

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACaElEQVQ4jY2SP2gUQRSHvzcze5c977jDiBhQTGEngqIBAyIkRYKNIJggYiOCImprJXiWNnYiEaJoIXIKgiBIIImFqGCMQv7YiWIjGjS62c1lb2fGYs0ZG8kPBh7vzbz38XsDqxqZCrg7f47R6V4Ahhq6XVuNR6d7uTt/jpGpYLUk1L2CK7Dt6C4qlXe00gWa8RFO7X7OWo2+O0DHhkcEhU1E0W4+P5yBy0j7wu23NaR4g7B8jJXkO5kdwuvX+Rjbg9EPKJY2srx0H79ylpN7FnOCay9CNtXqoI7jfQWhig7AWbBZAoA2JZQG2wLPT0QicPdYWKwbOqtXqXReIPoB3iV4iXCpQxDAAODsL6z1gEIwIFupdF7ESyjcmY/RgaLVOoxTrwBoWk+HFirWAxBpaecAlNtPEDzGtaxB6RKt9CfdXyfp68tYjyYnJ/m4eQVjqgbwKBE+dIU0GgnLu8bw3rOSHOL03rzhzTeGQvgUpSCcGeBDV4hxAniD9wIIsU5RPQGFrB/vwTY7crOAxlyRNOhHBOKegDhLqToBUH+gPLXE8Kk7JUsnyLJxPreW28jzX5tk2ThZOsGn7pRakpPnrkpulCpp6uII5wZ4MjtIvS8Dcrp6X0ZpdpBwboC6OFSp/UsNIDjvCXfEAAwP2zV2+Xa0Nl94G5Ps9IAYnE0ICkXi9/005l7ypaDYYH17hauKtBBrYUvqiKWXICjisiWD97coV88T/RgjyRKqrXzXy/LPe4yDqoMEj9ElylVYXLiuOXjiGcpqUNuBAHD/PaIsyDeayQ2+L176O2ZkqoQpa9ajbMlyZl8C8BsqkQfT9fYhAwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

下载复古经典任天堂游戏男孩壁纸 4k - Boring Day Arts

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jX1SQY6CQBDsxsTgfeEtxOMQTFAT+JX6JeEtetDIG4CZqj0MC+iqc+qkqyZV1aUAVFVmj+Q4jyuSqkpSSc4RzjlVXSwWfibp5wGtqgBGNAC/7rpORJbL5fjFpAIAAOectZbk+VwVRRnHcRzHRVGezxVJa61zziMHgkcfDycREQmMSY1JRQIROR5OnjMRuq4DUFe1iCTJ+na7e2O32z1J1iJSVTWAvu8HgrU9wN12H4ar5tFcLtc8z/M8v1yuzaMJw9VutwdobQ9giKJt258oMiYlmWUbby/LNiSNSaMobtuWpHMumCKXp2s8XUam3D9J2npJj/+SBtNE9dl0XdXgzPS7WM23WF8OV5bD4cryzeH+qqFCcGzOSzWCYJaNl+u79aV8Y3nV19tzvtR7XP0CAuh8NWjFB9kAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Awesome Wallpapers - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Desktop Wallpapers, Full HD/4K Free Backgrounds for Desktop & Mobile

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABbElEQVQ4jZ2Sv0tCURzFP/fqU18RRJSUtgtJ5NIkSFvYH9CSQ0NTS82Ck0NrLrnUlv+Ci4tFEtFShInNZmkGguTP914NpWnPCj3b/d5zvt9zz/eK+aO3oBTGCbDAKDC0l2b+LCxc8VpxZHFfEzm2GEBa5+Rf994piXfqTwrWYUX/rGR31cHi9Ke4UDU4um6SqRhmE8PEkTWVXFkjnKoTTtXJlTUia+pQN8IVr713D7GAA4/TQr6ss3feHCDGAg4AU13+JETTDQ6uWgDsL9vY8SgA3JV0fG4rieAEGy6LOQOP00I03SBTMfDPSuLrKqpNAJB71TnOd7gs6oS8ClsrdpLF+qADVRG9rts+OzOTElURqIpg22cHIFszOM12euEOOLh51NhcssF9m8OvJ/SjG2DIq1Cofm/DFKLPPXSzPRSqBonbFsmibm7QP+k3ZGuDf8E07ifhP0jgaSRFPwytIqWQO8DzGOJS++Ei/AFayn5TS9doTwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Alpha Coders - Your Source For Wallpapers, Art, Photography, Gifs and More!

发现导航 - 精选实用导航网站

世界著名的壁纸网站 电脑桌面壁纸 - WallHere 壁纸库

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABs0lEQVQ4jZ2SQU8UQRCF61X37M4s7DgYlmWJYjxI0LD4Czx71Ss3fxr/w4t48uZZI3oxxCDBsMDOTHfX89BI9Ih1+urVq6S6unB4dCB3Cb2T+7YBJEn+y8ipiPyteNKSBe+GImIWKeZ0ICIxtYBS6FAAyIrTQgtXzZo5yWRhtZyuj3eShZj6rbX9ZvRwWj916kkz2qyZF65S76rNZk7SLK6W0/Xxk2QxWT9r5s3owUb9zOkAohDdbPa9qzxpMbUAAJjFZB0AEcTUJot9vGrDIqQlyS4sROhFBND8MgB57iwaU11Nn2+/jqkXYG3l0dfT9x4AadlBmlmCKMVIqvo2LE7OPwZrRWTgxwrnSStcFVPfxYtxOR2Xkz4sAAVcSl1M3a/r7yEtKdKHK0D9VXem6na3Xp4uPk/u7RRaPt544XQwGt4/uzye1LvOFZREkbx69+rN3tnl8drKdl3Nvvx49+3nh61mryzqTydvu3gRrV325xRCENL1Mpzj8OiAtD5dC8W7ocJlLlyp6pP1+ufjMnuSgJa+FhGKicgtk3Q6zJchIpl97s7WHLcMQG5WjJvKf1zrb+JE/PdkwomPAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

DeviantArt - The Largest Online Art Gallery and Community

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Wallpapers Clan - Cool Wallpapers - Free App Icons - Cool PFPs

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

4K Wallpapers for PC, Desktop & Mobile Phones

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACW0lEQVQ4jUWRy29NYRTF1/oe5z76un1oq1qtElHPxsAIEyREYmAkjDqQYCJGzBASMxOviVcYmBMxYOAPMCGmbVJSVG9b7e2555x7vu/bBqdi7cGe/Nba2VncNL6duTPGQCkAreBV7q01uWbabLbRsFJGEMfQaiZVY/XWvuFoYEOSZcp7L7LBttmBvjhLuzPu3T35u7tNFureqF5nd0zu/2Whbg8dufjmbX14KHL5WpbdGT8+9fbd3EBtsq6fXL1nL0zJn0ZTy4Gs++7tR/mJY8pSmUoFJIWAWKVNuQKqwJC6lgrBWKuNyRmyJKFzJkDEeaVIrRSUkCEEEBCI1otJki3ONyTpkFqpt9ORxlA5reK1OFmL4+B92iIIQdC63GzePHTYPXxAE50a2/e8spq9/2g+zU2fjdXrS+fzxy/7Fdq3DgUGECCV9xO1vrBnt6buHR2bz5exsoItg+Ovzlxf+L48G8czq6txM70VJzh08Fx11/cP3wZfPO1mNeofvDF28vNc2nPtqsk77OWPz0aOvqls7F2OG492nq7evwIIAIp0RlGr1qX6atMLdfWtXiqXjfW0He0/s1U1s7LUaCRddQWCEJHicxGB9yVtYI2IGCHoQ8kYrU3FOV2KAIGQpAAiEBGAAlAEpCIJMkD+CQCA9U0AJCiCwiemQCgUKeKCSACKdBSQCCEAIIBi0TFBUkRKNDaKiuI1WEAQIbE+W7ZNrB8hc+cm2vvjidGZr1964nxg89iMj/FjPhjV6U3P6MhsY+m/oVDic93MSm1Vp9lKszIVowgCR3FpWtb2L+29QKybJsLyAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

57 Best Gradient Wallpapers for iPhone and Android

发现导航 - 精选实用导航网站

macOS Big Sur Stock Wallpaper - Official Wallpaper Abstract Dark (Full Quality 5K) - Wallpapers Central

发现导航 - 精选实用导航网站

Wallpapers Central Collections - Browse Wallpapers by Smart Groups

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

壁纸网站

发现导航 - 精选实用导航网站

壁纸样机生成器 - iPhone锁屏模板、手机锁屏壁纸模板

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC80lEQVQ4jV2Ty2udVRTF1zqP77v3JrnJ1TZKW6XSx6DSQqtmoLYYjODAkZKWgkqs4kQU8X8QHDjsQMSqAymV4EBLBR05ECRKaSNUB9KiqFET87jhPr7HOWc5iNGSNdnswYL9g/0jAEggCQGAfnjpCeSYqwfpcQNMxoRgaVatMd9F1hfc/R98enuH+De6NjdRZ/YdCz4Tfo99tmE4ZsasDNbrfm+oEPY022Mhat5vbr7Ch+fXAIASiKuz7dq3L/td+cnh5/2/4kIYSR3Uo6cb+YYvqk/WFtFT4U6NHKwe2Hvojqrb/zZLxZM4dnHDkFBhR9/2nebJulsOUi+BNZvqI1MtVQr1MFWuUmwMUnBYr+qs3ZiqlJ8nIFbX5h6yDfuNCRFwgPosBt+nYCcZ7X7TMZHpZvn3RjcV9vjIbu+SaUICmg1TDePTzjq+NpTD+S86y6s9l16dWRvfN53GYyGoAhJhD7fuvhNOuLU50n/zl6mlA62ufePQ9bu8Dc86g/TU1R/tn5cWOruCmB/cXfZenlxXXVg5K0rAMEY1zQAfLx83V7pH9uXrg3Jm/OflqdHfHnVybuLwnlon7h1urPSMf/C+gkqGhgJAkpKRCHg8Mr5Ufra6Mtzf6IYDrY1RWS9Wi+eG3qFRBlQxGbayZOtAQ0oCCQCkJJGeMfWjjx4xZC3brIfxawODW4lG1sDnTr4KNKIgbL+IBDESqMtkU85gstw2Y4SM4VtGwoLJLFNETJJIiVtlSlsYruWda2c+n8ica2U2GayksnrRHb1wxVHp3VDE56wlBUiCASQAIEBACoPqsoBfSXRp8JMtB1/aE5eW/mMsF1+4mHWaZ6v1oiLhSUJJ0Y9ltupV8/mx989gR7ZdMBKYIbxeb5aL2UQjk5CUlEBCIRHCPboxOyrNWukxtzX/l4/bi64/vzdY96H1doaGqIsASPLNjKGM0/7oe19JMCTS7Zdwp87hxrnToDmT6jRtG3YilOlm5spTPPLRHzsxAOAfWWWgmsbtPiAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Shots - Create Amazing Mockups

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3ElEQVQ4jYVTXUsUYRQ+531n13d31mnVplVLy0otTKWiiCSKgiDqIoqCrroIuu4ftAgVXVjQP+iiMu077csPktA+MIRay1i2XDZsZ2tzdx232RnnPV2khmJ0bg6cj+c853AegCWMiHCJGCMivjinLC4Mh8MMEWUsFqvWNG2/lPJjIpEYQcT8UsMWoBERIiLF4/G1Qoje4uLiGtM0iXP+hTH2EhEHhBD9QojYP2lHo1HdMIz32WyWUqmUlU6nXdM0ybZtIiKyLCsyPDzsWbDCXHMikfAJIW6qqrrJsiynqKjIyxgDAHSJyAUAK5lMnu/q6nLn2C5gkclkrjuOQ7lcrmCapszn87JgWXJmxnWIJLW3t19dvD4SEcKHTo9ZfeCi6lfP5PPTtqIoCjKOnDMAQOKcsfu3H7tPnj0qVKzUO3O53Nm2trb4PEr3d6rbq1qRIp/gCMAAAEgSAQAhQ/aqPyKH+sZoeZWXuZ4s/iqYU4aRPNHa2tqthPeA0nC64eSIv9G09x3SQvX1MrR2DQZDOiEC+/B6TI4NfKHG9VtBLQm4UxSXnxJD45OTU7k/R0wB+6Hau01nrGTiTdBKjX70jEhBgVA5ikBQ5g2HNlbWga6vgMlppKf3pr0DPdaNgfTlFwCECACwv7K06miN72GB+5t9q7fatXVbuGt7ARwPVFfVQpm+DiLvJuBW51uY+FFBFaE9BY2VnToXUW7i7B3YttLAhpO1y67RzExz3lth72g5yJuaWgBNDoN3B2n4+Tj5RSNTy3ZwR22B78y17ExmHQIAhAFYGABO1QSrjtTpHU7B3v4p6RbKyzYyJSlRi9nKBqUZLH89fBaV38bFqt6ox3cnEkt3zb/yLIi8srlc37W65F7Ay3YaSRu0bBC0Sd3wflvWE5f6wwduou8C3E0vqYU5kEsNWunhhlVhAK5lDW93NGb1Hf86+vNvHbE/HuV/BTavFQizDjjGF+d/A76eaE3Mucb7AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Free iPhone Mockups — Mr.Mockup | Graphic Design Freebies

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACoElEQVQ4jSXOS2+UVRgH8P9zznkvM9OZ0o5FMoBNW6AErYq3aAwY07hx4QZXulEWYOLKFV+Bb2AMYYMmBl3qwhgjSkyNSKIr7RtKp9KGJsNgp5133su5PI8Lf5/gR4UPAHNtSSsipYW0C4iIiEFMOpLAvqgFCmmDtKJ9VxhmFbcUWIEUCEAACBDvxQUJwkyIDBnFApPAEjv76Rf83W1+PPKzbXVmsfHqy3plhXo9ajQJgMCOJtpomIRKKXiz/++Fy9xpR93ptGJkW+HRkBtJdPaMOn6UpqfDo5G9t92+flWfWqKyyj17Lmsze/j/jELQ6xv4/Y69teb+uu8He/pYL1o9l35yEWlKB+XAiNhrX9kf1/ReHk13aHlBnX/JnHtFHZohpN5ViBJ2jq0DC9X10Gf9ybsfpycXqN0O4m22KVsPuZni6JH4xWfRnXH9hz7bmrp2NVo5TZUNrijhLGZnoBAD5MT/8wC3f7C/3fXrfR6XMnPIvHW+eel902nTxFU+z+sbX+tvfy72H7fmutHJeb36unrhrOkdE4ABBcg4D5pYQBMuzd/39i5c1sePtOZ7oZyMsvVod6CqQi0t6qefCZpkfFBtZM3Pb8ZLi1Qwi60lMJpNBa9hNBg7O27tzuSn7/1GhoOxe3IuffudznsfShpTxT7sjfxnX9a3flG7A99tNVaWsfqaev655KklUsQCxZA8d2mklKYyBHu/X39wheY6yXzPD4Yq27Q721pPuHdYL5/2SVIPd8P2g+7Nb+jEApV5EPZcWTwxZQgCmP193h2Wd3+lP/60GxmPD3SzRW+8GV36CNpQ7lzsmBEUJOIATZ6CShpAHABxTgSilDIaRSHaUBWEQ0DtYqVq9jEJEYnRKijxkNgwg6sycKCpJkf6P0nlc75ue+HdAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Screenzy - Beautify your Pictures and Screenshots Online

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC1ElEQVQ4jV2TbWiWZRTHf+dc133v2bMJipVjbSMVS0Ob+qgjmhl9eBCxPpQiQTRmLyBm9EFEhqFBDEUxLJUipKzAD4KvQSAIww/TBF0vBAWpzFyxpg734p7nvndfxw+3lnQ+HQ6Hczj/3/kLAJiAGMBLi+1FMzpUeR54rFqFtMKAenrqpnLo5AX5gYdCHiQvPGGF+ul8rMLbXnGVCphB80xoaILBG9B/hUoUs6/UR9cOJNwfYFJ+hmKN51jsKU9mhGpCaGjCbeyCxha41IstaiNc6MF98wmC48ipS7wOoCAWe3bFEeV0kiQLSE0NftteWNJucqAbPnwP+fYgfk1nkKmPkkjgtZdLdIEEXd1qyxTeSSfJRPFpFZn5FDZ7LjKZCuMjSG0RmV/Chm8q42O4YASELavn2RxVZaNzRGaYGaIeuz2EjI6A87DuLSjWQ995ZPu72PgoKp7ghClWS4d7snHHHoNp9zGo98jwTSgUoHVZLmLLLPh6P9weQgpFxAImgmCgAs0YEgwRwQCcg0N74czxnNCKlbD9U4hiCCFnHgIItCiAASI5tsoENM+ChW1wsBt+vpjXl5ehvQx3x0Ddf3+gBn+qYCpYtYK80gEHjsLuw9DaBp/vhiyDEGDpchBFDEwVDK4rgXPqkCQlNDRh69/HRkdg8xv59sEBuDWUb4tizCmG5RqYcU4t4wsLhJAhj8zAfIRc/Q273At3hsFHEMegalz7HUkSglM0yxjThMP63S9yPjP2Fwu4gX6yO8OE0nPIq53Y3AXYpg+wadONG9eEMycItXUEFdSMj079Kn8ImKx9migpcjxLWTV/KWHDVkLLbFyW5WbpPYt9uY/w13V8fR1UU746fVk6wfRfM5WwqGkJu6oTbCrW42c0QqEI//wNtwbzU3zEaJay8/SP0v3AwfJ/O6991lZM3OXNJKEd4XHnsLiGfoOeNOWz73+Svof77wE4ay2MNoWW1wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Check.: 做了一个壁纸套样机模板的网站,https://mjcn.club,方便套上AI生成的壁纸发到小红书等平台。 壁纸套上 iPhone 样机后会比单纯发图片更有沉浸感,更让人想拥有。现在的小红书大V基本都是套样机的,而且效果很不错。 我也在做卖壁纸的事情,为了自己方便就做了个小工具,想着自己玩还不如发出来让大家用,没准可以碰撞出更好的想法~ 💡下面是一些 - 即刻

发现导航 - 精选实用导航网站

初星壁纸样机|CX Mockup

发现导航 - 精选实用导航网站

Device Shots — Free Device Mockup Design Generator

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC/0lEQVQ4jVWTz2tcVRzFz/nel5dME5NQ28wkTatJqRaiaTYKbooL3fc/0BZBdGEXSltQENSFS6u48AfVUipi27E1Oi1NiMEarQGtViXFhT+KmWRCoJmZTN68mffucTEzQs/q3PuFL9/v555LAMhmR54wC9708lMA2JEkoX2htgDIaD97n5wolYqz3D408mTo3EUA20imkgwt/d+jY0hCkgfgAGw10vSQ679n4HOSoxKaURQ5SUjTFCAZxzGTJKGZIY5jdAYyWgKix8gDBmCCpI+ireDIkcO49s3XePedk3xoYj8WF7/T5cK0xsfHMHO1wLm5qzj89FOobFYDM/MAJowkAVASnn/uWfT0dHNmdlaVShWXC1c4MzvH2mYNl774SvsfeJBTUwcQxzHMjAAYACAAmBnn5+f14083dOrUhxzK7cKLLx2HmWFwcABvvP4ad+64V8ViEWFXV4cJmRveLQBI01T79u1lPapjubgCM4NzDu0aAGBs7D5EUYTbt/9VGIaUBCMpM1MURTxz5rSOHn0B6+vrcM6h2WwiSRKQRLlcxgfvv4fjx45pY2ODzjlJUtAmC+ccFha+x9LSLYRhiPbzgQQkwbkA16//gL/+/ufu+vDIHkmCJGUyGXrv0Wg0QQJmrUh47wEA3d3d8F5oNGJ12Lm+vv5XSWKzVmM+/5mGdg7h0sXz7Ovtx507G6jXI4RhiNWVZeTz5zS+dxznz33KgcHtrWDmhnenwyN7fP/ADv/rb7/7crmst06+7Q8efFzXvl3Q9PSXeuTRx1QoXPHValWlUsl/9PFpn82N+mxuNA06ee/qCnj27CeYnHxYtc0txnEDa2trKm+UkSQJS6VVei9F9TpWVlYBQADEbG70F5KTEpq1Wi1oNBoIAodMZhsrlTLIVg7WSsu6cCGPpVt/4JWXTyS7Ru/vSpLk5l2fycxSMzPvPSTRzNSG2PatI0CXpOlWM00PuahW/bO3t2/R6Ca897k2cZKk9x7ee3R8mqatjYUb8ukz62vF2f8A6CG0i03SuBgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Bigjpg - AI人工智能图片无损放大 - 使用人工智能深度卷积神经网络(CNN)无损放大图片

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4jaXSTSvmYRQG8J8HD5Ekk5eZLLyEWJjV7MySKF9hmrUPY2nBN7CxU5KFbGxINLGlaJKGYUEeHjbnX//ubjauOt3d933Oda7zwifRkNy7MYRzfMMCqnjEDXZxhtsioDEh+IJpDOISdxHwD11YjKQ1XEFTQlAN9nschZVxiN6wY6gkDi14+qDkF/zASfGQI3hEPRPcgd/YwsV7BE1RY/m9inEsYweb5YB0ClP4GhO4xzwmcY1VrKfqUoIJDGAUe2hHM3owjFasRTOzGMMs5jJ/lVC0je/lmst4yfSlQB0bcf7CH9RS59cgeX1PIvbxF305BZXMdqaoRT/uZOS2RfacgraY0BIO8L9QUIk51/EzMtRiEjN4DsKnIDjESsFaLM1IOLSgM7auP4hu8FCy0+gTeAP16Ea6ZRH4EgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Photopea | Online Photo Editor

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADDElEQVQ4jUWTX0jddRjGP+/39zvn6NyZOlMXU3MGNpnUIFdGq1gZjBWjoIIRRQhBEF3UVd0J66aL6CaIoD8wgoi2tqJujGl/WIFtpUGjcDSZZZppeTp6POf8vu/ThYHPzfPw3DzwvnwMYHZ2tr2nq+u5vDOMx5Rt2f+u7cYyL+S/nJiZef3+oaE1+3VpqbO3re1TS5Kh8wtzlD0SLGBAMMMAGbiL6E4B40h3H4UYv56enz9u5XL51aamphfu/eS92uTC1UCaGmYCjHpNxMwwg1xBhMTI6jqwu9MvPfp03jY3X0qbkvTQ9N/LPrl4LdDSmqQYWb1KzmX37LlB/c27bbmyzvjSvNbkpMUiP638wecLc/5gc/tdKZJXsswsTcyArLLBna0dvHX4qPZf12lEhxC4urbKw+fPMrNRwnI5ah6NiAXATDJh8lrVhlvaNXHshEWw45+9r+Kp1zh85m1M2NkjD2mnMElmUQZ4AHPcASxx6c3hEZsr/aPbPnqHL5YX7MS+/fy88S+PTZzTvl2tYaSjS9Rrsq3HKAWBBFmdoY69dnPbHh4Y/5CGXJ6pY09wY1s765Mfc3r+inm9ps6GRkNuSIArBRwJ3Onf2SrV61xYWbRHevvpK+7iwAdvcHllgecH7yAQ7IfVZUhyuDs4SuUSLjBhyMxdaQjMl0uY4Mm+AZpvOsgzg4d49/L3mlr7y0hzZB7BLKYml+TAVspipCVf0Pifv9krM9/ybP8tlOo1Tl78Sidnp7FCQaqsb40qkgrkkgLY1jUEUiCf14u/XOTlKz9S80gtqxmNOzyBIMxcEhY8rdbqVrAgj1FRCjFGLARhWFJopKwISUJSKMrdzUOQYqa8BUVFpYul1W+GuntH7m7vievr61ES1WpVbFYsJrUtniSimZAMd93eej1He/rC74tLF2xycrJlcGDgdFOxeN+1tVW6iy1MryyxkWWEELY5NCGJPMatnXuplMrnzlz67nEDGBsbaxgdHX0qjTpYrlZoa9xBYgGXjC0q5QJwQhJUcp/q6ek5BcT/AEQAqyv0uVORAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

TinyPNG – Compress WebP, PNG and JPEG images intelligently

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC50lEQVQ4jbVSSUhUAQB9f77ZpanJaSqzTbLApbKcDCpCoZLIILq1UxJ0KAtKo1WlgjwlYXSoPBRGtJptJIatMhahZTqjTsW3UnO+3/l/1v9z5nWoGerQsXd/Kw/4XwiEQkUjur7BIHM9pJmkCEAAcNxqtVb9k6iqg2maolzxKQr9mpeqIlMdVoYikci36upqCQABcPOmjQ+bmpoSYrwpeXl5Y0ju6/8iGX29Er9Knyl9clNVZGrKELXhIZJkVVUVAXBNwSpmZGQkAsA1AGpFeXk/SSqyh/LgAKVPPfQM9NGneRlDOKCRJAtWrpABHAEAZKSn02azUfZ4qIeC1LzDNPQwo5ER+n0qA36Np09XsqKsjOQISfL5k4aaWHTT1JQUZGZlwZqUBMFkgtPpwtIly3D99m0Y4TBCoTC6nE48eNyAsrIT0HUd6ZlZa8+Wl48FAFNDY+P5aCQa1A0doxJH42ZdHTSfD22v32K8xQzrBBtKS0tQtGsHXE4nPrrdSBiVOGH5unX748vX1NQcivVMmTaN+WsL+ODhfV48f47Hjh5j6owZvHW1liT5tVdit6uTzY2P6uICJFeQUfZ0ubh3z162vnlDr3eY2QtzCIB2u50k6e54xxdPn7D9rYMVB3Y/S05OzvktoM8dMQx6Bgd/xYj8iC/vaHEw4Pexu8vFg7t38tK5M+xoaeLJowcJgCYAEITR7ZFopD8hwYRQwI9mRwtKS0pwr/4uetrfYVluLvLy8zErKxvrV6+Cq9uNC5drIYoihD9qHAZwKuz3IWzoaHvfjmZHC169fIWli+3YsnUzvLKMyspK1N64AwAQRfHvG/dKUidJGsEANa/C7s4OOjs+8LWjmdu3bWXsxhMn2mg2mymKIuNfLi4unj4zNTWpsLAQqqqirbUVwWAQFosFHln+y0iAgDmz0yAIAuICfQPf70aj0Un19fW/4plEjLOMjZMX2XOQPW8eVE3D7LQ0LJg/H5MnT8JPbLra8gg0m0gAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Convert image online

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACnklEQVQ4jXVTSUiVURT+7j/4prT3qLA0pGmRljaBi0qwiCzDDMF2SQmGBUlCmyLihRgNbmoVhgsriKzAqTCkEW0TtVBEjUAsSrN85fBPd2yR75H2OnAW95zvfOfjnHOBBaYAAgAvjhb6VQt0Vf7HW8qhYy73X4sXjzeU1PZeKD2WDBMFtL/f/zD+bCg+H/ZrdaMxpyvA7ValZACCCs7kyI1h99XV9uEZBRACqHkEI9HCcCTkr0815EnquZxIZqRAQHEGcArGKGwm+wZn/bU7bg48n6tVWly2JcwNuvBOSGcW3HWUcCzlWTPSs6alY88Kz+MsSFTeqhT6qKNiUz4ApQCixaVsrOvuHfzBSm2XTgaVY7qUOtMOt6c8Yk8xU3ChmTGXOCGCcKaPnYur1xMDjMJYeenT0N7cjN4lxCn+YPkftH6PVI3zUPMEDdxJBc1OM/U1DiOwmJYRysq+u294dCrpWtoqcrYYpj/9QNP7rnjsdnn+6vQ0sd+lirnSoINWsC3a+vIXAYDP9QfzAj5ZqZjHpeRa+0Tqlarr7d/ixR9P55z5bOuduxr7hxY2IwAwWle0Jyuid8NzASLwZdJ9YnC7UVeO4lQKU8NlKC3cFwsc2t3c/64F0A8DIkHQcbwkuD0z9iZisFzLpZ4PLCA4gxQcQigwQbipEeMnNcY+OUblzqaBp/HhawogJY0d9vi0d9Z2PG8RnAB1bcE9T1AqBeUQTBDtl0u8sK5WhAhu1ZYVLE96ia+rNxWtDdkXdS63AsTkkkBIAiXBfQTGGPV97bEWV9fc63kMQM4jSJznulO+hwVvNpsallKpEwmw9frMNVeakU5rWVnd/Wdvk20ufgtasnjrkW010bKCrXONkmLmWRTQVPSPz33jhMqF2N9aDlm+XFfI6AAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

donaldcwl.github.io/browser-image-compression/example/basic.html

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Ocean Black - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPadOS 17 Stock Wallpaper in High Quality by @ispazio | Dark - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Apple Tower Theatre Wallpaper by @ispazio - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Holo Pattern | Whatsapp Wallpaper - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPhone 15 Pro Max Concept - Graphite - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Dunes | DUAL - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPhone 14 Stock Wallpaper - Midnight - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

macOS gradient wallpapers for iPhone [Download] - iDisqus

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRUlEQVQ4jWWTT0hVQRTGf+fcef/kqYFGtLCigqBNUNiq17Z1L1xIgRBa4iZo47JaFAQhtLMQwUW0EBVcJO2k2kSIuKlNBK9NBAWpofe+e2dOi3t9vOrbDJz5vjPfnG9GyCGAAXBr+RK4mygNCMeL7RZB3kI2z/Pmu26NcICRmRqDpx+DTuJKJYIHs4IqoBFkaQphlh+fp1m8u190ua+MnK0wUFmh1n+FeCcAgSyN1CcAhKgMruwBpdqn7G+/5mdylcWPSQTrRuPGE3r6r7O33caCUu6N+LSGrUxjm0tQ64Nj5yPS2EjbKT39Z3BZnY3JNcfE6jCRTBHvegSHoRCMaq/I4EnAsFo/BDNAERzxrifSKSZWXzjUxomqJdI4A1FEjSwROXwKvTgKZoSBE1iWCKIGIpgFXLWE3x9XxBr4zMAUQTAvlGrY1038q4f4tUfYl/dQqoEFQRAwxWeGWENBhgiZ5J2xIsz/IeSpGLmLXDOknfzlYJWcKNIl/qcmnWNMwVqos5yAdAT/OeiIBTNQZ2AtBVnHOQEJhT3rPKBu5LXikhIKzbrS9nOkcYJq7tNCPu3uJhbIa+QcVSGNE9p+TplvbhH8DJV6BGSIBCwIkTN1FVNXMaJS0dgCkFGpRwQ/w3xzK3/KF45GDB95SfXQNZIdQDKyWCXZEwAr14xSLYA5Kn0Q/1riw/dRNr75rmmNREyOPUDtDlGljoVOQCAgCj75TZCnzC7cg0V/kO7fuL18DnFjwGWs+M6iLeANli3wrLnVTf8Dz+MJt/sFlxEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Imgur: The magic of the Internet

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADQ0lEQVQ4jS3R3YtVVRjA4d+71tpnnzlzZsaxsSPp+JGiTEUmJHWRXYRUKkIjgiQiZpRdmBJURMQIZWKYkKDBRIUXUuhVgQXVhfgBEcIQgxYqmOQ0Ot/OcY6zz95rrbeLunr+gEcAaj/u2epKyXuxCI8JagUAkf9FABUUQCHgzGWfF4dGNhw7JbWf9mx1xn2DiNE8RGMQH6NEVYJGIkpURVEQNMFpuZwaVKMv/DZno+nDYrQZfJToMu/pTCpasSV5IKnS7lqo2BKJdYpG+ev+hFxrjPgkLTkrps8BK7QZNCZq27RM3yO92tOxQOakVWa0oKmRQiCIijVOuynLzkuf28Hpv7XFpSuchuhsainqOY3jt3Xzt6vlMwb4+voAc8pVChHUGsQ6ciPSX3tOeyrz5dLUDSqaOmPKRnU2Uhwa09pYi7yy71M2TXfzTHs3U817aCyQEDAhIsHT9LmooIqgqBp/18tU3y1mLk3L+pee5pezA0z+Psr22ip8nqMhoDGgwSMhkiA0Qy7mvx1xxcEJju56jR/O/sbBj/o5feITzPNdvHH5NKlzxOAxQFTF4kjVUPcZRkARjLnqianifeRk/8cs2raM7QMn8CHHRsX7nHrWoFHMUlJoEcNE3sCKARSThYLdu4+w7tnVLNixmM3nj6PBkypkRUYzb3K0ZyNr27uZbjZok4Tx/B4Wg6IYZ606W2LZ4of0emOEsZm7lDFkRZM8z/ji8S10Xcx4J1nDjoWrqOf3acRcrTEoqJmdLeSFdU/y4aGTsnZokR5Y08vNqRGyZsbJp3biz4yz74N+9u/7kjcbq/hjekjv5vfFYhBEpC3tLWrzO+zQ8BidHVU5f+6I/vzgdVlerZF/N8WWXQfonNvG6D+TPLxxibK3Q+6FTB0GFQmmpZRca620ypz2aljZs5AXN7wvi86V9eZXN9j08n4OH36dJ5YuxT1a0fqrJZnRJlZtoGQFuGZTVk6MT8xsrlQqdv3GNfHChSt8f+ZXGb4zye3hSUZvTHFrXh337lwptSdKISqptSgxEPba2fDnlarruTqbFcvPXRycZ1RMe1sLra1lmRyuc6ergXm7k6TDqWYKVqJYM+gL/9bI+mOn/gWZFaGEUyA9lwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

30+ Stunning HD Purple Tone Phone Wallpapers

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACt0lEQVQ4jY2TMUtjaRSG33PnRqLCTGVlFK1stFC0UpKQaBPBTi5WVsYfYGG3uzM4hXZX7BTsBBGConDBIIkiWKRQCyE25iYSi2Ay60RC5Oaedwt1WJcp9ik/TnO+8zwg+YnkV5JVkr7v+z5J5W9otVo+SZ9kjeQ3kqaQ/APAVwBQVTUMwwCAy8tLuK4Lkujp6cHo6ChEBCRVRAy88k1I/iD5haQahvEpk8lgY2ODJKWvrw8igmKxCM/zmEwmZXp6GiR9AIaI/ISq0vd9JcnNzU1GIhHd39/n8/Mza7Uaa7UaG40GHcdhLBZT27bJ111VVYlWq6UkeXZ2puPj4/r4+MinpycWCgW6rsv7+3uWSiVWq1XW63VGo1E9OjrStz9RUVUlKXNzc7QsS8LhMOr1Oi4uLuA4DkgiHo9jamoKgUAANzc3sG2be3t7EggEaIiI3N7eotlsSiKRQKPRwPn5Oba3tzE/P49kMond3V04joNms4loNIpgMChXV1cQETFJ4u7uDt3d3QgGg+jt7cXJyQmWl5cxOTkJAOjs7MTa2hoWFhYAAP39/cjn8xgbG4MBAKZp4uHhAYVCAel0Gul0Gh0dHXinvb0d2WwWqVQKxWIRpVIJpmkCAIQkXddFJBLB0NAQurq6EAqFkMvlsLS0hLa2NqyurmJ4eBiVSgWVSgW5XA7Hx8cYHBx8lcf3fVqWpQcHB7+sS6VStCyLs7Oz3NnZ+fV+enrKmZkZfXl5oarqhzOGw2Etl8u/s5gkWa1WGY/H9fDw8F1t/SDS1tYWJyYm1HEcep737waYyWQYi8V0fX39g0iiqn8D+PyucjabhW3bFBEJhUIQEZTLZXiex8XFRUkkElBVlVfqQvIvAH8C+BDK9fU18vk8VBUDAwMYGRnBf2cArICkSXLlLdH/m/MPkt9JBv4BpIho0YzrPsQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

01-wowpapers

发现导航 - 精选实用导航网站

Wallpaperize Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Cool Phone Wallpapers - Aesthetic Phone Backgrounds - Its Lit 🔥

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Iron Man | Marvel - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Lake, The Beach Day – Official from iOS 14.2 | Stock Wallpaper - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Traditional Chinese Landscape Ink Painting Apple Bundle - Etsy Taiwan

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Relive the Nostalgia with Sony Dynamicron T-120 Video Cassette VHS Wallpaper

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

LCARS 2023 Star Trek Wallpapers | gedblog

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAuUlEQVQ4jWNkYGBgOF/K95+BDGDY/YmR8XwZP1maYYCFkZGREv0MLIxM2A3Qa3uHVfxSlRBxBuAC6OpZGJmYUAR0ml4zMDAwMFypE8VhAKp6FgY0ATjAJY4GcHoBJq5d9wJF/GqTBLoB2G0iVpyFCYdCmPiNNhkGBgYGBo2qJyjiRHuBkDhGIN7skmdgYGBgUK94jNUAdPU4wwAXQFfPeKtXkcK8QGJKxHARAwMDw50JymS5QqXgLiMAzbscf1WKWFsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Download » ArtStore - Beautiful Wallpapers

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jZWTX4jUVRTHP+f+7vxmZmdad9yadm0N2cRQIyOhl9KwXoRKkTCCoOilyB580h4KXKiIgqAewqiXMuq1iJCK6C0QM3c3cMnUaVUo/8yqM+Puztzf757Tw+zSRk994XAPXw7nHA6fKwBmEw4O7Qd2A2X+kazIbYV3BXhPRH4AJvz1Vnjf/r9aZvYYE2/89GavZ2amamaZmcWoGlUtqlo0+0/kZhaWmvziS8K+NEVBRFW9OIcT+dfiqoYIiBMD3FIYMOpLYgMaTVwiOOfAjB8vX+XrP66zpVziufvGcEnSrzfExJavISJivurV1EwcQicE++hcQ744dpabl+HYHbeyoR0YPTFI5aGU+gNDWDQkcQhghnOVJJI4Ryf07PCZU3J06jR7yTny5EayrvLdi+eZPDjN9GeTZBpwIojmxG6LGBbNrXJRQp7x1YXfOHW1ybYQOPDUo9w47pk/26HyeMBt+50rMyfBFYkaaHx/mEuNSRYXOrhhl/Fr8yJnFlvUb87z7CP38/ORJp++dBzrttn6wjo2j9apJVXipdM033mePxszJGmV8mDdu0Le5sLCNVSNe2oVav42vpyYYmDrAmlYZDAUqBRSarPTnHt6B43Gecb3vMrw2s34hMwN+Z4Vc6A5x6bVdcR5urHH7Jwx2G4zNrKKwl1lkr9mmd2wnfXvfmtrRsekUOwD66vlyIO3jzOe3GLr164jLRVlz8eb6B09wc5d97JmuM7c3rspbXmFHU9st4pzYqomzvWxvvbh2z2L0fosqpmZ9iHLVnpL0r6hukxlw/m5ky27OGM5YAgKogaKJxogggGqoAgRkRxZpvGT5NDD5dw1p3Ymq0eQgSHEckQDogG39IoGxAISezgyXHYDup0PSKuvCUB4a2SfH0hftqE7a5IUTa0/Yvkzm4GI9QH2fj7G9HP/zDevC+jfCEzIHkv+fzcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Ship & Swans Light Blue Wallpapers - Light Blue Wallpaper iPhone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Wallpaperize

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Classic iPod wallpapers for iPhone (Free HD download) - iGeeksBlog

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACi0lEQVQ4jW2TS4iVdRjGf8/7ff9zPHMcs+ME4QQVOIkcyEUtCqqRiiCIZCKkqFWFBKHr3LV0a9NiFrWRLnQhGMKgs8hxkgxy18JyEYSXiJKZUc94Lt/3f1qcMVz07h/e5yoAG0kYwL/xBJk3EfOuuA9AictkVgk+1F7O3okRW+fzTLGT49S8TanE0DjLAAqLpqDymIIl1nlXj7IJIL9HsEDLLb5Wm+e8pmyTJWLrCzbGZAWhjsM36ekWL/Ewm9qi/T7bOZL/YWiRdFvQBIxu85StzFgdmvRZ1F6Oyhd4HHEGKVEC2ZBlArkGFUCNrYkUW1l2AGMy8+W45nCaIX3xqasvv6N4/SCcOGnWNqAI/NoLsHYd9X7EgyG+a9p651WqQ6+Q6jUOR4gDDHFKxL274NvTcPon1J3D19bRqRV09jz+5SJ68hFY/RlOLhMgYw6UrpilltY3zF/XoN2CXTvxGy+j3TPw4G5YXkHTbby9DZ0d8OLTiIFFzWzYQDK//g7L38NgCM0EFy7C0ufwVQ/KgNEILl2dWDS1DfCkBEHJFUpcFLiRoK7h6t/ojz/xdBtubMJgiCXUnYP1G/DZKUzLVnAlgBUK6Z67yXP3w7OPQXcP/uQblAr8/FO4uwdNT+EPPoaHHoCDz5AJCViZxBicySNU1YrGNsd4hENQjVGzBdUI1xnKEqosNxsOYhJjaB/ngKWYoWwUrvKYnApRhGg2ca7kshDNJBUBzXDFDgCWtI9zYSMGHPMGPTo0JJFr6pxxzpMKGpwzlS3ToeE+PQYcs1FIWPvp6yYL3GJRyXW0KaNwSJMaKxzRplRyTZ9FXWdB++n/t8b/mfNbwLxrZgFUcjmb1Zz5KHX54U7Mvz7fN6zfi4ePAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

GameBoy Wallpaper iPhone | GBA Famicom Edition - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

02-bestwallpaper

发现导航 - 精选实用导航网站

Ultra HD, 4K, 8K Wallpapers for Desktop & Mobile | Wallpaper.cam

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAx0lEQVQ4ja2SzQ2CQBBGn9wMp73TwTZgYgV0QA1GK5ACKIAGtAmudMDJGijAhCteZpMvm10k0S+ZhHnzywD8qEPkrzvripBbRIF2R3Grg+INABbgaM9P4B3Fr98m1DZhBfodG+HMSmGTNKkSNaUYsyQ7S6iETYniEJsBvIBREh/Ca+GDcJ+CZ0kObDFfhw2ba5kuwu/AS3y9GQCdBG/C9UbBusRhwVYNSUGnRIOsmsw/MApvthog7+mFucR9svLxhU199IX+ow+Ipksw4z4/ngAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Stunning 4K Desktop Wallpapers - Free & HD Full Screen

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Nature - Vector 8K - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Popular Desktop Wallpapers, Images and Pictures - Download Free Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsklEQVQ4jVWTO4hdZRSFv73/x7n3ztwzucMomkJkfDNgIcEgNk4iQopgZ6GN1qKlYCGexoBGESwEC0tR1CZJp2hACwVBEwuJzIBIUBLJDMPNfc05//9vi8z4WO3mY7MWawmAGSKCXT/H49WC5/c7TpdObhezLBX7MfKVRj5eeZpPAKxBpaEAyCG8c47XbcardZ8qC0w7rO9FZhMjBkDAHF+myMtrp7nSNGjTUARg9wKv1Mqbc4WwypZFzvrIlTzn+OIvmjSRyjCGPXwH11KPU6OnuGQgsviW9ekOlwYjBtVRSq54MtzFNxxo+h3vVVNe2hvTASz1JMyS/bo65JhsMtHFmGfq2xiGO9GUmF37nh/sIt62qOwiXoTfXQ80CBrx82zt6hF5YNzyAoBqZMXfAaWQXGBp7UEelU0SX1Nkk9R1PJEMXDRxETTiElZwPGuG82GNTIXRUsRRucjbtsVJuY/x/DIndcapxZxMwAGiIB2Ieu69cZ6BuorfyhyxQuhm5NDnWNvxWXuZ47bgfVUcAVwEFzEJiHgEj+wFRKY/clQyP4fAqOswMSRUaMq0JGLKmOq/XQHMKZoKu4MV7talR/gz3eQtn9A8oXQ3sbZlZkIwT3EVSEC0OvgesNDHXOQ6mX21Bh2e4OyNP/iw1xLEkd2ASjxoPIAjJh7RgImnSI3guCAbtMJ/tPs5Ly7dr++6Hr5kkP9dASjqwIw2deXh3gbbCmCf4gBGj/V/8kvLitWmumwiNSI1UAssGwyL1rWzXL3W22DbGtQD8AsGkKY68FXtSiYZ5kBuBVcsoerdEdWyM/8gPLT3jhkqcrCFw0UCmrfv+cKNBidsr2SzoiIiMlBsP83Mpm+49atn7JY7A9B/3AmIkJ0fP5fH5TzSU3XLBmFCKx+l2WTTrV89Yw16CAP8DfU4LOFrYcKVAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Heroscreen Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAApUlEQVQ4jZ3TMQoCMRBA0T+TqFh4pL2BjaWCCDbexcpGD2Ch99A7uYVsxkrRXZNN9kMgE8hLFeG+POJGC4zAd4JhCNFEaB4Hj47XqMxa199IPCfAdKuE5xXvwKxsBQOxoFSXHXV9ZuITz8VTAKrLZiiin91ARH+mAYh2TgqRLlCI/AcKkDiQiaSBDKQf6EHygASSD7QRFQiiqf8W77Y64fycpt6/AGwlXQXtuVx5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Post36 - Google 云端硬盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtklEQVQ4jZ1TTWhUVxT+zjn33TczeTNm8rMwMgzUhVWKjotutAGlVhRKKW0tgnEhrtwKapGALy76Q7sRXNlNq4tKbAvRnSB1U6EtSKWlUGml2FaCzSKZZJz33n33HhdJNNCsPMtzvj84fMD/h9bZAQB0nZtZh6zbvjjwei93h0PmCACqFdaLAw+u0sTDW6uY9dwIALZNv9lKotov891uwy32sQCLt+vzuDR0t/u467dvPIKHK2AFAH5GT5eVqxSfJ+HGANuszHyRZEVx1vyeifGN4SqmCNAVLJ4LpGCkCJ1v3tktRibKXuFja2KXNOyJxiO7Oe5WskV4I5jQGeymFEHTZe7zBAqKAn8EQAAEFdGkWZs9PvTPLASBgEAEKQM+Vl2bYMV959fvHeVYxn1elgDIVIW7Uj81utifQg1MBHIZSmPxmp/B0dUUBIBemt7XGOLBe0TUCoX3bCWC6s8//frKq/oopfIgfmRGp8zhTAQB8Dc77MD76DIAbfLwSYltOxQ+ACwkjCA4gzQt6RKcIXwAYSggrkDgGG0YnCRAafv0W1ti0TvqaRBBPVclKotw9e6hmSNIp8whANfSc0G/3XAFlaXDRR/OsAoM5jnoLmp9+MM4u+S74BwRASxE7UrrvuXGgkcQA0WPbNhcPKhf+O3dLcF5VQJiYTW2v1e6tz7/N+4MdIg2bs2WYt+kUW5Wk5EAbGLQWICMVdVt+iMaGRmc7aPz1+3AbkzcnF5v3Lj3KQPkOZ6bBHp5xXoeTdS7su98/qT0rl+GolfmRVY28yfuy5eP+f+GWmx4Ic/rOgmQCqC89P3g43jXmag9OrwnsZYhViSKmSPLHFmmqMIxk8zVahxV2jT+5+XP6rfvf6VYfiMAJYB0/yfuDaehCYVnXtsTjxBEQYXknMzfOU03FSBaU6oXnqcPZiRKuF2x1gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

壁纸 - MACGF

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4ja2TSWhTYRSFv/9/r69/mmZo05gQdVMoGBUp6EZdiRPoQpQ6oKLghCsHUHCnC3XjgK66sQ4IFoqo4MaCQ+sAgiIqWBCs0lZtwQ5pmzyb5L1cFylYbHXlgctdnHu5B849MA2brXL9X2hos8od9Y850cZc3R0I3N8OEgapAKmcwjsgeuqGmtIFZF4stqbLcbrVxMTqd6VS8odSxUoR/1M+n+p0nL5Vvj9rIJc7fhKUOylNFBywAQtGq2x7AM+rG4faZ56XuFEs1rWIRHRV1fOr4XDzTmPajwLJPwQAiGXM9b21tfu/Q2EJbNoImEkyDN+W19Wt7Y3FVvSBJMqHwYae+cFg62rbPpTWOtOUy23dA04v3H0Feh0MPoG1n2FHk+seOeg47deBPCgBlI5GLz4MBLou+X5ik+ct+JLPr38BSz3oaIXbTxOJDgsqSzAqrruhHfLjkcjhc47TuxDEVsa0rnScD/u0HllWKv30xsbc1zD7E2Q/wuY+iGTgVgxOd0GVBIPXztv218VaD8z2vMhj9due2xsaGy+3NTWtoLPzLZ5nGBrKYtvVhcFBNzcxIQUR7fp+xCkWG1zL+lbt+8mXNrRZIqqolHR43qMfuVwmWl8/R9LpeiuTGaK/v99paFjkDA+Pkc1+p6Wle0ipYzszmeQHSI5MKjil4SS23XzCmLNnqqtHCyIhHY/HtdaaVGquHwgUpKfHd9682XYM9l6YwUYUSDgavXglkWiUVKpG4vGQxOMhqakJSjicFss60wwSKmelbOMMfy3GmAdbjbmzq6KiLy1iF0Xq3+fzW25ms8vvgSrM9Moz5SIIhIASMA7q599np2FanNXfIv4LkuH+RJk7XFQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Top Wallpapers - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Peder Mønsted - Sneklædt landskab med pige gående på vej - 1923 - PICRYL - Public Domain Media Search Engine Public Domain Image

发现导航 - 精选实用导航网站

Artistic Ocean HD Digital Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Colorful Earth HD Minimal AI Art Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

2932x2932 Earth HD Colorful Paper AI Art Ipad Pro Retina Display Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Wallpaper Search: like:7p1v9y - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

long hair, looking at viewer, Pixiv, anime, anime girls, umbrella, water, heels, flowers, leaves, flower in hair, rocks, waterfall, dress | 3186x1826 Wallpaper - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

03-wallpapers

发现导航 - 精选实用导航网站

wallpapers

发现导航 - 精选实用导航网站

CNET: Product reviews, advice, how-tos and the latest news

发现导航 - 精选实用导航网站

The Latest Technology Product Reviews, News, Tips, and Deals | PCMag

发现导航 - 精选实用导航网站

Our Solar System — Google 艺术与文化

发现导航 - 精选实用导航网站

NPR - Breaking News, Analysis, Music, Arts & Podcasts : NPR

发现导航 - 精选实用导航网站

The Difference between the U.K., Great Britain, England, and the British Isles

发现导航 - 精选实用导航网站

four-day workday - Google Search

发现导航 - 精选实用导航网站

five day work week history - Google Search

发现导航 - 精选实用导航网站

inflation - Google Search

发现导航 - 精选实用导航网站

Bright Side — Inspiration. Creativity. Wonder.

发现导航 - 精选实用导航网站

Verywell Health - Know More. Feel Better.

发现导航 - 精选实用导航网站

Lifehacker | Do everything better

发现导航 - 精选实用导航网站

VICE - VICE is the definitive guide to enlightening information.

发现导航 - 精选实用导航网站

Exploring your mind - Blog about psychology and philosophy. Articles and opinions on happiness, fear and other aspects of human psychology.

发现导航 - 精选实用导航网站

Microsoft Accessibility Blog - Making technology easier to see, hear and use!

发现导航 - 精选实用导航网站

Fast Company | Business News, Innovation, Technology, Work Life and Design

发现导航 - 精选实用导航网站

ExpertPhotography » Photography Tips and Tutorials

发现导航 - 精选实用导航网站

News, sport and opinion from the Guardian's US edition | The Guardian

发现导航 - 精选实用导航网站

History, Travel, Arts, Science, People, Places Smithsonian Magazine

发现导航 - 精选实用导航网站

Investopedia: Sharper insight, better investing.

发现导航 - 精选实用导航网站

ABC News – Breaking News, Latest News, Headlines & Videos - ABC News

发现导航 - 精选实用导航网站

Worldometer - real time world statistics

发现导航 - 精选实用导航网站

Xtreme Download Manager | XDMAN | XDM Home

发现导航 - 精选实用导航网站

Breaking News, Latest News and Videos | CNN

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

英文网站

发现导航 - 精选实用导航网站

今日热榜官网

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbUlEQVQ4jV2TPYidZRCFnzPzfns3NlokpYhEghAIwXWRCAFjpY2dWAkiKIh1CgvBgNhpFZuAnVYWopAishgkQpYFQQRZXEghKgqriUnMvd/7871jca+54jTTzDww55wRQLA1sHX2KL2JMQWbG2IsAcDmQ+IehYMfbolPp+U8EgSAAOKJN04x2GUwo3snMEidUBBuSIXw3+lxlRwXtf/eb6xqCdh+ZZu0sQcO4RACJcBh6stOAm1ArwcUe0Hfv/tjgAwAKx2NDY0dzSdsnGB+k5i/j40Ny8C80W8XEidI+cPg9UEQS0B0oWJYNqwEQzgqO/w1XkD5EhoPSM3x4sTdCS/n2D5yGmAJGOZgBVQ7aXLi3hdM9SK+m7X70Zsof4I3YTXQCEMT5BP/ASyWAMuBN6HxmvY+vsadB315Yv4OLcBGYSVQDWycrQFU8AJeBYvAyktx9vlj+uX6Is68eARrr2IllsvF0GiQf2Yp7QpgAeEG1nF/EnE1zj33DTE/jdJT9BrIxDAYU7tBY+9/gA5hQZjAgpROonSSPsHUAvMAE/QFxnl9+/ntWJkNQwVNK1ct6CY0QVRADXcjJpBDK6/p6y8/+5eW7rsQG4CJbuAuenuL8BnJ3qHXTnhH7qT++CqEsRaxtbgvkufAchB3drSzewHyLt4M5UC54/18PHvmaUGsk5hCWHOsCquGZzFwNEDE/G1s7HgdUHaGOmOYPoitrQfWSay9EfxBcBP6nzDdote/BaEr+ztEvYSXu6geMi0OsXqKY+3l9TM9xozjxx9mliEDsxkc3vhV11kAxDNssvnoI8gbACU5oayv9n/6B0NOO7mYhb9bAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

今日热榜 | 一为导航

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACB0lEQVQ4jcWTzUtUYRSHn/d974yj11tZmaDVNI5E31BIRVG0SXIl1ExqKkT/QMtW0VR/QFAkLYOKahYJ9gFBheSi1tEq7EMlxbIPbe44ztz7nhYOkUO1EnrgHDjnd87iwO/A/0b9oRYWkqoQpHJm6cimMQ3gAlcVPAY86WzeON+bHCj1Jgeke8MmwC1r11aDlwVTeUIT8FZBledwbuZEsg30fpSAZcjcGBm2cBYIgRbgA4AW0DOd8Xbpayg5mn6BfP+e+gSovV8KAaB4Ojk3ZuGUATRclnSL/z2VaBNQTv7Yul210egjiNwK7NTppOvYnublHUUrxnXUG6x9efz5xCqgKYRJ4HwYlSueMn359PpWR0eoLoS2qBU9flf8dsxx8mhawoDc6Oz8yc0PPtYqeAjgai7luhOHcyJ9WlRJG6lRnw7V19Y0ekMxo3b6AcVAbGRl1OjX3+az2++PN2poFagWePG1KzFebXRKKyiF8mrOnz2o1wx9zlkrFxRoEXFiWhtExjqeTYiCA0oRE8hldtSN1EVNKh8IjlJabHixfnD6hxZQy+68H/RLct2NaCeqVFAIw8w7P3QVIIIChs9sW/GkaLFeldZ+EN707o7eW2S2LJhCT7x9KhXfV25tAY6WYyvAdHrt7kLvhiNS9sC/qLT433qLkcyCL35bMOVQLDyAlswvfWn4CbV0xUZt23hWAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

今日热榜 - 全站热榜

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACjElEQVQ4jT2TTWhUVxiGn/fcOzMZJ+roJIZgjEYQgijiStCCKxcuhFq6sC1Z6UqwUAoFQVEX4sYf0J3oQgQVreJCFBeCgeKipStrwW7aVBSCRo2azMy9c8/r4sYsDpzFOe93nu/5jgBaE96mwFEimwQ1CQSJjSj3MRoDtumR8rzIOPvumu6rtc/bQo17iAEXICBGiIZKAt0eANRSFpJACSC6MeP7oIqPIwackwliryA2arjVjztdPNrCw008nxGznBgC0QUZkRqJT6bARhfEJCHtZGjNIP71F9Rfh79f4K1j0OyHB38SfrqEZz5BNaXiSJS1IZXpA4LBSYDZOTTYxFkOZ+6i/6bhu51wbJ/5MC8duID7KlAYSRCinSJAuDBeUkVL62jyL/TwD5h+D6fvwLP/xa6teOVSyHtIAEZBZY8IoCxHo4O4ksC/09BowJIaJKFcn9rlGQVsEELBlBECigLWDSEbfn8Oc+9g5iPs3wXjI3BtEmbbuBIQlFpTBWMLQqlufDVIcGgPfPsVrF0F28fh+iScvwfL6qjwYk2CTJTAhiAYG4Ish1tPSozVLZidg8NXoZNBmmKXAZZwMIoAhXG9CqOr8MsZuPIIjlyEny+XGg/uhnYXBxafry9FrYUJq9fwcBO9/lCqGh6Bx0/h6RQc2oO3rEcf2zh86YEhGPdsLFDeQ7PzeHgFqlWgKHA7gxM3cDVFpyZwCOBYXrawBn7If1Oa7lDhXtZTMjYEyxvwbGrxI9HJYfPakv2fVwCOBAVi8VLNb97sTfubN0WSYmI3Q0WEehUFlb4l3O6W4H1VLBEIEDszPwqg+fXURNoYPIrq65OST9GIBTQLBxamNQK0X8X227Nvb4+c+wyjGzAI92qC4wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

即时热榜-今日热点,热搜,排行榜聚合网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFklEQVQ4jV2TX4iUZRTGn3Peb+b7vplvdmZcc9Zdt7YWI8ElI6IiEOuiCKxASiHsYm/WQLyJsCLQyboT6c+dBla49AepzbsIZa3AIoxAEOwiWdpNK52Z3fl2vr/v+54upq3J5+pw4BwOz/k9hAEJwACEABnsL31UGQ4cvGR1flxb58FaVR2KE9xhRe+nwWECLAC0mus2OQpbyc8vRmUZqa/jz2IrH8DIol9Sn8ICYWJ3rd8bzjlrCwiw7Zn6lFsuvCm5PKHZzMIU766IPagyGRPRE+zwy8UCobNiP16/N5yTJpgFYAE4fG7jTMV6l3zLz+gINxHzlGvoXV/zWLeDvKLUfrFoRJGFgp4VAQGAQ4BtPYkhR2hrmtpjPWtPbSjfuNKx8PK4tk1DHQ0CfiDs2LQQoJiL/VN09D0RBIDw8lS1XozGT6uQt5suP+LFzodhb+RnP2p8bbqFkRtZa3vSk+9cza4vTKzpq/o0lpt9w0Er948fcVx+0ZbNJ+Jan0pi4UqGkmwIqrSnq/MXnOH4nCX/qgpsQTv6oHHJgrMv69PJgkOJ2mNz+1blwtJ7uEXdfY2rcNUb5dej2eWmd8ZJ+Vlj1GvKMa9UKsmiCIiRcENF5sf5HXD6zwCkX0NnuICUqgKQyulbr6AUJ+qHoZnwJO2GIYIwUjhJyKuPnofubKtV5yfgXQ9Hi50dtVoh5lc5pssEiOmRxipAPXtcAJJm3wOHQGGR1ZgAl0M7dPThRu3p1DUrjhuMUyZRZtLHAQAZT6620G1VO2eHAEGzTytDcIVI7SRA0lQOm0T+Kmm1WTIcitvxvbXTN38CAEr5KRNj9s4mkn+QBwCwiH3bEE2366O33/bL4rWsm+00ifxOq2rL8Pn2EgC0dzWe55i2eBkd+4/8fwkGwrG7Pi8S39fW+rGNfywsdO4ZmfAD91fNeCcP7JlSIN8kyh6pzl07LAANho0EoOuAX980+QWDHsogp5SS+cTPXa+sTvpl8aKiOVE+u7RvMHD/u2BNyejkASE64Dm0OYJ+P6/oc55HVe/ibyduZWRNfwMy7XT2KrymjwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

今日热榜

发现导航 - 精选实用导航网站

How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

KeePass实现Chrome浏览器自动填充密码方法一 – 奶爸建站笔记

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC90lEQVQ4jYWTW0jTcRTHv+f3W3O3TJeztS2XeRldsKxWVlIWSyga6UN0I6SHlKLsIQiKbhBUTwZ2gQp8KAoaFEVQdNGU0OxCBl2R8pJOzemUWM79/f93eijJosv36Rz48jnne+BI/FtLAUwF0AGA/+MFABAAmACHxTKhesP6kuHTp87H/P6iWgCusZ5RyT8BklKdlVkZacXJ1hQkjk+ijIzMaR0dnZP6+nqv/w4QY5sfO+qyHIaFpevztGyXSl0tDynUUa8tnpvmBTCO+dckvwDoO4PCA1+0oJYl2joV6o0kkD1jmaive6wBICLivwL4yBEBAL48j2nBlAiVFOXGy9bOYY/jK61avcQ81vMniQAHJHNAzsu276it2hPj0G3m8D1+dO244s31lAcCLJlZjh08ehDinxEAADk5rvZVhXlpZDDj7oNnwabGt67fBhIA1o0WBKzxbd61ZXKqRa0/VWFYEbWmZNUMMvMAfCNm61eL7bp1bUl09oSo7tzZM1cA3Py5gCnF799bNXQvNMI7y3bwYaOTL033MReUMReU8qUZK7nCPZ8Li3fzg89xrqy6PAypLwYzEcy2Ofmb9tbNnTExcbihWll3v0mkTJ+Nt/1tMsKAFhcwqAq8zkwt1v8ZhzJnavsuVibUXT4fPVBeViATHdnzpDNnS2rnS3ZevaEr9PqEXYuJowluurOoiPoWeikci9Ky1nZKdrpF7E2jrHjaFTfbzOMiXS13xVDw9UieVsMeF1FjjoObW5q4fFDFi80nOX1qOsPo4ORjF/iERcP796+4xiW4MD1I8dbq+KfWT4pQVZUOblxA27Yup+RZboR72vF80iLkuk2EuIL+iAqDFCTz/eju7USSOxG7S5fT/u1raCg2RDoAou5lm/SwmUyS0K2TlKoOItj8CtrzWzSixvFkmgvjP3bTgBRkkJLfNQeptWeApIQgAHa9XuY77VaSej16PgTZaLRSSAOghL9/nNEGmxZBRInCnm5jTQEFQ2FWFK3hG0BvPQUTgoe9AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

教程

发现导航 - 精选实用导航网站

品玩-有品好玩的科技,一切与你有关

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACH0lEQVQ4ja2TS0iVYRCGn/m+7/9/PZLZKtCjGCJUWxcuXQslURS0l6BNdIfWQVCLLruWEUgXKwlamLSOqE0U7SK1tBKEQD36X2daeE4GCS3qXQ4z77zzzgz8I8RAOIoDkEkqgF+xSYwhPD31fUSAilKFgmT2Yytf/tbBRnvqdCQfwNoJElHoSXk8d3tLwaHeAaJoGK0yVtNpmVlq2JHuvfj2YbRYIMs+kdTeErlOSp2G2cP4/jFKScgbzx2xGyFxE7hwjzjq3uSNDtIR7uDDNaoQAQGzBhvFONZ/hVpyH+eOk8pawGyFXBUlI7LmSLJKoRVKQTAhuBqlniKWAaJwmrViifV8XGaWGgF8jiGIBQjeQEAqwAGO4Hej+oKV9Qd0dbzEAWl5UZ4tLBo4R2n5plsIVRUJGEaKmWAkoDmN8gw7apdp8wNk5aRMfb5r4ATUgeVgihDwltpYbzeifVRmCLvkyeIrEjdI4k+wUX6jyM+1FgTgkCIDUaDEqBHHN/DSiQFKbgfqgwR/C4BSL8jTr1+a3ZsEtDU9YJ0QX8IxisoqgiLmaA83SXwvefVQpuYnWtJbdxDQrEDiHNiJk2NgyzhroFRAH87tIau+kxZnf5fegsOqLRODA9XrqL7DEaNiiEBRnW+5Ln8QOF8i5ERilPqGR3NXwXvMlAhHqRPbSd8a4f3iPPvrI1gck6dzAmrlj9dI1xAAy43Nx9mm+L/gJzhY/QXbkyLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

什么值得买 | 科学消费 认真生活

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADJUlEQVQ4jVWTQWhcVRSG/3Pufe8lk3SSTtUmmVQXaZXYgGOibaKILSoKCioaXCi0AXddNwXpRugmdeW2XWRcKYpCN0IRKrRU22BD0kaDbYaCpkksWDKTzMx77957jhsj9Vt//7/7CP+iABGg6eTE/kj0OAkOifcVFYUyL6jQXOp9tefi/MqOCwCEhwjvj0+T6CmytoTcw0cdUDaImtsACM6FB14wU/jhl7M7G1aAASC8N17lJJmRpFByqXNZKw06Mqr23LeaFveE1mbDBXCpk2imcaRSVYAUYPMpoG7yxZNGw8mw94mcP5slub1s5dY8AYB59yNQTy/ZDz82YiNpz/3sdnV1j9X7H212/rlx1abvjA2x6mlpZ6JdRYPdexhxonzsBPHYBNQ7SO4hF75Wd/UKa0fBNNNcoHp6c2zkO45MNMXGFH2rLRgaZl35Xf2NayQb63DfXwBEIPc3wAcrxP2Dqu2UnUC6gKIYTLF4PQwXVMkQTbxM4dYNkrVVyN0a7Gtvwl+7Ako6Eb89CRoeodBOSUHkgqoKDrOCKr7eAB0cJX66AjowDO19BLrdBD81At3agvvpMvxvS0CcAF4UQSn1AhE8Y0MI4CiB+WAK7vznal56haKpE9BWC+HXRVBPL9BdRFj9Azz0JIQMGAxSQIOA0U4X4r4y3KWL6r6qkipBm02Y58ahWQZ6rA8odIMHBmHKgwjbTfJra2pzB1IsWtjkOv5af9XfvqNIOpXyDFKvE2cZZP0eqLcE2tsPvzAP6i7qrulPQANlpfPnqLVSu87k0tlWHhq2UGDNnYgIcW9JKY4BMLRRhykPwgwdUC6XyY49LyZOuBnFjbx2d9Z2XFqqNY6OnilE5mzebOUIntA3wEgzjd94C+7yj3BLS8gXFylsbIg0tsLuNIsz4MzjQI0UYAKkfuTZanG7dax99HXowD6XffMlq43Z31sFBIKOTiEyUY+1+Fvpi/6bN6dARP+LafOFyjRn2amEbSn3AZko1FjECpigSIM8cKIz/cvL/8X08AEB0PsTo/uty4+r0iEJWtEgUNUFUsxlaV7dV6ut7LgA8A9TRbIkiB/PvgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

站长之家 - 站长资讯-我们致力于为中文网站提供动力!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAi0lEQVQ4jZXS0Q0CIQwG4La4kMkZF3AinOPWcAncABpHcQGRe4Bw2ANT/jfg+9M0AY11MBVjXWoSQogeo0dxn2Oso7bMzOd0qcfT/XkcQCM9Ck3pUtDrUhD6hf7omDmvROKBlm9XXx/vnx2UuhSy0+h9QlcDgNCdHf7ks94mCllrC1WrCq0GAJz93htemlx/Nw7NbAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Solo 独立开发者社区-链接每一位独立开发者, 从 Solo 开始

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jX2Tu28kRRDGq3umH9UeM3cnj/Yxa1vy7uoYm7VkLGxE4ARhJExAQESGkLzmTyBAhM7uREaASHBCbBwQIAiIzAoHIGxHzjZAwlzifdxMz0fg2ZM5cVdSd9L9VdXX/StB/w1BRACgdnZ2esPh8DUiklmWXR4fH/8qhCjoZQFArK2tvdtsNr+P4/ivKIrKKIoQx/GThYWFn9bX1z8EEPyfVgBQ3W73sXMOSikYY6C1hrXWG2NgjMHc3Bwajca3+/v77nlxmGXZ4+piWavVTlqt1mGtVvvZWgtmLpxzubU211ojTdPvAKjKMtH29vY7zjlYayerq6t9AAEAASBst9ufMzOY2TOzt9Y+ZWZsbW19MvOtW63WiZSyXFpa+qHKTEQUVOdcr9cHWutZJ4VSytfr9d8uLi7mZf/j/sPJZLIppSRr7R9EVFRiT0SSiPIwDM8BkBCiBCCllGI8HvcODg7elpdXl6/mef6AiOjm5uYtItKVOCCikojMaDR6Q0oJALeblGWe5+Hp6WldFkUhAQRBEOD6+vrNdrv9xWAwcADE4eHh/cXFxUej0eihlLIkIimEmFmH957Cbrd7eX5+/s90On0AwA+Hw892d3ffV0r9OZ1OXx+Px10hRFnZEUII8t4LY0y5srLyNwEwaZr+qJTyzrmcmf2MAWMMmNk758DMsNaWdx7x97Ozs3tSCDFtNBpfaq2l9x5EREEQlGEYFkEQlOK2Z9BteQDwYRjKZrP51cbGxpNnIHU6na+ttaj+uXDOlXcXMxfM/FQphTRNTwDoZyBVSczy8vI3zDxD+C48pdYazjkkSXK8t7d3/0XDFPR6vY+SJPkliqKJcw7OOczPz+dJkgw6nc6nd0B7cVxdXdksy96L47gfx3F/c3Pzg6Ojo1eeG3siIvoXsuwwBwy7yPsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

(つェ⊂)咦,又回来了!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAADG0lEQVQ4jQEQA+/8Aff79/v9+5LhlzXkE0QjTPYZDAwEC8Xtxez97E8XT/j9+AMEBgH8/v/+/gQEBV/GXwMYWxju++1AET0EGxgaFyKk5qrV9NU3DzT15PYKFQuR1I4w/iIKDhL/BAMA/v4wETAB6/nts+KxFAgUEQIOOxg98tLTle2nBeAW4brb9kgASRkrVMkP+n1bAcjUBTMqAQYEAgDy9wQHBDQPNDEYOP0CAg/r+gWp+t3T30VWQxTWD9i24fs5JAL+/ffW2vD27P8AAAIwPlPxue/eDePBv58C5O3ZLRiow8MX+Q/Z09kS/w2vt77UHA0FBAXuYj2t7rby+vEDJ1ijzL7FAN/fO/QWGCIin6ypojSgwTzDvJjEvWK76C/nJMwe9Sr2CfUDRxxGk9iTAvbduQ0zWKC/BGa/xucN+z44OxH9EwjlBFYiGAniBAvwDC80MicLJuD54Pn8+XUsdQJ0VCPx1q8yRFf2C0BbY38NDQg8vkecjEmg7giPlT44r0I3NzYfCSDs/O78APyl3KUCHBge9ubm3MjLHycu1/IXq6uoFyUS+kIg5RINB0IqCx0GAv3+APr8QQo7qt+pJxAnBAAdAAUWB///Afz9+wwNDeHi1/Hy9/5NS7DfChIfJfy3tcGGkz4sMR0IBEhAQBoUIwT7F/r8BAAHAgz4+ff97NXr/e3+AQLY0dI6Pj/b19fz6OulANTZFgoTEBFgGEr8/fwDl4SYtuGR9e0J7dnKPBzxWFpbIyIi1NfX6Oblzc/PPDs7Tk5NzdHUrrOw9/j2OTg5AZfamBwMG8GEwgL8/y86Lf73/gEDAfwD/bCxsSwrKiQjJP79/sjNzx8aGcvNzCotLAH////w6fGFqIPhFt94JHq+6rwTBhQ6FjsBAv/9/v77+vv+Av7i5uYQGRYXCw65u7oBseGxEQkR2fbZCgILWh1Z0vPSEwcT7Pns9vz3/f78AgICOhE6AAAA/J6z/1hBBQoMAd3y3QL/AgD+ACAQIPr6+gYEBgD/AOP24/8A//7//gEAARsKGwD9/9fJubQPzl4ZY46he1piIDWyAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小众技术工具库 | 专注分享实用软件和精品网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC9ElEQVQ4jV2TTWhcZRSGn3N/MjMx5mdi0kZKI80P6kKJWmKs8S9CxYpCXYoiSC0tIroq2IUjbgrFQne6EYRQDKW40I3SdqF0EUMSTUI7JlibNNE0TTrp5M7kdu7c+7qZkdqzejk8H9853/u9Rq0kOWaW1PRQAq8qYbc5GAmricN53+yne1nv7obCsI9U6tSVudmR6clfM38vL5EoovuhXgaefPpDSRPAcTP7uX7GJJmZSdIwcO7336Y7Tp/4TMFWMQ6CEjfXVrlzJ+T++zLOW+8dcY5+dKwKfGBmX+VyOcczM4Vh2AN8t7yy0n527EyltaPL797zsLsdlllY+JOdO3fQ1trExtrNaGF+3u3r7/8yiqJrvu//6AB4nncCaD/zzdeVsdFR/+rCHwS3b9HS3GQH33zDBocGmZmaYvGvBe/7c9/GShI8zzslqQlJj8dxXJYUn/7iZPz6/heTMNhMdE8dOfROPPjIruSlvY8m+cuzVUmqVCpve8CImWUAPTP8PMFWgYnxcbr39Kq9s9NmpiZpaEhr37Mv2KWLF4i3ypRL2wIEHHCAXjMTYNn2rKWbs7o0Pmmzc3OWSqVZvL7C6NiYOQ1pSze16OjHxxh4aq8L4Pt+j1O3EpDrehrZN2QWljSfv4zrekhVos11+nd1KZfL2buHDlO7HcA1SceBz4G4miRuYfGq2uJtJ8p2aNs8yziQKQcEQYmwJZs0tz1gvuclZuYAPzjAL0AMOJ7jWOOOB2018bR+u2RBsST8Ri1vhaw7KbV3dlmD71NfGbhgklzgIvCcpKqZubc2NylsbFAOAltbXSGOKhp++RUy6TSSEjMz4AYw4JhZDHwCVGtjVbOtreb7PvMzE+rb3aXHBp5gq1gEsBrvAJ+a2Q0kObU8vF/3fDsMo3z+SlQJi7FUjReXlqr5fD4qFAp15GQ9Q9wtJO1PkmS6TgVBoI319f8+U6VSuSbpcI01ag/xvzhLagQOAq8BPTWbrwPngbNm9k89gAD/Ah/Lu7htjeb6AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

异次元软件世界 - 软件改变生活!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACWklEQVQ4jY2TX0hTcRTHP/dud07dJprTtkqLelCuhZAVQY2hJGosjKZUD9GDUQRFBr71JL0UUWC+aS8lPWhiKBGJlfhoCCZeMoSk4d9N03nT/bn708NczlLw+/SD8/2e8z3n/I7AP5j0ac7u8cD9YU/YMaNGswDsZp3/ZIFhqLYk/WmxVRpM5QvJhxqP57UMqu3dYwFX/N+sKeRa2djXWGFpMAuC928CNR7Pa+xe/jQyo8k7aLeg1C4pLe7scrMgeEWA54Nq627FAKOzmvzs42o7gDjp05xvxgJ1ACZ9lJtlemyZ0f9E+RmJmEVKxHqUoGvCq1Xp7DVNj5WFiAzgliXuOvZwviidEc8a3vXEiIpyYrS5c3EcNrGyrvF1IQZALB7PEoc94cpkFUkUWF7TUOYCtNXnUXEQDlkivKi38mMpzOLvMDph09WXaa1SnN1YVRKRWJw7vX7eKSqPXFbOFEo8eL/I7Z4VwpGt+5lXo2ni9mMS6P++TuvQEvecuZwuTGOn1eptZp3/58qmC70o8KTGzNkjJi6/nGN61cfD6lzyTTqkVP9AvkkMiacKDEOp9rMzJcoKMrjV5WVKlRiYghtdXo7a07GaDcRSrJw4YOgXvvk059XXvz4DWKQo148beasE8ai6LdX2ZUa5VGLk1WiQ5VAi1nElp1oAaB7w9/YoQdcObW4LV7HxQ3NlVpUI0FhhaSi1S8puxcdsktJ0znINQAQwC4K3xZ1dflE29u2mcmtd4g5IvcYkJuaDFzrHQw3D05pjYeOP7DXrQmX7pX63bOyQbWmdqfw/Cxne8dCeVlcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

小站

发现导航 - 精选实用导航网站

Emoji大全 | Emoji表情符号词典 📓 | EmojiAll中文官方网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADTElEQVQ4jWVTXWyTZRR+ztuvX9v9hM3BsjV6oSYaftZmSDe7tVOUAMafrqWLcfFvKu00jHhBCCYG6xX+hBDCDeNCE0KQGy+EBJkOaV032FAcTbfgqmxituzHDRi6td/3fu/xYjT+8CTn5jnnec7FeQ7hf3h6+0v+m/OLHVJaQd2h3y+IkF8uTGl220DlfZWfne850Xd3lAAwFYWxWMyeGf3jACvu8njW6g0+L9y1awAQpmfmcPlyBsNXR00hxNENazfsO3YssVTUirZEQn+8KXzm+dYYn/06aTGz5HthfdubVuG2d9gfiCRjsUQJAAEAaGwOf/pcaCfncuMFZmYpJVuWpYolTVNZpsHMzOO/ThTC0bc58ERbNwDgqW0vb/T5XzDP9aTu2aqUYlaKFTMrZjbu8qnUJdMf2GG1Rjuf1G4t3IzX19dpW7cGlVKKT35xGlJKevWVCAgEFgSMZUCzk9CImCuqEGxpsHm965DJjOzSTCmDjT4vE0gs5/M4fuJL5PMFRHc8g9LSEjAzqOcUOHkaCkSWxw99vY8bfB6MjFzboum6XlNbW00A2OVy4sjhBElpobS0ZOVWRKD23eBQB2xOHTbHCu+urSYQlWv/zoBSCo8+8vB/csHMUFU1QFUNsmMT+HNxmv2b1qz0FEMzDGNmemauAgAx/yO0LAtCiBUDaUGzazj40RFUrCon/6Y6npyaYd2hmULT7OmhoQwBsIQgnpub56WlZdhsNhARhBDQ7Bqy2Z+RHc1xNPosA6DBwWEucTkvitUVld3DV7Oy93w/hBC0d98Beu2NPdw/8ANu317EwsItfHWmFzs73+OWgI8CzT7qSw/Jsdy4qK+v6yYAaAxGDlVXrX738KH3DSKyf/zJUfppeIRdLgeUYhQKBiLh7di7J043bkwau3Z/qJeVu86d/KCrFQDE64mEs6kl+k0o0snJ7wctZubZ2Xl1IXmRk6lLfOfOX4qZ+bsLAzIUiXMoEvvlypVr7uJHAQASic+dqXTvwXx+Oe71rLM1Nz2Ghx58gEGE69d/Q1//j5TLjcPtru55q+PFzs2b/RMAqGhAABgA2tu7tvw+NfsmmLdZyloFAC6XwygrK0tv9K4/vn+/8xRR3Cxq/gZYvbxpRSw4agAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Apple logo Icons & Symbols

发现导航 - 精选实用导航网站

MSDN, 我告诉你 - 做一个安静的工具站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACD0lEQVQ4jY2STUhUYRSGn/N502szxCDmTGR1hVqUCS0EI4sSiqQSC5IWBeNCKNrkIsilkAVBRZugQEKjMsTAIELDGhdBP7QYAqPAdAJHBEknm2a07tyvRXOdm8xE7+bj/LzPOXA+IauFY1YYpAMwEYnG1y21bb0Z/wpw+XFReMnMnEfwO5pxneFM1yE+AxgA35qtOo10i4iR5VkbposNoOn23dK66dJ0t9urBEsb9AB7ABSAUqrVYwbAETkyca4iOBVKt7pmVwK7L40QzAFE224xZay6oR09gtaxH/gIpI0ZDe8yijYg6YHY2Rei4YbqqoXYaxHxa/T4WEVo365br+Juc38/RZNruJpStP/ZjicXD9C0vMGO3sjYcKi+FhgUzVQwmT7e39JS5AK+l7A5KVQ6MOoTumrmOerZJKeG60PVMd/6xsnTNdfcnH5GH0LIjWMOPVUH6XVjA2DtnfETs8Xl7RHRO9HEgGXAl19lA0FjrtZUdAD4FaPeoQpgtqTcQrRJHlmH5x6RYciNVzYpAE4GrijHHswHADA8R1ydFwA4yqCQFj1z7b+/RA7wLyXsQEHLfwG8U50VtXyASp7qEm/iRaY+UQieA2h5CYBgMJ/oCNyf2LTtwdvqjX3vL0ScvYtAFMDk5/78gFOB50A7WmaAzgRlHz84WzobzNGBe81nP71JbW9E8xCw9TBh1/YbqbqoHhHn6oAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Greasy Fork - 安全、实用的用户脚本大全

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWklEQVQ4jZWTP8rCQBDF3+KiKQxJMChoIbKVdxA8VMADeIUUdpbewBt4AFshoPinUBHRSAqLfV+Tb1HyRx2YZtn97Zs3M0A2FIAJgBWAZ5qr9Ezl3H+L6WAwoGVZBFCU09yXQoglAPb7fe52O0opyyDLzM8AGEURa7UalVLfQIwSNRwO2e122Wq1uF6vDWS73X6CKACYeJ7H0+nEdrvNZrPJzWbDSqXC8XjMw+HAarVaBJggdZi2bRtIo9Hgfr/nf8zn8yLASgLoAUAcx1BKIYoihGGITqdjDDqfz0Vd6yHts6Hats3b7UattVFwPB5Zr9fzFDxNCa/pOA4XiwVnsxkvlwu11rxer/Q8L1MCUiMKnXZdl4/Hg1pr3u93uq5LIcSbiaoMAIC+7zNJEgN5KceM9rQMIISg7/uM45gkGQRB7kgvPylxHIej0YhSyswof6WkdJle4qd1/gO5YCO0UWoSswAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

PowerPoint Templates and Themes | PPT Slide Templates | PowerPoint Slide Designs | Presentation Backgrounds | PPT Icon

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACCklEQVQ4jXWSS2tTURSF1zrnnptnE7WxTWpbK1KxtQWp4EiqFFHpyJEgOBD/iE5E/AWO+w/MUEciWgdiBUsxtqaooU9jtSTNTe4992wHfUDFrtne7LX24Ft0ZRwhQgTHJ9D6gdQpBquSHkBQ0w/vHn2tDa9+pIQceQytOfqUdptHfwAFyI9JsIJEkeGaJEpor9GV4YQiB8kAQQoBJ4QVKMBBFCmiNDwAOiEwgNtPFqADADopUIAABCiwkA48CL5UM5++d0nMhJGEiXqOReNDTVLml7o2tkzHmjAitIwPNs6fbnFjxr/95PKDyW9TF+uEimJ5NV8oz5WccHps7cbET99Q4N5Wup+9ODNz/73XUwjvXalNX6v39bRdmyopXvev2opnrbo1tTXcH7iAypdssV5b8bxGRyGJwWKrUk3DhwPgofI5fX1o8+bZ9cpiChoOgI/Fr+lSIsimoB/dQSEXld/0si1B6M1+yNeWzaW+rXwqmqvmV+spCpeW0y/fnZgc2DQ6pnsOGmw39OzrzJ+GyiXj0d6GAyBQ5MJ6Zsd6hu7cyVYuaUMLujJEQI8U+b2A5g46AuxjSRkQANC2iB1IKAAkxIoT5oYJn86S3DO0QjRDNkM6we5S7QEm6ET76L+AbBZxtMscJBRFUQ76og71LRYaKY0im6PYPc8/UocmQmLQoDiCdIbi/mP4Cxdq555GkbmfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Download subtitles from Youtube, Viki, Viu, Vlive and more! - DownSub

发现导航 - 精选实用导航网站

ProcessOn - 我的文件

发现导航 - 精选实用导航网站

Hoarder

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

✉ Guerrilla Mail - Disposable Temporary E-Mail Address

发现导航 - 精选实用导航网站

临时邮箱、十分钟邮箱(10分钟)、临时邮、临时Email、快速注册Email、24Mail--查错网

发现导航 - 精选实用导航网站

Attention Required! | Cloudflare

发现导航 - 精选实用导航网站

Moakt Email || 临时邮箱专业服务

发现导航 - 精选实用导航网站

Mail1.io - Temporary Email Provider

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABfklEQVQ4jZVSu04CQQCcfeADCgN3cjEUSrTBX7AzlkYt+AB74yNEjR+g8SyMBUH9CWy1g6jRH4DC3F1DAGOhwQQhwt6uxXFITjRxmt2d3dnMzC7RdAP/AfcGKaWUklJKKe3vSUD5cwLQvkApNT+fSiaTlUqlVCoDIIQASAlhSFcBBHimzOIcADTdiMYmc7lzpVS1Wt3Y2JyMT8W0uKbFz0ZGbeAJcIDTsXFNNzTd6FmilAFIJBKmeTyTnMlmc1BqemkxGh7/uL9XlkUDGTx0ut1IJLyzvTU3OyuEWF5d4aFQZ33907KCoT3cXN80m810Or22tgqgK0Q+f+Xe3i0MnKGDgnq9vrd/cHh49Pr21mg0TPMkk9mt1WrkZ61+Etpqtc4vLkvlMme8UCx6XQ95Bw/KL7RQKAJgjHnLXwV9MMaG8sEMwduG8T2B7TgPD4+27fz00CakQUjb54n3+TjnjDHXdYUQAYEh3Qmp3il5oexb8AeUV4ZvbHjoQIBBl1+HUIfoFURH2QAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

临时邮箱

发现导航 - 精选实用导航网站

玉豆分享

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB4ElEQVQ4jcXSP2gTcRjG8e8v98ekMU1CEmnSEgRxqCCUIr1m00pRcdBBtOIiKEJydCjiVAR1dBNJF3ESuzi5KHaQ6mRQqKJUKxUkkRwWsUmaNL27Xn8O0rTY2qqLz/w+H3hfXvjfEX86KHPGKTwOgQzjF5fFrcJXAHXbotl3pVxzb1pVB6VTw9euEC95GnBmW0CaxpRVdXrUtI4v5GO56IACCGqrMy1A5vpHEewDeV/kC49kznhl1d0eEVFoPxrB/eaCELhvmxDRn2+4gRw2usrfnZKiCaxFl5rj0R0N4OkQOv4TcIsO7iebzntTrZ6vJd0ufEmdT4xLQBOCYt1hprKEYksWHlewp5ssz9qkQjuur1+zBcisYYrBiXMdQ4nhRFijN9bG5wWbmaqNsgQrcx7JsD4rxl5c2wBIsy+DwC/ZH0WT08ETUeJta8j7SpPkTu2jyBf2/nrotRuMZALWvL2YxHeXfPpqY7JWbjycZ67iYssVDjx4t+nPtFbAls+SQe0pusySK90IBrSDu07GLsRDGl1BHWkag1sD+AdEvnAYVX1iCe8iA29eciw13nE6dsdzJcDZLQExNlmXI5kAoCYbe1Sy6VGyH4bEkYlLqUhgN4jXmwG/jTT7e/+q8K/5AXzmsIjgOiEFAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

首页 — iKuuu VPN

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

vpn

发现导航 - 精选实用导航网站

8866-PyCharm激活码最新2023永久免费提供_pycharm密钥激活码_Intellijidea激活码_jetbrains相关产品激活码

发现导航 - 精选实用导航网站

云萌 Windows 10+ 激活工具 - 首页

发现导航 - 精选实用导航网站

激活

发现导航 - 精选实用导航网站

自动发货发卡系统搭建教程_小红帽技术的技术博客_51CTO博客

发现导航 - 精选实用导航网站

Agiso 阿奇索自动发货软件

发现导航 - 精选实用导航网站

自动发卡

发现导航 - 精选实用导航网站

贝贝BiliBili - B站视频下载

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC2klEQVQ4jQXBS2xUVRwH4N//vO6987jtMNNbSjtlhlZFKQVttG3apELkEYhoiCSQWAMutGxYuNFEVsYo6cKVCTuDBU1GmqaGEDEGSGUFCZQSaSGMMzVoC/Q1HWnnceeew/dBIkTc5oAA6mwVq48yIgAuRciSEHAAIoCIQQKKHMZKBpbNT+7b+7YXV4FZNPzy/enMzVuwCTBUBgMCAgxJgGtmEmH73ImPBkXilfn1LUKlOb2bTLmtG67/lSWjlBE+AhAUoAFujDxzZP/hchHF0p+NsW9nHzx3ZXup1OV5K5HQZP4/h7lVU2EwDKhxsNSGTQNNyUJ17UqD+nj055VoaGhkdGS96Gv7g/7dVsj5Xy9LpjjgCw5hsXiU3AJkOH325u0vjxz7pWf38IfHhn+9lm1JDo+P1dl4p7fL1yUjBGkOYzgnPbhte/Mqn5S493h6j8O3CNX6+sDx7848LTy5cOLo0Gs7V5m+nfvHZgLa58VyxW2L98TjzZa7tcV7ae5JlPEpi12dnhkf+rTv8VyQy/W81fdMyclc1iHiLoVv5PObujoHhGzLzcJLXGKhL37K/HBq8M38Uk05DzsbE4/m32vrnKgu5+cXOAiVoHrl7qTT2NCyo+PSWuGr8YvffzLU9/eCbtj448rSyfOZ3jd2pgt+LJ2cuDdFilAVYAFIw0skiPTZo+93P1sNZOhCpXp6bMwP/M8OHfjabrrvhQ9lRlgNgIECIjI6v7jY393f6zRFF5fvtNLnFzN+4DdE7IPJjavrC2vks3KNG2kjCGpAJagyZmWzjxJebHtrKvK02N7x6uZU8vSuvh35f7G5/tzc3O9TMxzGgtEcmgEwQY2ZqzMzTnt6r5t6mdQuGfKWVuoaY3/o2jejvwWBTRbIB5MghqAsDBlIzSvGHOzvPtyxrUmbNQsTudnzl689h9FCABwAgDCYTZI4hwSTFAXQTJSudx1HAeC8noSEwgsTsxoSF44BMQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

视频下载

发现导航 - 精选实用导航网站

tools

发现导航 - 精选实用导航网站

ZType – Typing Game - Type to Shoot

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jYVSS2hTURA9c9997yUmNomNitGFKwWlC7VFEZEWFLoRdFFBRCguqqBQP7gQRJ67LpRWgi4E0YUgJPgFhSr6qlWxtRZUVMT/B21BLdGmyXu5946LlBRR8Sxn5sycmTOESewoDyxwQnexgdECRIACIDEFBQ3AtiSFYWkse/RaPzzPEAAsynnOmrWt/dFI3TdNpgiwRQaAABgAwIABIIhhDDSZpWoi2JStX3FfAsCy1RtsVS5Yb173b8o3bivgP9hTfHSJpZPClMYRECJOKrMo0f7WD4rSpdQ8h8aevVH5xRtDMFO1Li9AG7WwrIpAVb0AgI/PnUDY9qjrWOdiEat3lq1uyC/jFzOZ+QN7xh8fARG3TZI7PvtpUwkW6ooeqSnoa2lR89lfF/9qzwgcLdySLgnLbRBSnFXlidtgpjyR3vzyal10Wry3otWZY8nlw2Am+tuO27/emxtxnV4dlA9m06vOg5na3512k/UN18F8qyfRdADMBCIWNRZ7AgC2friTcW3psw67s+lV55vZlzh0yErObLjMMAM9iaYDHrMAEU+NZBAAtI/5yc7C0NDOscFOAOjgIRsA7f4xfGVXcfg4AHjMsi2Xs/6QvWWkN9ZZGLzbWRg8CADN7MuqZY+zeyeeHP6XpQRm6nh4QkYXLM0R6FVPXeM+j33pUYva9WPoFAOtYVDZJi1MF2A22pAzra5o1Pjt7sTK7xJE7BYeLCFLpHtiyzZ47AmPWnSz70kVhi9I0KjjymYiFgyQkDzO4NYg0HkAXRIAmGALskYBwCPPVK31VB+8rr+69OlmmWwrWfsDYdvEbFLr315IzhE2VX85gbitfjtWGEBGUzKggDIM87PWQE2E7xm6fq5b3wdBKkkgGCaIKT6BWEaYqMwVskQGBvur8Um0Pc3FE+kZMW0c4xZLZM+OcqVYquWDWJTVaIkQB5woq5OJ1u8A8AvD8D79cc9ctAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

game

发现导航 - 精选实用导航网站

莫烦Python网

发现导航 - 精选实用导航网站

Python Projects for Beginner to Advanced - GeeksforGeeks

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Python Syntax Checker PEP8

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

python

发现导航 - 精选实用导航网站

The Everything App

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNUlEQVQ4jY1SQYrDMAyURG+lkJIfJIf8oqc+u59xKARKbBObXoo92oO6blh2Yediz3gk2bJYVYlIVZnZ9kTEzCY2agYi+pj+CbGl1Xm9Xi3FnjZR9tHbtl0ul23bfqWGg0Vbglrr/X6vtdpZo83AzG+3oZTinCul/ErfYaoKIKUEQP/A3kAAQgjTNHnvAZRSWmSj3vtpmkIIAISZAazrKiL8jdZ+g4is6wqAmUVVRaTv+5wzgH0HbQMg59z3vYi8rwTAOTeOY0pJVWutJlp/UkrjODrnTDxY6a7riOjxeJRSzudzu1KMMYRARF3XvWenJVuWZRiGYRjmefbee+/neTZlWZZWlq0h9tAYY875er0+n08iOh6Pt9vtdDpZTbOxvf3zkUQxxkab9TOzrcKP2d43aj/hX+p0kdT5jcFLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

docs

发现导航 - 精选实用导航网站

My

发现导航 - 精选实用导航网站

新人看板 - 新人 - ByteTech

发现导航 - 精选实用导航网站

文档管理-线上-火种服务运营平台

发现导航 - 精选实用导航网站

文档工作 - 飞书云文档

发现导航 - 精选实用导航网站

APIHub - 接口研发平台

发现导航 - 精选实用导航网站

火山账号管理-账号管理-Byte BABI

发现导航 - 精选实用导航网站

权限中台

发现导航 - 精选实用导航网站

‬⁡⁣​⁤​⁣⁤‬​⁢​​‌​⁣⁣​⁣‍‬‬⁤‍‌‍​‬⁡​⁢‬⁢工单-⁣​‬‌​边缘云文档体验提升专项记录

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

‌​⁢⁤‍⁤⁤⁣⁢⁡‌‌​​⁤‬⁣⁢⁤⁡‍⁣​​​‌​​​⁢​⁢⁤‬‌⁤⁡⁣⁤⁤⁣‬⁣‌⁤⁤科锐尔人力资源服务(苏州)有限公司报销 - 飞书云文档

发现导航 - 精选实用导航网站

‍‬​⁢⁤‌​⁤⁣​​‌⁡⁣‌​​⁢​⁡⁤⁡⁣⁤​‌⁡⁤​‌​⁢⁡⁤⁢⁢​‍​‌⁡​⁢‍​​‬⁡字节跳动(中国大陆地区)外包管理规范 - 飞书云文档

发现导航 - 精选实用导航网站

外包资源管理系统

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

科锐尔

发现导航 - 精选实用导航网站

火山引擎控制台BOE-SDWAN

发现导航 - 精选实用导航网站

SD-WAN 接入服务 更换 Edge 设备-操作指南-文档中心-腾讯云

发现导航 - 精选实用导航网站

如何释放一个不需要的SAG实例_智能接入网关(SAG)-阿里云帮助中心

发现导航 - 精选实用导航网站

安装和登录EAG App客户端--边缘接入网关-火山引擎

发现导航 - 精选实用导航网站

‍⁢​​‌​‌⁢⁡⁢⁢‬​‬​⁡‬​‌⁣‍‬​​​‬​‍⁣⁤⁣⁡​‍‬‍​‬‌‬‬​⁡‌‍‌‍SD-WAN+二期MVP差异部分PRD - 飞书云文档

发现导航 - 精选实用导航网站

‍‌⁡​⁢‌⁡‬‌⁣‬‍⁣‬‬⁢‌​⁤⁣‍⁣⁡‬⁤‌⁤‬‬‍​‍⁤​⁢​‌​⁣​‬​​‬SD-WAN+二期产品 - 飞书云文档

发现导航 - 精选实用导航网站

‬⁤‌⁢‌⁣‍‌⁡⁢⁣⁤⁢‍⁤‍⁢⁣​‬​‬⁢⁤⁡⁡‬⁡⁢​⁡‌‍⁣‬‌⁣⁣⁢‌‍‍SD-WAN+二期文档问题&求助 - 飞书云文档

发现导航 - 精选实用导航网站

SDWAN业务线需求-文档 - Meego 项目管理平台

发现导航 - 精选实用导航网站

‍⁡​⁣⁣⁣⁤‬​⁡​‬​‍⁤⁤⁣⁤​​‬⁡​⁣⁤⁤⁣⁡​‬⁤⁤​⁤​⁤‌‌⁤⁤‌⁣‍产品需求 - SD-WAN设备高可用与动态路由 - 飞书云文档

发现导航 - 精选实用导航网站

【SD-WAN】【端】升级/重启/重置(本地控制台) - Meego 项目管理平台

发现导航 - 精选实用导航网站

什么是 SD-WAN+--边缘接入网关-火山引擎

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

SD-WAN+

发现导航 - 精选实用导航网站

‌⁤‍​⁣⁣⁢‌‍‬​⁢‬​⁡‬⁤​⁤‬⁣‌​⁤‍⁣⁤‬⁣‌⁢‍⁡​⁣‬​⁣⁡⁡‌⁤⁤​⁤⁤⁣◆ VEI 文档需求及反馈 - 飞书云文档

发现导航 - 精选实用导航网站

智能边缘-控制台BOE Stable

发现导航 - 精选实用导航网站

边缘智能文档

发现导航 - 精选实用导航网站

★ 待我处理-VEI设备管理&物联网 - Meego 项目管理平台

发现导航 - 精选实用导航网站

工单中心-线上-火种服务运营平台

发现导航 - 精选实用导航网站

ArcoSite-边缘智能-设备管理

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

边缘智能

发现导航 - 精选实用导航网站

E19-1.7-租户-舜宇-veStack

发现导航 - 精选实用导航网站

Sheet

发现导航 - 精选实用导航网站

‌​​‍​⁢⁣⁣‬⁤‌⁣⁣​⁢​​‬​​⁣⁣‍⁣‌​‬‍‍⁤​‬⁢​⁡⁣⁤​‌​⁤​​⁤‌​‍​物联网平台IoT Arenal - 飞书云文档

发现导航 - 精选实用导航网站

‌‍⁡⁤‌‬⁡‌​‍​⁢⁣⁢​⁢⁡⁣‬‌⁤‍‌⁣⁣⁤​⁣​‌⁣⁤‍⁣‍‍⁢‍⁤​‍⁢‬‍‬数据转发使用文档 - 飞书云文档

发现导航 - 精选实用导航网站

‍‌‬‍⁤​⁡‍⁢⁡​‍‌⁣‍​⁢‌​​‌‍⁢⁢⁢​⁡‬‬​​‬⁢‌‍‍⁡‌​⁤⁤⁢‬⁤​‍⁢⁢IoT交接文档 - 飞书云文档

发现导航 - 精选实用导航网站

‌‌‌‌⁡‍⁣​⁣‍‍‍⁤⁣⁤‌⁤⁤⁤‍‌​​⁣‍​‍‬⁣‌‌‬​‌​⁤​​⁣​⁢​⁤⁤⁡​⁢备份 - 飞书云文档

发现导航 - 精选实用导航网站

IoT-SDK设备接入 - 飞书云文档

发现导航 - 精选实用导航网站

EMQ 文档中心

发现导航 - 精选实用导航网站

JetLinks 物联网基础平台

发现导航 - 精选实用导航网站

物联网平台(IoT)-阿里云帮助中心

发现导航 - 精选实用导航网站

物联网开发平台简介_物联网开发平台购买指南_物联网开发平台操作指南-腾讯云

发现导航 - 精选实用导航网站

ArcoSite-物联网平台(公有云)

发现导航 - 精选实用导航网站

沙果开源物联网系统 SagooIoT | SagooIoT

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADCklEQVQ4jW1T32tcVRD+Zs6552bvktRNtrFNEy32hy1VyqpE8GlbBZX0QRCrhIK40oKIFEr/gCj4Iq0IIRXBvrQKYlqrPqmlUqFvagu1FdqmuDaNm2zSbdzsj3vvufeMD5utIh0YGIb55htmviHcxwSgbkzd1OfjObA+AqNKiJLfEYZFlKYX+X9AXgVJ1wEgf7w0BPJ+RF+mhFjOAupllKYX78sIAPXR0YE7xeLw7I6+fgDAn2M5nHnpTZx9rnCvaGKiSwYCIALocLTwOml+NY3C7YjjjOtb01Se/nkuu/HEi2sP+55pbQxyMreSzP1w/ej4EgAiAKg/uTWvVPZkYNQLEsdortuA+b37ET66A8b4aAnhQqsX5y9XUZ6tAXDXrI3fvvzB7nMkmzf7K/3Z073GjDWcs2wthUMP8bVjp2DX+OwigAlY2wOc+7WafPrtFfhBVidxeDeN7LO6mcuMZ5Qaa0VhoqxViCP2F/4SszSPtGcEXiySghAS4Y9KXS03LHpdw2o/k1OevKuhvbdUu+VWni7S8jO7KPfTd3Jn9x4Khx8GJwLHRAwgToBiYYPU6m1aN5DV5UrD/Xajuosaozsj0dqb+fAk6k9sJ64DogGOAIF0tkyACEGrThz0AOcvLsixM1dJc9TWjS1PobVpG7yaEwGIEkCIVm8rHUUASB3EOYFmksH8A5QP3CxTYssYfBBiqNOeSIS4C4Uw/6sWEWJJEQnYJH/TvoGvTzOH4RfGWhIHYRKo1R5udXYd1TrTEESIYI2mwFZd4dZE9YBMTbGZr0wmi5VyEIHbzJQKSESImWT9zSk8fuF5GZ75SBJF5CV1t/7WKbvz4hs8svjNe3QIM5qamK9XrhwcunT0K1V4hZs8nDqwZhtT/8L3oqMlGpj9Ejq+63qXf3F9UvZaK8mJbHnu4wkQk3R04uJPBg9IftNkHIyYUAIHsdTTuEnKhSIAjGuSNj5aqX+8xo+8M7J3un3vW0VARJDmZ1v2GOb3xcljDiCnMgBImABifTt16ZHgtUuT/328fwB47GuHDtGS+wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

IoT

发现导航 - 精选实用导航网站

ArcoSite-云拨测

发现导航 - 精选实用导航网站

火山引擎控制台-云拨测BOE

发现导航 - 精选实用导航网站

火山引擎-云拨测文档

发现导航 - 精选实用导航网站

应用实时监控服务ARMS-阿里云帮助中心

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABXklEQVQ4ja3TvU5VURCG4WfW3ptwEjDGWOglGI0WdFZEr+FcgdGAFnSGkk5iR4XReAVcg4TKzkKjsbOVwlgI5BD2z1gAxwYsPE49X9a8M+9i1kpiluw0nM8t+m5wbHDFSOUgXmshn2j0Fv0yMa+4qcRLB1DnijsqW44sWTDnqpHWR60H+Al6ixq7brinM3HkJJ/5oLcWueqzebedYPBVeCe9iW2fzvGCzFV3hcfSQ8Utczj2JfKpVOu0Nv2wETv6v3KPVa7b0FjXqYsw6Ewc2owdfS6rLw0vq2NH79CmzkQYaimkQaNA7OlyxZbGff3pElUarffxyhpoFGlAXPxa2Be+Gc5wapWwf1FrLSSK1jAdc9uLSxH2dFqDeUXIIhW1kQXrOVbFnu58WUlJSo5VU7yxyoJ1tZFU/sMZz0ViyWBO/UekeHsqUj5yTWNXcyZSccKZSLOqPPNn+tfstH4DoqinIboRo4IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

云拨测简介_云拨测购买指南_云拨测操作指南-腾讯云

发现导航 - 精选实用导航网站

云拨测-文档需求 - Meego 项目管理平台

发现导航 - 精选实用导航网站

‌‍⁢⁣​⁡⁡‍‌⁣⁤​​⁡‬⁢⁤‍⁤⁢⁢‬​‌⁢‌​​⁢⁡⁡⁤​⁤​‍⁤‍⁤​⁣⁣‬‌⁤✅ 概念明确和文案统一(数据治理) - 飞书云文档

发现导航 - 精选实用导航网站

云拨测工单列表

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

云拨测

发现导航 - 精选实用导航网站

JSONPath - JSON 的 XPath

发现导航 - 精选实用导航网站

XML Path Language (XPath)

发现导航 - 精选实用导航网站

json-path/JsonPath:Java JsonPath 实现

发现导航 - 精选实用导航网站

JSONPath在线验证

发现导航 - 精选实用导航网站

Introduction to XPath - GeeksforGeeks

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

任务断言

发现导航 - 精选实用导航网站

‍‬‍⁣⁡‍⁣⁡⁤​⁢‬⁢‬⁡⁤‬‍‍‍⁡⁢⁡​​​⁣‍​⁡‍‌⁢​‌‬⁡⁢⁡⁣‬‍​⁡​⁡⁣全球化写作 - 文档改写排期 - 飞书云文档

发现导航 - 精选实用导航网站

⁡​‬‍​​⁢‌‍‍‌⁡​​‌⁣​‍⁤​⁤​​⁡⁤‬⁡​⁤​‬⁢‍‬‌⁢⁤​⁢⁡‬​全球化写作和框架-评审记录 - 飞书云文档

发现导航 - 精选实用导航网站

‌⁤‌​​​⁣⁣​​⁡​⁣⁤‌‌‌​​​​‍⁢⁢⁡​‬‌⁤⁢⁡‍‍⁡⁤⁡⁣‍⁢⁣‍​​‬⁡‬全球化改写 - ⁤‬边缘智能

发现导航 - 精选实用导航网站

AI文档检测

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

全球化改写

发现导航 - 精选实用导航网站

北京丽明科技有限公司

发现导航 - 精选实用导航网站

How To Set Up vsftpd for a User's Directory on Ubuntu 20.04 | DigitalOcean

发现导航 - 精选实用导航网站

‌⁤‌‬​​‍​⁣‬‌⁡⁢⁡‍​⁢⁡​​⁤⁣⁣‌‬‌⁡‌‌⁤⁢⁡⁣‬⁡​⁡‬​​‌‍⁢‬‌⁡⁢‬边缘智能-天花导视驱动开发-提测 - 飞书云文档

发现导航 - 精选实用导航网站

‍​‌​‬​⁤​​‌​⁣⁡⁤‌‍⁤​⁢⁣‬​⁣‍⁡​​⁣⁡⁤​​​​‍​⁤⁤⁡​⁡⁢‬全球化写作和框架-评审记录 - 飞书云文档

发现导航 - 精选实用导航网站

‌⁢‬‍⁡⁤‌⁢​⁢⁣⁣​‍⁡​⁢‌⁤⁣⁢⁣⁡⁡​⁡​​⁢⁢‍‍‌⁡⁡‬⁣‬⁣⁤​​⁤​⁡边缘智能-天花导视驱动开发 - 飞书云文档

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

MC100

发现导航 - 精选实用导航网站

工作

发现导航 - 精选实用导航网站

⁣​⁣‌​⁡⁢⁢‬​⁤⁤⁢​‍⁤⁤​‌‌‍‬⁡​⁣⁢​⁡​⁡​‍‍⁣‌⁣⁢⁡‍​⁤综合积极情绪疗法对护理人员中重度职业倦怠的干预研究 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

首页

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

ljy

发现导航 - 精选实用导航网站

⁢‌‍⁤⁢⁢⁤⁣⁣⁣‌​‌​‍​​⁣‍⁤​‍‍‌‌​‌‍‬⁢​‌‬‬⁤‬‬‬⁤‬⁢⁡⁤​⁤全球化写作 - 增强文档清晰性 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

‌⁣⁣​⁤​⁡​⁤​‬​⁤‌‌​​‌⁣⁣‌​​‬‌⁤​‍⁡‬⁡⁣​​‬‍‌‬⁤⁢⁡​​​⁡​⁣H1 总结 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Docs

发现导航 - 精选实用导航网站

‌⁢⁡⁤‍‍⁤​‌‬‬‍⁢‬‬‍​⁡⁤⁡​⁤⁢‬⁤​​‌⁢⁡⁤‌⁢​​‍⁡​‬⁣⁡‍‍⁡​文档体验提升专项:基于多维数据提升用户的文档体验 - 飞书云文档

发现导航 - 精选实用导航网站

7 Best Practices for Planning Developer Documentation

发现导航 - 精选实用导航网站

5 Metrics to Measure Documentation Quality

发现导航 - 精选实用导航网站

云速搭(CADT)-阿里云帮助中心

发现导航 - 精选实用导航网站

成长地图_云数据库 RDS

发现导航 - 精选实用导航网站

‌⁣⁡‌⁤‬⁣⁤‌‌⁤‬‬⁡​⁡⁣‍⁢‌‍‌⁣​​⁡​‬⁢⁣‬‬‬​⁤⁡‍‌​⁤⁤⁢⁢‬‬README - 飞书云文档

发现导航 - 精选实用导航网站

基本概念--视频点播-火山引擎

发现导航 - 精选实用导航网站

‬⁣‍​⁡⁡​⁣⁡​‌⁢‬⁤‌⁣⁢‍‌⁤​⁣⁡​⁡⁣‌‍‌‬‬‬‍‌‍⁢⁢⁢‬⁡⁤​​​🌐 写好中文——为翻译而写作 - 飞书云文档

发现导航 - 精选实用导航网站

‍⁡‌⁣‌‬⁤⁢⁣⁢‌‬⁣⁡‬⁤​⁡⁤⁣⁣⁣⁡​⁣⁤​‍⁤‌‌​​‍⁢‬‌‍⁤⁤‌⁡‌⁣开发者访谈实践分享 - 飞书云文档

发现导航 - 精选实用导航网站

‍‌⁤⁢⁣‍​⁢‍‌‍​⁡⁣⁣‌⁤⁡‌‌‬​​⁡⁡​​⁢‬‬‌‍​⁡‍⁤‍‍⁡⁤⁡‌⁡​文档工程师聊写作 Master the Craft of Writing - 飞书云文档

发现导航 - 精选实用导航网站

一个想法值多少钱?94年小伙把奇思妙想变爆品,一个人卖了3千万 - YouTube

发现导航 - 精选实用导航网站

‍‌⁡‌​‌⁢⁢⁤‍‬‍‍⁤‍⁢‬‬​⁡‌⁢⁡⁢⁢​⁡‌⁡⁣‬⁤‬⁣​​⁡​⁣⁡⁣⁡⁡⁡⁤⁤​⁢⁢我是怎样学写 API 文档的 —— 一个文档小学生的告白书 - 飞书云文档

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

job

发现导航 - 精选实用导航网站

EMQ: 连接物理世界与人工智能

发现导航 - 精选实用导航网站

eKuiper: Lightweight data stream processing engine for IoT edge

发现导航 - 精选实用导航网站

物联网中南向协议、北向协议是什么?南向协议、北向协议的区别-CSDN博客

发现导航 - 精选实用导航网站

物联网(IoT)的北向和南向_南向北向在物联网中的作用-CSDN博客

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

北向通道

发现导航 - 精选实用导航网站

how to pronounce localizaiton - Google Search

发现导航 - 精选实用导航网站

‍​⁤⁢⁣⁡⁤‌⁤⁤​⁤⁡⁢⁢⁡‌⁢⁣​‍⁡‌⁤⁢⁢​‬‌‬​⁤​​​‌​‍‬‍​‌​‌‬⁣⁣⁢P0 推荐|研发 leader 私藏书单,一起逃逸平庸的重力 - 飞书云文档

发现导航 - 精选实用导航网站

为什么中国的计算机教育这么差? - 知乎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

(5) 信息流 | LinkedIn

发现导航 - 精选实用导航网站

【TEDx演讲】如何在六个月内学会任何一门外语_哔哩哔哩_bilibili

发现导航 - 精选实用导航网站

‌​⁡⁤⁡⁣⁤⁢‍⁢​​‍​​⁢⁣‌​⁢‍⁡​‌⁡​‬‬‬‌‌⁡​‌​⁣​⁣⁣‌‌​‬⁣‬Refresh - 飞书云文档

发现导航 - 精选实用导航网站

‌​​⁣‬‍​⁡‍⁣⁡‍​⁤⁡‍⁡⁣‌⁢‌⁢‬‍⁣‍⁣⁣⁤⁤⁢‍‌‍​⁤⁤⁡‌⁤‬​AI First学习与思考日志 - 飞书云文档

发现导航 - 精选实用导航网站

ArcoSite

发现导航 - 精选实用导航网站

ArcoSite

发现导航 - 精选实用导航网站

An overview of HTTP - HTTP | MDN

发现导航 - 精选实用导航网站

一杯茶的时间,搞懂 RESTful API

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC40lEQVQ4jW2Tz2ucZRDHv995nuftZje7S3+m2JIsFilWqT9KKLKgOdRfF/HSggeDBylEhJDe6qXRQ3sQWi8SLJ68SKmoCC0eLJbagiWIf4CoawxoaDFu3mbf3XefZ8ZDxKbBOQ4zzAzz+RCbwnDcEZcTANjRmSPwPGNURsT57ObHP2ytAQBuJCEEFADs8TfH0Bg9BaYZMNUhClBzCBbQy8/z9qcrm3t4fzqIZ2ZPwvE0oBOaCphgCFGopRCChzoswcqzcu2TiwTs/gaTs5Pw7gI82ujlSDVfwplDWdKosFpmRktuLc9cowpDvBWHg7ns2qVFMUx5eFxEkLatrQ7SwX2pnH7Ra79PdUajMsaScW7ap8ceTv18dUAvbQb56NupKS9otbwhjiL2klacw/tviVYzat41Zs5QCZZW/zJsC3TvzYp6uhSLZIj1FuAFnRWDp6K37tKxp8CHdjMcnIA2qrThELqe05o1+kda5vbuIY61ob11Z54al5dN0BojqTSLSIcPUAANTx+ie/s1aFkYx/cCLz+L7i+/IgJITzzKpCXoDH7/fvoOOmi5Q6ZQlKaoAMKYNJx4iWg/CezageA9iktf4M98Tf3S72g6ANxAQWJnxAwJzAS973+0XlEoSAEAjO8TVEcAJ9zz+gkJlQoGV66aq1dgiIjLyya+NUbTKNKoJH63iD/mP7DC0egc//0z4Ry73a4WN27Y6KAHBiZDko0TOp043jqQQ5xrNOuD8pubbumdc7pzZpqp36eZYbj6t3U/XEDj558s2709hYBtpeq9zvXrkQBQPvfGZMjkAsTahZVYuXunzHfVnYoRRQEX+9bMXNrRrGU1rzDRWzGmuezzrxcfQFmfnz4pLp2Gl4m7vTUYdEgPuMCwveqgOvwN1HPy2dUtKG+S6d7RV8ZqO0dORbEZEa2DCSqaC9NCEe+cH/3q9v/LtFXV9RdePZJVME+aDRjfrX15ZUPn43C8jP90/geE9nH5rtBMQQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

- + diff --git a/index.html b/index.html index 4b56863479..5bc56bf5f9 100644 --- a/index.html +++ b/index.html @@ -57,8 +57,8 @@ -
-

发现导航 - 精选实用导航网站

https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/nav-1691133333044-logo.png

发现导航 - 精选实用导航网站

Navigation

发现导航 - 精选实用导航网站

GitHub

发现导航 - 精选实用导航网站

OpenSource

发现导航 - 精选实用导航网站

AI

🤖

发现导航 - 精选实用导航网站

Open Broadcaster Software | OBSobs

https://obsproject.com/favicon-32x32.png

发现导航 - 精选实用导航网站

录屏软件

发现导航 - 精选实用导航网站

录屏软件

发现导航 - 精选实用导航网站

Musetransfer

nav-1720879893574-f89fe5be-7027-405a-8d35-7b7d0f9330d7.webp

文件快速上传下载

文件传输

发现导航 - 精选实用导航网站

云盘网盘

发现导航 - 精选实用导航网站

Github-CLI

https://github.githubassets.com/favicons/favicon.svg

GitHub的官方命令行工具

Coveralls

https://coveralls.io/favicon.png

通过显示测试套件未涵盖代码的哪些部分,我们可以帮助您自信地交付代码。免费提供开源软件库

Releasly

在新的开源版本发布时收到通知,直接发送到您的电子邮件中。

Convert cURL

将curl命令转换为Python,JavaScript,PHP,R,Go,Rust,Dart,JSON,Ansible,Elixir。

Supervisor

Supervisor是一个客户端/服务器系统,允许其用户监视和控制类似UNIX的操作系统上的多个进程。

SonarQube

https://www.sonarqube.org/favicon-152.png

代码质量和安全性检查, 支持所有开发人员编写更干净,更安全的代码。

Pastebin

https://paste.ubuntu.com/favicon.ico

在线共享代码,将代码以URL形式发送以便查看

UPX

https://avatars2.githubusercontent.com/u/30217756?s=200&v=4

UPX-可执行文件的终极打包器

askgit

https://avatars2.githubusercontent.com/u/30217756?s=200&v=4

使用SQL查询git存储库。生成报告,执行状态检查,分析代码库。

Sentry

https://avatars3.githubusercontent.com/u/1396951?s=200&v=4

Web应用程序,移动应用程序和游戏的实时崩溃报告。

randomuser

https://randomuser.me/favicon.ico

随机用户生成器是用于生成占位符用户信息的免费API。 获取个人资料照片,姓名等。 对于人们来说,就像Lorem Ipsum。

github-readme-stats

https://camo.githubusercontent.com/ebfdd465daa90626d0ab0d0fddc0e457c942a392/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f616e7572616768617a72612f696d6167652f75706c6f61642f76313539343930383234322f6c6f676f5f636373776d652e737667

在你的 README 中 获取动态生成的 GitHub 统计信息

Hits

https://i.imgur.com/zBEQq4w.png

了解有多少人正在查看您的GitHub项目的简单方法

GitHub 文件加速

GitHub 文件加速

Shields IO

svg生成版本号图标

FunDebug

https://www.fundebug.com/favicon.ico

支持前端JavaScript,后端Node.js以及微信小程序错误监控

Asciiworld

http://www.asciiworld.com/favicon.ico

WA!原来那些年程序猿搞怪的注释都在这里

jsfiddle

https://jsfiddle.net/img/favicon.png

强大的前端代码在线演示的网站

CODEIF

https://user-images.githubusercontent.com/799578/50462941-8075fe80-09c3-11e9-89e7-af0cb7991406.png

变量命名神器

ASCIIFlow Infinity

http://asciiflow.com/images/favicon.png

无限的ASCII图表,保存到谷歌驱动器,调整大小,自由绘制,并直接输出到文本/HTML。

gitzip

https://kinolien.github.io/gitzip/images/gitzip.png

它可以将GITHUB存储库的子文件夹/子目录作为zip并下载

Server酱

http://sc.ftqq.com/static/image/favlogo.png

「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。

mkcert

一个简单的零配置工具,可以使用您喜欢的任何名称制作本地可信赖的SSL开发证书

carbon

https://carbon.now.sh/favicon.ico

创建和分享源代码的精美图像

setup-ipsec-vpn

用于构建您自己的IPsec VPN服务器的脚本,在Ubuntu,Debian和CentOS上使用IPsec / L2TP和Cisco IPsec

nginxconfig

https://www.digitalocean.com/favicon.ico

nginx配置生成器

GraphQL Explorer

GraphQL资源管理器利用真实的、实时的生产数据

patorjk

将文本转换成ASCII

lens

https://avatars0.githubusercontent.com/u/62133242?s=200&v=4

Lens控制Kubernetes集群所需的唯一IDE。它是适用于MacOS,Windows和Linux操作系统的独立应用程序。它是开源的,免费的。

public-apis

一些可用在 Web 或软件开发的开放 API 接口

astexplorer

https://astexplorer.net/favicon.png

一个Web工具,用于探索由各种解析器生成的AST

uTools

http://www.u.tools/assets/img/brand/favicon.png

uTools是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合

ihateregex

https://ihateregex.io/favicon.ico

正则表达式备忘录

Oh My ZSH

https://avatars3.githubusercontent.com/u/22552083?s=200&v=4

是一个开放源代码,社区驱动的框架,用于管理zsh配置。

Tampermonkey

https://tampermonkey.freetls.fastly.net/images/icon144.png

一款免费的浏览器扩展和最为流行的用户脚本管理器

Greasy Fork

提供用户脚本的网站

免费代理

https://img.kuaidaili.com/img/favicon.ico?v=3

免费HTTP代理IP

Google Workspace

https://avatars2.githubusercontent.com/u/1342004?s=200&v=4

Google Workspace状态信息中心

开发神器

发现导航 - 精选实用导航网站

eoLinker接口管理平台

https://www.eolinker.com/assets/images/favicon.ico

国内最大的在线接口管理服务方案供应商

YApi

https://avatars2.githubusercontent.com/u/19645609?s=200&v=4

YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台

RAP2

http://rap2.taobao.org/favicon.png

Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品

showdoc

https://www.showdoc.cc/static/logo/b_64.png

一个非常适合IT团队的在线API文档、技术文档工具

docsify

https://avatars3.githubusercontent.com/u/40133106?s=200&v=4

一个神奇的文档站点生成器

apiDoc

https://avatars2.githubusercontent.com/u/4103663?s=200&v=4

RESTful Web API文档生成器

docusaurus

https://avatars2.githubusercontent.com/u/69631?s=200&v=4

易于维护的开源文档网站

禅道

https://www.zentao.net/favicon.ico

禅道是灵活的项目管理软件

Tapd

https://www.tapd.cn/favicon.ico

一站式敏捷研发协作云平台, 凝聚腾讯研发方法及敏捷实践精髓, 助力企业研发更高效、协作更敏捷

Hoppscotch

https://avatars2.githubusercontent.com/u/56705483?s=200&v=4

一个免费,快速,美观的API请求构建器,供10万多个开发人员使用。(原名叫 Postwoman)

接口/开发文档管理

发现导航 - 精选实用导航网站

Sunny-Ngrok

一条命令解决的外网访问内网问题,无需任何配置,下载客户端之后直接一条命令让外网访问您的内网不再是距离

frp

一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。

zan-proxy

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

本地代码调试线上页面,环境再也不是问题

ngrok

https://ngrok.com/static/img/favicon.png

ngrok是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析和重放

内网穿透/代理

发现导航 - 精选实用导航网站

查MD5

http://www.chamd5.org/favicon.ico

MD5在线解密|md5在线破解|批量破解md5网站

JSON Web Tokens

https://jwt.io/img/favicon/apple-icon-76x76.png

jwt 在线解码

base64

http://www.xpcha.com/favicon.ico

base64在线解码编码

编码/解码

发现导航 - 精选实用导航网站

ipify

https://www.ipify.org/static/images/favicon-96x96.png

一个简单的公共IP地址API

归属地查询

淘宝免费归属地查询

免费公开API

发现导航 - 精选实用导航网站

开发相关

发现导航 - 精选实用导航网站

draw

https://www.draw.io/images/apple-touch-icon.png

免费的在线图表软件,用于制作流程图、流程图、组织图、UML、ER和网络图

ProcessOn

https://www.processon.com/favicon.ico

免费在线作图工具,UML作图,UI界面原型设计,iOS原型设计,BPMN,流程图,思维导图,多人协作绘图

蓝湖

https://lhcdn.lanhuapp.com/web/static/favicon.ico

蓝湖是一款设计图共享平台,帮助互联网团队管理设计图

Zeplin

https://zeplin.io/img/favicon/228x228.png

为设计师和前端而生的协作应用

幕布

https://mubu.com/favicon.ico

极简大纲笔记 | 一键生成思维导图

声享

https://p.ssl.qhimg.com/t01a54d9106629dda0e.png

在线制作 PPT,让分享更有价值

墨刀

https://modao.cc/images/logo.png

原型设计工具,web原型设计工具,app原型设计工具

小智LOGO

https://xzlogo.com/static/images/favicon-16x16.png?v2

LOGO在线制作神器 - 3分钟完成LOGO设计在线生成

创客贴

https://www.chuangkit.com/favicon.ico

一款简单易用、功能强大的线上图形设计工具

在线制作图表

https://cdn.jifo.co/favicon/favicon.ico

信息图表是一种易于使用的信息图表和图表制造商。创建和分享美丽的信息图表,在线报告和互动地图。在这里做你自己

CLIPPING MAGIC

删除图像背景在线。使背景透明,白色等编辑,裁剪,旋转,固定颜色,添加阴影,一款在线抠图工具

稿定抠图

https://koutu.gaoding.com/favicon.ico

稿定设计是一款专为淘宝店主、新媒体运营人员和修图爱好者打造的免费在线抠图工具。

UZER.ME

https://uzer.me/favicon.ico

超级应用空间致力于全生命周期的文档管理,无需安装,即可在线编辑Office, CAD,PS等任意格式文档,支持远程协作,全文检索,版本管理,权限管理,安全外发等.提高工作效率,降低安全风险

launchaco

https://www.launchaco.com/static/favicon.ico

免费在线制作LOGO

鹿班

https://g.alicdn.com/acca/resource/luban/image/favicon.png

鹿班 - 让设计更美好(阿里出品)

图片裁剪

https://www.yasuotu.com/favicon.ico

在线裁剪照片大小尺寸

设计相关

发现导航 - 精选实用导航网站

设计相关

发现导航 - 精选实用导航网站

Bitwarden

https://bitwarden.com/images/icons/favicon-32x32.png

个人和企业在任何设备上存储,共享和保护敏感数据的最简单,最安全的方法

Typeora

https://typora.io/img/favicon-48.png

Typora是一款跨平台的最小Markdown编辑器,可为Markdown读者和作家提供无缝的体验

iterm2

https://www.iterm2.com/favicon.ico

iTerm2是Terminal的替代品,是iTerm的后续产品

Sourcetree

https://www.sourcetreeapp.com/assets/img/favicons/sourcetree/favicon-32x32.png

美丽的Git GUI中的简单性和强大功能

charles

https://www.charlesproxy.com/static/img/icon.8b97278f.png

Charles是HTTP代理/ HTTP监视器/反向代理,使开发人员可以查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。这包括请求,响应和HTTP标头(其中包含cookie和缓存信息)。

Tunnelblick

https://tunnelblick.net/favicon.ico

适用于macOS的免费开源OpenVPN VPN客户端服务器软件。

Keka

https://www.keka.io/img/Keka-120x120.png

macOS文件存档器, 储存更多,私密分享

Kap

https://getkap.co/static/favicon/kap.ico

使用Web技术构建的开源屏幕录像机。

Vscode

https://code.visualstudio.com/apple-touch-icon.png

VScode是一款轻量级的编辑器,自由。 建立在开源上。 无处不在。

zenmap

https://nmap.org/shared/images/tiny-eyeicon.png

开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本

obsproject

https://obsproject.com/favicon-32x32.png

免费和开源软件,用于视频录制和实时流。

hyper

https://avatars1.githubusercontent.com/u/14985020?s=200&v=4

基于WEB技术的终端

Listary

https://www.listary.com/wp-content/themes/listary5/images/favicon.ico

Listary是Windows的革命性搜索实用程序,它使休闲用户和高级用户都能快速找到文件并启动应用程序!

GUI

发现导航 - 精选实用导航网站

vmware

https://www.vmware.com/favicon.ico

利用VMware提供的软件定义的云,移动性,网络和安全解决方案来建立您的数字基础。

parallels

https://www.parallels.cn/typo3conf/ext/prls_theme/Resources/Public/theme/res/img/favicon/favicon.png

Mac和Windows虚拟化|管理Mac|VDI和RDS解决方案

mumu Android模拟器

http://mumu.163.com/favicon.ico

网易MuMu[手游模拟器][安卓模拟器]

虚拟机

发现导航 - 精选实用导航网站

DBeaver

https://avatars3.githubusercontent.com/u/34743864?s=200&v=4

适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费的多平台数据库工具。支持所有流行的数据库:MySQL,PostgreSQL,SQLite,Oracle,DB2,SQL Server,Sybase,MS Access,Teradata,Firebird,Apache Hive,Phoenix,Presto等

RedisDesktopManager

https://redisdesktop.com/static/css/favicon.png

Redis Desktop Manager(又名RDM)—是用于Windows,Linux,MacOS和iPadOS的快速Redis数据库管理应用程序。

Sequel Pro

https://sequelpro.com/favicon/favicon-32x32.png

Sequel Pro是一个快速,易于使用的Mac数据库管理应用程序,用于处理MySQL数据库。

Robo 3T

https://robomongo.org/static/favicon-11ace079.ico

一个现代,强大且由社区驱动的MongoDB管理工具

DataGrip

https://www.jetbrains.com/favicon-32x32.png

jetbrains出品的数据库管理系统

tableplus

https://tableplus.com/resources/favicons/apple-icon-57x57.png

用于关系数据库的现代,本地且友好的GUI工具:MySQL,PostgreSQL,SQLite等

数据库

发现导航 - 精选实用导航网站

TeamViewer

https://www.teamviewer.cn/wp-content/themes/tv-wordpress-theme/dist/media/favicon.png

TeamViewer远程连接控制软件是一款随时随地连接到远程桌面电脑、移动设备及Iot,让远程连接过程更加的快速和安全,轻松实现对文件、网络及程序的实时支持或访问。

向日葵

https://sunlogin.oray.com/favicon.ico

向日葵远程控制软件是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件

远程控制

发现导航 - 精选实用导航网站

v2ray

https://avatars0.githubusercontent.com/u/14110142?s=200&v=4

用于构建代理绕过网络限制的平台。

clash

https://github.com/Dreamacro/clash/raw/master/docs/logo.png

Go中基于规则的隧道

飞机场

发现导航 - 精选实用导航网站

GUI软件

发现导航 - 精选实用导航网站

哔哩哔哩

https://www.bilibili.com/favicon.ico

国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主

爱奇艺

https://www.iqiyipic.com/common/images/PCW-114x114.png

拥有海量、优质、高清的网络视频的大型视频网站,专业的网络视频播放平台

Youtube

https://www.youtube.com/favicon.ico

全球最大的视频网站

斗鱼

https://www.douyu.com/favicon.ico

斗鱼 - 每个人的直播平台

疯狂影视搜索

https://cdn.jsdelivr.net/gh/txxxjs/fk/ifkdy/2020-03-16/favicon.ico

疯狂影视搜索是一款全能影视搜索引擎,帮你找到最新影视资源,一站拥有无尽影视资源

全民vip视频在线解析

http://www.qmaile.com/favicon.ico

免费全网VIP视频会员免广告看电影!优酷vip解析,爱奇艺vip解析,腾讯vip解析,乐视vip解析,芒果vip解析

蜜蜂剪辑

https://qncdnimg.aoscdn.com/local/beecut.cn/img/favicon.png

免费在线视频剪辑、视频制作、视频剪切、视频转gif等实用功能

kk高清影院

kk高清影院,1080p电影下载,高清电影迅雷下载,免费高清电影网

影视

发现导航 - 精选实用导航网站

自由的音乐

自由的音乐是一个免费试听并下载全网音乐的网站

音乐

发现导航 - 精选实用导航网站

影视/音乐

发现导航 - 精选实用导航网站

智联招聘

https://www.zhaopin.com/favicon.ico

智联招聘,更懂你的价值

前程无忧

https://www.51job.com/favicon.ico

招聘网,人才网,求职,找工作

BOSS直聘

https://www.zhipin.com/favicon.ico

BOSS直聘是权威领先的招聘网,开启人才网招聘求职新时代,让求职者与Boss直接开聊、加快面试、即时反馈,找工作就来BOSS直聘和Boss开聊吧

招聘/求职

发现导航 - 精选实用导航网站

ResumeSample

程序员简历模板系列, WEB/IOS/Android/C++/node等以及通用程序员简历模板

程序员找工作黑名单

http://coder.shengxinjing.cn/logo.ico

有些事情,应该被记住

看准网

https://www.kanzhun.com/favicon.ico

看准网★中国领先的职场信息平台,专注于公司评论,晒工资,工资待遇,面试,公司福利等.您可以在看准网上匿名分享您的职业信息

其他

发现导航 - 精选实用导航网站

招聘/求职

发现导航 - 精选实用导航网站

TinyPNG

https://tinypng.com/images/apple-touch-icon.png

智能PNG和JPEG压缩,以质量和文件大小的完美平衡来优化您的图像

Squoosh

https://squoosh.app/assets/favicon.ico

在浏览器中用不同的编解码器压缩和比较图像(Google出品)

压缩工具

发现导航 - 精选实用导航网站

草料二维码

https://static.clewm.net/static/images/favicon.ico

用专业的二维码产品帮助企业创造价值

Feed 验证器

验证RSS是否符合标准规范

淘捏捏

https://www.taonienie.com/favicon.ico

淘宝信誉查询 - 淘捏捏卖家工具箱 淘宝信誉查询_淘宝信用查询_淘宝小号查询_淘宝黑号查询

天眼查

https://www.tianyancha.com/favicon.ico

人人都在用商业安全工具_企业信息查询_公司查询_工商查询_企业信用信息查询系统

语雀

https://yuque.com/favicon.ico

优雅高效的在线文档编辑与协同工具,让每个企业轻松拥有文档中心 - 阿里巴巴

求是潮云U盘

https://www.qsc.zju.edu.cn/box/favicon.ico

临时文件上传, 快速和稳定

云转换

https://www.360converter.com/images/favicon.ico

在线免费转换视频,音频,YouTube视频到文字,视频到文字,音频到文字,语音转换成文字

Picdiet

https://www.picdiet.com/css/favicon.ico

独特且强悍的JavaScript算法,能极速压缩80%的图片大小,而不损害其质量

easyicon

https://cdn-img.easyicon.net/favicon.ico

在线图标转换ico、icns

Smallpdf

https://smallpdf.com/favicon.png

压缩pdf、各种文件格式转换pdf

Cool Backgrounds

https://coolbackgrounds.io/images/favicon-fe5a0ff5.png

生成非常酷的彩色背景图像

Unsplash Source

https://source.unsplash.com/favicon-32x32.png

随机生成图片链接

石墨文档

https://assets.smcdn.cn/from_qbox/favicon.ico

一款轻便、简洁的在线协作文档工具,PC端和移动端全覆盖,支持多人同时对文档编辑和评论...

Emoji searcher

https://emoji.muan.co/appicon.png

Emoji表情大全

imgURL

https://imgurl.org/favicon.ico

ImgURL是一个简单、纯粹的图床程序,让个人图床多一个选择

拷贝兔

https://f0cdn.anyknew.com/web/img/icons/favicon-32x32.png

跨平台分享工具,纯Web,IOS,MAC,Linux,Android互传

表格工具

https://tableconvert.com/static/images/favicon.png

一个功能强大的在线表格编辑器,支持Excel、Markdown、JSON、CSV、HTML等格式的相互转换

360查字体

https://p2.ssl.qhimg.com/t014de4ba13ada26743.png

360查字体 - 查版权,免纠纷

sejda

https://www.sejda.com/images/icon_128.png

在线HTML转换pdf

AI人工智能图片放大

https://bigjpg.com/static/css/touch-icon-iphone.png

Bigjpg - 使用开源waifu2x人工智能深度卷积神经网络(CNN)智能无损免费放大图片

VVV文档在线导出工具

免费下载百度文库文档

在线文件编码识别

http://tools.bugscaner.com/static/images/favicon.ico

在线文件编码识别

iptv

http://tools.bugscaner.com/static/images/favicon.ico

收集来自世界各地的5000多个公共IPTV频道

临时邮箱

https://www.linshiyouxiang.net/public/zh-CN/img/favicon.ico

10分钟邮箱,临时邮箱,临时邮,临时电子邮箱,24小时邮箱,一次性邮箱,匿名邮箱,安全邮箱

辅助工具

发现导航 - 精选实用导航网站

其他

发现导航 - 精选实用导航网站

实用工具

发现导航 - 精选实用导航网站

jQuery

https://jquery.com/jquery-wp-content/themes/jquery.com/i/favicon.ico

jQuery是一个JavaScript函数库

webpack

https://www.webpackjs.com/assets/favicon.ico

webpack是一个模块打包器

Babel

https://babeljs.io/img/favicon.png

用于编写下一代 JavaScript 的编译器

ESLint

https://cn.eslint.org/img/favicon.512x512.png

可组装的JavaScript和JSX检查工具

stylelint

https://avatars3.githubusercontent.com/u/10076935?s=200&v=4

一个强大的现代样式风格的linter

Mocha

https://avatars0.githubusercontent.com/u/8770005?s=200&v=4

Mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行

MUI

https://avatars1.githubusercontent.com/u/5485517?s=200&v=4

MUI: 最接近原生APP体验的高性能前端框架

rollup

https://avatars0.githubusercontent.com/u/12554859?s=200&v=4

Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序

standard

https://avatars1.githubusercontent.com/u/29208316?s=200&v=4

JavaScript样式指南,带有linter和自动代码修复程序

JavaScript

发现导航 - 精选实用导航网站

Faker

https://github.com/favicon.ico

在Node.js和浏览器中生成大量逼真的假数据

sweetalert

JavaScript Alert 的漂亮替代品

Sortable

https://avatars0.githubusercontent.com/u/17040762?s=200&v=4

一个JavaScript库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序

formilyjs

Formily 是一个由阿里巴巴集团多 BU 共建的面向中后台复杂场景的表单解决方案,它也是一个表单框架

rough-notation

https://roughnotation.com/images/fav.png

一个小的JavaScript库,用于在网页上创建手绘动画并为其添加动画效果

AntV

https://avatars3.githubusercontent.com/u/19199542?s=200&v=4

AntV 是蚂蚁金服全新一代数据可视化解决方案

Lodash

https://www.lodashjs.com/icons/favicon-32x32.png

Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库

Swiper

https://www.swiper.com.cn/favicon.ico

轻量级的移动设备触控滑块的js框架,使用硬件加速过渡

fastclick

Polyfill 解决移动端具有300ms延迟的库

Layer

丰富多样的Web弹出层组件,可轻松实现Alert/Confirm/Prompt/普通提示/页面区块/iframe/tips等等几乎所有的弹出交互

moment.js

https://momentjs.com/static/img/moment-favicon.png

一个轻量级的JavaScript日期库,用于解析,验证,操作和格式化日期

js-cookie

一个简单,轻量级的JavaScript API,用于处理浏览器cookie

qs

具有嵌套支持的查询字符串解析器

Mock.js

生成随机数据,拦截 Ajax 请求

GITALK

https://gitalk.github.io/favicon.ico

凹凸实验室出品的一款基于 Github Issue 和 Preact 开发的评论插件

prism

https://prismjs.com/assets/favicon.png

轻巧,强大,优雅的代码语法高亮

nprogress

顶部加载进度条

iNotify

JS实现浏览器标题闪烁,滚动,语音提示,Chrome/Safari/FireFox/IE通知

html2canvas

最流行的JavaScript屏幕截图

dayjs

使用与Moment.js兼容的API来解析,验证,操作和显示现代浏览器的日期和时间

JsBarcode

易于使用但功能强大的条形码生成器,适用于Web和Node.js

clipboard.js

现代复制到剪贴板。没有Flash。只需3kb gzipped。

lib-flexible

可伸缩布局方案, 淘宝rem解决方案

js-xss

根据白名单过滤HTML(防止XSS攻击)

mescroll

精致的下拉刷新和上拉加载 js框架.支持vue,完美运行于移动端和主流PC浏览器

better-scroll

灵感来自iscroll,它具有更好的滚动性能

pinyinjs

一个实现汉字与拼音互转的小巧web工具库

ms

使用此包可以轻松地将各种时间格式转换为毫秒。

ramda

https://avatars2.githubusercontent.com/u/5298359?s=200&v=4

适用于JavaScript程序员的实用函数库

decimal.js

JavaScript的任意精度Decimal类型 (0.1+0.2=0.3)

copy-to-clipboard

简单的模块公开copy功能,它将尝试使用execCommand与特定于IE的clipboardData接口的回退,最后,通常prompt使用适当的文本内容和消息

path-to-regexp

将字符串路径转换成正则表达式

autosize

autosize是一个小的独立脚本,可以自动调整textarea域的高度以适合文本

shake.js

监听手机设备摇动

progressbar

可以轻松地为Web创建响应式和时尚的进度栏。动画即使在移动设备上也表现良好

easy-mock

https://avatars0.githubusercontent.com/u/28626637?s=200&v=4

Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务

Clamp.js

https://joe.sh/assets/images/favicon.ico

JS版本的多行文本溢出省略

json-bigint

带有bigints支持的JSON.parse / stringify

exif-js

用于读取EXIF图像元数据的JavaScript库

lunr.js

Lunr.js是一个用于浏览器的小型全文本搜索库。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询最匹配的文档

hotkeys

强大的Javascript库,用于捕获键盘输入和输入的按键组合。它没有依赖性。

dom-to-image

使用HTML5 canvas从DOM节点生成图像

single-spa

https://avatars1.githubusercontent.com/u/59940233?s=200&v=4

使微前端变得简单

qiankun

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

为微型前端提供快速,简单和完整的解决方案

nanoid

https://zelark.github.io/nano-id-cc/favicon.ico

一个很小的,安全的,URL友好的,唯一的JavaScript字符串ID生成器。

Numeral-js

一个用于格式化和处理数字的javascript库

ua-parser-js

用于从userAgent字符串检测浏览器,引擎,操作系统,CPU和设备类型/模型。支持浏览器和node.js环境

hammer.js

https://avatars0.githubusercontent.com/u/7997161?s=200&v=4

一个用于多点触摸手势的javascript库

常用插件

发现导航 - 精选实用导航网站

i18next

https://avatars1.githubusercontent.com/u/8546082?s=200&v=4

i18next是一个非常流行的国际化框架,适用于浏览器或任何其他JavaScript环境(例如,node.js)。

js-lingui

https://avatars3.githubusercontent.com/u/11225539?s=200&v=4

JavaScript的可读,自动化和优化(5 kb)国际化

国际化多语言方案

发现导航 - 精选实用导航网站

wow.js

基于Animate.css,向下滚动页面时显示CSS动画,轻松自定义动画设置:样式,延迟,长度,偏移,迭代...

Waves

受Google材质设计启发的点击效果, 波纹效果

velocity

加速JavaScript动画

anime

轻量级的JavaScript动画库。它适用于任何CSS属性,单个CSS转换,SVG或任何DOM属性以及JavaScript对象

Hover-Buttons

hover动画CSS / SCSS按钮

动画

发现导航 - 精选实用导航网站

JavaScript-MD5

JavaScript MD5实现。兼容服务器端环境,如node.js,RequireJS等模块加载器和所有Web浏览器

js-sha1

JavaScript的简单SHA1哈希函数支持UTF-8编码。

js-base64

JavaScript的Base64实现

jsSHA

SHA-1,SHA-224,SHA3-224,SHA-256,SHA3-256,SHA-384,SHA3-384,SHA-512,SHA3-512,SHAKE128 ,和SHAKE256以及HMAC

crypto-js

加密标准的JavaScript库

加盐

发现导航 - 精选实用导航网站

pdf.js

PDF.js是一个使用HTML5构建的可移植文档格式(PDF)查看器

webuploader

百度出品,采用大文件分片并发上传,极大的提高了文件上传效率。

pdfmake

纯JavaScript中的客户端/服务器端PDF打印, HTML转换Pdf

ViewerJS

JavaScript中的文档阅读器, pdf/ppt/opt/odt等文件渲染成HTML

filepond

灵活而有趣的JavaScript文件上传库

FileSaver.js

客户端保存文件的解决方案,非常适合在客户端上生成文件的Web应用程序

jsPDF

一个使用JavaScript生成PDF的库

文件插件相关

发现导航 - 精选实用导航网站

PhotoSwipe

适用于移动和桌面的JavaScript图像库, 图片预览

viewerjs

javascript图片预览

图片预览

发现导航 - 精选实用导航网站

howler.js

https://howlerjs.com/assets/images/favicon.ico

现代 Web 音频 javascript 库

DPlayer

哇,这么可爱的HTML5 danmaku视频播放器

APlayer

哇,这么可爱的HTML5音乐播放器

音频/视频

发现导航 - 精选实用导航网站

three.js

https://threejs.org/files/favicon.ico

JavaScript 3D引擎

flowy

创建流程图的最小JavaScript库

incubator-echarts

https://echarts.apache.org/examples/images/favicon.png

浏览器的功能强大的交互式图表和可视化库

d3

https://avatars1.githubusercontent.com/u/1562726?s=200&v=4

借助SVG,Canvas和HTML使数据栩栩如生。

图形

发现导航 - 精选实用导航网站

uikit

https://getuikit.com/images/favicon.png

一款轻量级、模块化的前端框架可快速构建强大的web前端界面

UI组件库

发现导航 - 精选实用导航网站

JsBridge

android java和javascript桥接,灵感来自微信webview jsbridge

DSBridge-Android

一个现代的跨平台JavaScript桥接,通过它您可以在JavaScript和本机之间同步或异步地调用彼此的功能

原生APP交互webview桥接

发现导航 - 精选实用导航网站

joi

对象模式验证

validator.js

字符串验证插件、表单验证

async-validator

异步验证器

yup

无效的简单对象架构验证

参数验证

发现导航 - 精选实用导航网站

localForage

https://avatars2.githubusercontent.com/u/18673496?s=200&v=4

离线存储,使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage。

数据库

发现导航 - 精选实用导航网站

introjs

https://avatars2.githubusercontent.com/u/2010360?s=200&v=4

为您的网站和项目提供新功能介绍和逐步用户指南的更好方法

shepherd

https://avatars3.githubusercontent.com/u/17297725?s=200&v=4

引导您的用户浏览您的应用程序

bootstrap-tour

使用Twitter Bootstrap Popovers快速方便地进行产品浏览

步骤引导

发现导航 - 精选实用导航网站

JavaScript

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

React

用于构建用户界面的 JavaScript 库

React Router

React 路由管理

Redux

https://avatars2.githubusercontent.com/u/13142323?s=200&v=4

React 状态管理

create-react-app

React官方脚手架

生态系统

发现导航 - 精选实用导航网站

React Redux

Redux的官方React绑定(通常配合redux使用)

redux-actions

Redux的Flux标准action实用程序(用于生成action)

redux-thunk

Redux的Thunk中间件, 用于处理异步逻辑

redux-saga

https://avatars2.githubusercontent.com/u/24776643?s=200&v=4

一个旨在使应用程序副作用(即异步事物,如数据获取和不纯的东西,如访问浏览器缓存)更容易管理,执行更高效,易于测试,以及更好地处理故障的库

Redux相关

发现导航 - 精选实用导航网站

React Native

使用React构建原生APP程序的框架

React Navigation

https://avatars0.githubusercontent.com/u/29647600?s=200&v=4

为您的本地应用程序提供路由和导航

expo

https://avatars0.githubusercontent.com/u/12504344?s=200&v=4

用于制作跨平台移动应用程序的Expo平台

ant-design-mobile-rn

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

一个基于 React Native 的 UI 组件库

React Native相关

发现导航 - 精选实用导航网站

Ant Design

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

Ant Design - A UI Design Language

MATERIAL-UI

https://material-ui.com/static/favicon.ico

React 组件用于更快速、更简便的 web 开发。你也可以建立你自己的设计系统,或者从 Material Design 开始

element

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

elementUI组件库

react-bootstrap

https://avatars0.githubusercontent.com/u/6853419?s=200&v=4

基于Bootstrap 3构建的组件库

evergreen

Evergreen是一个React UI框架,用于在Web上构建雄心勃勃的产品。由Segment带给您。

@alifd/next

@alifd/next 是 Alibaba Fusion Design 的官方 React 实现, 赋能企业中后台产品开发

zent

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

Zent 是有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件

React95

装修一新的现代的应用程序做出React Windows95的UI组件。

rsuite

https://avatars1.githubusercontent.com/u/19635045?s=200&v=4

React Suite 是一套 React 组件库,为后台产品而生。同时也是一个具有贴心设计以及对开发者友好的 UI 框架

chakra-ui

https://avatars2.githubusercontent.com/u/54212428?s=200&v=4

适用于您的React应用程序的简单,模块化和可访问的UI组件

PC端UI组件库

发现导航 - 精选实用导航网站

Ant Design Mobile

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

一个基于 Preact / React / React Native 的 UI 组件库

移动端UI组件库

发现导航 - 精选实用导航网站

React Helmet

这个可重用的反应组件将管理对文档头的所有更改

react-image-crop

用于React的响应式图像裁剪工具

React Helmet

这个可重用的反应组件将管理对文档头的所有更改

react-transition-group

当React组件进入或离开DOM时执行动画的简单方法

React Loadable

用于加载具有promise的组件的更高阶组件 - 路由懒加载

react-swipe

基于swipe.js封装的react组件/走马灯

Ant Motion

使用 Ant Motion 能够快速在 React 框架中使用动画,我们提供了单项,组合动画,以及整套解决方案

video-react

网络视频播放器使用React库从头开始构建HTML5世界

react-keeper

一个react路由库,更适合移动端使用,拥有缓存等功能

Fusion Design

基于React构建的Web可配置组件库

recharts

https://avatars0.githubusercontent.com/u/13690587?s=200&v=4

基于 React和D3 的组合式图表库

react-json-view

JSON查看器

BizCharts

基于G2和React的强大数据可视化库

react-draggable

一个简单的组件,用于使元素可拖动

react-slick

react走马灯组件

react-color

react 拾色器

react-intl

https://avatars1.githubusercontent.com/u/50559490?s=200&v=4

国际化React应用程序。这个库提供了React组件和一个API,用于格式化日期,数字和字符串,包括复数形式和处理翻译

react-data-grid

https://avatars3.githubusercontent.com/u/1763971?s=200&v=4

使用React构建的类似于Excel的网格组件,具有编辑器,键盘导航,复制和粘贴等功能

react-virtualized

https://cloud.githubusercontent.com/assets/29597/11736841/c0497158-9f87-11e5-8dfe-9c0be97d4286.png

React组件可有效呈现大型列表和表格数据

react-live

https://avatars3.githubusercontent.com/u/5078602?s=200&v=4

一个用于实时编辑React组件的灵活组件库

formik

https://jaredpalmer.com/formik/img/favicon.png

在React中轻松创建表单

其他组件库

发现导航 - 精选实用导航网站

react-move

https://github.com/favicon.ico

一个React组件,它创建可移动,可拖动,可调整大小,可缩放,可旋转,可扭曲,可收缩,可分组,可捕捉。

react-dnd

https://avatars2.githubusercontent.com/u/25307599?s=200&v=4

React DnD是一组React实用程序,可帮助您构建复杂的拖放接口,同时保持组件分离

react-beautiful-dnd

漂亮的和可访问的拖放列表

react-rnd

一个可调整大小且可拖动的React组件。

拖拽组件

发现导航 - 精选实用导航网站

ANT DESIGN PRO

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

开箱即用的中台前端/设计解决方案

开箱即用

发现导航 - 精选实用导航网站

enzyme

适用于React的JavaScript测试实用程序

Jest

Jest是一个令人愉快的JavaScript测试框架,专注于简单性。

单元测试

发现导航 - 精选实用导航网站

umijs

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

插件化的企业级前端应用框架。

DvaJS

https://avatars1.githubusercontent.com/u/20552239?s=200&v=4

基于React和Redux的轻量级和elm风格框架

umijs/hooks

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

你可以将 umi hooks 使用在任何地方,和任意组件库搭配使用。虽然我们的代码示例都是基于 ant design 的,但是并不代表我们的 Hooks 只能和 ant design 配合使用

umi-plugin-cache-route

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

路由缓存,类似vue keep-alive

umi/dva

发现导航 - 精选实用导航网站

React.js 小书

这是一本关于 React.js 的小书

TypeScript-React-Starter

TypeScript和React的入门模板,带有详细的README,描述了如何将两者结合使用。

react-redux-typescript-guide

TypeScript中的React和 Redux - 使用说明

知识

发现导航 - 精选实用导航网站

Mobx

https://avatars1.githubusercontent.com/u/17475736?s=200&v=4

简单、可扩展的状态管理

next.js

服务端渲染框架、SEO解决方案

nwb

适用于Web的React,Preact,Inferno和Vanilla JS应用,React库和其他npm模块的工具包,无需配置

ahooks

为 React Hooks 而生

react-app-rewired

覆盖create-react-app webpack配置而不弹出

其他

发现导航 - 精选实用导航网站

React

https://reactjs.org/favicon.ico

发现导航 - 精选实用导航网站

Vue.js

渐进式JavaScript 框架

Vue Router

Vue Router 是 Vue.js 官方的路由管理器

Vuex

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。

vue-devtools

vue.js调试工具

vue-cli

Vue.js开发的标准脚手架工具

vuepress

Vue 驱动的静态网站生成器

Vue SSR

Vue服务端渲染、SEO解决方案

vue-class-component

用于类式Vue组件的ECMAScript / TypeScript装饰器。

eslint-plugin-vue

Vue.js的官方ESLint插件

vite

Vite是一个经过验证的Web开发人员构建工具,可在开发过程中通过本机ES模块导入为您的代码提供服务,并将其与Rollup捆绑在一起进行生产

Vue 组合式 API

Vue 组合式 API在线文档阅读

生态系统

发现导航 - 精选实用导航网站

iView

https://avatars0.githubusercontent.com/u/20693613?s=200&v=4

一套基于 Vue.js 的高质量UI 组件库

Element

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库

Element Plus

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

支持Vue3.0的Element

Muse-UI

https://avatars0.githubusercontent.com/u/22283362?s=200&v=4

基于 Vue 2.0 优雅的 Material Design UI 组件库

Ant Design Vue

https://qn.antdv.com/favicon.ico

这里是 Ant Design 的 Vue 实现,开发和服务于企业级后台产品

vuetify

https://avatars2.githubusercontent.com/u/22138497?s=200&v=4

让Vue和Material Design的强大力量在开发上助您一臂之力

bootstrap-vue

https://avatars1.githubusercontent.com/u/22965283?s=200&v=4

BootstrapVue为Vue.js提供了最全面的Bootstrap 4组件和网格系统实现之一,并提供了广泛的自动WAI-ARIA可访问性标记

vue-material

https://avatars0.githubusercontent.com/u/23659108?s=200&v=4

Vue material简单,轻巧,完全符合Google Material Design规范

buefy

https://avatars1.githubusercontent.com/u/26799900?s=200&v=4

Buefy是一个基于Bulma框架和设计的Vue.js响应式UI组件的轻量级库。

PC端UI组件库

发现导航 - 精选实用导航网站

vant

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

轻量、可靠的移动端 Vue 组件库

vux

一个凑合的 Vue.js 移动端 UI 组件库

cube-ui

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

基于 Vue.js 实现的精致移动端组件库

Mand Mobile

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

面向金融场景的Vue移动端UI组件库,丰富、灵活、实用,快速搭建优质的金融类产品,让复杂的金融场景变简单

Mint UI

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

基于 Vue.js 的移动端组件库

NutUI

一套京东风格的轻量级移动端Vue组件库

移动端UI组件库

发现导航 - 精选实用导航网站

vue-awesome-swiper

基于swiper封装的轮播图组件

vue-meta

管理Vue 2.0组件中的页面元信息。支持SSR + Streaming

vue-scroller

Vue Scroller是Vonic UI 的基础组件。为了平滑滚动,拉动刷新和无限加载。

vue-infinite-loading

Vue.js的无限滚动插件(支持向上和向下)

其他组件/插件

发现导航 - 精选实用导航网站

iview-admin

基于iView的Vue 2.0管理系统模板

开箱即用

发现导航 - 精选实用导航网站

nuxt

https://avatars2.githubusercontent.com/u/23360933?s=200&v=4

Vue.js 通用应用框架

创建nuxt的脚手架工具

https://avatars2.githubusercontent.com/u/23360933?s=200&v=4

create-nuxt-app

nuxt服务端渲染框架

发现导航 - 精选实用导航网站

Vue.js

https://v3.vuejs.org/images/icons/apple-icon-152x152.png

发现导航 - 精选实用导航网站

Angular

一个框架,移动 & 桌面

angular-cli

用于Angular CLI脚手架工具

augury

Angular调试和可视化工具

生态系统

发现导航 - 精选实用导航网站

NG-ZORRO

https://avatars2.githubusercontent.com/u/30223759?s=200&v=4

基于Ant Design的Angular企业级UI组件

ng-bootstrap

https://avatars3.githubusercontent.com/u/14283866?s=200&v=4

基于Bootstrap 4的Angular组件

element-angular

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

Element Angular组件库

primeng

https://avatars1.githubusercontent.com/u/3494069?s=200&v=4

PrimeNG是Angular的丰富UI组件的集合

material

Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。

PC端UI组件库

发现导航 - 精选实用导航网站

material

Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。

移动端UI组件库

发现导航 - 精选实用导航网站

Angular

https://avatars0.githubusercontent.com/u/139426?s=200&v=4

发现导航 - 精选实用导航网站

小程序开发

微信小程序

小游戏开发

微信小游戏

小程序文档

发现导航 - 精选实用导航网站

mpvue

Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心

wepy

官方小程序组件化开发框架

mpx

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

Mpx是一款致力于提高小程序开发体验的增强型小程序框架(滴滴出品,基于vue)

uni-app

https://avatars1.githubusercontent.com/u/5485517?s=200&v=4

uni-app 是使用 Vue 语法开发小程序、H5、App的统一框架

omix

https://tencent.github.io/omi/assets/omi-logo2019.svg

腾讯原生小程序框架 OMIX 2.0

小程序框架

发现导航 - 精选实用导航网站

vant-weapp

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

轻量、可靠的小程序 UI 组件库

weui-wxss

https://avatars0.githubusercontent.com/u/18461506?s=200&v=4

这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库

wxParse

wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析

mpvue-wxParse

适用于 Mpvue 的微信小程序富文本解析自定义组件

echarts-for-weixin

https://avatars1.githubusercontent.com/u/2268460?s=200&v=4

ECharts 的微信小程序版本

腾讯位置服务

https://lbs.qq.com/favicon.ico

微信小程序原生LBS能力的最佳拍档

ColorUI

鲜亮的高饱和色彩,专注视觉的小程序组件库

weapp-input-frame

验证码、支付密码输入框组件

小程序组件库/插件

发现导航 - 精选实用导航网站

JS接口签名校验工具

微信 JS 接口签名校验工具

接口调试工具

微信公众平台接口调试工具

computed

小程序自定义组件 computed / watch 扩展

微信公众号开发辅助工具

发现导航 - 精选实用导航网站

awesome-github-wechat-weapp

微信小程序开源项目库汇总

awesome-wechat-weapp

微信小程序开发资源汇总

资源

发现导航 - 精选实用导航网站

微信开放社区

小程序开发者专区,微信公众平台,微信开放社区,开发者专区

wechat-format

微信公众号排版编辑器,转换 Markdown 到微信特制的 HTML

微信开放平台

微信开放平台

其他

发现导航 - 精选实用导航网站

微信开发

https://avatars0.githubusercontent.com/u/18461506?s=200&v=4

发现导航 - 精选实用导航网站

CSS3 UI Lib

CSS动画集成、在线调试阴影

CSS Sprites Generator

CSS雪碧图生成

CSS渐变调试器

http://www.colorzilla.com/favicon.ico

前端开发调试CSS渐变必备神器

Animista

https://animista.net/favicon.ico

在线生成CSS动画

CSS Gradient

https://cssgradient.io/favicon.ico

CSS渐变调试并生成CSS代码

Grabient

https://www.grabient.com/favicon.ico

CSS渐变调试并生成CSS代码,还可以角度变换

px与em单位转换

http://pxtoem.com/favicon.ico

px与em单位转换

CSS三角形產生器

http://apps.eky.hk/css-triangle-generator/favicon.gif

CSS三角形產生器 - 使用純CSS繪畫三角形

SassMeister

https://www.sassmeister.com/favicon.ico

将sass语法转换成CSS语法

transfonter

https://transfonter.org/favicon.ico

字体图标转换Base64

Loading集合

上千种Loading认你选

CSS Reference

https://cssreference.io/favicons/favicon-32x32.png

css参考是一个免费的视觉指导css。它以最受欢迎的特性为特色,并用插图和动画示例对其进行说明

在线CSS阴影调试

https://www.w3cschool.cn/favicon.ico

CSS3 Box Shadow(阴影)效果在线调试工具

CSS

发现导航 - 精选实用导航网站

正则表达式验证器

https://regexper.com/favicon.ico

验证JavaScript正则表达式

JSON在线解析及格式化验证

https://www.json.cn/favicon.ico

json在线解析,json格式化,json格式验证,json转xml,xml转json

prettier

https://avatars0.githubusercontent.com/u/25822731?s=200&v=4

Prettier是一个固定的代码格式化程序。它通过解析代码并使用自己的规则重新打印它来强制执行一致的样式,这些规则考虑了最大行长度,并在必要时包装代码

正则表达式在线测试

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

正则表达式在线测试

spy-debugger

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备

VConsole

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

一个轻量、可拓展、针对手机网页的前端开发者调试面板

JavaScript

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

Staticfile CDN

https://www.staticfile.org/assets/images/logo.png

免费CDN服务,包括 JavaScript、CSS、图片和 swf 等静态文件

jsDelivr

https://www.jsdelivr.com/favicon.ico

jsDelivr – 开源 CDN

BootCDN

https://www.bootcdn.cn/assets/ico/favicon.ico

稳定、快速、免费的前端开源项目 CDN 加速服务

cdnjs

https://avatars0.githubusercontent.com/u/637362?s=200&v=4

面向Web开发人员的免费和开源公共Web CDN!

CDN

发现导航 - 精选实用导航网站

FunDebug

https://www.fundebug.com/favicon.ico

支持前端JavaScript,后端Node.js以及微信小程序错误监控

前端兼容性查询

https://www.caniuse.com/img/favicon-128.png

前端查询API各个厂商兼容性情况

Browserhacks

http://browserhacks.com/assets/images/browserhacks.ico

Browserhacks是来自各个互联网的浏览器特定CSS和JavaScript hacks的广泛列表。

Character Entity Reference Chart

字符实体参考图,>

awesome-web-editor

开源web编辑器汇总列表

jsfiddle

https://jsfiddle.net/img/favicon.png

强大的前端代码在线演示的网站

jsperf

https://avatars0.githubusercontent.com/u/11043997?s=200&v=4

jsPerf旨在提供一种简单的方法来创建和共享测试用例,通过运行基准测试来比较不同JavaScript代码段的性能

codesandbox

https://codesandbox.io/favicon.ico

codesandbox是为Web应用程序定制的在线编辑器。

HTML Reference

https://htmlreference.io/favicons/favicon-32x32.png

所有HTML元素和属性的免费指南参考

jsbin

https://static.jsbin.com/images/dave.min.svg

一个轻量级的html/css/js在线编辑器Debug调试器

jsfuck

http://www.jsfuck.com/favicon.ico

JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅使用六个不同的字符来编写和执行代码。

其他

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Bootstrap

https://getbootstrap.com/docs/4.5/assets/img/favicons/favicon.ico

Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架

Sass

https://avatars2.githubusercontent.com/u/317889?s=200&v=4

Sass 是成熟、稳定、强大的 CSS 扩展语言

Less

https://avatars0.githubusercontent.com/u/3538330?s=200&v=4

Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性

magic

CSS3动画特效

Animate.css

https://avatars3.githubusercontent.com/u/64791939?s=200&v=4

CSS动画的跨浏览器库,简单易用

normalize.css

http://necolas.github.io/normalize.css/favicon.ico

使浏览器更加一致地呈现所有元素并符合现代标准。它只针对需要规范化的样式

Hover

CSS3动力悬停效果的集合,适用于链接,按钮,徽标,SVG,特色图像等

github-markdown-css

复制GitHub Markdown样式的最小CSS量

autoprefixer

https://avatars1.githubusercontent.com/u/8296347?s=200&v=4

Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里

vivify

http://vivify.mkcreative.cz/assets/img/apple-icon-57x57.png

Vivify是免费的CSS动画库。

cubic-bezier

在线制作CSS动画

CSS

发现导航 - 精选实用导航网站

iconfont

http://www.iconfont.cn/favicon.ico

阿里妈妈MUX倾力打造的矢量图标管理、交流平台

Font Awesome

https://avatars1.githubusercontent.com/u/1505683?s=200&v=4

一套绝佳的图标字体库和CSS框架

LivIcons Evolution

https://livicons.com/apple-icon-57x57.png

会动的纯svg矢量图标库

ionicons

https://avatars0.githubusercontent.com/u/3171503?s=200&v=4

适用于Ionic Framework和Web应用程序的高级图标字体

material-design-icons

Google的Material Design图标

图标库

发现导航 - 精选实用导航网站

css battle

https://cssbattle.dev/images/logo-square.png

在线比拼CSS

学习CSS布局

http://zh.learnlayout.com/images/logo.png

学习CSS布局

资源

发现导航 - 精选实用导航网站

CSS

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/css/css.png

发现导航 - 精选实用导航网站

TypeScript

TypeScript 是一种由微软开发的自由和开源的编程语言,它是JavaScript的一个超集

TypeSearch

搜索typescript 类型包 @types/node

DefinitelyTyped

高质量TypeScript类型定义的存储库

typescript-eslint

https://avatars0.githubusercontent.com/u/46634674?s=200&v=4

Monorepo用于所有工具,使ESLint能够支持TypeScript

awesome-typescript

用于客户端和服务器端开发的强大TypeScript资源的集合。在TypeScript中编写精彩的JavaScript

TypeScript 入门教程

TypeScript 入门教程

TypeScript

发现导航 - 精选实用导航网站

TypeScript

https://www.typescriptlang.org/favicon-32x32.png

发现导航 - 精选实用导航网站

JavaScript 20 年

JavaScript 20 年

你不知道的JavaScript

你不知道的JavaScript

现代 JavaScript 教程

https://zh.javascript.info/img/favicon/favicon.png

以最新的 JavaScript 标准为基准。通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识

ECMAScript 6入门

ECMAScript 6入门

JavaScript教程

JavaScript 标准参考教程

书籍

发现导航 - 精选实用导航网站

JavaScript Puzzlers

你真的了解JavaScript吗?来试试吧!

InterviewMap

https://avatars1.githubusercontent.com/u/41361384?s=200&v=4

打造最好的面试图谱

飞冰早报

飞冰早报

jsdoc

用于JavaScript的API文档生成器。

30 seconds of code

https://avatars3.githubusercontent.com/u/43479428?s=200&v=4

精选的有用JavaScript代码段集合,您可以在30秒或更短的时间内理解这些代码段。

33-js-concepts

JavaScript开发者应懂的33个概念

ECMAScript Proposals

https://avatars1.githubusercontent.com/u/1725583?s=200&v=4

跟踪ECMAScript 提案

ecma262

https://avatars1.githubusercontent.com/u/1725583?s=200&v=4

ECMA-262的状态,流程和文档

JavaScript 秘密花园

https://bonsaiden.github.io/JavaScript-Garden/favicon.ico?v=2

JavaScript 语言最古怪用法的文档集合

Airbnb JavaScript 编码规范

Airbnb JavaScript 编码规范

Daily-Interview-Question

工作日每天一道前端大厂面试题,祝大家天天进步,一年后会看到不一样的自己

javascript-algorithms

JavaScript 算法与数据结构

weekly

https://avatars2.githubusercontent.com/u/26534952?s=200&v=4

前端精读周刊

文档

发现导航 - 精选实用导航网站

参考资料

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

WEB前端

发现导航 - 精选实用导航网站

Node.js

Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时

npm1

npm是JavaScript世界的包管理工具,并且是 Node.js 平台的默认包管理工具

官方

发现导航 - 精选实用导航网站

urllib

在复杂的世界中请求HTTP(s)URL

formstream

multipart / form-data编码流,用于文件上传的帮助程序。

validate-npm-package-name

给我一个字符串,我会告诉你它是否是有效的npm软件包名称

模块

发现导航 - 精选实用导航网站

Yarn

https://classic.yarnpkg.com/favicon.ico

快速、可靠、安全的依赖管理

awesome-nodejs

Node.js软件包和资源

nodebestpractices

最大的Node.js最佳实践列表

其他

发现导航 - 精选实用导航网站

NodeBB

https://avatars0.githubusercontent.com/u/4449608?s=200&v=4

基于Node.js的论坛软件,为现代网站

Ghost

https://avatars1.githubusercontent.com/u/2178663?s=200&v=4

Ghost 是基于 Node.js 构建的开源博客平台。Ghost 具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写。Ghost 的目标是取代臃肿的 Wordpress

CMS

发现导航 - 精选实用导航网站

nodebestpractices

Node.js 最佳实践, 最大的汇集,且每周都在增长 - 当前,超过50个最佳实现,样式指南,架构建议已经呈现

资料

发现导航 - 精选实用导航网站

生态系统

https://nodejs.org/static/images/favicons/favicon.ico

发现导航 - 精选实用导航网站

request

简化的HTTP请求客户端

superagent

一个小型渐进式客户端HTTP请求库,Node.js模块具有相同的API,具有许多高级HTTP客户端功能

axios

基于Promise的HTTP客户端,用于浏览器和node.js

node-fetch

一个轻量级的模块,将window.fetch带到Node.js

bent

带有async await的功能性JS HTTP客户端(Node.js和Fetch)

superagent-proxy

superagent代理扩展,这使您可以通过某种代理来代理HTTP请求

网络请求

发现导航 - 精选实用导航网站

Puppeteer

https://pptr.dev/favicons/apple-touch-icon.png

Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chromium或Chrome

cypress

https://avatars0.githubusercontent.com/u/8908513?s=200&v=4

对浏览器中运行的所有内容进行快速,轻松和可靠的测试,(类Puppeteer)

Mocha

https://avatars0.githubusercontent.com/u/8770005?s=200&v=4

Node.js和浏览器的简单,灵活,有趣的JavaScript测试框架

chai

https://avatars0.githubusercontent.com/u/1515293?s=200&v=4

node.js的BDD/TDD断言框架和可以与任何测试框架配对的浏览器

ava

https://avatars2.githubusercontent.com/u/8527916?s=200&v=4

未来的JavaScript测试运行器

Jest

https://jestjs.io/img/favicon/favicon.ico

Jest是一个令人愉快的JavaScript测试框架,专注于简单性。

testcafe

https://avatars1.githubusercontent.com/u/4243232?s=200&v=4

一个Node.js工具,用于自动化端到端Web测试

jest-puppeteer

https://avatars2.githubusercontent.com/u/26206404?s=200&v=4

使用Jest&Puppeteer运行测试 🎪✨

ts-jest

https://kulshekhar.github.io/ts-jest/assets/img/logo.png

具有对Jest的Sourcemap支持的TypeScript预处理器

jest-extended

https://avatars2.githubusercontent.com/u/26206404?s=200&v=4

扩展 jest 匹配器

单元测试

发现导航 - 精选实用导航网站

node-mysql2

node.js的快速node-mysql兼容的mysql驱动程序

sequelize

基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite 和 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 读取和复制等功能

mongoose

mongodb对象模型设计用于在异步环境中工作。

ioredis

适用于Node.js,以性能为中心且功能齐全的Redis客户端。

objection.js

Objection.js是Node.js的一个ORM ,它旨在避免使用SQL和底层数据库引擎的全部功能,同时尽可能简单地将magic保持在最低限度。

nedb

JavaScript数据库,用于Node.js,nw.js,electron和浏览器

typeorm

https://avatars0.githubusercontent.com/u/20165699?s=200&v=4

ORM for TypeScript和JavaScript(ES7,ES6,ES5)。支持MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle,WebSQL数据库。适用于NodeJS,浏览器,Ionic,Cordova和Electron平台

knexjs

https://avatars0.githubusercontent.com/u/10490573?s=200&v=4

PostgreSQL,MySQL和SQLite3的查询构建器,旨在灵活,可移植且易于使用。

node-redis

https://avatars1.githubusercontent.com/u/5845577?s=200&v=4

高性能Node.js Redis客户端。

数据库

发现导航 - 精选实用导航网站

node-canvas

node-canvas是Node.js的Cairo -backed Canvas实现。

svg-captcha

在node.js中生成svg验证码

ccap

node.js使用C++库CImg生成验证码,无需安装任何其他库或软件

text-to-svg

将文本转换为SVG路径而不依赖于本机

svg2png

使用PhantomJS将SVG转换为PNG

图形相关

发现导航 - 精选实用导航网站

node-http-proxy

一个HTTP可编程代理库,支持websocket。它适用于实现反向代理和负载平衡器等组件

http-proxy-middleware

用于连接,快速和浏览器同步的单线程node.js http-proxy中间件(基于node-http-proxy)

代理

发现导航 - 精选实用导航网站

esprima

ECMAScript解析基础架构,可进行多用途分析, 将代码转换成AST

recast

JavaScript AST转换器,非破坏性漂亮打印机和自动源映射生成器

AST辅助工具

发现导航 - 精选实用导航网站

node-xlsx

NodeJS excel文件解析器和构建器

fs-extra

操作系统文件,用于替代内置的fs模块

js-xlsx

https://avatars0.githubusercontent.com/u/5826089?s=200&v=4

SheetJS社区版 - 电子表格工具包

node-archiver

https://www.archiverjs.com/images/logo.svg

文件压缩

文件相关

发现导航 - 精选实用导航网站

wechat-oauth

微信公共平台OAuth接口消息接口服务中间件与API SDK

wechat-api

微信公共平台API

wechat

微信公共平台消息接口服务中间件

wechaty

是适用于微信个人帐户的Bot SDK ,可以帮助您创建6行javascript的机器人

微信开发

发现导航 - 精选实用导航网站

Glob

匹配文件。 **/*.js

prompts

轻巧,美观和用户友好的交互式提示

enquirer

https://avatars3.githubusercontent.com/u/21160645?s=200&v=4

时尚,直观和用户友好的提示

cli-table3

https://avatars2.githubusercontent.com/u/887802?s=200&v=4

带有Node.JS的CLI的漂亮unicode表

commander.js

node.js命令行界面的完整解决方案,受Ruby指挥官的启发

ora

优雅的终端微调器

Inquirer.js

常用交互式命令行用户界面的集合

shelljs

Node.js的可移植Unix shell命令

download-git-repo

下载并提取git存储库(GitHub,GitLab,Bitbucket)

node-semver

https://avatars0.githubusercontent.com/u/6078720?s=200&v=4

node的semver解析器

node-progress

node.js的灵活ascii进度条

node-qrcode

二维码生成

open

打开URL,文件,可执行文件等内容。跨平台。

ssh2

用纯JavaScript编写的SSH2客户端和服务器模块,用于node.js

minimist

解析参数选项

node-clear

清空终端屏幕信息

chalk

https://avatars2.githubusercontent.com/u/13122722?s=200&v=4

终端字符串样式

yargs

https://avatars3.githubusercontent.com/u/16504989?s=200&v=4

通过解析参数并生成优雅的用户界面来帮助您构建交互式命令行工具。

CLI

发现导航 - 精选实用导航网站

handlebars

https://handlebarsjs.com/images/favicon.png

JavaScript模板引擎

ejs

https://ejs.co/favicon.svg

JavaScript模板引擎

mustache.js

https://github.githubassets.com/favicons/favicon.svg

使用JavaScript的无逻辑{{mustache}}模板

模板引擎

发现导航 - 精选实用导航网站

node-xml2js

简单的XML到JavaScript对象转换器。它支持双向转换。使用sax-js和 xmlbuilder-js

iconv-lite

纯JavaScript中转换字符编码。

node-uuid

在JavaScript中生成符合RFC的UUID

nativefier

使任何网页成为桌面应用程序

getmac

通过Node.js获取当前计算机的mac地址

http-server

一个简单的零配置命令行http服务器

node-schedule

Node的类似cron-like和非not-cron-like的作业调度程序。

qrcode-terminal

QRCode终端版

localtunnel

https://avatars1.githubusercontent.com/u/13612933?s=200&v=4

localtunnel将您的localhost暴露给世界,以便于测试和共享!无需混淆DNS或部署只是为了让其他人测试您的更改

passport

http://www.passportjs.org/images/favicon/apple-icon-57x57.png

Node.js的简单,不显眼的身份验证

parameter

参数验证工具

bytes

用于解析字符串字节, b/kb/mb/gb/tb/pb

js-yaml

https://avatars2.githubusercontent.com/u/723678?s=200&v=4

JavaScript YAML解析器和转储器。非常快

acorn

https://avatars0.githubusercontent.com/u/34631683?s=200&v=4

一个小型,基于JavaScript的快速JavaScript解析器

figlet.js

用JavaScript编写的FIG驱动程序,旨在完全实现FIGfont规范, 生成ascii

node-printer

本机 node.js 打印机

fontmin

无缝缩小字体

morgan

https://avatars1.githubusercontent.com/u/5658226?s=200&v=4

Node.js的HTTP请求记录器中间件

jsdom

https://avatars0.githubusercontent.com/u/9271229?s=200&v=4

与Node.js一起使用的各种Web标准的JavaScript实现

其他

发现导航 - 精选实用导航网站

依赖包

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

Electron

https://www.electronjs.org/images/favicon.ico

使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用

electron-packager

https://www.electronjs.org/images/favicon.ico

通过JS或CLI自定义和封装您的Electron应用程序与特定于操作系统的软件包(.app,.exe等)

electron-installer-dmg

https://www.electronjs.org/images/favicon.ico

使用AppDMG为电子应用程序创建DMG安装程序

electron-vue

https://simulatedgreg.gitbooks.io/electron-vue/content/gitbook/images/apple-touch-icon-precomposed-152.png

基于 vue (基本上是它听起来的样子) 来构造 electron 应用程序的样板代码。

electron-builder

https://www.electron.build/assets/images/favicon.png

一个开箱即用的完整解决方案,用于将Electron, Proton Native or Muon 打包、构建成支持macOS, Windows and Linux三大系统的,可”自动更新”的可发布安装程序

electron-react-boilerplate

https://electron-react-boilerplate.js.org/logo/logo.png

基于React可扩展跨平台应用程序的App

menubar

https://www.electronjs.org/images/favicon.ico

Electron创建菜单栏桌面应用程序的高级方法。

Electron

https://www.electronjs.org/images/favicon.ico

发现导航 - 精选实用导航网站

nw.js

https://nwjs.org.cn/asset/img/favicon.ico

从DOM/WebWorker层,直接调用所有的Node模块,使用现有的web技术,开启一个全新的编写应用的方式

nw-builder

https://nwjs.org.cn/asset/img/favicon.ico

以编程方式或通过CLI 构建适用于Mac,Win和Linux的NW.js应用程序。

nwjs-ffmpeg-prebuilt

https://nwjs.org.cn/asset/img/favicon.ico

FFMpeg预构建的二进制文件具有专有的编解码器和构建窗口。

nw.js

发现导航 - 精选实用导航网站

跨平台框架

发现导航 - 精选实用导航网站

nest

https://avatars1.githubusercontent.com/u/28507035?s=200&v=4

Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架。它使用渐进式 JavaScript,内置并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码)并结合了 OOP(面向对象编程),FP(功能编程)和 FRP(功能反应编程)的元素

awesome-nestjs

https://avatars1.githubusercontent.com/u/28507035?s=200&v=4

NestJS的精选列表

nest

发现导航 - 精选实用导航网站

Egg.js

https://eggjs.org/images/favicon.png

Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本

egg-validate

https://eggjs.org/images/favicon.png

基于 parameter 封装的参数验证插件

egg-mailer

https://eggjs.org/images/favicon.png

基于 nodemailer 封装的参数验证插件

egg.js

发现导航 - 精选实用导航网站

Koa

https://avatars2.githubusercontent.com/u/5055057?s=200&v=4

Koa -- 基于Node.js 平台的下一代web开发框架

Express

https://avatars1.githubusercontent.com/u/5658226?s=200&v=4

Express - 快速、开放、极简的 Web 开发框架

Express/Koa

发现导航 - 精选实用导航网站

WEB框架

发现导航 - 精选实用导航网站

node-inspector

Node.js调试器基于Blink Developer Tools

debug

一个微小的JavaScript调试工具,以Node.js核心的调试技术为模型。适用于Node.js和Web浏览器

ndb

ndb是针对Node.js的改进调试体验,由Chrome DevTools启用

调试debugger

发现导航 - 精选实用导航网站

nvm

Node版本管理器 - 用于管理多个活动node.js版本的简单bash脚本

nvm-windows

适用于Windows的node.js版本管理实用程序

nvs

Node Version Switcher - 用于在Node.js的版本和分支之间切换的跨平台工具(受到nvm的启发)

n

Node.js版本管理:无配置文件,无复杂的API,非常简单

node版本管理

发现导航 - 精选实用导航网站

log4js-node

log4js 是一个 nodejs 日志管理工具,可以将日志以各种形式输出到各种渠道。

node-bunyan

用于node.js服务的简单快速的JSON日志记录模块

日志管理

发现导航 - 精选实用导航网站

yeoman

https://avatars0.githubusercontent.com/u/1714870?s=200&v=4

一套用于自动化开发工作流程的工具

nodemailer

https://avatars0.githubusercontent.com/u/16486629?s=200&v=4

发送来自Node.js的电子邮件 - 很容易就像蛋糕一样!

gh-pages

将文件发布到GitHub上的gh-pages分支的常规任务

集成工具

发现导航 - 精选实用导航网站

terser

https://avatars1.githubusercontent.com/u/43502240?s=200&v=4

适用于ES6+的JavaScript解析器,mangler和压缩器工具包

代码压缩

发现导航 - 精选实用导航网站

Awehunt

npm包下载量曲线对比图

nodemon

监视node.js应用程序中的任何更改并自动重新启动服务器 - 非常适合开发

pkg

将Node.js项目打包成可执行文件

npm-check-updates

查找package.json或bower.json允许的更新版本的软件包依赖项

husky

husky 可以防止错误的 git commit, git push 等

bundlephobia

找出在项目中添加新的依赖项的包大小

npm-run-all

一个CLI工具,可并行或顺序运行多个npm脚本

dotenv

从.env加载用于nodejs项目的环境变量

cross-env

运行跨平台设置和使用环境变量的脚本

nrm

npm源快速切换, npm, cnpm, taobao, nj, 内网

其他

发现导航 - 精选实用导航网站

辅助工具

https://nodejs.org/static/images/favicons/favicon.ico

发现导航 - 精选实用导航网站

Deno

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

一个安全的运行时的JavaScript和TypeScript

Deno 标准库

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

Deno 标准库

官方

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

发现导航 - 精选实用导航网站

Deno

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

适用于Deno的Visual Studio Code插件

工具

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

发现导航 - 精选实用导航网站

Deno

发现导航 - 精选实用导航网站

Node.js

发现导航 - 精选实用导航网站

Golang

Go编程语言

go.dev

大规模构建快速,可靠,高效的软件

awesome-go

精选的Go框架,库和软件的精选列表

Goproxy

https://avatars1.githubusercontent.com/u/49926011?s=200&v=4

中国最可靠的 Go 模块代理

Go语言中文网

https://static.studygolang.com/static/img/favicon.ico

Go语言中文网

Go标准库中文文档

https://studygolang.com/static/img/go.ico

Go标准库中文文档

生态

发现导航 - 精选实用导航网站

gin

Gin是用Go(Golang)编写的Web框架。它具有类似于martini的API,其性能比httprouter快40倍。如果您需要性能和良好的生产率,您会喜欢Gin

beego

beego是用于Go编程语言的开源,高性能Web框架

martini

Go的经典Web框架

echo

https://avatars1.githubusercontent.com/u/2624634?s=200&v=4

高性能,简约的Go Web框架

iris

https://www.iris-go.com/favicon.ico

最快的HTTP / 2 Go Web框架。AWS Lambda,gRPC,MVC,唯一路由器,Websocket,会话,测试套件,依赖注入等。expressjs和laravel的真正继承者|

fiber

https://avatars1.githubusercontent.com/u/59947262?s=200&v=4

Fiber是一个受Express启发的Web框架,建立在Fasthttp(Go最快的HTTP引擎)的基础上。 旨在简化零内存分配和性能的情况,以便快速开发。

WEB框架

发现导航 - 精选实用导航网站

生态系统

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

Fyne

https://avatars3.githubusercontent.com/u/36045855?s=200&v=4

基于Material Design的Go跨平台GUI

GUI

发现导航 - 精选实用导航网站

logrus

Go的结构化,可插入日志记录。

zap

https://avatars3.githubusercontent.com/u/19262598?s=200&v=4

在Go中实现快速,结构化,水平的日志记录。

日志模块

发现导航 - 精选实用导航网站

gorm

适用于Golang的绝佳ORM库,旨在对开发人员友好

ent

https://entgo.io/img/favicon.ico

用于Go的简单但功能强大的实体框架,可轻松构建和维护具有大型数据模型的应用程序。

mysql

Go MySQL驱动程序是Go(golang)数据库/ sql包的MySQL驱动程序

sqlite3

sqlite3驱动程序

pq

适用于database/sql的Pure Go Postgres驱动程序

redis

https://redis.uptrace.dev/assets/images/favicon.png

用于Golang的类型安全的Redis客户端

数据库

发现导航 - 精选实用导航网站

json-iterator

高性能100%兼容的“ encoding / json”替代产品

blackfriday

Markdown处理器,安全、快速。

goldmark

用Go语言编写的markdown解析器。易于扩展,符合标准(CommonMark),结构合理。

goquery

接近jQuery语法的DOM解析库

go-yaml

yaml包使Go程序能够轻松地对yaml值进行编码和解码, 可以快速可靠地解析和生成YAML数据。

xurls

从文本中提取Urls

解析器

发现导航 - 精选实用导航网站

govalidator

参数验证程序,用于字符串,数字,切片和结构

validator

基于标签对结构和各个字段实现值验证。

参数验证

发现导航 - 精选实用导航网站

ip

获取公网IP地址、v4/v6

terminal

提供了用于处理终端的支持功能,这在UNIX系统上很常见

gopsutil

用于检索正在运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视,概要分析和限制进程资源以及管理正在运行的进程

air

Go热重载

go-micro

分布式系统开发框架

xlsx

xlsx是一个库,用于简化在Go程序中读写Microsoft Excel最新版本使用的XML格式。

email

Go强大而灵活的电子邮件库。

websocket

Go的一种快速,经过测试且广泛使用的WebSocket实现

jwt-go

Golang 实现的 JSON WEB TOKEN

cron

Go 实现的 cron 包

qrcode

二维码生成

casbin

https://avatars3.githubusercontent.com/u/27810343?s=200&v=4

权限管理库,支持Golang中的访问控制模型,如ACL,RBAC,ABAC

resty

用于Go的简单HTTP和REST客户端库

grpc-go

https://grpc.io/favicons/apple-touch-icon.png

gRPC的Go语言实现。基于HTTP/2的RPC

colly

https://avatars2.githubusercontent.com/u/33584194?s=200&v=4

Colly提供了一个干净的界面来编写任何种类的爬虫

cors

使用net / http可配置的处理程序来处理CORS请求

其他

发现导航 - 精选实用导航网站

依赖包

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

color

CLI 控制台颜色渲染工具库, 支持Windows

终端颜色

发现导航 - 精选实用导航网站

cli

一个简单,快速且有趣的软件包,用于在Go中构建命令行应用

cobra

Cobra既是用于创建功能强大的现代CLI应用程序的库,又是用于生成应用程序和命令文件的程序

命令行解析

发现导航 - 精选实用导航网站

pb

Golang的控制台进度栏

mpb

Go cli应用程序的多进度条

控制台进度条

发现导航 - 精选实用导航网站

promptui

命令行应用程序的交互式提示

godotenv

从`.env`文件加载环境变量。

go-prompt

受python-prompt-toolkit启发,在Go中构建强大的交互式提示。

其他

发现导航 - 精选实用导航网站

CLI

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

gvm

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go版本管理器,类似 nvm

json-to-go

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

在线 JSON 转 Struct结构体

golangci-lint

https://avatars3.githubusercontent.com/u/35628013?s=200&v=4

Go的快速Linters Runner

The Go Playground

https://play.golang.org/favicon.ico

在线运行Golang

nuclei

https://nuclei.projectdiscovery.io/

Nuclei是基于模板的可配置目标扫描的快速工具,具有广泛的可扩展性和易用性。

jaeger

https://avatars3.githubusercontent.com/u/35628013?s=200&v=4

分布式链路追踪

delve

https://avatars1.githubusercontent.com/u/19232073?s=200&v=4

Delve是Go编程语言的调试器。

工具

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Go 入门指南

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《The Way to Go》中文译本,中文正式名《Go 入门指南》

Go语言圣经

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go语言圣经 《The Go Programming Language》 中文版本

Go WEB 编程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Golang电子书介绍如何使用Golang建立网络

Go简易教程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《The Little Go Book》中文译本,中文正式名《Go简易教程》

Go by Example 中文版

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go by Example 是对 Go 基于实践的介绍,包含一系列带有注释说明的示例程序。

Go语言之旅

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

本指南涵盖了该语言的大部分重要特性,主要包括:基础、方法和接口、并发等

Go语言101

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

一本着墨于Go语法语义以及运行时相关知识点的编程指导书(Go 1.15就绪)。 此书旨在尽可能地帮助Go程序员更深更全面地理解Go语言

Go语言高级编程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

本书涵盖CGO、Go汇编语言、RPC实现、Web框架实现、分布式系统等高阶主题,针对Go语言有一定经验想深入了解Go语言各种高级用法的开发人员(不推荐新手)

Mastering GO

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《Mastering GO》中文译本,《玩转 GO》。

Mastering GO2

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Mastering Go 第二版中文版来袭!

书籍

发现导航 - 精选实用导航网站

100天从新手到大师

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Golang - 100天从新手到大师

project-layout

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go标准布局结构,项目架构结构参考。

编码规范

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Uber Go 语言编码规范

Gin实战

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

WEB 框架Gin实战

其他

发现导航 - 精选实用导航网站

参考资料

发现导航 - 精选实用导航网站

Golang

发现导航 - 精选实用导航网站

Dart

https://pub.dev/favicon.ico

Dart语言

DartPad

https://pub.dev/favicon.ico

在线运行Dart语法

Dart packages

https://pub.dev/favicon.ico

Dart packages

Flutter

https://flutter.dev/images/favicon.png

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的

Flutter Icon

https://flutter.dev/images/favicon.png

Flutter内置Icon组件图标速查表

官方

发现导航 - 精选实用导航网站

imei_plugin

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

用flutter在Android中获取imei的插件

multi_image_picker

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

Flutter插件,可让您在iOS和Android上显示多图像选择器。

sqflite

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

SQLite flutter plugin

dio

https://flutter.dev/images/favicon.png

dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等

fish-redux

https://camo.githubusercontent.com/a53c432bb9c2222880a6eca54b5ed091d1ab3d40/68747470733a2f2f696d672e616c6963646e2e636f6d2f7466732f5442317237344e4a794c614b31526a535a46785858616d504658612d313032342d313032342e706e67

一个基于Redux状态管理的组合式flutter应用程序框架。它适用于建筑中型和大型应用。

flutter_pulltorefresh

https://flutter.dev/images/favicon.png

一个提供上拉加载和下拉刷新的组件,同时支持Android和Ios

json_serializable

https://flutter.dev/images/favicon.png

JSON序列化和反序列化的代码

flutter_swiper

https://flutter.dev/images/favicon.png

flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配

FlutterToast

https://flutter.dev/images/favicon.png

适用于Flutter的Android Toast插件

dart-uuid

https://flutter.dev/images/favicon.png

生成 RFC4122(v1,v4,v5) UUIDs

fluwx

https://flutter.dev/images/favicon.png

Flutter版微信SDK.WeChat SDK for flutter.

常用模块

发现导航 - 精选实用导航网站

Material Design

https://flutter.dev/images/favicon.png

Material是一个由开源代码支持的设计系统,可以帮助团队构建高质量的数字体验

Flutter实战

https://flutter.dev/images/favicon.png

Flutter实战

samples

https://flutter.dev/images/favicon.png

Flutter示例和演示的集合

flutter-go

https://img.alicdn.com/tfs/TB1OJkeHNYaK1RjSZFnXXa80pXa-229-229.png

flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档

Flutter-Notebook

https://flutter.dev/images/favicon.png

flutter相关功能demo的集合,它能够帮助您快速学习一些零碎的知识

plugins

https://flutter.dev/images/favicon.png

Flutter团队维护的Flutter插件

awesome-flutter

https://flutter.dev/images/favicon.png

很棒的清单,精选了最好的Flutter库,工具,教程,文章等

flutter-do

https://flutter.dev/images/favicon.png

330+Widgets在线查看预览和使用。

文档资料

发现导航 - 精选实用导航网站

flutter_wanandroid

https://flutter.dev/images/favicon.png

基于Google Flutter的WanAndroid客户端,支持Android和iOS。包括BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构&比较规范的代码

Best-Flutter-UI-Templates

https://flutter.dev/images/favicon.png

Best-Flutter-UI-模板, 对所有人完全免费。其内置的Flutter Dart。

其他

发现导航 - 精选实用导航网站

生态系统

发现导航 - 精选实用导航网站

Flutter

发现导航 - 精选实用导航网站

Python

是一种解释型、面向对象、动态数据类型的高级程序设计语言。

PyPi

使用Python软件包索引查找,安装和发布Python软件包

官方

发现导航 - 精选实用导航网站

PCU

python-check-updates, 检查 pip 当前依赖包最新版本

工具

发现导航 - 精选实用导航网站

生态系统

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

requests

https://www.python.org/static/favicon.ico

requests是一个简单而优雅的HTTP库。

aiohttp

https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png

用于asyncio和Python的异步HTTP客户端/服务器框架

Scrapy

https://avatars2.githubusercontent.com/u/733635?s=200&v=4

一个用于Python的快速高级Web爬虫框架。

selenium

https://avatars0.githubusercontent.com/u/983927?s=200&v=4

浏览器自动化框架和生态系统。

beautifulsoup

可以从HTML或XML文件中提取数据的Python库

HTTP/爬虫

发现导航 - 精选实用导航网站

Pillow

友好的PIL前叉,是一个出色的图像处理库

图像

发现导航 - 精选实用导航网站

numpy

使用Python进行科学计算的基本软件包。

运算

发现导航 - 精选实用导航网站

pandas

https://avatars1.githubusercontent.com/u/21206976?s=200&v=4

功能强大的Python数据分析工具包

数据分析

发现导航 - 精选实用导航网站

rich

https://github.com/favicon.ico

Rich是一个Python库,用于在终端中提供富文本和精美的格式。

Fire

Python Fire是一个用于从绝对任何Python对象自动生成命令行界面(CLI)的库。

colorama

Python中简单的跨平台彩色终端文本

tqdm

https://avatars1.githubusercontent.com/u/12731565?s=200&v=4

适用于Python和CLI的快速,可扩展的进度栏

paramiko

领先的Python SSHv2协议库

click

Python可组合命令行界面工具包

CLI

发现导航 - 精选实用导航网站

JMESPath

https://github.com/favicon.ico

JMESPath是JSON的查询语言

其他

发现导航 - 精选实用导航网站

依赖包

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

Django

https://avatars3.githubusercontent.com/u/27804?s=200&v=4

具有期限的完美主义者的Web框架。

flask

https://avatars0.githubusercontent.com/u/16748505?s=200&v=4

用于构建Web应用程序的Python微框架。

WEB框架

发现导航 - 精选实用导航网站

框架

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

简明 Python 教程

https://www.python.org/static/favicon.ico

旨在于介绍如何使用 Python 语言进行编程的自由图书。它以教材与指南的形式为入门者介绍 Python 语言。如果你对电脑知识的了解仅限于如何保存文本文件的话,那这本书就是为你准备的。

书籍

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

100天从新手到大师

https://www.python.org/static/favicon.ico

Python - 100天从新手到大师

Python 入门指南

https://www.python.org/static/favicon.ico

Python 入门指南

What the f*ck Python!

https://www.python.org/static/favicon.ico

一些有趣且鲜为人知的 Python 特性.

awesome-python-cn

https://www.python.org/static/favicon.ico

Python 资源大全中文版

cheatsheet

https://www.python.org/static/favicon.ico

Python大全备忘单

awesome-python

https://www.python.org/static/favicon.ico

精选的Python框架,库,软件和资源的精选清单。

文档资料

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

参考资料

发现导航 - 精选实用导航网站

Python

发现导航 - 精选实用导航网站

segmentfault

https://cdn.segmentfault.com/v-5f64887f/global/img/touch-icon.png

是中文领域最大的技术问答交流社区平台

掘金

https://b-gold-cdn.xitu.io/favicons/v2/apple-touch-icon.png

一个帮助开发者成长的社区

DiyCode1

致力于构建开发工程师高端交流分享社区

黑客派

https://static.ld246.com/images/favicon.png

黑客派是程序员和设计师的聚集地,汇聚了严谨求实的工程师和富有创意的设计师

Node.js专业中文社区

国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究

吾爱破解

https://www.52pojie.cn/favicon.ico

吾爱破解关注PC软件安全和移动安全领域,致力于软件安全与病毒分析的前沿

FreeBuf

https://www.freebuf.com/favicon.ico

FreeBuf黑客与极客,国内关注度最高的全球互联网安全媒体平台

IMWeb

https://imweb.io/public/icon.png

Web前端 腾讯IMWeb 团队社区

Stack Overflow

https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a

全球最大的技术问答网站,是一个与程序相关的IT技术问答网站

React社区

https://reactjs.org/favicon.ico

React论坛社区

众成翻译

https://p1.ssl.qhimg.com/t010e845cdf71587354.png

中国最好的技术翻译社区,最懂译者的翻译平台,奇虎360最大前端团队“奇舞团”出品

MDN web docs

https://developer.mozilla.org/favicon.ico

Mozilla 开发者社区,是一个完整的学习平台,你可以在这里深入学习Web技术以及能够驱动Web的软件

DEV Community

https://dev-to.s3.us-east-2.amazonaws.com/favicon.ico

在这里程序员分享想法并帮助彼此成长

问答社区1

发现导航 - 精选实用导航网站

V2EX

https://www.v2ex.com/static/img/v2ex_192.png

创意工作者们的社区

知乎

https://static.zhihu.com/static/favicon.ico

知乎,中文互联网最大的知识分享和社交平台

简书

https://www.jianshu.com/favicon.ico

简书是一个创作社区,任何人均可以在其上进行创作

小专栏

https://images.xiaozhuanlan.com/assets/favicon-bd135558698197f509ada06695c03a4f458f0077fa476f9a4e7ba9664f3dc55f.ico

小专栏是一个专业人士的创作知识社区,在这里您可以看到各个领域最专业的专栏和观点

Hacker News

https://news.ycombinator.com/favicon.ico

Hacker News

程序员客栈

https://stacdn.proginn.com/favicon_new.ico

程序员客栈是领先的程序员自由工作平台,未来互联网企业用人方式。提供优秀程序员为您进行网站建设制作、测试运维服务、人工智能AI、大数据区块链、软件开发等优质服务

职Q

https://fecdn4.zhaopin.cn/zq/assets/logoIcon.7a3e67.png

智联招聘旗下专业的招聘求职社交问答平台,覆盖了求职、招聘、职业规划、升职加薪、面试技巧、工作经验分享等热门话 题,涉及各种行业职场问题,1.5亿用户的职场社区

煎蛋

http://cdn.jandan.net/static/img/appicon.png

煎蛋以译介方式传播网络新鲜资讯

其他

发现导航 - 精选实用导航网站

Github

https://github.githubassets.com/favicons/favicon.svg

面向开源及私有软件项目的托管平台

码云

https://gitee.com/favicon.ico

码云专为开发者提供稳定、高效、安全的云端软件开发协作平台

GitLab

https://about.gitlab.com/ico/apple-touch-icon-57x57.png

用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

Coding

https://dn-coding-net-production-static.codehub.cn/platform/favicon.ico

面向开发者的云端开发平台,提供 git/svn 代码托管,代码质量分析,在线WebIDE,项目管理...

代码托管

发现导航 - 精选实用导航网站

社区站点

发现导航 - 精选实用导航网站

社区站点

发现导航 - 精选实用导航网站

觅元素

http://www.51yuansu.com/favicon.ico

觅元素,为您提供免费设计元素,设计元素的资源站

千库网

https://js.588ku.com/comp/public/css/iconfont/favicon.ico

致力于为设计师提供最优质的素材

花瓣网

https://huaban.com/img/touch-icon-ipad.png

花瓣,陪你做生活的设计师

Dribbble

https://cdn.dribbble.com/assets/favicon-b38525134603b9513174ec887944bde1a869eb6cd414f4d640ee48ab2a15a26b.ico

Dribbble是展示和宣传,推广,发现和探索设计的地方

万素网

https://669pic.com/669pic.ico

万素网致力于为国内各行业设计师,网站编辑,新媒体工作人员提供免费png素材与背景图片服务

ArtStation

https://www.artstation.com/assets/favicon.ico

ArtStation是游戏,电影,媒体和娱乐艺术家的展示平台。它使艺术家能够以流畅的方式展示他们的作品集,发现和保持灵感,并与新的机会联系起来。

Design Templates - Canva

https://static.canva.com/static/images/favicon.ico

设计模板 - Canva

Unsplash

https://unsplash.com/favicon-32x32.png

美丽,免费的照片。由世界上最慷慨的摄影师社区赠送。

稿定设计

https://www.gaoding.com/favicon.ico

电商素材、新媒体配图、手机海报等。

unDraw

https://undraw.co/favicon-32x32.png

带有开源插图的设计项目,可满足您可以想象和创建的任何想法。 免费使用您的颜色创建漂亮的网站,产品和应用程序

UI中国用户体验设计平台

https://www.ui.cn/Public/img/favicon.ico

UI中国用户体验平台,中国用户体验联盟理事单位。国内极具影响力的设计平台之一。十多年来,携手会员150万+,共同致力于为设计师与企业搭建健康的设计生态!

GitHub Octodex

https://octodex.github.com/favicon.ico

由GitHub Design团队创建和维护的所有吉祥物素材

Collect UI

http://collectui.com/img/favicon.ico

从每日ui档案库及其他收集的每日灵感。 根据Dribbble拍摄的照片,手工挑选,每天更新

材料

发现导航 - 精选实用导航网站

icons8

https://icons8.cn/vue-static/landings/primary-landings/favs/icons8_fav_96%C3%9796.png

下载免费图标,音乐,素材图片,矢量,UX插图和视频音乐

vectorlogo

https://www.vectorlogo.zone/favicon.ico

3000多种精美的SVG徽标,非常适合您的自述文件或积分页面

shareicon

https://www.shareicon.net/favicon.ico

超过25万个icon免费集合

SVG Logos

超过1000+SVG Logos集合

iconfont

https://www.iconfont.cn/favicon.ico

阿里妈妈MUX倾力打造的矢量图标管理、交流平台

iconscount

https://iconscout.com/favicon.ico

免费下载图标,插图和库存照片

图标

发现导航 - 精选实用导航网站

创客贴

https://www.chuangkit.com/favicon.ico

一款简单易用、功能强大的线上图形设计工具

Ps Play

Ps Play - 移动设计零阻力

鹿班

https://g.alicdn.com/acca/resource/luban/image/favicon.png

鹿班 - 让设计更美好(阿里出品)

fontspace

https://www.fontspace.com/android-chrome-192x192.png?v=00Bdv4Q5g6

6500+免费字体下载

工具

发现导航 - 精选实用导航网站

Color Hunt

https://colorhunt.co/img/color-hunt-icon-ios.png

Color Hunt是一个免费开放的平台,可通过数千种精选的时尚调色板来激发色彩灵感

配色

发现导航 - 精选实用导航网站

Design

发现导航 - 精选实用导航网站

Design

发现导航 - 精选实用导航网站

Docker — 从入门到实践

https://github.com/favicon.ico

Docker — 从入门到实践

Docker官方映像文档

https://github.com/favicon.ico

docker-library中的Docker官方映像文档

Docker Hub

https://avatars2.githubusercontent.com/u/7739233?s=200&v=4

Docker 镜像仓库

Docker-Compose

https://avatars2.githubusercontent.com/u/7739233?s=200&v=4

使用Docker定义和运行多容器应用程序

Docker

发现导航 - 精选实用导航网站

git-manual

https://github.com/favicon.ico

Git常用命令参考手册 (推荐学习)

GitHub Docs

https://github.com/favicon.ico

github 官方帮助文档

awesome-actions

https://github.com/favicon.ico

精选的GitHub上很棒的Action列表

Github - Actions

https://github.com/favicon.ico

Github 官方Actions 资源列表

growing-up

https://github.com/favicon.ico

程序猿成长计划

Git

发现导航 - 精选实用导航网站

nginx

https://avatars0.githubusercontent.com/u/1412239?s=200&v=4

nginx参考文档

Nginx开发从入门到精通

https://avatars0.githubusercontent.com/u/1412239?s=200&v=4

Nginx开发从入门到精通

服务器

发现导航 - 精选实用导航网站

redis

https://avatars3.githubusercontent.com/u/1529926?s=200&v=4

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构

MySQL

https://labs.mysql.com/common/themes/sakila/favicon.ico

MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。 它是百分百由MySQL原厂开发,管理和提供支持

数据库

发现导航 - 精选实用导航网站

免费的编程中文书籍索引

https://avatars1.githubusercontent.com/u/14127308?s=200&v=4

免费的编程中文书籍索引

Zlibrary

https://zh.b-ok.global/apple-touch-icon.png

Z-Library 项目部分. 全球最大的数字图书馆, 电子书

IT-eBOOK

IT类技术书籍PDF

Refactoring.Guru

https://refactoringguru.cn/favicon.ico

22种常用设计模式

书籍

发现导航 - 精选实用导航网站

Linux 常用命令参考手册

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/linux/linux.png

Linux 常用命令参考手册

developer-roadmap

https://github.com/favicon.ico

2020年成为网络开发人员的路线图

Devhints

https://devhints.io/assets/favicon.png

WEB开发速查表,mysql/go/java/js/bash/react/git...

linux-command

https://wangchujiang.com/linux-command/img/favicon.ico

Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集

learn-regex

https://github.com/favicon.ico

正则表达式学习

the-art-of-command-line

https://github.com/favicon.ico

命令行的艺术

Peter Beverloo

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/chrome/chrome.png

Chrome浏览器命令参数参考手册

vimrc

https://avatars2.githubusercontent.com/u/11618545?s=200&v=4

vim配置参考手册

Jenkins

https://www.jenkins.io/zh/sites/default/files/jenkins_favicon.ico

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要

learnxinyminutes-docs

https://learnxinyminutes.com/favicon.ico

在Y分钟内学习X

Vscode Docs

https://code.visualstudio.com/apple-touch-icon.png

Vscode 扩展开发文档

YAML教程

YAML教程

Chrome Extension

https://www.google.com/images/icons/product/chrome-32.png

谷歌浏览器扩展插件开发文档

其他文档

发现导航 - 精选实用导航网站

参考文档

发现导航 - 精选实用导航网站

菜鸟教程

https://static.runoob.com/images/icon/mobile-icon.png

提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程

慕课网

https://www.imooc.com/static/img/common/touch-icon-ipad.png

慕课网-程序员的梦工厂

极客学院

https://www.jikexueyuan.com/favicon.ico

致力于“让IT学习更有效”,以实战为特色,为注重自我提升的IT从业者提供高品质职业教育

腾讯课堂

https://9.idqqimg.com/edu/edu_modules/edu-ui/img/nohash/favicon.ico

腾讯课堂 - 专业的在线教育平台

i春秋

https://static2.ichunqiu.com/icq/resources/images/favicon.ico

【i春秋】-专注网络安全_信息安全_白帽子的在线学习_教育_培训平台

实验吧

http://www.shiyanbar.com/favicon.ico

实验吧是国内最大的在线虚拟机实验IT教育平台

合天网安实验室

https://www.hetianlab.com/img/ico/favicon.ico

合天网安实验室是支持在线实验的信息安全学习的大型服务平台

网易云课堂

https://study.163.com/favicon.ico

网易云课堂 - 领先的实用技能学习平台

蓝桥

https://study.163.com/favicon.ico

蓝桥是国内领先的IT在线编程及在线实训学习平台,专业导师提供精选的实践项目,创新的技术使得学习者无需配置繁琐的本地环境,随时在线流畅使用

W3Cschool

https://7n.w3cschool.cn/statics/images/favicon.ico?v=2.2

编程狮,是一个专业的W3C前端开发及编程入门学习平台

发现导航 - 精选实用导航网站

发现导航 - 精选实用导航网站

教程相关

发现导航 - 精选实用导航网站

LeetCode

https://static.leetcode-cn.com/cn-assets/icons/favicon-96x96.png

提高你的编码技能,快速找到一份工作。这是扩展你知识和为下一次面试做好准备的最佳地方。

牛客网

https://www.nowcoder.com/favicon.ico

牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库

CS-Notes

https://cyc-1256109796.cos.ap-guangzhou.myqcloud.com/LogoMakr_1J56bI.png

技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Java、Python、C++

数据结构和算法动态可视化

https://visualgo.net/img/favicon.png

数据结构和算法动态可视化

algorithm-pattern

https://github.com/favicon.ico

算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~

面试刷题

发现导航 - 精选实用导航网站

面试刷题

发现导航 - 精选实用导航网站

学无止境

发现导航 - 精选实用导航网站

乌云网镜像

WooYun是一个位于厂商和安全研究者之间的漏洞报告平台,注重尊重,进步,与意义

安全联盟

https://www.anquan.org/aq_static/images/favicon/favicon.ico

安全联盟 - 国内最大的第三方网络安全数据共享交换平台

360网站安全检测

https://www.360.cn/favicon.ico

为站长免费提供了网站漏洞检测、网站漏洞修复、网站后门检测、木马查杀,网址安全查询等服务

红黑联盟

https://www.2cto.com/favicon.ico

红黑联盟作为老牌的信息安全网站,致力于培训电脑技术高手.网站集网络安全,系统网络,编程开发,网站建设等频道于一体

知道创宇

https://www.knownsec.com/static/favicon.ico

知道创宇,网络空间安全专家,长期致力于为政府、企业类客户提供完善的云安全解决方案

安全周

关注安全资讯 专注资源共享

全球被黑站点统计系统

https://www.hacked.com.cn/favicon.ico

主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据...

安全脉搏

https://www.secpulse.com/favicon.ico

高质量的全球互联网安全媒体和技术平台,安全爱好者们交流与分享前沿安全技术的最佳社区

网络安全

发现导航 - 精选实用导航网站

XSS-CTF

http://xss.xiejiahe.com/favicon.png

XSS-CTF 是一个练习和入门的XSS平台, 每一位WEB工程师都应具备的基础知识,提高网络安全意识

XSS测试

XSS小游戏

Pasteurize

XSS CTF

CTF

发现导航 - 精选实用导航网站

fiddler

https://www.telerik.com/favicon.ico

Fiddler是一个用于HTTP调试的代理服务器应用程序

wireshark

https://www.wireshark.org/assets/images/favicon.ico

是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换

XSS平台-白帽安全测试

XSS平台是一个免费给白帽安全测试的平台

Security Headers

快速轻松地评估HTTP响应头的安全性

w9scan

一款全能型的网站漏洞扫描器,内置1200+插件可对网站进行一次规模的检测,功能包括但不限于web指纹检测、端口指纹检测、网站结构分析、各种流行的漏洞检测、爬虫以及SQL注入检测、XSS检测...

xray

https://avatars0.githubusercontent.com/u/7302766?s=200&v=4

xray 安全评估工具

cmd5

https://www.cmd5.com/favicon.ico

md5在线解密破解,md5解密加密

sqlmap

https://avatars3.githubusercontent.com/u/735289?s=200&v=4

自动SQL注入和数据库接管工具

nmap

https://avatars2.githubusercontent.com/u/63385?s=200&v=4

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端

xssor

http://xssor.io/s/favicon.ico

编码/解码,Codz,探针

在线子域名查询

https://phpinfo.me/favicon.ico

在线子域名查询

fuzzDicts

Web Pentesting Fuzz 字典

BurpSuitePro

免费的BurpSuitePro版本

辅助工具

发现导航 - 精选实用导航网站

Vulhub

https://vulhub.org/img/favicon.ico

基于docker和docker-compose的漏洞环境集合...

SRC-experience

工欲善其事,必先利其器,一些src挖掘奇技淫巧,国外新技术的学习网站分享

Intranet_Penetration_Tips

内网渗透TIPS

知识/测试

发现导航 - 精选实用导航网站

网络安全

发现导航 - 精选实用导航网站

网络安全

发现导航 - 精选实用导航网站

百度统计

https://tongji.baidu.com/favicon.ico

全球最大的中文网站流量分析平台,帮助企业收集网站访问数据,提供流量趋势、来源分析...

CNZZ

https://www.umeng.com/favicon.ico

CNZZ数据专家是全球最大的中文网站统计分析平台,为各类网站提供免费、安全、稳定

百度搜索资源平台

https://www.baidu.com/img/baidu.svg

百度搜索资源平台_让网站更具价值

问卷星

https://www.wjx.cn/favicon.ico

免费使用问卷星创建问卷调查、在线考试、360度评估等应用

金数据

https://gd-assets.jinshujucdn.com/favicon.ico

金数据是人人可用的在线表单工具,帮助用户收集和管理日常工作中的数据,提升工作效率

Google Analytics

https://ssl.gstatic.com/analytics/20201013-01/app/static/analytics_standard_icon.png

Google Analytics是一个收集数据并将其分析整理成实用报告的平台

腾讯移动分析

https://mta.qq.com/mta/resource/imgcache/images/favicon.ico

腾讯移动分析是腾讯数据云,腾讯大数据战略的核心产品,提供app应用的移动统计分析,支持android/iOS平台,实现用户画像、数据可视化、数据挖掘、渠道效果分析等综合数据服务

Google Adsense

https://www.google.com/favicon.ico

Google Adsense

运营相关

发现导航 - 精选实用导航网站

运营相关

发现导航 - 精选实用导航网站

运营相关

发现导航 - 精选实用导航网站

凹凸实验室

https://aotu.io/img/favicon-48x48.png

O2面向多终端技术体系,致力于构建沉淀与分享包括但不限于交互、页面制作技巧...

腾讯IMWeb

https://imweb.io/public/icon.png

Web前端 腾讯IMWeb 团队社区

字节跳动技术博客

https://avatars1.githubusercontent.com/u/4158466?s=200&v=4

字节跳动技术博客

淘系前端团队

https://fed.taobao.org/favicon.ico

用技术为体验提供无限可能

有赞技术团队

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

有赞技术团队

Team

发现导航 - 精选实用导航网站

阮一峰的网络日志

http://www.ruanyifeng.com/favicon.ico

阮一峰的网络日志

谢家和的博客

https://www.xiejiahe.com/favicon-128x128.png

WEB Developer

王垠的博客

https://www.yinwang.org/images/Yc.jpg

当然我在扯淡

Dan

https://overreacted.io/favicon.ico

react作者的博客

个人博客

发现导航 - 精选实用导航网站

博客看点

发现导航 - 精选实用导航网站

博客看点

发现导航 - 精选实用导航网站

MyNAV

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcElEQVQ4jXWTP2iVVxjGf+85596bm5hI1ArW1D90lXZRdFIJIia0IDhJqlhELXFwsDi7uOjgFAUVRW276CSJgyTYiEspCg66OEiMDjoUrybXe7/vO+dx+BJ67+A7nXOe9z3/3ucHnXFW7v+J3MiYBraPaQA61rtywLqEs5b2HNeGeo2j5hhWZAPCLDCHmGm2uD59xV4v53ZsIAeWfhrX4VDlgjPWxggSIMBBJUBMvMvb/D512f5YrrHlwc8ndchXuFXkQCLD8AbmygurnRGdp1qtQZHxy+Ql+xNkBjB6VBtDnWcS/UkkA79UyOcWtDPY+C3kkfhxARcCjdYCPz64YfMOwPVwwldYqUQRHB5goQkLTWzzEHb6Vzh3CoLHx4IiVBis9XECIICcM4ZTREn4RgP66rDjB2x0J9q2BaoV7N5DNPcWVq3EFzlyxjDIhd37GUhiPQX09mAH9qJdW7HvvxNglgTtDE09gnoPEpgEEkPbx1jhil7MwElgBoP9sG5N+f52Vrbp6Qt4OQf1HkgqtQTWn2Hu8V80zJgPFVj8jC7ewg6egclZo1YVgCZny3ZLGELmIDjmp+/wyYEliRnnMW/E1YPlz1+7ixabxqs32JPnqK++dLqIPmCCGbDkAPLI1VTQwOPzgtjXC/81YPof9Pe/aLEF3oFEdI4Qcz4021xdcmJppNFxHanWuFFkAGQp4lf0YilBs4WcJwLVUIEs5/D9CbsNcl1WHh3XkWqF8+b5JhUQY6l6Dy6AEu/znDNTE3azw8rdMO37TZtqNY4hdqfEEIB55i0xmyeu3J+wuU6YuqMbZz8ypoGREmf/NZy/AG6PHowdArJiAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Hoarder

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Home | TOP500 Supercomputer Sites

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsElEQVQ4jY2TTWhcVRiGn+/cM3d+Osm0UYuRpKQLFenCVrHipljUgnQhCq24qLhyJUYlCkKLQVChWFoUxFVNNy78wYU/VQQVxCLRgo1VrEUSisVJtGk6ncyd3HvPeV2MO0Xy7t+X74PngXXk08cZXTjMwdlnGAfQNG49PTSNB1h4id06jrI3uPDHER4FkDDg/5dsmhKwjU2myoJQRsav38iJ9lGeMkMSZgD7xqjffhdpvzsiRoDlZUab2P070/HhND/UrLG/V1gQkCD5Cr69zD0Tz/OFnTnI1i2bec/DBkUiYDIwj7mSLY069W5uQUEOAY7QqOFX+3z73Al22eIRDm3exItZGMLXNw1uzzvE3grl8FbFq4tBZS9xQ6OQDqGVBQh59BVYusIen6b+3qJbBm56IPpdx5ySlOL0YZRUrb590uJfc77/1ZM09r4rnEeXz9M7+Yhq7s+kUWW385QTZepc/tPbSXFuxmJ71uU/HnfVHZPW/+QAVJqq3LxPUrTi+5flxu42d80txBKCkhudwAtDZTTyDioziD0AwuXzqL+CJR7MKd3+NPncm8TF7yABR/BO0PbOMCPK182qLWL3CmHpjDUe+siS1gTlxW+wWovex/vpf/6EFDOcgyB+91nBqWYt3EYFlT/PUP72ISSy7OSDSsb3Rl36QXH5rFv77IDUPUfSMEWJImBRnLILr3DHdS2+LoVXgUkYKVhJqBseD2sCciAdAJp6LCv4dXaOnQZw6RhvjbR4rNO1NeesohhVr1qymrsvr2a8XsRw0VzdiiKjZkTn8SW0J55l3gtsdpGpbSk7hjfo1s6q+o2UWifTB3smw8OnoRjAkf037gIz0C/T3DB2LTPVGvfla2Rn59l256vM/yNU/FfzBWSGBk8xMAtwi0eZWnqN99+BZD3G/g0EOj/O4xBoDgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

程序员客栈-领先的程序员自由远程工作平台

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jZWSvy5EYRDFf2f23sXSKCQkGpVSi2rjCbwGpUojHoAXINHtm4jgFSgVJP50u3at/Y5i7967f0Riii+TmTlzZs584vKdaTMIG0CaymVFAqTKBc+WDi3A4Mx2N4FVMIBdNpgAhETPh5tz59sNuvZgsqiAVeBIhrpaj708aO0tbSxIyRrNhYQEKicMMKGPTx/fdJrr+f5G3V8uJtUvDJkk91NzLT/bbZzed64eerW6om9DghTTQmVgzPKiju7a10996jrZmt9ZzQf2S9sHt+2eDYHTECku3gC+EqHIlQZemVcjk+E78fyZDIRIJmLIABBzgZVsQq9dKkFrQ52FypEkIFXHg1qRNeXq1SbVpUeJQv0iUla7uH1WiVA2gzGKWYbSNPYy6Y8FY/a3/G3/BvwAXPGMy7CiL0wAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

CloudConvert

发现导航 - 精选实用导航网站

油小猴

发现导航 - 精选实用导航网站

www.similarsites.com

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuUlEQVQ4jU2TzWtdVRTFf2ufc+/LF1KKQpCSkkSL0I/QUIsO7aA4qQMnzhQ1VqkRHNR0UAcVcWAVdZAmpYSIDvoPSEGLYoSWSkTUCELVECTFGKyE1qRN3r3nbAfvvZozOwvWb+99zl6idQQ4nOna82Bf369/nrzZ1jn+uo82CvZJLC/Mc21uTpvgAjmAdcz7B6aGRh/uvxgaXb0d84lTPtFocBXjExefjzzO1dcm/OmW2dWprAPD0w+Usbzm5LXvr790COD4uD9SdPOzRMyZGrAYMQtQV7wzeVZvgssAD2ZnY+gbAi13qodGGpQRU6IGAqC6pm5uUZUlp8cn/BWQ68Dw9JEi2GV3F3BjY+3Wvus3J9affZWd9/XwowK7Uk0FRAlyJofW4LdSxaMWQnhOCsFJlUIx0L1jxzMg//Sc/sEYM7FhRoFTu4OE5YyHyE5FXjaDx7InlxQ8VzlYeHvvrnMPAUy+qy+qLY6FyHIsKIDU/jOlGjdx1NzrAfcMKODZwfu7eopLe4dbkKkP9PXdiidSZiFGYhtiOUPODJsLA0cCJHOaNWhPV+z+cmRw+jDAhfe0WDV50p1fQiDi5PZbRxNhRQq4u7c0C5mqgnp3UZSXRnZPH8RdFz7SStXkecQmgAzMuGFyfSdFpHtUhGL2ugLuD6XNMPhWA1znP9S8Zy6HgmBCgm+tzukinnWvgf8hIftWQoweLPoPd7YvJRZCILlTVZlZ+2lx9TMnfRWsN7rnJmwjyR3Hc06hIwhiTy/Bxcz59zVncKb2Kr6YvPlbDH0NkLlnh5yDeiLypb/W78x3mLHkqfXbXLn7N6c6q6wflsb+qNPmEff6Y0drpsJEaVn+u+fyhdXVNzYATpz0YzhXVhY5Ojurf9sdbY8z7B+YGirKeMgU0u2NtW+2R3ts3AdnJrXUurUi/R8QyTtLzvPYgQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Etsy China - Shop for handmade, vintage, custom, and unique gifts for everyone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

The Verge

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABsUlEQVQ4jXXTO2sUcRQF8N8dJxojQSEgihCiILFTxGCjhYqiRUISDdhpo58ghaWFn8LKRiSs5okoijYi+AIVUUFsIj6IhUUivpLdv8XObNbFvdUczjmXc8/MxElpXyK0mcT8lPha4jFpyzK9GSlIeeISBlD7jz+CcVyBi1L2kgsZZ1Cr8SxPTAeHsLZNgs7y+QXbM4awCX+CmTxnrso57C10j/G09AevGnE4jr4CvsVsXhGfRqWppgVffjJ+S/xuTjIkdQejVvuanhQfM6gyg88FcbCLPa2nrKn3NFDAhRrTkKkf/yZxtyB7agy3NBHBCLqLXu5v5nVjQUVUExP4Udw6OCZtW311+tTvh1+YuCyWGwtgAw8TTwrYv8KRkqtyDDsK+DznQck1FlwVi0GlnlCeMXZW6hyUulK9vFJ7oyK+lb68paubidNBb2LrEn0d9GB/wc8n5poNWTOY5ANO4QCGM+YLvLGQ3N7N+2ZP23+gXl7qXeFO0I+ljJHr4l7bBK1T5Wiws4CPov6V/jOtHTTmhLQOh7GI5cS1ivjeqmt7wnmpY4FdwXpUa7ybFUutur/QZXoo2k7BZgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

六星源课堂:每个程序员都应该访问的17 个实用级网站! - 知乎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Gumroad – Sell what you know and see what sticks

发现导航 - 精选实用导航网站

HiringCafe - Find Top Remote Tech Jobs

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAZFJREFUOI2FUj1v20AMJc+WFsGwJ0/p6sCZLED/IoWz+6c4q7WmQLoJ3lJ4c1atzj+If4GGBnAWwSkEAwfcHV8HtlcjSJE33JF8j/dBkgEACCHQZ+j1eszMIsLMn6oVAPpEdDweN5vNz5eXnjEf6oLIl4uLxWIxGo0MMz/tdrfLZZokzAyAz6BumiS3y+XTbsfMFEJo2/ZmPi9XK/wH5Wp1M5+3bRtCIO89gNfDIZ/NyrIEYK11zjnnrLUAyrLMZ7PXwwGA955ERHOaprmaTquqUkKDVVVdTadN02hQRAiAiDjnAOz3+8vJ5HG71Zc8breXk8n++RmAc05EAJBuMaeu6zzPu67rui7P87quz9Ui0o+lMMaISFEUWZadTiciyrKsKAoRMcb8kxGROupbazWiq7VWbWWJqK+t0aoTkTEGgDEmyzLvvVJ6iSrNeduVS5JERL7d3UFkOBzGsxX9aOnD0jT99fb29fp6PB6v1+vBYPB+2GI75S9+PDx8v7+PU6z1iWAAMTN+98/MhXBeHw3+Btg7btfem1ozAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Data Structure Visualization

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABj0lEQVQ4jbXSO0jVcRQH8M+595pP1K4iWOZQbSkZQVhhS2FhJNRgY0UQ1BK1RLRENEhBU1OvXaFBycGxIJoMygalprCHiqgJCnr7/RvScHXoTAfO+T748g1XDtrK5Lb0jUJTvmxmkRUo1GqosrpmfoESBY1F+WR6jm121Mtl/4C1G0sF1ZsIyzed/ioMjBzuOy4O6b1g6Ka4xjNDb/R2GRx1/ioHzN1VXae81fiYQt++knImnSiCb+4/1Nvl3ai+k2oeO31JsX2dPivJfZpIJLn0cTqRoizduZ78SEdOpVfDaXdTsj2RxodTRNp/JhXShrmUQfZV1WXLz2XfxTG+0MOa9jaPXnryflOs68g2Ky/cfkCz7LPoY4wZWtw4Z2Jcbk8dWPF2CjqKWnr0PxVHIQ3QyE7ZB7ELCqv5XDW13Qa7YXLW8ghELQvUUwPRTIkqueK9kGJxNDp6Y+p1rAzF2f4gsl+hPjpvhfkg5MPeUBehklVa+M0sDfykSCVLLNFKkNhGhULTxc4tVSP+e1v/ALHxh1lBNmIPAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Stripe 如何创建科技行业最好的文档 - Mintlify

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABzElEQVQ4jY2SP2hTURTGf+e+l9ikrwGzpFL/rFIFLUIJSAd1kE6lYAUJREqHzg9EOj4cNcWSUZBUS4dCoTg4ZCy4BAqpFroUpwqti6KmNX/63nGIjX3Jq3qmey/f75yP7x7htFLPDO4OPRR0RtERIBmh8iWKTe8UU/F4fA2R26cO+F12D1zMpeyAMiLZf8EAphv2M5mySZz5LzjUIF3MpZpNqyyqFaOM4Qe3VHGBD39r0M6gmEs5TasMZAUd+/Fo6V1HoZ4Z3D3nAk+7HbcdTE1ZTtOsAVkAVSuci3jB/sXZeQIeRxiom4HRZB7+pK3Gvx5ldX9x77nA+/Crbho1OhMaqDKN5/VYxfOCQLUU0oq8NAQyEm6qw/19O1eiXBiheuK6vnf+bMkgGjsBH2HLg4O55S2nMD2MFw7NGFoAWm9VGg4TyH1fnEJ+C7h6DNfc16sDz/KTKqwA2wolQaqi2rIupO+JZd/k4/e7X+defKO9ibKCBpcj4BhwTWABFBXwP32p2Ed9HRjAriX6F5KHB9VD99XbLjhUAj0wnUUCkoX8uIE3UTCq6zE/MdENA1jHh9adG5/jRhtABiWN0AA2BJ7ULtXd+uzSz6if+QWXj65atnGG2AAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

TechCrunch | Startup and Technology News

发现导航 - 精选实用导航网站

MEGA

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABpklEQVQ4jaWSwUtUURTGf/fNzMNkZoLRzDcbhVLb+Y/YyloFQRHtIhlbDCi0dlFQyyhBcCduBP+PcGVmQ4H0cHARvkfJe/ee02LmvRlnGkg8cOHej3O/832cD65ZZhDQ+vwkJmkgZgnDfBc+BPag9N78PDobSWCDmWVjzCeUmyMGniv6tBj+2B0isFMzy2p051+qBkUaNQ+L7Q6JAdDp6VuJlI6B6v/4Bs4T489VTr+1PYDftvDCiVSdCP5Ji8LbDZwqTqRzVPHebOCftDKs6snFSk4X1YLPUS3QqBZoVsnWtkYTdY0m6ppsbed41hfVggOAIoB17l6/PglDSo8fIdaCaucehnhBgHUua1vICZzIJYMXHzbxgtuMPX/WfX9EwlPGX6/19yb9BIfAYq5AhHi1iaQWgLi5znjjJQPDWj0CJ3uKLgJomiJpirWWX6+aPVtpCtbmFhT28zUel8tTfmK+XmmNvs7djeN2HprvhfKVgjTr4l6QclOFGw8UNsFURvyNgCd33J/hKGf1hcqk56UNlPvdVSWgR8aYfSeldwtEZ0O816m/ibHiwE2Nd0oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

namakxin - Digital Artist | DeviantArt

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小红书千帆PC端

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACNElEQVQ4jW2Tz0tUURzFP987I+IMuYjARmq0RcRAi0zKbFOLEPoHoqBtf0ntoyJoZ9AvEMooSFQICoMCN0ILYSTNwChFcyZ0sne/p8V9TQo9uLzL/X7P95533jlIqkqakuSSotxd7pLLFaOUF9LGU086mpJURdJ0Xs52FV0xJtzrd9KNO64vK+k8DfmdY6bZBXZJ7pIUY2JRX5RGrkoDF6Xrt//VUm8mSQFwIJA/BkIyDHHvEWy14FBFLCyZbbdECCDlrcSQb0BK7ywzFQowPWO8+QDlEoRgrG+K+pIJwGU5ztIAd8NMuBshyJo/4e4DKBQTg44OiNGoL8okQEKJcABECIm2JEIwRp/CwjLs7MD5IejtSfd9nDeZGWZGmqCQqMtwT1TrS/DweRKkchCuXYbeA9BXgWYDe/teSGmguyXxclaYwc1RWPkO3WUYPg4vJ2BnGyr7oasTnozD4/GEMSPk3y6KRZiaEeOTcO4kXLoA+zphdQ2yDLZ+QRahuxtm5+DbGm5mxVxA+NEUt+4bV0bEYM1Y30wCHumDwROw/BXGXiTpKj2i3EUAmWJ0hWD2bALq8+Jo1VhZFeWyMXQKasfALDGenYNPn53TA0H9hzHJzSW3VgteTUDMoNGE/n5j+IxUKplJ+mschbbfsGRAFQ2MQiFS6gpsbBhnh6VaDQOzGNOfMQMzmXt7ACEIKLTD5K1WpkYj+d3dd3n+f2tPmKqSJmMeRbnHdipT8rwd9b1rUlL1D5CO+mEah6VfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

3Blue1Brown

发现导航 - 精选实用导航网站

RegExr: Learn, Build, & Test RegEx

发现导航 - 精选实用导航网站

火山引擎-云上增长新动力

发现导航 - 精选实用导航网站

私有化部署 Dify 并快速搭建 AI 应用_dify ai-CSDN博客

发现导航 - 精选实用导航网站

大模型知识库|大模型训练|开箱即用的企业大模型应用平台|智能体开发|53AI

发现导航 - 精选实用导航网站

完整视频 - HOTWIFE XXX - Hot Married MILF Visits a Stranger To Fuck Her Brains Out (Freya Parker) | Pornhub

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABhklEQVQ4jZXSP0iUcRgH8M/vvffULIQjU5SIWlys4bCg7YIKgpYKAonWiDBoqqkghIKIxohyazHStcIhiChoqAazhgYnMzVTDgk9r7tfw5ueUMs9PMMDz/f7/P2G+FBTljQHbxDChm/NbFYLjThVJ0/XFlyFHxSoskykg3aW+C21XXnJzVGzZT8X9XQbOurwgFPDDu51/RypJy+MffDovJ1dxDHTt6Elp3jgb5t3N2B/rzghvjJ0BKZviU8lanIJjF/0cVJ8DCMv9ffa10kLebsLkM9Rl2Zjh2Dkja9XvH0Nx/rNrXg+pXCSYLUilwghW5oQJMGzTyYmtW1zb9DgcVfH9XQ4cYjE+y8mZzavRD2q1d057doFFulmzsyyswNG7tLq/rDLo2LMCDnVGpTX2ME8C1Th8ywztJr6BtUaidSqQrtLJaU+vrNOJDpTVNzDLypKfRZWdLRREeID8uxihTIpkUAn6/99XEKNeWK20YZAlkAOrLJGPRsps/iPyupb4tgANK3WP/AcfVDZ7aoLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

简历模板_简历设计模板 - Canva可画

发现导航 - 精选实用导航网站

30tool-可能是最好的工具网

发现导航 - 精选实用导航网站

人形机器人

发现导航 - 精选实用导航网站

Meta 发布 3D Gen AI 模型:1 分钟内生成高质量 3D 内容 - IT之家

发现导航 - 精选实用导航网站

月之暗面 Kimi 浏览器插件上线:支持框选搜索、全文自动总结 - IT之家

发现导航 - 精选实用导航网站

MindPal - Build any internal AI tool in 5 minutes | Product Hunt

发现导航 - 精选实用导航网站

Free Essay Checker AI - Essay AI's free essay-checking tool to review your essay | Product Hunt

发现导航 - 精选实用导航网站

Validator - Research and validate you micro saas ideas fast as Cheetah | Product Hunt

发现导航 - 精选实用导航网站

iLovePDF | 为PDF爱好者提供的PDF文件在线处理工具

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACVklEQVQ4jY2TO2tUURSF19rn3puHOkFRRnzFQJzEScxEW7EQGxv9CWLUwspG1EKiRLBQFEsLQcVGUAvBRyNIsBC08ZEUvmGMMcGAISo6c+eesyySkRjiY8Opzt6LtTbfBgAIIOYpAZz9N19fBAAEVO4pbnOG3YCtovS2Rn+RT188BICRQmFl+upVM4HXAoxAqAsQAEZ61x9uYHQqMcJLiEikCmnV+32cmBq01hX3k0JH0+TV69vb03R4tgg/lDq2msX3KJkHaiAdJB+TSQpMIcvGGpubO5deuoIvd+6Uxw4d2dkJDQkkgRABUV9CuoqUAYhnXLlUkpEtzrmWapb5Wpwod/BQq759vfVygDsJPBNgRsNaSIEkAQiSQIokJakWQgDpVK26QKrlaP+a/Iljt4aBEoEQBYXnsGhLCMETIElIAsiZB0IQ4pgGwMcJWvoHViOKbr47f34XR0vFjaA9cMTCTMoIOP1SAQWApBp6SsCiRYT3gXGS5dJqMvH40WkCwGip2Bc7dwGSS6d34TAjQkwnC5UK5LNgJHNmNllNbzQ15fo4Y1blns4diXNnGmmF70FeEEHaNEGSzEKjmcukGshzle7Fx9suD1ZYJ4yAhrrb8ktc88nYcW8tSAKmEwC+ySyqSkOVWnagbfjFYJ2j2Zj+gmOkp3ggieysDzIP+AVm8Q8fbn+36p51T95MzKVxLvsGAO9Lxf3jG7v9500b9LG36+6zfH4BAFwD3Hx381vVm0Z6uy6M9XaPj7W3L6u7/OdwPZsAfioWl5e7Ojb/6RL/u/42/BOE6RCtuVZPJwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

百度Apollo-自动驾驶、智能汽车解决方案

发现导航 - 精选实用导航网站

腾讯兔小巢-免费便捷的用户意见反馈服务平台

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACKElEQVQ4jY2TTUhUYRSGn/PdO86MP5hZTY0SoqQVUgZJYOQ2iIJAJFdhi4oWES3aFZqLKGgTBC0jCqkMIgraRBESRkLkxiKSEiIi+zEVdcZ779tickbNwHf5cd6P9+ccWBFkkkxS/MsPHc3M6dxHKbEyLiAwgOdD6s6G0s9J3QaQup2/dHhru0qTFUQAn2ew1jrMHhJdPUtbbZW6YqZw8L27BdDX12WWZ7bLa6rkpnnsJSRjhjmHZbJQUQqXj7O2uQF35xnjHYfYwph9BXDz/G0JEgb7nGM1jg2ex/pMQMr3SfUcIdXcIPf4Fbp0l7LGA1TPZ5O38H0cpUqYVkSZg2hyGldeAj2dUJ+GC73GvX5cJBRP5iwCtjQDc+CmZmH/LtzpNkhXwtAI3H+BMgGUJWFiqpBv3sKaVTnPM1loqoWTB2FgGMIQttfBtVNQXgxjvzFF2LIKzCAbQFsrbFwHpQnwPAhC2Fkvu3HG6H0Kg2/h3V/Oog8kiMfg0Uuor8rJzwZQ5EMYmTZVY12HA28OX0UXQTqfl0L6mIpTjhHnkZrJEBbHsEjQ0ghXToA5JGFA4IwWM3styQoZfMIAEyiZwMfHw8d7MoQ38B7PwHeG54z4gvoX1FiDUhA4DxdmNWxmo54RC+fQg37YvRlJ+BLfnGMkl5lFhU3sVGJHgl9mjE7MsufDdRtbuubLIW8hXYQD3kQBHTlyoeLFQcuWewdkNZ3zJ/rfoX/wB6c+y9Xr8Id6AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Tabby - a terminal for a more modern age

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfUlEQVQ4jaVT3UtTcRh+fmfHzX2yrZofldGHwxAHMdRpeFN/QBdhEV3oRfdBZFBUHpBuhCgEiy6iukgy0YsIrypRwhnlRzOZNVJDOzm1tua2s+3s/N4uTJs56aLn6n3h9zzv7+F9XiAHEpGwUUuSgP8F5QhuBzG3GSOqiySoTVHTqSxplxljkwDwlEh3ijFtOxEGAGekrorOwQ8/BxWiIY3oeSwTe7aq3uiSYzvXH0p5fiRAkhgA2J0W+/i7kK33UX/mY2AuLYIsZot4xWg1jPTGM80AIDHGiYhtmQ4Aze0Pim1WVzcX9A3JhMJdpQ5eVeMmR7FTnxUEqJwPxNOptiaHdSCfAANA4h53a5W3oaXm+AkRBrMhHlvVqqrd/JCnDExfUEDgULh2f3hupuWuxxMBAF2uHb5r98ridCA1MfzCZLPZdbXHjlr3HSxGYaFeIK6pcjSKhZTiJbGw199xS4YkCZv8rONC+82LFT7f9cM19ea0qkKOxvApvMQToiDozQY1HU/6bh+pnADANq3xC1GlHNGuoUB3Wm8Evi7Ftal5GfOrMcHktAvp5TDNDU09nAylg78pJK77P3n1cfmQP/Sy2ldetPw9Q2PBBS0ohxlMRp1BFDPv+/qS/u4ny/HPs0HwqPonSJLEIEnkcll3DLyZLpqakTNkNgoriqqzOizZ+cBocrinK/ptMvAKRmunpEVGJcb4ljU2tt4rKynd35dhopeZjTwRWVT8/d3x0MjrcaTUO42Jxf6etTQyAJQ3jaYDntb6pktKXVPLD12p+y2MzvOoPWvbFLx8xI26ZK8Xqew5EFIwWDooHJpla9MEAPxvcl4QEcuJ6z+v8ReH4CD5bSHEzQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

XPage

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC2klEQVQ4jY1TTWhcZRQ99/vezHSS6WSm+RlNhf66SZVCA24MpSoustI0Dtq0qY1GYi0FF20plVIRUaggWCOBIOjCbEapRVu12mJwUfoDKTZk00UgRBLCzHuZTOfnTeZ73+kiSRsTBO/qcu853MvhHGBNkZTlTlZNZWkHWYv/j6ICgMMt7keHW7zP/g9BPlwmzY0XUwDQ27xwrC9V5ttPVNnbmD8FAFNTTD4+wPXfuK67K2Al+9vX5ZHucK5ypNUNjrS6Zn8ot3j7J3/UMD9161qhcTVHAKCnKdse0bH3oKvtZy837H7qaeBEh8vctKVZBNo6HDn3a1JuXjT4oq80FotFx32/OPyd13hDAYAxrHd06K1KgbsvvOMFEoEZGIzTL1Gicci7QxvhzVoz/P5CoDX3aITfhJIkACgAyORb/vJN4VZ9Q8hOjQf89kRBt3WEVPfJOvR+EkNqqyNDRwu6kAsQiSpbMd7EP7m/rwKAsySIWCF+ZBB6LpYU/vGNj+3tYRuuhzI14tLnFXv390WpSygi2KDIyqVRvGAAKmdFB1o7Q2UhigIIrgyWxQZgOCooekQ4oghyWTozCwBpQBwAFgBE6VdFAbUqsLERcvbnpJ2brKmGlKCUBz54KQ9aAVUAJc4rAL76HrAKEPYk5reIkpcNS7JYpuo7H7eJlKiRcyVePF/hjj0h6T5Zx+K8VVQlQmTvwZjbBsiSeUKOekZrbUrzqO07VGeeT0fU5S/LwcSo4ehIFXeuVIPXzkTVro5IUF7QVilV1VE8+8gMaVB3xsaaP+6aO0hDTk+Y2qEmj72prOnZlK0N7PRYzJK52Zr/evN054Ftk6l9+NNZ58R7PJ0M6F8Yu/5gbzoy/0P/kz77N/vscrxf7t8pH6gx/ykIvc6JK3kAZEVmHN/pxhcK+irB+mhCvzh8P557jANWY/8dK2Z0Jk0NAG80ZVv3J2a2AEAmQ51hRq/FPwSJI1dehpVmNwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

iOS 使用教程 — iKuuu VPN

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

登录

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Top iPhone Apps Ranking on 19 April | Similarweb

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACqElEQVQ4jV2SUYjUZRTFf+d+3/8/M2WYZTk1WUYlskhByxqKhRHYw7ZFrPsYSkhUlFEWVBD4GBGiySJGRERvQSW9GYRptBUMGWTQS1svsriTQunuzPz/33d72BGj83zvPefcc8QKBDhjO1a1r1t9+8IPx38F8CM8T8nrJNoYvwGfcJZDOsLAwQTZriyvu3fqzs61a0+05HcD9N9jJw1mcdbjBGAzBW8zxtd+mHsE2UEG+E0TM+2i0fxK0taNqxe/BSjEFA0ymQFCZDLL1DTZRskJn2W9wA2gJM9aUdzlni/2lmJjZOsijpHRyKQwApcZ0mIDcNRBdsv9048iezJXw0qy689XayYAepf4iCV6NChxahwBwihYIhGZ5CiTZsH3yAzHM2ZKqdjvoHVv8HudmQYWKSnI1P95txNxMrsNaSs54VDkVCcL8aHO+PQ7AMULnLp8iZ1kztIijpQAGBUADxjoNneXQALzVCeL8dVbJ3a9e+AAtuplzrDMIww5TWPEK0RCiI46W3Yt494EXJLc3R1SCEXMqfqynf96uts92fOD3MA1nCIyxoCMYWRqw/1PydxdDiBJgpBTVVkspxZs7fHt2yfX6BUu9Ae8SB7lYgDMm+OnMRPy7COs3CDmejiwotw232++5aDWS5xkSJdAwBDwjdW1f+g5pRX5V21IkouY6zojnnh4x4YG4Fn8QpNExQDjAzv/0+dz7vmYxTJIqt09CcDdcVyGO1re+M+NaVSwSIuAc0zP8aMBdm7xwv5cDT6zWJayEBzJV1KJZmUw5U/f73arZ8YpDB6nx/cs8eZo5io649PPEsNesm8CLxF9d//4jnjute/m5vpplqeCeIyavdrH31d69T/MhPZ9eVOIfnNKeX7hzBd/APgMgQfZrH38DDBi938BGLwydtX32EQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Website Traffic - Check & Analyze Any Website | Similaweb

发现导航 - 精选实用导航网站

Top Websites in the World - March 2024 Most Visited & Popular Rankings - Semrush

发现导航 - 精选实用导航网站

有道翻译_文本、文档、网页、在线即时翻译

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4UlEQVQ4jSXTy6tVVQDH8e9vrXX2Pvvktby+8lXUDWkiRg8bKAjSqKCRDePeECIaFzTIBklQDhrUMEt60CAciA4iSkxL7P0YRYH2IrES83ruPfecs/davwZ+/oePADyzY4GQnsftHVDAFrmI1dFs7kGyaLMZtWaxhREXmU4PafzXO/LMPQuEeBQyuBRk0Wa8oSfNDUzJMO1El824hVE2yyWw3JpJuyDf/MCfyFtxyVAiOZtBgPtuESVDm6FkyJ1pCwxHsDjOlCqx1P0ekLZgCigQo10Cvn1GbiogQK9nVxX0KhEDbL8L9u2ONC6sTtsSkiEIjFfGlBQVZvr2qBNVD0onXR1CXZsrf4uXDpuVMZw7K2bXODj2xHBEPrBf5cMjXA0Td5da6dkXYf8TMDR+5jn81vvitTfM3Hb49YJoaripp4ClSQgaffm9495dCg/uVLd9Du3bg099Cy+8DPfvRseP4Y0bxdZt4vIl069FlZRKKe4GDd2575R//MmDp+ZF08fnvgEMu3bAI/N4dBGdPwtHP4ClJdGvzRhStgkxElyYHDlG8/pBDPixp9Hdd+LrQ/TPNXAPb9qCYjJLiyJV4uLYwQRRrNTMuDv+sbwyYXrmC66cPEn31Q+E9evRkcPw5AE49AruV2K4hC9MYDErRIJjTKbtFDdtNP2ayatv0k2m/PvJp1x79HFWpktM99wLH52xTpyyP7+MrmTTC1a3Zm/OsvJwkfqzdymral3f+bC7qqdcJrST/8iMicib022KVd+KQURMKU4KUaGb2rOz6k6cpjt93gpJIUQowW5m5XbZdewrrVpnlynYxsWEgDz70B8mb+ty23WLV1OpknMdafNU2S05T92VqTYMNrkOFTfOOCMSlN8CxQel5BRSimvXFg0GCBEUCARLSeuaW13HBgMQTEgJYqGEg0HXTr1NZl6h/iVmES0HRYIS/diwttngpjcjA1K48YPwMyXP6/rX7/0PF06Fun4dhroAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

常用

发现导航 - 精选实用导航网站

Claude \ Anthropic

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACDUlEQVQ4jZ2ST0sbURRHz31JqDABQ90adyZu6idocCMUotBQcV3FbqSburGfQVuwn8Fu3FlrnGDtkJXdhVjQTApqsnBjiU5qhubPJHldiEOiFml/u3t597z3Lkc8r/FM6+4qyDj/lkOlZFlard/f/2P4JkfSatW7gPR2RQQRQWvt11prv+6JDt437LourusSiURQSuE4DoZhEA6Hb0NE3R5ut9usrr4nlZphff0jlUqFxcXXrKy8o91uI9J3H30ApRSlUhnTzFAul9nc/EQwGGR4eJh0Ok2pVEYp9XcAgGVZuG6NqakkJyen5PMHpFLPubqqYVnWnS36ABHBcaqYZoaxsTGWlt4wNPSYra3PjI8/IR6PY5oZHKfa9w0fEAgEyOVyHB0VGBkZwXVdotEo+/vfuLy8ZHo6SaFgk8vlCAQC/QARwfM8TDNDvd5gd/cLCwuvyOcPuLi4YG/vK5OTkxiGwc6Oied5/iuCN8s7Pj4hm80yMZFgfn4OAM/zWFv7wPZ2mtnZWRKJp2SzWU5PS8Rio3Q6nWsAgG3bRCIR5uZekkxOoXUHEcX5+U82NjY4OztjZuYFxeIPbNsmFhu93l2rVdc38jQaDQYHBwmFQmitERGazSa1Wg3DMAiFQlSrvxgYeORL5avcq2+vbQ9orRVwCKC1ptvt3vG9t3/PmaJSSt4ChTuGPBxbKVn+A+V/CrLvaunfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Mintlify - The modern standard for documentation

发现导航 - 精选实用导航网站

Models - Double, the AI Coding Copilot

发现导航 - 精选实用导航网站

火山写作

发现导航 - 精选实用导航网站

这是我们的故事|字节跳动:激发创造的旅程 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

🌟 Anime Wallpapers 4K - HD Anime Backgrounds for Desktop

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

大线索报道:看完抖音的创业故事,我明白了一个道理 - 知乎

发现导航 - 精选实用导航网站

TikTok内幕:张一鸣的巨浪征途

发现导航 - 精选实用导航网站

AI智谱清言

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jW2TT2icZRjE5/n2T0yKq0aJ0hqs2lTFapWCMZjQUlQiaFFUEFsESeKhiAcV6kFB1IN6ElosshBFPfVgG60o0kK8iM0xRRq0TWNqaRvTxP2S3ezu977Pz8MuasGBB57DwAwzjCQJ2A3MANGdGCPO/8KJkQicBkYlydpPWZLc5UlCIpkWllzHpqJOzUVJUl9vouGBPD3dZpKpjT0C5gEPkQycs+cjo+/VveOhFG2rUBxI6RhI0f2pl7anHPmxCYSWHZiVuxOCO8CxqYybhle8tL3CGwfWOHEyY60egcj0bxkP7616xwMVfp7OADw6WIjuucTs+FTkqdfWtP5G2SvPdapYTPTHJanelK4vSff0mW7f4BoaqTE8mNenb11lDhjgFxbdhsbWWFzGNm3sklkicPX2mJKc6fKy6+KSqfsa0+/na7rjFnH84y4zE3kJO3Ao05n5aFs2d2lgS6Knd7r67zZ1Fk0ylAXTzJz0wxR6t4w6O8wkJMmUrjp3PpNS2lGjPOHtbPyf2lrVRQDmLwYK/RVe/ajO4UnIQiSZu+A6dwnt2JbT6C7JHYUggQSmEJBjktDe9xu6tmTa2lfQ/kNoYUnKF/JSCNJtG1qOsoByiRQdmaR8vtX52580dfT7TOMfdmr9DYn+/MuVVk3KAn7f8ytserLqK9UrrYPzy2zg2X1VtLnCmwfXAOf1/fjgS85qDRfgRyab6N7UB0erXj7cYGKyyfjXDUbeqbFuqEL3zpTPv20AcPArvPcJfPyblpABSOiL74Je/qChdBGKJVl0lM+ZHn2woD2PFVQs5PTZUXHyDDayy7TvBWGSGTCLtNEU7dTZROUJ10/TolqXmSUqrWvlsloztvZhLz5ueqQ/SOSE7JwBuyV92dqGS0p0uSL9Oi8tLEuNJrruaumuW0039/zLaWNM7TmPAadjJMbo/t8QrzxiaM15pi2svwHcLD+MVIJbdgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

寻一款开源在线相册软件 - 问题求助❓ - 小众软件官方论坛

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACJElEQVQ4jV2Tv2tVWRSFv7XvfS/xPpMMDIyoRWIhgzMZjA9MgiAW2ihiaxETsRkG5m+awh/gFFaWFnYDIjLRJiNYWdupL+S9vLuXxbkvhjlwqnP2t/Za+xzxx94q9dxD0CXcmrQQAqgENiSzJSOMKoF3mY7vB1XvMfX8kJwaJIQiBKOWe5cXuDs8CaOWCMApLJFTU88Pqeongao1DvcTKXAKZNuA+P3qEg+uLAJgBApDCilKTX2xxplAAMagQB4nP6/Msb48z6Q1y2fn+PjpEPVDtkzhB84MbBUJgZDCMDHb6wvUlWj6wdblBRgniu6iSgm2AiFsutbIQ2iWarY2FrGNDVsbC/QGVYmJWRYGdcxCNJUMBy23fm1Y+bFHJtjml9N9rl9o4CCJ6EbTdRFdK4BIBBLbm506prWxxc7GIhg8E7SPAQBJeJycO9PnxoWmHAZUIZC5udpw6qcenuSR+jGAiTCMkzu/DWj6QZswe1Ftwg9Nxe3VAYyTKvx/gEgLQgxX5o/any13WQyX54qHMrEOUKaPOofTtiR/rL48ERdQp1f4xoHkWYgQfrG3X5IGpm0BIhEhXvy3D1XYLnJIDhSByMyUGunZ66/++81nenV835X465/PPP93ZJ2QMlNlaBHizw+79Jo1JqMSb1rYbG8ucu38CQy8fL/P01dfoCeQDDb9QXA4eqfynfuPINbItvNiMUqQj0wzqDhyHpUg3zKd7HwD5ZsKj1FuVYsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Shell是什么?1分钟理解Shell的概念!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4jV2TzYtcVRDFf3XvfR89Pd1oZoYkaBKURCcaJaCLQCALEdGF/0EQNAiBQATJQnQliIuAC3HjOpu4NhDE5A8IiCFDskt0jF8ziuPHTE9/vPfuPS5et0xbq3urOFXUOads7fkjT/i8/DTJXjUUmIWZMR9Cmj6scaavYjV+J1hWfr7o3Ss7TUpzQOcgJTRLe9/mJRnyi969vp2Vhd194emEkRAOMHNOSpE42DXXKbGiBAmNRrLgwQdD0gwTwGjBMnNOsarM8oKlN87RP/MS+aHDECPj7+7bxicf02xuyLLMpgMJIDDMMMW6Mt/vc/jyZ/ROnQagGezgfKB88ihbV69Q/fSj+TwXyJAUMDMEyTDVNQcvfUDv1GkmD9f55fJHjNZuY97TeeYE1a8/47IMJJvxZXdfXBVAmowpjq1y7IsvAfjhwjn+uXmd8OgSpESqJri8wEIACaZchxnjaVLROf4sLssYr3/PcO02YWkFm9Z9nreqSHMKu6nooIRf6CKJNBoiCbTXBXs//L+BMO9p/tzCzCgOHSFbXiENB60fANUVirGdvqdZW00JK0uGd76l/vsvfK/HgXffI+xbJg2HpGpCWNmP7/dRjP/tD9AaCcycVzPYtqWzb/H4+x8CUG1uMLx3B9fpsvDcSR5efJvBN7fw3a7QTEYMDEnJQndRW1evWNrdZfnsm5RPrfLIy68BMHpwn/qP33FZmIKnBpqzsrUbxt0B1utbfvAxfHeBZmeH5rdNUdfg/byVBTf6s2OSkJm5Xh/Fhsn6A0gC57AQzLynlQf1vPPbTfraqR6fH8R0TVicXRspyczhihLX6eCKAnNOUzDC4iCma6rH5/8F5tA3xipPqRgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

HyperText Transfer Protocol (HTTP) explained

发现导航 - 精选实用导航网站

Python | Program to implement simple FLAMES game - GeeksforGeeks

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

‌⁣⁢​⁡⁡​​⁢⁢‍‌⁢‍⁣⁣⁢​​⁣‌⁢‍‌⁢⁢‬⁢⁤⁢⁡​⁡⁤⁤⁡⁣⁢⁤⁣‍⁤​⁡‍⁣⁡‍字节范典型案例 - 飞书云文档

发现导航 - 精选实用导航网站

AI Is Turning into Something Totally New | Mustafa Suleyman | TED - YouTube

发现导航 - 精选实用导航网站

Y Combinator

发现导航 - 精选实用导航网站

Perplexity AI becomes a unicorn

发现导航 - 精选实用导航网站

MySQL - LOAD DATA LOCAL INFILE将数据导入表中-CSDN博客

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

墨天轮数据社区 - 乐知乐享,同心共济

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACyklEQVQ4jSXOzW9UZRQH4HPe996Zuf2wHbG09gMw5aOgDrRoCogGFpAIYWl0YwgBlBBilBAgBMIKDCtJgAUhxhA0MbAxgQRTU5AU0czAVKyttp2ZDq0DLZ2WInRg7r3n/Fjw/AUPqyozE5EomMgYvjkYnLhcfhbQznWRj1dHRJWIrDFEBMAwMwBVWEPGUDIbnOryZ0oUhjjf449M+tYYa4xCCcTMrKoAjOHCNL65Wr4+EFrL1TEKVSts5Ucb0xm/+6sVn9d58ZcXo4BhKkzJ3h9K3f3hp2sjO9a5ROSH2NJh47Uz3w1c+fLGsannM8SkAImID3zxoyYO/H/5ThkAoP8Uwt68Lyqiwbm+i83ffnDk1kkAoYQEoJTL/Xrlr66/QwAiGoQCAEAo8jK8r+fE0gubUuN9AOz+Za2lrw/Pu3VxkfeY2lczk7VGFCpwrFEA0N/H7/ZNDd28f8dzPJ7Y0EmBL2BSnXP2QmTpW9ls9t/BISgWLmptW7Kkvzi89ZcDbEyoErURh6MxLT+3jgvXcTxvYvpRT89vCjDz+MOJmsqaWE1MNRRVkHFca6r3HrKvzcXsbOUnW2lB65+plB8E777T/t6aTgIl06n50YZdHbuqKpobqxoOrtzpxNZvJMd5tGebyzxSuD82OtpQX9/2ZsI1lL83OpzJZUbGPovnNy9b4LVsf7WizoFIZNVab9X7T5886esfYOMkEu3ubBIiy1es9Kobm+mSf/tgU9MmqtgvKiwibAxPPkwPDd8eHGp9Y/H6eT9L7jgRTMtuY13NnjTxt7mjS516gjpERMB01Bv8rxCLVCUWejxyGlC2Ec2fESHb+OGD2qNadJsaADIGADPnM5mpYrGtbXHd6/MDqmIi0gDRuNv503TL91dv5O6m/2A2zEQioqqTk8VkMlWafapAWDjvX6v1u18Jx84p4JfLvb3pXC6vUFV9AQr9oMOJNcy4AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

mysqlimport是MySQL数据库中的一个命令行工具,用于将数据从外部文件导入到MySQL数据库中的表中-CSDN博客

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

How I Won Singapore’s GPT-4 Prompt Engineering Competition | by Sheila Teo | Towards Data Science

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAM5JREFUOI3NUaESRVAQ3bvubJMoPsCQFEkUJNVP+DPBqIoiKRRNlCSqsq4XzBjvlee95KSd3T1n9pwFeDCEEGeNiGdHCHEdaR80XdcBgJm/a9u2XZblsizDMKRpCgBRFFVV5TiO67qmab5xiKht2/2COI7rut73PcuyoijCMDykJSIqpYIg8H2fmRGRmaWUSZJYlrVtm+d567oahnF4w1+zQaUUADRN03WdlBIRiQgR8zyfpknTtL7vx3Gc5xkAjuW/TF9jJaJbx9183APxAkMeYSPGQDyBAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

真实案例:程序员技术最大化变现路径 - 知乎

发现导航 - 精选实用导航网站

Jeff Bezos: Amazon and Blue Origin | Lex Fridman Podcast #405 - YouTube

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABx0lEQVQ4jZ2TQWtTQRDHfzO7yUsNKSG0heJJ0YKnCvVSkHrV7+BBeu7Vk9+lH8CLN6EXk4Lo1V48lGClFBELGmmSmr73djy8fS8vll4c+LO7s7OzM///LhQmBmrg+uDtZrgIBQQAKyf/YQbiBexFt9t9niSP7ji3umrW7og0UfWL0ZaOzGYjmBxn2c/BdPpJxuNz+vDwFxxnqmaqZs4V8L5AuS6haqmqXcDpO3jCEN4YmEFmkMcxrSCSGqSh8GcGIY52Am91Ce5HJ5EYBRwbG45222HmUHVS+DX2DhASuKu3oAeolGSqCiDs7gqHh8L2thCCxOQSbxFAO9BToClzNQSJokwmsLUFgwHs78P6eklnlQho6c0axUKbTVhZgUYjHpeqCwE8kMWFxYNF9uVlGA5hbw8ODuqJzajqnPENPtfYDxU2N4OtrRVzkVDfC0V8/h2G/g98AR7ESkJF8tFRcYdzkOf15iRW6y/hlD48voCz+BbmELFrvhrG8OMjPBOAV3D7qXM791R73Var00qSJRoNTyifB5Dn+eVsNv19dTX+mmWj93n+4SWciM1LKkmqy7RoImFBqPqPfH39K7t/4A18f74nAH8Bjm35s3ZkOjEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Wallpaper Pack - Sleek, Simple and Clean HD Phone Wallpaper

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

High-Res Preppy Space Pattern Wallpaper: Zoom and Enjoy

发现导航 - 精选实用导航网站

Classic Nokia Lockscreen Interface Wallpaper for Phone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Classic VHS T-120 Video Cassette iPhone Wallpaper - Retro Tech Chic

发现导航 - 精选实用导航网站

wallpaper

发现导航 - 精选实用导航网站

Todo

发现导航 - 精选实用导航网站

小云搜索 - 阿里云盘夸克网盘搜索神器 蓝奏云搜索| 网盘搜索引擎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABE0lEQVQ4jWNgGM7gPyPD//+MVDILalDDfyZ0KRYUXsN/JoYGxn8MDf+ZNAUfazEw/uX5+I790jNGxm8QecZ/6AZgdaLR5CdObOxMkj/+/Of8+/evHDcH0/Nfv/8J/vzz/9bVPLm1DAyM/zEMkOl7zCnOzezOwvT/6+dfrMevZYt9YWBgYDCc91xUiIFB9DfDv8/vv/93ZvjPyH05R3oqA8N/RiSD/jPqT3mobTP7uYPtvNuiEOc2MGHzs87kJxk6kx65wfQRGcqwQGxklOFLZhdmZ8j/w84w62qK7DvUQPz/n5GBEeE/pKCCiDX8Z3jCwPhdavqTK+z/WfgZGBjQDMCqGdOgbz9/nWZnkn5HnOuHPwAA6T5kFPG+MYgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

喵狸盘搜 - 云盘资源搜索

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACQElEQVQ4jX2TP0xTYRTFf/fx+g9pCQYINSIEkxoT2N1YjCaIOrurY0OMcXRxcjEKLg4yubvAwuSKmyE11BghIv+kUmjfa1/73vddh7aQSPFOX27OObnfPecK55SqSqlEH8DgIJ6IaDec/NvYrug1V3giDjOqZNvtXZRlR3k1lJFv5wr8rmlelZcoyYZRahHEBPriJ7BAlWcjaVk4I7BX1bwIr6uhysqWpXiseDWl7hmu9Av3cj1cvegCqFXy2bS8PRH4VdFczOFLNdTk4rrlOARVOD6MsBbqYUQlaPJ8Os31IReFwHGZGk7Kdwcg1sMckFzZOiV7FYO1renqoSGIlIXPHkYVgaSGzAE4qiqq3GkYpXisRJFSPTKEzdbSjVX8ZgTAj6OQ9VLrjcOMqoqzCykHLvkhHJYtlbIhilpkBf7UGti2gZGFnapp+8wokHCyrYmJO2BC5XJGeDDpYlU58ALqoenkgoa1ZBLS2b5uAg4QIGz1xYWxfmGjHJFJKLcnYDRz6rJnLOm4MDUc7/j3cxwajoiowBLA3ZxDyQ948anKYd0ym0uQcIVaZAiMZXosSW9MOl9YanNhP9AJDGsovV8PQuZXffY9S2QV3xgSLtzPpfhYrPP0RpqbE6kaPUyOpGTjNEi+PhLlHSCRVYqliB3P0J9sjZ1yhdXtBh/Wanb+1sDjkYy8PxPlPV8forwR6O12OAi+QH74gix2vQWAcl3Hm4Y8MAuMtUGb1rKshvnsgGx2Fe9WhYLGCwWN/w/zF2tGKASRR1acAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

我的小站-云盘资源共享站

发现导航 - 精选实用导航网站

地址发布页,收藏我回家不迷路!

发现导航 - 精选实用导航网站

云铺子 - 百度网盘搜索引擎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jYWSQWhbdRzHP7+X9/Ly0vdM0jQ10xJSRQyoE10coxS2oeJF8LJLDx56d7AiOsRLbp7EntxEZRdhB3MZIioIm4oYcWoPYqvrWMY2m7VJ99K+JC/pe/+/B6F0c2Wf2w9+ny98f/yE+zDyD1dlLHVUi1RAh/7IWo3FunDA+bp5767sHfTVx6qxZZzRCaoqmYSUTSg2PfFQGhDqiLkwlf7q5v8Cou+nT5A3zg9FzO1IuBPDhoah45DwPDK2SWhN8pN6ttVRmePvTZxc2Q3Q35QrytS/DLpJ13c0PVtWgiSLYZKf+4XxlErIixrjVKOfm1h3Z8g5btMy1HO13IJvAuhYnyE03FTLIlEa1ZOy8/qh2Wa4p13jy2svfHq9l7n4++bVykzp8XLKzr0LvCW6Xq4oUy9Lx0a2rFWyvWdk/i55l+y5c2Wl4mXLNVJm5Qn/9mZUMJRSr/APyJYFsLifDODPzzclGH2209cIZB8et6qG8aEuG2c1/KGhr3/cT95lEF2WYISOYgSeNOkAWkNbQcd4oI9SEb0RY4EwkS9goOW/5xjEcF0femCAyBFCm5LzKHlj7C8DFX8HMGwGsCOn9LFj5n7ueO3jKR3YJ3KTj2C7TjBwdpYM+fPWUvdGp7H59xrBRvtpNtY/uF+I9+ZHE9FIn0cns8XKNKA/uTQ9HZoAYbe/APwQrG+YVvqhN660X6r+9tRr70vMZb/YvXn8Ui2yverpoZufjZMZbpg27W58AcAAKEJDYC7Qk9HS2kHCKH1EI5+rhFzLtjJTAG2ef8fdTtdTA8Wd7SStoftFoaFnd89+AOorzL28HpZWb1+5xWCrf3eHmkRrUphz+vFisTeklIdimrZwDxepmQH+qxqOjuW9Kc/zTh5uvt3au1M+6592ZjK/Lh+Ub/8Fi4EgXsA+nT0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

百度网盘搜索,阿里云网盘搜索导航,网盘链接提取码或密码查询 - SOSO云盘搜索导航

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACS0lEQVQ4jZ2TTUhUcRTFf/fNvEnUNLXUCkOtNF24EUwhqSioiKBo0aaFrtq0sahWLWoRWBCUi2rTKsK+KINImKAQWqSoJYIbP6IGs4+Z8eM933vjvHdbmMhkRvSHs/hzzj1cOOcSjUbzLcvqdF3X8zxP/wWu63qWZXVGo9F8sSyrMxwOn+A/XjqdfiCO43giEvkfA1VNhUEiqpnEQgAvPxoMxw0iIWje5LOzVP9gIRFxHCeDUYXrfTD4TSjLE+YXIOEqJ2uVAxUrLQzVxaElTCQDukccGjekuNLsc22PTz4ed/tcVJXf9QYoS9BkEvvtO/JGh6lcmwbANKDE9IglUgz9EFL+sh4Use15Bege83n43uHik/Nsno4xvaOO+bMX+K5Z3BwU3MAAoCALzjXA9oLFv9i2reMJn5aueaqLDK6WjLJmoBf7/iPulB2ma3cLhTkhTjdkYRrQ0euRbSqdx3MIGUJYFd6Mu0wmbG4dKmRdSR001DHWM8DryiZsx+XGwQKatoQA+JyE9h6L8UQW24rChFUVQ33isy6fkilqik28dEBbVSuDUsztvTk0lpksRb2v0mRkymRjrqCqyNycpXHbp74jRipQjtbm8OGLx9DUApf2F3CmOT8jtrgDryaUY9VCJCQYqkphtsHz1lJqtuZyL+bz1TRpP7Ketl15K2IbmfK4/GKSuO0vbjAzM5tR5SBQREBE/lZhRARVTRm+n366WBD9RSyLVsMS7/vpZ6H6+vpoeXl5hYhUiUho9dPJ2CAVBP7j/v7+Uz8Bm4xsvDLO8vAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

云盘资源搜索

发现导航 - 精选实用导航网站

《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibili

发现导航 - 精选实用导航网站

Open WebUI

发现导航 - 精选实用导航网站

AI工具集导航 | 500+ AI工具导航大全,国内外AI工具集合网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACPklEQVQ4jbWSO2hTYRTHz/lu7v3uK83LkIIkrTpEVBAXV9tBHMTHEkWhEHDQoYhFobTYekuHDgYLog5SKII4xMVFEBxaEFwURKoBsbUFCZi+Yl73kdx7j4NG+9DNnunAOed3Xn+AnTICQgLCtr9jjbaRCQgRkObvF5NlW7y93lTVNdMZujge+9iObcxn25DGT+iKKd4Sefy8TdqpZVu6Z/RQYKxnVtiaHthUaxBDA30AgLIt+GUCKFoAJYuZE7PobpmcNq3QHi+bXZTTnd1KtFUTWiJOlBwuJyXrcTrGzs5XqfHhU2Vk8mnSAiAEQGK/OwPS8NXaub2x3XMB31lsCMJ0YcEaGJ+U+o4mnEFV1q9E1OD1rj2R53cGSIFft8A26WZ/9ZKmaFMcXRDBhniwA8CrvWcOHj+UsF40SDvy5bttVSmqFmvWDDjKaeMBNBgA0ug180JYU6ZUZrsK2q2gRD56ZSeha4dDevOZ0/JGA+hVdElUvWbF0mWlt4bmXQAkvNH3TdsV15YishgSwKGQLEmy0ALOPAhAq56MxvX1yvKg7VkvIRB/XayjXLI5rJjWZ2nuzQGWCifcGPdXE0EupiIdkozmI47OGc7cUlckrEc4QQdH4dhQ9zvbLp/kgr/EmVsBn0aN2V4XAQCejKwdjOqhfvTqCyeGwzkAgLe51f1Rnfc3m/Wv6c5XubFCgQzD8KezM3JTSvHLD/dV/inPfIa2Cab9rQ2a/aNiAkLDILaxkIgwnyEhn8n/Ffbf7AeJCvhL+7aUVQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

AI科普在飞书:一众知识付费内容的免费源头找到了!-今日头条

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACk0lEQVQ4jYWUzWucVRTGf+d9Z5JJZsYwpE3RpllYxapQMK1IXSpVqCKKiCvpoiBIF/4BhSy6Ef8BF9WuYnHVhf2giIW2SXXZrSmllCkRU43Nx8xk3o97z+PinWC76oHDfS4X7rnn3ud3kdSRtCgplxQlRblLkstdT+lqLco9V4yL6m52UFFckCSVZVAIUSG4YtxNKUZptI2PKgRV0ZNftCAJwIAEEFUYT4QAuXCHLDeK3OkPFLMsNf/5slteoOGO2XAo9Xpm648hBpHlxmAA6+uVHg5FUUBRwPg4uMt06LAjQSiNLBeNcePVQ2L1TyPLYGwcPvkINjbEZNNIa6I5Yfx6XWxtU6MzZTjo69PYzF7TpSvY6a+MhbNw5w58+jEsnIGlZaP7ULx/3EgSce0Xw4wa0YWE/bFibGzKBjtV+0UOk024/Rss34aXDkJRGu22+OZbw10kCQlmRlEYBw7A668Ze/ZAfwDdh7C9BZ9/BmWAG7fgrzX48Sfj3Xfg2FtGf2A1yhL2vwD37sHqKrzyMszNwpen4N/H0GrBo0fVOP9GdaKyhBjBoEaei4MvwpF5o9UUH5wwrl6DuTlYuQv378N7xyHL4O9/oNcTW9vG8u+i1SKh3TZuLhnnfhCzs8Z358SZharnfh/az1X65hIa9OHWsunDE7D/eSNGM735tuMOJ7+onvH780aaiqPzRppCrw+bm7C2JvbtMx48ENPT1SUOdjAdPRap141QgiUwMwONMSN45YlmE1pNMTVlqtex6WlprG7WakkTE1hYuau00Yg0J41GI6FeF0kCaWokyVNu3rW4PzGnJ13UCJA4AsYrVv6HaReuEFwhRJVlxVNRXEDdbkcxLso9l/uzca4yH30Bnf8A/anw+G86KOcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Coze: Next-Gen AI Chatbot Developing Platform

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAptJREFUOI1lk09rnFUUxn/Pve8748xk0mbMFBMXSolFLfgdJKTGNlXSVhR34sKFuFCp0JXtVxDcKMF+C/+AiqAo1YV/aI0uSoQukkXNJE1mksl77+PinQji8sK55zzPOb9HFy5tvhVj44bz0QnbAgArBBHC5GXIGWwMIMkK5U5K4/e1cnlzL6jo5FxliQAmBDEamYODDEDZEJ12wAbbgHIIRciu9gtBJ+fK4ACyLXZ2k545Gzlzpo2Auxtjfv6lotmMDkGAQ86VJTrFRJZqqdZ4nHnzjS6rL3SIceIB89kXQz74cFeWUG1UNj52SYzBe3uZK6strqx2AVFVpqpMSrB8rsPrr02xP8yEEAxGEkGqp6eU1WnD+eUpcjbHu4hRSCZn8/y5NvOPiPE4SQI7K9hGgpRhbi7Qmwn/+VgX1jpbLfH4YwU2BAnb9dYlMRhk9vczMQowR1WenM/EWDcFsbObuf93IntiofaauXj+IV55aZqyFD/+NOT6jS1qFsS33+1z+/YISby40uXVl6coy1pZUSXRO5m5+vZJiiJgm/5sQX+25Pc/DklH5v52YmGhQUpmabHN0mKbjb+2uLOeiU+efff66ADW/zykWYr5+ZKHewWnTzdYu7nDp58/4LmlKZ5YaJIS/PrbIR+vDbizniii0MqlzSxZg4H96HzWJx/N0WgGQk3GhAORDUHwzntbfH8ruT8bZePimPVeL2j3AazdHDAcZZ5+qsGF5WkAfrg15Muvh5zqF9zdMKf6QfWphS5e3rQngEPwaJRIyep2zeKzTTrtyFffHHDvnilL3GpFJAuwJP0vTBJIUFUwHCZyNu12pNnUcSKx+TdMweYaCtuSsHHOOCUIAaanIzMzBWVZY50ztrEkUNi2ufYPQaVaNw1406cAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Cici - 你的 AI 助手

发现导航 - 精选实用导航网站

WayToAGI

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACiklEQVQ4jX2TzWucVRSHn3PvnXnnnZnMhxPT2HYaRTTZWCwIXRRroCi0LmyRgLgRQeyiCu7cidBlQcRm50balSv9E7JVC1JCIYik1abBmDQwaSYz896P4yI4aSHk7s6B53d+5+PCEU9BFOwzua8xukD5/1iOgI1AAtAr9Sk0v0S0bwFzqBo2N96WX9hxR8F6hSn0+S8I5mNynabmIS9Q66PM0OYwgTF8uX2RWL5JPb3M5BNoD0Kqq0pDjFbs7iDgAdyh8Huda6j7jheGhlM9nyaweiy3ZjpHOhVJpZJo2EuweSBwAD/3CcYtcmo30u0HP505N9fCtyq6FjK2vEp/kPBBZexgDL/ffIOifJPubmSmjz9Zt/ZMi/uhyt2eZSs4eWBe0UfalVERBRbHDlTncRTZt3SKinZ3Q5ysWHumJcuDCb0zNKymWflJP9IVfzbVnkykLAz2BcbV2513Qc5xYiekuljzWou/Q55+HRr5LV7gh/Clnlib1M/Wy66z7WtbvqqLgNnvAIjuQ5peaQbVbp2ikevvfSPL8Szfh6/03EpLPr9j7Mx6uu0K88H5+2wAOAHVizSIvElzSMqw9niV1ZGTh6EpP+qn6dVHdb38R6l4bOLV6zfsrac3ZwDIG7NYjlEtoGZJ1TIbPumKvq7/+rl46WHZ+pgWr98o35qfV7ewoOPz3h+ilo6TKdgYyMtm5Kz29gx/6qw2djLTflwU/Si3FRVZIoGkZx1EyXEYnJZMzViTWeudtdvlKTsVKjYvZO9epf+XIPo0fODA8A+eVZQRICGqxAiiUUqjZC2yvpm3R4f9GwcgP28t6WlOUyeuNQdysrmqk7xIKbsrvd47srw9SkvfvDQ8TOA/VtwsjpTB5CEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

The Top 100 Gen AI Consumer Apps | Andreessen Horowitz

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbElEQVQ4jXWTP4hcZRTFf+e+NzNvN5kkaJMVo0QDoiwbMEkRsVAIiAHFSixWSCeCfxIJptMYBAujAQsbsdVG6wUtsqCVkIDYKAspDEiMMZkk7u5k5n33WMyss40Xvu8299xzL/ccnYU49QlnI3hjPGa3BcDkn+X/Dd09z3tNjw/uDrGN0QxkM2vnKUBgTzJAPTanxkNyCq5mpWirCM9m2Q4GiDR7PCkIacajCNvTbhF4G9ievQiRCBnJqrAqudhlPSc8CbmZkJNdrAAF0mSoSBNGotj5T5HvFFcLxzT//BdYFXZNc/Qc2rEf3zPeSDxMXMCCUGBaW/0Dmjv6tjtPvCz199F97AVwMPfMZ3QXX6Xcukr1wCG6SyfoHHgR7XgQCujGR1g7H2HnS99S/vqZzsNP017/BdoR46s/0jz5Ju2fl4GK0ZUVuvufpXdwmTtfHae9skLkEDqPHidv/8bg8xOsf/8uqIJMmoPLrK+eYfDlK1S791JurNH+cZmNix8yXlsh5kR15jnedxZ6S6+r3tO4OfKWoEB0yZtr1AtHqO9foLrvcWJ+L/NPnfa9X7+R2ptmeIuaDirXLrF58aS7i8tqf191e+2S1O0zWvua7uJr1A8dZmP1HWLXPm9Gql445HL9J+UA9PfHFIRyiFRwgqLGNqIGjyanjB52IsokR4OjwrVNyGQ0W7eVsRXCmamYr5BsJ5JsKTA2mU4TdYgBsMuZ6ZmUbU8V67LlCWOwizBFQhKD6IgL/YZABJ7o7T8vTeW6zR9gUiL6DdERF6red/xw+BhRVyxl0mzzH1OW7WEBnQ63Ry3nPz3NuX8BMjctuhbqzw4AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Kimi.ai - 帮你看更大的世界

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACCElEQVQ4jYWTMU8bQRCFv9lbG2NkkFzEEpIjpUv4J5ShoKCAdGkoIgHyj0AKRRo6SiLxAyJRpqV2ESIr4uKYAjchyDmdvPtS3B1cSJS8Zme1b2dm3+yDAtvAEPgJBCACKtd6HLBkBjYEdsq77NRI4S+XHsf1/TbAZ0Bmlrdareicq5MEqLW4qNZCM9JoR15sRDpP8+LMLnHOzYC4vr4e0zSNg8EgAvLeC4h7e3tx/G2iN69fiWcb0b2TePm+LOJmzswWAFZWVuj3+7a6umpmphgj3W7XDg4OrNd7wofzc5F/N32diPRj+XoteEkGEEJAkrIsQ5JJYnNzk16vx9HREZ++TMySqfT2Ocx/VAnMm5kBmBlmRrfbpd/v02632d3dJU1TTk9PC3rIDXLASnmAJEkiELe2tqIkhRBUx3w+1+3trQ4PDwtRzerTiL6aZYwRgKurK0ajEUmS4Jzj4uKCtbU19vf3OT4+ZjQaYWZIRQe+7IcQAgBnZ2cMBgOcc/eJT05OiDGyvLxMxa/gVaUCJOG9LyUpqjjnaDabVTJVvArOzFRqgZlZkiQ1hYoOvPc453DO3Qte1XSScoC7uztubm40nU4FmCTK7nR9fc14PCbLsofSBTKAS0BJkuSdTid67//4yo1GQ0tLS9EeJlB+ZS4rJ/7LMI/jUNv/5sghMPuvnQvLDysn/gK2LDHPFYe+SAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

万知: 你的个人AI工作站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC7UlEQVQ4jV2TS2jcZRTFf+f7/o95Z4bEhCQtilBqhVKoWFEIaOnGRXEjFJGuFJUiWdiFSN2rIG4E3RYLEh91IQoqPlaKRQUVfFWUgiY1EweTTGam/9d3XSRK9a7u4nDu5TzE/2Z6ev6Q9+5+iduBGTBAfwKXyjK8NRhc/eF6vK7b3czM/LL3ehDURcrAqj2IN7NU2CZwYX197UV2mfF7JPHc3MILkntI3lU45VQmQhBmAqFIOXKpBY63Wu0bR6PhR4B5gNnZhSckHpH3g2onl2WF9/XUK/ZOkXeSc9XWWCqCqRZNMO5oNtthNBp+pl5v7nCS+NfwPq62JmX77gONGx69p5semk2UeAdgeRWy7/v5xksfbw4//XnsO/WIKhR5Xp3ync7UWXl3Vxjl4/qRfY2b3zyz2Dpya10971yj5l2r7qPplm/ecrDWuvdAc/u97yZVf7tQHPecsEjSMZwKsiKeeuxEN3Rv8qvn394ePPPO1q5MuypNP33f1PTpk53Ow8e7/eVXBr6RVs50zIH2W2nQSOIwOxvtWGpbK19N8stXQtnfpOxvkl/+NWytfDHZCbHZvoVYtSi2gJmxPwLzkjyYsiKWqUVy7nS38n5ow5EBuM5hJU+eao9dT5NvV0tlhVOr4QEfAX9IHETkOTWVwcHSnWm8tJRayHbd9iklTYpvLhX5+Q8yteqRQkgMrkRgX5q5owQrJknbmVuUfv+p0o+/BJyQBNcK0+dfF7z6bsZg01GLzYI1gUuamZk/6iP/IVnminPLidXrLn75Qsbq1YD3CBNVMMbXoN0QcWyEIESoyuyE9oL0vHPurJXhL8YjT5o60mQ3rQZI4JwIVcAoJfXMwrPr62tPCXBAMje3+Lqkk+aUYVZguP90xawCIkm1EOxiv7/6AFD5vVKUo9HwYrPZFsZtgg5mkRnC8IJEUgoam4Xn+v21ZaD8twt7l6rRaPhJo9F6X0JmdCUaEhXwmxlvmPH4xsbaChD+eexvvWFS9eInlokAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

AI

发现导航 - 精选实用导航网站

吾爱破解 - LCG - LSG|安卓破解|病毒分析|www.52pojie.cn

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC1klEQVQ4jQXBy0tUURwA4HN+59yH470zcxkFx8eoJCPooKLLwhqqRbUIJAgiV4HQwm3QTvoXahGuRHGnOC5cyFj0AKUgMgysyMcMMzh10e6VuXNf59H34cuVldbqKsnlhG1LzsE02ekp6Drp6eHn57xeJ4ODGAAsi9dqxtwcma/Xo709GUUoiqL9fePxY0xpsL0dffqk377dduMGGAYiBEzTW16GdJo8v3eP12rWq1ciiqwXL6QQpKtLeh47ORGO0z4zQ4eGhJTB2hr/+1fJ5yE+PVXGxmQUxd++hXt70nHYr1/B27dgGCSfh2zWf/eOWlbb3bs4mRS2TZ5NTupXrwrP08bH6ciIt76uTkwI28aU6rduyYsLms2CacowlK6LNQ2wEM3FRazrSFXDclkdHaX9/fHv3+H377xaRQDBzk5QLmNF8T9+pAMDAP398dFRUCr5pRLJ5TBA9PmzOjwMigKWJVstVq/jTAYyGQAQ5+e4cf9+sL0tgoCYJh0YCA8OEEK0owMxJnxfLxZJV5e4uAjev5eel3jwACCVEkFgPnmiTk2xajX59Knx6JH0fSQlzeV4rcaOjyGd1qanBWM4nabxwYF+/Xr77KxoNKKTE21ykh0fY1VtLi21zcwkHj7kjQZJpaL9fX9rS3oekN5e2t0dfPiALQu5bvP1a27bvFIBw6BXrmBKsao2NzeVqanEnTvx169Au7ul57UVi/zsTJ2Y0ItF6Tjh7i7WNDI4yP79E64LmobiOD48VEZHQbguVlWSzUrXlYxBJqPfvEnyedFs+hsbeqEAiYR+7Ro7OoorFYQxxD9/Qk+P8H3a1yfDUDgOAkCMIQBlePjy5UucTCKEkK4jjIXjUCRlUC5HX75gIUSzKTlHnMc/fkAqxet1Vq0ihITjIIwlY9DZiVtv3jgLC0o+L2xbtlrQ2yuDQPz5Q/v6WKWCLUucneFkUikUUBwn5+f/A3gvfAEHLK4lAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小众软件 - 分享免费、小巧、实用、有趣、绿色的软件

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACHElEQVQ4jS3OTWtcdRiG8et+zn/OnJkkpNGQ1Jiiu/iWoPhS6kIHwYIFXbhx5wco+KXcuBfBvYgIinRn1Q/QhYWkEyYzc875P7cLu7w2Py7x8B80EBMUzXgTMRurd7WJiOXYNoXMTZYZNjngNhAgSJzJZKz45vr+eweLiz1vVo5W0ZEJBqEMqAA2tdpTl9m0bL9e3Prqw3mrVWpSs6FWnCCoBSWEMsONo82+f/NO3HtlZxjmb9wpj56so5tpHDLTIXBgsML6v+gvP3v36DB8MtWnFy9Qr8AyYbCwAgKaJJLwuH5p7+bz90/wYA9f3D09nC4z+4xIBA0QuEA4moyGzfKTt148P25twO+cdh+d7bO5yiiO53Q8vyJQlGZ48MHx3K7WaO3YD+6+HGxRQIMhS4iUK2rp+9dv5+Js3x4a0WAz3H/78Oyo0q8VLU4g3GClGBieLc6PbndBMlJ6Tag66WJxcUy/RFsiaRRIiPCm9er8dCI7HWOoQjrCvjhti1fyFhlRyBFkJolqBcDbqWUMA3TVGNkNiKwxqVUZqdnIzk+Pr9eSIqjbyA2hlfTz36uqXWuuVKlDhDNsgO7Wj388/e7RclNmUeZudjdN9+3vVz/89i+zfQhSYUsP/5SVFMqE9eW+Lr/8+NV7rx0Mmb8+vvz+lyfPvM90j3GAlCy++Ytaiz26aDrzsOX6aVcylX22dAdM5wyrYJsqNJP/AJrRJwwuJvJRAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

阿酷杂货铺 - 优质互联网资源分享

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACUklEQVQ4jX1Tz0tUYRQ9537fG5UakfLHRgKniNKZeW/a6SKQIGgR4sZF7dq7cRG4LYqgPyCoTUhLiSLQRVBQuQiCfI0TjghuKhSXZerMe/e28I1OUZ3NB9+953LuOd9HHEEAKAYHu8q9vVM0TJAogmw0Gzpdq8WvARCA4Q/SIXkkDMej/v4lAR+TmDSzgiNHgpzMZn0WhuFZAEH7AALQUql0PRB5CdWKmoIkSJqa7anZAgBEUXTfeR+Xo/LzgYGBYwDgAdhwGFa8yCNThQGgYDNRfaBm71Lyy2ocrx30cpJAp0Cu9PT09G9tbW14APCUOwC6DFCSn5uN5kStVltvW5UAkqamM967GTO+qNfrGwDA8+XyhRzdklnaISI/d3eTsXp95VOmTjPTfjOuHV4gF4XWYRQqsJiRHYDkL/2SDW2dEAcdMgAkkabph0zuv6BZXVoJejOmdnT7P3IL1q7Ok7ZOEmYGOj/6n30JAIVCoTufz0+rcqVaXX4me2avTG1HVZXE5XOl0iiANDPRZVJ9y8x8vvthEAS3ncd8MSqOyVq1ugpgwTknUPUdzj0ZDsNKJjPN9k4ASBRFd0lO7Tca+1BLRTUlAJwpFk8fD4L3pnrywFD8MOUcaW9U+R3AkDhcE2AsUd3LBUFnkiT34jieZeuDjIyE47mczAN2QtUgIkduEDBTmAHeOaSmc8sfl28AUNfKd3t7a6Ovr29RxBUAnCLg1AzWyoUCkl9V9Va8HN9smd0e2+HjKFcqlzRNr3qRYQAdZthUyNvG3s7Ter3+rT2aX95EAq8MhX9UAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

mefcl'blog - 分享纯净好资源

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACzElEQVQ4jY2SaUhUURzFz//Oe7ORW0UFtkALVgYRk/UhghbaXBJKW4fKEiWooChsxTtBDQUtYgUtFpFYahZUZmUogrQxlBQUfciJJNfR3Gaezmvevw+jYCXU+fi/99z7O+deAgBmEBEY/6GNecdOWcdGQ7dZaHLshBoFCJvfVBQm+DV/Kvf7A342V6ds2vUSALKyHGpMzOLErq7OOX6/PxAXO9HaIALzOjp8k8X4iU8IAD5U31oU0Pr26IZyTg3qLS2asVDr485PDS3ldrt9R6+mNbY2Nb3TdT1Ba/2xfkXyin3xDjTNnZutg5lFXU1xwcdXd6cNRS26fnXJg/ulu4uKiqYPnWet3bw1LSU1BwAcDoeqvH92f7RthM24/eTtF2YmuFyE3Fz2eDxf29vb0mZNiSiUUoqwXcLrVWqtoYgDzKwQkS7sUYE+DvVbc9NnKi6Xi0hKg4hYVVVFCOWKYUTYpZQGAEgJFkJEdXd3/wRgACAAQN3Tq+66Z9ezAaCkJN00TPkEQABAcnLyJafTuW5gHiZjz8PRtaX596rKzq8Og0IwMzEzDeJLZrF86dKTSUlJBcxsGrydqr7Xx5W9e5wfH2FrmtrckaD19NxKzTzuBgAGiABuaHhh27ll/w02WYxHlVUZRBQMLwPC16l5I6NHXfjW2Gr5abak9OihhIt5OQVSsiAA508cHrs388hz1Wz++qiyyklE/YPm38QYbJrpjDv7qftYZp7Xy9asNSs9GWsSj/6WeYjC+aQUBGmE8xLPmDLfqTKSrp1dXaGYg72rNpS7AZgGmv+nCJLF6YPb7uRsX8A5GcuyAVB6OoZ7nb+RwmnIMDikcYiDJkE6AI6pdwy3d+AjDFFlyeWo1u4fqz6/f32xx9c4MqhbKiPHzd7szs9v+yeBz+eLjZ40PhHUv9xus9XbR0TeJJhUFnzodnHh9ubm5jF/HvALtd856R2nXDcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

即时工具-致力打造即用即走型在线工具箱

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

software

发现导航 - 精选实用导航网站

阿里云盘 - 公测预约中·阿里巴巴集团出品

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jT2SzYuWZRyFr/O77+d933nf+TBIDHNCCLVIZ9JF6jZaBa2SIFo1YYvoH2jnpn+iQImoTRS0zkVgLcJh/AIVMTSHFMPMkvl4n+e579NiqD/gcLjOdXT6zPYbOfLnrvUFu4BQTjI4JEiCFJCkmoQG2MOcmG3SvYZ6OmfFWaRF11KAENbGprFNDgAYZJibCckWCLpSHWk/+GyurovuSolE9J0pBR85GCwdFHMTsbFpbt6u3Lpthhk3CWyi7dsSSYuZ6qrYCTcZPjjVcGI5dpoQYF4/CWvXen3zfe92y4REiGhVa8YOCvRdZeXtASeWE7XiX670Wn9g9jwrji8ljh3JyOiLLzsim2qwpSzkrW1z+GDixKtJbYfPfdvqwmqhaaB0ZvVq4sN3BxxdSvz8YvH1a4X5oajVBLb6znrlQAiLy9d7XVjt2bUgJhNY2CXWrvf8dLGjFHHokLQ5rdrurK2uKlNM2CzMCoB7901KYJlqEzvuePjYpCRGo2C7iu0CqYrs3tTetFMAMZnZ2e4/ziozmIib65ULax1KJs2Y1tAAoT5QL+7+VpDM8suJuVloKzQjESMYz5tbDws/rHYcP5b59JMZ8th0YaL0eJjDa5erH/9l790TvPfWgGYIG9VsB/xT4PBLiY/fGbnJ4vdH9t+dnEfhTGflDE+eVL7+ruWj9wecXE4s7h1x5U7P0xaeeyZ47UDyeCA9+LPw1fmpRhNImOyiWiqaDIPVS4XPRh2n3szatzvYt3vw/5nAunG/+tz5lk1gvCDy1M5RFVUutRDjkbh4uXDnUfHRpaT9zwfDoXg6rdz4w756r6d0MD8vvEUdpEiZGus5p8VSpqX2xMyctbEh/3ipJ/8KaQw1gQJGA8uSveU6nB2laMt6eOoVF+7KWVRcWjnV8CSLcYiZELONmDTJQTiMc0qKpLsps/Iv6sh0VzXh/zcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

蓝奏·云存储

发现导航 - 精选实用导航网站

123云盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACx0lEQVQ4jXWST2hdZRTEZ8733Zv38lSKTeMf0Lpx70IogmsXbuymSVqsiiC4U8GFWJMUNXWhSFEJFBWXEkNX1j8VF1JrrSAabF2IIojQlqRQTdO8d+/9zhkXr9aVsxo4DPyYM8R1zR4qj8DsoAHTZnQRRFw/UpQgABRwDdLnf//1+7HP3r63IQDsn+9es5RfEAAI/y8BIJASUDo/WbbSAc68WGaqXloprbckoBAEgeA4QRoFCnDcgJDqftXrRvFuZsITJJCrVHsR6h4B+4+ktEB4Qd3P6V+QCKAdhsM4k824uzR+VuIKiWebRh8QWAeRELGLKR8EOdWNYlG0Bh7JEu4n8ajkA5PQD+jblaV0FOAFmX1faKfa1r9eWaoWu9LupfGi0862Lb5pwj7+8JX0eDDeSVVOZoSM7O/bp0TDoD+BE5M9nJ+6o1qbm/el40cmfiK5OTmJMzt2Yq1Xx68PPa8BHJ+SYBYAkFpdpc8teNU1uOCh97shrnhnxx94Tn3I72m27bvisczQOrCBlKaflqBxwzFujIR3xR/76NW04F5O0nDX3YN4r6rTlISLOaVz8LwG3AYRt8ODJkAIAIdlXmJ97cd8evZQt7BjV/1z/2ac7t9kB9qhY6LHvYNb8EPq6c92e4PhcYTJkAkQVIPDDL7Ubf+2B37fMH959XKRuzYtp1tFPDm6Vo6NrqJlype+Wp7emp1vd0MJ3L/ov0TonIfeTMDrCi6RcQkOL3VVai93Ou1owJ5Kwmagy2bVHjJehrCTc/PllCV70D2cogniWHZjvxEOswSI4ylnoLSCECOL4ImUSLgESJSkCIUXRSkKd0FQFFdEkaJEOyrDlAmjnTFdseWu1Rf1IFeCDARoHH/XKJICOPY29nUv9wX9EcPuGVtd5tblljPdKN4ysw0BQEAkAxAggYQACBIADL3gk67hwytvTJz/Bx/omhF6i7KiAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

字节网盘·云存储

发现导航 - 精选实用导航网站

迅雷云盘

发现导航 - 精选实用导航网站

TeraCLOUD

发现导航 - 精选实用导航网站

我的坚果云 - 坚果云 - 云盘|网盘|企业网盘|同步|备份|无限空间|免费网络硬盘|企业云盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADNElEQVQ4jV2TS2hcZRiG3+8/Z2YymSQzJk0yqEljZMQozaJQazGKSGvNoo0XQtGFqJsuFHQvyGykaxcuRHBhQZFgdVGFilKQQdzUggnGaG2bxEliJpnOmTmX//65kELwWb2bl2f1EA7A9bqget2/cup4rVDse91oO9mN0+s/3tj+srOzcxsAGCAC+O6H7o7FxcVgaWnJnZ478dzJI9XP7+0PK5ViiF4q0UnS/dVm+9IHl5ffB+TWOydn3hwrhU98s/L3JwQA9TpEvQ5/4e0Xzy08Of1heTA/cvnqTSeilKpDAWmlqRgwGn9s3YwT2Zqo5I/fanVxbTNaJ2YQEfi982cW3jjzyFdj9xRJSu0gWHzx7e9wuxHGBwSSTNrBkHPLzTu4cGX1irL8GQAWIODpY8eqZ5+a+rg6XEAUZ1YZGzijce70FOICsLPfQ45cGCWZLefZ1cYGSqPAJQAXBQH82tmH3pqdHh6NYmkF+YDYwhgDqzS9PP8AbUhJ3SgmdiYwztPD4wNzHeAFABBTlanKzP0Dr1qj2TsbsDXE3jC8IaUyDOUcnj81ievbEROYW4n1g4WQq+W+eQA58dLC4fn7DvVNxEnG8JrYK/ZWElsJ4RXanRjT1RJmZsfp51sRdZUlImComHsQwKh4rDb8TLkf7Iz0bCWczohNBq8zZFIiURZbeylOPDqGzVShHWswCEycB1ASYHeUvIY1mWDzn9kahVRq9DKLJDVIjeP4TsZHD5e5FWuwZ0SZTQBIEbAdd0aBnSLvFSttkEiLVFmk0sKw57iraH29Q5OH+lHsE9xONO0n+i8AndBoKckbVsrCey+0dayth7Yelhm9SNE/6x1OM4NyKc+lQhgub3StNL4BoCd+vdFqGOdEIR845dgpy5xpj16ssb3Rwcafe15K68ulHP3W7AZX1/ZX1lrJRwB+AICgsbL7i9VubrgYTJB2Iusp6u0lFO3GJHuagkCQtF401trm4k+b33VS8y6ATwHsHoxprJIX5x+vjTxb7g9rA4WwQiRykbS2nejWarO7uhWp7wF8DWDtYMEEgLgOojo8gBEARwDMAhgHIAGsALi2CDSXAIf/8S/HtuzGYHC3cgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Apps|InfiniCLOUD

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACKUlEQVQ4jW2STUhUcRTFz7n/9zE+R5RGDUIiiYIQDal01SYItGhTmyIKDCKM2lu4UWohtUkqoVUULWoVRB+EFAQWBQaWGFlBUQlWjpjz9ea9978tJtKsszv3nstZ3B/nB/GvVEH+38rKaGUtAooqVAGQIpU5AGdFmgoINbQA6BtQNIxglSkCqgpneSMBJbWgTvNWf1uvaWyFOPb7VDhxLX77kC5JZXYAJEBRa6FAAq/zWNA1TOMtLy886i89PiseHBIKoGRZ5cINtPCTfi3ESRY+R6+uA3BbD5i65mDHGTv7sjx5n/MDsAlSncf9jhMMGmz2Q+Fur4ZFOjb+NA3ArFmXPvhAMhvid/dyN/aIDeFv6Ql2XTL1mySod5o60z1PgDD+Oi21ntT68czHcPwyQFndxqpAmDJ+x0nVJMm+L472Jfkf4qWrui9CoFYBgoCNAUAcQIR+tdQ0AVKeuJq7OVR+cQGAu77L27zXLkR2sWRWZbz2o4Dab5NayjtazCXZaTeod1v2B91fSk+HvLZDJrMx2H3FZFo0yvvtR0xDC4BwfETLirnTWLy1z+pv5W4fXhhps+W8/q3i2PlsP7KDNKd2Mp6ZsnOvWd1It8ZZuz0cOxe9ucOgTq21+dl45nlxtC98NozK4+YHoARCwAO9NI2jcaiFIgT0XAAaRYiwhIYCBJAStVbDnCogoC9Q1SQCQAM4BppUCHJIqIKwZOUUANRacglptckf+wtMOxhagzwf3QAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

MUSE|文件传输 不限速 高品质

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACa0lEQVQ4jVVRO0szURQ89+4KMbJJFInVgkYRDNqIjVpIhAQfIFhYxMpWIYX/wH9go0XwJ6wICVrYiYqFpvIRO1FEWXyxcTEa9t4zX3Et/KYaDpw5Z2aE1hqAZVlEpLUmIsMBCCH+EmYWQkghhNa6Uqn4vi+EsCyrVqudnZ0ppTzP832fiDzPOz09/VUE8PX15TjO6uoqgJ+fn97e3mKxGASBbduHh4cAhoaGSqUSgFarJQEASKfT5XLZ933P8+7v77u7uwEkEgkpJTMnk8mOjg4ARGSbQ8lkMpfLra2tKaUmJye/v7+llFrr9vZ2KaWUUilFREQkhRBSytfX11KpVK/XR0ZGJiYmXl5eHMeJxWLVavXm5ub29jabzRrrEoCUMpPJJBKJvb299fX1WCzmui4RbW1tHRwczMzMzM3NLS4uaq0tyyJmVkrhf7RaLWYGoJQKgsAMlVJaa4qiCMDJyUmhUMhms7lc7vLyEsDn5+fKysr09HQ+nx8fH9/f3wcQRZFtWVYYhktLS7OzsxsbG8fHx0YbwO7ubrFYXFhYCMNwcHDQFGebmlOp1NXV1fX19fLysuu6AGzbTqVSURQ9PT21tbW5rvtrmpnj8fjR0dHU1FS5XB4eHt7Z2TFZCyHu7u5qtdrFxUWz2TQLBKDZbFYqlefn54+Pj4GBgfn5eQCNRqOrq2tzc7PRaDw+Pr69vTGz1pqYOQzDfD6fTqf7+vrGxsbOz8+ZOQiC0dHRnp6e/v7+zs7O7e1tk57QWkspiejh4SEMw0wmE4/HmZmZ39/fTQDM7DiO4zgAhBkJIX5fJDISplD6A2Ymon9KZZgFuJtEJgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

网盘

发现导航 - 精选实用导航网站

(300) Pinterest

发现导航 - 精选实用导航网站

iPhone 壁紙:iPhone 14、iPhone 15 とも使えるおすすめ iPhone をゲームボーイ風に変身させる壁紙 13 種類をダウンロード - アップルジン - iPhoneの使い方と便利な機能紹介

发现导航 - 精选实用导航网站

GAMEBOY WALLPAPER IPHONE 14 PRO

发现导航 - 精选实用导航网站

Bodega Supply – A design store of hand-picked digital goods for you.

发现导航 - 精选实用导航网站

13 Gameboy Advance SP Wallpaper for iPhone / Android Colorfull Retro Phone Screen for Gamers Wallpaper Variety Pack Digital Download - Etsy China

发现导航 - 精选实用导航网站

iOS 17 - Concept Wallpaper - Wallpapers Central

发现导航 - 精选实用导航网站

iPod Wallpapers Collection for iPhone - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

个性化电脑桌面必备:Wallpaper Engine下载、注册、使用教程 - 哔哩哔哩

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACaElEQVQ4jY2SP2gUQRSHvzcze5c977jDiBhQTGEngqIBAyIkRYKNIJggYiOCImprJXiWNnYiEaJoIXIKgiBIIImFqGCMQv7YiWIjGjS62c1lb2fGYs0ZG8kPBh7vzbz38XsDqxqZCrg7f47R6V4Ahhq6XVuNR6d7uTt/jpGpYLUk1L2CK7Dt6C4qlXe00gWa8RFO7X7OWo2+O0DHhkcEhU1E0W4+P5yBy0j7wu23NaR4g7B8jJXkO5kdwuvX+Rjbg9EPKJY2srx0H79ylpN7FnOCay9CNtXqoI7jfQWhig7AWbBZAoA2JZQG2wLPT0QicPdYWKwbOqtXqXReIPoB3iV4iXCpQxDAAODsL6z1gEIwIFupdF7ESyjcmY/RgaLVOoxTrwBoWk+HFirWAxBpaecAlNtPEDzGtaxB6RKt9CfdXyfp68tYjyYnJ/m4eQVjqgbwKBE+dIU0GgnLu8bw3rOSHOL03rzhzTeGQvgUpSCcGeBDV4hxAniD9wIIsU5RPQGFrB/vwTY7crOAxlyRNOhHBOKegDhLqToBUH+gPLXE8Kk7JUsnyLJxPreW28jzX5tk2ThZOsGn7pRakpPnrkpulCpp6uII5wZ4MjtIvS8Dcrp6X0ZpdpBwboC6OFSp/UsNIDjvCXfEAAwP2zV2+Xa0Nl94G5Ps9IAYnE0ICkXi9/005l7ypaDYYH17hauKtBBrYUvqiKWXICjisiWD97coV88T/RgjyRKqrXzXy/LPe4yDqoMEj9ElylVYXLiuOXjiGcpqUNuBAHD/PaIsyDeayQ2+L176O2ZkqoQpa9ajbMlyZl8C8BsqkQfT9fYhAwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

下载复古经典任天堂游戏男孩壁纸 4k - Boring Day Arts

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jX1SQY6CQBDsxsTgfeEtxOMQTFAT+JX6JeEtetDIG4CZqj0MC+iqc+qkqyZV1aUAVFVmj+Q4jyuSqkpSSc4RzjlVXSwWfibp5wGtqgBGNAC/7rpORJbL5fjFpAIAAOectZbk+VwVRRnHcRzHRVGezxVJa61zziMHgkcfDycREQmMSY1JRQIROR5OnjMRuq4DUFe1iCTJ+na7e2O32z1J1iJSVTWAvu8HgrU9wN12H4ar5tFcLtc8z/M8v1yuzaMJw9VutwdobQ9giKJt258oMiYlmWUbby/LNiSNSaMobtuWpHMumCKXp2s8XUam3D9J2npJj/+SBtNE9dl0XdXgzPS7WM23WF8OV5bD4cryzeH+qqFCcGzOSzWCYJaNl+u79aV8Y3nV19tzvtR7XP0CAuh8NWjFB9kAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Awesome Wallpapers - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Desktop Wallpapers, Full HD/4K Free Backgrounds for Desktop & Mobile

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABbElEQVQ4jZ2Sv0tCURzFP/fqU18RRJSUtgtJ5NIkSFvYH9CSQ0NTS82Ck0NrLrnUlv+Ci4tFEtFShInNZmkGguTP914NpWnPCj3b/d5zvt9zz/eK+aO3oBTGCbDAKDC0l2b+LCxc8VpxZHFfEzm2GEBa5+Rf994piXfqTwrWYUX/rGR31cHi9Ke4UDU4um6SqRhmE8PEkTWVXFkjnKoTTtXJlTUia+pQN8IVr713D7GAA4/TQr6ss3feHCDGAg4AU13+JETTDQ6uWgDsL9vY8SgA3JV0fG4rieAEGy6LOQOP00I03SBTMfDPSuLrKqpNAJB71TnOd7gs6oS8ClsrdpLF+qADVRG9rts+OzOTElURqIpg22cHIFszOM12euEOOLh51NhcssF9m8OvJ/SjG2DIq1Cofm/DFKLPPXSzPRSqBonbFsmibm7QP+k3ZGuDf8E07ifhP0jgaSRFPwytIqWQO8DzGOJS++Ei/AFayn5TS9doTwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Alpha Coders - Your Source For Wallpapers, Art, Photography, Gifs and More!

发现导航 - 精选实用导航网站

世界著名的壁纸网站 电脑桌面壁纸 - WallHere 壁纸库

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABs0lEQVQ4jZ2SQU8UQRCF61X37M4s7DgYlmWJYjxI0LD4Czx71Ss3fxr/w4t48uZZI3oxxCDBsMDOTHfX89BI9Ih1+urVq6S6unB4dCB3Cb2T+7YBJEn+y8ipiPyteNKSBe+GImIWKeZ0ICIxtYBS6FAAyIrTQgtXzZo5yWRhtZyuj3eShZj6rbX9ZvRwWj916kkz2qyZF65S76rNZk7SLK6W0/Xxk2QxWT9r5s3owUb9zOkAohDdbPa9qzxpMbUAAJjFZB0AEcTUJot9vGrDIqQlyS4sROhFBND8MgB57iwaU11Nn2+/jqkXYG3l0dfT9x4AadlBmlmCKMVIqvo2LE7OPwZrRWTgxwrnSStcFVPfxYtxOR2Xkz4sAAVcSl1M3a/r7yEtKdKHK0D9VXem6na3Xp4uPk/u7RRaPt544XQwGt4/uzye1LvOFZREkbx69+rN3tnl8drKdl3Nvvx49+3nh61mryzqTydvu3gRrV325xRCENL1Mpzj8OiAtD5dC8W7ocJlLlyp6pP1+ufjMnuSgJa+FhGKicgtk3Q6zJchIpl97s7WHLcMQG5WjJvKf1zrb+JE/PdkwomPAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

DeviantArt - The Largest Online Art Gallery and Community

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Wallpapers Clan - Cool Wallpapers - Free App Icons - Cool PFPs

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

4K Wallpapers for PC, Desktop & Mobile Phones

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACW0lEQVQ4jUWRy29NYRTF1/oe5z76un1oq1qtElHPxsAIEyREYmAkjDqQYCJGzBASMxOviVcYmBMxYOAPMCGmbVJSVG9b7e2555x7vu/bBqdi7cGe/Nba2VncNL6duTPGQCkAreBV7q01uWbabLbRsFJGEMfQaiZVY/XWvuFoYEOSZcp7L7LBttmBvjhLuzPu3T35u7tNFureqF5nd0zu/2Whbg8dufjmbX14KHL5WpbdGT8+9fbd3EBtsq6fXL1nL0zJn0ZTy4Gs++7tR/mJY8pSmUoFJIWAWKVNuQKqwJC6lgrBWKuNyRmyJKFzJkDEeaVIrRSUkCEEEBCI1otJki3ONyTpkFqpt9ORxlA5reK1OFmL4+B92iIIQdC63GzePHTYPXxAE50a2/e8spq9/2g+zU2fjdXrS+fzxy/7Fdq3DgUGECCV9xO1vrBnt6buHR2bz5exsoItg+Ovzlxf+L48G8czq6txM70VJzh08Fx11/cP3wZfPO1mNeofvDF28vNc2nPtqsk77OWPz0aOvqls7F2OG492nq7evwIIAIp0RlGr1qX6atMLdfWtXiqXjfW0He0/s1U1s7LUaCRddQWCEJHicxGB9yVtYI2IGCHoQ8kYrU3FOV2KAIGQpAAiEBGAAlAEpCIJMkD+CQCA9U0AJCiCwiemQCgUKeKCSACKdBSQCCEAIIBi0TFBUkRKNDaKiuI1WEAQIbE+W7ZNrB8hc+cm2vvjidGZr1964nxg89iMj/FjPhjV6U3P6MhsY+m/oVDic93MSm1Vp9lKszIVowgCR3FpWtb2L+29QKybJsLyAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

57 Best Gradient Wallpapers for iPhone and Android

发现导航 - 精选实用导航网站

macOS Big Sur Stock Wallpaper - Official Wallpaper Abstract Dark (Full Quality 5K) - Wallpapers Central

发现导航 - 精选实用导航网站

Wallpapers Central Collections - Browse Wallpapers by Smart Groups

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

壁纸网站

发现导航 - 精选实用导航网站

壁纸样机生成器 - iPhone锁屏模板、手机锁屏壁纸模板

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC80lEQVQ4jV2Ty2udVRTF1zqP77v3JrnJ1TZKW6XSx6DSQqtmoLYYjODAkZKWgkqs4kQU8X8QHDjsQMSqAymV4EBLBR05ECRKaSNUB9KiqFET87jhPr7HOWc5iNGSNdnswYL9g/0jAEggCQGAfnjpCeSYqwfpcQNMxoRgaVatMd9F1hfc/R98enuH+De6NjdRZ/YdCz4Tfo99tmE4ZsasDNbrfm+oEPY022Mhat5vbr7Ch+fXAIASiKuz7dq3L/td+cnh5/2/4kIYSR3Uo6cb+YYvqk/WFtFT4U6NHKwe2Hvojqrb/zZLxZM4dnHDkFBhR9/2nebJulsOUi+BNZvqI1MtVQr1MFWuUmwMUnBYr+qs3ZiqlJ8nIFbX5h6yDfuNCRFwgPosBt+nYCcZ7X7TMZHpZvn3RjcV9vjIbu+SaUICmg1TDePTzjq+NpTD+S86y6s9l16dWRvfN53GYyGoAhJhD7fuvhNOuLU50n/zl6mlA62ufePQ9bu8Dc86g/TU1R/tn5cWOruCmB/cXfZenlxXXVg5K0rAMEY1zQAfLx83V7pH9uXrg3Jm/OflqdHfHnVybuLwnlon7h1urPSMf/C+gkqGhgJAkpKRCHg8Mr5Ufra6Mtzf6IYDrY1RWS9Wi+eG3qFRBlQxGbayZOtAQ0oCCQCkJJGeMfWjjx4xZC3brIfxawODW4lG1sDnTr4KNKIgbL+IBDESqMtkU85gstw2Y4SM4VtGwoLJLFNETJJIiVtlSlsYruWda2c+n8ica2U2GayksnrRHb1wxVHp3VDE56wlBUiCASQAIEBACoPqsoBfSXRp8JMtB1/aE5eW/mMsF1+4mHWaZ6v1oiLhSUJJ0Y9ltupV8/mx989gR7ZdMBKYIbxeb5aL2UQjk5CUlEBCIRHCPboxOyrNWukxtzX/l4/bi64/vzdY96H1doaGqIsASPLNjKGM0/7oe19JMCTS7Zdwp87hxrnToDmT6jRtG3YilOlm5spTPPLRHzsxAOAfWWWgmsbtPiAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Shots - Create Amazing Mockups

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3ElEQVQ4jYVTXUsUYRQ+531n13d31mnVplVLy0otTKWiiCSKgiDqIoqCrroIuu4ftAgVXVjQP+iiMu077csPktA+MIRay1i2XDZsZ2tzdx232RnnPV2khmJ0bg6cj+c853AegCWMiHCJGCMivjinLC4Mh8MMEWUsFqvWNG2/lPJjIpEYQcT8UsMWoBERIiLF4/G1Qoje4uLiGtM0iXP+hTH2EhEHhBD9QojYP2lHo1HdMIz32WyWUqmUlU6nXdM0ybZtIiKyLCsyPDzsWbDCXHMikfAJIW6qqrrJsiynqKjIyxgDAHSJyAUAK5lMnu/q6nLn2C5gkclkrjuOQ7lcrmCapszn87JgWXJmxnWIJLW3t19dvD4SEcKHTo9ZfeCi6lfP5PPTtqIoCjKOnDMAQOKcsfu3H7tPnj0qVKzUO3O53Nm2trb4PEr3d6rbq1qRIp/gCMAAAEgSAQAhQ/aqPyKH+sZoeZWXuZ4s/iqYU4aRPNHa2tqthPeA0nC64eSIv9G09x3SQvX1MrR2DQZDOiEC+/B6TI4NfKHG9VtBLQm4UxSXnxJD45OTU7k/R0wB+6Hau01nrGTiTdBKjX70jEhBgVA5ikBQ5g2HNlbWga6vgMlppKf3pr0DPdaNgfTlFwCECACwv7K06miN72GB+5t9q7fatXVbuGt7ARwPVFfVQpm+DiLvJuBW51uY+FFBFaE9BY2VnToXUW7i7B3YttLAhpO1y67RzExz3lth72g5yJuaWgBNDoN3B2n4+Tj5RSNTy3ZwR22B78y17ExmHQIAhAFYGABO1QSrjtTpHU7B3v4p6RbKyzYyJSlRi9nKBqUZLH89fBaV38bFqt6ox3cnEkt3zb/yLIi8srlc37W65F7Ay3YaSRu0bBC0Sd3wflvWE5f6wwduou8C3E0vqYU5kEsNWunhhlVhAK5lDW93NGb1Hf86+vNvHbE/HuV/BTavFQizDjjGF+d/A76eaE3Mucb7AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Free iPhone Mockups — Mr.Mockup | Graphic Design Freebies

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACoElEQVQ4jSXOS2+UVRgH8P9zznkvM9OZ0o5FMoBNW6AErYq3aAwY07hx4QZXulEWYOLKFV+Bb2AMYYMmBl3qwhgjSkyNSKIr7RtKp9KGJsNgp5133su5PI8Lf5/gR4UPAHNtSSsipYW0C4iIiEFMOpLAvqgFCmmDtKJ9VxhmFbcUWIEUCEAACBDvxQUJwkyIDBnFApPAEjv76Rf83W1+PPKzbXVmsfHqy3plhXo9ajQJgMCOJtpomIRKKXiz/++Fy9xpR93ptGJkW+HRkBtJdPaMOn6UpqfDo5G9t92+flWfWqKyyj17Lmsze/j/jELQ6xv4/Y69teb+uu8He/pYL1o9l35yEWlKB+XAiNhrX9kf1/ReHk13aHlBnX/JnHtFHZohpN5ViBJ2jq0DC9X10Gf9ybsfpycXqN0O4m22KVsPuZni6JH4xWfRnXH9hz7bmrp2NVo5TZUNrijhLGZnoBAD5MT/8wC3f7C/3fXrfR6XMnPIvHW+eel902nTxFU+z+sbX+tvfy72H7fmutHJeb36unrhrOkdE4ABBcg4D5pYQBMuzd/39i5c1sePtOZ7oZyMsvVod6CqQi0t6qefCZpkfFBtZM3Pb8ZLi1Qwi60lMJpNBa9hNBg7O27tzuSn7/1GhoOxe3IuffudznsfShpTxT7sjfxnX9a3flG7A99tNVaWsfqaev655KklUsQCxZA8d2mklKYyBHu/X39wheY6yXzPD4Yq27Q721pPuHdYL5/2SVIPd8P2g+7Nb+jEApV5EPZcWTwxZQgCmP193h2Wd3+lP/60GxmPD3SzRW+8GV36CNpQ7lzsmBEUJOIATZ6CShpAHABxTgSilDIaRSHaUBWEQ0DtYqVq9jEJEYnRKijxkNgwg6sycKCpJkf6P0nlc75ue+HdAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Screenzy - Beautify your Pictures and Screenshots Online

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC1ElEQVQ4jV2TbWiWZRTHf+dc133v2bMJipVjbSMVS0Ob+qgjmhl9eBCxPpQiQTRmLyBm9EFEhqFBDEUxLJUipKzAD4KvQSAIww/TBF0vBAWpzFyxpg734p7nvndfxw+3lnQ+HQ6Hczj/3/kLAJiAGMBLi+1FMzpUeR54rFqFtMKAenrqpnLo5AX5gYdCHiQvPGGF+ul8rMLbXnGVCphB80xoaILBG9B/hUoUs6/UR9cOJNwfYFJ+hmKN51jsKU9mhGpCaGjCbeyCxha41IstaiNc6MF98wmC48ipS7wOoCAWe3bFEeV0kiQLSE0NftteWNJucqAbPnwP+fYgfk1nkKmPkkjgtZdLdIEEXd1qyxTeSSfJRPFpFZn5FDZ7LjKZCuMjSG0RmV/Chm8q42O4YASELavn2RxVZaNzRGaYGaIeuz2EjI6A87DuLSjWQ995ZPu72PgoKp7ghClWS4d7snHHHoNp9zGo98jwTSgUoHVZLmLLLPh6P9weQgpFxAImgmCgAs0YEgwRwQCcg0N74czxnNCKlbD9U4hiCCFnHgIItCiAASI5tsoENM+ChW1wsBt+vpjXl5ehvQx3x0Ddf3+gBn+qYCpYtYK80gEHjsLuw9DaBp/vhiyDEGDpchBFDEwVDK4rgXPqkCQlNDRh69/HRkdg8xv59sEBuDWUb4tizCmG5RqYcU4t4wsLhJAhj8zAfIRc/Q273At3hsFHEMegalz7HUkSglM0yxjThMP63S9yPjP2Fwu4gX6yO8OE0nPIq53Y3AXYpg+wadONG9eEMycItXUEFdSMj079Kn8ImKx9migpcjxLWTV/KWHDVkLLbFyW5WbpPYt9uY/w13V8fR1UU746fVk6wfRfM5WwqGkJu6oTbCrW42c0QqEI//wNtwbzU3zEaJay8/SP0v3AwfJ/O6991lZM3OXNJKEd4XHnsLiGfoOeNOWz73+Svof77wE4ay2MNoWW1wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Check.: 做了一个壁纸套样机模板的网站,https://mjcn.club,方便套上AI生成的壁纸发到小红书等平台。 壁纸套上 iPhone 样机后会比单纯发图片更有沉浸感,更让人想拥有。现在的小红书大V基本都是套样机的,而且效果很不错。 我也在做卖壁纸的事情,为了自己方便就做了个小工具,想着自己玩还不如发出来让大家用,没准可以碰撞出更好的想法~ 💡下面是一些 - 即刻

发现导航 - 精选实用导航网站

初星壁纸样机|CX Mockup

发现导航 - 精选实用导航网站

Device Shots — Free Device Mockup Design Generator

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC/0lEQVQ4jVWTz2tcVRzFz/nel5dME5NQ28wkTatJqRaiaTYKbooL3fc/0BZBdGEXSltQENSFS6u48AfVUipi27E1Oi1NiMEarQGtViXFhT+KmWRCoJmZTN68mffucTEzQs/q3PuFL9/v555LAMhmR54wC9708lMA2JEkoX2htgDIaD97n5wolYqz3D408mTo3EUA20imkgwt/d+jY0hCkgfgAGw10vSQ679n4HOSoxKaURQ5SUjTFCAZxzGTJKGZIY5jdAYyWgKix8gDBmCCpI+ireDIkcO49s3XePedk3xoYj8WF7/T5cK0xsfHMHO1wLm5qzj89FOobFYDM/MAJowkAVASnn/uWfT0dHNmdlaVShWXC1c4MzvH2mYNl774SvsfeJBTUwcQxzHMjAAYACAAmBnn5+f14083dOrUhxzK7cKLLx2HmWFwcABvvP4ad+64V8ViEWFXV4cJmRveLQBI01T79u1lPapjubgCM4NzDu0aAGBs7D5EUYTbt/9VGIaUBCMpM1MURTxz5rSOHn0B6+vrcM6h2WwiSRKQRLlcxgfvv4fjx45pY2ODzjlJUtAmC+ccFha+x9LSLYRhiPbzgQQkwbkA16//gL/+/ufu+vDIHkmCJGUyGXrv0Wg0QQJmrUh47wEA3d3d8F5oNGJ12Lm+vv5XSWKzVmM+/5mGdg7h0sXz7Ovtx507G6jXI4RhiNWVZeTz5zS+dxznz33KgcHtrWDmhnenwyN7fP/ADv/rb7/7crmst06+7Q8efFzXvl3Q9PSXeuTRx1QoXPHValWlUsl/9PFpn82N+mxuNA06ee/qCnj27CeYnHxYtc0txnEDa2trKm+UkSQJS6VVei9F9TpWVlYBQADEbG70F5KTEpq1Wi1oNBoIAodMZhsrlTLIVg7WSsu6cCGPpVt/4JWXTyS7Ru/vSpLk5l2fycxSMzPvPSTRzNSG2PatI0CXpOlWM00PuahW/bO3t2/R6Ca897k2cZKk9x7ee3R8mqatjYUb8ukz62vF2f8A6CG0i03SuBgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Bigjpg - AI人工智能图片无损放大 - 使用人工智能深度卷积神经网络(CNN)无损放大图片

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4jaXSTSvmYRQG8J8HD5Ekk5eZLLyEWJjV7MySKF9hmrUPY2nBN7CxU5KFbGxINLGlaJKGYUEeHjbnX//ubjauOt3d933Oda7zwifRkNy7MYRzfMMCqnjEDXZxhtsioDEh+IJpDOISdxHwD11YjKQ1XEFTQlAN9nschZVxiN6wY6gkDi14+qDkF/zASfGQI3hEPRPcgd/YwsV7BE1RY/m9inEsYweb5YB0ClP4GhO4xzwmcY1VrKfqUoIJDGAUe2hHM3owjFasRTOzGMMs5jJ/lVC0je/lmst4yfSlQB0bcf7CH9RS59cgeX1PIvbxF305BZXMdqaoRT/uZOS2RfacgraY0BIO8L9QUIk51/EzMtRiEjN4DsKnIDjESsFaLM1IOLSgM7auP4hu8FCy0+gTeAP16Ea6ZRH4EgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Photopea | Online Photo Editor

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADDElEQVQ4jUWTX0jddRjGP+/39zvn6NyZOlMXU3MGNpnUIFdGq1gZjBWjoIIRRQhBEF3UVd0J66aL6CaIoD8wgoi2tqJujGl/WIFtpUGjcDSZZZppeTp6POf8vu/ThYHPzfPw3DzwvnwMYHZ2tr2nq+u5vDOMx5Rt2f+u7cYyL+S/nJiZef3+oaE1+3VpqbO3re1TS5Kh8wtzlD0SLGBAMMMAGbiL6E4B40h3H4UYv56enz9u5XL51aamphfu/eS92uTC1UCaGmYCjHpNxMwwg1xBhMTI6jqwu9MvPfp03jY3X0qbkvTQ9N/LPrl4LdDSmqQYWb1KzmX37LlB/c27bbmyzvjSvNbkpMUiP638wecLc/5gc/tdKZJXsswsTcyArLLBna0dvHX4qPZf12lEhxC4urbKw+fPMrNRwnI5ah6NiAXATDJh8lrVhlvaNXHshEWw45+9r+Kp1zh85m1M2NkjD2mnMElmUQZ4AHPcASxx6c3hEZsr/aPbPnqHL5YX7MS+/fy88S+PTZzTvl2tYaSjS9Rrsq3HKAWBBFmdoY69dnPbHh4Y/5CGXJ6pY09wY1s765Mfc3r+inm9ps6GRkNuSIArBRwJ3Onf2SrV61xYWbRHevvpK+7iwAdvcHllgecH7yAQ7IfVZUhyuDs4SuUSLjBhyMxdaQjMl0uY4Mm+AZpvOsgzg4d49/L3mlr7y0hzZB7BLKYml+TAVspipCVf0Pifv9krM9/ybP8tlOo1Tl78Sidnp7FCQaqsb40qkgrkkgLY1jUEUiCf14u/XOTlKz9S80gtqxmNOzyBIMxcEhY8rdbqVrAgj1FRCjFGLARhWFJopKwISUJSKMrdzUOQYqa8BUVFpYul1W+GuntH7m7vievr61ES1WpVbFYsJrUtniSimZAMd93eej1He/rC74tLF2xycrJlcGDgdFOxeN+1tVW6iy1MryyxkWWEELY5NCGJPMatnXuplMrnzlz67nEDGBsbaxgdHX0qjTpYrlZoa9xBYgGXjC0q5QJwQhJUcp/q6ek5BcT/AEQAqyv0uVORAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

TinyPNG – Compress WebP, PNG and JPEG images intelligently

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC50lEQVQ4jbVSSUhUAQB9f77ZpanJaSqzTbLApbKcDCpCoZLIILq1UxJ0KAtKo1WlgjwlYXSoPBRGtJptJIatMhahZTqjTsW3UnO+3/l/1v9z5nWoGerQsXd/Kw/4XwiEQkUjur7BIHM9pJmkCEAAcNxqtVb9k6iqg2maolzxKQr9mpeqIlMdVoYikci36upqCQABcPOmjQ+bmpoSYrwpeXl5Y0ju6/8iGX29Er9Knyl9clNVZGrKELXhIZJkVVUVAXBNwSpmZGQkAsA1AGpFeXk/SSqyh/LgAKVPPfQM9NGneRlDOKCRJAtWrpABHAEAZKSn02azUfZ4qIeC1LzDNPQwo5ER+n0qA36Np09XsqKsjOQISfL5k4aaWHTT1JQUZGZlwZqUBMFkgtPpwtIly3D99m0Y4TBCoTC6nE48eNyAsrIT0HUd6ZlZa8+Wl48FAFNDY+P5aCQa1A0doxJH42ZdHTSfD22v32K8xQzrBBtKS0tQtGsHXE4nPrrdSBiVOGH5unX748vX1NQcivVMmTaN+WsL+ODhfV48f47Hjh5j6owZvHW1liT5tVdit6uTzY2P6uICJFeQUfZ0ubh3z162vnlDr3eY2QtzCIB2u50k6e54xxdPn7D9rYMVB3Y/S05OzvktoM8dMQx6Bgd/xYj8iC/vaHEw4Pexu8vFg7t38tK5M+xoaeLJowcJgCYAEITR7ZFopD8hwYRQwI9mRwtKS0pwr/4uetrfYVluLvLy8zErKxvrV6+Cq9uNC5drIYoihD9qHAZwKuz3IWzoaHvfjmZHC169fIWli+3YsnUzvLKMyspK1N64AwAQRfHvG/dKUidJGsEANa/C7s4OOjs+8LWjmdu3bWXsxhMn2mg2mymKIuNfLi4unj4zNTWpsLAQqqqirbUVwWAQFosFHln+y0iAgDmz0yAIAuICfQPf70aj0Un19fW/4plEjLOMjZMX2XOQPW8eVE3D7LQ0LJg/H5MnT8JPbLra8gg0m0gAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Convert image online

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACnklEQVQ4jXVTSUiVURT+7j/4prT3qLA0pGmRljaBi0qwiCzDDMF2SQmGBUlCmyLihRgNbmoVhgsriKzAqTCkEW0TtVBEjUAsSrN85fBPd2yR75H2OnAW95zvfOfjnHOBBaYAAgAvjhb6VQt0Vf7HW8qhYy73X4sXjzeU1PZeKD2WDBMFtL/f/zD+bCg+H/ZrdaMxpyvA7ValZACCCs7kyI1h99XV9uEZBRACqHkEI9HCcCTkr0815EnquZxIZqRAQHEGcArGKGwm+wZn/bU7bg48n6tVWly2JcwNuvBOSGcW3HWUcCzlWTPSs6alY88Kz+MsSFTeqhT6qKNiUz4ApQCixaVsrOvuHfzBSm2XTgaVY7qUOtMOt6c8Yk8xU3ChmTGXOCGCcKaPnYur1xMDjMJYeenT0N7cjN4lxCn+YPkftH6PVI3zUPMEDdxJBc1OM/U1DiOwmJYRysq+u294dCrpWtoqcrYYpj/9QNP7rnjsdnn+6vQ0sd+lirnSoINWsC3a+vIXAYDP9QfzAj5ZqZjHpeRa+0Tqlarr7d/ixR9P55z5bOuduxr7hxY2IwAwWle0Jyuid8NzASLwZdJ9YnC7UVeO4lQKU8NlKC3cFwsc2t3c/64F0A8DIkHQcbwkuD0z9iZisFzLpZ4PLCA4gxQcQigwQbipEeMnNcY+OUblzqaBp/HhawogJY0d9vi0d9Z2PG8RnAB1bcE9T1AqBeUQTBDtl0u8sK5WhAhu1ZYVLE96ia+rNxWtDdkXdS63AsTkkkBIAiXBfQTGGPV97bEWV9fc63kMQM4jSJznulO+hwVvNpsallKpEwmw9frMNVeakU5rWVnd/Wdvk20ufgtasnjrkW010bKCrXONkmLmWRTQVPSPz33jhMqF2N9aDlm+XFfI6AAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

donaldcwl.github.io/browser-image-compression/example/basic.html

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Ocean Black - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPadOS 17 Stock Wallpaper in High Quality by @ispazio | Dark - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Apple Tower Theatre Wallpaper by @ispazio - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Holo Pattern | Whatsapp Wallpaper - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPhone 15 Pro Max Concept - Graphite - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Dunes | DUAL - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPhone 14 Stock Wallpaper - Midnight - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

macOS gradient wallpapers for iPhone [Download] - iDisqus

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRUlEQVQ4jWWTT0hVQRTGf+fcef/kqYFGtLCigqBNUNiq17Z1L1xIgRBa4iZo47JaFAQhtLMQwUW0EBVcJO2k2kSIuKlNBK9NBAWpofe+e2dOi3t9vOrbDJz5vjPfnG9GyCGAAXBr+RK4mygNCMeL7RZB3kI2z/Pmu26NcICRmRqDpx+DTuJKJYIHs4IqoBFkaQphlh+fp1m8u190ua+MnK0wUFmh1n+FeCcAgSyN1CcAhKgMruwBpdqn7G+/5mdylcWPSQTrRuPGE3r6r7O33caCUu6N+LSGrUxjm0tQ64Nj5yPS2EjbKT39Z3BZnY3JNcfE6jCRTBHvegSHoRCMaq/I4EnAsFo/BDNAERzxrifSKSZWXzjUxomqJdI4A1FEjSwROXwKvTgKZoSBE1iWCKIGIpgFXLWE3x9XxBr4zMAUQTAvlGrY1038q4f4tUfYl/dQqoEFQRAwxWeGWENBhgiZ5J2xIsz/IeSpGLmLXDOknfzlYJWcKNIl/qcmnWNMwVqos5yAdAT/OeiIBTNQZ2AtBVnHOQEJhT3rPKBu5LXikhIKzbrS9nOkcYJq7tNCPu3uJhbIa+QcVSGNE9p+TplvbhH8DJV6BGSIBCwIkTN1FVNXMaJS0dgCkFGpRwQ/w3xzK3/KF45GDB95SfXQNZIdQDKyWCXZEwAr14xSLYA5Kn0Q/1riw/dRNr75rmmNREyOPUDtDlGljoVOQCAgCj75TZCnzC7cg0V/kO7fuL18DnFjwGWs+M6iLeANli3wrLnVTf8Dz+MJt/sFlxEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Imgur: The magic of the Internet

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADQ0lEQVQ4jS3R3YtVVRjA4d+71tpnnzlzZsaxsSPp+JGiTEUmJHWRXYRUKkIjgiQiZpRdmBJURMQIZWKYkKDBRIUXUuhVgQXVhfgBEcIQgxYqmOQ0Ot/OcY6zz95rrbeLunr+gEcAaj/u2epKyXuxCI8JagUAkf9FABUUQCHgzGWfF4dGNhw7JbWf9mx1xn2DiNE8RGMQH6NEVYJGIkpURVEQNMFpuZwaVKMv/DZno+nDYrQZfJToMu/pTCpasSV5IKnS7lqo2BKJdYpG+ev+hFxrjPgkLTkrps8BK7QZNCZq27RM3yO92tOxQOakVWa0oKmRQiCIijVOuynLzkuf28Hpv7XFpSuchuhsainqOY3jt3Xzt6vlMwb4+voAc8pVChHUGsQ6ciPSX3tOeyrz5dLUDSqaOmPKRnU2Uhwa09pYi7yy71M2TXfzTHs3U817aCyQEDAhIsHT9LmooIqgqBp/18tU3y1mLk3L+pee5pezA0z+Psr22ip8nqMhoDGgwSMhkiA0Qy7mvx1xxcEJju56jR/O/sbBj/o5feITzPNdvHH5NKlzxOAxQFTF4kjVUPcZRkARjLnqianifeRk/8cs2raM7QMn8CHHRsX7nHrWoFHMUlJoEcNE3sCKARSThYLdu4+w7tnVLNixmM3nj6PBkypkRUYzb3K0ZyNr27uZbjZok4Tx/B4Wg6IYZ606W2LZ4of0emOEsZm7lDFkRZM8z/ji8S10Xcx4J1nDjoWrqOf3acRcrTEoqJmdLeSFdU/y4aGTsnZokR5Y08vNqRGyZsbJp3biz4yz74N+9u/7kjcbq/hjekjv5vfFYhBEpC3tLWrzO+zQ8BidHVU5f+6I/vzgdVlerZF/N8WWXQfonNvG6D+TPLxxibK3Q+6FTB0GFQmmpZRca620ypz2aljZs5AXN7wvi86V9eZXN9j08n4OH36dJ5YuxT1a0fqrJZnRJlZtoGQFuGZTVk6MT8xsrlQqdv3GNfHChSt8f+ZXGb4zye3hSUZvTHFrXh337lwptSdKISqptSgxEPba2fDnlarruTqbFcvPXRycZ1RMe1sLra1lmRyuc6ergXm7k6TDqWYKVqJYM+gL/9bI+mOn/gWZFaGEUyA9lwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

30+ Stunning HD Purple Tone Phone Wallpapers

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACt0lEQVQ4jY2TMUtjaRSG33PnRqLCTGVlFK1stFC0UpKQaBPBTi5WVsYfYGG3uzM4hXZX7BTsBBGConDBIIkiWKRQCyE25iYSi2Ay60RC5Oaedwt1WJcp9ik/TnO+8zwg+YnkV5JVkr7v+z5J5W9otVo+SZ9kjeQ3kqaQ/APAVwBQVTUMwwCAy8tLuK4Lkujp6cHo6ChEBCRVRAy88k1I/iD5haQahvEpk8lgY2ODJKWvrw8igmKxCM/zmEwmZXp6GiR9AIaI/ISq0vd9JcnNzU1GIhHd39/n8/Mza7Uaa7UaG40GHcdhLBZT27bJ111VVYlWq6UkeXZ2puPj4/r4+MinpycWCgW6rsv7+3uWSiVWq1XW63VGo1E9OjrStz9RUVUlKXNzc7QsS8LhMOr1Oi4uLuA4DkgiHo9jamoKgUAANzc3sG2be3t7EggEaIiI3N7eotlsSiKRQKPRwPn5Oba3tzE/P49kMond3V04joNms4loNIpgMChXV1cQETFJ4u7uDt3d3QgGg+jt7cXJyQmWl5cxOTkJAOjs7MTa2hoWFhYAAP39/cjn8xgbG4MBAKZp4uHhAYVCAel0Gul0Gh0dHXinvb0d2WwWqVQKxWIRpVIJpmkCAIQkXddFJBLB0NAQurq6EAqFkMvlsLS0hLa2NqyurmJ4eBiVSgWVSgW5XA7Hx8cYHBx8lcf3fVqWpQcHB7+sS6VStCyLs7Oz3NnZ+fV+enrKmZkZfXl5oarqhzOGw2Etl8u/s5gkWa1WGY/H9fDw8F1t/SDS1tYWJyYm1HEcep737waYyWQYi8V0fX39g0iiqn8D+PyucjabhW3bFBEJhUIQEZTLZXiex8XFRUkkElBVlVfqQvIvAH8C+BDK9fU18vk8VBUDAwMYGRnBf2cArICkSXLlLdH/m/MPkt9JBv4BpIho0YzrPsQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

01-wowpapers

发现导航 - 精选实用导航网站

Wallpaperize Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Cool Phone Wallpapers - Aesthetic Phone Backgrounds - Its Lit 🔥

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Iron Man | Marvel - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Lake, The Beach Day – Official from iOS 14.2 | Stock Wallpaper - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Traditional Chinese Landscape Ink Painting Apple Bundle - Etsy Taiwan

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Relive the Nostalgia with Sony Dynamicron T-120 Video Cassette VHS Wallpaper

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

LCARS 2023 Star Trek Wallpapers | gedblog

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAuUlEQVQ4jWNkYGBgOF/K95+BDGDY/YmR8XwZP1maYYCFkZGREv0MLIxM2A3Qa3uHVfxSlRBxBuAC6OpZGJmYUAR0ml4zMDAwMFypE8VhAKp6FgY0ATjAJY4GcHoBJq5d9wJF/GqTBLoB2G0iVpyFCYdCmPiNNhkGBgYGBo2qJyjiRHuBkDhGIN7skmdgYGBgUK94jNUAdPU4wwAXQFfPeKtXkcK8QGJKxHARAwMDw50JymS5QqXgLiMAzbscf1WKWFsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Download » ArtStore - Beautiful Wallpapers

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jZWTX4jUVRTHP+f+7vxmZmdad9yadm0N2cRQIyOhl9KwXoRKkTCCoOilyB580h4KXKiIgqAewqiXMuq1iJCK6C0QM3c3cMnUaVUo/8yqM+Puztzf757Tw+zSRk994XAPXw7nHA6fKwBmEw4O7Qd2A2X+kazIbYV3BXhPRH4AJvz1Vnjf/r9aZvYYE2/89GavZ2amamaZmcWoGlUtqlo0+0/kZhaWmvziS8K+NEVBRFW9OIcT+dfiqoYIiBMD3FIYMOpLYgMaTVwiOOfAjB8vX+XrP66zpVziufvGcEnSrzfExJavISJivurV1EwcQicE++hcQ744dpabl+HYHbeyoR0YPTFI5aGU+gNDWDQkcQhghnOVJJI4Ryf07PCZU3J06jR7yTny5EayrvLdi+eZPDjN9GeTZBpwIojmxG6LGBbNrXJRQp7x1YXfOHW1ybYQOPDUo9w47pk/26HyeMBt+50rMyfBFYkaaHx/mEuNSRYXOrhhl/Fr8yJnFlvUb87z7CP38/ORJp++dBzrttn6wjo2j9apJVXipdM033mePxszJGmV8mDdu0Le5sLCNVSNe2oVav42vpyYYmDrAmlYZDAUqBRSarPTnHt6B43Gecb3vMrw2s34hMwN+Z4Vc6A5x6bVdcR5urHH7Jwx2G4zNrKKwl1lkr9mmd2wnfXvfmtrRsekUOwD66vlyIO3jzOe3GLr164jLRVlz8eb6B09wc5d97JmuM7c3rspbXmFHU9st4pzYqomzvWxvvbh2z2L0fosqpmZ9iHLVnpL0r6hukxlw/m5ky27OGM5YAgKogaKJxogggGqoAgRkRxZpvGT5NDD5dw1p3Ymq0eQgSHEckQDogG39IoGxAISezgyXHYDup0PSKuvCUB4a2SfH0hftqE7a5IUTa0/Yvkzm4GI9QH2fj7G9HP/zDevC+jfCEzIHkv+fzcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Ship & Swans Light Blue Wallpapers - Light Blue Wallpaper iPhone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Wallpaperize

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Classic iPod wallpapers for iPhone (Free HD download) - iGeeksBlog

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACi0lEQVQ4jW2TS4iVdRjGf8/7ff9zPHMcs+ME4QQVOIkcyEUtCqqRiiCIZCKkqFWFBKHr3LV0a9NiFrWRLnQhGMKgs8hxkgxy18JyEYSXiJKZUc94Lt/3f1qcMVz07h/e5yoAG0kYwL/xBJk3EfOuuA9AictkVgk+1F7O3okRW+fzTLGT49S8TanE0DjLAAqLpqDymIIl1nlXj7IJIL9HsEDLLb5Wm+e8pmyTJWLrCzbGZAWhjsM36ekWL/Ewm9qi/T7bOZL/YWiRdFvQBIxu85StzFgdmvRZ1F6Oyhd4HHEGKVEC2ZBlArkGFUCNrYkUW1l2AGMy8+W45nCaIX3xqasvv6N4/SCcOGnWNqAI/NoLsHYd9X7EgyG+a9p651WqQ6+Q6jUOR4gDDHFKxL274NvTcPon1J3D19bRqRV09jz+5SJ68hFY/RlOLhMgYw6UrpilltY3zF/XoN2CXTvxGy+j3TPw4G5YXkHTbby9DZ0d8OLTiIFFzWzYQDK//g7L38NgCM0EFy7C0ufwVQ/KgNEILl2dWDS1DfCkBEHJFUpcFLiRoK7h6t/ojz/xdBtubMJgiCXUnYP1G/DZKUzLVnAlgBUK6Z67yXP3w7OPQXcP/uQblAr8/FO4uwdNT+EPPoaHHoCDz5AJCViZxBicySNU1YrGNsd4hENQjVGzBdUI1xnKEqosNxsOYhJjaB/ngKWYoWwUrvKYnApRhGg2ca7kshDNJBUBzXDFDgCWtI9zYSMGHPMGPTo0JJFr6pxxzpMKGpwzlS3ToeE+PQYcs1FIWPvp6yYL3GJRyXW0KaNwSJMaKxzRplRyTZ9FXWdB++n/t8b/mfNbwLxrZgFUcjmb1Zz5KHX54U7Mvz7fN6zfi4ePAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

GameBoy Wallpaper iPhone | GBA Famicom Edition - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

02-bestwallpaper

发现导航 - 精选实用导航网站

Ultra HD, 4K, 8K Wallpapers for Desktop & Mobile | Wallpaper.cam

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAx0lEQVQ4ja2SzQ2CQBBGn9wMp73TwTZgYgV0QA1GK5ACKIAGtAmudMDJGijAhCteZpMvm10k0S+ZhHnzywD8qEPkrzvripBbRIF2R3Grg+INABbgaM9P4B3Fr98m1DZhBfodG+HMSmGTNKkSNaUYsyQ7S6iETYniEJsBvIBREh/Ca+GDcJ+CZ0kObDFfhw2ba5kuwu/AS3y9GQCdBG/C9UbBusRhwVYNSUGnRIOsmsw/MApvthog7+mFucR9svLxhU199IX+ow+Ipksw4z4/ngAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Stunning 4K Desktop Wallpapers - Free & HD Full Screen

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Nature - Vector 8K - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Popular Desktop Wallpapers, Images and Pictures - Download Free Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsklEQVQ4jVWTO4hdZRSFv73/x7n3ztwzucMomkJkfDNgIcEgNk4iQopgZ6GN1qKlYCGexoBGESwEC0tR1CZJp2hACwVBEwuJzIBIUBLJDMPNfc05//9vi8z4WO3mY7MWawmAGSKCXT/H49WC5/c7TpdObhezLBX7MfKVRj5eeZpPAKxBpaEAyCG8c47XbcardZ8qC0w7rO9FZhMjBkDAHF+myMtrp7nSNGjTUARg9wKv1Mqbc4WwypZFzvrIlTzn+OIvmjSRyjCGPXwH11KPU6OnuGQgsviW9ekOlwYjBtVRSq54MtzFNxxo+h3vVVNe2hvTASz1JMyS/bo65JhsMtHFmGfq2xiGO9GUmF37nh/sIt62qOwiXoTfXQ80CBrx82zt6hF5YNzyAoBqZMXfAaWQXGBp7UEelU0SX1Nkk9R1PJEMXDRxETTiElZwPGuG82GNTIXRUsRRucjbtsVJuY/x/DIndcapxZxMwAGiIB2Ieu69cZ6BuorfyhyxQuhm5NDnWNvxWXuZ47bgfVUcAVwEFzEJiHgEj+wFRKY/clQyP4fAqOswMSRUaMq0JGLKmOq/XQHMKZoKu4MV7talR/gz3eQtn9A8oXQ3sbZlZkIwT3EVSEC0OvgesNDHXOQ6mX21Bh2e4OyNP/iw1xLEkd2ASjxoPIAjJh7RgImnSI3guCAbtMJ/tPs5Ly7dr++6Hr5kkP9dASjqwIw2deXh3gbbCmCf4gBGj/V/8kvLitWmumwiNSI1UAssGwyL1rWzXL3W22DbGtQD8AsGkKY68FXtSiYZ5kBuBVcsoerdEdWyM/8gPLT3jhkqcrCFw0UCmrfv+cKNBidsr2SzoiIiMlBsP83Mpm+49atn7JY7A9B/3AmIkJ0fP5fH5TzSU3XLBmFCKx+l2WTTrV89Yw16CAP8DfU4LOFrYcKVAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Heroscreen Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAApUlEQVQ4jZ3TMQoCMRBA0T+TqFh4pL2BjaWCCDbexcpGD2Ch99A7uYVsxkrRXZNN9kMgE8hLFeG+POJGC4zAd4JhCNFEaB4Hj47XqMxa199IPCfAdKuE5xXvwKxsBQOxoFSXHXV9ZuITz8VTAKrLZiiin91ARH+mAYh2TgqRLlCI/AcKkDiQiaSBDKQf6EHygASSD7QRFQiiqf8W77Y64fycpt6/AGwlXQXtuVx5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Post36 - Google 云端硬盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtklEQVQ4jZ1TTWhUVxT+zjn33TczeTNm8rMwMgzUhVWKjotutAGlVhRKKW0tgnEhrtwKapGALy76Q7sRXNlNq4tKbAvRnSB1U6EtSKWlUGml2FaCzSKZZJz33n33HhdJNNCsPMtzvj84fMD/h9bZAQB0nZtZh6zbvjjwei93h0PmCACqFdaLAw+u0sTDW6uY9dwIALZNv9lKotov891uwy32sQCLt+vzuDR0t/u467dvPIKHK2AFAH5GT5eVqxSfJ+HGANuszHyRZEVx1vyeifGN4SqmCNAVLJ4LpGCkCJ1v3tktRibKXuFja2KXNOyJxiO7Oe5WskV4I5jQGeymFEHTZe7zBAqKAn8EQAAEFdGkWZs9PvTPLASBgEAEKQM+Vl2bYMV959fvHeVYxn1elgDIVIW7Uj81utifQg1MBHIZSmPxmp/B0dUUBIBemt7XGOLBe0TUCoX3bCWC6s8//frKq/oopfIgfmRGp8zhTAQB8Dc77MD76DIAbfLwSYltOxQ+ACwkjCA4gzQt6RKcIXwAYSggrkDgGG0YnCRAafv0W1ti0TvqaRBBPVclKotw9e6hmSNIp8whANfSc0G/3XAFlaXDRR/OsAoM5jnoLmp9+MM4u+S74BwRASxE7UrrvuXGgkcQA0WPbNhcPKhf+O3dLcF5VQJiYTW2v1e6tz7/N+4MdIg2bs2WYt+kUW5Wk5EAbGLQWICMVdVt+iMaGRmc7aPz1+3AbkzcnF5v3Lj3KQPkOZ6bBHp5xXoeTdS7su98/qT0rl+GolfmRVY28yfuy5eP+f+GWmx4Ic/rOgmQCqC89P3g43jXmag9OrwnsZYhViSKmSPLHFmmqMIxk8zVahxV2jT+5+XP6rfvf6VYfiMAJYB0/yfuDaehCYVnXtsTjxBEQYXknMzfOU03FSBaU6oXnqcPZiRKuF2x1gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

壁纸 - MACGF

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4ja2TSWhTYRSFv/9/r69/mmZo05gQdVMoGBUp6EZdiRPoQpQ6oKLghCsHUHCnC3XjgK66sQ4IFoqo4MaCQ+sAgiIqWBCs0lZtwQ5pmzyb5L1cFylYbHXlgctdnHu5B849MA2brXL9X2hos8od9Y850cZc3R0I3N8OEgapAKmcwjsgeuqGmtIFZF4stqbLcbrVxMTqd6VS8odSxUoR/1M+n+p0nL5Vvj9rIJc7fhKUOylNFBywAQtGq2x7AM+rG4faZ56XuFEs1rWIRHRV1fOr4XDzTmPajwLJPwQAiGXM9b21tfu/Q2EJbNoImEkyDN+W19Wt7Y3FVvSBJMqHwYae+cFg62rbPpTWOtOUy23dA04v3H0Feh0MPoG1n2FHk+seOeg47deBPCgBlI5GLz4MBLou+X5ik+ct+JLPr38BSz3oaIXbTxOJDgsqSzAqrruhHfLjkcjhc47TuxDEVsa0rnScD/u0HllWKv30xsbc1zD7E2Q/wuY+iGTgVgxOd0GVBIPXztv218VaD8z2vMhj9due2xsaGy+3NTWtoLPzLZ5nGBrKYtvVhcFBNzcxIQUR7fp+xCkWG1zL+lbt+8mXNrRZIqqolHR43qMfuVwmWl8/R9LpeiuTGaK/v99paFjkDA+Pkc1+p6Wle0ipYzszmeQHSI5MKjil4SS23XzCmLNnqqtHCyIhHY/HtdaaVGquHwgUpKfHd9682XYM9l6YwUYUSDgavXglkWiUVKpG4vGQxOMhqakJSjicFss60wwSKmelbOMMfy3GmAdbjbmzq6KiLy1iF0Xq3+fzW25ms8vvgSrM9Moz5SIIhIASMA7q599np2FanNXfIv4LkuH+RJk7XFQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Top Wallpapers - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Peder Mønsted - Sneklædt landskab med pige gående på vej - 1923 - PICRYL - Public Domain Media Search Engine Public Domain Image

发现导航 - 精选实用导航网站

Artistic Ocean HD Digital Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Colorful Earth HD Minimal AI Art Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

2932x2932 Earth HD Colorful Paper AI Art Ipad Pro Retina Display Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Wallpaper Search: like:7p1v9y - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

long hair, looking at viewer, Pixiv, anime, anime girls, umbrella, water, heels, flowers, leaves, flower in hair, rocks, waterfall, dress | 3186x1826 Wallpaper - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

03-wallpapers

发现导航 - 精选实用导航网站

wallpapers

发现导航 - 精选实用导航网站

CNET: Product reviews, advice, how-tos and the latest news

发现导航 - 精选实用导航网站

The Latest Technology Product Reviews, News, Tips, and Deals | PCMag

发现导航 - 精选实用导航网站

Our Solar System — Google 艺术与文化

发现导航 - 精选实用导航网站

NPR - Breaking News, Analysis, Music, Arts & Podcasts : NPR

发现导航 - 精选实用导航网站

The Difference between the U.K., Great Britain, England, and the British Isles

发现导航 - 精选实用导航网站

four-day workday - Google Search

发现导航 - 精选实用导航网站

five day work week history - Google Search

发现导航 - 精选实用导航网站

inflation - Google Search

发现导航 - 精选实用导航网站

Bright Side — Inspiration. Creativity. Wonder.

发现导航 - 精选实用导航网站

Verywell Health - Know More. Feel Better.

发现导航 - 精选实用导航网站

Lifehacker | Do everything better

发现导航 - 精选实用导航网站

VICE - VICE is the definitive guide to enlightening information.

发现导航 - 精选实用导航网站

Exploring your mind - Blog about psychology and philosophy. Articles and opinions on happiness, fear and other aspects of human psychology.

发现导航 - 精选实用导航网站

Microsoft Accessibility Blog - Making technology easier to see, hear and use!

发现导航 - 精选实用导航网站

Fast Company | Business News, Innovation, Technology, Work Life and Design

发现导航 - 精选实用导航网站

ExpertPhotography » Photography Tips and Tutorials

发现导航 - 精选实用导航网站

News, sport and opinion from the Guardian's US edition | The Guardian

发现导航 - 精选实用导航网站

History, Travel, Arts, Science, People, Places Smithsonian Magazine

发现导航 - 精选实用导航网站

Investopedia: Sharper insight, better investing.

发现导航 - 精选实用导航网站

ABC News – Breaking News, Latest News, Headlines & Videos - ABC News

发现导航 - 精选实用导航网站

Worldometer - real time world statistics

发现导航 - 精选实用导航网站

Xtreme Download Manager | XDMAN | XDM Home

发现导航 - 精选实用导航网站

Breaking News, Latest News and Videos | CNN

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

英文网站

发现导航 - 精选实用导航网站

今日热榜官网

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbUlEQVQ4jV2TPYidZRCFnzPzfns3NlokpYhEghAIwXWRCAFjpY2dWAkiKIh1CgvBgNhpFZuAnVYWopAishgkQpYFQQRZXEghKgqriUnMvd/7871jca+54jTTzDww55wRQLA1sHX2KL2JMQWbG2IsAcDmQ+IehYMfbolPp+U8EgSAAOKJN04x2GUwo3snMEidUBBuSIXw3+lxlRwXtf/eb6xqCdh+ZZu0sQcO4RACJcBh6stOAm1ArwcUe0Hfv/tjgAwAKx2NDY0dzSdsnGB+k5i/j40Ny8C80W8XEidI+cPg9UEQS0B0oWJYNqwEQzgqO/w1XkD5EhoPSM3x4sTdCS/n2D5yGmAJGOZgBVQ7aXLi3hdM9SK+m7X70Zsof4I3YTXQCEMT5BP/ASyWAMuBN6HxmvY+vsadB315Yv4OLcBGYSVQDWycrQFU8AJeBYvAyktx9vlj+uX6Is68eARrr2IllsvF0GiQf2Yp7QpgAeEG1nF/EnE1zj33DTE/jdJT9BrIxDAYU7tBY+9/gA5hQZjAgpROonSSPsHUAvMAE/QFxnl9+/ntWJkNQwVNK1ct6CY0QVRADXcjJpBDK6/p6y8/+5eW7rsQG4CJbuAuenuL8BnJ3qHXTnhH7qT++CqEsRaxtbgvkufAchB3drSzewHyLt4M5UC54/18PHvmaUGsk5hCWHOsCquGZzFwNEDE/G1s7HgdUHaGOmOYPoitrQfWSay9EfxBcBP6nzDdote/BaEr+ztEvYSXu6geMi0OsXqKY+3l9TM9xozjxx9mliEDsxkc3vhV11kAxDNssvnoI8gbACU5oayv9n/6B0NOO7mYhb9bAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

今日热榜 | 一为导航

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACB0lEQVQ4jcWTzUtUYRSHn/d974yj11tZmaDVNI5E31BIRVG0SXIl1ExqKkT/QMtW0VR/QFAkLYOKahYJ9gFBheSi1tEq7EMlxbIPbe44ztz7nhYOkUO1EnrgHDjnd87iwO/A/0b9oRYWkqoQpHJm6cimMQ3gAlcVPAY86WzeON+bHCj1Jgeke8MmwC1r11aDlwVTeUIT8FZBledwbuZEsg30fpSAZcjcGBm2cBYIgRbgA4AW0DOd8Xbpayg5mn6BfP+e+gSovV8KAaB4Ojk3ZuGUATRclnSL/z2VaBNQTv7Yul210egjiNwK7NTppOvYnublHUUrxnXUG6x9efz5xCqgKYRJ4HwYlSueMn359PpWR0eoLoS2qBU9flf8dsxx8mhawoDc6Oz8yc0PPtYqeAjgai7luhOHcyJ9WlRJG6lRnw7V19Y0ekMxo3b6AcVAbGRl1OjX3+az2++PN2poFagWePG1KzFebXRKKyiF8mrOnz2o1wx9zlkrFxRoEXFiWhtExjqeTYiCA0oRE8hldtSN1EVNKh8IjlJabHixfnD6hxZQy+68H/RLct2NaCeqVFAIw8w7P3QVIIIChs9sW/GkaLFeldZ+EN707o7eW2S2LJhCT7x9KhXfV25tAY6WYyvAdHrt7kLvhiNS9sC/qLT433qLkcyCL35bMOVQLDyAlswvfWn4CbV0xUZt23hWAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

今日热榜 - 全站热榜

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACjElEQVQ4jT2TTWhUVxiGn/fcOzMZJ+roJIZgjEYQgijiStCCKxcuhFq6sC1Z6UqwUAoFQVEX4sYf0J3oQgQVreJCFBeCgeKipStrwW7aVBSCRo2azMy9c8/r4sYsDpzFOe93nu/5jgBaE96mwFEimwQ1CQSJjSj3MRoDtumR8rzIOPvumu6rtc/bQo17iAEXICBGiIZKAt0eANRSFpJACSC6MeP7oIqPIwackwliryA2arjVjztdPNrCw008nxGznBgC0QUZkRqJT6bARhfEJCHtZGjNIP71F9Rfh79f4K1j0OyHB38SfrqEZz5BNaXiSJS1IZXpA4LBSYDZOTTYxFkOZ+6i/6bhu51wbJ/5MC8duID7KlAYSRCinSJAuDBeUkVL62jyL/TwD5h+D6fvwLP/xa6teOVSyHtIAEZBZY8IoCxHo4O4ksC/09BowJIaJKFcn9rlGQVsEELBlBECigLWDSEbfn8Oc+9g5iPs3wXjI3BtEmbbuBIQlFpTBWMLQqlufDVIcGgPfPsVrF0F28fh+iScvwfL6qjwYk2CTJTAhiAYG4Ish1tPSozVLZidg8NXoZNBmmKXAZZwMIoAhXG9CqOr8MsZuPIIjlyEny+XGg/uhnYXBxafry9FrYUJq9fwcBO9/lCqGh6Bx0/h6RQc2oO3rEcf2zh86YEhGPdsLFDeQ7PzeHgFqlWgKHA7gxM3cDVFpyZwCOBYXrawBn7If1Oa7lDhXtZTMjYEyxvwbGrxI9HJYfPakv2fVwCOBAVi8VLNb97sTfubN0WSYmI3Q0WEehUFlb4l3O6W4H1VLBEIEDszPwqg+fXURNoYPIrq65OST9GIBTQLBxamNQK0X8X227Nvb4+c+wyjGzAI92qC4wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

即时热榜-今日热点,热搜,排行榜聚合网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFklEQVQ4jV2TX4iUZRTGn3Peb+b7vplvdmZcc9Zdt7YWI8ElI6IiEOuiCKxASiHsYm/WQLyJsCLQyboT6c+dBla49AepzbsIZa3AIoxAEOwiWdpNK52Z3fl2vr/v+54upq3J5+pw4BwOz/k9hAEJwACEABnsL31UGQ4cvGR1flxb58FaVR2KE9xhRe+nwWECLAC0mus2OQpbyc8vRmUZqa/jz2IrH8DIol9Sn8ICYWJ3rd8bzjlrCwiw7Zn6lFsuvCm5PKHZzMIU766IPagyGRPRE+zwy8UCobNiP16/N5yTJpgFYAE4fG7jTMV6l3zLz+gINxHzlGvoXV/zWLeDvKLUfrFoRJGFgp4VAQGAQ4BtPYkhR2hrmtpjPWtPbSjfuNKx8PK4tk1DHQ0CfiDs2LQQoJiL/VN09D0RBIDw8lS1XozGT6uQt5suP+LFzodhb+RnP2p8bbqFkRtZa3vSk+9cza4vTKzpq/o0lpt9w0Er948fcVx+0ZbNJ+Jan0pi4UqGkmwIqrSnq/MXnOH4nCX/qgpsQTv6oHHJgrMv69PJgkOJ2mNz+1blwtJ7uEXdfY2rcNUb5dej2eWmd8ZJ+Vlj1GvKMa9UKsmiCIiRcENF5sf5HXD6zwCkX0NnuICUqgKQyulbr6AUJ+qHoZnwJO2GIYIwUjhJyKuPnofubKtV5yfgXQ9Hi50dtVoh5lc5pssEiOmRxipAPXtcAJJm3wOHQGGR1ZgAl0M7dPThRu3p1DUrjhuMUyZRZtLHAQAZT6620G1VO2eHAEGzTytDcIVI7SRA0lQOm0T+Kmm1WTIcitvxvbXTN38CAEr5KRNj9s4mkn+QBwCwiH3bEE2366O33/bL4rWsm+00ifxOq2rL8Pn2EgC0dzWe55i2eBkd+4/8fwkGwrG7Pi8S39fW+rGNfywsdO4ZmfAD91fNeCcP7JlSIN8kyh6pzl07LAANho0EoOuAX980+QWDHsogp5SS+cTPXa+sTvpl8aKiOVE+u7RvMHD/u2BNyejkASE64Dm0OYJ+P6/oc55HVe/ibyduZWRNfwMy7XT2KrymjwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

今日热榜

发现导航 - 精选实用导航网站

How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

KeePass实现Chrome浏览器自动填充密码方法一 – 奶爸建站笔记

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC90lEQVQ4jYWTW0jTcRTHv+f3W3O3TJeztS2XeRldsKxWVlIWSyga6UN0I6SHlKLsIQiKbhBUTwZ2gQp8KAoaFEVQdNGU0OxCBl2R8pJOzemUWM79/f93eijJosv36Rz48jnne+BI/FtLAUwF0AGA/+MFABAAmACHxTKhesP6kuHTp87H/P6iWgCusZ5RyT8BklKdlVkZacXJ1hQkjk+ijIzMaR0dnZP6+nqv/w4QY5sfO+qyHIaFpevztGyXSl0tDynUUa8tnpvmBTCO+dckvwDoO4PCA1+0oJYl2joV6o0kkD1jmaive6wBICLivwL4yBEBAL48j2nBlAiVFOXGy9bOYY/jK61avcQ81vMniQAHJHNAzsu276it2hPj0G3m8D1+dO244s31lAcCLJlZjh08ehDinxEAADk5rvZVhXlpZDDj7oNnwabGt67fBhIA1o0WBKzxbd61ZXKqRa0/VWFYEbWmZNUMMvMAfCNm61eL7bp1bUl09oSo7tzZM1cA3Py5gCnF799bNXQvNMI7y3bwYaOTL033MReUMReU8qUZK7nCPZ8Li3fzg89xrqy6PAypLwYzEcy2Ofmb9tbNnTExcbihWll3v0mkTJ+Nt/1tMsKAFhcwqAq8zkwt1v8ZhzJnavsuVibUXT4fPVBeViATHdnzpDNnS2rnS3ZevaEr9PqEXYuJowluurOoiPoWeikci9Ky1nZKdrpF7E2jrHjaFTfbzOMiXS13xVDw9UieVsMeF1FjjoObW5q4fFDFi80nOX1qOsPo4ORjF/iERcP796+4xiW4MD1I8dbq+KfWT4pQVZUOblxA27Yup+RZboR72vF80iLkuk2EuIL+iAqDFCTz/eju7USSOxG7S5fT/u1raCg2RDoAou5lm/SwmUyS0K2TlKoOItj8CtrzWzSixvFkmgvjP3bTgBRkkJLfNQeptWeApIQgAHa9XuY77VaSej16PgTZaLRSSAOghL9/nNEGmxZBRInCnm5jTQEFQ2FWFK3hG0BvPQUTgoe9AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

教程

发现导航 - 精选实用导航网站

品玩-有品好玩的科技,一切与你有关

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACH0lEQVQ4ja2TS0iVYRCGn/m+7/9/PZLZKtCjGCJUWxcuXQslURS0l6BNdIfWQVCLLruWEUgXKwlamLSOqE0U7SK1tBKEQD36X2daeE4GCS3qXQ4z77zzzgz8I8RAOIoDkEkqgF+xSYwhPD31fUSAilKFgmT2Yytf/tbBRnvqdCQfwNoJElHoSXk8d3tLwaHeAaJoGK0yVtNpmVlq2JHuvfj2YbRYIMs+kdTeErlOSp2G2cP4/jFKScgbzx2xGyFxE7hwjzjq3uSNDtIR7uDDNaoQAQGzBhvFONZ/hVpyH+eOk8pawGyFXBUlI7LmSLJKoRVKQTAhuBqlniKWAaJwmrViifV8XGaWGgF8jiGIBQjeQEAqwAGO4Hej+oKV9Qd0dbzEAWl5UZ4tLBo4R2n5plsIVRUJGEaKmWAkoDmN8gw7apdp8wNk5aRMfb5r4ATUgeVgihDwltpYbzeifVRmCLvkyeIrEjdI4k+wUX6jyM+1FgTgkCIDUaDEqBHHN/DSiQFKbgfqgwR/C4BSL8jTr1+a3ZsEtDU9YJ0QX8IxisoqgiLmaA83SXwvefVQpuYnWtJbdxDQrEDiHNiJk2NgyzhroFRAH87tIau+kxZnf5fegsOqLRODA9XrqL7DEaNiiEBRnW+5Ln8QOF8i5ERilPqGR3NXwXvMlAhHqRPbSd8a4f3iPPvrI1gck6dzAmrlj9dI1xAAy43Nx9mm+L/gJzhY/QXbkyLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

什么值得买 | 科学消费 认真生活

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADJUlEQVQ4jVWTQWhcVRSG/3Pufe8lk3SSTtUmmVQXaZXYgGOibaKILSoKCioaXCi0AXddNwXpRugmdeW2XWRcKYpCN0IRKrRU22BD0kaDbYaCpkksWDKTzMx77957jhsj9Vt//7/7CP+iABGg6eTE/kj0OAkOifcVFYUyL6jQXOp9tefi/MqOCwCEhwjvj0+T6CmytoTcw0cdUDaImtsACM6FB14wU/jhl7M7G1aAASC8N17lJJmRpFByqXNZKw06Mqr23LeaFveE1mbDBXCpk2imcaRSVYAUYPMpoG7yxZNGw8mw94mcP5slub1s5dY8AYB59yNQTy/ZDz82YiNpz/3sdnV1j9X7H212/rlx1abvjA2x6mlpZ6JdRYPdexhxonzsBPHYBNQ7SO4hF75Wd/UKa0fBNNNcoHp6c2zkO45MNMXGFH2rLRgaZl35Xf2NayQb63DfXwBEIPc3wAcrxP2Dqu2UnUC6gKIYTLF4PQwXVMkQTbxM4dYNkrVVyN0a7Gtvwl+7Ako6Eb89CRoeodBOSUHkgqoKDrOCKr7eAB0cJX66AjowDO19BLrdBD81At3agvvpMvxvS0CcAF4UQSn1AhE8Y0MI4CiB+WAK7vznal56haKpE9BWC+HXRVBPL9BdRFj9Azz0JIQMGAxSQIOA0U4X4r4y3KWL6r6qkipBm02Y58ahWQZ6rA8odIMHBmHKgwjbTfJra2pzB1IsWtjkOv5af9XfvqNIOpXyDFKvE2cZZP0eqLcE2tsPvzAP6i7qrulPQANlpfPnqLVSu87k0tlWHhq2UGDNnYgIcW9JKY4BMLRRhykPwgwdUC6XyY49LyZOuBnFjbx2d9Z2XFqqNY6OnilE5mzebOUIntA3wEgzjd94C+7yj3BLS8gXFylsbIg0tsLuNIsz4MzjQI0UYAKkfuTZanG7dax99HXowD6XffMlq43Z31sFBIKOTiEyUY+1+Fvpi/6bN6dARP+LafOFyjRn2amEbSn3AZko1FjECpigSIM8cKIz/cvL/8X08AEB0PsTo/uty4+r0iEJWtEgUNUFUsxlaV7dV6ut7LgA8A9TRbIkiB/PvgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

站长之家 - 站长资讯-我们致力于为中文网站提供动力!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAi0lEQVQ4jZXS0Q0CIQwG4La4kMkZF3AinOPWcAncABpHcQGRe4Bw2ANT/jfg+9M0AY11MBVjXWoSQogeo0dxn2Oso7bMzOd0qcfT/XkcQCM9Ck3pUtDrUhD6hf7omDmvROKBlm9XXx/vnx2UuhSy0+h9QlcDgNCdHf7ks94mCllrC1WrCq0GAJz93htemlx/Nw7NbAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Solo 独立开发者社区-链接每一位独立开发者, 从 Solo 开始

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jX2Tu28kRRDGq3umH9UeM3cnj/Yxa1vy7uoYm7VkLGxE4ARhJExAQESGkLzmTyBAhM7uREaASHBCbBwQIAiIzAoHIGxHzjZAwlzifdxMz0fg2ZM5cVdSd9L9VdXX/StB/w1BRACgdnZ2esPh8DUiklmWXR4fH/8qhCjoZQFArK2tvdtsNr+P4/ivKIrKKIoQx/GThYWFn9bX1z8EEPyfVgBQ3W73sXMOSikYY6C1hrXWG2NgjMHc3Bwajca3+/v77nlxmGXZ4+piWavVTlqt1mGtVvvZWgtmLpxzubU211ojTdPvAKjKMtH29vY7zjlYayerq6t9AAEAASBst9ufMzOY2TOzt9Y+ZWZsbW19MvOtW63WiZSyXFpa+qHKTEQUVOdcr9cHWutZJ4VSytfr9d8uLi7mZf/j/sPJZLIppSRr7R9EVFRiT0SSiPIwDM8BkBCiBCCllGI8HvcODg7elpdXl6/mef6AiOjm5uYtItKVOCCikojMaDR6Q0oJALeblGWe5+Hp6WldFkUhAQRBEOD6+vrNdrv9xWAwcADE4eHh/cXFxUej0eihlLIkIimEmFmH957Cbrd7eX5+/s90On0AwA+Hw892d3ffV0r9OZ1OXx+Px10hRFnZEUII8t4LY0y5srLyNwEwaZr+qJTyzrmcmf2MAWMMmNk758DMsNaWdx7x97Ozs3tSCDFtNBpfaq2l9x5EREEQlGEYFkEQlOK2Z9BteQDwYRjKZrP51cbGxpNnIHU6na+ttaj+uXDOlXcXMxfM/FQphTRNTwDoZyBVSczy8vI3zDxD+C48pdYazjkkSXK8t7d3/0XDFPR6vY+SJPkliqKJcw7OOczPz+dJkgw6nc6nd0B7cVxdXdksy96L47gfx3F/c3Pzg6Ojo1eeG3siIvoXsuwwBwy7yPsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

(つェ⊂)咦,又回来了!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAADG0lEQVQ4jQEQA+/8Aff79/v9+5LhlzXkE0QjTPYZDAwEC8Xtxez97E8XT/j9+AMEBgH8/v/+/gQEBV/GXwMYWxju++1AET0EGxgaFyKk5qrV9NU3DzT15PYKFQuR1I4w/iIKDhL/BAMA/v4wETAB6/nts+KxFAgUEQIOOxg98tLTle2nBeAW4brb9kgASRkrVMkP+n1bAcjUBTMqAQYEAgDy9wQHBDQPNDEYOP0CAg/r+gWp+t3T30VWQxTWD9i24fs5JAL+/ffW2vD27P8AAAIwPlPxue/eDePBv58C5O3ZLRiow8MX+Q/Z09kS/w2vt77UHA0FBAXuYj2t7rby+vEDJ1ijzL7FAN/fO/QWGCIin6ypojSgwTzDvJjEvWK76C/nJMwe9Sr2CfUDRxxGk9iTAvbduQ0zWKC/BGa/xucN+z44OxH9EwjlBFYiGAniBAvwDC80MicLJuD54Pn8+XUsdQJ0VCPx1q8yRFf2C0BbY38NDQg8vkecjEmg7giPlT44r0I3NzYfCSDs/O78APyl3KUCHBge9ubm3MjLHycu1/IXq6uoFyUS+kIg5RINB0IqCx0GAv3+APr8QQo7qt+pJxAnBAAdAAUWB///Afz9+wwNDeHi1/Hy9/5NS7DfChIfJfy3tcGGkz4sMR0IBEhAQBoUIwT7F/r8BAAHAgz4+ff97NXr/e3+AQLY0dI6Pj/b19fz6OulANTZFgoTEBFgGEr8/fwDl4SYtuGR9e0J7dnKPBzxWFpbIyIi1NfX6Oblzc/PPDs7Tk5NzdHUrrOw9/j2OTg5AZfamBwMG8GEwgL8/y86Lf73/gEDAfwD/bCxsSwrKiQjJP79/sjNzx8aGcvNzCotLAH////w6fGFqIPhFt94JHq+6rwTBhQ6FjsBAv/9/v77+vv+Av7i5uYQGRYXCw65u7oBseGxEQkR2fbZCgILWh1Z0vPSEwcT7Pns9vz3/f78AgICOhE6AAAA/J6z/1hBBQoMAd3y3QL/AgD+ACAQIPr6+gYEBgD/AOP24/8A//7//gEAARsKGwD9/9fJubQPzl4ZY46he1piIDWyAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小众技术工具库 | 专注分享实用软件和精品网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC9ElEQVQ4jV2TTWhcZRSGn3N/MjMx5mdi0kZKI80P6kKJWmKs8S9CxYpCXYoiSC0tIroq2IUjbgrFQne6EYRQDKW40I3SdqF0EUMSTUI7JlibNNE0TTrp5M7kdu7c+7qZkdqzejk8H9853/u9Rq0kOWaW1PRQAq8qYbc5GAmricN53+yne1nv7obCsI9U6tSVudmR6clfM38vL5EoovuhXgaefPpDSRPAcTP7uX7GJJmZSdIwcO7336Y7Tp/4TMFWMQ6CEjfXVrlzJ+T++zLOW+8dcY5+dKwKfGBmX+VyOcczM4Vh2AN8t7yy0n527EyltaPL797zsLsdlllY+JOdO3fQ1trExtrNaGF+3u3r7/8yiqJrvu//6AB4nncCaD/zzdeVsdFR/+rCHwS3b9HS3GQH33zDBocGmZmaYvGvBe/7c9/GShI8zzslqQlJj8dxXJYUn/7iZPz6/heTMNhMdE8dOfROPPjIruSlvY8m+cuzVUmqVCpve8CImWUAPTP8PMFWgYnxcbr39Kq9s9NmpiZpaEhr37Mv2KWLF4i3ypRL2wIEHHCAXjMTYNn2rKWbs7o0Pmmzc3OWSqVZvL7C6NiYOQ1pSze16OjHxxh4aq8L4Pt+j1O3EpDrehrZN2QWljSfv4zrekhVos11+nd1KZfL2buHDlO7HcA1SceBz4G4miRuYfGq2uJtJ8p2aNs8yziQKQcEQYmwJZs0tz1gvuclZuYAPzjAL0AMOJ7jWOOOB2018bR+u2RBsST8Ri1vhaw7KbV3dlmD71NfGbhgklzgIvCcpKqZubc2NylsbFAOAltbXSGOKhp++RUy6TSSEjMz4AYw4JhZDHwCVGtjVbOtreb7PvMzE+rb3aXHBp5gq1gEsBrvAJ+a2Q0kObU8vF/3fDsMo3z+SlQJi7FUjReXlqr5fD4qFAp15GQ9Q9wtJO1PkmS6TgVBoI319f8+U6VSuSbpcI01ag/xvzhLagQOAq8BPTWbrwPngbNm9k89gAD/Ah/Lu7htjeb6AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

异次元软件世界 - 软件改变生活!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACWklEQVQ4jY2TX0hTcRTHP/dud07dJprTtkqLelCuhZAVQY2hJGosjKZUD9GDUQRFBr71JL0UUWC+aS8lPWhiKBGJlfhoCCZeMoSk4d9N03nT/bn708NczlLw+/SD8/2e8z3n/I7AP5j0ac7u8cD9YU/YMaNGswDsZp3/ZIFhqLYk/WmxVRpM5QvJhxqP57UMqu3dYwFX/N+sKeRa2djXWGFpMAuC928CNR7Pa+xe/jQyo8k7aLeg1C4pLe7scrMgeEWA54Nq627FAKOzmvzs42o7gDjp05xvxgJ1ACZ9lJtlemyZ0f9E+RmJmEVKxHqUoGvCq1Xp7DVNj5WFiAzgliXuOvZwviidEc8a3vXEiIpyYrS5c3EcNrGyrvF1IQZALB7PEoc94cpkFUkUWF7TUOYCtNXnUXEQDlkivKi38mMpzOLvMDph09WXaa1SnN1YVRKRWJw7vX7eKSqPXFbOFEo8eL/I7Z4VwpGt+5lXo2ni9mMS6P++TuvQEvecuZwuTGOn1eptZp3/58qmC70o8KTGzNkjJi6/nGN61cfD6lzyTTqkVP9AvkkMiacKDEOp9rMzJcoKMrjV5WVKlRiYghtdXo7a07GaDcRSrJw4YOgXvvk059XXvz4DWKQo148beasE8ai6LdX2ZUa5VGLk1WiQ5VAi1nElp1oAaB7w9/YoQdcObW4LV7HxQ3NlVpUI0FhhaSi1S8puxcdsktJ0znINQAQwC4K3xZ1dflE29u2mcmtd4g5IvcYkJuaDFzrHQw3D05pjYeOP7DXrQmX7pX63bOyQbWmdqfw/Cxne8dCeVlcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

小站

发现导航 - 精选实用导航网站

Emoji大全 | Emoji表情符号词典 📓 | EmojiAll中文官方网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADTElEQVQ4jWVTXWyTZRR+ztuvX9v9hM3BsjV6oSYaftZmSDe7tVOUAMafrqWLcfFvKu00jHhBCCYG6xX+hBDCDeNCE0KQGy+EBJkOaV032FAcTbfgqmxituzHDRi6td/3fu/xYjT+8CTn5jnnec7FeQ7hf3h6+0v+m/OLHVJaQd2h3y+IkF8uTGl220DlfZWfne850Xd3lAAwFYWxWMyeGf3jACvu8njW6g0+L9y1awAQpmfmcPlyBsNXR00hxNENazfsO3YssVTUirZEQn+8KXzm+dYYn/06aTGz5HthfdubVuG2d9gfiCRjsUQJAAEAaGwOf/pcaCfncuMFZmYpJVuWpYolTVNZpsHMzOO/ThTC0bc58ERbNwDgqW0vb/T5XzDP9aTu2aqUYlaKFTMrZjbu8qnUJdMf2GG1Rjuf1G4t3IzX19dpW7cGlVKKT35xGlJKevWVCAgEFgSMZUCzk9CImCuqEGxpsHm965DJjOzSTCmDjT4vE0gs5/M4fuJL5PMFRHc8g9LSEjAzqOcUOHkaCkSWxw99vY8bfB6MjFzboum6XlNbW00A2OVy4sjhBElpobS0ZOVWRKD23eBQB2xOHTbHCu+urSYQlWv/zoBSCo8+8vB/csHMUFU1QFUNsmMT+HNxmv2b1qz0FEMzDGNmemauAgAx/yO0LAtCiBUDaUGzazj40RFUrCon/6Y6npyaYd2hmULT7OmhoQwBsIQgnpub56WlZdhsNhARhBDQ7Bqy2Z+RHc1xNPosA6DBwWEucTkvitUVld3DV7Oy93w/hBC0d98Beu2NPdw/8ANu317EwsItfHWmFzs73+OWgI8CzT7qSw/Jsdy4qK+v6yYAaAxGDlVXrX738KH3DSKyf/zJUfppeIRdLgeUYhQKBiLh7di7J043bkwau3Z/qJeVu86d/KCrFQDE64mEs6kl+k0o0snJ7wctZubZ2Xl1IXmRk6lLfOfOX4qZ+bsLAzIUiXMoEvvlypVr7uJHAQASic+dqXTvwXx+Oe71rLM1Nz2Ghx58gEGE69d/Q1//j5TLjcPtru55q+PFzs2b/RMAqGhAABgA2tu7tvw+NfsmmLdZyloFAC6XwygrK0tv9K4/vn+/8xRR3Cxq/gZYvbxpRSw4agAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Apple logo Icons & Symbols

发现导航 - 精选实用导航网站

MSDN, 我告诉你 - 做一个安静的工具站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACD0lEQVQ4jY2STUhUYRSGn/N502szxCDmTGR1hVqUCS0EI4sSiqQSC5IWBeNCKNrkIsilkAVBRZugQEKjMsTAIELDGhdBP7QYAqPAdAJHBEknm2a07tyvRXOdm8xE7+bj/LzPOXA+IauFY1YYpAMwEYnG1y21bb0Z/wpw+XFReMnMnEfwO5pxneFM1yE+AxgA35qtOo10i4iR5VkbposNoOn23dK66dJ0t9urBEsb9AB7ABSAUqrVYwbAETkyca4iOBVKt7pmVwK7L40QzAFE224xZay6oR09gtaxH/gIpI0ZDe8yijYg6YHY2Rei4YbqqoXYaxHxa/T4WEVo365br+Juc38/RZNruJpStP/ZjicXD9C0vMGO3sjYcKi+FhgUzVQwmT7e39JS5AK+l7A5KVQ6MOoTumrmOerZJKeG60PVMd/6xsnTNdfcnH5GH0LIjWMOPVUH6XVjA2DtnfETs8Xl7RHRO9HEgGXAl19lA0FjrtZUdAD4FaPeoQpgtqTcQrRJHlmH5x6RYciNVzYpAE4GrijHHswHADA8R1ydFwA4yqCQFj1z7b+/RA7wLyXsQEHLfwG8U50VtXyASp7qEm/iRaY+UQieA2h5CYBgMJ/oCNyf2LTtwdvqjX3vL0ScvYtAFMDk5/78gFOB50A7WmaAzgRlHz84WzobzNGBe81nP71JbW9E8xCw9TBh1/YbqbqoHhHn6oAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Greasy Fork - 安全、实用的用户脚本大全

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWklEQVQ4jZWTP8rCQBDF3+KiKQxJMChoIbKVdxA8VMADeIUUdpbewBt4AFshoPinUBHRSAqLfV+Tb1HyRx2YZtn97Zs3M0A2FIAJgBWAZ5qr9Ezl3H+L6WAwoGVZBFCU09yXQoglAPb7fe52O0opyyDLzM8AGEURa7UalVLfQIwSNRwO2e122Wq1uF6vDWS73X6CKACYeJ7H0+nEdrvNZrPJzWbDSqXC8XjMw+HAarVaBJggdZi2bRtIo9Hgfr/nf8zn8yLASgLoAUAcx1BKIYoihGGITqdjDDqfz0Vd6yHts6Hats3b7UattVFwPB5Zr9fzFDxNCa/pOA4XiwVnsxkvlwu11rxer/Q8L1MCUiMKnXZdl4/Hg1pr3u93uq5LIcSbiaoMAIC+7zNJEgN5KceM9rQMIISg7/uM45gkGQRB7kgvPylxHIej0YhSyswof6WkdJle4qd1/gO5YCO0UWoSswAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

PowerPoint Templates and Themes | PPT Slide Templates | PowerPoint Slide Designs | Presentation Backgrounds | PPT Icon

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACCklEQVQ4jXWSS2tTURSF1zrnnptnE7WxTWpbK1KxtQWp4EiqFFHpyJEgOBD/iE5E/AWO+w/MUEciWgdiBUsxtqaooU9jtSTNTe4992wHfUDFrtne7LX24Ft0ZRwhQgTHJ9D6gdQpBquSHkBQ0w/vHn2tDa9+pIQceQytOfqUdptHfwAFyI9JsIJEkeGaJEpor9GV4YQiB8kAQQoBJ4QVKMBBFCmiNDwAOiEwgNtPFqADADopUIAABCiwkA48CL5UM5++d0nMhJGEiXqOReNDTVLml7o2tkzHmjAitIwPNs6fbnFjxr/95PKDyW9TF+uEimJ5NV8oz5WccHps7cbET99Q4N5Wup+9ODNz/73XUwjvXalNX6v39bRdmyopXvev2opnrbo1tTXcH7iAypdssV5b8bxGRyGJwWKrUk3DhwPgofI5fX1o8+bZ9cpiChoOgI/Fr+lSIsimoB/dQSEXld/0si1B6M1+yNeWzaW+rXwqmqvmV+spCpeW0y/fnZgc2DQ6pnsOGmw39OzrzJ+GyiXj0d6GAyBQ5MJ6Zsd6hu7cyVYuaUMLujJEQI8U+b2A5g46AuxjSRkQANC2iB1IKAAkxIoT5oYJn86S3DO0QjRDNkM6we5S7QEm6ET76L+AbBZxtMscJBRFUQ76og71LRYaKY0im6PYPc8/UocmQmLQoDiCdIbi/mP4Cxdq555GkbmfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Download subtitles from Youtube, Viki, Viu, Vlive and more! - DownSub

发现导航 - 精选实用导航网站

ProcessOn - 我的文件

发现导航 - 精选实用导航网站

Hoarder

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

✉ Guerrilla Mail - Disposable Temporary E-Mail Address

发现导航 - 精选实用导航网站

临时邮箱、十分钟邮箱(10分钟)、临时邮、临时Email、快速注册Email、24Mail--查错网

发现导航 - 精选实用导航网站

Attention Required! | Cloudflare

发现导航 - 精选实用导航网站

Moakt Email || 临时邮箱专业服务

发现导航 - 精选实用导航网站

Mail1.io - Temporary Email Provider

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABfklEQVQ4jZVSu04CQQCcfeADCgN3cjEUSrTBX7AzlkYt+AB74yNEjR+g8SyMBUH9CWy1g6jRH4DC3F1DAGOhwQQhwt6uxXFITjRxmt2d3dnMzC7RdAP/AfcGKaWUklJKKe3vSUD5cwLQvkApNT+fSiaTlUqlVCoDIIQASAlhSFcBBHimzOIcADTdiMYmc7lzpVS1Wt3Y2JyMT8W0uKbFz0ZGbeAJcIDTsXFNNzTd6FmilAFIJBKmeTyTnMlmc1BqemkxGh7/uL9XlkUDGTx0ut1IJLyzvTU3OyuEWF5d4aFQZ33907KCoT3cXN80m810Or22tgqgK0Q+f+Xe3i0MnKGDgnq9vrd/cHh49Pr21mg0TPMkk9mt1WrkZ61+Etpqtc4vLkvlMme8UCx6XQ95Bw/KL7RQKAJgjHnLXwV9MMaG8sEMwduG8T2B7TgPD4+27fz00CakQUjb54n3+TjnjDHXdYUQAYEh3Qmp3il5oexb8AeUV4ZvbHjoQIBBl1+HUIfoFURH2QAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

临时邮箱

发现导航 - 精选实用导航网站

玉豆分享

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB4ElEQVQ4jcXSP2gTcRjG8e8v98ekMU1CEmnSEgRxqCCUIr1m00pRcdBBtOIiKEJydCjiVAR1dBNJF3ESuzi5KHaQ6mRQqKJUKxUkkRwWsUmaNL27Xn8O0rTY2qqLz/w+H3hfXvjfEX86KHPGKTwOgQzjF5fFrcJXAHXbotl3pVxzb1pVB6VTw9euEC95GnBmW0CaxpRVdXrUtI4v5GO56IACCGqrMy1A5vpHEewDeV/kC49kznhl1d0eEVFoPxrB/eaCELhvmxDRn2+4gRw2usrfnZKiCaxFl5rj0R0N4OkQOv4TcIsO7iebzntTrZ6vJd0ufEmdT4xLQBOCYt1hprKEYksWHlewp5ssz9qkQjuur1+zBcisYYrBiXMdQ4nhRFijN9bG5wWbmaqNsgQrcx7JsD4rxl5c2wBIsy+DwC/ZH0WT08ETUeJta8j7SpPkTu2jyBf2/nrotRuMZALWvL2YxHeXfPpqY7JWbjycZ67iYssVDjx4t+nPtFbAls+SQe0pusySK90IBrSDu07GLsRDGl1BHWkag1sD+AdEvnAYVX1iCe8iA29eciw13nE6dsdzJcDZLQExNlmXI5kAoCYbe1Sy6VGyH4bEkYlLqUhgN4jXmwG/jTT7e/+q8K/5AXzmsIjgOiEFAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

首页 — iKuuu VPN

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

vpn

发现导航 - 精选实用导航网站

8866-PyCharm激活码最新2023永久免费提供_pycharm密钥激活码_Intellijidea激活码_jetbrains相关产品激活码

发现导航 - 精选实用导航网站

云萌 Windows 10+ 激活工具 - 首页

发现导航 - 精选实用导航网站

激活

发现导航 - 精选实用导航网站

自动发货发卡系统搭建教程_小红帽技术的技术博客_51CTO博客

发现导航 - 精选实用导航网站

Agiso 阿奇索自动发货软件

发现导航 - 精选实用导航网站

自动发卡

发现导航 - 精选实用导航网站

贝贝BiliBili - B站视频下载

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC2klEQVQ4jQXBS2xUVRwH4N//vO6987jtMNNbSjtlhlZFKQVttG3apELkEYhoiCSQWAMutGxYuNFEVsYo6cKVCTuDBU1GmqaGEDEGSGUFCZQSaSGMMzVoC/Q1HWnnceeew/dBIkTc5oAA6mwVq48yIgAuRciSEHAAIoCIQQKKHMZKBpbNT+7b+7YXV4FZNPzy/enMzVuwCTBUBgMCAgxJgGtmEmH73ImPBkXilfn1LUKlOb2bTLmtG67/lSWjlBE+AhAUoAFujDxzZP/hchHF0p+NsW9nHzx3ZXup1OV5K5HQZP4/h7lVU2EwDKhxsNSGTQNNyUJ17UqD+nj055VoaGhkdGS96Gv7g/7dVsj5Xy9LpjjgCw5hsXiU3AJkOH325u0vjxz7pWf38IfHhn+9lm1JDo+P1dl4p7fL1yUjBGkOYzgnPbhte/Mqn5S493h6j8O3CNX6+sDx7848LTy5cOLo0Gs7V5m+nfvHZgLa58VyxW2L98TjzZa7tcV7ae5JlPEpi12dnhkf+rTv8VyQy/W81fdMyclc1iHiLoVv5PObujoHhGzLzcJLXGKhL37K/HBq8M38Uk05DzsbE4/m32vrnKgu5+cXOAiVoHrl7qTT2NCyo+PSWuGr8YvffzLU9/eCbtj448rSyfOZ3jd2pgt+LJ2cuDdFilAVYAFIw0skiPTZo+93P1sNZOhCpXp6bMwP/M8OHfjabrrvhQ9lRlgNgIECIjI6v7jY393f6zRFF5fvtNLnFzN+4DdE7IPJjavrC2vks3KNG2kjCGpAJagyZmWzjxJebHtrKvK02N7x6uZU8vSuvh35f7G5/tzc3O9TMxzGgtEcmgEwQY2ZqzMzTnt6r5t6mdQuGfKWVuoaY3/o2jejvwWBTRbIB5MghqAsDBlIzSvGHOzvPtyxrUmbNQsTudnzl689h9FCABwAgDCYTZI4hwSTFAXQTJSudx1HAeC8noSEwgsTsxoSF44BMQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

视频下载

发现导航 - 精选实用导航网站

tools

发现导航 - 精选实用导航网站

ZType – Typing Game - Type to Shoot

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jYVSS2hTURA9c9997yUmNomNitGFKwWlC7VFEZEWFLoRdFFBRCguqqBQP7gQRJ67LpRWgi4E0YUgJPgFhSr6qlWxtRZUVMT/B21BLdGmyXu5946LlBRR8Sxn5sycmTOESewoDyxwQnexgdECRIACIDEFBQ3AtiSFYWkse/RaPzzPEAAsynnOmrWt/dFI3TdNpgiwRQaAABgAwIABIIhhDDSZpWoi2JStX3FfAsCy1RtsVS5Yb173b8o3bivgP9hTfHSJpZPClMYRECJOKrMo0f7WD4rSpdQ8h8aevVH5xRtDMFO1Li9AG7WwrIpAVb0AgI/PnUDY9qjrWOdiEat3lq1uyC/jFzOZ+QN7xh8fARG3TZI7PvtpUwkW6ooeqSnoa2lR89lfF/9qzwgcLdySLgnLbRBSnFXlidtgpjyR3vzyal10Wry3otWZY8nlw2Am+tuO27/emxtxnV4dlA9m06vOg5na3512k/UN18F8qyfRdADMBCIWNRZ7AgC2friTcW3psw67s+lV55vZlzh0yErObLjMMAM9iaYDHrMAEU+NZBAAtI/5yc7C0NDOscFOAOjgIRsA7f4xfGVXcfg4AHjMsi2Xs/6QvWWkN9ZZGLzbWRg8CADN7MuqZY+zeyeeHP6XpQRm6nh4QkYXLM0R6FVPXeM+j33pUYva9WPoFAOtYVDZJi1MF2A22pAzra5o1Pjt7sTK7xJE7BYeLCFLpHtiyzZ47AmPWnSz70kVhi9I0KjjymYiFgyQkDzO4NYg0HkAXRIAmGALskYBwCPPVK31VB+8rr+69OlmmWwrWfsDYdvEbFLr315IzhE2VX85gbitfjtWGEBGUzKggDIM87PWQE2E7xm6fq5b3wdBKkkgGCaIKT6BWEaYqMwVskQGBvur8Um0Pc3FE+kZMW0c4xZLZM+OcqVYquWDWJTVaIkQB5woq5OJ1u8A8AvD8D79cc9ctAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

game

发现导航 - 精选实用导航网站

莫烦Python网

发现导航 - 精选实用导航网站

Python Projects for Beginner to Advanced - GeeksforGeeks

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Python Syntax Checker PEP8

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

python

发现导航 - 精选实用导航网站

The Everything App

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNUlEQVQ4jY1SQYrDMAyURG+lkJIfJIf8oqc+u59xKARKbBObXoo92oO6blh2Yediz3gk2bJYVYlIVZnZ9kTEzCY2agYi+pj+CbGl1Xm9Xi3FnjZR9tHbtl0ul23bfqWGg0Vbglrr/X6vtdpZo83AzG+3oZTinCul/ErfYaoKIKUEQP/A3kAAQgjTNHnvAZRSWmSj3vtpmkIIAISZAazrKiL8jdZ+g4is6wqAmUVVRaTv+5wzgH0HbQMg59z3vYi8rwTAOTeOY0pJVWutJlp/UkrjODrnTDxY6a7riOjxeJRSzudzu1KMMYRARF3XvWenJVuWZRiGYRjmefbee+/neTZlWZZWlq0h9tAYY875er0+n08iOh6Pt9vtdDpZTbOxvf3zkUQxxkab9TOzrcKP2d43aj/hX+p0kdT5jcFLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

docs

发现导航 - 精选实用导航网站

My

发现导航 - 精选实用导航网站

新人看板 - 新人 - ByteTech

发现导航 - 精选实用导航网站

文档管理-线上-火种服务运营平台

发现导航 - 精选实用导航网站

文档工作 - 飞书云文档

发现导航 - 精选实用导航网站

APIHub - 接口研发平台

发现导航 - 精选实用导航网站

火山账号管理-账号管理-Byte BABI

发现导航 - 精选实用导航网站

权限中台

发现导航 - 精选实用导航网站

‬⁡⁣​⁤​⁣⁤‬​⁢​​‌​⁣⁣​⁣‍‬‬⁤‍‌‍​‬⁡​⁢‬⁢工单-⁣​‬‌​边缘云文档体验提升专项记录

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

‌​⁢⁤‍⁤⁤⁣⁢⁡‌‌​​⁤‬⁣⁢⁤⁡‍⁣​​​‌​​​⁢​⁢⁤‬‌⁤⁡⁣⁤⁤⁣‬⁣‌⁤⁤科锐尔人力资源服务(苏州)有限公司报销 - 飞书云文档

发现导航 - 精选实用导航网站

‍‬​⁢⁤‌​⁤⁣​​‌⁡⁣‌​​⁢​⁡⁤⁡⁣⁤​‌⁡⁤​‌​⁢⁡⁤⁢⁢​‍​‌⁡​⁢‍​​‬⁡字节跳动(中国大陆地区)外包管理规范 - 飞书云文档

发现导航 - 精选实用导航网站

外包资源管理系统

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

科锐尔

发现导航 - 精选实用导航网站

火山引擎控制台BOE-SDWAN

发现导航 - 精选实用导航网站

SD-WAN 接入服务 更换 Edge 设备-操作指南-文档中心-腾讯云

发现导航 - 精选实用导航网站

如何释放一个不需要的SAG实例_智能接入网关(SAG)-阿里云帮助中心

发现导航 - 精选实用导航网站

安装和登录EAG App客户端--边缘接入网关-火山引擎

发现导航 - 精选实用导航网站

‍⁢​​‌​‌⁢⁡⁢⁢‬​‬​⁡‬​‌⁣‍‬​​​‬​‍⁣⁤⁣⁡​‍‬‍​‬‌‬‬​⁡‌‍‌‍SD-WAN+二期MVP差异部分PRD - 飞书云文档

发现导航 - 精选实用导航网站

‍‌⁡​⁢‌⁡‬‌⁣‬‍⁣‬‬⁢‌​⁤⁣‍⁣⁡‬⁤‌⁤‬‬‍​‍⁤​⁢​‌​⁣​‬​​‬SD-WAN+二期产品 - 飞书云文档

发现导航 - 精选实用导航网站

‬⁤‌⁢‌⁣‍‌⁡⁢⁣⁤⁢‍⁤‍⁢⁣​‬​‬⁢⁤⁡⁡‬⁡⁢​⁡‌‍⁣‬‌⁣⁣⁢‌‍‍SD-WAN+二期文档问题&求助 - 飞书云文档

发现导航 - 精选实用导航网站

SDWAN业务线需求-文档 - Meego 项目管理平台

发现导航 - 精选实用导航网站

‍⁡​⁣⁣⁣⁤‬​⁡​‬​‍⁤⁤⁣⁤​​‬⁡​⁣⁤⁤⁣⁡​‬⁤⁤​⁤​⁤‌‌⁤⁤‌⁣‍产品需求 - SD-WAN设备高可用与动态路由 - 飞书云文档

发现导航 - 精选实用导航网站

【SD-WAN】【端】升级/重启/重置(本地控制台) - Meego 项目管理平台

发现导航 - 精选实用导航网站

什么是 SD-WAN+--边缘接入网关-火山引擎

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

SD-WAN+

发现导航 - 精选实用导航网站

‌⁤‍​⁣⁣⁢‌‍‬​⁢‬​⁡‬⁤​⁤‬⁣‌​⁤‍⁣⁤‬⁣‌⁢‍⁡​⁣‬​⁣⁡⁡‌⁤⁤​⁤⁤⁣◆ VEI 文档需求及反馈 - 飞书云文档

发现导航 - 精选实用导航网站

智能边缘-控制台BOE Stable

发现导航 - 精选实用导航网站

边缘智能文档

发现导航 - 精选实用导航网站

★ 待我处理-VEI设备管理&物联网 - Meego 项目管理平台

发现导航 - 精选实用导航网站

工单中心-线上-火种服务运营平台

发现导航 - 精选实用导航网站

ArcoSite-边缘智能-设备管理

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

边缘智能

发现导航 - 精选实用导航网站

E19-1.7-租户-舜宇-veStack

发现导航 - 精选实用导航网站

Sheet

发现导航 - 精选实用导航网站

‌​​‍​⁢⁣⁣‬⁤‌⁣⁣​⁢​​‬​​⁣⁣‍⁣‌​‬‍‍⁤​‬⁢​⁡⁣⁤​‌​⁤​​⁤‌​‍​物联网平台IoT Arenal - 飞书云文档

发现导航 - 精选实用导航网站

‌‍⁡⁤‌‬⁡‌​‍​⁢⁣⁢​⁢⁡⁣‬‌⁤‍‌⁣⁣⁤​⁣​‌⁣⁤‍⁣‍‍⁢‍⁤​‍⁢‬‍‬数据转发使用文档 - 飞书云文档

发现导航 - 精选实用导航网站

‍‌‬‍⁤​⁡‍⁢⁡​‍‌⁣‍​⁢‌​​‌‍⁢⁢⁢​⁡‬‬​​‬⁢‌‍‍⁡‌​⁤⁤⁢‬⁤​‍⁢⁢IoT交接文档 - 飞书云文档

发现导航 - 精选实用导航网站

‌‌‌‌⁡‍⁣​⁣‍‍‍⁤⁣⁤‌⁤⁤⁤‍‌​​⁣‍​‍‬⁣‌‌‬​‌​⁤​​⁣​⁢​⁤⁤⁡​⁢备份 - 飞书云文档

发现导航 - 精选实用导航网站

IoT-SDK设备接入 - 飞书云文档

发现导航 - 精选实用导航网站

EMQ 文档中心

发现导航 - 精选实用导航网站

JetLinks 物联网基础平台

发现导航 - 精选实用导航网站

物联网平台(IoT)-阿里云帮助中心

发现导航 - 精选实用导航网站

物联网开发平台简介_物联网开发平台购买指南_物联网开发平台操作指南-腾讯云

发现导航 - 精选实用导航网站

ArcoSite-物联网平台(公有云)

发现导航 - 精选实用导航网站

沙果开源物联网系统 SagooIoT | SagooIoT

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADCklEQVQ4jW1T32tcVRD+Zs6552bvktRNtrFNEy32hy1VyqpE8GlbBZX0QRCrhIK40oKIFEr/gCj4Iq0IIRXBvrQKYlqrPqmlUqFvagu1FdqmuDaNm2zSbdzsj3vvufeMD5utIh0YGIb55htmviHcxwSgbkzd1OfjObA+AqNKiJLfEYZFlKYX+X9AXgVJ1wEgf7w0BPJ+RF+mhFjOAupllKYX78sIAPXR0YE7xeLw7I6+fgDAn2M5nHnpTZx9rnCvaGKiSwYCIALocLTwOml+NY3C7YjjjOtb01Se/nkuu/HEi2sP+55pbQxyMreSzP1w/ej4EgAiAKg/uTWvVPZkYNQLEsdortuA+b37ET66A8b4aAnhQqsX5y9XUZ6tAXDXrI3fvvzB7nMkmzf7K/3Z073GjDWcs2wthUMP8bVjp2DX+OwigAlY2wOc+7WafPrtFfhBVidxeDeN7LO6mcuMZ5Qaa0VhoqxViCP2F/4SszSPtGcEXiySghAS4Y9KXS03LHpdw2o/k1OevKuhvbdUu+VWni7S8jO7KPfTd3Jn9x4Khx8GJwLHRAwgToBiYYPU6m1aN5DV5UrD/Xajuosaozsj0dqb+fAk6k9sJ64DogGOAIF0tkyACEGrThz0AOcvLsixM1dJc9TWjS1PobVpG7yaEwGIEkCIVm8rHUUASB3EOYFmksH8A5QP3CxTYssYfBBiqNOeSIS4C4Uw/6sWEWJJEQnYJH/TvoGvTzOH4RfGWhIHYRKo1R5udXYd1TrTEESIYI2mwFZd4dZE9YBMTbGZr0wmi5VyEIHbzJQKSESImWT9zSk8fuF5GZ75SBJF5CV1t/7WKbvz4hs8svjNe3QIM5qamK9XrhwcunT0K1V4hZs8nDqwZhtT/8L3oqMlGpj9Ejq+63qXf3F9UvZaK8mJbHnu4wkQk3R04uJPBg9IftNkHIyYUAIHsdTTuEnKhSIAjGuSNj5aqX+8xo+8M7J3un3vW0VARJDmZ1v2GOb3xcljDiCnMgBImABifTt16ZHgtUuT/328fwB47GuHDtGS+wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

IoT

发现导航 - 精选实用导航网站

ArcoSite-云拨测

发现导航 - 精选实用导航网站

火山引擎控制台-云拨测BOE

发现导航 - 精选实用导航网站

火山引擎-云拨测文档

发现导航 - 精选实用导航网站

应用实时监控服务ARMS-阿里云帮助中心

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABXklEQVQ4ja3TvU5VURCG4WfW3ptwEjDGWOglGI0WdFZEr+FcgdGAFnSGkk5iR4XReAVcg4TKzkKjsbOVwlgI5BD2z1gAxwYsPE49X9a8M+9i1kpiluw0nM8t+m5wbHDFSOUgXmshn2j0Fv0yMa+4qcRLB1DnijsqW44sWTDnqpHWR60H+Al6ixq7brinM3HkJJ/5oLcWueqzebedYPBVeCe9iW2fzvGCzFV3hcfSQ8Utczj2JfKpVOu0Nv2wETv6v3KPVa7b0FjXqYsw6Ewc2owdfS6rLw0vq2NH79CmzkQYaimkQaNA7OlyxZbGff3pElUarffxyhpoFGlAXPxa2Be+Gc5wapWwf1FrLSSK1jAdc9uLSxH2dFqDeUXIIhW1kQXrOVbFnu58WUlJSo5VU7yxyoJ1tZFU/sMZz0ViyWBO/UekeHsqUj5yTWNXcyZSccKZSLOqPPNn+tfstH4DoqinIboRo4IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

云拨测简介_云拨测购买指南_云拨测操作指南-腾讯云

发现导航 - 精选实用导航网站

云拨测-文档需求 - Meego 项目管理平台

发现导航 - 精选实用导航网站

‌‍⁢⁣​⁡⁡‍‌⁣⁤​​⁡‬⁢⁤‍⁤⁢⁢‬​‌⁢‌​​⁢⁡⁡⁤​⁤​‍⁤‍⁤​⁣⁣‬‌⁤✅ 概念明确和文案统一(数据治理) - 飞书云文档

发现导航 - 精选实用导航网站

云拨测工单列表

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

云拨测

发现导航 - 精选实用导航网站

JSONPath - JSON 的 XPath

发现导航 - 精选实用导航网站

XML Path Language (XPath)

发现导航 - 精选实用导航网站

json-path/JsonPath:Java JsonPath 实现

发现导航 - 精选实用导航网站

JSONPath在线验证

发现导航 - 精选实用导航网站

Introduction to XPath - GeeksforGeeks

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

任务断言

发现导航 - 精选实用导航网站

‍‬‍⁣⁡‍⁣⁡⁤​⁢‬⁢‬⁡⁤‬‍‍‍⁡⁢⁡​​​⁣‍​⁡‍‌⁢​‌‬⁡⁢⁡⁣‬‍​⁡​⁡⁣全球化写作 - 文档改写排期 - 飞书云文档

发现导航 - 精选实用导航网站

⁡​‬‍​​⁢‌‍‍‌⁡​​‌⁣​‍⁤​⁤​​⁡⁤‬⁡​⁤​‬⁢‍‬‌⁢⁤​⁢⁡‬​全球化写作和框架-评审记录 - 飞书云文档

发现导航 - 精选实用导航网站

‌⁤‌​​​⁣⁣​​⁡​⁣⁤‌‌‌​​​​‍⁢⁢⁡​‬‌⁤⁢⁡‍‍⁡⁤⁡⁣‍⁢⁣‍​​‬⁡‬全球化改写 - ⁤‬边缘智能

发现导航 - 精选实用导航网站

AI文档检测

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

全球化改写

发现导航 - 精选实用导航网站

北京丽明科技有限公司

发现导航 - 精选实用导航网站

How To Set Up vsftpd for a User's Directory on Ubuntu 20.04 | DigitalOcean

发现导航 - 精选实用导航网站

‌⁤‌‬​​‍​⁣‬‌⁡⁢⁡‍​⁢⁡​​⁤⁣⁣‌‬‌⁡‌‌⁤⁢⁡⁣‬⁡​⁡‬​​‌‍⁢‬‌⁡⁢‬边缘智能-天花导视驱动开发-提测 - 飞书云文档

发现导航 - 精选实用导航网站

‍​‌​‬​⁤​​‌​⁣⁡⁤‌‍⁤​⁢⁣‬​⁣‍⁡​​⁣⁡⁤​​​​‍​⁤⁤⁡​⁡⁢‬全球化写作和框架-评审记录 - 飞书云文档

发现导航 - 精选实用导航网站

‌⁢‬‍⁡⁤‌⁢​⁢⁣⁣​‍⁡​⁢‌⁤⁣⁢⁣⁡⁡​⁡​​⁢⁢‍‍‌⁡⁡‬⁣‬⁣⁤​​⁤​⁡边缘智能-天花导视驱动开发 - 飞书云文档

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

MC100

发现导航 - 精选实用导航网站

工作

发现导航 - 精选实用导航网站

⁣​⁣‌​⁡⁢⁢‬​⁤⁤⁢​‍⁤⁤​‌‌‍‬⁡​⁣⁢​⁡​⁡​‍‍⁣‌⁣⁢⁡‍​⁤综合积极情绪疗法对护理人员中重度职业倦怠的干预研究 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

首页

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

ljy

发现导航 - 精选实用导航网站

⁢‌‍⁤⁢⁢⁤⁣⁣⁣‌​‌​‍​​⁣‍⁤​‍‍‌‌​‌‍‬⁢​‌‬‬⁤‬‬‬⁤‬⁢⁡⁤​⁤全球化写作 - 增强文档清晰性 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

‌⁣⁣​⁤​⁡​⁤​‬​⁤‌‌​​‌⁣⁣‌​​‬‌⁤​‍⁡‬⁡⁣​​‬‍‌‬⁤⁢⁡​​​⁡​⁣H1 总结 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Docs

发现导航 - 精选实用导航网站

‌⁢⁡⁤‍‍⁤​‌‬‬‍⁢‬‬‍​⁡⁤⁡​⁤⁢‬⁤​​‌⁢⁡⁤‌⁢​​‍⁡​‬⁣⁡‍‍⁡​文档体验提升专项:基于多维数据提升用户的文档体验 - 飞书云文档

发现导航 - 精选实用导航网站

7 Best Practices for Planning Developer Documentation

发现导航 - 精选实用导航网站

5 Metrics to Measure Documentation Quality

发现导航 - 精选实用导航网站

云速搭(CADT)-阿里云帮助中心

发现导航 - 精选实用导航网站

成长地图_云数据库 RDS

发现导航 - 精选实用导航网站

‌⁣⁡‌⁤‬⁣⁤‌‌⁤‬‬⁡​⁡⁣‍⁢‌‍‌⁣​​⁡​‬⁢⁣‬‬‬​⁤⁡‍‌​⁤⁤⁢⁢‬‬README - 飞书云文档

发现导航 - 精选实用导航网站

基本概念--视频点播-火山引擎

发现导航 - 精选实用导航网站

‬⁣‍​⁡⁡​⁣⁡​‌⁢‬⁤‌⁣⁢‍‌⁤​⁣⁡​⁡⁣‌‍‌‬‬‬‍‌‍⁢⁢⁢‬⁡⁤​​​🌐 写好中文——为翻译而写作 - 飞书云文档

发现导航 - 精选实用导航网站

‍⁡‌⁣‌‬⁤⁢⁣⁢‌‬⁣⁡‬⁤​⁡⁤⁣⁣⁣⁡​⁣⁤​‍⁤‌‌​​‍⁢‬‌‍⁤⁤‌⁡‌⁣开发者访谈实践分享 - 飞书云文档

发现导航 - 精选实用导航网站

‍‌⁤⁢⁣‍​⁢‍‌‍​⁡⁣⁣‌⁤⁡‌‌‬​​⁡⁡​​⁢‬‬‌‍​⁡‍⁤‍‍⁡⁤⁡‌⁡​文档工程师聊写作 Master the Craft of Writing - 飞书云文档

发现导航 - 精选实用导航网站

一个想法值多少钱?94年小伙把奇思妙想变爆品,一个人卖了3千万 - YouTube

发现导航 - 精选实用导航网站

‍‌⁡‌​‌⁢⁢⁤‍‬‍‍⁤‍⁢‬‬​⁡‌⁢⁡⁢⁢​⁡‌⁡⁣‬⁤‬⁣​​⁡​⁣⁡⁣⁡⁡⁡⁤⁤​⁢⁢我是怎样学写 API 文档的 —— 一个文档小学生的告白书 - 飞书云文档

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

job

发现导航 - 精选实用导航网站

EMQ: 连接物理世界与人工智能

发现导航 - 精选实用导航网站

eKuiper: Lightweight data stream processing engine for IoT edge

发现导航 - 精选实用导航网站

物联网中南向协议、北向协议是什么?南向协议、北向协议的区别-CSDN博客

发现导航 - 精选实用导航网站

物联网(IoT)的北向和南向_南向北向在物联网中的作用-CSDN博客

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

北向通道

发现导航 - 精选实用导航网站

how to pronounce localizaiton - Google Search

发现导航 - 精选实用导航网站

‍​⁤⁢⁣⁡⁤‌⁤⁤​⁤⁡⁢⁢⁡‌⁢⁣​‍⁡‌⁤⁢⁢​‬‌‬​⁤​​​‌​‍‬‍​‌​‌‬⁣⁣⁢P0 推荐|研发 leader 私藏书单,一起逃逸平庸的重力 - 飞书云文档

发现导航 - 精选实用导航网站

为什么中国的计算机教育这么差? - 知乎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

(5) 信息流 | LinkedIn

发现导航 - 精选实用导航网站

【TEDx演讲】如何在六个月内学会任何一门外语_哔哩哔哩_bilibili

发现导航 - 精选实用导航网站

‌​⁡⁤⁡⁣⁤⁢‍⁢​​‍​​⁢⁣‌​⁢‍⁡​‌⁡​‬‬‬‌‌⁡​‌​⁣​⁣⁣‌‌​‬⁣‬Refresh - 飞书云文档

发现导航 - 精选实用导航网站

‌​​⁣‬‍​⁡‍⁣⁡‍​⁤⁡‍⁡⁣‌⁢‌⁢‬‍⁣‍⁣⁣⁤⁤⁢‍‌‍​⁤⁤⁡‌⁤‬​AI First学习与思考日志 - 飞书云文档

发现导航 - 精选实用导航网站

ArcoSite

发现导航 - 精选实用导航网站

ArcoSite

发现导航 - 精选实用导航网站

An overview of HTTP - HTTP | MDN

发现导航 - 精选实用导航网站

一杯茶的时间,搞懂 RESTful API

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC40lEQVQ4jW2Tz2ucZRDHv995nuftZje7S3+m2JIsFilWqT9KKLKgOdRfF/HSggeDBylEhJDe6qXRQ3sQWi8SLJ68SKmoCC0eLJbagiWIf4CoawxoaDFu3mbf3XefZ8ZDxKbBOQ4zzAzz+RCbwnDcEZcTANjRmSPwPGNURsT57ObHP2ytAQBuJCEEFADs8TfH0Bg9BaYZMNUhClBzCBbQy8/z9qcrm3t4fzqIZ2ZPwvE0oBOaCphgCFGopRCChzoswcqzcu2TiwTs/gaTs5Pw7gI82ujlSDVfwplDWdKosFpmRktuLc9cowpDvBWHg7ns2qVFMUx5eFxEkLatrQ7SwX2pnH7Ra79PdUajMsaScW7ap8ceTv18dUAvbQb56NupKS9otbwhjiL2klacw/tviVYzat41Zs5QCZZW/zJsC3TvzYp6uhSLZIj1FuAFnRWDp6K37tKxp8CHdjMcnIA2qrThELqe05o1+kda5vbuIY61ob11Z54al5dN0BojqTSLSIcPUAANTx+ie/s1aFkYx/cCLz+L7i+/IgJITzzKpCXoDH7/fvoOOmi5Q6ZQlKaoAMKYNJx4iWg/CezageA9iktf4M98Tf3S72g6ANxAQWJnxAwJzAS973+0XlEoSAEAjO8TVEcAJ9zz+gkJlQoGV66aq1dgiIjLyya+NUbTKNKoJH63iD/mP7DC0egc//0z4Ry73a4WN27Y6KAHBiZDko0TOp043jqQQ5xrNOuD8pubbumdc7pzZpqp36eZYbj6t3U/XEDj558s2709hYBtpeq9zvXrkQBQPvfGZMjkAsTahZVYuXunzHfVnYoRRQEX+9bMXNrRrGU1rzDRWzGmuezzrxcfQFmfnz4pLp2Gl4m7vTUYdEgPuMCwveqgOvwN1HPy2dUtKG+S6d7RV8ZqO0dORbEZEa2DCSqaC9NCEe+cH/3q9v/LtFXV9RdePZJVME+aDRjfrX15ZUPn43C8jP90/geE9nH5rtBMQQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

+
+

发现导航 - 精选实用导航网站

https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/nav-1691133333044-logo.png

发现导航 - 精选实用导航网站

Navigation

发现导航 - 精选实用导航网站

GitHub

发现导航 - 精选实用导航网站

OpenSource

发现导航 - 精选实用导航网站

AI

🤖

发现导航 - 精选实用导航网站

Open Broadcaster Software | OBSobs

https://obsproject.com/favicon-32x32.png

发现导航 - 精选实用导航网站

录屏软件

发现导航 - 精选实用导航网站

录屏软件

发现导航 - 精选实用导航网站

Musetransfer

nav-1720879893574-f89fe5be-7027-405a-8d35-7b7d0f9330d7.webp

文件快速上传下载

文件传输

发现导航 - 精选实用导航网站

云盘网盘

发现导航 - 精选实用导航网站

Github-CLI

https://github.githubassets.com/favicons/favicon.svg

GitHub的官方命令行工具

Coveralls

https://coveralls.io/favicon.png

通过显示测试套件未涵盖代码的哪些部分,我们可以帮助您自信地交付代码。免费提供开源软件库

Releasly

在新的开源版本发布时收到通知,直接发送到您的电子邮件中。

Convert cURL

将curl命令转换为Python,JavaScript,PHP,R,Go,Rust,Dart,JSON,Ansible,Elixir。

Supervisor

Supervisor是一个客户端/服务器系统,允许其用户监视和控制类似UNIX的操作系统上的多个进程。

SonarQube

https://www.sonarqube.org/favicon-152.png

代码质量和安全性检查, 支持所有开发人员编写更干净,更安全的代码。

Pastebin

https://paste.ubuntu.com/favicon.ico

在线共享代码,将代码以URL形式发送以便查看

UPX

https://avatars2.githubusercontent.com/u/30217756?s=200&v=4

UPX-可执行文件的终极打包器

askgit

https://avatars2.githubusercontent.com/u/30217756?s=200&v=4

使用SQL查询git存储库。生成报告,执行状态检查,分析代码库。

Sentry

https://avatars3.githubusercontent.com/u/1396951?s=200&v=4

Web应用程序,移动应用程序和游戏的实时崩溃报告。

randomuser

https://randomuser.me/favicon.ico

随机用户生成器是用于生成占位符用户信息的免费API。 获取个人资料照片,姓名等。 对于人们来说,就像Lorem Ipsum。

github-readme-stats

https://camo.githubusercontent.com/ebfdd465daa90626d0ab0d0fddc0e457c942a392/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f616e7572616768617a72612f696d6167652f75706c6f61642f76313539343930383234322f6c6f676f5f636373776d652e737667

在你的 README 中 获取动态生成的 GitHub 统计信息

Hits

https://i.imgur.com/zBEQq4w.png

了解有多少人正在查看您的GitHub项目的简单方法

GitHub 文件加速

GitHub 文件加速

Shields IO

svg生成版本号图标

FunDebug

https://www.fundebug.com/favicon.ico

支持前端JavaScript,后端Node.js以及微信小程序错误监控

Asciiworld

http://www.asciiworld.com/favicon.ico

WA!原来那些年程序猿搞怪的注释都在这里

jsfiddle

https://jsfiddle.net/img/favicon.png

强大的前端代码在线演示的网站

CODEIF

https://user-images.githubusercontent.com/799578/50462941-8075fe80-09c3-11e9-89e7-af0cb7991406.png

变量命名神器

ASCIIFlow Infinity

http://asciiflow.com/images/favicon.png

无限的ASCII图表,保存到谷歌驱动器,调整大小,自由绘制,并直接输出到文本/HTML。

gitzip

https://kinolien.github.io/gitzip/images/gitzip.png

它可以将GITHUB存储库的子文件夹/子目录作为zip并下载

Server酱

http://sc.ftqq.com/static/image/favlogo.png

「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。

mkcert

一个简单的零配置工具,可以使用您喜欢的任何名称制作本地可信赖的SSL开发证书

carbon

https://carbon.now.sh/favicon.ico

创建和分享源代码的精美图像

setup-ipsec-vpn

用于构建您自己的IPsec VPN服务器的脚本,在Ubuntu,Debian和CentOS上使用IPsec / L2TP和Cisco IPsec

nginxconfig

https://www.digitalocean.com/favicon.ico

nginx配置生成器

GraphQL Explorer

GraphQL资源管理器利用真实的、实时的生产数据

patorjk

将文本转换成ASCII

lens

https://avatars0.githubusercontent.com/u/62133242?s=200&v=4

Lens控制Kubernetes集群所需的唯一IDE。它是适用于MacOS,Windows和Linux操作系统的独立应用程序。它是开源的,免费的。

public-apis

一些可用在 Web 或软件开发的开放 API 接口

astexplorer

https://astexplorer.net/favicon.png

一个Web工具,用于探索由各种解析器生成的AST

uTools

http://www.u.tools/assets/img/brand/favicon.png

uTools是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合

ihateregex

https://ihateregex.io/favicon.ico

正则表达式备忘录

Oh My ZSH

https://avatars3.githubusercontent.com/u/22552083?s=200&v=4

是一个开放源代码,社区驱动的框架,用于管理zsh配置。

Tampermonkey

https://tampermonkey.freetls.fastly.net/images/icon144.png

一款免费的浏览器扩展和最为流行的用户脚本管理器

Greasy Fork

提供用户脚本的网站

免费代理

https://img.kuaidaili.com/img/favicon.ico?v=3

免费HTTP代理IP

Google Workspace

https://avatars2.githubusercontent.com/u/1342004?s=200&v=4

Google Workspace状态信息中心

开发神器

发现导航 - 精选实用导航网站

eoLinker接口管理平台

https://www.eolinker.com/assets/images/favicon.ico

国内最大的在线接口管理服务方案供应商

YApi

https://avatars2.githubusercontent.com/u/19645609?s=200&v=4

YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台

RAP2

http://rap2.taobao.org/favicon.png

Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品

showdoc

https://www.showdoc.cc/static/logo/b_64.png

一个非常适合IT团队的在线API文档、技术文档工具

docsify

https://avatars3.githubusercontent.com/u/40133106?s=200&v=4

一个神奇的文档站点生成器

apiDoc

https://avatars2.githubusercontent.com/u/4103663?s=200&v=4

RESTful Web API文档生成器

docusaurus

https://avatars2.githubusercontent.com/u/69631?s=200&v=4

易于维护的开源文档网站

禅道

https://www.zentao.net/favicon.ico

禅道是灵活的项目管理软件

Tapd

https://www.tapd.cn/favicon.ico

一站式敏捷研发协作云平台, 凝聚腾讯研发方法及敏捷实践精髓, 助力企业研发更高效、协作更敏捷

Hoppscotch

https://avatars2.githubusercontent.com/u/56705483?s=200&v=4

一个免费,快速,美观的API请求构建器,供10万多个开发人员使用。(原名叫 Postwoman)

接口/开发文档管理

发现导航 - 精选实用导航网站

Sunny-Ngrok

一条命令解决的外网访问内网问题,无需任何配置,下载客户端之后直接一条命令让外网访问您的内网不再是距离

frp

一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。

zan-proxy

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

本地代码调试线上页面,环境再也不是问题

ngrok

https://ngrok.com/static/img/favicon.png

ngrok是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析和重放

内网穿透/代理

发现导航 - 精选实用导航网站

查MD5

http://www.chamd5.org/favicon.ico

MD5在线解密|md5在线破解|批量破解md5网站

JSON Web Tokens

https://jwt.io/img/favicon/apple-icon-76x76.png

jwt 在线解码

base64

http://www.xpcha.com/favicon.ico

base64在线解码编码

编码/解码

发现导航 - 精选实用导航网站

ipify

https://www.ipify.org/static/images/favicon-96x96.png

一个简单的公共IP地址API

归属地查询

淘宝免费归属地查询

免费公开API

发现导航 - 精选实用导航网站

开发相关

发现导航 - 精选实用导航网站

draw

https://www.draw.io/images/apple-touch-icon.png

免费的在线图表软件,用于制作流程图、流程图、组织图、UML、ER和网络图

ProcessOn

https://www.processon.com/favicon.ico

免费在线作图工具,UML作图,UI界面原型设计,iOS原型设计,BPMN,流程图,思维导图,多人协作绘图

蓝湖

https://lhcdn.lanhuapp.com/web/static/favicon.ico

蓝湖是一款设计图共享平台,帮助互联网团队管理设计图

Zeplin

https://zeplin.io/img/favicon/228x228.png

为设计师和前端而生的协作应用

幕布

https://mubu.com/favicon.ico

极简大纲笔记 | 一键生成思维导图

声享

https://p.ssl.qhimg.com/t01a54d9106629dda0e.png

在线制作 PPT,让分享更有价值

墨刀

https://modao.cc/images/logo.png

原型设计工具,web原型设计工具,app原型设计工具

小智LOGO

https://xzlogo.com/static/images/favicon-16x16.png?v2

LOGO在线制作神器 - 3分钟完成LOGO设计在线生成

创客贴

https://www.chuangkit.com/favicon.ico

一款简单易用、功能强大的线上图形设计工具

在线制作图表

https://cdn.jifo.co/favicon/favicon.ico

信息图表是一种易于使用的信息图表和图表制造商。创建和分享美丽的信息图表,在线报告和互动地图。在这里做你自己

CLIPPING MAGIC

删除图像背景在线。使背景透明,白色等编辑,裁剪,旋转,固定颜色,添加阴影,一款在线抠图工具

稿定抠图

https://koutu.gaoding.com/favicon.ico

稿定设计是一款专为淘宝店主、新媒体运营人员和修图爱好者打造的免费在线抠图工具。

UZER.ME

https://uzer.me/favicon.ico

超级应用空间致力于全生命周期的文档管理,无需安装,即可在线编辑Office, CAD,PS等任意格式文档,支持远程协作,全文检索,版本管理,权限管理,安全外发等.提高工作效率,降低安全风险

launchaco

https://www.launchaco.com/static/favicon.ico

免费在线制作LOGO

鹿班

https://g.alicdn.com/acca/resource/luban/image/favicon.png

鹿班 - 让设计更美好(阿里出品)

图片裁剪

https://www.yasuotu.com/favicon.ico

在线裁剪照片大小尺寸

设计相关

发现导航 - 精选实用导航网站

设计相关

发现导航 - 精选实用导航网站

Bitwarden

https://bitwarden.com/images/icons/favicon-32x32.png

个人和企业在任何设备上存储,共享和保护敏感数据的最简单,最安全的方法

Typeora

https://typora.io/img/favicon-48.png

Typora是一款跨平台的最小Markdown编辑器,可为Markdown读者和作家提供无缝的体验

iterm2

https://www.iterm2.com/favicon.ico

iTerm2是Terminal的替代品,是iTerm的后续产品

Sourcetree

https://www.sourcetreeapp.com/assets/img/favicons/sourcetree/favicon-32x32.png

美丽的Git GUI中的简单性和强大功能

charles

https://www.charlesproxy.com/static/img/icon.8b97278f.png

Charles是HTTP代理/ HTTP监视器/反向代理,使开发人员可以查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。这包括请求,响应和HTTP标头(其中包含cookie和缓存信息)。

Tunnelblick

https://tunnelblick.net/favicon.ico

适用于macOS的免费开源OpenVPN VPN客户端服务器软件。

Keka

https://www.keka.io/img/Keka-120x120.png

macOS文件存档器, 储存更多,私密分享

Kap

https://getkap.co/static/favicon/kap.ico

使用Web技术构建的开源屏幕录像机。

Vscode

https://code.visualstudio.com/apple-touch-icon.png

VScode是一款轻量级的编辑器,自由。 建立在开源上。 无处不在。

zenmap

https://nmap.org/shared/images/tiny-eyeicon.png

开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本

obsproject

https://obsproject.com/favicon-32x32.png

免费和开源软件,用于视频录制和实时流。

hyper

https://avatars1.githubusercontent.com/u/14985020?s=200&v=4

基于WEB技术的终端

Listary

https://www.listary.com/wp-content/themes/listary5/images/favicon.ico

Listary是Windows的革命性搜索实用程序,它使休闲用户和高级用户都能快速找到文件并启动应用程序!

GUI

发现导航 - 精选实用导航网站

vmware

https://www.vmware.com/favicon.ico

利用VMware提供的软件定义的云,移动性,网络和安全解决方案来建立您的数字基础。

parallels

https://www.parallels.cn/typo3conf/ext/prls_theme/Resources/Public/theme/res/img/favicon/favicon.png

Mac和Windows虚拟化|管理Mac|VDI和RDS解决方案

mumu Android模拟器

http://mumu.163.com/favicon.ico

网易MuMu[手游模拟器][安卓模拟器]

虚拟机

发现导航 - 精选实用导航网站

DBeaver

https://avatars3.githubusercontent.com/u/34743864?s=200&v=4

适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费的多平台数据库工具。支持所有流行的数据库:MySQL,PostgreSQL,SQLite,Oracle,DB2,SQL Server,Sybase,MS Access,Teradata,Firebird,Apache Hive,Phoenix,Presto等

RedisDesktopManager

https://redisdesktop.com/static/css/favicon.png

Redis Desktop Manager(又名RDM)—是用于Windows,Linux,MacOS和iPadOS的快速Redis数据库管理应用程序。

Sequel Pro

https://sequelpro.com/favicon/favicon-32x32.png

Sequel Pro是一个快速,易于使用的Mac数据库管理应用程序,用于处理MySQL数据库。

Robo 3T

https://robomongo.org/static/favicon-11ace079.ico

一个现代,强大且由社区驱动的MongoDB管理工具

DataGrip

https://www.jetbrains.com/favicon-32x32.png

jetbrains出品的数据库管理系统

tableplus

https://tableplus.com/resources/favicons/apple-icon-57x57.png

用于关系数据库的现代,本地且友好的GUI工具:MySQL,PostgreSQL,SQLite等

数据库

发现导航 - 精选实用导航网站

TeamViewer

https://www.teamviewer.cn/wp-content/themes/tv-wordpress-theme/dist/media/favicon.png

TeamViewer远程连接控制软件是一款随时随地连接到远程桌面电脑、移动设备及Iot,让远程连接过程更加的快速和安全,轻松实现对文件、网络及程序的实时支持或访问。

向日葵

https://sunlogin.oray.com/favicon.ico

向日葵远程控制软件是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件

远程控制

发现导航 - 精选实用导航网站

v2ray

https://avatars0.githubusercontent.com/u/14110142?s=200&v=4

用于构建代理绕过网络限制的平台。

clash

https://github.com/Dreamacro/clash/raw/master/docs/logo.png

Go中基于规则的隧道

飞机场

发现导航 - 精选实用导航网站

GUI软件

发现导航 - 精选实用导航网站

哔哩哔哩

https://www.bilibili.com/favicon.ico

国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主

爱奇艺

https://www.iqiyipic.com/common/images/PCW-114x114.png

拥有海量、优质、高清的网络视频的大型视频网站,专业的网络视频播放平台

Youtube

https://www.youtube.com/favicon.ico

全球最大的视频网站

斗鱼

https://www.douyu.com/favicon.ico

斗鱼 - 每个人的直播平台

疯狂影视搜索

https://cdn.jsdelivr.net/gh/txxxjs/fk/ifkdy/2020-03-16/favicon.ico

疯狂影视搜索是一款全能影视搜索引擎,帮你找到最新影视资源,一站拥有无尽影视资源

全民vip视频在线解析

http://www.qmaile.com/favicon.ico

免费全网VIP视频会员免广告看电影!优酷vip解析,爱奇艺vip解析,腾讯vip解析,乐视vip解析,芒果vip解析

蜜蜂剪辑

https://qncdnimg.aoscdn.com/local/beecut.cn/img/favicon.png

免费在线视频剪辑、视频制作、视频剪切、视频转gif等实用功能

kk高清影院

kk高清影院,1080p电影下载,高清电影迅雷下载,免费高清电影网

影视

发现导航 - 精选实用导航网站

自由的音乐

自由的音乐是一个免费试听并下载全网音乐的网站

音乐

发现导航 - 精选实用导航网站

影视/音乐

发现导航 - 精选实用导航网站

智联招聘

https://www.zhaopin.com/favicon.ico

智联招聘,更懂你的价值

前程无忧

https://www.51job.com/favicon.ico

招聘网,人才网,求职,找工作

BOSS直聘

https://www.zhipin.com/favicon.ico

BOSS直聘是权威领先的招聘网,开启人才网招聘求职新时代,让求职者与Boss直接开聊、加快面试、即时反馈,找工作就来BOSS直聘和Boss开聊吧

招聘/求职

发现导航 - 精选实用导航网站

ResumeSample

程序员简历模板系列, WEB/IOS/Android/C++/node等以及通用程序员简历模板

程序员找工作黑名单

http://coder.shengxinjing.cn/logo.ico

有些事情,应该被记住

看准网

https://www.kanzhun.com/favicon.ico

看准网★中国领先的职场信息平台,专注于公司评论,晒工资,工资待遇,面试,公司福利等.您可以在看准网上匿名分享您的职业信息

其他

发现导航 - 精选实用导航网站

招聘/求职

发现导航 - 精选实用导航网站

TinyPNG

https://tinypng.com/images/apple-touch-icon.png

智能PNG和JPEG压缩,以质量和文件大小的完美平衡来优化您的图像

Squoosh

https://squoosh.app/assets/favicon.ico

在浏览器中用不同的编解码器压缩和比较图像(Google出品)

压缩工具

发现导航 - 精选实用导航网站

草料二维码

https://static.clewm.net/static/images/favicon.ico

用专业的二维码产品帮助企业创造价值

Feed 验证器

验证RSS是否符合标准规范

淘捏捏

https://www.taonienie.com/favicon.ico

淘宝信誉查询 - 淘捏捏卖家工具箱 淘宝信誉查询_淘宝信用查询_淘宝小号查询_淘宝黑号查询

天眼查

https://www.tianyancha.com/favicon.ico

人人都在用商业安全工具_企业信息查询_公司查询_工商查询_企业信用信息查询系统

语雀

https://yuque.com/favicon.ico

优雅高效的在线文档编辑与协同工具,让每个企业轻松拥有文档中心 - 阿里巴巴

求是潮云U盘

https://www.qsc.zju.edu.cn/box/favicon.ico

临时文件上传, 快速和稳定

云转换

https://www.360converter.com/images/favicon.ico

在线免费转换视频,音频,YouTube视频到文字,视频到文字,音频到文字,语音转换成文字

Picdiet

https://www.picdiet.com/css/favicon.ico

独特且强悍的JavaScript算法,能极速压缩80%的图片大小,而不损害其质量

easyicon

https://cdn-img.easyicon.net/favicon.ico

在线图标转换ico、icns

Smallpdf

https://smallpdf.com/favicon.png

压缩pdf、各种文件格式转换pdf

Cool Backgrounds

https://coolbackgrounds.io/images/favicon-fe5a0ff5.png

生成非常酷的彩色背景图像

Unsplash Source

https://source.unsplash.com/favicon-32x32.png

随机生成图片链接

石墨文档

https://assets.smcdn.cn/from_qbox/favicon.ico

一款轻便、简洁的在线协作文档工具,PC端和移动端全覆盖,支持多人同时对文档编辑和评论...

Emoji searcher

https://emoji.muan.co/appicon.png

Emoji表情大全

imgURL

https://imgurl.org/favicon.ico

ImgURL是一个简单、纯粹的图床程序,让个人图床多一个选择

拷贝兔

https://f0cdn.anyknew.com/web/img/icons/favicon-32x32.png

跨平台分享工具,纯Web,IOS,MAC,Linux,Android互传

表格工具

https://tableconvert.com/static/images/favicon.png

一个功能强大的在线表格编辑器,支持Excel、Markdown、JSON、CSV、HTML等格式的相互转换

360查字体

https://p2.ssl.qhimg.com/t014de4ba13ada26743.png

360查字体 - 查版权,免纠纷

sejda

https://www.sejda.com/images/icon_128.png

在线HTML转换pdf

AI人工智能图片放大

https://bigjpg.com/static/css/touch-icon-iphone.png

Bigjpg - 使用开源waifu2x人工智能深度卷积神经网络(CNN)智能无损免费放大图片

VVV文档在线导出工具

免费下载百度文库文档

在线文件编码识别

http://tools.bugscaner.com/static/images/favicon.ico

在线文件编码识别

iptv

http://tools.bugscaner.com/static/images/favicon.ico

收集来自世界各地的5000多个公共IPTV频道

临时邮箱

https://www.linshiyouxiang.net/public/zh-CN/img/favicon.ico

10分钟邮箱,临时邮箱,临时邮,临时电子邮箱,24小时邮箱,一次性邮箱,匿名邮箱,安全邮箱

辅助工具

发现导航 - 精选实用导航网站

其他

发现导航 - 精选实用导航网站

实用工具

发现导航 - 精选实用导航网站

jQuery

https://jquery.com/jquery-wp-content/themes/jquery.com/i/favicon.ico

jQuery是一个JavaScript函数库

webpack

https://www.webpackjs.com/assets/favicon.ico

webpack是一个模块打包器

Babel

https://babeljs.io/img/favicon.png

用于编写下一代 JavaScript 的编译器

ESLint

https://cn.eslint.org/img/favicon.512x512.png

可组装的JavaScript和JSX检查工具

stylelint

https://avatars3.githubusercontent.com/u/10076935?s=200&v=4

一个强大的现代样式风格的linter

Mocha

https://avatars0.githubusercontent.com/u/8770005?s=200&v=4

Mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行

MUI

https://avatars1.githubusercontent.com/u/5485517?s=200&v=4

MUI: 最接近原生APP体验的高性能前端框架

rollup

https://avatars0.githubusercontent.com/u/12554859?s=200&v=4

Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序

standard

https://avatars1.githubusercontent.com/u/29208316?s=200&v=4

JavaScript样式指南,带有linter和自动代码修复程序

JavaScript

发现导航 - 精选实用导航网站

Faker

https://github.com/favicon.ico

在Node.js和浏览器中生成大量逼真的假数据

sweetalert

JavaScript Alert 的漂亮替代品

Sortable

https://avatars0.githubusercontent.com/u/17040762?s=200&v=4

一个JavaScript库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序

formilyjs

Formily 是一个由阿里巴巴集团多 BU 共建的面向中后台复杂场景的表单解决方案,它也是一个表单框架

rough-notation

https://roughnotation.com/images/fav.png

一个小的JavaScript库,用于在网页上创建手绘动画并为其添加动画效果

AntV

https://avatars3.githubusercontent.com/u/19199542?s=200&v=4

AntV 是蚂蚁金服全新一代数据可视化解决方案

Lodash

https://www.lodashjs.com/icons/favicon-32x32.png

Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库

Swiper

https://www.swiper.com.cn/favicon.ico

轻量级的移动设备触控滑块的js框架,使用硬件加速过渡

fastclick

Polyfill 解决移动端具有300ms延迟的库

Layer

丰富多样的Web弹出层组件,可轻松实现Alert/Confirm/Prompt/普通提示/页面区块/iframe/tips等等几乎所有的弹出交互

moment.js

https://momentjs.com/static/img/moment-favicon.png

一个轻量级的JavaScript日期库,用于解析,验证,操作和格式化日期

js-cookie

一个简单,轻量级的JavaScript API,用于处理浏览器cookie

qs

具有嵌套支持的查询字符串解析器

Mock.js

生成随机数据,拦截 Ajax 请求

GITALK

https://gitalk.github.io/favicon.ico

凹凸实验室出品的一款基于 Github Issue 和 Preact 开发的评论插件

prism

https://prismjs.com/assets/favicon.png

轻巧,强大,优雅的代码语法高亮

nprogress

顶部加载进度条

iNotify

JS实现浏览器标题闪烁,滚动,语音提示,Chrome/Safari/FireFox/IE通知

html2canvas

最流行的JavaScript屏幕截图

dayjs

使用与Moment.js兼容的API来解析,验证,操作和显示现代浏览器的日期和时间

JsBarcode

易于使用但功能强大的条形码生成器,适用于Web和Node.js

clipboard.js

现代复制到剪贴板。没有Flash。只需3kb gzipped。

lib-flexible

可伸缩布局方案, 淘宝rem解决方案

js-xss

根据白名单过滤HTML(防止XSS攻击)

mescroll

精致的下拉刷新和上拉加载 js框架.支持vue,完美运行于移动端和主流PC浏览器

better-scroll

灵感来自iscroll,它具有更好的滚动性能

pinyinjs

一个实现汉字与拼音互转的小巧web工具库

ms

使用此包可以轻松地将各种时间格式转换为毫秒。

ramda

https://avatars2.githubusercontent.com/u/5298359?s=200&v=4

适用于JavaScript程序员的实用函数库

decimal.js

JavaScript的任意精度Decimal类型 (0.1+0.2=0.3)

copy-to-clipboard

简单的模块公开copy功能,它将尝试使用execCommand与特定于IE的clipboardData接口的回退,最后,通常prompt使用适当的文本内容和消息

path-to-regexp

将字符串路径转换成正则表达式

autosize

autosize是一个小的独立脚本,可以自动调整textarea域的高度以适合文本

shake.js

监听手机设备摇动

progressbar

可以轻松地为Web创建响应式和时尚的进度栏。动画即使在移动设备上也表现良好

easy-mock

https://avatars0.githubusercontent.com/u/28626637?s=200&v=4

Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务

Clamp.js

https://joe.sh/assets/images/favicon.ico

JS版本的多行文本溢出省略

json-bigint

带有bigints支持的JSON.parse / stringify

exif-js

用于读取EXIF图像元数据的JavaScript库

lunr.js

Lunr.js是一个用于浏览器的小型全文本搜索库。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询最匹配的文档

hotkeys

强大的Javascript库,用于捕获键盘输入和输入的按键组合。它没有依赖性。

dom-to-image

使用HTML5 canvas从DOM节点生成图像

single-spa

https://avatars1.githubusercontent.com/u/59940233?s=200&v=4

使微前端变得简单

qiankun

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

为微型前端提供快速,简单和完整的解决方案

nanoid

https://zelark.github.io/nano-id-cc/favicon.ico

一个很小的,安全的,URL友好的,唯一的JavaScript字符串ID生成器。

Numeral-js

一个用于格式化和处理数字的javascript库

ua-parser-js

用于从userAgent字符串检测浏览器,引擎,操作系统,CPU和设备类型/模型。支持浏览器和node.js环境

hammer.js

https://avatars0.githubusercontent.com/u/7997161?s=200&v=4

一个用于多点触摸手势的javascript库

常用插件

发现导航 - 精选实用导航网站

i18next

https://avatars1.githubusercontent.com/u/8546082?s=200&v=4

i18next是一个非常流行的国际化框架,适用于浏览器或任何其他JavaScript环境(例如,node.js)。

js-lingui

https://avatars3.githubusercontent.com/u/11225539?s=200&v=4

JavaScript的可读,自动化和优化(5 kb)国际化

国际化多语言方案

发现导航 - 精选实用导航网站

wow.js

基于Animate.css,向下滚动页面时显示CSS动画,轻松自定义动画设置:样式,延迟,长度,偏移,迭代...

Waves

受Google材质设计启发的点击效果, 波纹效果

velocity

加速JavaScript动画

anime

轻量级的JavaScript动画库。它适用于任何CSS属性,单个CSS转换,SVG或任何DOM属性以及JavaScript对象

Hover-Buttons

hover动画CSS / SCSS按钮

动画

发现导航 - 精选实用导航网站

JavaScript-MD5

JavaScript MD5实现。兼容服务器端环境,如node.js,RequireJS等模块加载器和所有Web浏览器

js-sha1

JavaScript的简单SHA1哈希函数支持UTF-8编码。

js-base64

JavaScript的Base64实现

jsSHA

SHA-1,SHA-224,SHA3-224,SHA-256,SHA3-256,SHA-384,SHA3-384,SHA-512,SHA3-512,SHAKE128 ,和SHAKE256以及HMAC

crypto-js

加密标准的JavaScript库

加盐

发现导航 - 精选实用导航网站

pdf.js

PDF.js是一个使用HTML5构建的可移植文档格式(PDF)查看器

webuploader

百度出品,采用大文件分片并发上传,极大的提高了文件上传效率。

pdfmake

纯JavaScript中的客户端/服务器端PDF打印, HTML转换Pdf

ViewerJS

JavaScript中的文档阅读器, pdf/ppt/opt/odt等文件渲染成HTML

filepond

灵活而有趣的JavaScript文件上传库

FileSaver.js

客户端保存文件的解决方案,非常适合在客户端上生成文件的Web应用程序

jsPDF

一个使用JavaScript生成PDF的库

文件插件相关

发现导航 - 精选实用导航网站

PhotoSwipe

适用于移动和桌面的JavaScript图像库, 图片预览

viewerjs

javascript图片预览

图片预览

发现导航 - 精选实用导航网站

howler.js

https://howlerjs.com/assets/images/favicon.ico

现代 Web 音频 javascript 库

DPlayer

哇,这么可爱的HTML5 danmaku视频播放器

APlayer

哇,这么可爱的HTML5音乐播放器

音频/视频

发现导航 - 精选实用导航网站

three.js

https://threejs.org/files/favicon.ico

JavaScript 3D引擎

flowy

创建流程图的最小JavaScript库

incubator-echarts

https://echarts.apache.org/examples/images/favicon.png

浏览器的功能强大的交互式图表和可视化库

d3

https://avatars1.githubusercontent.com/u/1562726?s=200&v=4

借助SVG,Canvas和HTML使数据栩栩如生。

图形

发现导航 - 精选实用导航网站

uikit

https://getuikit.com/images/favicon.png

一款轻量级、模块化的前端框架可快速构建强大的web前端界面

UI组件库

发现导航 - 精选实用导航网站

JsBridge

android java和javascript桥接,灵感来自微信webview jsbridge

DSBridge-Android

一个现代的跨平台JavaScript桥接,通过它您可以在JavaScript和本机之间同步或异步地调用彼此的功能

原生APP交互webview桥接

发现导航 - 精选实用导航网站

joi

对象模式验证

validator.js

字符串验证插件、表单验证

async-validator

异步验证器

yup

无效的简单对象架构验证

参数验证

发现导航 - 精选实用导航网站

localForage

https://avatars2.githubusercontent.com/u/18673496?s=200&v=4

离线存储,使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage。

数据库

发现导航 - 精选实用导航网站

introjs

https://avatars2.githubusercontent.com/u/2010360?s=200&v=4

为您的网站和项目提供新功能介绍和逐步用户指南的更好方法

shepherd

https://avatars3.githubusercontent.com/u/17297725?s=200&v=4

引导您的用户浏览您的应用程序

bootstrap-tour

使用Twitter Bootstrap Popovers快速方便地进行产品浏览

步骤引导

发现导航 - 精选实用导航网站

JavaScript

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

React

用于构建用户界面的 JavaScript 库

React Router

React 路由管理

Redux

https://avatars2.githubusercontent.com/u/13142323?s=200&v=4

React 状态管理

create-react-app

React官方脚手架

生态系统

发现导航 - 精选实用导航网站

React Redux

Redux的官方React绑定(通常配合redux使用)

redux-actions

Redux的Flux标准action实用程序(用于生成action)

redux-thunk

Redux的Thunk中间件, 用于处理异步逻辑

redux-saga

https://avatars2.githubusercontent.com/u/24776643?s=200&v=4

一个旨在使应用程序副作用(即异步事物,如数据获取和不纯的东西,如访问浏览器缓存)更容易管理,执行更高效,易于测试,以及更好地处理故障的库

Redux相关

发现导航 - 精选实用导航网站

React Native

使用React构建原生APP程序的框架

React Navigation

https://avatars0.githubusercontent.com/u/29647600?s=200&v=4

为您的本地应用程序提供路由和导航

expo

https://avatars0.githubusercontent.com/u/12504344?s=200&v=4

用于制作跨平台移动应用程序的Expo平台

ant-design-mobile-rn

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

一个基于 React Native 的 UI 组件库

React Native相关

发现导航 - 精选实用导航网站

Ant Design

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

Ant Design - A UI Design Language

MATERIAL-UI

https://material-ui.com/static/favicon.ico

React 组件用于更快速、更简便的 web 开发。你也可以建立你自己的设计系统,或者从 Material Design 开始

element

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

elementUI组件库

react-bootstrap

https://avatars0.githubusercontent.com/u/6853419?s=200&v=4

基于Bootstrap 3构建的组件库

evergreen

Evergreen是一个React UI框架,用于在Web上构建雄心勃勃的产品。由Segment带给您。

@alifd/next

@alifd/next 是 Alibaba Fusion Design 的官方 React 实现, 赋能企业中后台产品开发

zent

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

Zent 是有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件

React95

装修一新的现代的应用程序做出React Windows95的UI组件。

rsuite

https://avatars1.githubusercontent.com/u/19635045?s=200&v=4

React Suite 是一套 React 组件库,为后台产品而生。同时也是一个具有贴心设计以及对开发者友好的 UI 框架

chakra-ui

https://avatars2.githubusercontent.com/u/54212428?s=200&v=4

适用于您的React应用程序的简单,模块化和可访问的UI组件

PC端UI组件库

发现导航 - 精选实用导航网站

Ant Design Mobile

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

一个基于 Preact / React / React Native 的 UI 组件库

移动端UI组件库

发现导航 - 精选实用导航网站

React Helmet

这个可重用的反应组件将管理对文档头的所有更改

react-image-crop

用于React的响应式图像裁剪工具

React Helmet

这个可重用的反应组件将管理对文档头的所有更改

react-transition-group

当React组件进入或离开DOM时执行动画的简单方法

React Loadable

用于加载具有promise的组件的更高阶组件 - 路由懒加载

react-swipe

基于swipe.js封装的react组件/走马灯

Ant Motion

使用 Ant Motion 能够快速在 React 框架中使用动画,我们提供了单项,组合动画,以及整套解决方案

video-react

网络视频播放器使用React库从头开始构建HTML5世界

react-keeper

一个react路由库,更适合移动端使用,拥有缓存等功能

Fusion Design

基于React构建的Web可配置组件库

recharts

https://avatars0.githubusercontent.com/u/13690587?s=200&v=4

基于 React和D3 的组合式图表库

react-json-view

JSON查看器

BizCharts

基于G2和React的强大数据可视化库

react-draggable

一个简单的组件,用于使元素可拖动

react-slick

react走马灯组件

react-color

react 拾色器

react-intl

https://avatars1.githubusercontent.com/u/50559490?s=200&v=4

国际化React应用程序。这个库提供了React组件和一个API,用于格式化日期,数字和字符串,包括复数形式和处理翻译

react-data-grid

https://avatars3.githubusercontent.com/u/1763971?s=200&v=4

使用React构建的类似于Excel的网格组件,具有编辑器,键盘导航,复制和粘贴等功能

react-virtualized

https://cloud.githubusercontent.com/assets/29597/11736841/c0497158-9f87-11e5-8dfe-9c0be97d4286.png

React组件可有效呈现大型列表和表格数据

react-live

https://avatars3.githubusercontent.com/u/5078602?s=200&v=4

一个用于实时编辑React组件的灵活组件库

formik

https://jaredpalmer.com/formik/img/favicon.png

在React中轻松创建表单

其他组件库

发现导航 - 精选实用导航网站

react-move

https://github.com/favicon.ico

一个React组件,它创建可移动,可拖动,可调整大小,可缩放,可旋转,可扭曲,可收缩,可分组,可捕捉。

react-dnd

https://avatars2.githubusercontent.com/u/25307599?s=200&v=4

React DnD是一组React实用程序,可帮助您构建复杂的拖放接口,同时保持组件分离

react-beautiful-dnd

漂亮的和可访问的拖放列表

react-rnd

一个可调整大小且可拖动的React组件。

拖拽组件

发现导航 - 精选实用导航网站

ANT DESIGN PRO

https://avatars1.githubusercontent.com/u/12101536?s=200&v=4

开箱即用的中台前端/设计解决方案

开箱即用

发现导航 - 精选实用导航网站

enzyme

适用于React的JavaScript测试实用程序

Jest

Jest是一个令人愉快的JavaScript测试框架,专注于简单性。

单元测试

发现导航 - 精选实用导航网站

umijs

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

插件化的企业级前端应用框架。

DvaJS

https://avatars1.githubusercontent.com/u/20552239?s=200&v=4

基于React和Redux的轻量级和elm风格框架

umijs/hooks

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

你可以将 umi hooks 使用在任何地方,和任意组件库搭配使用。虽然我们的代码示例都是基于 ant design 的,但是并不代表我们的 Hooks 只能和 ant design 配合使用

umi-plugin-cache-route

https://avatars2.githubusercontent.com/u/33895495?s=200&v=4

路由缓存,类似vue keep-alive

umi/dva

发现导航 - 精选实用导航网站

React.js 小书

这是一本关于 React.js 的小书

TypeScript-React-Starter

TypeScript和React的入门模板,带有详细的README,描述了如何将两者结合使用。

react-redux-typescript-guide

TypeScript中的React和 Redux - 使用说明

知识

发现导航 - 精选实用导航网站

Mobx

https://avatars1.githubusercontent.com/u/17475736?s=200&v=4

简单、可扩展的状态管理

next.js

服务端渲染框架、SEO解决方案

nwb

适用于Web的React,Preact,Inferno和Vanilla JS应用,React库和其他npm模块的工具包,无需配置

ahooks

为 React Hooks 而生

react-app-rewired

覆盖create-react-app webpack配置而不弹出

其他

发现导航 - 精选实用导航网站

React

https://reactjs.org/favicon.ico

发现导航 - 精选实用导航网站

Vue.js

渐进式JavaScript 框架

Vue Router

Vue Router 是 Vue.js 官方的路由管理器

Vuex

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。

vue-devtools

vue.js调试工具

vue-cli

Vue.js开发的标准脚手架工具

vuepress

Vue 驱动的静态网站生成器

Vue SSR

Vue服务端渲染、SEO解决方案

vue-class-component

用于类式Vue组件的ECMAScript / TypeScript装饰器。

eslint-plugin-vue

Vue.js的官方ESLint插件

vite

Vite是一个经过验证的Web开发人员构建工具,可在开发过程中通过本机ES模块导入为您的代码提供服务,并将其与Rollup捆绑在一起进行生产

Vue 组合式 API

Vue 组合式 API在线文档阅读

生态系统

发现导航 - 精选实用导航网站

iView

https://avatars0.githubusercontent.com/u/20693613?s=200&v=4

一套基于 Vue.js 的高质量UI 组件库

Element

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库

Element Plus

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

支持Vue3.0的Element

Muse-UI

https://avatars0.githubusercontent.com/u/22283362?s=200&v=4

基于 Vue 2.0 优雅的 Material Design UI 组件库

Ant Design Vue

https://qn.antdv.com/favicon.ico

这里是 Ant Design 的 Vue 实现,开发和服务于企业级后台产品

vuetify

https://avatars2.githubusercontent.com/u/22138497?s=200&v=4

让Vue和Material Design的强大力量在开发上助您一臂之力

bootstrap-vue

https://avatars1.githubusercontent.com/u/22965283?s=200&v=4

BootstrapVue为Vue.js提供了最全面的Bootstrap 4组件和网格系统实现之一,并提供了广泛的自动WAI-ARIA可访问性标记

vue-material

https://avatars0.githubusercontent.com/u/23659108?s=200&v=4

Vue material简单,轻巧,完全符合Google Material Design规范

buefy

https://avatars1.githubusercontent.com/u/26799900?s=200&v=4

Buefy是一个基于Bulma框架和设计的Vue.js响应式UI组件的轻量级库。

PC端UI组件库

发现导航 - 精选实用导航网站

vant

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

轻量、可靠的移动端 Vue 组件库

vux

一个凑合的 Vue.js 移动端 UI 组件库

cube-ui

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

基于 Vue.js 实现的精致移动端组件库

Mand Mobile

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

面向金融场景的Vue移动端UI组件库,丰富、灵活、实用,快速搭建优质的金融类产品,让复杂的金融场景变简单

Mint UI

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

基于 Vue.js 的移动端组件库

NutUI

一套京东风格的轻量级移动端Vue组件库

移动端UI组件库

发现导航 - 精选实用导航网站

vue-awesome-swiper

基于swiper封装的轮播图组件

vue-meta

管理Vue 2.0组件中的页面元信息。支持SSR + Streaming

vue-scroller

Vue Scroller是Vonic UI 的基础组件。为了平滑滚动,拉动刷新和无限加载。

vue-infinite-loading

Vue.js的无限滚动插件(支持向上和向下)

其他组件/插件

发现导航 - 精选实用导航网站

iview-admin

基于iView的Vue 2.0管理系统模板

开箱即用

发现导航 - 精选实用导航网站

nuxt

https://avatars2.githubusercontent.com/u/23360933?s=200&v=4

Vue.js 通用应用框架

创建nuxt的脚手架工具

https://avatars2.githubusercontent.com/u/23360933?s=200&v=4

create-nuxt-app

nuxt服务端渲染框架

发现导航 - 精选实用导航网站

Vue.js

https://v3.vuejs.org/images/icons/apple-icon-152x152.png

发现导航 - 精选实用导航网站

Angular

一个框架,移动 & 桌面

angular-cli

用于Angular CLI脚手架工具

augury

Angular调试和可视化工具

生态系统

发现导航 - 精选实用导航网站

NG-ZORRO

https://avatars2.githubusercontent.com/u/30223759?s=200&v=4

基于Ant Design的Angular企业级UI组件

ng-bootstrap

https://avatars3.githubusercontent.com/u/14283866?s=200&v=4

基于Bootstrap 4的Angular组件

element-angular

https://avatars2.githubusercontent.com/u/12810740?s=200&v=4

Element Angular组件库

primeng

https://avatars1.githubusercontent.com/u/3494069?s=200&v=4

PrimeNG是Angular的丰富UI组件的集合

material

Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。

PC端UI组件库

发现导航 - 精选实用导航网站

material

Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。

移动端UI组件库

发现导航 - 精选实用导航网站

Angular

https://avatars0.githubusercontent.com/u/139426?s=200&v=4

发现导航 - 精选实用导航网站

小程序开发

微信小程序

小游戏开发

微信小游戏

小程序文档

发现导航 - 精选实用导航网站

mpvue

Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心

wepy

官方小程序组件化开发框架

mpx

https://avatars0.githubusercontent.com/u/27521938?s=200&v=4

Mpx是一款致力于提高小程序开发体验的增强型小程序框架(滴滴出品,基于vue)

uni-app

https://avatars1.githubusercontent.com/u/5485517?s=200&v=4

uni-app 是使用 Vue 语法开发小程序、H5、App的统一框架

omix

https://tencent.github.io/omi/assets/omi-logo2019.svg

腾讯原生小程序框架 OMIX 2.0

小程序框架

发现导航 - 精选实用导航网站

vant-weapp

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

轻量、可靠的小程序 UI 组件库

weui-wxss

https://avatars0.githubusercontent.com/u/18461506?s=200&v=4

这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库

wxParse

wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析

mpvue-wxParse

适用于 Mpvue 的微信小程序富文本解析自定义组件

echarts-for-weixin

https://avatars1.githubusercontent.com/u/2268460?s=200&v=4

ECharts 的微信小程序版本

腾讯位置服务

https://lbs.qq.com/favicon.ico

微信小程序原生LBS能力的最佳拍档

ColorUI

鲜亮的高饱和色彩,专注视觉的小程序组件库

weapp-input-frame

验证码、支付密码输入框组件

小程序组件库/插件

发现导航 - 精选实用导航网站

JS接口签名校验工具

微信 JS 接口签名校验工具

接口调试工具

微信公众平台接口调试工具

computed

小程序自定义组件 computed / watch 扩展

微信公众号开发辅助工具

发现导航 - 精选实用导航网站

awesome-github-wechat-weapp

微信小程序开源项目库汇总

awesome-wechat-weapp

微信小程序开发资源汇总

资源

发现导航 - 精选实用导航网站

微信开放社区

小程序开发者专区,微信公众平台,微信开放社区,开发者专区

wechat-format

微信公众号排版编辑器,转换 Markdown 到微信特制的 HTML

微信开放平台

微信开放平台

其他

发现导航 - 精选实用导航网站

微信开发

https://avatars0.githubusercontent.com/u/18461506?s=200&v=4

发现导航 - 精选实用导航网站

CSS3 UI Lib

CSS动画集成、在线调试阴影

CSS Sprites Generator

CSS雪碧图生成

CSS渐变调试器

http://www.colorzilla.com/favicon.ico

前端开发调试CSS渐变必备神器

Animista

https://animista.net/favicon.ico

在线生成CSS动画

CSS Gradient

https://cssgradient.io/favicon.ico

CSS渐变调试并生成CSS代码

Grabient

https://www.grabient.com/favicon.ico

CSS渐变调试并生成CSS代码,还可以角度变换

px与em单位转换

http://pxtoem.com/favicon.ico

px与em单位转换

CSS三角形產生器

http://apps.eky.hk/css-triangle-generator/favicon.gif

CSS三角形產生器 - 使用純CSS繪畫三角形

SassMeister

https://www.sassmeister.com/favicon.ico

将sass语法转换成CSS语法

transfonter

https://transfonter.org/favicon.ico

字体图标转换Base64

Loading集合

上千种Loading认你选

CSS Reference

https://cssreference.io/favicons/favicon-32x32.png

css参考是一个免费的视觉指导css。它以最受欢迎的特性为特色,并用插图和动画示例对其进行说明

在线CSS阴影调试

https://www.w3cschool.cn/favicon.ico

CSS3 Box Shadow(阴影)效果在线调试工具

CSS

发现导航 - 精选实用导航网站

正则表达式验证器

https://regexper.com/favicon.ico

验证JavaScript正则表达式

JSON在线解析及格式化验证

https://www.json.cn/favicon.ico

json在线解析,json格式化,json格式验证,json转xml,xml转json

prettier

https://avatars0.githubusercontent.com/u/25822731?s=200&v=4

Prettier是一个固定的代码格式化程序。它通过解析代码并使用自己的规则重新打印它来强制执行一致的样式,这些规则考虑了最大行长度,并在必要时包装代码

正则表达式在线测试

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

正则表达式在线测试

spy-debugger

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备

VConsole

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

一个轻量、可拓展、针对手机网页的前端开发者调试面板

JavaScript

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

Staticfile CDN

https://www.staticfile.org/assets/images/logo.png

免费CDN服务,包括 JavaScript、CSS、图片和 swf 等静态文件

jsDelivr

https://www.jsdelivr.com/favicon.ico

jsDelivr – 开源 CDN

BootCDN

https://www.bootcdn.cn/assets/ico/favicon.ico

稳定、快速、免费的前端开源项目 CDN 加速服务

cdnjs

https://avatars0.githubusercontent.com/u/637362?s=200&v=4

面向Web开发人员的免费和开源公共Web CDN!

CDN

发现导航 - 精选实用导航网站

FunDebug

https://www.fundebug.com/favicon.ico

支持前端JavaScript,后端Node.js以及微信小程序错误监控

前端兼容性查询

https://www.caniuse.com/img/favicon-128.png

前端查询API各个厂商兼容性情况

Browserhacks

http://browserhacks.com/assets/images/browserhacks.ico

Browserhacks是来自各个互联网的浏览器特定CSS和JavaScript hacks的广泛列表。

Character Entity Reference Chart

字符实体参考图,>

awesome-web-editor

开源web编辑器汇总列表

jsfiddle

https://jsfiddle.net/img/favicon.png

强大的前端代码在线演示的网站

jsperf

https://avatars0.githubusercontent.com/u/11043997?s=200&v=4

jsPerf旨在提供一种简单的方法来创建和共享测试用例,通过运行基准测试来比较不同JavaScript代码段的性能

codesandbox

https://codesandbox.io/favicon.ico

codesandbox是为Web应用程序定制的在线编辑器。

HTML Reference

https://htmlreference.io/favicons/favicon-32x32.png

所有HTML元素和属性的免费指南参考

jsbin

https://static.jsbin.com/images/dave.min.svg

一个轻量级的html/css/js在线编辑器Debug调试器

jsfuck

http://www.jsfuck.com/favicon.ico

JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅使用六个不同的字符来编写和执行代码。

其他

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Bootstrap

https://getbootstrap.com/docs/4.5/assets/img/favicons/favicon.ico

Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架

Sass

https://avatars2.githubusercontent.com/u/317889?s=200&v=4

Sass 是成熟、稳定、强大的 CSS 扩展语言

Less

https://avatars0.githubusercontent.com/u/3538330?s=200&v=4

Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性

magic

CSS3动画特效

Animate.css

https://avatars3.githubusercontent.com/u/64791939?s=200&v=4

CSS动画的跨浏览器库,简单易用

normalize.css

http://necolas.github.io/normalize.css/favicon.ico

使浏览器更加一致地呈现所有元素并符合现代标准。它只针对需要规范化的样式

Hover

CSS3动力悬停效果的集合,适用于链接,按钮,徽标,SVG,特色图像等

github-markdown-css

复制GitHub Markdown样式的最小CSS量

autoprefixer

https://avatars1.githubusercontent.com/u/8296347?s=200&v=4

Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里

vivify

http://vivify.mkcreative.cz/assets/img/apple-icon-57x57.png

Vivify是免费的CSS动画库。

cubic-bezier

在线制作CSS动画

CSS

发现导航 - 精选实用导航网站

iconfont

http://www.iconfont.cn/favicon.ico

阿里妈妈MUX倾力打造的矢量图标管理、交流平台

Font Awesome

https://avatars1.githubusercontent.com/u/1505683?s=200&v=4

一套绝佳的图标字体库和CSS框架

LivIcons Evolution

https://livicons.com/apple-icon-57x57.png

会动的纯svg矢量图标库

ionicons

https://avatars0.githubusercontent.com/u/3171503?s=200&v=4

适用于Ionic Framework和Web应用程序的高级图标字体

material-design-icons

Google的Material Design图标

图标库

发现导航 - 精选实用导航网站

css battle

https://cssbattle.dev/images/logo-square.png

在线比拼CSS

学习CSS布局

http://zh.learnlayout.com/images/logo.png

学习CSS布局

资源

发现导航 - 精选实用导航网站

CSS

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/css/css.png

发现导航 - 精选实用导航网站

TypeScript

TypeScript 是一种由微软开发的自由和开源的编程语言,它是JavaScript的一个超集

TypeSearch

搜索typescript 类型包 @types/node

DefinitelyTyped

高质量TypeScript类型定义的存储库

typescript-eslint

https://avatars0.githubusercontent.com/u/46634674?s=200&v=4

Monorepo用于所有工具,使ESLint能够支持TypeScript

awesome-typescript

用于客户端和服务器端开发的强大TypeScript资源的集合。在TypeScript中编写精彩的JavaScript

TypeScript 入门教程

TypeScript 入门教程

TypeScript

发现导航 - 精选实用导航网站

TypeScript

https://www.typescriptlang.org/favicon-32x32.png

发现导航 - 精选实用导航网站

JavaScript 20 年

JavaScript 20 年

你不知道的JavaScript

你不知道的JavaScript

现代 JavaScript 教程

https://zh.javascript.info/img/favicon/favicon.png

以最新的 JavaScript 标准为基准。通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识

ECMAScript 6入门

ECMAScript 6入门

JavaScript教程

JavaScript 标准参考教程

书籍

发现导航 - 精选实用导航网站

JavaScript Puzzlers

你真的了解JavaScript吗?来试试吧!

InterviewMap

https://avatars1.githubusercontent.com/u/41361384?s=200&v=4

打造最好的面试图谱

飞冰早报

飞冰早报

jsdoc

用于JavaScript的API文档生成器。

30 seconds of code

https://avatars3.githubusercontent.com/u/43479428?s=200&v=4

精选的有用JavaScript代码段集合,您可以在30秒或更短的时间内理解这些代码段。

33-js-concepts

JavaScript开发者应懂的33个概念

ECMAScript Proposals

https://avatars1.githubusercontent.com/u/1725583?s=200&v=4

跟踪ECMAScript 提案

ecma262

https://avatars1.githubusercontent.com/u/1725583?s=200&v=4

ECMA-262的状态,流程和文档

JavaScript 秘密花园

https://bonsaiden.github.io/JavaScript-Garden/favicon.ico?v=2

JavaScript 语言最古怪用法的文档集合

Airbnb JavaScript 编码规范

Airbnb JavaScript 编码规范

Daily-Interview-Question

工作日每天一道前端大厂面试题,祝大家天天进步,一年后会看到不一样的自己

javascript-algorithms

JavaScript 算法与数据结构

weekly

https://avatars2.githubusercontent.com/u/26534952?s=200&v=4

前端精读周刊

文档

发现导航 - 精选实用导航网站

参考资料

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

WEB前端

发现导航 - 精选实用导航网站

Node.js

Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时

npm1

npm是JavaScript世界的包管理工具,并且是 Node.js 平台的默认包管理工具

官方

发现导航 - 精选实用导航网站

urllib

在复杂的世界中请求HTTP(s)URL

formstream

multipart / form-data编码流,用于文件上传的帮助程序。

validate-npm-package-name

给我一个字符串,我会告诉你它是否是有效的npm软件包名称

模块

发现导航 - 精选实用导航网站

Yarn

https://classic.yarnpkg.com/favicon.ico

快速、可靠、安全的依赖管理

awesome-nodejs

Node.js软件包和资源

nodebestpractices

最大的Node.js最佳实践列表

其他

发现导航 - 精选实用导航网站

NodeBB

https://avatars0.githubusercontent.com/u/4449608?s=200&v=4

基于Node.js的论坛软件,为现代网站

Ghost

https://avatars1.githubusercontent.com/u/2178663?s=200&v=4

Ghost 是基于 Node.js 构建的开源博客平台。Ghost 具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写。Ghost 的目标是取代臃肿的 Wordpress

CMS

发现导航 - 精选实用导航网站

nodebestpractices

Node.js 最佳实践, 最大的汇集,且每周都在增长 - 当前,超过50个最佳实现,样式指南,架构建议已经呈现

资料

发现导航 - 精选实用导航网站

生态系统

https://nodejs.org/static/images/favicons/favicon.ico

发现导航 - 精选实用导航网站

request

简化的HTTP请求客户端

superagent

一个小型渐进式客户端HTTP请求库,Node.js模块具有相同的API,具有许多高级HTTP客户端功能

axios

基于Promise的HTTP客户端,用于浏览器和node.js

node-fetch

一个轻量级的模块,将window.fetch带到Node.js

bent

带有async await的功能性JS HTTP客户端(Node.js和Fetch)

superagent-proxy

superagent代理扩展,这使您可以通过某种代理来代理HTTP请求

网络请求

发现导航 - 精选实用导航网站

Puppeteer

https://pptr.dev/favicons/apple-touch-icon.png

Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chromium或Chrome

cypress

https://avatars0.githubusercontent.com/u/8908513?s=200&v=4

对浏览器中运行的所有内容进行快速,轻松和可靠的测试,(类Puppeteer)

Mocha

https://avatars0.githubusercontent.com/u/8770005?s=200&v=4

Node.js和浏览器的简单,灵活,有趣的JavaScript测试框架

chai

https://avatars0.githubusercontent.com/u/1515293?s=200&v=4

node.js的BDD/TDD断言框架和可以与任何测试框架配对的浏览器

ava

https://avatars2.githubusercontent.com/u/8527916?s=200&v=4

未来的JavaScript测试运行器

Jest

https://jestjs.io/img/favicon/favicon.ico

Jest是一个令人愉快的JavaScript测试框架,专注于简单性。

testcafe

https://avatars1.githubusercontent.com/u/4243232?s=200&v=4

一个Node.js工具,用于自动化端到端Web测试

jest-puppeteer

https://avatars2.githubusercontent.com/u/26206404?s=200&v=4

使用Jest&Puppeteer运行测试 🎪✨

ts-jest

https://kulshekhar.github.io/ts-jest/assets/img/logo.png

具有对Jest的Sourcemap支持的TypeScript预处理器

jest-extended

https://avatars2.githubusercontent.com/u/26206404?s=200&v=4

扩展 jest 匹配器

单元测试

发现导航 - 精选实用导航网站

node-mysql2

node.js的快速node-mysql兼容的mysql驱动程序

sequelize

基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite 和 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 读取和复制等功能

mongoose

mongodb对象模型设计用于在异步环境中工作。

ioredis

适用于Node.js,以性能为中心且功能齐全的Redis客户端。

objection.js

Objection.js是Node.js的一个ORM ,它旨在避免使用SQL和底层数据库引擎的全部功能,同时尽可能简单地将magic保持在最低限度。

nedb

JavaScript数据库,用于Node.js,nw.js,electron和浏览器

typeorm

https://avatars0.githubusercontent.com/u/20165699?s=200&v=4

ORM for TypeScript和JavaScript(ES7,ES6,ES5)。支持MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle,WebSQL数据库。适用于NodeJS,浏览器,Ionic,Cordova和Electron平台

knexjs

https://avatars0.githubusercontent.com/u/10490573?s=200&v=4

PostgreSQL,MySQL和SQLite3的查询构建器,旨在灵活,可移植且易于使用。

node-redis

https://avatars1.githubusercontent.com/u/5845577?s=200&v=4

高性能Node.js Redis客户端。

数据库

发现导航 - 精选实用导航网站

node-canvas

node-canvas是Node.js的Cairo -backed Canvas实现。

svg-captcha

在node.js中生成svg验证码

ccap

node.js使用C++库CImg生成验证码,无需安装任何其他库或软件

text-to-svg

将文本转换为SVG路径而不依赖于本机

svg2png

使用PhantomJS将SVG转换为PNG

图形相关

发现导航 - 精选实用导航网站

node-http-proxy

一个HTTP可编程代理库,支持websocket。它适用于实现反向代理和负载平衡器等组件

http-proxy-middleware

用于连接,快速和浏览器同步的单线程node.js http-proxy中间件(基于node-http-proxy)

代理

发现导航 - 精选实用导航网站

esprima

ECMAScript解析基础架构,可进行多用途分析, 将代码转换成AST

recast

JavaScript AST转换器,非破坏性漂亮打印机和自动源映射生成器

AST辅助工具

发现导航 - 精选实用导航网站

node-xlsx

NodeJS excel文件解析器和构建器

fs-extra

操作系统文件,用于替代内置的fs模块

js-xlsx

https://avatars0.githubusercontent.com/u/5826089?s=200&v=4

SheetJS社区版 - 电子表格工具包

node-archiver

https://www.archiverjs.com/images/logo.svg

文件压缩

文件相关

发现导航 - 精选实用导航网站

wechat-oauth

微信公共平台OAuth接口消息接口服务中间件与API SDK

wechat-api

微信公共平台API

wechat

微信公共平台消息接口服务中间件

wechaty

是适用于微信个人帐户的Bot SDK ,可以帮助您创建6行javascript的机器人

微信开发

发现导航 - 精选实用导航网站

Glob

匹配文件。 **/*.js

prompts

轻巧,美观和用户友好的交互式提示

enquirer

https://avatars3.githubusercontent.com/u/21160645?s=200&v=4

时尚,直观和用户友好的提示

cli-table3

https://avatars2.githubusercontent.com/u/887802?s=200&v=4

带有Node.JS的CLI的漂亮unicode表

commander.js

node.js命令行界面的完整解决方案,受Ruby指挥官的启发

ora

优雅的终端微调器

Inquirer.js

常用交互式命令行用户界面的集合

shelljs

Node.js的可移植Unix shell命令

download-git-repo

下载并提取git存储库(GitHub,GitLab,Bitbucket)

node-semver

https://avatars0.githubusercontent.com/u/6078720?s=200&v=4

node的semver解析器

node-progress

node.js的灵活ascii进度条

node-qrcode

二维码生成

open

打开URL,文件,可执行文件等内容。跨平台。

ssh2

用纯JavaScript编写的SSH2客户端和服务器模块,用于node.js

minimist

解析参数选项

node-clear

清空终端屏幕信息

chalk

https://avatars2.githubusercontent.com/u/13122722?s=200&v=4

终端字符串样式

yargs

https://avatars3.githubusercontent.com/u/16504989?s=200&v=4

通过解析参数并生成优雅的用户界面来帮助您构建交互式命令行工具。

CLI

发现导航 - 精选实用导航网站

handlebars

https://handlebarsjs.com/images/favicon.png

JavaScript模板引擎

ejs

https://ejs.co/favicon.svg

JavaScript模板引擎

mustache.js

https://github.githubassets.com/favicons/favicon.svg

使用JavaScript的无逻辑{{mustache}}模板

模板引擎

发现导航 - 精选实用导航网站

node-xml2js

简单的XML到JavaScript对象转换器。它支持双向转换。使用sax-js和 xmlbuilder-js

iconv-lite

纯JavaScript中转换字符编码。

node-uuid

在JavaScript中生成符合RFC的UUID

nativefier

使任何网页成为桌面应用程序

getmac

通过Node.js获取当前计算机的mac地址

http-server

一个简单的零配置命令行http服务器

node-schedule

Node的类似cron-like和非not-cron-like的作业调度程序。

qrcode-terminal

QRCode终端版

localtunnel

https://avatars1.githubusercontent.com/u/13612933?s=200&v=4

localtunnel将您的localhost暴露给世界,以便于测试和共享!无需混淆DNS或部署只是为了让其他人测试您的更改

passport

http://www.passportjs.org/images/favicon/apple-icon-57x57.png

Node.js的简单,不显眼的身份验证

parameter

参数验证工具

bytes

用于解析字符串字节, b/kb/mb/gb/tb/pb

js-yaml

https://avatars2.githubusercontent.com/u/723678?s=200&v=4

JavaScript YAML解析器和转储器。非常快

acorn

https://avatars0.githubusercontent.com/u/34631683?s=200&v=4

一个小型,基于JavaScript的快速JavaScript解析器

figlet.js

用JavaScript编写的FIG驱动程序,旨在完全实现FIGfont规范, 生成ascii

node-printer

本机 node.js 打印机

fontmin

无缝缩小字体

morgan

https://avatars1.githubusercontent.com/u/5658226?s=200&v=4

Node.js的HTTP请求记录器中间件

jsdom

https://avatars0.githubusercontent.com/u/9271229?s=200&v=4

与Node.js一起使用的各种Web标准的JavaScript实现

其他

发现导航 - 精选实用导航网站

依赖包

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png

发现导航 - 精选实用导航网站

Electron

https://www.electronjs.org/images/favicon.ico

使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用

electron-packager

https://www.electronjs.org/images/favicon.ico

通过JS或CLI自定义和封装您的Electron应用程序与特定于操作系统的软件包(.app,.exe等)

electron-installer-dmg

https://www.electronjs.org/images/favicon.ico

使用AppDMG为电子应用程序创建DMG安装程序

electron-vue

https://simulatedgreg.gitbooks.io/electron-vue/content/gitbook/images/apple-touch-icon-precomposed-152.png

基于 vue (基本上是它听起来的样子) 来构造 electron 应用程序的样板代码。

electron-builder

https://www.electron.build/assets/images/favicon.png

一个开箱即用的完整解决方案,用于将Electron, Proton Native or Muon 打包、构建成支持macOS, Windows and Linux三大系统的,可”自动更新”的可发布安装程序

electron-react-boilerplate

https://electron-react-boilerplate.js.org/logo/logo.png

基于React可扩展跨平台应用程序的App

menubar

https://www.electronjs.org/images/favicon.ico

Electron创建菜单栏桌面应用程序的高级方法。

Electron

https://www.electronjs.org/images/favicon.ico

发现导航 - 精选实用导航网站

nw.js

https://nwjs.org.cn/asset/img/favicon.ico

从DOM/WebWorker层,直接调用所有的Node模块,使用现有的web技术,开启一个全新的编写应用的方式

nw-builder

https://nwjs.org.cn/asset/img/favicon.ico

以编程方式或通过CLI 构建适用于Mac,Win和Linux的NW.js应用程序。

nwjs-ffmpeg-prebuilt

https://nwjs.org.cn/asset/img/favicon.ico

FFMpeg预构建的二进制文件具有专有的编解码器和构建窗口。

nw.js

发现导航 - 精选实用导航网站

跨平台框架

发现导航 - 精选实用导航网站

nest

https://avatars1.githubusercontent.com/u/28507035?s=200&v=4

Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架。它使用渐进式 JavaScript,内置并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码)并结合了 OOP(面向对象编程),FP(功能编程)和 FRP(功能反应编程)的元素

awesome-nestjs

https://avatars1.githubusercontent.com/u/28507035?s=200&v=4

NestJS的精选列表

nest

发现导航 - 精选实用导航网站

Egg.js

https://eggjs.org/images/favicon.png

Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本

egg-validate

https://eggjs.org/images/favicon.png

基于 parameter 封装的参数验证插件

egg-mailer

https://eggjs.org/images/favicon.png

基于 nodemailer 封装的参数验证插件

egg.js

发现导航 - 精选实用导航网站

Koa

https://avatars2.githubusercontent.com/u/5055057?s=200&v=4

Koa -- 基于Node.js 平台的下一代web开发框架

Express

https://avatars1.githubusercontent.com/u/5658226?s=200&v=4

Express - 快速、开放、极简的 Web 开发框架

Express/Koa

发现导航 - 精选实用导航网站

WEB框架

发现导航 - 精选实用导航网站

node-inspector

Node.js调试器基于Blink Developer Tools

debug

一个微小的JavaScript调试工具,以Node.js核心的调试技术为模型。适用于Node.js和Web浏览器

ndb

ndb是针对Node.js的改进调试体验,由Chrome DevTools启用

调试debugger

发现导航 - 精选实用导航网站

nvm

Node版本管理器 - 用于管理多个活动node.js版本的简单bash脚本

nvm-windows

适用于Windows的node.js版本管理实用程序

nvs

Node Version Switcher - 用于在Node.js的版本和分支之间切换的跨平台工具(受到nvm的启发)

n

Node.js版本管理:无配置文件,无复杂的API,非常简单

node版本管理

发现导航 - 精选实用导航网站

log4js-node

log4js 是一个 nodejs 日志管理工具,可以将日志以各种形式输出到各种渠道。

node-bunyan

用于node.js服务的简单快速的JSON日志记录模块

日志管理

发现导航 - 精选实用导航网站

yeoman

https://avatars0.githubusercontent.com/u/1714870?s=200&v=4

一套用于自动化开发工作流程的工具

nodemailer

https://avatars0.githubusercontent.com/u/16486629?s=200&v=4

发送来自Node.js的电子邮件 - 很容易就像蛋糕一样!

gh-pages

将文件发布到GitHub上的gh-pages分支的常规任务

集成工具

发现导航 - 精选实用导航网站

terser

https://avatars1.githubusercontent.com/u/43502240?s=200&v=4

适用于ES6+的JavaScript解析器,mangler和压缩器工具包

代码压缩

发现导航 - 精选实用导航网站

Awehunt

npm包下载量曲线对比图

nodemon

监视node.js应用程序中的任何更改并自动重新启动服务器 - 非常适合开发

pkg

将Node.js项目打包成可执行文件

npm-check-updates

查找package.json或bower.json允许的更新版本的软件包依赖项

husky

husky 可以防止错误的 git commit, git push 等

bundlephobia

找出在项目中添加新的依赖项的包大小

npm-run-all

一个CLI工具,可并行或顺序运行多个npm脚本

dotenv

从.env加载用于nodejs项目的环境变量

cross-env

运行跨平台设置和使用环境变量的脚本

nrm

npm源快速切换, npm, cnpm, taobao, nj, 内网

其他

发现导航 - 精选实用导航网站

辅助工具

https://nodejs.org/static/images/favicons/favicon.ico

发现导航 - 精选实用导航网站

Deno

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

一个安全的运行时的JavaScript和TypeScript

Deno 标准库

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

Deno 标准库

官方

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

发现导航 - 精选实用导航网站

Deno

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

适用于Deno的Visual Studio Code插件

工具

https://avatars1.githubusercontent.com/u/42048915?s=200&v=4

发现导航 - 精选实用导航网站

Deno

发现导航 - 精选实用导航网站

Node.js

发现导航 - 精选实用导航网站

Golang

Go编程语言

go.dev

大规模构建快速,可靠,高效的软件

awesome-go

精选的Go框架,库和软件的精选列表

Goproxy

https://avatars1.githubusercontent.com/u/49926011?s=200&v=4

中国最可靠的 Go 模块代理

Go语言中文网

https://static.studygolang.com/static/img/favicon.ico

Go语言中文网

Go标准库中文文档

https://studygolang.com/static/img/go.ico

Go标准库中文文档

生态

发现导航 - 精选实用导航网站

gin

Gin是用Go(Golang)编写的Web框架。它具有类似于martini的API,其性能比httprouter快40倍。如果您需要性能和良好的生产率,您会喜欢Gin

beego

beego是用于Go编程语言的开源,高性能Web框架

martini

Go的经典Web框架

echo

https://avatars1.githubusercontent.com/u/2624634?s=200&v=4

高性能,简约的Go Web框架

iris

https://www.iris-go.com/favicon.ico

最快的HTTP / 2 Go Web框架。AWS Lambda,gRPC,MVC,唯一路由器,Websocket,会话,测试套件,依赖注入等。expressjs和laravel的真正继承者|

fiber

https://avatars1.githubusercontent.com/u/59947262?s=200&v=4

Fiber是一个受Express启发的Web框架,建立在Fasthttp(Go最快的HTTP引擎)的基础上。 旨在简化零内存分配和性能的情况,以便快速开发。

WEB框架

发现导航 - 精选实用导航网站

生态系统

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

Fyne

https://avatars3.githubusercontent.com/u/36045855?s=200&v=4

基于Material Design的Go跨平台GUI

GUI

发现导航 - 精选实用导航网站

logrus

Go的结构化,可插入日志记录。

zap

https://avatars3.githubusercontent.com/u/19262598?s=200&v=4

在Go中实现快速,结构化,水平的日志记录。

日志模块

发现导航 - 精选实用导航网站

gorm

适用于Golang的绝佳ORM库,旨在对开发人员友好

ent

https://entgo.io/img/favicon.ico

用于Go的简单但功能强大的实体框架,可轻松构建和维护具有大型数据模型的应用程序。

mysql

Go MySQL驱动程序是Go(golang)数据库/ sql包的MySQL驱动程序

sqlite3

sqlite3驱动程序

pq

适用于database/sql的Pure Go Postgres驱动程序

redis

https://redis.uptrace.dev/assets/images/favicon.png

用于Golang的类型安全的Redis客户端

数据库

发现导航 - 精选实用导航网站

json-iterator

高性能100%兼容的“ encoding / json”替代产品

blackfriday

Markdown处理器,安全、快速。

goldmark

用Go语言编写的markdown解析器。易于扩展,符合标准(CommonMark),结构合理。

goquery

接近jQuery语法的DOM解析库

go-yaml

yaml包使Go程序能够轻松地对yaml值进行编码和解码, 可以快速可靠地解析和生成YAML数据。

xurls

从文本中提取Urls

解析器

发现导航 - 精选实用导航网站

govalidator

参数验证程序,用于字符串,数字,切片和结构

validator

基于标签对结构和各个字段实现值验证。

参数验证

发现导航 - 精选实用导航网站

ip

获取公网IP地址、v4/v6

terminal

提供了用于处理终端的支持功能,这在UNIX系统上很常见

gopsutil

用于检索正在运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视,概要分析和限制进程资源以及管理正在运行的进程

air

Go热重载

go-micro

分布式系统开发框架

xlsx

xlsx是一个库,用于简化在Go程序中读写Microsoft Excel最新版本使用的XML格式。

email

Go强大而灵活的电子邮件库。

websocket

Go的一种快速,经过测试且广泛使用的WebSocket实现

jwt-go

Golang 实现的 JSON WEB TOKEN

cron

Go 实现的 cron 包

qrcode

二维码生成

casbin

https://avatars3.githubusercontent.com/u/27810343?s=200&v=4

权限管理库,支持Golang中的访问控制模型,如ACL,RBAC,ABAC

resty

用于Go的简单HTTP和REST客户端库

grpc-go

https://grpc.io/favicons/apple-touch-icon.png

gRPC的Go语言实现。基于HTTP/2的RPC

colly

https://avatars2.githubusercontent.com/u/33584194?s=200&v=4

Colly提供了一个干净的界面来编写任何种类的爬虫

cors

使用net / http可配置的处理程序来处理CORS请求

其他

发现导航 - 精选实用导航网站

依赖包

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

color

CLI 控制台颜色渲染工具库, 支持Windows

终端颜色

发现导航 - 精选实用导航网站

cli

一个简单,快速且有趣的软件包,用于在Go中构建命令行应用

cobra

Cobra既是用于创建功能强大的现代CLI应用程序的库,又是用于生成应用程序和命令文件的程序

命令行解析

发现导航 - 精选实用导航网站

pb

Golang的控制台进度栏

mpb

Go cli应用程序的多进度条

控制台进度条

发现导航 - 精选实用导航网站

promptui

命令行应用程序的交互式提示

godotenv

从`.env`文件加载环境变量。

go-prompt

受python-prompt-toolkit启发,在Go中构建强大的交互式提示。

其他

发现导航 - 精选实用导航网站

CLI

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

发现导航 - 精选实用导航网站

gvm

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go版本管理器,类似 nvm

json-to-go

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

在线 JSON 转 Struct结构体

golangci-lint

https://avatars3.githubusercontent.com/u/35628013?s=200&v=4

Go的快速Linters Runner

The Go Playground

https://play.golang.org/favicon.ico

在线运行Golang

nuclei

https://nuclei.projectdiscovery.io/

Nuclei是基于模板的可配置目标扫描的快速工具,具有广泛的可扩展性和易用性。

jaeger

https://avatars3.githubusercontent.com/u/35628013?s=200&v=4

分布式链路追踪

delve

https://avatars1.githubusercontent.com/u/19232073?s=200&v=4

Delve是Go编程语言的调试器。

工具

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Go 入门指南

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《The Way to Go》中文译本,中文正式名《Go 入门指南》

Go语言圣经

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go语言圣经 《The Go Programming Language》 中文版本

Go WEB 编程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Golang电子书介绍如何使用Golang建立网络

Go简易教程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《The Little Go Book》中文译本,中文正式名《Go简易教程》

Go by Example 中文版

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go by Example 是对 Go 基于实践的介绍,包含一系列带有注释说明的示例程序。

Go语言之旅

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

本指南涵盖了该语言的大部分重要特性,主要包括:基础、方法和接口、并发等

Go语言101

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

一本着墨于Go语法语义以及运行时相关知识点的编程指导书(Go 1.15就绪)。 此书旨在尽可能地帮助Go程序员更深更全面地理解Go语言

Go语言高级编程

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

本书涵盖CGO、Go汇编语言、RPC实现、Web框架实现、分布式系统等高阶主题,针对Go语言有一定经验想深入了解Go语言各种高级用法的开发人员(不推荐新手)

Mastering GO

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

《Mastering GO》中文译本,《玩转 GO》。

Mastering GO2

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Mastering Go 第二版中文版来袭!

书籍

发现导航 - 精选实用导航网站

100天从新手到大师

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Golang - 100天从新手到大师

project-layout

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Go标准布局结构,项目架构结构参考。

编码规范

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

Uber Go 语言编码规范

Gin实战

https://avatars1.githubusercontent.com/u/4314092?s=200&v=4

WEB 框架Gin实战

其他

发现导航 - 精选实用导航网站

参考资料

发现导航 - 精选实用导航网站

Golang

发现导航 - 精选实用导航网站

Dart

https://pub.dev/favicon.ico

Dart语言

DartPad

https://pub.dev/favicon.ico

在线运行Dart语法

Dart packages

https://pub.dev/favicon.ico

Dart packages

Flutter

https://flutter.dev/images/favicon.png

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的

Flutter Icon

https://flutter.dev/images/favicon.png

Flutter内置Icon组件图标速查表

官方

发现导航 - 精选实用导航网站

imei_plugin

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

用flutter在Android中获取imei的插件

multi_image_picker

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

Flutter插件,可让您在iOS和Android上显示多图像选择器。

sqflite

https://avatars1.githubusercontent.com/u/2605412?s=200&v=4

SQLite flutter plugin

dio

https://flutter.dev/images/favicon.png

dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等

fish-redux

https://camo.githubusercontent.com/a53c432bb9c2222880a6eca54b5ed091d1ab3d40/68747470733a2f2f696d672e616c6963646e2e636f6d2f7466732f5442317237344e4a794c614b31526a535a46785858616d504658612d313032342d313032342e706e67

一个基于Redux状态管理的组合式flutter应用程序框架。它适用于建筑中型和大型应用。

flutter_pulltorefresh

https://flutter.dev/images/favicon.png

一个提供上拉加载和下拉刷新的组件,同时支持Android和Ios

json_serializable

https://flutter.dev/images/favicon.png

JSON序列化和反序列化的代码

flutter_swiper

https://flutter.dev/images/favicon.png

flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配

FlutterToast

https://flutter.dev/images/favicon.png

适用于Flutter的Android Toast插件

dart-uuid

https://flutter.dev/images/favicon.png

生成 RFC4122(v1,v4,v5) UUIDs

fluwx

https://flutter.dev/images/favicon.png

Flutter版微信SDK.WeChat SDK for flutter.

常用模块

发现导航 - 精选实用导航网站

Material Design

https://flutter.dev/images/favicon.png

Material是一个由开源代码支持的设计系统,可以帮助团队构建高质量的数字体验

Flutter实战

https://flutter.dev/images/favicon.png

Flutter实战

samples

https://flutter.dev/images/favicon.png

Flutter示例和演示的集合

flutter-go

https://img.alicdn.com/tfs/TB1OJkeHNYaK1RjSZFnXXa80pXa-229-229.png

flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档

Flutter-Notebook

https://flutter.dev/images/favicon.png

flutter相关功能demo的集合,它能够帮助您快速学习一些零碎的知识

plugins

https://flutter.dev/images/favicon.png

Flutter团队维护的Flutter插件

awesome-flutter

https://flutter.dev/images/favicon.png

很棒的清单,精选了最好的Flutter库,工具,教程,文章等

flutter-do

https://flutter.dev/images/favicon.png

330+Widgets在线查看预览和使用。

文档资料

发现导航 - 精选实用导航网站

flutter_wanandroid

https://flutter.dev/images/favicon.png

基于Google Flutter的WanAndroid客户端,支持Android和iOS。包括BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构&比较规范的代码

Best-Flutter-UI-Templates

https://flutter.dev/images/favicon.png

Best-Flutter-UI-模板, 对所有人完全免费。其内置的Flutter Dart。

其他

发现导航 - 精选实用导航网站

生态系统

发现导航 - 精选实用导航网站

Flutter

发现导航 - 精选实用导航网站

Python

是一种解释型、面向对象、动态数据类型的高级程序设计语言。

PyPi

使用Python软件包索引查找,安装和发布Python软件包

官方

发现导航 - 精选实用导航网站

PCU

python-check-updates, 检查 pip 当前依赖包最新版本

工具

发现导航 - 精选实用导航网站

生态系统

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

requests

https://www.python.org/static/favicon.ico

requests是一个简单而优雅的HTTP库。

aiohttp

https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png

用于asyncio和Python的异步HTTP客户端/服务器框架

Scrapy

https://avatars2.githubusercontent.com/u/733635?s=200&v=4

一个用于Python的快速高级Web爬虫框架。

selenium

https://avatars0.githubusercontent.com/u/983927?s=200&v=4

浏览器自动化框架和生态系统。

beautifulsoup

可以从HTML或XML文件中提取数据的Python库

HTTP/爬虫

发现导航 - 精选实用导航网站

Pillow

友好的PIL前叉,是一个出色的图像处理库

图像

发现导航 - 精选实用导航网站

numpy

使用Python进行科学计算的基本软件包。

运算

发现导航 - 精选实用导航网站

pandas

https://avatars1.githubusercontent.com/u/21206976?s=200&v=4

功能强大的Python数据分析工具包

数据分析

发现导航 - 精选实用导航网站

rich

https://github.com/favicon.ico

Rich是一个Python库,用于在终端中提供富文本和精美的格式。

Fire

Python Fire是一个用于从绝对任何Python对象自动生成命令行界面(CLI)的库。

colorama

Python中简单的跨平台彩色终端文本

tqdm

https://avatars1.githubusercontent.com/u/12731565?s=200&v=4

适用于Python和CLI的快速,可扩展的进度栏

paramiko

领先的Python SSHv2协议库

click

Python可组合命令行界面工具包

CLI

发现导航 - 精选实用导航网站

JMESPath

https://github.com/favicon.ico

JMESPath是JSON的查询语言

其他

发现导航 - 精选实用导航网站

依赖包

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

Django

https://avatars3.githubusercontent.com/u/27804?s=200&v=4

具有期限的完美主义者的Web框架。

flask

https://avatars0.githubusercontent.com/u/16748505?s=200&v=4

用于构建Web应用程序的Python微框架。

WEB框架

发现导航 - 精选实用导航网站

框架

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

简明 Python 教程

https://www.python.org/static/favicon.ico

旨在于介绍如何使用 Python 语言进行编程的自由图书。它以教材与指南的形式为入门者介绍 Python 语言。如果你对电脑知识的了解仅限于如何保存文本文件的话,那这本书就是为你准备的。

书籍

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

100天从新手到大师

https://www.python.org/static/favicon.ico

Python - 100天从新手到大师

Python 入门指南

https://www.python.org/static/favicon.ico

Python 入门指南

What the f*ck Python!

https://www.python.org/static/favicon.ico

一些有趣且鲜为人知的 Python 特性.

awesome-python-cn

https://www.python.org/static/favicon.ico

Python 资源大全中文版

cheatsheet

https://www.python.org/static/favicon.ico

Python大全备忘单

awesome-python

https://www.python.org/static/favicon.ico

精选的Python框架,库,软件和资源的精选清单。

文档资料

https://www.python.org/static/favicon.ico

发现导航 - 精选实用导航网站

参考资料

发现导航 - 精选实用导航网站

Python

发现导航 - 精选实用导航网站

segmentfault

https://cdn.segmentfault.com/v-5f64887f/global/img/touch-icon.png

是中文领域最大的技术问答交流社区平台

掘金

https://b-gold-cdn.xitu.io/favicons/v2/apple-touch-icon.png

一个帮助开发者成长的社区

DiyCode1

致力于构建开发工程师高端交流分享社区

黑客派

https://static.ld246.com/images/favicon.png

黑客派是程序员和设计师的聚集地,汇聚了严谨求实的工程师和富有创意的设计师

Node.js专业中文社区

国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究

吾爱破解

https://www.52pojie.cn/favicon.ico

吾爱破解关注PC软件安全和移动安全领域,致力于软件安全与病毒分析的前沿

FreeBuf

https://www.freebuf.com/favicon.ico

FreeBuf黑客与极客,国内关注度最高的全球互联网安全媒体平台

IMWeb

https://imweb.io/public/icon.png

Web前端 腾讯IMWeb 团队社区

Stack Overflow

https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a

全球最大的技术问答网站,是一个与程序相关的IT技术问答网站

React社区

https://reactjs.org/favicon.ico

React论坛社区

众成翻译

https://p1.ssl.qhimg.com/t010e845cdf71587354.png

中国最好的技术翻译社区,最懂译者的翻译平台,奇虎360最大前端团队“奇舞团”出品

MDN web docs

https://developer.mozilla.org/favicon.ico

Mozilla 开发者社区,是一个完整的学习平台,你可以在这里深入学习Web技术以及能够驱动Web的软件

DEV Community

https://dev-to.s3.us-east-2.amazonaws.com/favicon.ico

在这里程序员分享想法并帮助彼此成长

问答社区1

发现导航 - 精选实用导航网站

V2EX

https://www.v2ex.com/static/img/v2ex_192.png

创意工作者们的社区

知乎

https://static.zhihu.com/static/favicon.ico

知乎,中文互联网最大的知识分享和社交平台

简书

https://www.jianshu.com/favicon.ico

简书是一个创作社区,任何人均可以在其上进行创作

小专栏

https://images.xiaozhuanlan.com/assets/favicon-bd135558698197f509ada06695c03a4f458f0077fa476f9a4e7ba9664f3dc55f.ico

小专栏是一个专业人士的创作知识社区,在这里您可以看到各个领域最专业的专栏和观点

Hacker News

https://news.ycombinator.com/favicon.ico

Hacker News

程序员客栈

https://stacdn.proginn.com/favicon_new.ico

程序员客栈是领先的程序员自由工作平台,未来互联网企业用人方式。提供优秀程序员为您进行网站建设制作、测试运维服务、人工智能AI、大数据区块链、软件开发等优质服务

职Q

https://fecdn4.zhaopin.cn/zq/assets/logoIcon.7a3e67.png

智联招聘旗下专业的招聘求职社交问答平台,覆盖了求职、招聘、职业规划、升职加薪、面试技巧、工作经验分享等热门话 题,涉及各种行业职场问题,1.5亿用户的职场社区

煎蛋

http://cdn.jandan.net/static/img/appicon.png

煎蛋以译介方式传播网络新鲜资讯

其他

发现导航 - 精选实用导航网站

Github

https://github.githubassets.com/favicons/favicon.svg

面向开源及私有软件项目的托管平台

码云

https://gitee.com/favicon.ico

码云专为开发者提供稳定、高效、安全的云端软件开发协作平台

GitLab

https://about.gitlab.com/ico/apple-touch-icon-57x57.png

用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

Coding

https://dn-coding-net-production-static.codehub.cn/platform/favicon.ico

面向开发者的云端开发平台,提供 git/svn 代码托管,代码质量分析,在线WebIDE,项目管理...

代码托管

发现导航 - 精选实用导航网站

社区站点

发现导航 - 精选实用导航网站

社区站点

发现导航 - 精选实用导航网站

觅元素

http://www.51yuansu.com/favicon.ico

觅元素,为您提供免费设计元素,设计元素的资源站

千库网

https://js.588ku.com/comp/public/css/iconfont/favicon.ico

致力于为设计师提供最优质的素材

花瓣网

https://huaban.com/img/touch-icon-ipad.png

花瓣,陪你做生活的设计师

Dribbble

https://cdn.dribbble.com/assets/favicon-b38525134603b9513174ec887944bde1a869eb6cd414f4d640ee48ab2a15a26b.ico

Dribbble是展示和宣传,推广,发现和探索设计的地方

万素网

https://669pic.com/669pic.ico

万素网致力于为国内各行业设计师,网站编辑,新媒体工作人员提供免费png素材与背景图片服务

ArtStation

https://www.artstation.com/assets/favicon.ico

ArtStation是游戏,电影,媒体和娱乐艺术家的展示平台。它使艺术家能够以流畅的方式展示他们的作品集,发现和保持灵感,并与新的机会联系起来。

Design Templates - Canva

https://static.canva.com/static/images/favicon.ico

设计模板 - Canva

Unsplash

https://unsplash.com/favicon-32x32.png

美丽,免费的照片。由世界上最慷慨的摄影师社区赠送。

稿定设计

https://www.gaoding.com/favicon.ico

电商素材、新媒体配图、手机海报等。

unDraw

https://undraw.co/favicon-32x32.png

带有开源插图的设计项目,可满足您可以想象和创建的任何想法。 免费使用您的颜色创建漂亮的网站,产品和应用程序

UI中国用户体验设计平台

https://www.ui.cn/Public/img/favicon.ico

UI中国用户体验平台,中国用户体验联盟理事单位。国内极具影响力的设计平台之一。十多年来,携手会员150万+,共同致力于为设计师与企业搭建健康的设计生态!

GitHub Octodex

https://octodex.github.com/favicon.ico

由GitHub Design团队创建和维护的所有吉祥物素材

Collect UI

http://collectui.com/img/favicon.ico

从每日ui档案库及其他收集的每日灵感。 根据Dribbble拍摄的照片,手工挑选,每天更新

材料

发现导航 - 精选实用导航网站

icons8

https://icons8.cn/vue-static/landings/primary-landings/favs/icons8_fav_96%C3%9796.png

下载免费图标,音乐,素材图片,矢量,UX插图和视频音乐

vectorlogo

https://www.vectorlogo.zone/favicon.ico

3000多种精美的SVG徽标,非常适合您的自述文件或积分页面

shareicon

https://www.shareicon.net/favicon.ico

超过25万个icon免费集合

SVG Logos

超过1000+SVG Logos集合

iconfont

https://www.iconfont.cn/favicon.ico

阿里妈妈MUX倾力打造的矢量图标管理、交流平台

iconscount

https://iconscout.com/favicon.ico

免费下载图标,插图和库存照片

图标

发现导航 - 精选实用导航网站

创客贴

https://www.chuangkit.com/favicon.ico

一款简单易用、功能强大的线上图形设计工具

Ps Play

Ps Play - 移动设计零阻力

鹿班

https://g.alicdn.com/acca/resource/luban/image/favicon.png

鹿班 - 让设计更美好(阿里出品)

fontspace

https://www.fontspace.com/android-chrome-192x192.png?v=00Bdv4Q5g6

6500+免费字体下载

工具

发现导航 - 精选实用导航网站

Color Hunt

https://colorhunt.co/img/color-hunt-icon-ios.png

Color Hunt是一个免费开放的平台,可通过数千种精选的时尚调色板来激发色彩灵感

配色

发现导航 - 精选实用导航网站

Design

发现导航 - 精选实用导航网站

Design

发现导航 - 精选实用导航网站

Docker — 从入门到实践

https://github.com/favicon.ico

Docker — 从入门到实践

Docker官方映像文档

https://github.com/favicon.ico

docker-library中的Docker官方映像文档

Docker Hub

https://avatars2.githubusercontent.com/u/7739233?s=200&v=4

Docker 镜像仓库

Docker-Compose

https://avatars2.githubusercontent.com/u/7739233?s=200&v=4

使用Docker定义和运行多容器应用程序

Docker

发现导航 - 精选实用导航网站

git-manual

https://github.com/favicon.ico

Git常用命令参考手册 (推荐学习)

GitHub Docs

https://github.com/favicon.ico

github 官方帮助文档

awesome-actions

https://github.com/favicon.ico

精选的GitHub上很棒的Action列表

Github - Actions

https://github.com/favicon.ico

Github 官方Actions 资源列表

growing-up

https://github.com/favicon.ico

程序猿成长计划

Git

发现导航 - 精选实用导航网站

nginx

https://avatars0.githubusercontent.com/u/1412239?s=200&v=4

nginx参考文档

Nginx开发从入门到精通

https://avatars0.githubusercontent.com/u/1412239?s=200&v=4

Nginx开发从入门到精通

服务器

发现导航 - 精选实用导航网站

redis

https://avatars3.githubusercontent.com/u/1529926?s=200&v=4

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构

MySQL

https://labs.mysql.com/common/themes/sakila/favicon.ico

MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。 它是百分百由MySQL原厂开发,管理和提供支持

数据库

发现导航 - 精选实用导航网站

免费的编程中文书籍索引

https://avatars1.githubusercontent.com/u/14127308?s=200&v=4

免费的编程中文书籍索引

Zlibrary

https://zh.b-ok.global/apple-touch-icon.png

Z-Library 项目部分. 全球最大的数字图书馆, 电子书

IT-eBOOK

IT类技术书籍PDF

Refactoring.Guru

https://refactoringguru.cn/favicon.ico

22种常用设计模式

书籍

发现导航 - 精选实用导航网站

Linux 常用命令参考手册

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/linux/linux.png

Linux 常用命令参考手册

developer-roadmap

https://github.com/favicon.ico

2020年成为网络开发人员的路线图

Devhints

https://devhints.io/assets/favicon.png

WEB开发速查表,mysql/go/java/js/bash/react/git...

linux-command

https://wangchujiang.com/linux-command/img/favicon.ico

Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集

learn-regex

https://github.com/favicon.ico

正则表达式学习

the-art-of-command-line

https://github.com/favicon.ico

命令行的艺术

Peter Beverloo

https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/chrome/chrome.png

Chrome浏览器命令参数参考手册

vimrc

https://avatars2.githubusercontent.com/u/11618545?s=200&v=4

vim配置参考手册

Jenkins

https://www.jenkins.io/zh/sites/default/files/jenkins_favicon.ico

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要

learnxinyminutes-docs

https://learnxinyminutes.com/favicon.ico

在Y分钟内学习X

Vscode Docs

https://code.visualstudio.com/apple-touch-icon.png

Vscode 扩展开发文档

YAML教程

YAML教程

Chrome Extension

https://www.google.com/images/icons/product/chrome-32.png

谷歌浏览器扩展插件开发文档

其他文档

发现导航 - 精选实用导航网站

参考文档

发现导航 - 精选实用导航网站

菜鸟教程

https://static.runoob.com/images/icon/mobile-icon.png

提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程

慕课网

https://www.imooc.com/static/img/common/touch-icon-ipad.png

慕课网-程序员的梦工厂

极客学院

https://www.jikexueyuan.com/favicon.ico

致力于“让IT学习更有效”,以实战为特色,为注重自我提升的IT从业者提供高品质职业教育

腾讯课堂

https://9.idqqimg.com/edu/edu_modules/edu-ui/img/nohash/favicon.ico

腾讯课堂 - 专业的在线教育平台

i春秋

https://static2.ichunqiu.com/icq/resources/images/favicon.ico

【i春秋】-专注网络安全_信息安全_白帽子的在线学习_教育_培训平台

实验吧

http://www.shiyanbar.com/favicon.ico

实验吧是国内最大的在线虚拟机实验IT教育平台

合天网安实验室

https://www.hetianlab.com/img/ico/favicon.ico

合天网安实验室是支持在线实验的信息安全学习的大型服务平台

网易云课堂

https://study.163.com/favicon.ico

网易云课堂 - 领先的实用技能学习平台

蓝桥

https://study.163.com/favicon.ico

蓝桥是国内领先的IT在线编程及在线实训学习平台,专业导师提供精选的实践项目,创新的技术使得学习者无需配置繁琐的本地环境,随时在线流畅使用

W3Cschool

https://7n.w3cschool.cn/statics/images/favicon.ico?v=2.2

编程狮,是一个专业的W3C前端开发及编程入门学习平台

发现导航 - 精选实用导航网站

发现导航 - 精选实用导航网站

教程相关

发现导航 - 精选实用导航网站

LeetCode

https://static.leetcode-cn.com/cn-assets/icons/favicon-96x96.png

提高你的编码技能,快速找到一份工作。这是扩展你知识和为下一次面试做好准备的最佳地方。

牛客网

https://www.nowcoder.com/favicon.ico

牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库

CS-Notes

https://cyc-1256109796.cos.ap-guangzhou.myqcloud.com/LogoMakr_1J56bI.png

技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Java、Python、C++

数据结构和算法动态可视化

https://visualgo.net/img/favicon.png

数据结构和算法动态可视化

algorithm-pattern

https://github.com/favicon.ico

算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~

面试刷题

发现导航 - 精选实用导航网站

面试刷题

发现导航 - 精选实用导航网站

学无止境

发现导航 - 精选实用导航网站

乌云网镜像

WooYun是一个位于厂商和安全研究者之间的漏洞报告平台,注重尊重,进步,与意义

安全联盟

https://www.anquan.org/aq_static/images/favicon/favicon.ico

安全联盟 - 国内最大的第三方网络安全数据共享交换平台

360网站安全检测

https://www.360.cn/favicon.ico

为站长免费提供了网站漏洞检测、网站漏洞修复、网站后门检测、木马查杀,网址安全查询等服务

红黑联盟

https://www.2cto.com/favicon.ico

红黑联盟作为老牌的信息安全网站,致力于培训电脑技术高手.网站集网络安全,系统网络,编程开发,网站建设等频道于一体

知道创宇

https://www.knownsec.com/static/favicon.ico

知道创宇,网络空间安全专家,长期致力于为政府、企业类客户提供完善的云安全解决方案

安全周

关注安全资讯 专注资源共享

全球被黑站点统计系统

https://www.hacked.com.cn/favicon.ico

主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据...

安全脉搏

https://www.secpulse.com/favicon.ico

高质量的全球互联网安全媒体和技术平台,安全爱好者们交流与分享前沿安全技术的最佳社区

网络安全

发现导航 - 精选实用导航网站

XSS-CTF

http://xss.xiejiahe.com/favicon.png

XSS-CTF 是一个练习和入门的XSS平台, 每一位WEB工程师都应具备的基础知识,提高网络安全意识

XSS测试

XSS小游戏

Pasteurize

XSS CTF

CTF

发现导航 - 精选实用导航网站

fiddler

https://www.telerik.com/favicon.ico

Fiddler是一个用于HTTP调试的代理服务器应用程序

wireshark

https://www.wireshark.org/assets/images/favicon.ico

是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换

XSS平台-白帽安全测试

XSS平台是一个免费给白帽安全测试的平台

Security Headers

快速轻松地评估HTTP响应头的安全性

w9scan

一款全能型的网站漏洞扫描器,内置1200+插件可对网站进行一次规模的检测,功能包括但不限于web指纹检测、端口指纹检测、网站结构分析、各种流行的漏洞检测、爬虫以及SQL注入检测、XSS检测...

xray

https://avatars0.githubusercontent.com/u/7302766?s=200&v=4

xray 安全评估工具

cmd5

https://www.cmd5.com/favicon.ico

md5在线解密破解,md5解密加密

sqlmap

https://avatars3.githubusercontent.com/u/735289?s=200&v=4

自动SQL注入和数据库接管工具

nmap

https://avatars2.githubusercontent.com/u/63385?s=200&v=4

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端

xssor

http://xssor.io/s/favicon.ico

编码/解码,Codz,探针

在线子域名查询

https://phpinfo.me/favicon.ico

在线子域名查询

fuzzDicts

Web Pentesting Fuzz 字典

BurpSuitePro

免费的BurpSuitePro版本

辅助工具

发现导航 - 精选实用导航网站

Vulhub

https://vulhub.org/img/favicon.ico

基于docker和docker-compose的漏洞环境集合...

SRC-experience

工欲善其事,必先利其器,一些src挖掘奇技淫巧,国外新技术的学习网站分享

Intranet_Penetration_Tips

内网渗透TIPS

知识/测试

发现导航 - 精选实用导航网站

网络安全

发现导航 - 精选实用导航网站

网络安全

发现导航 - 精选实用导航网站

百度统计

https://tongji.baidu.com/favicon.ico

全球最大的中文网站流量分析平台,帮助企业收集网站访问数据,提供流量趋势、来源分析...

CNZZ

https://www.umeng.com/favicon.ico

CNZZ数据专家是全球最大的中文网站统计分析平台,为各类网站提供免费、安全、稳定

百度搜索资源平台

https://www.baidu.com/img/baidu.svg

百度搜索资源平台_让网站更具价值

问卷星

https://www.wjx.cn/favicon.ico

免费使用问卷星创建问卷调查、在线考试、360度评估等应用

金数据

https://gd-assets.jinshujucdn.com/favicon.ico

金数据是人人可用的在线表单工具,帮助用户收集和管理日常工作中的数据,提升工作效率

Google Analytics

https://ssl.gstatic.com/analytics/20201013-01/app/static/analytics_standard_icon.png

Google Analytics是一个收集数据并将其分析整理成实用报告的平台

腾讯移动分析

https://mta.qq.com/mta/resource/imgcache/images/favicon.ico

腾讯移动分析是腾讯数据云,腾讯大数据战略的核心产品,提供app应用的移动统计分析,支持android/iOS平台,实现用户画像、数据可视化、数据挖掘、渠道效果分析等综合数据服务

Google Adsense

https://www.google.com/favicon.ico

Google Adsense

运营相关

发现导航 - 精选实用导航网站

运营相关

发现导航 - 精选实用导航网站

运营相关

发现导航 - 精选实用导航网站

ByteByteGo

https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5507d97a-c736-4de2-852b-fab5b91d0796%2Ffavicon.ico

Explain complex systems with simple terms, from the authors of the best-selling system design book series. Join over 500,000 friendly readers. Click to read ByteByteGo Newsletter, a Substack publication.

Stripe | Financial Infrastructure to Grow Your Revenue

https://assets.ctfassets.net/fzn2n1nzq965/01hMKr6nEEGVfOuhsaMIXQ/c424849423b5f036a8892afa09ac38c7/favicon.ico

Stripe powers online and in-person payment processing and financial solutions for businesses of all sizes. Accept payments, send payouts, and automate financial processes with a suite of APIs and no-code tools.

Slack Engineering -

https://slack.engineering/wp-content/uploads/sites/7/2020/05/cropped-octothrope-1.png?w=32

发现导航 - 精选实用导航网站

Cloud Computing Services - Amazon Web Services (AWS)

https://a0.awsstatic.com/libra-css/images/site/fav/favicon.ico

Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Free to join, pay only for what you use.

Discord - Group Chat That’s All Fun & Games

发现导航 - 精选实用导航网站

LinkedIn Blog

https://static.licdn.com/aero-v1/sc/h/al2o9zrvru7aqj8e1x2rzsrca

1 billion members | Manage your professional identity. Build and engage with your professional network. Access knowledge, insights and opportunities.

Engineering at Meta - Engineering at Meta Blog

https://engineering.fb.com/wp-content/themes/code-fb-com/favicon.ico

Engineering at Meta Blog

The Cloudflare Blog

https://blog.cloudflare.com/images/favicon-32x32.png

Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet.

Uber Blog

发现导航 - 精选实用导航网站

Netflix TechBlog

发现导航 - 精选实用导航网站

TechBlog

发现导航 - 精选实用导航网站

TechBlog

发现导航 - 精选实用导航网站

凹凸实验室

https://aotu.io/img/favicon-48x48.png

O2面向多终端技术体系,致力于构建沉淀与分享包括但不限于交互、页面制作技巧...

腾讯IMWeb

https://imweb.io/public/icon.png

Web前端 腾讯IMWeb 团队社区

字节跳动技术博客

https://avatars1.githubusercontent.com/u/4158466?s=200&v=4

字节跳动技术博客

淘系前端团队

https://fed.taobao.org/favicon.ico

用技术为体验提供无限可能

有赞技术团队

https://avatars2.githubusercontent.com/u/11404085?s=200&v=4

有赞技术团队

Team

发现导航 - 精选实用导航网站

阮一峰的网络日志

http://www.ruanyifeng.com/favicon.ico

阮一峰的网络日志

谢家和的博客

https://www.xiejiahe.com/favicon-128x128.png

WEB Developer

王垠的博客

https://www.yinwang.org/images/Yc.jpg

当然我在扯淡

Dan

https://overreacted.io/favicon.ico

react作者的博客

个人博客

发现导航 - 精选实用导航网站

博客看点

发现导航 - 精选实用导航网站

BlogView

👀

发现导航 - 精选实用导航网站

MyNAV

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcElEQVQ4jXWTP2iVVxjGf+85596bm5hI1ArW1D90lXZRdFIJIia0IDhJqlhELXFwsDi7uOjgFAUVRW276CSJgyTYiEspCg66OEiMDjoUrybXe7/vO+dx+BJ67+A7nXOe9z3/3ucHnXFW7v+J3MiYBraPaQA61rtywLqEs5b2HNeGeo2j5hhWZAPCLDCHmGm2uD59xV4v53ZsIAeWfhrX4VDlgjPWxggSIMBBJUBMvMvb/D512f5YrrHlwc8ndchXuFXkQCLD8AbmygurnRGdp1qtQZHxy+Ql+xNkBjB6VBtDnWcS/UkkA79UyOcWtDPY+C3kkfhxARcCjdYCPz64YfMOwPVwwldYqUQRHB5goQkLTWzzEHb6Vzh3CoLHx4IiVBis9XECIICcM4ZTREn4RgP66rDjB2x0J9q2BaoV7N5DNPcWVq3EFzlyxjDIhd37GUhiPQX09mAH9qJdW7HvvxNglgTtDE09gnoPEpgEEkPbx1jhil7MwElgBoP9sG5N+f52Vrbp6Qt4OQf1HkgqtQTWn2Hu8V80zJgPFVj8jC7ewg6egclZo1YVgCZny3ZLGELmIDjmp+/wyYEliRnnMW/E1YPlz1+7ixabxqs32JPnqK++dLqIPmCCGbDkAPLI1VTQwOPzgtjXC/81YPof9Pe/aLEF3oFEdI4Qcz4021xdcmJppNFxHanWuFFkAGQp4lf0YilBs4WcJwLVUIEs5/D9CbsNcl1WHh3XkWqF8+b5JhUQY6l6Dy6AEu/znDNTE3azw8rdMO37TZtqNY4hdqfEEIB55i0xmyeu3J+wuU6YuqMbZz8ypoGREmf/NZy/AG6PHowdArJiAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Hoarder

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Home | TOP500 Supercomputer Sites

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsElEQVQ4jY2TTWhcVRiGn+/cM3d+Osm0UYuRpKQLFenCVrHipljUgnQhCq24qLhyJUYlCkKLQVChWFoUxFVNNy78wYU/VQQVxCLRgo1VrEUSisVJtGk6ncyd3HvPeV2MO0Xy7t+X74PngXXk08cZXTjMwdlnGAfQNG49PTSNB1h4id06jrI3uPDHER4FkDDg/5dsmhKwjU2myoJQRsav38iJ9lGeMkMSZgD7xqjffhdpvzsiRoDlZUab2P070/HhND/UrLG/V1gQkCD5Cr69zD0Tz/OFnTnI1i2bec/DBkUiYDIwj7mSLY069W5uQUEOAY7QqOFX+3z73Al22eIRDm3exItZGMLXNw1uzzvE3grl8FbFq4tBZS9xQ6OQDqGVBQh59BVYusIen6b+3qJbBm56IPpdx5ySlOL0YZRUrb590uJfc77/1ZM09r4rnEeXz9M7+Yhq7s+kUWW385QTZepc/tPbSXFuxmJ71uU/HnfVHZPW/+QAVJqq3LxPUrTi+5flxu42d80txBKCkhudwAtDZTTyDioziD0AwuXzqL+CJR7MKd3+NPncm8TF7yABR/BO0PbOMCPK182qLWL3CmHpjDUe+siS1gTlxW+wWovex/vpf/6EFDOcgyB+91nBqWYt3EYFlT/PUP72ISSy7OSDSsb3Rl36QXH5rFv77IDUPUfSMEWJImBRnLILr3DHdS2+LoVXgUkYKVhJqBseD2sCciAdAJp6LCv4dXaOnQZw6RhvjbR4rNO1NeesohhVr1qymrsvr2a8XsRw0VzdiiKjZkTn8SW0J55l3gtsdpGpbSk7hjfo1s6q+o2UWifTB3smw8OnoRjAkf037gIz0C/T3DB2LTPVGvfla2Rn59l256vM/yNU/FfzBWSGBk8xMAtwi0eZWnqN99+BZD3G/g0EOj/O4xBoDgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

程序员客栈-领先的程序员自由远程工作平台

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jZWSvy5EYRDFf2f23sXSKCQkGpVSi2rjCbwGpUojHoAXINHtm4jgFSgVJP50u3at/Y5i7967f0Riii+TmTlzZs584vKdaTMIG0CaymVFAqTKBc+WDi3A4Mx2N4FVMIBdNpgAhETPh5tz59sNuvZgsqiAVeBIhrpaj708aO0tbSxIyRrNhYQEKicMMKGPTx/fdJrr+f5G3V8uJtUvDJkk91NzLT/bbZzed64eerW6om9DghTTQmVgzPKiju7a10996jrZmt9ZzQf2S9sHt+2eDYHTECku3gC+EqHIlQZemVcjk+E78fyZDIRIJmLIABBzgZVsQq9dKkFrQ52FypEkIFXHg1qRNeXq1SbVpUeJQv0iUla7uH1WiVA2gzGKWYbSNPYy6Y8FY/a3/G3/BvwAXPGMy7CiL0wAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

CloudConvert

发现导航 - 精选实用导航网站

油小猴

发现导航 - 精选实用导航网站

www.similarsites.com

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuUlEQVQ4jU2TzWtdVRTFf2ufc+/LF1KKQpCSkkSL0I/QUIsO7aA4qQMnzhQ1VqkRHNR0UAcVcWAVdZAmpYSIDvoPSEGLYoSWSkTUCELVECTFGKyE1qRN3r3nbAfvvZozOwvWb+99zl6idQQ4nOna82Bf369/nrzZ1jn+uo82CvZJLC/Mc21uTpvgAjmAdcz7B6aGRh/uvxgaXb0d84lTPtFocBXjExefjzzO1dcm/OmW2dWprAPD0w+Usbzm5LXvr790COD4uD9SdPOzRMyZGrAYMQtQV7wzeVZvgssAD2ZnY+gbAi13qodGGpQRU6IGAqC6pm5uUZUlp8cn/BWQ68Dw9JEi2GV3F3BjY+3Wvus3J9affZWd9/XwowK7Uk0FRAlyJofW4LdSxaMWQnhOCsFJlUIx0L1jxzMg//Sc/sEYM7FhRoFTu4OE5YyHyE5FXjaDx7InlxQ8VzlYeHvvrnMPAUy+qy+qLY6FyHIsKIDU/jOlGjdx1NzrAfcMKODZwfu7eopLe4dbkKkP9PXdiidSZiFGYhtiOUPODJsLA0cCJHOaNWhPV+z+cmRw+jDAhfe0WDV50p1fQiDi5PZbRxNhRQq4u7c0C5mqgnp3UZSXRnZPH8RdFz7SStXkecQmgAzMuGFyfSdFpHtUhGL2ugLuD6XNMPhWA1znP9S8Zy6HgmBCgm+tzukinnWvgf8hIftWQoweLPoPd7YvJRZCILlTVZlZ+2lx9TMnfRWsN7rnJmwjyR3Hc06hIwhiTy/Bxcz59zVncKb2Kr6YvPlbDH0NkLlnh5yDeiLypb/W78x3mLHkqfXbXLn7N6c6q6wflsb+qNPmEff6Y0drpsJEaVn+u+fyhdXVNzYATpz0YzhXVhY5Ojurf9sdbY8z7B+YGirKeMgU0u2NtW+2R3ts3AdnJrXUurUi/R8QyTtLzvPYgQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Etsy China - Shop for handmade, vintage, custom, and unique gifts for everyone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

The Verge

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABsUlEQVQ4jXXTO2sUcRQF8N8dJxojQSEgihCiILFTxGCjhYqiRUISDdhpo58ghaWFn8LKRiSs5okoijYi+AIVUUFsIj6IhUUivpLdv8XObNbFvdUczjmXc8/MxElpXyK0mcT8lPha4jFpyzK9GSlIeeISBlD7jz+CcVyBi1L2kgsZZ1Cr8SxPTAeHsLZNgs7y+QXbM4awCX+CmTxnrso57C10j/G09AevGnE4jr4CvsVsXhGfRqWppgVffjJ+S/xuTjIkdQejVvuanhQfM6gyg88FcbCLPa2nrKn3NFDAhRrTkKkf/yZxtyB7agy3NBHBCLqLXu5v5nVjQUVUExP4Udw6OCZtW311+tTvh1+YuCyWGwtgAw8TTwrYv8KRkqtyDDsK+DznQck1FlwVi0GlnlCeMXZW6hyUulK9vFJ7oyK+lb68paubidNBb2LrEn0d9GB/wc8n5poNWTOY5ANO4QCGM+YLvLGQ3N7N+2ZP23+gXl7qXeFO0I+ljJHr4l7bBK1T5Wiws4CPov6V/jOtHTTmhLQOh7GI5cS1ivjeqmt7wnmpY4FdwXpUa7ybFUutur/QZXoo2k7BZgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

六星源课堂:每个程序员都应该访问的17 个实用级网站! - 知乎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Gumroad – Sell what you know and see what sticks

发现导航 - 精选实用导航网站

HiringCafe - Find Top Remote Tech Jobs

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAZFJREFUOI2FUj1v20AMJc+WFsGwJ0/p6sCZLED/IoWz+6c4q7WmQLoJ3lJ4c1atzj+If4GGBnAWwSkEAwfcHV8HtlcjSJE33JF8j/dBkgEACCHQZ+j1eszMIsLMn6oVAPpEdDweN5vNz5eXnjEf6oLIl4uLxWIxGo0MMz/tdrfLZZokzAyAz6BumiS3y+XTbsfMFEJo2/ZmPi9XK/wH5Wp1M5+3bRtCIO89gNfDIZ/NyrIEYK11zjnnrLUAyrLMZ7PXwwGA955ERHOaprmaTquqUkKDVVVdTadN02hQRAiAiDjnAOz3+8vJ5HG71Zc8breXk8n++RmAc05EAJBuMaeu6zzPu67rui7P87quz9Ui0o+lMMaISFEUWZadTiciyrKsKAoRMcb8kxGROupbazWiq7VWbWWJqK+t0aoTkTEGgDEmyzLvvVJ6iSrNeduVS5JERL7d3UFkOBzGsxX9aOnD0jT99fb29fp6PB6v1+vBYPB+2GI75S9+PDx8v7+PU6z1iWAAMTN+98/MhXBeHw3+Btg7btfem1ozAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Data Structure Visualization

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABj0lEQVQ4jbXSO0jVcRQH8M+595pP1K4iWOZQbSkZQVhhS2FhJNRgY0UQ1BK1RLRENEhBU1OvXaFBycGxIJoMygalprCHiqgJCnr7/RvScHXoTAfO+T748g1XDtrK5Lb0jUJTvmxmkRUo1GqosrpmfoESBY1F+WR6jm121Mtl/4C1G0sF1ZsIyzed/ioMjBzuOy4O6b1g6Ka4xjNDb/R2GRx1/ioHzN1VXae81fiYQt++knImnSiCb+4/1Nvl3ai+k2oeO31JsX2dPivJfZpIJLn0cTqRoizduZ78SEdOpVfDaXdTsj2RxodTRNp/JhXShrmUQfZV1WXLz2XfxTG+0MOa9jaPXnryflOs68g2Ky/cfkCz7LPoY4wZWtw4Z2Jcbk8dWPF2CjqKWnr0PxVHIQ3QyE7ZB7ELCqv5XDW13Qa7YXLW8ghELQvUUwPRTIkqueK9kGJxNDp6Y+p1rAzF2f4gsl+hPjpvhfkg5MPeUBehklVa+M0sDfykSCVLLNFKkNhGhULTxc4tVSP+e1v/ALHxh1lBNmIPAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Stripe 如何创建科技行业最好的文档 - Mintlify

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABzElEQVQ4jY2SP2hTURTGf+e+l9ikrwGzpFL/rFIFLUIJSAd1kE6lYAUJREqHzg9EOj4cNcWSUZBUS4dCoTg4ZCy4BAqpFroUpwqti6KmNX/63nGIjX3Jq3qmey/f75yP7x7htFLPDO4OPRR0RtERIBmh8iWKTe8UU/F4fA2R26cO+F12D1zMpeyAMiLZf8EAphv2M5mySZz5LzjUIF3MpZpNqyyqFaOM4Qe3VHGBD39r0M6gmEs5TasMZAUd+/Fo6V1HoZ4Z3D3nAk+7HbcdTE1ZTtOsAVkAVSuci3jB/sXZeQIeRxiom4HRZB7+pK3Gvx5ldX9x77nA+/Crbho1OhMaqDKN5/VYxfOCQLUU0oq8NAQyEm6qw/19O1eiXBiheuK6vnf+bMkgGjsBH2HLg4O55S2nMD2MFw7NGFoAWm9VGg4TyH1fnEJ+C7h6DNfc16sDz/KTKqwA2wolQaqi2rIupO+JZd/k4/e7X+defKO9ibKCBpcj4BhwTWABFBXwP32p2Ed9HRjAriX6F5KHB9VD99XbLjhUAj0wnUUCkoX8uIE3UTCq6zE/MdENA1jHh9adG5/jRhtABiWN0AA2BJ7ULtXd+uzSz6if+QWXj65atnGG2AAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

TechCrunch | Startup and Technology News

发现导航 - 精选实用导航网站

MEGA

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABpklEQVQ4jaWSwUtUURTGf/fNzMNkZoLRzDcbhVLb+Y/YyloFQRHtIhlbDCi0dlFQyyhBcCduBP+PcGVmQ4H0cHARvkfJe/ee02LmvRlnGkg8cOHej3O/832cD65ZZhDQ+vwkJmkgZgnDfBc+BPag9N78PDobSWCDmWVjzCeUmyMGniv6tBj+2B0isFMzy2p051+qBkUaNQ+L7Q6JAdDp6VuJlI6B6v/4Bs4T489VTr+1PYDftvDCiVSdCP5Ji8LbDZwqTqRzVPHebOCftDKs6snFSk4X1YLPUS3QqBZoVsnWtkYTdY0m6ppsbed41hfVggOAIoB17l6/PglDSo8fIdaCaucehnhBgHUua1vICZzIJYMXHzbxgtuMPX/WfX9EwlPGX6/19yb9BIfAYq5AhHi1iaQWgLi5znjjJQPDWj0CJ3uKLgJomiJpirWWX6+aPVtpCtbmFhT28zUel8tTfmK+XmmNvs7djeN2HprvhfKVgjTr4l6QclOFGw8UNsFURvyNgCd33J/hKGf1hcqk56UNlPvdVSWgR8aYfSeldwtEZ0O816m/ibHiwE2Nd0oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

namakxin - Digital Artist | DeviantArt

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小红书千帆PC端

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACNElEQVQ4jW2Tz0tUURzFP987I+IMuYjARmq0RcRAi0zKbFOLEPoHoqBtf0ntoyJoZ9AvEMooSFQICoMCN0ILYSTNwChFcyZ0sne/p8V9TQo9uLzL/X7P95533jlIqkqakuSSotxd7pLLFaOUF9LGU086mpJURdJ0Xs52FV0xJtzrd9KNO64vK+k8DfmdY6bZBXZJ7pIUY2JRX5RGrkoDF6Xrt//VUm8mSQFwIJA/BkIyDHHvEWy14FBFLCyZbbdECCDlrcSQb0BK7ywzFQowPWO8+QDlEoRgrG+K+pIJwGU5ztIAd8NMuBshyJo/4e4DKBQTg44OiNGoL8okQEKJcABECIm2JEIwRp/CwjLs7MD5IejtSfd9nDeZGWZGmqCQqMtwT1TrS/DweRKkchCuXYbeA9BXgWYDe/teSGmguyXxclaYwc1RWPkO3WUYPg4vJ2BnGyr7oasTnozD4/GEMSPk3y6KRZiaEeOTcO4kXLoA+zphdQ2yDLZ+QRahuxtm5+DbGm5mxVxA+NEUt+4bV0bEYM1Y30wCHumDwROw/BXGXiTpKj2i3EUAmWJ0hWD2bALq8+Jo1VhZFeWyMXQKasfALDGenYNPn53TA0H9hzHJzSW3VgteTUDMoNGE/n5j+IxUKplJ+mschbbfsGRAFQ2MQiFS6gpsbBhnh6VaDQOzGNOfMQMzmXt7ACEIKLTD5K1WpkYj+d3dd3n+f2tPmKqSJmMeRbnHdipT8rwd9b1rUlL1D5CO+mEah6VfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

3Blue1Brown

发现导航 - 精选实用导航网站

RegExr: Learn, Build, & Test RegEx

发现导航 - 精选实用导航网站

火山引擎-云上增长新动力

发现导航 - 精选实用导航网站

私有化部署 Dify 并快速搭建 AI 应用_dify ai-CSDN博客

发现导航 - 精选实用导航网站

大模型知识库|大模型训练|开箱即用的企业大模型应用平台|智能体开发|53AI

发现导航 - 精选实用导航网站

完整视频 - HOTWIFE XXX - Hot Married MILF Visits a Stranger To Fuck Her Brains Out (Freya Parker) | Pornhub

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABhklEQVQ4jZXSP0iUcRgH8M/vvffULIQjU5SIWlys4bCg7YIKgpYKAonWiDBoqqkghIKIxohyazHStcIhiChoqAazhgYnMzVTDgk9r7tfw5ueUMs9PMMDz/f7/P2G+FBTljQHbxDChm/NbFYLjThVJ0/XFlyFHxSoskykg3aW+C21XXnJzVGzZT8X9XQbOurwgFPDDu51/RypJy+MffDovJ1dxDHTt6Elp3jgb5t3N2B/rzghvjJ0BKZviU8lanIJjF/0cVJ8DCMv9ffa10kLebsLkM9Rl2Zjh2Dkja9XvH0Nx/rNrXg+pXCSYLUilwghW5oQJMGzTyYmtW1zb9DgcVfH9XQ4cYjE+y8mZzavRD2q1d057doFFulmzsyyswNG7tLq/rDLo2LMCDnVGpTX2ME8C1Th8ywztJr6BtUaidSqQrtLJaU+vrNOJDpTVNzDLypKfRZWdLRREeID8uxihTIpkUAn6/99XEKNeWK20YZAlkAOrLJGPRsps/iPyupb4tgANK3WP/AcfVDZ7aoLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

简历模板_简历设计模板 - Canva可画

发现导航 - 精选实用导航网站

30tool-可能是最好的工具网

发现导航 - 精选实用导航网站

人形机器人

发现导航 - 精选实用导航网站

Meta 发布 3D Gen AI 模型:1 分钟内生成高质量 3D 内容 - IT之家

发现导航 - 精选实用导航网站

月之暗面 Kimi 浏览器插件上线:支持框选搜索、全文自动总结 - IT之家

发现导航 - 精选实用导航网站

MindPal - Build any internal AI tool in 5 minutes | Product Hunt

发现导航 - 精选实用导航网站

Free Essay Checker AI - Essay AI's free essay-checking tool to review your essay | Product Hunt

发现导航 - 精选实用导航网站

Validator - Research and validate you micro saas ideas fast as Cheetah | Product Hunt

发现导航 - 精选实用导航网站

iLovePDF | 为PDF爱好者提供的PDF文件在线处理工具

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACVklEQVQ4jY2TO2tUURSF19rn3puHOkFRRnzFQJzEScxEW7EQGxv9CWLUwspG1EKiRLBQFEsLQcVGUAvBRyNIsBC08ZEUvmGMMcGAISo6c+eesyySkRjiY8Opzt6LtTbfBgAIIOYpAZz9N19fBAAEVO4pbnOG3YCtovS2Rn+RT188BICRQmFl+upVM4HXAoxAqAsQAEZ61x9uYHQqMcJLiEikCmnV+32cmBq01hX3k0JH0+TV69vb03R4tgg/lDq2msX3KJkHaiAdJB+TSQpMIcvGGpubO5deuoIvd+6Uxw4d2dkJDQkkgRABUV9CuoqUAYhnXLlUkpEtzrmWapb5Wpwod/BQq759vfVygDsJPBNgRsNaSIEkAQiSQIokJakWQgDpVK26QKrlaP+a/Iljt4aBEoEQBYXnsGhLCMETIElIAsiZB0IQ4pgGwMcJWvoHViOKbr47f34XR0vFjaA9cMTCTMoIOP1SAQWApBp6SsCiRYT3gXGS5dJqMvH40WkCwGip2Bc7dwGSS6d34TAjQkwnC5UK5LNgJHNmNllNbzQ15fo4Y1blns4diXNnGmmF70FeEEHaNEGSzEKjmcukGshzle7Fx9suD1ZYJ4yAhrrb8ktc88nYcW8tSAKmEwC+ySyqSkOVWnagbfjFYJ2j2Zj+gmOkp3ggieysDzIP+AVm8Q8fbn+36p51T95MzKVxLvsGAO9Lxf3jG7v9500b9LG36+6zfH4BAFwD3Hx381vVm0Z6uy6M9XaPj7W3L6u7/OdwPZsAfioWl5e7Ojb/6RL/u/42/BOE6RCtuVZPJwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

百度Apollo-自动驾驶、智能汽车解决方案

发现导航 - 精选实用导航网站

腾讯兔小巢-免费便捷的用户意见反馈服务平台

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACKElEQVQ4jY2TTUhUYRSGn/PdO86MP5hZTY0SoqQVUgZJYOQ2iIJAJFdhi4oWES3aFZqLKGgTBC0jCqkMIgraRBESRkLkxiKSEiIi+zEVdcZ779tickbNwHf5cd6P9+ccWBFkkkxS/MsPHc3M6dxHKbEyLiAwgOdD6s6G0s9J3QaQup2/dHhru0qTFUQAn2ew1jrMHhJdPUtbbZW6YqZw8L27BdDX12WWZ7bLa6rkpnnsJSRjhjmHZbJQUQqXj7O2uQF35xnjHYfYwph9BXDz/G0JEgb7nGM1jg2ex/pMQMr3SfUcIdXcIPf4Fbp0l7LGA1TPZ5O38H0cpUqYVkSZg2hyGldeAj2dUJ+GC73GvX5cJBRP5iwCtjQDc+CmZmH/LtzpNkhXwtAI3H+BMgGUJWFiqpBv3sKaVTnPM1loqoWTB2FgGMIQttfBtVNQXgxjvzFF2LIKzCAbQFsrbFwHpQnwPAhC2Fkvu3HG6H0Kg2/h3V/Oog8kiMfg0Uuor8rJzwZQ5EMYmTZVY12HA28OX0UXQTqfl0L6mIpTjhHnkZrJEBbHsEjQ0ghXToA5JGFA4IwWM3styQoZfMIAEyiZwMfHw8d7MoQ38B7PwHeG54z4gvoX1FiDUhA4DxdmNWxmo54RC+fQg37YvRlJ+BLfnGMkl5lFhU3sVGJHgl9mjE7MsufDdRtbuubLIW8hXYQD3kQBHTlyoeLFQcuWewdkNZ3zJ/rfoX/wB6c+y9Xr8Id6AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Tabby - a terminal for a more modern age

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfUlEQVQ4jaVT3UtTcRh+fmfHzX2yrZofldGHwxAHMdRpeFN/QBdhEV3oRfdBZFBUHpBuhCgEiy6iukgy0YsIrypRwhnlRzOZNVJDOzm1tua2s+3s/N4uTJs56aLn6n3h9zzv7+F9XiAHEpGwUUuSgP8F5QhuBzG3GSOqiySoTVHTqSxplxljkwDwlEh3ijFtOxEGAGekrorOwQ8/BxWiIY3oeSwTe7aq3uiSYzvXH0p5fiRAkhgA2J0W+/i7kK33UX/mY2AuLYIsZot4xWg1jPTGM80AIDHGiYhtmQ4Aze0Pim1WVzcX9A3JhMJdpQ5eVeMmR7FTnxUEqJwPxNOptiaHdSCfAANA4h53a5W3oaXm+AkRBrMhHlvVqqrd/JCnDExfUEDgULh2f3hupuWuxxMBAF2uHb5r98ridCA1MfzCZLPZdbXHjlr3HSxGYaFeIK6pcjSKhZTiJbGw199xS4YkCZv8rONC+82LFT7f9cM19ea0qkKOxvApvMQToiDozQY1HU/6bh+pnADANq3xC1GlHNGuoUB3Wm8Evi7Ftal5GfOrMcHktAvp5TDNDU09nAylg78pJK77P3n1cfmQP/Sy2ldetPw9Q2PBBS0ohxlMRp1BFDPv+/qS/u4ny/HPs0HwqPonSJLEIEnkcll3DLyZLpqakTNkNgoriqqzOizZ+cBocrinK/ptMvAKRmunpEVGJcb4ljU2tt4rKynd35dhopeZjTwRWVT8/d3x0MjrcaTUO42Jxf6etTQyAJQ3jaYDntb6pktKXVPLD12p+y2MzvOoPWvbFLx8xI26ZK8Xqew5EFIwWDooHJpla9MEAPxvcl4QEcuJ6z+v8ReH4CD5bSHEzQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

XPage

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC2klEQVQ4jY1TTWhcZRQ99/vezHSS6WSm+RlNhf66SZVCA24MpSoustI0Dtq0qY1GYi0FF20plVIRUaggWCOBIOjCbEapRVu12mJwUfoDKTZk00UgRBLCzHuZTOfnTeZ73+kiSRsTBO/qcu853MvhHGBNkZTlTlZNZWkHWYv/j6ICgMMt7keHW7zP/g9BPlwmzY0XUwDQ27xwrC9V5ttPVNnbmD8FAFNTTD4+wPXfuK67K2Al+9vX5ZHucK5ypNUNjrS6Zn8ot3j7J3/UMD9161qhcTVHAKCnKdse0bH3oKvtZy837H7qaeBEh8vctKVZBNo6HDn3a1JuXjT4oq80FotFx32/OPyd13hDAYAxrHd06K1KgbsvvOMFEoEZGIzTL1Gicci7QxvhzVoz/P5CoDX3aITfhJIkACgAyORb/vJN4VZ9Q8hOjQf89kRBt3WEVPfJOvR+EkNqqyNDRwu6kAsQiSpbMd7EP7m/rwKAsySIWCF+ZBB6LpYU/vGNj+3tYRuuhzI14tLnFXv390WpSygi2KDIyqVRvGAAKmdFB1o7Q2UhigIIrgyWxQZgOCooekQ4oghyWTozCwBpQBwAFgBE6VdFAbUqsLERcvbnpJ2brKmGlKCUBz54KQ9aAVUAJc4rAL76HrAKEPYk5reIkpcNS7JYpuo7H7eJlKiRcyVePF/hjj0h6T5Zx+K8VVQlQmTvwZjbBsiSeUKOekZrbUrzqO07VGeeT0fU5S/LwcSo4ehIFXeuVIPXzkTVro5IUF7QVilV1VE8+8gMaVB3xsaaP+6aO0hDTk+Y2qEmj72prOnZlK0N7PRYzJK52Zr/evN054Ftk6l9+NNZ58R7PJ0M6F8Yu/5gbzoy/0P/kz77N/vscrxf7t8pH6gx/ykIvc6JK3kAZEVmHN/pxhcK+irB+mhCvzh8P557jANWY/8dK2Z0Jk0NAG80ZVv3J2a2AEAmQ51hRq/FPwSJI1dehpVmNwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

iOS 使用教程 — iKuuu VPN

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

登录

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Top iPhone Apps Ranking on 19 April | Similarweb

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACqElEQVQ4jV2SUYjUZRTFf+d+3/8/M2WYZTk1WUYlskhByxqKhRHYw7ZFrPsYSkhUlFEWVBD4GBGiySJGRERvQSW9GYRptBUMGWTQS1svsriTQunuzPz/33d72BGj83zvPefcc8QKBDhjO1a1r1t9+8IPx38F8CM8T8nrJNoYvwGfcJZDOsLAwQTZriyvu3fqzs61a0+05HcD9N9jJw1mcdbjBGAzBW8zxtd+mHsE2UEG+E0TM+2i0fxK0taNqxe/BSjEFA0ymQFCZDLL1DTZRskJn2W9wA2gJM9aUdzlni/2lmJjZOsijpHRyKQwApcZ0mIDcNRBdsv9048iezJXw0qy689XayYAepf4iCV6NChxahwBwihYIhGZ5CiTZsH3yAzHM2ZKqdjvoHVv8HudmQYWKSnI1P95txNxMrsNaSs54VDkVCcL8aHO+PQ7AMULnLp8iZ1kztIijpQAGBUADxjoNneXQALzVCeL8dVbJ3a9e+AAtuplzrDMIww5TWPEK0RCiI46W3Yt494EXJLc3R1SCEXMqfqynf96uts92fOD3MA1nCIyxoCMYWRqw/1PydxdDiBJgpBTVVkspxZs7fHt2yfX6BUu9Ae8SB7lYgDMm+OnMRPy7COs3CDmejiwotw232++5aDWS5xkSJdAwBDwjdW1f+g5pRX5V21IkouY6zojnnh4x4YG4Fn8QpNExQDjAzv/0+dz7vmYxTJIqt09CcDdcVyGO1re+M+NaVSwSIuAc0zP8aMBdm7xwv5cDT6zWJayEBzJV1KJZmUw5U/f73arZ8YpDB6nx/cs8eZo5io649PPEsNesm8CLxF9d//4jnjute/m5vpplqeCeIyavdrH31d69T/MhPZ9eVOIfnNKeX7hzBd/APgMgQfZrH38DDBi938BGLwydtX32EQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Website Traffic - Check & Analyze Any Website | Similaweb

发现导航 - 精选实用导航网站

Top Websites in the World - March 2024 Most Visited & Popular Rankings - Semrush

发现导航 - 精选实用导航网站

有道翻译_文本、文档、网页、在线即时翻译

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4UlEQVQ4jSXTy6tVVQDH8e9vrXX2Pvvktby+8lXUDWkiRg8bKAjSqKCRDePeECIaFzTIBklQDhrUMEt60CAciA4iSkxL7P0YRYH2IrES83ruPfecs/davwZ+/oePADyzY4GQnsftHVDAFrmI1dFs7kGyaLMZtWaxhREXmU4PafzXO/LMPQuEeBQyuBRk0Wa8oSfNDUzJMO1El824hVE2yyWw3JpJuyDf/MCfyFtxyVAiOZtBgPtuESVDm6FkyJ1pCwxHsDjOlCqx1P0ekLZgCigQo10Cvn1GbiogQK9nVxX0KhEDbL8L9u2ONC6sTtsSkiEIjFfGlBQVZvr2qBNVD0onXR1CXZsrf4uXDpuVMZw7K2bXODj2xHBEPrBf5cMjXA0Td5da6dkXYf8TMDR+5jn81vvitTfM3Hb49YJoaripp4ClSQgaffm9495dCg/uVLd9Du3bg099Cy+8DPfvRseP4Y0bxdZt4vIl069FlZRKKe4GDd2575R//MmDp+ZF08fnvgEMu3bAI/N4dBGdPwtHP4ClJdGvzRhStgkxElyYHDlG8/pBDPixp9Hdd+LrQ/TPNXAPb9qCYjJLiyJV4uLYwQRRrNTMuDv+sbwyYXrmC66cPEn31Q+E9evRkcPw5AE49AruV2K4hC9MYDErRIJjTKbtFDdtNP2ayatv0k2m/PvJp1x79HFWpktM99wLH52xTpyyP7+MrmTTC1a3Zm/OsvJwkfqzdymral3f+bC7qqdcJrST/8iMicib022KVd+KQURMKU4KUaGb2rOz6k6cpjt93gpJIUQowW5m5XbZdewrrVpnlynYxsWEgDz70B8mb+ty23WLV1OpknMdafNU2S05T92VqTYMNrkOFTfOOCMSlN8CxQel5BRSimvXFg0GCBEUCARLSeuaW13HBgMQTEgJYqGEg0HXTr1NZl6h/iVmES0HRYIS/diwttngpjcjA1K48YPwMyXP6/rX7/0PF06Fun4dhroAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

常用

发现导航 - 精选实用导航网站

Claude \ Anthropic

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACDUlEQVQ4jZ2ST0sbURRHz31JqDABQ90adyZu6idocCMUotBQcV3FbqSburGfQVuwn8Fu3FlrnGDtkJXdhVjQTApqsnBjiU5qhubPJHldiEOiFml/u3t597z3Lkc8r/FM6+4qyDj/lkOlZFlard/f/2P4JkfSatW7gPR2RQQRQWvt11prv+6JDt437LourusSiURQSuE4DoZhEA6Hb0NE3R5ut9usrr4nlZphff0jlUqFxcXXrKy8o91uI9J3H30ApRSlUhnTzFAul9nc/EQwGGR4eJh0Ok2pVEYp9XcAgGVZuG6NqakkJyen5PMHpFLPubqqYVnWnS36ABHBcaqYZoaxsTGWlt4wNPSYra3PjI8/IR6PY5oZHKfa9w0fEAgEyOVyHB0VGBkZwXVdotEo+/vfuLy8ZHo6SaFgk8vlCAQC/QARwfM8TDNDvd5gd/cLCwuvyOcPuLi4YG/vK5OTkxiGwc6Oied5/iuCN8s7Pj4hm80yMZFgfn4OAM/zWFv7wPZ2mtnZWRKJp2SzWU5PS8Rio3Q6nWsAgG3bRCIR5uZekkxOoXUHEcX5+U82NjY4OztjZuYFxeIPbNsmFhu93l2rVdc38jQaDQYHBwmFQmitERGazSa1Wg3DMAiFQlSrvxgYeORL5avcq2+vbQ9orRVwCKC1ptvt3vG9t3/PmaJSSt4ChTuGPBxbKVn+A+V/CrLvaunfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Mintlify - The modern standard for documentation

发现导航 - 精选实用导航网站

Models - Double, the AI Coding Copilot

发现导航 - 精选实用导航网站

火山写作

发现导航 - 精选实用导航网站

这是我们的故事|字节跳动:激发创造的旅程 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

🌟 Anime Wallpapers 4K - HD Anime Backgrounds for Desktop

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

大线索报道:看完抖音的创业故事,我明白了一个道理 - 知乎

发现导航 - 精选实用导航网站

TikTok内幕:张一鸣的巨浪征途

发现导航 - 精选实用导航网站

AI智谱清言

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jW2TT2icZRjE5/n2T0yKq0aJ0hqs2lTFapWCMZjQUlQiaFFUEFsESeKhiAcV6kFB1IN6ElosshBFPfVgG60o0kK8iM0xRRq0TWNqaRvTxP2S3ezu977Pz8MuasGBB57DwAwzjCQJ2A3MANGdGCPO/8KJkQicBkYlydpPWZLc5UlCIpkWllzHpqJOzUVJUl9vouGBPD3dZpKpjT0C5gEPkQycs+cjo+/VveOhFG2rUBxI6RhI0f2pl7anHPmxCYSWHZiVuxOCO8CxqYybhle8tL3CGwfWOHEyY60egcj0bxkP7616xwMVfp7OADw6WIjuucTs+FTkqdfWtP5G2SvPdapYTPTHJanelK4vSff0mW7f4BoaqTE8mNenb11lDhjgFxbdhsbWWFzGNm3sklkicPX2mJKc6fKy6+KSqfsa0+/na7rjFnH84y4zE3kJO3Ao05n5aFs2d2lgS6Knd7r67zZ1Fk0ylAXTzJz0wxR6t4w6O8wkJMmUrjp3PpNS2lGjPOHtbPyf2lrVRQDmLwYK/RVe/ajO4UnIQiSZu+A6dwnt2JbT6C7JHYUggQSmEJBjktDe9xu6tmTa2lfQ/kNoYUnKF/JSCNJtG1qOsoByiRQdmaR8vtX52580dfT7TOMfdmr9DYn+/MuVVk3KAn7f8ytserLqK9UrrYPzy2zg2X1VtLnCmwfXAOf1/fjgS85qDRfgRyab6N7UB0erXj7cYGKyyfjXDUbeqbFuqEL3zpTPv20AcPArvPcJfPyblpABSOiL74Je/qChdBGKJVl0lM+ZHn2woD2PFVQs5PTZUXHyDDayy7TvBWGSGTCLtNEU7dTZROUJ10/TolqXmSUqrWvlsloztvZhLz5ueqQ/SOSE7JwBuyV92dqGS0p0uSL9Oi8tLEuNJrruaumuW0039/zLaWNM7TmPAadjJMbo/t8QrzxiaM15pi2svwHcLD+MVIJbdgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

寻一款开源在线相册软件 - 问题求助❓ - 小众软件官方论坛

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACJElEQVQ4jV2Tv2tVWRSFv7XvfS/xPpMMDIyoRWIhgzMZjA9MgiAW2ihiaxETsRkG5m+awh/gFFaWFnYDIjLRJiNYWdupL+S9vLuXxbkvhjlwqnP2t/Za+xzxx94q9dxD0CXcmrQQAqgENiSzJSOMKoF3mY7vB1XvMfX8kJwaJIQiBKOWe5cXuDs8CaOWCMApLJFTU88Pqeongao1DvcTKXAKZNuA+P3qEg+uLAJgBApDCilKTX2xxplAAMagQB4nP6/Msb48z6Q1y2fn+PjpEPVDtkzhB84MbBUJgZDCMDHb6wvUlWj6wdblBRgniu6iSgm2AiFsutbIQ2iWarY2FrGNDVsbC/QGVYmJWRYGdcxCNJUMBy23fm1Y+bFHJtjml9N9rl9o4CCJ6EbTdRFdK4BIBBLbm506prWxxc7GIhg8E7SPAQBJeJycO9PnxoWmHAZUIZC5udpw6qcenuSR+jGAiTCMkzu/DWj6QZswe1Ftwg9Nxe3VAYyTKvx/gEgLQgxX5o/any13WQyX54qHMrEOUKaPOofTtiR/rL48ERdQp1f4xoHkWYgQfrG3X5IGpm0BIhEhXvy3D1XYLnJIDhSByMyUGunZ66/++81nenV835X465/PPP93ZJ2QMlNlaBHizw+79Jo1JqMSb1rYbG8ucu38CQy8fL/P01dfoCeQDDb9QXA4eqfynfuPINbItvNiMUqQj0wzqDhyHpUg3zKd7HwD5ZsKj1FuVYsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Shell是什么?1分钟理解Shell的概念!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4jV2TzYtcVRDFf3XvfR89Pd1oZoYkaBKURCcaJaCLQCALEdGF/0EQNAiBQATJQnQliIuAC3HjOpu4NhDE5A8IiCFDskt0jF8ziuPHTE9/vPfuPS5et0xbq3urOFXUOads7fkjT/i8/DTJXjUUmIWZMR9Cmj6scaavYjV+J1hWfr7o3Ss7TUpzQOcgJTRLe9/mJRnyi969vp2Vhd194emEkRAOMHNOSpE42DXXKbGiBAmNRrLgwQdD0gwTwGjBMnNOsarM8oKlN87RP/MS+aHDECPj7+7bxicf02xuyLLMpgMJIDDMMMW6Mt/vc/jyZ/ROnQagGezgfKB88ihbV69Q/fSj+TwXyJAUMDMEyTDVNQcvfUDv1GkmD9f55fJHjNZuY97TeeYE1a8/47IMJJvxZXdfXBVAmowpjq1y7IsvAfjhwjn+uXmd8OgSpESqJri8wEIACaZchxnjaVLROf4sLssYr3/PcO02YWkFm9Z9nreqSHMKu6nooIRf6CKJNBoiCbTXBXs//L+BMO9p/tzCzCgOHSFbXiENB60fANUVirGdvqdZW00JK0uGd76l/vsvfK/HgXffI+xbJg2HpGpCWNmP7/dRjP/tD9AaCcycVzPYtqWzb/H4+x8CUG1uMLx3B9fpsvDcSR5efJvBN7fw3a7QTEYMDEnJQndRW1evWNrdZfnsm5RPrfLIy68BMHpwn/qP33FZmIKnBpqzsrUbxt0B1utbfvAxfHeBZmeH5rdNUdfg/byVBTf6s2OSkJm5Xh/Fhsn6A0gC57AQzLynlQf1vPPbTfraqR6fH8R0TVicXRspyczhihLX6eCKAnNOUzDC4iCma6rH5/8F5tA3xipPqRgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

HyperText Transfer Protocol (HTTP) explained

发现导航 - 精选实用导航网站

Python | Program to implement simple FLAMES game - GeeksforGeeks

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

‌⁣⁢​⁡⁡​​⁢⁢‍‌⁢‍⁣⁣⁢​​⁣‌⁢‍‌⁢⁢‬⁢⁤⁢⁡​⁡⁤⁤⁡⁣⁢⁤⁣‍⁤​⁡‍⁣⁡‍字节范典型案例 - 飞书云文档

发现导航 - 精选实用导航网站

AI Is Turning into Something Totally New | Mustafa Suleyman | TED - YouTube

发现导航 - 精选实用导航网站

Y Combinator

发现导航 - 精选实用导航网站

Perplexity AI becomes a unicorn

发现导航 - 精选实用导航网站

MySQL - LOAD DATA LOCAL INFILE将数据导入表中-CSDN博客

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

墨天轮数据社区 - 乐知乐享,同心共济

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACyklEQVQ4jSXOzW9UZRQH4HPe996Zuf2wHbG09gMw5aOgDrRoCogGFpAIYWl0YwgBlBBilBAgBMIKDCtJgAUhxhA0MbAxgQRTU5AU0czAVKyttp2ZDq0DLZ2WInRg7r3n/Fjw/AUPqyozE5EomMgYvjkYnLhcfhbQznWRj1dHRJWIrDFEBMAwMwBVWEPGUDIbnOryZ0oUhjjf449M+tYYa4xCCcTMrKoAjOHCNL65Wr4+EFrL1TEKVSts5Ucb0xm/+6sVn9d58ZcXo4BhKkzJ3h9K3f3hp2sjO9a5ROSH2NJh47Uz3w1c+fLGsannM8SkAImID3zxoyYO/H/5ThkAoP8Uwt68Lyqiwbm+i83ffnDk1kkAoYQEoJTL/Xrlr66/QwAiGoQCAEAo8jK8r+fE0gubUuN9AOz+Za2lrw/Pu3VxkfeY2lczk7VGFCpwrFEA0N/H7/ZNDd28f8dzPJ7Y0EmBL2BSnXP2QmTpW9ls9t/BISgWLmptW7Kkvzi89ZcDbEyoErURh6MxLT+3jgvXcTxvYvpRT89vCjDz+MOJmsqaWE1MNRRVkHFca6r3HrKvzcXsbOUnW2lB65+plB8E777T/t6aTgIl06n50YZdHbuqKpobqxoOrtzpxNZvJMd5tGebyzxSuD82OtpQX9/2ZsI1lL83OpzJZUbGPovnNy9b4LVsf7WizoFIZNVab9X7T5886esfYOMkEu3ubBIiy1es9Kobm+mSf/tgU9MmqtgvKiwibAxPPkwPDd8eHGp9Y/H6eT9L7jgRTMtuY13NnjTxt7mjS516gjpERMB01Bv8rxCLVCUWejxyGlC2Ec2fESHb+OGD2qNadJsaADIGADPnM5mpYrGtbXHd6/MDqmIi0gDRuNv503TL91dv5O6m/2A2zEQioqqTk8VkMlWafapAWDjvX6v1u18Jx84p4JfLvb3pXC6vUFV9AQr9oMOJNcy4AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

mysqlimport是MySQL数据库中的一个命令行工具,用于将数据从外部文件导入到MySQL数据库中的表中-CSDN博客

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

How I Won Singapore’s GPT-4 Prompt Engineering Competition | by Sheila Teo | Towards Data Science

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAM5JREFUOI3NUaESRVAQ3bvubJMoPsCQFEkUJNVP+DPBqIoiKRRNlCSqsq4XzBjvlee95KSd3T1n9pwFeDCEEGeNiGdHCHEdaR80XdcBgJm/a9u2XZblsizDMKRpCgBRFFVV5TiO67qmab5xiKht2/2COI7rut73PcuyoijCMDykJSIqpYIg8H2fmRGRmaWUSZJYlrVtm+d567oahnF4w1+zQaUUADRN03WdlBIRiQgR8zyfpknTtL7vx3Gc5xkAjuW/TF9jJaJbx9183APxAkMeYSPGQDyBAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

真实案例:程序员技术最大化变现路径 - 知乎

发现导航 - 精选实用导航网站

Jeff Bezos: Amazon and Blue Origin | Lex Fridman Podcast #405 - YouTube

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABx0lEQVQ4jZ2TQWtTQRDHfzO7yUsNKSG0heJJ0YKnCvVSkHrV7+BBeu7Vk9+lH8CLN6EXk4Lo1V48lGClFBELGmmSmr73djy8fS8vll4c+LO7s7OzM///LhQmBmrg+uDtZrgIBQQAKyf/YQbiBexFt9t9niSP7ji3umrW7og0UfWL0ZaOzGYjmBxn2c/BdPpJxuNz+vDwFxxnqmaqZs4V8L5AuS6haqmqXcDpO3jCEN4YmEFmkMcxrSCSGqSh8GcGIY52Am91Ce5HJ5EYBRwbG45222HmUHVS+DX2DhASuKu3oAeolGSqCiDs7gqHh8L2thCCxOQSbxFAO9BToClzNQSJokwmsLUFgwHs78P6eklnlQho6c0axUKbTVhZgUYjHpeqCwE8kMWFxYNF9uVlGA5hbw8ODuqJzajqnPENPtfYDxU2N4OtrRVzkVDfC0V8/h2G/g98AR7ESkJF8tFRcYdzkOf15iRW6y/hlD48voCz+BbmELFrvhrG8OMjPBOAV3D7qXM791R73Var00qSJRoNTyifB5Dn+eVsNv19dTX+mmWj93n+4SWciM1LKkmqy7RoImFBqPqPfH39K7t/4A18f74nAH8Bjm35s3ZkOjEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Wallpaper Pack - Sleek, Simple and Clean HD Phone Wallpaper

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

High-Res Preppy Space Pattern Wallpaper: Zoom and Enjoy

发现导航 - 精选实用导航网站

Classic Nokia Lockscreen Interface Wallpaper for Phone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Classic VHS T-120 Video Cassette iPhone Wallpaper - Retro Tech Chic

发现导航 - 精选实用导航网站

wallpaper

发现导航 - 精选实用导航网站

Todo

发现导航 - 精选实用导航网站

小云搜索 - 阿里云盘夸克网盘搜索神器 蓝奏云搜索| 网盘搜索引擎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABE0lEQVQ4jWNgGM7gPyPD//+MVDILalDDfyZ0KRYUXsN/JoYGxn8MDf+ZNAUfazEw/uX5+I790jNGxm8QecZ/6AZgdaLR5CdObOxMkj/+/Of8+/evHDcH0/Nfv/8J/vzz/9bVPLm1DAyM/zEMkOl7zCnOzezOwvT/6+dfrMevZYt9YWBgYDCc91xUiIFB9DfDv8/vv/93ZvjPyH05R3oqA8N/RiSD/jPqT3mobTP7uYPtvNuiEOc2MGHzs87kJxk6kx65wfQRGcqwQGxklOFLZhdmZ8j/w84w62qK7DvUQPz/n5GBEeE/pKCCiDX8Z3jCwPhdavqTK+z/WfgZGBjQDMCqGdOgbz9/nWZnkn5HnOuHPwAA6T5kFPG+MYgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

喵狸盘搜 - 云盘资源搜索

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACQElEQVQ4jX2TP0xTYRTFf/fx+g9pCQYINSIEkxoT2N1YjCaIOrurY0OMcXRxcjEKLg4yubvAwuSKmyE11BghIv+kUmjfa1/73vddh7aQSPFOX27OObnfPecK55SqSqlEH8DgIJ6IaDec/NvYrug1V3giDjOqZNvtXZRlR3k1lJFv5wr8rmlelZcoyYZRahHEBPriJ7BAlWcjaVk4I7BX1bwIr6uhysqWpXiseDWl7hmu9Av3cj1cvegCqFXy2bS8PRH4VdFczOFLNdTk4rrlOARVOD6MsBbqYUQlaPJ8Os31IReFwHGZGk7Kdwcg1sMckFzZOiV7FYO1renqoSGIlIXPHkYVgaSGzAE4qiqq3GkYpXisRJFSPTKEzdbSjVX8ZgTAj6OQ9VLrjcOMqoqzCykHLvkhHJYtlbIhilpkBf7UGti2gZGFnapp+8wokHCyrYmJO2BC5XJGeDDpYlU58ALqoenkgoa1ZBLS2b5uAg4QIGz1xYWxfmGjHJFJKLcnYDRz6rJnLOm4MDUc7/j3cxwajoiowBLA3ZxDyQ948anKYd0ym0uQcIVaZAiMZXosSW9MOl9YanNhP9AJDGsovV8PQuZXffY9S2QV3xgSLtzPpfhYrPP0RpqbE6kaPUyOpGTjNEi+PhLlHSCRVYqliB3P0J9sjZ1yhdXtBh/Wanb+1sDjkYy8PxPlPV8forwR6O12OAi+QH74gix2vQWAcl3Hm4Y8MAuMtUGb1rKshvnsgGx2Fe9WhYLGCwWN/w/zF2tGKASRR1acAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

我的小站-云盘资源共享站

发现导航 - 精选实用导航网站

地址发布页,收藏我回家不迷路!

发现导航 - 精选实用导航网站

云铺子 - 百度网盘搜索引擎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jYWSQWhbdRzHP7+X9/Ly0vdM0jQ10xJSRQyoE10coxS2oeJF8LJLDx56d7AiOsRLbp7EntxEZRdhB3MZIioIm4oYcWoPYqvrWMY2m7VJ99K+JC/pe/+/B6F0c2Wf2w9+ny98f/yE+zDyD1dlLHVUi1RAh/7IWo3FunDA+bp5767sHfTVx6qxZZzRCaoqmYSUTSg2PfFQGhDqiLkwlf7q5v8Cou+nT5A3zg9FzO1IuBPDhoah45DwPDK2SWhN8pN6ttVRmePvTZxc2Q3Q35QrytS/DLpJ13c0PVtWgiSLYZKf+4XxlErIixrjVKOfm1h3Z8g5btMy1HO13IJvAuhYnyE03FTLIlEa1ZOy8/qh2Wa4p13jy2svfHq9l7n4++bVykzp8XLKzr0LvCW6Xq4oUy9Lx0a2rFWyvWdk/i55l+y5c2Wl4mXLNVJm5Qn/9mZUMJRSr/APyJYFsLifDODPzzclGH2209cIZB8et6qG8aEuG2c1/KGhr3/cT95lEF2WYISOYgSeNOkAWkNbQcd4oI9SEb0RY4EwkS9goOW/5xjEcF0femCAyBFCm5LzKHlj7C8DFX8HMGwGsCOn9LFj5n7ueO3jKR3YJ3KTj2C7TjBwdpYM+fPWUvdGp7H59xrBRvtpNtY/uF+I9+ZHE9FIn0cns8XKNKA/uTQ9HZoAYbe/APwQrG+YVvqhN660X6r+9tRr70vMZb/YvXn8Ui2yverpoZufjZMZbpg27W58AcAAKEJDYC7Qk9HS2kHCKH1EI5+rhFzLtjJTAG2ef8fdTtdTA8Wd7SStoftFoaFnd89+AOorzL28HpZWb1+5xWCrf3eHmkRrUphz+vFisTeklIdimrZwDxepmQH+qxqOjuW9Kc/zTh5uvt3au1M+6592ZjK/Lh+Ub/8Fi4EgXsA+nT0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

百度网盘搜索,阿里云网盘搜索导航,网盘链接提取码或密码查询 - SOSO云盘搜索导航

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACS0lEQVQ4jZ2TTUhUcRTFf/fNvEnUNLXUCkOtNF24EUwhqSioiKBo0aaFrtq0sahWLWoRWBCUi2rTKsK+KINImKAQWqSoJYIbP6IGs4+Z8eM933vjvHdbmMhkRvSHs/hzzj1cOOcSjUbzLcvqdF3X8zxP/wWu63qWZXVGo9F8sSyrMxwOn+A/XjqdfiCO43giEvkfA1VNhUEiqpnEQgAvPxoMxw0iIWje5LOzVP9gIRFxHCeDUYXrfTD4TSjLE+YXIOEqJ2uVAxUrLQzVxaElTCQDukccGjekuNLsc22PTz4ed/tcVJXf9QYoS9BkEvvtO/JGh6lcmwbANKDE9IglUgz9EFL+sh4Use15Bege83n43uHik/Nsno4xvaOO+bMX+K5Z3BwU3MAAoCALzjXA9oLFv9i2reMJn5aueaqLDK6WjLJmoBf7/iPulB2ma3cLhTkhTjdkYRrQ0euRbSqdx3MIGUJYFd6Mu0wmbG4dKmRdSR001DHWM8DryiZsx+XGwQKatoQA+JyE9h6L8UQW24rChFUVQ33isy6fkilqik28dEBbVSuDUsztvTk0lpksRb2v0mRkymRjrqCqyNycpXHbp74jRipQjtbm8OGLx9DUApf2F3CmOT8jtrgDryaUY9VCJCQYqkphtsHz1lJqtuZyL+bz1TRpP7Ketl15K2IbmfK4/GKSuO0vbjAzM5tR5SBQREBE/lZhRARVTRm+n366WBD9RSyLVsMS7/vpZ6H6+vpoeXl5hYhUiUho9dPJ2CAVBP7j/v7+Uz8Bm4xsvDLO8vAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

云盘资源搜索

发现导航 - 精选实用导航网站

《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibili

发现导航 - 精选实用导航网站

Open WebUI

发现导航 - 精选实用导航网站

AI工具集导航 | 500+ AI工具导航大全,国内外AI工具集合网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACPklEQVQ4jbWSO2hTYRTHz/lu7v3uK83LkIIkrTpEVBAXV9tBHMTHEkWhEHDQoYhFobTYekuHDgYLog5SKII4xMVFEBxaEFwURKoBsbUFCZi+Yl73kdx7j4NG+9DNnunAOed3Xn+AnTICQgLCtr9jjbaRCQgRkObvF5NlW7y93lTVNdMZujge+9iObcxn25DGT+iKKd4Sefy8TdqpZVu6Z/RQYKxnVtiaHthUaxBDA30AgLIt+GUCKFoAJYuZE7PobpmcNq3QHi+bXZTTnd1KtFUTWiJOlBwuJyXrcTrGzs5XqfHhU2Vk8mnSAiAEQGK/OwPS8NXaub2x3XMB31lsCMJ0YcEaGJ+U+o4mnEFV1q9E1OD1rj2R53cGSIFft8A26WZ/9ZKmaFMcXRDBhniwA8CrvWcOHj+UsF40SDvy5bttVSmqFmvWDDjKaeMBNBgA0ug180JYU6ZUZrsK2q2gRD56ZSeha4dDevOZ0/JGA+hVdElUvWbF0mWlt4bmXQAkvNH3TdsV15YishgSwKGQLEmy0ALOPAhAq56MxvX1yvKg7VkvIRB/XayjXLI5rJjWZ2nuzQGWCifcGPdXE0EupiIdkozmI47OGc7cUlckrEc4QQdH4dhQ9zvbLp/kgr/EmVsBn0aN2V4XAQCejKwdjOqhfvTqCyeGwzkAgLe51f1Rnfc3m/Wv6c5XubFCgQzD8KezM3JTSvHLD/dV/inPfIa2Cab9rQ2a/aNiAkLDILaxkIgwnyEhn8n/Ffbf7AeJCvhL+7aUVQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

AI科普在飞书:一众知识付费内容的免费源头找到了!-今日头条

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACk0lEQVQ4jYWUzWucVRTGf+d9Z5JJZsYwpE3RpllYxapQMK1IXSpVqCKKiCvpoiBIF/4BhSy6Ef8BF9WuYnHVhf2giIW2SXXZrSmllCkRU43Nx8xk3o97z+PinWC76oHDfS4X7rnn3ud3kdSRtCgplxQlRblLkstdT+lqLco9V4yL6m52UFFckCSVZVAIUSG4YtxNKUZptI2PKgRV0ZNftCAJwIAEEFUYT4QAuXCHLDeK3OkPFLMsNf/5slteoOGO2XAo9Xpm648hBpHlxmAA6+uVHg5FUUBRwPg4uMt06LAjQSiNLBeNcePVQ2L1TyPLYGwcPvkINjbEZNNIa6I5Yfx6XWxtU6MzZTjo69PYzF7TpSvY6a+MhbNw5w58+jEsnIGlZaP7ULx/3EgSce0Xw4wa0YWE/bFibGzKBjtV+0UOk024/Rss34aXDkJRGu22+OZbw10kCQlmRlEYBw7A668Ze/ZAfwDdh7C9BZ9/BmWAG7fgrzX48Sfj3Xfg2FtGf2A1yhL2vwD37sHqKrzyMszNwpen4N/H0GrBo0fVOP9GdaKyhBjBoEaei4MvwpF5o9UUH5wwrl6DuTlYuQv378N7xyHL4O9/oNcTW9vG8u+i1SKh3TZuLhnnfhCzs8Z358SZharnfh/az1X65hIa9OHWsunDE7D/eSNGM735tuMOJ7+onvH780aaiqPzRppCrw+bm7C2JvbtMx48ENPT1SUOdjAdPRap141QgiUwMwONMSN45YlmE1pNMTVlqtex6WlprG7WakkTE1hYuau00Yg0J41GI6FeF0kCaWokyVNu3rW4PzGnJ13UCJA4AsYrVv6HaReuEFwhRJVlxVNRXEDdbkcxLso9l/uzca4yH30Bnf8A/anw+G86KOcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Coze: Next-Gen AI Chatbot Developing Platform

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAptJREFUOI1lk09rnFUUxn/Pve8748xk0mbMFBMXSolFLfgdJKTGNlXSVhR34sKFuFCp0JXtVxDcKMF+C/+AiqAo1YV/aI0uSoQukkXNJE1mksl77+PinQji8sK55zzPOb9HFy5tvhVj44bz0QnbAgArBBHC5GXIGWwMIMkK5U5K4/e1cnlzL6jo5FxliQAmBDEamYODDEDZEJ12wAbbgHIIRciu9gtBJ+fK4ACyLXZ2k545Gzlzpo2Auxtjfv6lotmMDkGAQ86VJTrFRJZqqdZ4nHnzjS6rL3SIceIB89kXQz74cFeWUG1UNj52SYzBe3uZK6strqx2AVFVpqpMSrB8rsPrr02xP8yEEAxGEkGqp6eU1WnD+eUpcjbHu4hRSCZn8/y5NvOPiPE4SQI7K9hGgpRhbi7Qmwn/+VgX1jpbLfH4YwU2BAnb9dYlMRhk9vczMQowR1WenM/EWDcFsbObuf93IntiofaauXj+IV55aZqyFD/+NOT6jS1qFsS33+1z+/YISby40uXVl6coy1pZUSXRO5m5+vZJiiJgm/5sQX+25Pc/DklH5v52YmGhQUpmabHN0mKbjb+2uLOeiU+efff66ADW/zykWYr5+ZKHewWnTzdYu7nDp58/4LmlKZ5YaJIS/PrbIR+vDbizniii0MqlzSxZg4H96HzWJx/N0WgGQk3GhAORDUHwzntbfH8ruT8bZePimPVeL2j3AazdHDAcZZ5+qsGF5WkAfrg15Muvh5zqF9zdMKf6QfWphS5e3rQngEPwaJRIyep2zeKzTTrtyFffHHDvnilL3GpFJAuwJP0vTBJIUFUwHCZyNu12pNnUcSKx+TdMweYaCtuSsHHOOCUIAaanIzMzBWVZY50ztrEkUNi2ufYPQaVaNw1406cAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Cici - 你的 AI 助手

发现导航 - 精选实用导航网站

WayToAGI

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACiklEQVQ4jX2TzWucVRSHn3PvnXnnnZnMhxPT2HYaRTTZWCwIXRRroCi0LmyRgLgRQeyiCu7cidBlQcRm50balSv9E7JVC1JCIYik1abBmDQwaSYz896P4yI4aSHk7s6B53d+5+PCEU9BFOwzua8xukD5/1iOgI1AAtAr9Sk0v0S0bwFzqBo2N96WX9hxR8F6hSn0+S8I5mNynabmIS9Q66PM0OYwgTF8uX2RWL5JPb3M5BNoD0Kqq0pDjFbs7iDgAdyh8Huda6j7jheGhlM9nyaweiy3ZjpHOhVJpZJo2EuweSBwAD/3CcYtcmo30u0HP505N9fCtyq6FjK2vEp/kPBBZexgDL/ffIOifJPubmSmjz9Zt/ZMi/uhyt2eZSs4eWBe0UfalVERBRbHDlTncRTZt3SKinZ3Q5ysWHumJcuDCb0zNKymWflJP9IVfzbVnkykLAz2BcbV2513Qc5xYiekuljzWou/Q55+HRr5LV7gh/Clnlib1M/Wy66z7WtbvqqLgNnvAIjuQ5peaQbVbp2ikevvfSPL8Szfh6/03EpLPr9j7Mx6uu0K88H5+2wAOAHVizSIvElzSMqw9niV1ZGTh6EpP+qn6dVHdb38R6l4bOLV6zfsrac3ZwDIG7NYjlEtoGZJ1TIbPumKvq7/+rl46WHZ+pgWr98o35qfV7ewoOPz3h+ilo6TKdgYyMtm5Kz29gx/6qw2djLTflwU/Si3FRVZIoGkZx1EyXEYnJZMzViTWeudtdvlKTsVKjYvZO9epf+XIPo0fODA8A+eVZQRICGqxAiiUUqjZC2yvpm3R4f9GwcgP28t6WlOUyeuNQdysrmqk7xIKbsrvd47srw9SkvfvDQ8TOA/VtwsjpTB5CEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

The Top 100 Gen AI Consumer Apps | Andreessen Horowitz

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbElEQVQ4jXWTP4hcZRTFf+e+NzNvN5kkaJMVo0QDoiwbMEkRsVAIiAHFSixWSCeCfxIJptMYBAujAQsbsdVG6wUtsqCVkIDYKAspDEiMMZkk7u5k5n33WMyss40Xvu8299xzL/ccnYU49QlnI3hjPGa3BcDkn+X/Dd09z3tNjw/uDrGN0QxkM2vnKUBgTzJAPTanxkNyCq5mpWirCM9m2Q4GiDR7PCkIacajCNvTbhF4G9ievQiRCBnJqrAqudhlPSc8CbmZkJNdrAAF0mSoSBNGotj5T5HvFFcLxzT//BdYFXZNc/Qc2rEf3zPeSDxMXMCCUGBaW/0Dmjv6tjtPvCz199F97AVwMPfMZ3QXX6Xcukr1wCG6SyfoHHgR7XgQCujGR1g7H2HnS99S/vqZzsNP017/BdoR46s/0jz5Ju2fl4GK0ZUVuvufpXdwmTtfHae9skLkEDqPHidv/8bg8xOsf/8uqIJMmoPLrK+eYfDlK1S791JurNH+cZmNix8yXlsh5kR15jnedxZ6S6+r3tO4OfKWoEB0yZtr1AtHqO9foLrvcWJ+L/NPnfa9X7+R2ptmeIuaDirXLrF58aS7i8tqf191e+2S1O0zWvua7uJr1A8dZmP1HWLXPm9Gql445HL9J+UA9PfHFIRyiFRwgqLGNqIGjyanjB52IsokR4OjwrVNyGQ0W7eVsRXCmamYr5BsJ5JsKTA2mU4TdYgBsMuZ6ZmUbU8V67LlCWOwizBFQhKD6IgL/YZABJ7o7T8vTeW6zR9gUiL6DdERF6red/xw+BhRVyxl0mzzH1OW7WEBnQ63Ry3nPz3NuX8BMjctuhbqzw4AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Kimi.ai - 帮你看更大的世界

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACCElEQVQ4jYWTMU8bQRCFv9lbG2NkkFzEEpIjpUv4J5ShoKCAdGkoIgHyj0AKRRo6SiLxAyJRpqV2ESIr4uKYAjchyDmdvPtS3B1cSJS8Zme1b2dm3+yDAtvAEPgJBCACKtd6HLBkBjYEdsq77NRI4S+XHsf1/TbAZ0Bmlrdareicq5MEqLW4qNZCM9JoR15sRDpP8+LMLnHOzYC4vr4e0zSNg8EgAvLeC4h7e3tx/G2iN69fiWcb0b2TePm+LOJmzswWAFZWVuj3+7a6umpmphgj3W7XDg4OrNd7wofzc5F/N32diPRj+XoteEkGEEJAkrIsQ5JJYnNzk16vx9HREZ++TMySqfT2Ocx/VAnMm5kBmBlmRrfbpd/v02632d3dJU1TTk9PC3rIDXLASnmAJEkiELe2tqIkhRBUx3w+1+3trQ4PDwtRzerTiL6aZYwRgKurK0ajEUmS4Jzj4uKCtbU19vf3OT4+ZjQaYWZIRQe+7IcQAgBnZ2cMBgOcc/eJT05OiDGyvLxMxa/gVaUCJOG9LyUpqjjnaDabVTJVvArOzFRqgZlZkiQ1hYoOvPc453DO3Qte1XSScoC7uztubm40nU4FmCTK7nR9fc14PCbLsofSBTKAS0BJkuSdTid67//4yo1GQ0tLS9EeJlB+ZS4rJ/7LMI/jUNv/5sghMPuvnQvLDysn/gK2LDHPFYe+SAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

万知: 你的个人AI工作站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC7UlEQVQ4jV2TS2jcZRTFf+f7/o95Z4bEhCQtilBqhVKoWFEIaOnGRXEjFJGuFJUiWdiFSN2rIG4E3RYLEh91IQoqPlaKRQUVfFWUgiY1EweTTGam/9d3XSRK9a7u4nDu5TzE/2Z6ev6Q9+5+iduBGTBAfwKXyjK8NRhc/eF6vK7b3czM/LL3ehDURcrAqj2IN7NU2CZwYX197UV2mfF7JPHc3MILkntI3lU45VQmQhBmAqFIOXKpBY63Wu0bR6PhR4B5gNnZhSckHpH3g2onl2WF9/XUK/ZOkXeSc9XWWCqCqRZNMO5oNtthNBp+pl5v7nCS+NfwPq62JmX77gONGx69p5semk2UeAdgeRWy7/v5xksfbw4//XnsO/WIKhR5Xp3ync7UWXl3Vxjl4/qRfY2b3zyz2Dpya10971yj5l2r7qPplm/ecrDWuvdAc/u97yZVf7tQHPecsEjSMZwKsiKeeuxEN3Rv8qvn394ePPPO1q5MuypNP33f1PTpk53Ow8e7/eVXBr6RVs50zIH2W2nQSOIwOxvtWGpbK19N8stXQtnfpOxvkl/+NWytfDHZCbHZvoVYtSi2gJmxPwLzkjyYsiKWqUVy7nS38n5ow5EBuM5hJU+eao9dT5NvV0tlhVOr4QEfAX9IHETkOTWVwcHSnWm8tJRayHbd9iklTYpvLhX5+Q8yteqRQkgMrkRgX5q5owQrJknbmVuUfv+p0o+/BJyQBNcK0+dfF7z6bsZg01GLzYI1gUuamZk/6iP/IVnminPLidXrLn75Qsbq1YD3CBNVMMbXoN0QcWyEIESoyuyE9oL0vHPurJXhL8YjT5o60mQ3rQZI4JwIVcAoJfXMwrPr62tPCXBAMje3+Lqkk+aUYVZguP90xawCIkm1EOxiv7/6AFD5vVKUo9HwYrPZFsZtgg5mkRnC8IJEUgoam4Xn+v21ZaD8twt7l6rRaPhJo9F6X0JmdCUaEhXwmxlvmPH4xsbaChD+eexvvWFS9eInlokAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

AI

发现导航 - 精选实用导航网站

吾爱破解 - LCG - LSG|安卓破解|病毒分析|www.52pojie.cn

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC1klEQVQ4jQXBy0tUURwA4HN+59yH470zcxkFx8eoJCPooKLLwhqqRbUIJAgiV4HQwm3QTvoXahGuRHGnOC5cyFj0AKUgMgysyMcMMzh10e6VuXNf59H34cuVldbqKsnlhG1LzsE02ekp6Drp6eHn57xeJ4ODGAAsi9dqxtwcma/Xo709GUUoiqL9fePxY0xpsL0dffqk377dduMGGAYiBEzTW16GdJo8v3eP12rWq1ciiqwXL6QQpKtLeh47ORGO0z4zQ4eGhJTB2hr/+1fJ5yE+PVXGxmQUxd++hXt70nHYr1/B27dgGCSfh2zWf/eOWlbb3bs4mRS2TZ5NTupXrwrP08bH6ciIt76uTkwI28aU6rduyYsLms2CacowlK6LNQ2wEM3FRazrSFXDclkdHaX9/fHv3+H377xaRQDBzk5QLmNF8T9+pAMDAP398dFRUCr5pRLJ5TBA9PmzOjwMigKWJVstVq/jTAYyGQAQ5+e4cf9+sL0tgoCYJh0YCA8OEEK0owMxJnxfLxZJV5e4uAjev5eel3jwACCVEkFgPnmiTk2xajX59Knx6JH0fSQlzeV4rcaOjyGd1qanBWM4nabxwYF+/Xr77KxoNKKTE21ykh0fY1VtLi21zcwkHj7kjQZJpaL9fX9rS3oekN5e2t0dfPiALQu5bvP1a27bvFIBw6BXrmBKsao2NzeVqanEnTvx169Au7ul57UVi/zsTJ2Y0ItF6Tjh7i7WNDI4yP79E64LmobiOD48VEZHQbguVlWSzUrXlYxBJqPfvEnyedFs+hsbeqEAiYR+7Ro7OoorFYQxxD9/Qk+P8H3a1yfDUDgOAkCMIQBlePjy5UucTCKEkK4jjIXjUCRlUC5HX75gIUSzKTlHnMc/fkAqxet1Vq0ihITjIIwlY9DZiVtv3jgLC0o+L2xbtlrQ2yuDQPz5Q/v6WKWCLUucneFkUikUUBwn5+f/A3gvfAEHLK4lAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小众软件 - 分享免费、小巧、实用、有趣、绿色的软件

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACHElEQVQ4jS3OTWtcdRiG8et+zn/OnJkkpNGQ1Jiiu/iWoPhS6kIHwYIFXbhx5wco+KXcuBfBvYgIinRn1Q/QhYWkEyYzc875P7cLu7w2Py7x8B80EBMUzXgTMRurd7WJiOXYNoXMTZYZNjngNhAgSJzJZKz45vr+eweLiz1vVo5W0ZEJBqEMqAA2tdpTl9m0bL9e3Prqw3mrVWpSs6FWnCCoBSWEMsONo82+f/NO3HtlZxjmb9wpj56so5tpHDLTIXBgsML6v+gvP3v36DB8MtWnFy9Qr8AyYbCwAgKaJJLwuH5p7+bz90/wYA9f3D09nC4z+4xIBA0QuEA4moyGzfKTt148P25twO+cdh+d7bO5yiiO53Q8vyJQlGZ48MHx3K7WaO3YD+6+HGxRQIMhS4iUK2rp+9dv5+Js3x4a0WAz3H/78Oyo0q8VLU4g3GClGBieLc6PbndBMlJ6Tag66WJxcUy/RFsiaRRIiPCm9er8dCI7HWOoQjrCvjhti1fyFhlRyBFkJolqBcDbqWUMA3TVGNkNiKwxqVUZqdnIzk+Pr9eSIqjbyA2hlfTz36uqXWuuVKlDhDNsgO7Wj388/e7RclNmUeZudjdN9+3vVz/89i+zfQhSYUsP/5SVFMqE9eW+Lr/8+NV7rx0Mmb8+vvz+lyfPvM90j3GAlCy++Ytaiz26aDrzsOX6aVcylX22dAdM5wyrYJsqNJP/AJrRJwwuJvJRAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

阿酷杂货铺 - 优质互联网资源分享

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACUklEQVQ4jX1Tz0tUYRQ9537fG5UakfLHRgKniNKZeW/a6SKQIGgR4sZF7dq7cRG4LYqgPyCoTUhLiSLQRVBQuQiCfI0TjghuKhSXZerMe/e28I1OUZ3NB9+953LuOd9HHEEAKAYHu8q9vVM0TJAogmw0Gzpdq8WvARCA4Q/SIXkkDMej/v4lAR+TmDSzgiNHgpzMZn0WhuFZAEH7AALQUql0PRB5CdWKmoIkSJqa7anZAgBEUXTfeR+Xo/LzgYGBYwDgAdhwGFa8yCNThQGgYDNRfaBm71Lyy2ocrx30cpJAp0Cu9PT09G9tbW14APCUOwC6DFCSn5uN5kStVltvW5UAkqamM967GTO+qNfrGwDA8+XyhRzdklnaISI/d3eTsXp95VOmTjPTfjOuHV4gF4XWYRQqsJiRHYDkL/2SDW2dEAcdMgAkkabph0zuv6BZXVoJejOmdnT7P3IL1q7Ok7ZOEmYGOj/6n30JAIVCoTufz0+rcqVaXX4me2avTG1HVZXE5XOl0iiANDPRZVJ9y8x8vvthEAS3ncd8MSqOyVq1ugpgwTknUPUdzj0ZDsNKJjPN9k4ASBRFd0lO7Tca+1BLRTUlAJwpFk8fD4L3pnrywFD8MOUcaW9U+R3AkDhcE2AsUd3LBUFnkiT34jieZeuDjIyE47mczAN2QtUgIkduEDBTmAHeOaSmc8sfl28AUNfKd3t7a6Ovr29RxBUAnCLg1AzWyoUCkl9V9Va8HN9smd0e2+HjKFcqlzRNr3qRYQAdZthUyNvG3s7Ter3+rT2aX95EAq8MhX9UAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

mefcl'blog - 分享纯净好资源

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACzElEQVQ4jY2SaUhUURzFz//Oe7ORW0UFtkALVgYRk/UhghbaXBJKW4fKEiWooChsxTtBDQUtYgUtFpFYahZUZmUogrQxlBQUfciJJNfR3Gaezmvevw+jYCXU+fi/99z7O+deAgBmEBEY/6GNecdOWcdGQ7dZaHLshBoFCJvfVBQm+DV/Kvf7A342V6ds2vUSALKyHGpMzOLErq7OOX6/PxAXO9HaIALzOjp8k8X4iU8IAD5U31oU0Pr26IZyTg3qLS2asVDr485PDS3ldrt9R6+mNbY2Nb3TdT1Ba/2xfkXyin3xDjTNnZutg5lFXU1xwcdXd6cNRS26fnXJg/ulu4uKiqYPnWet3bw1LSU1BwAcDoeqvH92f7RthM24/eTtF2YmuFyE3Fz2eDxf29vb0mZNiSiUUoqwXcLrVWqtoYgDzKwQkS7sUYE+DvVbc9NnKi6Xi0hKg4hYVVVFCOWKYUTYpZQGAEgJFkJEdXd3/wRgACAAQN3Tq+66Z9ezAaCkJN00TPkEQABAcnLyJafTuW5gHiZjz8PRtaX596rKzq8Og0IwMzEzDeJLZrF86dKTSUlJBcxsGrydqr7Xx5W9e5wfH2FrmtrckaD19NxKzTzuBgAGiABuaHhh27ll/w02WYxHlVUZRBQMLwPC16l5I6NHXfjW2Gr5abak9OihhIt5OQVSsiAA508cHrs388hz1Wz++qiyyklE/YPm38QYbJrpjDv7qftYZp7Xy9asNSs9GWsSj/6WeYjC+aQUBGmE8xLPmDLfqTKSrp1dXaGYg72rNpS7AZgGmv+nCJLF6YPb7uRsX8A5GcuyAVB6OoZ7nb+RwmnIMDikcYiDJkE6AI6pdwy3d+AjDFFlyeWo1u4fqz6/f32xx9c4MqhbKiPHzd7szs9v+yeBz+eLjZ40PhHUv9xus9XbR0TeJJhUFnzodnHh9ubm5jF/HvALtd856R2nXDcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

即时工具-致力打造即用即走型在线工具箱

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

software

发现导航 - 精选实用导航网站

阿里云盘 - 公测预约中·阿里巴巴集团出品

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jT2SzYuWZRyFr/O77+d933nf+TBIDHNCCLVIZ9JF6jZaBa2SIFo1YYvoH2jnpn+iQImoTRS0zkVgLcJh/AIVMTSHFMPMkvl4n+e579NiqD/gcLjOdXT6zPYbOfLnrvUFu4BQTjI4JEiCFJCkmoQG2MOcmG3SvYZ6OmfFWaRF11KAENbGprFNDgAYZJibCckWCLpSHWk/+GyurovuSolE9J0pBR85GCwdFHMTsbFpbt6u3Lpthhk3CWyi7dsSSYuZ6qrYCTcZPjjVcGI5dpoQYF4/CWvXen3zfe92y4REiGhVa8YOCvRdZeXtASeWE7XiX670Wn9g9jwrji8ljh3JyOiLLzsim2qwpSzkrW1z+GDixKtJbYfPfdvqwmqhaaB0ZvVq4sN3BxxdSvz8YvH1a4X5oajVBLb6znrlQAiLy9d7XVjt2bUgJhNY2CXWrvf8dLGjFHHokLQ5rdrurK2uKlNM2CzMCoB7901KYJlqEzvuePjYpCRGo2C7iu0CqYrs3tTetFMAMZnZ2e4/ziozmIib65ULax1KJs2Y1tAAoT5QL+7+VpDM8suJuVloKzQjESMYz5tbDws/rHYcP5b59JMZ8th0YaL0eJjDa5erH/9l790TvPfWgGYIG9VsB/xT4PBLiY/fGbnJ4vdH9t+dnEfhTGflDE+eVL7+ruWj9wecXE4s7h1x5U7P0xaeeyZ47UDyeCA9+LPw1fmpRhNImOyiWiqaDIPVS4XPRh2n3szatzvYt3vw/5nAunG/+tz5lk1gvCDy1M5RFVUutRDjkbh4uXDnUfHRpaT9zwfDoXg6rdz4w756r6d0MD8vvEUdpEiZGus5p8VSpqX2xMyctbEh/3ipJ/8KaQw1gQJGA8uSveU6nB2laMt6eOoVF+7KWVRcWjnV8CSLcYiZELONmDTJQTiMc0qKpLsps/Iv6sh0VzXh/zcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

蓝奏·云存储

发现导航 - 精选实用导航网站

123云盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACx0lEQVQ4jXWST2hdZRTEZ8733Zv38lSKTeMf0Lpx70IogmsXbuymSVqsiiC4U8GFWJMUNXWhSFEJFBWXEkNX1j8VF1JrrSAabF2IIojQlqRQTdO8d+/9zhkXr9aVsxo4DPyYM8R1zR4qj8DsoAHTZnQRRFw/UpQgABRwDdLnf//1+7HP3r63IQDsn+9es5RfEAAI/y8BIJASUDo/WbbSAc68WGaqXloprbckoBAEgeA4QRoFCnDcgJDqftXrRvFuZsITJJCrVHsR6h4B+4+ktEB4Qd3P6V+QCKAdhsM4k824uzR+VuIKiWebRh8QWAeRELGLKR8EOdWNYlG0Bh7JEu4n8ajkA5PQD+jblaV0FOAFmX1faKfa1r9eWaoWu9LupfGi0862Lb5pwj7+8JX0eDDeSVVOZoSM7O/bp0TDoD+BE5M9nJ+6o1qbm/el40cmfiK5OTmJMzt2Yq1Xx68PPa8BHJ+SYBYAkFpdpc8teNU1uOCh97shrnhnxx94Tn3I72m27bvisczQOrCBlKaflqBxwzFujIR3xR/76NW04F5O0nDX3YN4r6rTlISLOaVz8LwG3AYRt8ODJkAIAIdlXmJ97cd8evZQt7BjV/1z/2ac7t9kB9qhY6LHvYNb8EPq6c92e4PhcYTJkAkQVIPDDL7Ubf+2B37fMH959XKRuzYtp1tFPDm6Vo6NrqJlype+Wp7emp1vd0MJ3L/ov0TonIfeTMDrCi6RcQkOL3VVai93Ou1owJ5Kwmagy2bVHjJehrCTc/PllCV70D2cogniWHZjvxEOswSI4ylnoLSCECOL4ImUSLgESJSkCIUXRSkKd0FQFFdEkaJEOyrDlAmjnTFdseWu1Rf1IFeCDARoHH/XKJICOPY29nUv9wX9EcPuGVtd5tblljPdKN4ysw0BQEAkAxAggYQACBIADL3gk67hwytvTJz/Bx/omhF6i7KiAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

字节网盘·云存储

发现导航 - 精选实用导航网站

迅雷云盘

发现导航 - 精选实用导航网站

TeraCLOUD

发现导航 - 精选实用导航网站

我的坚果云 - 坚果云 - 云盘|网盘|企业网盘|同步|备份|无限空间|免费网络硬盘|企业云盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADNElEQVQ4jV2TS2hcZRiG3+8/Z2YymSQzJk0yqEljZMQozaJQazGKSGvNoo0XQtGFqJsuFHQvyGykaxcuRHBhQZFgdVGFilKQQdzUggnGaG2bxEliJpnOmTmX//65kELwWb2bl2f1EA7A9bqget2/cup4rVDse91oO9mN0+s/3tj+srOzcxsAGCAC+O6H7o7FxcVgaWnJnZ478dzJI9XP7+0PK5ViiF4q0UnS/dVm+9IHl5ffB+TWOydn3hwrhU98s/L3JwQA9TpEvQ5/4e0Xzy08Of1heTA/cvnqTSeilKpDAWmlqRgwGn9s3YwT2Zqo5I/fanVxbTNaJ2YQEfi982cW3jjzyFdj9xRJSu0gWHzx7e9wuxHGBwSSTNrBkHPLzTu4cGX1irL8GQAWIODpY8eqZ5+a+rg6XEAUZ1YZGzijce70FOICsLPfQ45cGCWZLefZ1cYGSqPAJQAXBQH82tmH3pqdHh6NYmkF+YDYwhgDqzS9PP8AbUhJ3SgmdiYwztPD4wNzHeAFABBTlanKzP0Dr1qj2TsbsDXE3jC8IaUyDOUcnj81ievbEROYW4n1g4WQq+W+eQA58dLC4fn7DvVNxEnG8JrYK/ZWElsJ4RXanRjT1RJmZsfp51sRdZUlImComHsQwKh4rDb8TLkf7Iz0bCWczohNBq8zZFIiURZbeylOPDqGzVShHWswCEycB1ASYHeUvIY1mWDzn9kahVRq9DKLJDVIjeP4TsZHD5e5FWuwZ0SZTQBIEbAdd0aBnSLvFSttkEiLVFmk0sKw57iraH29Q5OH+lHsE9xONO0n+i8AndBoKckbVsrCey+0dayth7Yelhm9SNE/6x1OM4NyKc+lQhgub3StNL4BoCd+vdFqGOdEIR845dgpy5xpj16ssb3Rwcafe15K68ulHP3W7AZX1/ZX1lrJRwB+AICgsbL7i9VubrgYTJB2Iusp6u0lFO3GJHuagkCQtF401trm4k+b33VS8y6ATwHsHoxprJIX5x+vjTxb7g9rA4WwQiRykbS2nejWarO7uhWp7wF8DWDtYMEEgLgOojo8gBEARwDMAhgHIAGsALi2CDSXAIf/8S/HtuzGYHC3cgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Apps|InfiniCLOUD

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACKUlEQVQ4jW2STUhUcRTFz7n/9zE+R5RGDUIiiYIQDal01SYItGhTmyIKDCKM2lu4UWohtUkqoVUULWoVRB+EFAQWBQaWGFlBUQlWjpjz9ea9978tJtKsszv3nstZ3B/nB/GvVEH+38rKaGUtAooqVAGQIpU5AGdFmgoINbQA6BtQNIxglSkCqgpneSMBJbWgTvNWf1uvaWyFOPb7VDhxLX77kC5JZXYAJEBRa6FAAq/zWNA1TOMtLy886i89PiseHBIKoGRZ5cINtPCTfi3ESRY+R6+uA3BbD5i65mDHGTv7sjx5n/MDsAlSncf9jhMMGmz2Q+Fur4ZFOjb+NA3ArFmXPvhAMhvid/dyN/aIDeFv6Ql2XTL1mySod5o60z1PgDD+Oi21ntT68czHcPwyQFndxqpAmDJ+x0nVJMm+L472Jfkf4qWrui9CoFYBgoCNAUAcQIR+tdQ0AVKeuJq7OVR+cQGAu77L27zXLkR2sWRWZbz2o4Dab5NayjtazCXZaTeod1v2B91fSk+HvLZDJrMx2H3FZFo0yvvtR0xDC4BwfETLirnTWLy1z+pv5W4fXhhps+W8/q3i2PlsP7KDNKd2Mp6ZsnOvWd1It8ZZuz0cOxe9ucOgTq21+dl45nlxtC98NozK4+YHoARCwAO9NI2jcaiFIgT0XAAaRYiwhIYCBJAStVbDnCogoC9Q1SQCQAM4BppUCHJIqIKwZOUUANRacglptckf+wtMOxhagzwf3QAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

MUSE|文件传输 不限速 高品质

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACa0lEQVQ4jVVRO0szURQ89+4KMbJJFInVgkYRDNqIjVpIhAQfIFhYxMpWIYX/wH9go0XwJ6wICVrYiYqFpvIRO1FEWXyxcTEa9t4zX3Et/KYaDpw5Z2aE1hqAZVlEpLUmIsMBCCH+EmYWQkghhNa6Uqn4vi+EsCyrVqudnZ0ppTzP832fiDzPOz09/VUE8PX15TjO6uoqgJ+fn97e3mKxGASBbduHh4cAhoaGSqUSgFarJQEASKfT5XLZ933P8+7v77u7uwEkEgkpJTMnk8mOjg4ARGSbQ8lkMpfLra2tKaUmJye/v7+llFrr9vZ2KaWUUilFREQkhRBSytfX11KpVK/XR0ZGJiYmXl5eHMeJxWLVavXm5ub29jabzRrrEoCUMpPJJBKJvb299fX1WCzmui4RbW1tHRwczMzMzM3NLS4uaq0tyyJmVkrhf7RaLWYGoJQKgsAMlVJaa4qiCMDJyUmhUMhms7lc7vLyEsDn5+fKysr09HQ+nx8fH9/f3wcQRZFtWVYYhktLS7OzsxsbG8fHx0YbwO7ubrFYXFhYCMNwcHDQFGebmlOp1NXV1fX19fLysuu6AGzbTqVSURQ9PT21tbW5rvtrmpnj8fjR0dHU1FS5XB4eHt7Z2TFZCyHu7u5qtdrFxUWz2TQLBKDZbFYqlefn54+Pj4GBgfn5eQCNRqOrq2tzc7PRaDw+Pr69vTGz1pqYOQzDfD6fTqf7+vrGxsbOz8+ZOQiC0dHRnp6e/v7+zs7O7e1tk57QWkspiejh4SEMw0wmE4/HmZmZ39/fTQDM7DiO4zgAhBkJIX5fJDISplD6A2Ymon9KZZgFuJtEJgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

网盘

发现导航 - 精选实用导航网站

(300) Pinterest

发现导航 - 精选实用导航网站

iPhone 壁紙:iPhone 14、iPhone 15 とも使えるおすすめ iPhone をゲームボーイ風に変身させる壁紙 13 種類をダウンロード - アップルジン - iPhoneの使い方と便利な機能紹介

发现导航 - 精选实用导航网站

GAMEBOY WALLPAPER IPHONE 14 PRO

发现导航 - 精选实用导航网站

Bodega Supply – A design store of hand-picked digital goods for you.

发现导航 - 精选实用导航网站

13 Gameboy Advance SP Wallpaper for iPhone / Android Colorfull Retro Phone Screen for Gamers Wallpaper Variety Pack Digital Download - Etsy China

发现导航 - 精选实用导航网站

iOS 17 - Concept Wallpaper - Wallpapers Central

发现导航 - 精选实用导航网站

iPod Wallpapers Collection for iPhone - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

个性化电脑桌面必备:Wallpaper Engine下载、注册、使用教程 - 哔哩哔哩

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACaElEQVQ4jY2SP2gUQRSHvzcze5c977jDiBhQTGEngqIBAyIkRYKNIJggYiOCImprJXiWNnYiEaJoIXIKgiBIIImFqGCMQv7YiWIjGjS62c1lb2fGYs0ZG8kPBh7vzbz38XsDqxqZCrg7f47R6V4Ahhq6XVuNR6d7uTt/jpGpYLUk1L2CK7Dt6C4qlXe00gWa8RFO7X7OWo2+O0DHhkcEhU1E0W4+P5yBy0j7wu23NaR4g7B8jJXkO5kdwuvX+Rjbg9EPKJY2srx0H79ylpN7FnOCay9CNtXqoI7jfQWhig7AWbBZAoA2JZQG2wLPT0QicPdYWKwbOqtXqXReIPoB3iV4iXCpQxDAAODsL6z1gEIwIFupdF7ESyjcmY/RgaLVOoxTrwBoWk+HFirWAxBpaecAlNtPEDzGtaxB6RKt9CfdXyfp68tYjyYnJ/m4eQVjqgbwKBE+dIU0GgnLu8bw3rOSHOL03rzhzTeGQvgUpSCcGeBDV4hxAniD9wIIsU5RPQGFrB/vwTY7crOAxlyRNOhHBOKegDhLqToBUH+gPLXE8Kk7JUsnyLJxPreW28jzX5tk2ThZOsGn7pRakpPnrkpulCpp6uII5wZ4MjtIvS8Dcrp6X0ZpdpBwboC6OFSp/UsNIDjvCXfEAAwP2zV2+Xa0Nl94G5Ps9IAYnE0ICkXi9/005l7ypaDYYH17hauKtBBrYUvqiKWXICjisiWD97coV88T/RgjyRKqrXzXy/LPe4yDqoMEj9ElylVYXLiuOXjiGcpqUNuBAHD/PaIsyDeayQ2+L176O2ZkqoQpa9ajbMlyZl8C8BsqkQfT9fYhAwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

下载复古经典任天堂游戏男孩壁纸 4k - Boring Day Arts

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jX1SQY6CQBDsxsTgfeEtxOMQTFAT+JX6JeEtetDIG4CZqj0MC+iqc+qkqyZV1aUAVFVmj+Q4jyuSqkpSSc4RzjlVXSwWfibp5wGtqgBGNAC/7rpORJbL5fjFpAIAAOectZbk+VwVRRnHcRzHRVGezxVJa61zziMHgkcfDycREQmMSY1JRQIROR5OnjMRuq4DUFe1iCTJ+na7e2O32z1J1iJSVTWAvu8HgrU9wN12H4ar5tFcLtc8z/M8v1yuzaMJw9VutwdobQ9giKJt258oMiYlmWUbby/LNiSNSaMobtuWpHMumCKXp2s8XUam3D9J2npJj/+SBtNE9dl0XdXgzPS7WM23WF8OV5bD4cryzeH+qqFCcGzOSzWCYJaNl+u79aV8Y3nV19tzvtR7XP0CAuh8NWjFB9kAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

Awesome Wallpapers - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Desktop Wallpapers, Full HD/4K Free Backgrounds for Desktop & Mobile

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABbElEQVQ4jZ2Sv0tCURzFP/fqU18RRJSUtgtJ5NIkSFvYH9CSQ0NTS82Ck0NrLrnUlv+Ci4tFEtFShInNZmkGguTP914NpWnPCj3b/d5zvt9zz/eK+aO3oBTGCbDAKDC0l2b+LCxc8VpxZHFfEzm2GEBa5+Rf994piXfqTwrWYUX/rGR31cHi9Ke4UDU4um6SqRhmE8PEkTWVXFkjnKoTTtXJlTUia+pQN8IVr713D7GAA4/TQr6ss3feHCDGAg4AU13+JETTDQ6uWgDsL9vY8SgA3JV0fG4rieAEGy6LOQOP00I03SBTMfDPSuLrKqpNAJB71TnOd7gs6oS8ClsrdpLF+qADVRG9rts+OzOTElURqIpg22cHIFszOM12euEOOLh51NhcssF9m8OvJ/SjG2DIq1Cofm/DFKLPPXSzPRSqBonbFsmibm7QP+k3ZGuDf8E07ifhP0jgaSRFPwytIqWQO8DzGOJS++Ei/AFayn5TS9doTwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Alpha Coders - Your Source For Wallpapers, Art, Photography, Gifs and More!

发现导航 - 精选实用导航网站

世界著名的壁纸网站 电脑桌面壁纸 - WallHere 壁纸库

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABs0lEQVQ4jZ2SQU8UQRCF61X37M4s7DgYlmWJYjxI0LD4Czx71Ss3fxr/w4t48uZZI3oxxCDBsMDOTHfX89BI9Ih1+urVq6S6unB4dCB3Cb2T+7YBJEn+y8ipiPyteNKSBe+GImIWKeZ0ICIxtYBS6FAAyIrTQgtXzZo5yWRhtZyuj3eShZj6rbX9ZvRwWj916kkz2qyZF65S76rNZk7SLK6W0/Xxk2QxWT9r5s3owUb9zOkAohDdbPa9qzxpMbUAAJjFZB0AEcTUJot9vGrDIqQlyS4sROhFBND8MgB57iwaU11Nn2+/jqkXYG3l0dfT9x4AadlBmlmCKMVIqvo2LE7OPwZrRWTgxwrnSStcFVPfxYtxOR2Xkz4sAAVcSl1M3a/r7yEtKdKHK0D9VXem6na3Xp4uPk/u7RRaPt544XQwGt4/uzye1LvOFZREkbx69+rN3tnl8drKdl3Nvvx49+3nh61mryzqTydvu3gRrV325xRCENL1Mpzj8OiAtD5dC8W7ocJlLlyp6pP1+ufjMnuSgJa+FhGKicgtk3Q6zJchIpl97s7WHLcMQG5WjJvKf1zrb+JE/PdkwomPAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

DeviantArt - The Largest Online Art Gallery and Community

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Wallpapers Clan - Cool Wallpapers - Free App Icons - Cool PFPs

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

4K Wallpapers for PC, Desktop & Mobile Phones

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACW0lEQVQ4jUWRy29NYRTF1/oe5z76un1oq1qtElHPxsAIEyREYmAkjDqQYCJGzBASMxOviVcYmBMxYOAPMCGmbVJSVG9b7e2555x7vu/bBqdi7cGe/Nba2VncNL6duTPGQCkAreBV7q01uWbabLbRsFJGEMfQaiZVY/XWvuFoYEOSZcp7L7LBttmBvjhLuzPu3T35u7tNFureqF5nd0zu/2Whbg8dufjmbX14KHL5WpbdGT8+9fbd3EBtsq6fXL1nL0zJn0ZTy4Gs++7tR/mJY8pSmUoFJIWAWKVNuQKqwJC6lgrBWKuNyRmyJKFzJkDEeaVIrRSUkCEEEBCI1otJki3ONyTpkFqpt9ORxlA5reK1OFmL4+B92iIIQdC63GzePHTYPXxAE50a2/e8spq9/2g+zU2fjdXrS+fzxy/7Fdq3DgUGECCV9xO1vrBnt6buHR2bz5exsoItg+Ovzlxf+L48G8czq6txM70VJzh08Fx11/cP3wZfPO1mNeofvDF28vNc2nPtqsk77OWPz0aOvqls7F2OG492nq7evwIIAIp0RlGr1qX6atMLdfWtXiqXjfW0He0/s1U1s7LUaCRddQWCEJHicxGB9yVtYI2IGCHoQ8kYrU3FOV2KAIGQpAAiEBGAAlAEpCIJMkD+CQCA9U0AJCiCwiemQCgUKeKCSACKdBSQCCEAIIBi0TFBUkRKNDaKiuI1WEAQIbE+W7ZNrB8hc+cm2vvjidGZr1964nxg89iMj/FjPhjV6U3P6MhsY+m/oVDic93MSm1Vp9lKszIVowgCR3FpWtb2L+29QKybJsLyAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

57 Best Gradient Wallpapers for iPhone and Android

发现导航 - 精选实用导航网站

macOS Big Sur Stock Wallpaper - Official Wallpaper Abstract Dark (Full Quality 5K) - Wallpapers Central

发现导航 - 精选实用导航网站

Wallpapers Central Collections - Browse Wallpapers by Smart Groups

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

壁纸网站

发现导航 - 精选实用导航网站

壁纸样机生成器 - iPhone锁屏模板、手机锁屏壁纸模板

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC80lEQVQ4jV2Ty2udVRTF1zqP77v3JrnJ1TZKW6XSx6DSQqtmoLYYjODAkZKWgkqs4kQU8X8QHDjsQMSqAymV4EBLBR05ECRKaSNUB9KiqFET87jhPr7HOWc5iNGSNdnswYL9g/0jAEggCQGAfnjpCeSYqwfpcQNMxoRgaVatMd9F1hfc/R98enuH+De6NjdRZ/YdCz4Tfo99tmE4ZsasDNbrfm+oEPY022Mhat5vbr7Ch+fXAIASiKuz7dq3L/td+cnh5/2/4kIYSR3Uo6cb+YYvqk/WFtFT4U6NHKwe2Hvojqrb/zZLxZM4dnHDkFBhR9/2nebJulsOUi+BNZvqI1MtVQr1MFWuUmwMUnBYr+qs3ZiqlJ8nIFbX5h6yDfuNCRFwgPosBt+nYCcZ7X7TMZHpZvn3RjcV9vjIbu+SaUICmg1TDePTzjq+NpTD+S86y6s9l16dWRvfN53GYyGoAhJhD7fuvhNOuLU50n/zl6mlA62ufePQ9bu8Dc86g/TU1R/tn5cWOruCmB/cXfZenlxXXVg5K0rAMEY1zQAfLx83V7pH9uXrg3Jm/OflqdHfHnVybuLwnlon7h1urPSMf/C+gkqGhgJAkpKRCHg8Mr5Ufra6Mtzf6IYDrY1RWS9Wi+eG3qFRBlQxGbayZOtAQ0oCCQCkJJGeMfWjjx4xZC3brIfxawODW4lG1sDnTr4KNKIgbL+IBDESqMtkU85gstw2Y4SM4VtGwoLJLFNETJJIiVtlSlsYruWda2c+n8ica2U2GayksnrRHb1wxVHp3VDE56wlBUiCASQAIEBACoPqsoBfSXRp8JMtB1/aE5eW/mMsF1+4mHWaZ6v1oiLhSUJJ0Y9ltupV8/mx989gR7ZdMBKYIbxeb5aL2UQjk5CUlEBCIRHCPboxOyrNWukxtzX/l4/bi64/vzdY96H1doaGqIsASPLNjKGM0/7oe19JMCTS7Zdwp87hxrnToDmT6jRtG3YilOlm5spTPPLRHzsxAOAfWWWgmsbtPiAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Shots - Create Amazing Mockups

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3ElEQVQ4jYVTXUsUYRQ+531n13d31mnVplVLy0otTKWiiCSKgiDqIoqCrroIuu4ftAgVXVjQP+iiMu077csPktA+MIRay1i2XDZsZ2tzdx232RnnPV2khmJ0bg6cj+c853AegCWMiHCJGCMivjinLC4Mh8MMEWUsFqvWNG2/lPJjIpEYQcT8UsMWoBERIiLF4/G1Qoje4uLiGtM0iXP+hTH2EhEHhBD9QojYP2lHo1HdMIz32WyWUqmUlU6nXdM0ybZtIiKyLCsyPDzsWbDCXHMikfAJIW6qqrrJsiynqKjIyxgDAHSJyAUAK5lMnu/q6nLn2C5gkclkrjuOQ7lcrmCapszn87JgWXJmxnWIJLW3t19dvD4SEcKHTo9ZfeCi6lfP5PPTtqIoCjKOnDMAQOKcsfu3H7tPnj0qVKzUO3O53Nm2trb4PEr3d6rbq1qRIp/gCMAAAEgSAQAhQ/aqPyKH+sZoeZWXuZ4s/iqYU4aRPNHa2tqthPeA0nC64eSIv9G09x3SQvX1MrR2DQZDOiEC+/B6TI4NfKHG9VtBLQm4UxSXnxJD45OTU7k/R0wB+6Hau01nrGTiTdBKjX70jEhBgVA5ikBQ5g2HNlbWga6vgMlppKf3pr0DPdaNgfTlFwCECACwv7K06miN72GB+5t9q7fatXVbuGt7ARwPVFfVQpm+DiLvJuBW51uY+FFBFaE9BY2VnToXUW7i7B3YttLAhpO1y67RzExz3lth72g5yJuaWgBNDoN3B2n4+Tj5RSNTy3ZwR22B78y17ExmHQIAhAFYGABO1QSrjtTpHU7B3v4p6RbKyzYyJSlRi9nKBqUZLH89fBaV38bFqt6ox3cnEkt3zb/yLIi8srlc37W65F7Ay3YaSRu0bBC0Sd3wflvWE5f6wwduou8C3E0vqYU5kEsNWunhhlVhAK5lDW93NGb1Hf86+vNvHbE/HuV/BTavFQizDjjGF+d/A76eaE3Mucb7AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Free iPhone Mockups — Mr.Mockup | Graphic Design Freebies

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACoElEQVQ4jSXOS2+UVRgH8P9zznkvM9OZ0o5FMoBNW6AErYq3aAwY07hx4QZXulEWYOLKFV+Bb2AMYYMmBl3qwhgjSkyNSKIr7RtKp9KGJsNgp5133su5PI8Lf5/gR4UPAHNtSSsipYW0C4iIiEFMOpLAvqgFCmmDtKJ9VxhmFbcUWIEUCEAACBDvxQUJwkyIDBnFApPAEjv76Rf83W1+PPKzbXVmsfHqy3plhXo9ajQJgMCOJtpomIRKKXiz/++Fy9xpR93ptGJkW+HRkBtJdPaMOn6UpqfDo5G9t92+flWfWqKyyj17Lmsze/j/jELQ6xv4/Y69teb+uu8He/pYL1o9l35yEWlKB+XAiNhrX9kf1/ReHk13aHlBnX/JnHtFHZohpN5ViBJ2jq0DC9X10Gf9ybsfpycXqN0O4m22KVsPuZni6JH4xWfRnXH9hz7bmrp2NVo5TZUNrijhLGZnoBAD5MT/8wC3f7C/3fXrfR6XMnPIvHW+eel902nTxFU+z+sbX+tvfy72H7fmutHJeb36unrhrOkdE4ABBcg4D5pYQBMuzd/39i5c1sePtOZ7oZyMsvVod6CqQi0t6qefCZpkfFBtZM3Pb8ZLi1Qwi60lMJpNBa9hNBg7O27tzuSn7/1GhoOxe3IuffudznsfShpTxT7sjfxnX9a3flG7A99tNVaWsfqaev655KklUsQCxZA8d2mklKYyBHu/X39wheY6yXzPD4Yq27Q721pPuHdYL5/2SVIPd8P2g+7Nb+jEApV5EPZcWTwxZQgCmP193h2Wd3+lP/60GxmPD3SzRW+8GV36CNpQ7lzsmBEUJOIATZ6CShpAHABxTgSilDIaRSHaUBWEQ0DtYqVq9jEJEYnRKijxkNgwg6sycKCpJkf6P0nlc75ue+HdAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Screenzy - Beautify your Pictures and Screenshots Online

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC1ElEQVQ4jV2TbWiWZRTHf+dc133v2bMJipVjbSMVS0Ob+qgjmhl9eBCxPpQiQTRmLyBm9EFEhqFBDEUxLJUipKzAD4KvQSAIww/TBF0vBAWpzFyxpg734p7nvndfxw+3lnQ+HQ6Hczj/3/kLAJiAGMBLi+1FMzpUeR54rFqFtMKAenrqpnLo5AX5gYdCHiQvPGGF+ul8rMLbXnGVCphB80xoaILBG9B/hUoUs6/UR9cOJNwfYFJ+hmKN51jsKU9mhGpCaGjCbeyCxha41IstaiNc6MF98wmC48ipS7wOoCAWe3bFEeV0kiQLSE0NftteWNJucqAbPnwP+fYgfk1nkKmPkkjgtZdLdIEEXd1qyxTeSSfJRPFpFZn5FDZ7LjKZCuMjSG0RmV/Chm8q42O4YASELavn2RxVZaNzRGaYGaIeuz2EjI6A87DuLSjWQ995ZPu72PgoKp7ghClWS4d7snHHHoNp9zGo98jwTSgUoHVZLmLLLPh6P9weQgpFxAImgmCgAs0YEgwRwQCcg0N74czxnNCKlbD9U4hiCCFnHgIItCiAASI5tsoENM+ChW1wsBt+vpjXl5ehvQx3x0Ddf3+gBn+qYCpYtYK80gEHjsLuw9DaBp/vhiyDEGDpchBFDEwVDK4rgXPqkCQlNDRh69/HRkdg8xv59sEBuDWUb4tizCmG5RqYcU4t4wsLhJAhj8zAfIRc/Q273At3hsFHEMegalz7HUkSglM0yxjThMP63S9yPjP2Fwu4gX6yO8OE0nPIq53Y3AXYpg+wadONG9eEMycItXUEFdSMj079Kn8ImKx9migpcjxLWTV/KWHDVkLLbFyW5WbpPYt9uY/w13V8fR1UU746fVk6wfRfM5WwqGkJu6oTbCrW42c0QqEI//wNtwbzU3zEaJay8/SP0v3AwfJ/O6991lZM3OXNJKEd4XHnsLiGfoOeNOWz73+Svof77wE4ay2MNoWW1wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Check.: 做了一个壁纸套样机模板的网站,https://mjcn.club,方便套上AI生成的壁纸发到小红书等平台。 壁纸套上 iPhone 样机后会比单纯发图片更有沉浸感,更让人想拥有。现在的小红书大V基本都是套样机的,而且效果很不错。 我也在做卖壁纸的事情,为了自己方便就做了个小工具,想着自己玩还不如发出来让大家用,没准可以碰撞出更好的想法~ 💡下面是一些 - 即刻

发现导航 - 精选实用导航网站

初星壁纸样机|CX Mockup

发现导航 - 精选实用导航网站

Device Shots — Free Device Mockup Design Generator

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC/0lEQVQ4jVWTz2tcVRzFz/nel5dME5NQ28wkTatJqRaiaTYKbooL3fc/0BZBdGEXSltQENSFS6u48AfVUipi27E1Oi1NiMEarQGtViXFhT+KmWRCoJmZTN68mffucTEzQs/q3PuFL9/v555LAMhmR54wC9708lMA2JEkoX2htgDIaD97n5wolYqz3D408mTo3EUA20imkgwt/d+jY0hCkgfgAGw10vSQ679n4HOSoxKaURQ5SUjTFCAZxzGTJKGZIY5jdAYyWgKix8gDBmCCpI+ireDIkcO49s3XePedk3xoYj8WF7/T5cK0xsfHMHO1wLm5qzj89FOobFYDM/MAJowkAVASnn/uWfT0dHNmdlaVShWXC1c4MzvH2mYNl774SvsfeJBTUwcQxzHMjAAYACAAmBnn5+f14083dOrUhxzK7cKLLx2HmWFwcABvvP4ad+64V8ViEWFXV4cJmRveLQBI01T79u1lPapjubgCM4NzDu0aAGBs7D5EUYTbt/9VGIaUBCMpM1MURTxz5rSOHn0B6+vrcM6h2WwiSRKQRLlcxgfvv4fjx45pY2ODzjlJUtAmC+ccFha+x9LSLYRhiPbzgQQkwbkA16//gL/+/ufu+vDIHkmCJGUyGXrv0Wg0QQJmrUh47wEA3d3d8F5oNGJ12Lm+vv5XSWKzVmM+/5mGdg7h0sXz7Ovtx507G6jXI4RhiNWVZeTz5zS+dxznz33KgcHtrWDmhnenwyN7fP/ADv/rb7/7crmst06+7Q8efFzXvl3Q9PSXeuTRx1QoXPHValWlUsl/9PFpn82N+mxuNA06ee/qCnj27CeYnHxYtc0txnEDa2trKm+UkSQJS6VVei9F9TpWVlYBQADEbG70F5KTEpq1Wi1oNBoIAodMZhsrlTLIVg7WSsu6cCGPpVt/4JWXTyS7Ru/vSpLk5l2fycxSMzPvPSTRzNSG2PatI0CXpOlWM00PuahW/bO3t2/R6Ca897k2cZKk9x7ee3R8mqatjYUb8ukz62vF2f8A6CG0i03SuBgAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Bigjpg - AI人工智能图片无损放大 - 使用人工智能深度卷积神经网络(CNN)无损放大图片

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4jaXSTSvmYRQG8J8HD5Ekk5eZLLyEWJjV7MySKF9hmrUPY2nBN7CxU5KFbGxINLGlaJKGYUEeHjbnX//ubjauOt3d933Oda7zwifRkNy7MYRzfMMCqnjEDXZxhtsioDEh+IJpDOISdxHwD11YjKQ1XEFTQlAN9nschZVxiN6wY6gkDi14+qDkF/zASfGQI3hEPRPcgd/YwsV7BE1RY/m9inEsYweb5YB0ClP4GhO4xzwmcY1VrKfqUoIJDGAUe2hHM3owjFasRTOzGMMs5jJ/lVC0je/lmst4yfSlQB0bcf7CH9RS59cgeX1PIvbxF305BZXMdqaoRT/uZOS2RfacgraY0BIO8L9QUIk51/EzMtRiEjN4DsKnIDjESsFaLM1IOLSgM7auP4hu8FCy0+gTeAP16Ea6ZRH4EgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Photopea | Online Photo Editor

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADDElEQVQ4jUWTX0jddRjGP+/39zvn6NyZOlMXU3MGNpnUIFdGq1gZjBWjoIIRRQhBEF3UVd0J66aL6CaIoD8wgoi2tqJujGl/WIFtpUGjcDSZZZppeTp6POf8vu/ThYHPzfPw3DzwvnwMYHZ2tr2nq+u5vDOMx5Rt2f+u7cYyL+S/nJiZef3+oaE1+3VpqbO3re1TS5Kh8wtzlD0SLGBAMMMAGbiL6E4B40h3H4UYv56enz9u5XL51aamphfu/eS92uTC1UCaGmYCjHpNxMwwg1xBhMTI6jqwu9MvPfp03jY3X0qbkvTQ9N/LPrl4LdDSmqQYWb1KzmX37LlB/c27bbmyzvjSvNbkpMUiP638wecLc/5gc/tdKZJXsswsTcyArLLBna0dvHX4qPZf12lEhxC4urbKw+fPMrNRwnI5ah6NiAXATDJh8lrVhlvaNXHshEWw45+9r+Kp1zh85m1M2NkjD2mnMElmUQZ4AHPcASxx6c3hEZsr/aPbPnqHL5YX7MS+/fy88S+PTZzTvl2tYaSjS9Rrsq3HKAWBBFmdoY69dnPbHh4Y/5CGXJ6pY09wY1s765Mfc3r+inm9ps6GRkNuSIArBRwJ3Onf2SrV61xYWbRHevvpK+7iwAdvcHllgecH7yAQ7IfVZUhyuDs4SuUSLjBhyMxdaQjMl0uY4Mm+AZpvOsgzg4d49/L3mlr7y0hzZB7BLKYml+TAVspipCVf0Pifv9krM9/ybP8tlOo1Tl78Sidnp7FCQaqsb40qkgrkkgLY1jUEUiCf14u/XOTlKz9S80gtqxmNOzyBIMxcEhY8rdbqVrAgj1FRCjFGLARhWFJopKwISUJSKMrdzUOQYqa8BUVFpYul1W+GuntH7m7vievr61ES1WpVbFYsJrUtniSimZAMd93eej1He/rC74tLF2xycrJlcGDgdFOxeN+1tVW6iy1MryyxkWWEELY5NCGJPMatnXuplMrnzlz67nEDGBsbaxgdHX0qjTpYrlZoa9xBYgGXjC0q5QJwQhJUcp/q6ek5BcT/AEQAqyv0uVORAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

TinyPNG – Compress WebP, PNG and JPEG images intelligently

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC50lEQVQ4jbVSSUhUAQB9f77ZpanJaSqzTbLApbKcDCpCoZLIILq1UxJ0KAtKo1WlgjwlYXSoPBRGtJptJIatMhahZTqjTsW3UnO+3/l/1v9z5nWoGerQsXd/Kw/4XwiEQkUjur7BIHM9pJmkCEAAcNxqtVb9k6iqg2maolzxKQr9mpeqIlMdVoYikci36upqCQABcPOmjQ+bmpoSYrwpeXl5Y0ju6/8iGX29Er9Knyl9clNVZGrKELXhIZJkVVUVAXBNwSpmZGQkAsA1AGpFeXk/SSqyh/LgAKVPPfQM9NGneRlDOKCRJAtWrpABHAEAZKSn02azUfZ4qIeC1LzDNPQwo5ER+n0qA36Np09XsqKsjOQISfL5k4aaWHTT1JQUZGZlwZqUBMFkgtPpwtIly3D99m0Y4TBCoTC6nE48eNyAsrIT0HUd6ZlZa8+Wl48FAFNDY+P5aCQa1A0doxJH42ZdHTSfD22v32K8xQzrBBtKS0tQtGsHXE4nPrrdSBiVOGH5unX748vX1NQcivVMmTaN+WsL+ODhfV48f47Hjh5j6owZvHW1liT5tVdit6uTzY2P6uICJFeQUfZ0ubh3z162vnlDr3eY2QtzCIB2u50k6e54xxdPn7D9rYMVB3Y/S05OzvktoM8dMQx6Bgd/xYj8iC/vaHEw4Pexu8vFg7t38tK5M+xoaeLJowcJgCYAEITR7ZFopD8hwYRQwI9mRwtKS0pwr/4uetrfYVluLvLy8zErKxvrV6+Cq9uNC5drIYoihD9qHAZwKuz3IWzoaHvfjmZHC169fIWli+3YsnUzvLKMyspK1N64AwAQRfHvG/dKUidJGsEANa/C7s4OOjs+8LWjmdu3bWXsxhMn2mg2mymKIuNfLi4unj4zNTWpsLAQqqqirbUVwWAQFosFHln+y0iAgDmz0yAIAuICfQPf70aj0Un19fW/4plEjLOMjZMX2XOQPW8eVE3D7LQ0LJg/H5MnT8JPbLra8gg0m0gAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Convert image online

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACnklEQVQ4jXVTSUiVURT+7j/4prT3qLA0pGmRljaBi0qwiCzDDMF2SQmGBUlCmyLihRgNbmoVhgsriKzAqTCkEW0TtVBEjUAsSrN85fBPd2yR75H2OnAW95zvfOfjnHOBBaYAAgAvjhb6VQt0Vf7HW8qhYy73X4sXjzeU1PZeKD2WDBMFtL/f/zD+bCg+H/ZrdaMxpyvA7ValZACCCs7kyI1h99XV9uEZBRACqHkEI9HCcCTkr0815EnquZxIZqRAQHEGcArGKGwm+wZn/bU7bg48n6tVWly2JcwNuvBOSGcW3HWUcCzlWTPSs6alY88Kz+MsSFTeqhT6qKNiUz4ApQCixaVsrOvuHfzBSm2XTgaVY7qUOtMOt6c8Yk8xU3ChmTGXOCGCcKaPnYur1xMDjMJYeenT0N7cjN4lxCn+YPkftH6PVI3zUPMEDdxJBc1OM/U1DiOwmJYRysq+u294dCrpWtoqcrYYpj/9QNP7rnjsdnn+6vQ0sd+lirnSoINWsC3a+vIXAYDP9QfzAj5ZqZjHpeRa+0Tqlarr7d/ixR9P55z5bOuduxr7hxY2IwAwWle0Jyuid8NzASLwZdJ9YnC7UVeO4lQKU8NlKC3cFwsc2t3c/64F0A8DIkHQcbwkuD0z9iZisFzLpZ4PLCA4gxQcQigwQbipEeMnNcY+OUblzqaBp/HhawogJY0d9vi0d9Z2PG8RnAB1bcE9T1AqBeUQTBDtl0u8sK5WhAhu1ZYVLE96ia+rNxWtDdkXdS63AsTkkkBIAiXBfQTGGPV97bEWV9fc63kMQM4jSJznulO+hwVvNpsallKpEwmw9frMNVeakU5rWVnd/Wdvk20ufgtasnjrkW010bKCrXONkmLmWRTQVPSPz33jhMqF2N9aDlm+XFfI6AAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

donaldcwl.github.io/browser-image-compression/example/basic.html

发现导航 - 精选实用导航网站

工具

发现导航 - 精选实用导航网站

Ocean Black - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPadOS 17 Stock Wallpaper in High Quality by @ispazio | Dark - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Apple Tower Theatre Wallpaper by @ispazio - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Holo Pattern | Whatsapp Wallpaper - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPhone 15 Pro Max Concept - Graphite - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Dunes | DUAL - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

iPhone 14 Stock Wallpaper - Midnight - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

macOS gradient wallpapers for iPhone [Download] - iDisqus

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRUlEQVQ4jWWTT0hVQRTGf+fcef/kqYFGtLCigqBNUNiq17Z1L1xIgRBa4iZo47JaFAQhtLMQwUW0EBVcJO2k2kSIuKlNBK9NBAWpofe+e2dOi3t9vOrbDJz5vjPfnG9GyCGAAXBr+RK4mygNCMeL7RZB3kI2z/Pmu26NcICRmRqDpx+DTuJKJYIHs4IqoBFkaQphlh+fp1m8u190ua+MnK0wUFmh1n+FeCcAgSyN1CcAhKgMruwBpdqn7G+/5mdylcWPSQTrRuPGE3r6r7O33caCUu6N+LSGrUxjm0tQ64Nj5yPS2EjbKT39Z3BZnY3JNcfE6jCRTBHvegSHoRCMaq/I4EnAsFo/BDNAERzxrifSKSZWXzjUxomqJdI4A1FEjSwROXwKvTgKZoSBE1iWCKIGIpgFXLWE3x9XxBr4zMAUQTAvlGrY1038q4f4tUfYl/dQqoEFQRAwxWeGWENBhgiZ5J2xIsz/IeSpGLmLXDOknfzlYJWcKNIl/qcmnWNMwVqos5yAdAT/OeiIBTNQZ2AtBVnHOQEJhT3rPKBu5LXikhIKzbrS9nOkcYJq7tNCPu3uJhbIa+QcVSGNE9p+TplvbhH8DJV6BGSIBCwIkTN1FVNXMaJS0dgCkFGpRwQ/w3xzK3/KF45GDB95SfXQNZIdQDKyWCXZEwAr14xSLYA5Kn0Q/1riw/dRNr75rmmNREyOPUDtDlGljoVOQCAgCj75TZCnzC7cg0V/kO7fuL18DnFjwGWs+M6iLeANli3wrLnVTf8Dz+MJt/sFlxEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Imgur: The magic of the Internet

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADQ0lEQVQ4jS3R3YtVVRjA4d+71tpnnzlzZsaxsSPp+JGiTEUmJHWRXYRUKkIjgiQiZpRdmBJURMQIZWKYkKDBRIUXUuhVgQXVhfgBEcIQgxYqmOQ0Ot/OcY6zz95rrbeLunr+gEcAaj/u2epKyXuxCI8JagUAkf9FABUUQCHgzGWfF4dGNhw7JbWf9mx1xn2DiNE8RGMQH6NEVYJGIkpURVEQNMFpuZwaVKMv/DZno+nDYrQZfJToMu/pTCpasSV5IKnS7lqo2BKJdYpG+ev+hFxrjPgkLTkrps8BK7QZNCZq27RM3yO92tOxQOakVWa0oKmRQiCIijVOuynLzkuf28Hpv7XFpSuchuhsainqOY3jt3Xzt6vlMwb4+voAc8pVChHUGsQ6ciPSX3tOeyrz5dLUDSqaOmPKRnU2Uhwa09pYi7yy71M2TXfzTHs3U817aCyQEDAhIsHT9LmooIqgqBp/18tU3y1mLk3L+pee5pezA0z+Psr22ip8nqMhoDGgwSMhkiA0Qy7mvx1xxcEJju56jR/O/sbBj/o5feITzPNdvHH5NKlzxOAxQFTF4kjVUPcZRkARjLnqianifeRk/8cs2raM7QMn8CHHRsX7nHrWoFHMUlJoEcNE3sCKARSThYLdu4+w7tnVLNixmM3nj6PBkypkRUYzb3K0ZyNr27uZbjZok4Tx/B4Wg6IYZ606W2LZ4of0emOEsZm7lDFkRZM8z/ji8S10Xcx4J1nDjoWrqOf3acRcrTEoqJmdLeSFdU/y4aGTsnZokR5Y08vNqRGyZsbJp3biz4yz74N+9u/7kjcbq/hjekjv5vfFYhBEpC3tLWrzO+zQ8BidHVU5f+6I/vzgdVlerZF/N8WWXQfonNvG6D+TPLxxibK3Q+6FTB0GFQmmpZRca620ypz2aljZs5AXN7wvi86V9eZXN9j08n4OH36dJ5YuxT1a0fqrJZnRJlZtoGQFuGZTVk6MT8xsrlQqdv3GNfHChSt8f+ZXGb4zye3hSUZvTHFrXh337lwptSdKISqptSgxEPba2fDnlarruTqbFcvPXRycZ1RMe1sLra1lmRyuc6ergXm7k6TDqWYKVqJYM+gL/9bI+mOn/gWZFaGEUyA9lwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

30+ Stunning HD Purple Tone Phone Wallpapers

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACt0lEQVQ4jY2TMUtjaRSG33PnRqLCTGVlFK1stFC0UpKQaBPBTi5WVsYfYGG3uzM4hXZX7BTsBBGConDBIIkiWKRQCyE25iYSi2Ay60RC5Oaedwt1WJcp9ik/TnO+8zwg+YnkV5JVkr7v+z5J5W9otVo+SZ9kjeQ3kqaQ/APAVwBQVTUMwwCAy8tLuK4Lkujp6cHo6ChEBCRVRAy88k1I/iD5haQahvEpk8lgY2ODJKWvrw8igmKxCM/zmEwmZXp6GiR9AIaI/ISq0vd9JcnNzU1GIhHd39/n8/Mza7Uaa7UaG40GHcdhLBZT27bJ111VVYlWq6UkeXZ2puPj4/r4+MinpycWCgW6rsv7+3uWSiVWq1XW63VGo1E9OjrStz9RUVUlKXNzc7QsS8LhMOr1Oi4uLuA4DkgiHo9jamoKgUAANzc3sG2be3t7EggEaIiI3N7eotlsSiKRQKPRwPn5Oba3tzE/P49kMond3V04joNms4loNIpgMChXV1cQETFJ4u7uDt3d3QgGg+jt7cXJyQmWl5cxOTkJAOjs7MTa2hoWFhYAAP39/cjn8xgbG4MBAKZp4uHhAYVCAel0Gul0Gh0dHXinvb0d2WwWqVQKxWIRpVIJpmkCAIQkXddFJBLB0NAQurq6EAqFkMvlsLS0hLa2NqyurmJ4eBiVSgWVSgW5XA7Hx8cYHBx8lcf3fVqWpQcHB7+sS6VStCyLs7Oz3NnZ+fV+enrKmZkZfXl5oarqhzOGw2Etl8u/s5gkWa1WGY/H9fDw8F1t/SDS1tYWJyYm1HEcep737waYyWQYi8V0fX39g0iiqn8D+PyucjabhW3bFBEJhUIQEZTLZXiex8XFRUkkElBVlVfqQvIvAH8C+BDK9fU18vk8VBUDAwMYGRnBf2cArICkSXLlLdH/m/MPkt9JBv4BpIho0YzrPsQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

01-wowpapers

发现导航 - 精选实用导航网站

Wallpaperize Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Cool Phone Wallpapers - Aesthetic Phone Backgrounds - Its Lit 🔥

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Iron Man | Marvel - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Lake, The Beach Day – Official from iOS 14.2 | Stock Wallpaper - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Traditional Chinese Landscape Ink Painting Apple Bundle - Etsy Taiwan

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Relive the Nostalgia with Sony Dynamicron T-120 Video Cassette VHS Wallpaper

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

LCARS 2023 Star Trek Wallpapers | gedblog

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAuUlEQVQ4jWNkYGBgOF/K95+BDGDY/YmR8XwZP1maYYCFkZGREv0MLIxM2A3Qa3uHVfxSlRBxBuAC6OpZGJmYUAR0ml4zMDAwMFypE8VhAKp6FgY0ATjAJY4GcHoBJq5d9wJF/GqTBLoB2G0iVpyFCYdCmPiNNhkGBgYGBo2qJyjiRHuBkDhGIN7skmdgYGBgUK94jNUAdPU4wwAXQFfPeKtXkcK8QGJKxHARAwMDw50JymS5QqXgLiMAzbscf1WKWFsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Download » ArtStore - Beautiful Wallpapers

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jZWTX4jUVRTHP+f+7vxmZmdad9yadm0N2cRQIyOhl9KwXoRKkTCCoOilyB580h4KXKiIgqAewqiXMuq1iJCK6C0QM3c3cMnUaVUo/8yqM+Puztzf757Tw+zSRk994XAPXw7nHA6fKwBmEw4O7Qd2A2X+kazIbYV3BXhPRH4AJvz1Vnjf/r9aZvYYE2/89GavZ2amamaZmcWoGlUtqlo0+0/kZhaWmvziS8K+NEVBRFW9OIcT+dfiqoYIiBMD3FIYMOpLYgMaTVwiOOfAjB8vX+XrP66zpVziufvGcEnSrzfExJavISJivurV1EwcQicE++hcQ744dpabl+HYHbeyoR0YPTFI5aGU+gNDWDQkcQhghnOVJJI4Ryf07PCZU3J06jR7yTny5EayrvLdi+eZPDjN9GeTZBpwIojmxG6LGBbNrXJRQp7x1YXfOHW1ybYQOPDUo9w47pk/26HyeMBt+50rMyfBFYkaaHx/mEuNSRYXOrhhl/Fr8yJnFlvUb87z7CP38/ORJp++dBzrttn6wjo2j9apJVXipdM033mePxszJGmV8mDdu0Le5sLCNVSNe2oVav42vpyYYmDrAmlYZDAUqBRSarPTnHt6B43Gecb3vMrw2s34hMwN+Z4Vc6A5x6bVdcR5urHH7Jwx2G4zNrKKwl1lkr9mmd2wnfXvfmtrRsekUOwD66vlyIO3jzOe3GLr164jLRVlz8eb6B09wc5d97JmuM7c3rspbXmFHU9st4pzYqomzvWxvvbh2z2L0fosqpmZ9iHLVnpL0r6hukxlw/m5ky27OGM5YAgKogaKJxogggGqoAgRkRxZpvGT5NDD5dw1p3Ymq0eQgSHEckQDogG39IoGxAISezgyXHYDup0PSKuvCUB4a2SfH0hftqE7a5IUTa0/Yvkzm4GI9QH2fj7G9HP/zDevC+jfCEzIHkv+fzcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Ship & Swans Light Blue Wallpapers - Light Blue Wallpaper iPhone

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Wallpaperize

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Classic iPod wallpapers for iPhone (Free HD download) - iGeeksBlog

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACi0lEQVQ4jW2TS4iVdRjGf8/7ff9zPHMcs+ME4QQVOIkcyEUtCqqRiiCIZCKkqFWFBKHr3LV0a9NiFrWRLnQhGMKgs8hxkgxy18JyEYSXiJKZUc94Lt/3f1qcMVz07h/e5yoAG0kYwL/xBJk3EfOuuA9AictkVgk+1F7O3okRW+fzTLGT49S8TanE0DjLAAqLpqDymIIl1nlXj7IJIL9HsEDLLb5Wm+e8pmyTJWLrCzbGZAWhjsM36ekWL/Ewm9qi/T7bOZL/YWiRdFvQBIxu85StzFgdmvRZ1F6Oyhd4HHEGKVEC2ZBlArkGFUCNrYkUW1l2AGMy8+W45nCaIX3xqasvv6N4/SCcOGnWNqAI/NoLsHYd9X7EgyG+a9p651WqQ6+Q6jUOR4gDDHFKxL274NvTcPon1J3D19bRqRV09jz+5SJ68hFY/RlOLhMgYw6UrpilltY3zF/XoN2CXTvxGy+j3TPw4G5YXkHTbby9DZ0d8OLTiIFFzWzYQDK//g7L38NgCM0EFy7C0ufwVQ/KgNEILl2dWDS1DfCkBEHJFUpcFLiRoK7h6t/ojz/xdBtubMJgiCXUnYP1G/DZKUzLVnAlgBUK6Z67yXP3w7OPQXcP/uQblAr8/FO4uwdNT+EPPoaHHoCDz5AJCViZxBicySNU1YrGNsd4hENQjVGzBdUI1xnKEqosNxsOYhJjaB/ngKWYoWwUrvKYnApRhGg2ca7kshDNJBUBzXDFDgCWtI9zYSMGHPMGPTo0JJFr6pxxzpMKGpwzlS3ToeE+PQYcs1FIWPvp6yYL3GJRyXW0KaNwSJMaKxzRplRyTZ9FXWdB++n/t8b/mfNbwLxrZgFUcjmb1Zz5KHX54U7Mvz7fN6zfi4ePAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

GameBoy Wallpaper iPhone | GBA Famicom Edition - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

02-bestwallpaper

发现导航 - 精选实用导航网站

Ultra HD, 4K, 8K Wallpapers for Desktop & Mobile | Wallpaper.cam

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAx0lEQVQ4ja2SzQ2CQBBGn9wMp73TwTZgYgV0QA1GK5ACKIAGtAmudMDJGijAhCteZpMvm10k0S+ZhHnzywD8qEPkrzvripBbRIF2R3Grg+INABbgaM9P4B3Fr98m1DZhBfodG+HMSmGTNKkSNaUYsyQ7S6iETYniEJsBvIBREh/Ca+GDcJ+CZ0kObDFfhw2ba5kuwu/AS3y9GQCdBG/C9UbBusRhwVYNSUGnRIOsmsw/MApvthog7+mFucR9svLxhU199IX+ow+Ipksw4z4/ngAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Stunning 4K Desktop Wallpapers - Free & HD Full Screen

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Nature - Vector 8K - Wallpapers Central

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Popular Desktop Wallpapers, Images and Pictures - Download Free Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsklEQVQ4jVWTO4hdZRSFv73/x7n3ztwzucMomkJkfDNgIcEgNk4iQopgZ6GN1qKlYCGexoBGESwEC0tR1CZJp2hACwVBEwuJzIBIUBLJDMPNfc05//9vi8z4WO3mY7MWawmAGSKCXT/H49WC5/c7TpdObhezLBX7MfKVRj5eeZpPAKxBpaEAyCG8c47XbcardZ8qC0w7rO9FZhMjBkDAHF+myMtrp7nSNGjTUARg9wKv1Mqbc4WwypZFzvrIlTzn+OIvmjSRyjCGPXwH11KPU6OnuGQgsviW9ekOlwYjBtVRSq54MtzFNxxo+h3vVVNe2hvTASz1JMyS/bo65JhsMtHFmGfq2xiGO9GUmF37nh/sIt62qOwiXoTfXQ80CBrx82zt6hF5YNzyAoBqZMXfAaWQXGBp7UEelU0SX1Nkk9R1PJEMXDRxETTiElZwPGuG82GNTIXRUsRRucjbtsVJuY/x/DIndcapxZxMwAGiIB2Ieu69cZ6BuorfyhyxQuhm5NDnWNvxWXuZ47bgfVUcAVwEFzEJiHgEj+wFRKY/clQyP4fAqOswMSRUaMq0JGLKmOq/XQHMKZoKu4MV7talR/gz3eQtn9A8oXQ3sbZlZkIwT3EVSEC0OvgesNDHXOQ6mX21Bh2e4OyNP/iw1xLEkd2ASjxoPIAjJh7RgImnSI3guCAbtMJ/tPs5Ly7dr++6Hr5kkP9dASjqwIw2deXh3gbbCmCf4gBGj/V/8kvLitWmumwiNSI1UAssGwyL1rWzXL3W22DbGtQD8AsGkKY68FXtSiYZ5kBuBVcsoerdEdWyM/8gPLT3jhkqcrCFw0UCmrfv+cKNBidsr2SzoiIiMlBsP83Mpm+49atn7JY7A9B/3AmIkJ0fP5fH5TzSU3XLBmFCKx+l2WTTrV89Yw16CAP8DfU4LOFrYcKVAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Heroscreen Backgrounds

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAApUlEQVQ4jZ3TMQoCMRBA0T+TqFh4pL2BjaWCCDbexcpGD2Ch99A7uYVsxkrRXZNN9kMgE8hLFeG+POJGC4zAd4JhCNFEaB4Hj47XqMxa199IPCfAdKuE5xXvwKxsBQOxoFSXHXV9ZuITz8VTAKrLZiiin91ARH+mAYh2TgqRLlCI/AcKkDiQiaSBDKQf6EHygASSD7QRFQiiqf8W77Y64fycpt6/AGwlXQXtuVx5AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Post36 - Google 云端硬盘

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtklEQVQ4jZ1TTWhUVxT+zjn33TczeTNm8rMwMgzUhVWKjotutAGlVhRKKW0tgnEhrtwKapGALy76Q7sRXNlNq4tKbAvRnSB1U6EtSKWlUGml2FaCzSKZZJz33n33HhdJNNCsPMtzvj84fMD/h9bZAQB0nZtZh6zbvjjwei93h0PmCACqFdaLAw+u0sTDW6uY9dwIALZNv9lKotov891uwy32sQCLt+vzuDR0t/u467dvPIKHK2AFAH5GT5eVqxSfJ+HGANuszHyRZEVx1vyeifGN4SqmCNAVLJ4LpGCkCJ1v3tktRibKXuFja2KXNOyJxiO7Oe5WskV4I5jQGeymFEHTZe7zBAqKAn8EQAAEFdGkWZs9PvTPLASBgEAEKQM+Vl2bYMV959fvHeVYxn1elgDIVIW7Uj81utifQg1MBHIZSmPxmp/B0dUUBIBemt7XGOLBe0TUCoX3bCWC6s8//frKq/oopfIgfmRGp8zhTAQB8Dc77MD76DIAbfLwSYltOxQ+ACwkjCA4gzQt6RKcIXwAYSggrkDgGG0YnCRAafv0W1ti0TvqaRBBPVclKotw9e6hmSNIp8whANfSc0G/3XAFlaXDRR/OsAoM5jnoLmp9+MM4u+S74BwRASxE7UrrvuXGgkcQA0WPbNhcPKhf+O3dLcF5VQJiYTW2v1e6tz7/N+4MdIg2bs2WYt+kUW5Wk5EAbGLQWICMVdVt+iMaGRmc7aPz1+3AbkzcnF5v3Lj3KQPkOZ6bBHp5xXoeTdS7su98/qT0rl+GolfmRVY28yfuy5eP+f+GWmx4Ic/rOgmQCqC89P3g43jXmag9OrwnsZYhViSKmSPLHFmmqMIxk8zVahxV2jT+5+XP6rfvf6VYfiMAJYB0/yfuDaehCYVnXtsTjxBEQYXknMzfOU03FSBaU6oXnqcPZiRKuF2x1gAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

壁纸 - MACGF

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4ja2TSWhTYRSFv/9/r69/mmZo05gQdVMoGBUp6EZdiRPoQpQ6oKLghCsHUHCnC3XjgK66sQ4IFoqo4MaCQ+sAgiIqWBCs0lZtwQ5pmzyb5L1cFylYbHXlgctdnHu5B849MA2brXL9X2hos8od9Y850cZc3R0I3N8OEgapAKmcwjsgeuqGmtIFZF4stqbLcbrVxMTqd6VS8odSxUoR/1M+n+p0nL5Vvj9rIJc7fhKUOylNFBywAQtGq2x7AM+rG4faZ56XuFEs1rWIRHRV1fOr4XDzTmPajwLJPwQAiGXM9b21tfu/Q2EJbNoImEkyDN+W19Wt7Y3FVvSBJMqHwYae+cFg62rbPpTWOtOUy23dA04v3H0Feh0MPoG1n2FHk+seOeg47deBPCgBlI5GLz4MBLou+X5ik+ct+JLPr38BSz3oaIXbTxOJDgsqSzAqrruhHfLjkcjhc47TuxDEVsa0rnScD/u0HllWKv30xsbc1zD7E2Q/wuY+iGTgVgxOd0GVBIPXztv218VaD8z2vMhj9due2xsaGy+3NTWtoLPzLZ5nGBrKYtvVhcFBNzcxIQUR7fp+xCkWG1zL+lbt+8mXNrRZIqqolHR43qMfuVwmWl8/R9LpeiuTGaK/v99paFjkDA+Pkc1+p6Wle0ipYzszmeQHSI5MKjil4SS23XzCmLNnqqtHCyIhHY/HtdaaVGquHwgUpKfHd9682XYM9l6YwUYUSDgavXglkWiUVKpG4vGQxOMhqakJSjicFss60wwSKmelbOMMfy3GmAdbjbmzq6KiLy1iF0Xq3+fzW25ms8vvgSrM9Moz5SIIhIASMA7q599np2FanNXfIv4LkuH+RJk7XFQAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Top Wallpapers - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Peder Mønsted - Sneklædt landskab med pige gående på vej - 1923 - PICRYL - Public Domain Media Search Engine Public Domain Image

发现导航 - 精选实用导航网站

Artistic Ocean HD Digital Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Colorful Earth HD Minimal AI Art Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

2932x2932 Earth HD Colorful Paper AI Art Ipad Pro Retina Display Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Wallpaper Search: like:7p1v9y - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

long hair, looking at viewer, Pixiv, anime, anime girls, umbrella, water, heels, flowers, leaves, flower in hair, rocks, waterfall, dress | 3186x1826 Wallpaper - wallhaven.cc

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

03-wallpapers

发现导航 - 精选实用导航网站

wallpapers

发现导航 - 精选实用导航网站

CNET: Product reviews, advice, how-tos and the latest news

发现导航 - 精选实用导航网站

The Latest Technology Product Reviews, News, Tips, and Deals | PCMag

发现导航 - 精选实用导航网站

Our Solar System — Google 艺术与文化

发现导航 - 精选实用导航网站

NPR - Breaking News, Analysis, Music, Arts & Podcasts : NPR

发现导航 - 精选实用导航网站

The Difference between the U.K., Great Britain, England, and the British Isles

发现导航 - 精选实用导航网站

four-day workday - Google Search

发现导航 - 精选实用导航网站

five day work week history - Google Search

发现导航 - 精选实用导航网站

inflation - Google Search

发现导航 - 精选实用导航网站

Bright Side — Inspiration. Creativity. Wonder.

发现导航 - 精选实用导航网站

Verywell Health - Know More. Feel Better.

发现导航 - 精选实用导航网站

Lifehacker | Do everything better

发现导航 - 精选实用导航网站

VICE - VICE is the definitive guide to enlightening information.

发现导航 - 精选实用导航网站

Exploring your mind - Blog about psychology and philosophy. Articles and opinions on happiness, fear and other aspects of human psychology.

发现导航 - 精选实用导航网站

Microsoft Accessibility Blog - Making technology easier to see, hear and use!

发现导航 - 精选实用导航网站

Fast Company | Business News, Innovation, Technology, Work Life and Design

发现导航 - 精选实用导航网站

ExpertPhotography » Photography Tips and Tutorials

发现导航 - 精选实用导航网站

News, sport and opinion from the Guardian's US edition | The Guardian

发现导航 - 精选实用导航网站

History, Travel, Arts, Science, People, Places Smithsonian Magazine

发现导航 - 精选实用导航网站

Investopedia: Sharper insight, better investing.

发现导航 - 精选实用导航网站

ABC News – Breaking News, Latest News, Headlines & Videos - ABC News

发现导航 - 精选实用导航网站

Worldometer - real time world statistics

发现导航 - 精选实用导航网站

Xtreme Download Manager | XDMAN | XDM Home

发现导航 - 精选实用导航网站

Breaking News, Latest News and Videos | CNN

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

英文网站

发现导航 - 精选实用导航网站

今日热榜官网

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbUlEQVQ4jV2TPYidZRCFnzPzfns3NlokpYhEghAIwXWRCAFjpY2dWAkiKIh1CgvBgNhpFZuAnVYWopAishgkQpYFQQRZXEghKgqriUnMvd/7871jca+54jTTzDww55wRQLA1sHX2KL2JMQWbG2IsAcDmQ+IehYMfbolPp+U8EgSAAOKJN04x2GUwo3snMEidUBBuSIXw3+lxlRwXtf/eb6xqCdh+ZZu0sQcO4RACJcBh6stOAm1ArwcUe0Hfv/tjgAwAKx2NDY0dzSdsnGB+k5i/j40Ny8C80W8XEidI+cPg9UEQS0B0oWJYNqwEQzgqO/w1XkD5EhoPSM3x4sTdCS/n2D5yGmAJGOZgBVQ7aXLi3hdM9SK+m7X70Zsof4I3YTXQCEMT5BP/ASyWAMuBN6HxmvY+vsadB315Yv4OLcBGYSVQDWycrQFU8AJeBYvAyktx9vlj+uX6Is68eARrr2IllsvF0GiQf2Yp7QpgAeEG1nF/EnE1zj33DTE/jdJT9BrIxDAYU7tBY+9/gA5hQZjAgpROonSSPsHUAvMAE/QFxnl9+/ntWJkNQwVNK1ct6CY0QVRADXcjJpBDK6/p6y8/+5eW7rsQG4CJbuAuenuL8BnJ3qHXTnhH7qT++CqEsRaxtbgvkufAchB3drSzewHyLt4M5UC54/18PHvmaUGsk5hCWHOsCquGZzFwNEDE/G1s7HgdUHaGOmOYPoitrQfWSay9EfxBcBP6nzDdote/BaEr+ztEvYSXu6geMi0OsXqKY+3l9TM9xozjxx9mliEDsxkc3vhV11kAxDNssvnoI8gbACU5oayv9n/6B0NOO7mYhb9bAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

今日热榜 | 一为导航

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACB0lEQVQ4jcWTzUtUYRSHn/d974yj11tZmaDVNI5E31BIRVG0SXIl1ExqKkT/QMtW0VR/QFAkLYOKahYJ9gFBheSi1tEq7EMlxbIPbe44ztz7nhYOkUO1EnrgHDjnd87iwO/A/0b9oRYWkqoQpHJm6cimMQ3gAlcVPAY86WzeON+bHCj1Jgeke8MmwC1r11aDlwVTeUIT8FZBledwbuZEsg30fpSAZcjcGBm2cBYIgRbgA4AW0DOd8Xbpayg5mn6BfP+e+gSovV8KAaB4Ojk3ZuGUATRclnSL/z2VaBNQTv7Yul210egjiNwK7NTppOvYnublHUUrxnXUG6x9efz5xCqgKYRJ4HwYlSueMn359PpWR0eoLoS2qBU9flf8dsxx8mhawoDc6Oz8yc0PPtYqeAjgai7luhOHcyJ9WlRJG6lRnw7V19Y0ekMxo3b6AcVAbGRl1OjX3+az2++PN2poFagWePG1KzFebXRKKyiF8mrOnz2o1wx9zlkrFxRoEXFiWhtExjqeTYiCA0oRE8hldtSN1EVNKh8IjlJabHixfnD6hxZQy+68H/RLct2NaCeqVFAIw8w7P3QVIIIChs9sW/GkaLFeldZ+EN707o7eW2S2LJhCT7x9KhXfV25tAY6WYyvAdHrt7kLvhiNS9sC/qLT433qLkcyCL35bMOVQLDyAlswvfWn4CbV0xUZt23hWAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

今日热榜 - 全站热榜

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACjElEQVQ4jT2TTWhUVxiGn/fcOzMZJ+roJIZgjEYQgijiStCCKxcuhFq6sC1Z6UqwUAoFQVEX4sYf0J3oQgQVreJCFBeCgeKipStrwW7aVBSCRo2azMy9c8/r4sYsDpzFOe93nu/5jgBaE96mwFEimwQ1CQSJjSj3MRoDtumR8rzIOPvumu6rtc/bQo17iAEXICBGiIZKAt0eANRSFpJACSC6MeP7oIqPIwackwliryA2arjVjztdPNrCw008nxGznBgC0QUZkRqJT6bARhfEJCHtZGjNIP71F9Rfh79f4K1j0OyHB38SfrqEZz5BNaXiSJS1IZXpA4LBSYDZOTTYxFkOZ+6i/6bhu51wbJ/5MC8duID7KlAYSRCinSJAuDBeUkVL62jyL/TwD5h+D6fvwLP/xa6teOVSyHtIAEZBZY8IoCxHo4O4ksC/09BowJIaJKFcn9rlGQVsEELBlBECigLWDSEbfn8Oc+9g5iPs3wXjI3BtEmbbuBIQlFpTBWMLQqlufDVIcGgPfPsVrF0F28fh+iScvwfL6qjwYk2CTJTAhiAYG4Ish1tPSozVLZidg8NXoZNBmmKXAZZwMIoAhXG9CqOr8MsZuPIIjlyEny+XGg/uhnYXBxafry9FrYUJq9fwcBO9/lCqGh6Bx0/h6RQc2oO3rEcf2zh86YEhGPdsLFDeQ7PzeHgFqlWgKHA7gxM3cDVFpyZwCOBYXrawBn7If1Oa7lDhXtZTMjYEyxvwbGrxI9HJYfPakv2fVwCOBAVi8VLNb97sTfubN0WSYmI3Q0WEehUFlb4l3O6W4H1VLBEIEDszPwqg+fXURNoYPIrq65OST9GIBTQLBxamNQK0X8X227Nvb4+c+wyjGzAI92qC4wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

即时热榜-今日热点,热搜,排行榜聚合网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFklEQVQ4jV2TX4iUZRTGn3Peb+b7vplvdmZcc9Zdt7YWI8ElI6IiEOuiCKxASiHsYm/WQLyJsCLQyboT6c+dBla49AepzbsIZa3AIoxAEOwiWdpNK52Z3fl2vr/v+54upq3J5+pw4BwOz/k9hAEJwACEABnsL31UGQ4cvGR1flxb58FaVR2KE9xhRe+nwWECLAC0mus2OQpbyc8vRmUZqa/jz2IrH8DIol9Sn8ICYWJ3rd8bzjlrCwiw7Zn6lFsuvCm5PKHZzMIU766IPagyGRPRE+zwy8UCobNiP16/N5yTJpgFYAE4fG7jTMV6l3zLz+gINxHzlGvoXV/zWLeDvKLUfrFoRJGFgp4VAQGAQ4BtPYkhR2hrmtpjPWtPbSjfuNKx8PK4tk1DHQ0CfiDs2LQQoJiL/VN09D0RBIDw8lS1XozGT6uQt5suP+LFzodhb+RnP2p8bbqFkRtZa3vSk+9cza4vTKzpq/o0lpt9w0Er948fcVx+0ZbNJ+Jan0pi4UqGkmwIqrSnq/MXnOH4nCX/qgpsQTv6oHHJgrMv69PJgkOJ2mNz+1blwtJ7uEXdfY2rcNUb5dej2eWmd8ZJ+Vlj1GvKMa9UKsmiCIiRcENF5sf5HXD6zwCkX0NnuICUqgKQyulbr6AUJ+qHoZnwJO2GIYIwUjhJyKuPnofubKtV5yfgXQ9Hi50dtVoh5lc5pssEiOmRxipAPXtcAJJm3wOHQGGR1ZgAl0M7dPThRu3p1DUrjhuMUyZRZtLHAQAZT6620G1VO2eHAEGzTytDcIVI7SRA0lQOm0T+Kmm1WTIcitvxvbXTN38CAEr5KRNj9s4mkn+QBwCwiH3bEE2366O33/bL4rWsm+00ifxOq2rL8Pn2EgC0dzWe55i2eBkd+4/8fwkGwrG7Pi8S39fW+rGNfywsdO4ZmfAD91fNeCcP7JlSIN8kyh6pzl07LAANho0EoOuAX980+QWDHsogp5SS+cTPXa+sTvpl8aKiOVE+u7RvMHD/u2BNyejkASE64Dm0OYJ+P6/oc55HVe/ibyduZWRNfwMy7XT2KrymjwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

今日热榜

发现导航 - 精选实用导航网站

How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

KeePass实现Chrome浏览器自动填充密码方法一 – 奶爸建站笔记

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC90lEQVQ4jYWTW0jTcRTHv+f3W3O3TJeztS2XeRldsKxWVlIWSyga6UN0I6SHlKLsIQiKbhBUTwZ2gQp8KAoaFEVQdNGU0OxCBl2R8pJOzemUWM79/f93eijJosv36Rz48jnne+BI/FtLAUwF0AGA/+MFABAAmACHxTKhesP6kuHTp87H/P6iWgCusZ5RyT8BklKdlVkZacXJ1hQkjk+ijIzMaR0dnZP6+nqv/w4QY5sfO+qyHIaFpevztGyXSl0tDynUUa8tnpvmBTCO+dckvwDoO4PCA1+0oJYl2joV6o0kkD1jmaive6wBICLivwL4yBEBAL48j2nBlAiVFOXGy9bOYY/jK61avcQ81vMniQAHJHNAzsu276it2hPj0G3m8D1+dO244s31lAcCLJlZjh08ehDinxEAADk5rvZVhXlpZDDj7oNnwabGt67fBhIA1o0WBKzxbd61ZXKqRa0/VWFYEbWmZNUMMvMAfCNm61eL7bp1bUl09oSo7tzZM1cA3Py5gCnF799bNXQvNMI7y3bwYaOTL033MReUMReU8qUZK7nCPZ8Li3fzg89xrqy6PAypLwYzEcy2Ofmb9tbNnTExcbihWll3v0mkTJ+Nt/1tMsKAFhcwqAq8zkwt1v8ZhzJnavsuVibUXT4fPVBeViATHdnzpDNnS2rnS3ZevaEr9PqEXYuJowluurOoiPoWeikci9Ky1nZKdrpF7E2jrHjaFTfbzOMiXS13xVDw9UieVsMeF1FjjoObW5q4fFDFi80nOX1qOsPo4ORjF/iERcP796+4xiW4MD1I8dbq+KfWT4pQVZUOblxA27Yup+RZboR72vF80iLkuk2EuIL+iAqDFCTz/eju7USSOxG7S5fT/u1raCg2RDoAou5lm/SwmUyS0K2TlKoOItj8CtrzWzSixvFkmgvjP3bTgBRkkJLfNQeptWeApIQgAHa9XuY77VaSej16PgTZaLRSSAOghL9/nNEGmxZBRInCnm5jTQEFQ2FWFK3hG0BvPQUTgoe9AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

教程

发现导航 - 精选实用导航网站

品玩-有品好玩的科技,一切与你有关

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACH0lEQVQ4ja2TS0iVYRCGn/m+7/9/PZLZKtCjGCJUWxcuXQslURS0l6BNdIfWQVCLLruWEUgXKwlamLSOqE0U7SK1tBKEQD36X2daeE4GCS3qXQ4z77zzzgz8I8RAOIoDkEkqgF+xSYwhPD31fUSAilKFgmT2Yytf/tbBRnvqdCQfwNoJElHoSXk8d3tLwaHeAaJoGK0yVtNpmVlq2JHuvfj2YbRYIMs+kdTeErlOSp2G2cP4/jFKScgbzx2xGyFxE7hwjzjq3uSNDtIR7uDDNaoQAQGzBhvFONZ/hVpyH+eOk8pawGyFXBUlI7LmSLJKoRVKQTAhuBqlniKWAaJwmrViifV8XGaWGgF8jiGIBQjeQEAqwAGO4Hej+oKV9Qd0dbzEAWl5UZ4tLBo4R2n5plsIVRUJGEaKmWAkoDmN8gw7apdp8wNk5aRMfb5r4ATUgeVgihDwltpYbzeifVRmCLvkyeIrEjdI4k+wUX6jyM+1FgTgkCIDUaDEqBHHN/DSiQFKbgfqgwR/C4BSL8jTr1+a3ZsEtDU9YJ0QX8IxisoqgiLmaA83SXwvefVQpuYnWtJbdxDQrEDiHNiJk2NgyzhroFRAH87tIau+kxZnf5fegsOqLRODA9XrqL7DEaNiiEBRnW+5Ln8QOF8i5ERilPqGR3NXwXvMlAhHqRPbSd8a4f3iPPvrI1gck6dzAmrlj9dI1xAAy43Nx9mm+L/gJzhY/QXbkyLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

什么值得买 | 科学消费 认真生活

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADJUlEQVQ4jVWTQWhcVRSG/3Pufe8lk3SSTtUmmVQXaZXYgGOibaKILSoKCioaXCi0AXddNwXpRugmdeW2XWRcKYpCN0IRKrRU22BD0kaDbYaCpkksWDKTzMx77957jhsj9Vt//7/7CP+iABGg6eTE/kj0OAkOifcVFYUyL6jQXOp9tefi/MqOCwCEhwjvj0+T6CmytoTcw0cdUDaImtsACM6FB14wU/jhl7M7G1aAASC8N17lJJmRpFByqXNZKw06Mqr23LeaFveE1mbDBXCpk2imcaRSVYAUYPMpoG7yxZNGw8mw94mcP5slub1s5dY8AYB59yNQTy/ZDz82YiNpz/3sdnV1j9X7H212/rlx1abvjA2x6mlpZ6JdRYPdexhxonzsBPHYBNQ7SO4hF75Wd/UKa0fBNNNcoHp6c2zkO45MNMXGFH2rLRgaZl35Xf2NayQb63DfXwBEIPc3wAcrxP2Dqu2UnUC6gKIYTLF4PQwXVMkQTbxM4dYNkrVVyN0a7Gtvwl+7Ako6Eb89CRoeodBOSUHkgqoKDrOCKr7eAB0cJX66AjowDO19BLrdBD81At3agvvpMvxvS0CcAF4UQSn1AhE8Y0MI4CiB+WAK7vznal56haKpE9BWC+HXRVBPL9BdRFj9Azz0JIQMGAxSQIOA0U4X4r4y3KWL6r6qkipBm02Y58ahWQZ6rA8odIMHBmHKgwjbTfJra2pzB1IsWtjkOv5af9XfvqNIOpXyDFKvE2cZZP0eqLcE2tsPvzAP6i7qrulPQANlpfPnqLVSu87k0tlWHhq2UGDNnYgIcW9JKY4BMLRRhykPwgwdUC6XyY49LyZOuBnFjbx2d9Z2XFqqNY6OnilE5mzebOUIntA3wEgzjd94C+7yj3BLS8gXFylsbIg0tsLuNIsz4MzjQI0UYAKkfuTZanG7dax99HXowD6XffMlq43Z31sFBIKOTiEyUY+1+Fvpi/6bN6dARP+LafOFyjRn2amEbSn3AZko1FjECpigSIM8cKIz/cvL/8X08AEB0PsTo/uty4+r0iEJWtEgUNUFUsxlaV7dV6ut7LgA8A9TRbIkiB/PvgAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

站长之家 - 站长资讯-我们致力于为中文网站提供动力!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAi0lEQVQ4jZXS0Q0CIQwG4La4kMkZF3AinOPWcAncABpHcQGRe4Bw2ANT/jfg+9M0AY11MBVjXWoSQogeo0dxn2Oso7bMzOd0qcfT/XkcQCM9Ck3pUtDrUhD6hf7omDmvROKBlm9XXx/vnx2UuhSy0+h9QlcDgNCdHf7ks94mCllrC1WrCq0GAJz93htemlx/Nw7NbAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Solo 独立开发者社区-链接每一位独立开发者, 从 Solo 开始

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jX2Tu28kRRDGq3umH9UeM3cnj/Yxa1vy7uoYm7VkLGxE4ARhJExAQESGkLzmTyBAhM7uREaASHBCbBwQIAiIzAoHIGxHzjZAwlzifdxMz0fg2ZM5cVdSd9L9VdXX/StB/w1BRACgdnZ2esPh8DUiklmWXR4fH/8qhCjoZQFArK2tvdtsNr+P4/ivKIrKKIoQx/GThYWFn9bX1z8EEPyfVgBQ3W73sXMOSikYY6C1hrXWG2NgjMHc3Bwajca3+/v77nlxmGXZ4+piWavVTlqt1mGtVvvZWgtmLpxzubU211ojTdPvAKjKMtH29vY7zjlYayerq6t9AAEAASBst9ufMzOY2TOzt9Y+ZWZsbW19MvOtW63WiZSyXFpa+qHKTEQUVOdcr9cHWutZJ4VSytfr9d8uLi7mZf/j/sPJZLIppSRr7R9EVFRiT0SSiPIwDM8BkBCiBCCllGI8HvcODg7elpdXl6/mef6AiOjm5uYtItKVOCCikojMaDR6Q0oJALeblGWe5+Hp6WldFkUhAQRBEOD6+vrNdrv9xWAwcADE4eHh/cXFxUej0eihlLIkIimEmFmH957Cbrd7eX5+/s90On0AwA+Hw892d3ffV0r9OZ1OXx+Px10hRFnZEUII8t4LY0y5srLyNwEwaZr+qJTyzrmcmf2MAWMMmNk758DMsNaWdx7x97Ozs3tSCDFtNBpfaq2l9x5EREEQlGEYFkEQlOK2Z9BteQDwYRjKZrP51cbGxpNnIHU6na+ttaj+uXDOlXcXMxfM/FQphTRNTwDoZyBVSczy8vI3zDxD+C48pdYazjkkSXK8t7d3/0XDFPR6vY+SJPkliqKJcw7OOczPz+dJkgw6nc6nd0B7cVxdXdksy96L47gfx3F/c3Pzg6Ojo1eeG3siIvoXsuwwBwy7yPsAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

(つェ⊂)咦,又回来了!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAADG0lEQVQ4jQEQA+/8Aff79/v9+5LhlzXkE0QjTPYZDAwEC8Xtxez97E8XT/j9+AMEBgH8/v/+/gQEBV/GXwMYWxju++1AET0EGxgaFyKk5qrV9NU3DzT15PYKFQuR1I4w/iIKDhL/BAMA/v4wETAB6/nts+KxFAgUEQIOOxg98tLTle2nBeAW4brb9kgASRkrVMkP+n1bAcjUBTMqAQYEAgDy9wQHBDQPNDEYOP0CAg/r+gWp+t3T30VWQxTWD9i24fs5JAL+/ffW2vD27P8AAAIwPlPxue/eDePBv58C5O3ZLRiow8MX+Q/Z09kS/w2vt77UHA0FBAXuYj2t7rby+vEDJ1ijzL7FAN/fO/QWGCIin6ypojSgwTzDvJjEvWK76C/nJMwe9Sr2CfUDRxxGk9iTAvbduQ0zWKC/BGa/xucN+z44OxH9EwjlBFYiGAniBAvwDC80MicLJuD54Pn8+XUsdQJ0VCPx1q8yRFf2C0BbY38NDQg8vkecjEmg7giPlT44r0I3NzYfCSDs/O78APyl3KUCHBge9ubm3MjLHycu1/IXq6uoFyUS+kIg5RINB0IqCx0GAv3+APr8QQo7qt+pJxAnBAAdAAUWB///Afz9+wwNDeHi1/Hy9/5NS7DfChIfJfy3tcGGkz4sMR0IBEhAQBoUIwT7F/r8BAAHAgz4+ff97NXr/e3+AQLY0dI6Pj/b19fz6OulANTZFgoTEBFgGEr8/fwDl4SYtuGR9e0J7dnKPBzxWFpbIyIi1NfX6Oblzc/PPDs7Tk5NzdHUrrOw9/j2OTg5AZfamBwMG8GEwgL8/y86Lf73/gEDAfwD/bCxsSwrKiQjJP79/sjNzx8aGcvNzCotLAH////w6fGFqIPhFt94JHq+6rwTBhQ6FjsBAv/9/v77+vv+Av7i5uYQGRYXCw65u7oBseGxEQkR2fbZCgILWh1Z0vPSEwcT7Pns9vz3/f78AgICOhE6AAAA/J6z/1hBBQoMAd3y3QL/AgD+ACAQIPr6+gYEBgD/AOP24/8A//7//gEAARsKGwD9/9fJubQPzl4ZY46he1piIDWyAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

小众技术工具库 | 专注分享实用软件和精品网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC9ElEQVQ4jV2TTWhcZRSGn3N/MjMx5mdi0kZKI80P6kKJWmKs8S9CxYpCXYoiSC0tIroq2IUjbgrFQne6EYRQDKW40I3SdqF0EUMSTUI7JlibNNE0TTrp5M7kdu7c+7qZkdqzejk8H9853/u9Rq0kOWaW1PRQAq8qYbc5GAmricN53+yne1nv7obCsI9U6tSVudmR6clfM38vL5EoovuhXgaefPpDSRPAcTP7uX7GJJmZSdIwcO7336Y7Tp/4TMFWMQ6CEjfXVrlzJ+T++zLOW+8dcY5+dKwKfGBmX+VyOcczM4Vh2AN8t7yy0n527EyltaPL797zsLsdlllY+JOdO3fQ1trExtrNaGF+3u3r7/8yiqJrvu//6AB4nncCaD/zzdeVsdFR/+rCHwS3b9HS3GQH33zDBocGmZmaYvGvBe/7c9/GShI8zzslqQlJj8dxXJYUn/7iZPz6/heTMNhMdE8dOfROPPjIruSlvY8m+cuzVUmqVCpve8CImWUAPTP8PMFWgYnxcbr39Kq9s9NmpiZpaEhr37Mv2KWLF4i3ypRL2wIEHHCAXjMTYNn2rKWbs7o0Pmmzc3OWSqVZvL7C6NiYOQ1pSze16OjHxxh4aq8L4Pt+j1O3EpDrehrZN2QWljSfv4zrekhVos11+nd1KZfL2buHDlO7HcA1SceBz4G4miRuYfGq2uJtJ8p2aNs8yziQKQcEQYmwJZs0tz1gvuclZuYAPzjAL0AMOJ7jWOOOB2018bR+u2RBsST8Ri1vhaw7KbV3dlmD71NfGbhgklzgIvCcpKqZubc2NylsbFAOAltbXSGOKhp++RUy6TSSEjMz4AYw4JhZDHwCVGtjVbOtreb7PvMzE+rb3aXHBp5gq1gEsBrvAJ+a2Q0kObU8vF/3fDsMo3z+SlQJi7FUjReXlqr5fD4qFAp15GQ9Q9wtJO1PkmS6TgVBoI319f8+U6VSuSbpcI01ag/xvzhLagQOAq8BPTWbrwPngbNm9k89gAD/Ah/Lu7htjeb6AAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

异次元软件世界 - 软件改变生活!

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACWklEQVQ4jY2TX0hTcRTHP/dud07dJprTtkqLelCuhZAVQY2hJGosjKZUD9GDUQRFBr71JL0UUWC+aS8lPWhiKBGJlfhoCCZeMoSk4d9N03nT/bn708NczlLw+/SD8/2e8z3n/I7AP5j0ac7u8cD9YU/YMaNGswDsZp3/ZIFhqLYk/WmxVRpM5QvJhxqP57UMqu3dYwFX/N+sKeRa2djXWGFpMAuC928CNR7Pa+xe/jQyo8k7aLeg1C4pLe7scrMgeEWA54Nq627FAKOzmvzs42o7gDjp05xvxgJ1ACZ9lJtlemyZ0f9E+RmJmEVKxHqUoGvCq1Xp7DVNj5WFiAzgliXuOvZwviidEc8a3vXEiIpyYrS5c3EcNrGyrvF1IQZALB7PEoc94cpkFUkUWF7TUOYCtNXnUXEQDlkivKi38mMpzOLvMDph09WXaa1SnN1YVRKRWJw7vX7eKSqPXFbOFEo8eL/I7Z4VwpGt+5lXo2ni9mMS6P++TuvQEvecuZwuTGOn1eptZp3/58qmC70o8KTGzNkjJi6/nGN61cfD6lzyTTqkVP9AvkkMiacKDEOp9rMzJcoKMrjV5WVKlRiYghtdXo7a07GaDcRSrJw4YOgXvvk059XXvz4DWKQo148beasE8ai6LdX2ZUa5VGLk1WiQ5VAi1nElp1oAaB7w9/YoQdcObW4LV7HxQ3NlVpUI0FhhaSi1S8puxcdsktJ0znINQAQwC4K3xZ1dflE29u2mcmtd4g5IvcYkJuaDFzrHQw3D05pjYeOP7DXrQmX7pX63bOyQbWmdqfw/Cxne8dCeVlcAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

小站

发现导航 - 精选实用导航网站

Emoji大全 | Emoji表情符号词典 📓 | EmojiAll中文官方网站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADTElEQVQ4jWVTXWyTZRR+ztuvX9v9hM3BsjV6oSYaftZmSDe7tVOUAMafrqWLcfFvKu00jHhBCCYG6xX+hBDCDeNCE0KQGy+EBJkOaV032FAcTbfgqmxituzHDRi6td/3fu/xYjT+8CTn5jnnec7FeQ7hf3h6+0v+m/OLHVJaQd2h3y+IkF8uTGl220DlfZWfne850Xd3lAAwFYWxWMyeGf3jACvu8njW6g0+L9y1awAQpmfmcPlyBsNXR00hxNENazfsO3YssVTUirZEQn+8KXzm+dYYn/06aTGz5HthfdubVuG2d9gfiCRjsUQJAAEAaGwOf/pcaCfncuMFZmYpJVuWpYolTVNZpsHMzOO/ThTC0bc58ERbNwDgqW0vb/T5XzDP9aTu2aqUYlaKFTMrZjbu8qnUJdMf2GG1Rjuf1G4t3IzX19dpW7cGlVKKT35xGlJKevWVCAgEFgSMZUCzk9CImCuqEGxpsHm965DJjOzSTCmDjT4vE0gs5/M4fuJL5PMFRHc8g9LSEjAzqOcUOHkaCkSWxw99vY8bfB6MjFzboum6XlNbW00A2OVy4sjhBElpobS0ZOVWRKD23eBQB2xOHTbHCu+urSYQlWv/zoBSCo8+8vB/csHMUFU1QFUNsmMT+HNxmv2b1qz0FEMzDGNmemauAgAx/yO0LAtCiBUDaUGzazj40RFUrCon/6Y6npyaYd2hmULT7OmhoQwBsIQgnpub56WlZdhsNhARhBDQ7Bqy2Z+RHc1xNPosA6DBwWEucTkvitUVld3DV7Oy93w/hBC0d98Beu2NPdw/8ANu317EwsItfHWmFzs73+OWgI8CzT7qSw/Jsdy4qK+v6yYAaAxGDlVXrX738KH3DSKyf/zJUfppeIRdLgeUYhQKBiLh7di7J043bkwau3Z/qJeVu86d/KCrFQDE64mEs6kl+k0o0snJ7wctZubZ2Xl1IXmRk6lLfOfOX4qZ+bsLAzIUiXMoEvvlypVr7uJHAQASic+dqXTvwXx+Oe71rLM1Nz2Ghx58gEGE69d/Q1//j5TLjcPtru55q+PFzs2b/RMAqGhAABgA2tu7tvw+NfsmmLdZyloFAC6XwygrK0tv9K4/vn+/8xRR3Cxq/gZYvbxpRSw4agAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Apple logo Icons & Symbols

发现导航 - 精选实用导航网站

MSDN, 我告诉你 - 做一个安静的工具站

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACD0lEQVQ4jY2STUhUYRSGn/N502szxCDmTGR1hVqUCS0EI4sSiqQSC5IWBeNCKNrkIsilkAVBRZugQEKjMsTAIELDGhdBP7QYAqPAdAJHBEknm2a07tyvRXOdm8xE7+bj/LzPOXA+IauFY1YYpAMwEYnG1y21bb0Z/wpw+XFReMnMnEfwO5pxneFM1yE+AxgA35qtOo10i4iR5VkbposNoOn23dK66dJ0t9urBEsb9AB7ABSAUqrVYwbAETkyca4iOBVKt7pmVwK7L40QzAFE224xZay6oR09gtaxH/gIpI0ZDe8yijYg6YHY2Rei4YbqqoXYaxHxa/T4WEVo365br+Juc38/RZNruJpStP/ZjicXD9C0vMGO3sjYcKi+FhgUzVQwmT7e39JS5AK+l7A5KVQ6MOoTumrmOerZJKeG60PVMd/6xsnTNdfcnH5GH0LIjWMOPVUH6XVjA2DtnfETs8Xl7RHRO9HEgGXAl19lA0FjrtZUdAD4FaPeoQpgtqTcQrRJHlmH5x6RYciNVzYpAE4GrijHHswHADA8R1ydFwA4yqCQFj1z7b+/RA7wLyXsQEHLfwG8U50VtXyASp7qEm/iRaY+UQieA2h5CYBgMJ/oCNyf2LTtwdvqjX3vL0ScvYtAFMDk5/78gFOB50A7WmaAzgRlHz84WzobzNGBe81nP71JbW9E8xCw9TBh1/YbqbqoHhHn6oAAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Greasy Fork - 安全、实用的用户脚本大全

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWklEQVQ4jZWTP8rCQBDF3+KiKQxJMChoIbKVdxA8VMADeIUUdpbewBt4AFshoPinUBHRSAqLfV+Tb1HyRx2YZtn97Zs3M0A2FIAJgBWAZ5qr9Ezl3H+L6WAwoGVZBFCU09yXQoglAPb7fe52O0opyyDLzM8AGEURa7UalVLfQIwSNRwO2e122Wq1uF6vDWS73X6CKACYeJ7H0+nEdrvNZrPJzWbDSqXC8XjMw+HAarVaBJggdZi2bRtIo9Hgfr/nf8zn8yLASgLoAUAcx1BKIYoihGGITqdjDDqfz0Vd6yHts6Hats3b7UattVFwPB5Zr9fzFDxNCa/pOA4XiwVnsxkvlwu11rxer/Q8L1MCUiMKnXZdl4/Hg1pr3u93uq5LIcSbiaoMAIC+7zNJEgN5KceM9rQMIISg7/uM45gkGQRB7kgvPylxHIej0YhSyswof6WkdJle4qd1/gO5YCO0UWoSswAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

PowerPoint Templates and Themes | PPT Slide Templates | PowerPoint Slide Designs | Presentation Backgrounds | PPT Icon

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACCklEQVQ4jXWSS2tTURSF1zrnnptnE7WxTWpbK1KxtQWp4EiqFFHpyJEgOBD/iE5E/AWO+w/MUEciWgdiBUsxtqaooU9jtSTNTe4992wHfUDFrtne7LX24Ft0ZRwhQgTHJ9D6gdQpBquSHkBQ0w/vHn2tDa9+pIQceQytOfqUdptHfwAFyI9JsIJEkeGaJEpor9GV4YQiB8kAQQoBJ4QVKMBBFCmiNDwAOiEwgNtPFqADADopUIAABCiwkA48CL5UM5++d0nMhJGEiXqOReNDTVLml7o2tkzHmjAitIwPNs6fbnFjxr/95PKDyW9TF+uEimJ5NV8oz5WccHps7cbET99Q4N5Wup+9ODNz/73XUwjvXalNX6v39bRdmyopXvev2opnrbo1tTXcH7iAypdssV5b8bxGRyGJwWKrUk3DhwPgofI5fX1o8+bZ9cpiChoOgI/Fr+lSIsimoB/dQSEXld/0si1B6M1+yNeWzaW+rXwqmqvmV+spCpeW0y/fnZgc2DQ6pnsOGmw39OzrzJ+GyiXj0d6GAyBQ5MJ6Zsd6hu7cyVYuaUMLujJEQI8U+b2A5g46AuxjSRkQANC2iB1IKAAkxIoT5oYJn86S3DO0QjRDNkM6we5S7QEm6ET76L+AbBZxtMscJBRFUQ76og71LRYaKY0im6PYPc8/UocmQmLQoDiCdIbi/mP4Cxdq555GkbmfAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

Download subtitles from Youtube, Viki, Viu, Vlive and more! - DownSub

发现导航 - 精选实用导航网站

ProcessOn - 我的文件

发现导航 - 精选实用导航网站

Hoarder

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

✉ Guerrilla Mail - Disposable Temporary E-Mail Address

发现导航 - 精选实用导航网站

临时邮箱、十分钟邮箱(10分钟)、临时邮、临时Email、快速注册Email、24Mail--查错网

发现导航 - 精选实用导航网站

Attention Required! | Cloudflare

发现导航 - 精选实用导航网站

Moakt Email || 临时邮箱专业服务

发现导航 - 精选实用导航网站

Mail1.io - Temporary Email Provider

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABfklEQVQ4jZVSu04CQQCcfeADCgN3cjEUSrTBX7AzlkYt+AB74yNEjR+g8SyMBUH9CWy1g6jRH4DC3F1DAGOhwQQhwt6uxXFITjRxmt2d3dnMzC7RdAP/AfcGKaWUklJKKe3vSUD5cwLQvkApNT+fSiaTlUqlVCoDIIQASAlhSFcBBHimzOIcADTdiMYmc7lzpVS1Wt3Y2JyMT8W0uKbFz0ZGbeAJcIDTsXFNNzTd6FmilAFIJBKmeTyTnMlmc1BqemkxGh7/uL9XlkUDGTx0ut1IJLyzvTU3OyuEWF5d4aFQZ33907KCoT3cXN80m810Or22tgqgK0Q+f+Xe3i0MnKGDgnq9vrd/cHh49Pr21mg0TPMkk9mt1WrkZ61+Etpqtc4vLkvlMme8UCx6XQ95Bw/KL7RQKAJgjHnLXwV9MMaG8sEMwduG8T2B7TgPD4+27fz00CakQUjb54n3+TjnjDHXdYUQAYEh3Qmp3il5oexb8AeUV4ZvbHjoQIBBl1+HUIfoFURH2QAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

临时邮箱

发现导航 - 精选实用导航网站

玉豆分享

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB4ElEQVQ4jcXSP2gTcRjG8e8v98ekMU1CEmnSEgRxqCCUIr1m00pRcdBBtOIiKEJydCjiVAR1dBNJF3ESuzi5KHaQ6mRQqKJUKxUkkRwWsUmaNL27Xn8O0rTY2qqLz/w+H3hfXvjfEX86KHPGKTwOgQzjF5fFrcJXAHXbotl3pVxzb1pVB6VTw9euEC95GnBmW0CaxpRVdXrUtI4v5GO56IACCGqrMy1A5vpHEewDeV/kC49kznhl1d0eEVFoPxrB/eaCELhvmxDRn2+4gRw2usrfnZKiCaxFl5rj0R0N4OkQOv4TcIsO7iebzntTrZ6vJd0ufEmdT4xLQBOCYt1hprKEYksWHlewp5ssz9qkQjuur1+zBcisYYrBiXMdQ4nhRFijN9bG5wWbmaqNsgQrcx7JsD4rxl5c2wBIsy+DwC/ZH0WT08ETUeJta8j7SpPkTu2jyBf2/nrotRuMZALWvL2YxHeXfPpqY7JWbjycZ67iYssVDjx4t+nPtFbAls+SQe0pusySK90IBrSDu07GLsRDGl1BHWkag1sD+AdEvnAYVX1iCe8iA29eciw13nE6dsdzJcDZLQExNlmXI5kAoCYbe1Sy6VGyH4bEkYlLqUhgN4jXmwG/jTT7e/+q8K/5AXzmsIjgOiEFAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

首页 — iKuuu VPN

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

vpn

发现导航 - 精选实用导航网站

8866-PyCharm激活码最新2023永久免费提供_pycharm密钥激活码_Intellijidea激活码_jetbrains相关产品激活码

发现导航 - 精选实用导航网站

云萌 Windows 10+ 激活工具 - 首页

发现导航 - 精选实用导航网站

激活

发现导航 - 精选实用导航网站

自动发货发卡系统搭建教程_小红帽技术的技术博客_51CTO博客

发现导航 - 精选实用导航网站

Agiso 阿奇索自动发货软件

发现导航 - 精选实用导航网站

自动发卡

发现导航 - 精选实用导航网站

贝贝BiliBili - B站视频下载

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC2klEQVQ4jQXBS2xUVRwH4N//vO6987jtMNNbSjtlhlZFKQVttG3apELkEYhoiCSQWAMutGxYuNFEVsYo6cKVCTuDBU1GmqaGEDEGSGUFCZQSaSGMMzVoC/Q1HWnnceeew/dBIkTc5oAA6mwVq48yIgAuRciSEHAAIoCIQQKKHMZKBpbNT+7b+7YXV4FZNPzy/enMzVuwCTBUBgMCAgxJgGtmEmH73ImPBkXilfn1LUKlOb2bTLmtG67/lSWjlBE+AhAUoAFujDxzZP/hchHF0p+NsW9nHzx3ZXup1OV5K5HQZP4/h7lVU2EwDKhxsNSGTQNNyUJ17UqD+nj055VoaGhkdGS96Gv7g/7dVsj5Xy9LpjjgCw5hsXiU3AJkOH325u0vjxz7pWf38IfHhn+9lm1JDo+P1dl4p7fL1yUjBGkOYzgnPbhte/Mqn5S493h6j8O3CNX6+sDx7848LTy5cOLo0Gs7V5m+nfvHZgLa58VyxW2L98TjzZa7tcV7ae5JlPEpi12dnhkf+rTv8VyQy/W81fdMyclc1iHiLoVv5PObujoHhGzLzcJLXGKhL37K/HBq8M38Uk05DzsbE4/m32vrnKgu5+cXOAiVoHrl7qTT2NCyo+PSWuGr8YvffzLU9/eCbtj448rSyfOZ3jd2pgt+LJ2cuDdFilAVYAFIw0skiPTZo+93P1sNZOhCpXp6bMwP/M8OHfjabrrvhQ9lRlgNgIECIjI6v7jY393f6zRFF5fvtNLnFzN+4DdE7IPJjavrC2vks3KNG2kjCGpAJagyZmWzjxJebHtrKvK02N7x6uZU8vSuvh35f7G5/tzc3O9TMxzGgtEcmgEwQY2ZqzMzTnt6r5t6mdQuGfKWVuoaY3/o2jejvwWBTRbIB5MghqAsDBlIzSvGHOzvPtyxrUmbNQsTudnzl689h9FCABwAgDCYTZI4hwSTFAXQTJSudx1HAeC8noSEwgsTsxoSF44BMQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

视频下载

发现导航 - 精选实用导航网站

tools

发现导航 - 精选实用导航网站

ZType – Typing Game - Type to Shoot

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jYVSS2hTURA9c9997yUmNomNitGFKwWlC7VFEZEWFLoRdFFBRCguqqBQP7gQRJ67LpRWgi4E0YUgJPgFhSr6qlWxtRZUVMT/B21BLdGmyXu5946LlBRR8Sxn5sycmTOESewoDyxwQnexgdECRIACIDEFBQ3AtiSFYWkse/RaPzzPEAAsynnOmrWt/dFI3TdNpgiwRQaAABgAwIABIIhhDDSZpWoi2JStX3FfAsCy1RtsVS5Yb173b8o3bivgP9hTfHSJpZPClMYRECJOKrMo0f7WD4rSpdQ8h8aevVH5xRtDMFO1Li9AG7WwrIpAVb0AgI/PnUDY9qjrWOdiEat3lq1uyC/jFzOZ+QN7xh8fARG3TZI7PvtpUwkW6ooeqSnoa2lR89lfF/9qzwgcLdySLgnLbRBSnFXlidtgpjyR3vzyal10Wry3otWZY8nlw2Am+tuO27/emxtxnV4dlA9m06vOg5na3512k/UN18F8qyfRdADMBCIWNRZ7AgC2friTcW3psw67s+lV55vZlzh0yErObLjMMAM9iaYDHrMAEU+NZBAAtI/5yc7C0NDOscFOAOjgIRsA7f4xfGVXcfg4AHjMsi2Xs/6QvWWkN9ZZGLzbWRg8CADN7MuqZY+zeyeeHP6XpQRm6nh4QkYXLM0R6FVPXeM+j33pUYva9WPoFAOtYVDZJi1MF2A22pAzra5o1Pjt7sTK7xJE7BYeLCFLpHtiyzZ47AmPWnSz70kVhi9I0KjjymYiFgyQkDzO4NYg0HkAXRIAmGALskYBwCPPVK31VB+8rr+69OlmmWwrWfsDYdvEbFLr315IzhE2VX85gbitfjtWGEBGUzKggDIM87PWQE2E7xm6fq5b3wdBKkkgGCaIKT6BWEaYqMwVskQGBvur8Um0Pc3FE+kZMW0c4xZLZM+OcqVYquWDWJTVaIkQB5woq5OJ1u8A8AvD8D79cc9ctAAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

game

发现导航 - 精选实用导航网站

莫烦Python网

发现导航 - 精选实用导航网站

Python Projects for Beginner to Advanced - GeeksforGeeks

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

Python Syntax Checker PEP8

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

python

发现导航 - 精选实用导航网站

The Everything App

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNUlEQVQ4jY1SQYrDMAyURG+lkJIfJIf8oqc+u59xKARKbBObXoo92oO6blh2Yediz3gk2bJYVYlIVZnZ9kTEzCY2agYi+pj+CbGl1Xm9Xi3FnjZR9tHbtl0ul23bfqWGg0Vbglrr/X6vtdpZo83AzG+3oZTinCul/ErfYaoKIKUEQP/A3kAAQgjTNHnvAZRSWmSj3vtpmkIIAISZAazrKiL8jdZ+g4is6wqAmUVVRaTv+5wzgH0HbQMg59z3vYi8rwTAOTeOY0pJVWutJlp/UkrjODrnTDxY6a7riOjxeJRSzudzu1KMMYRARF3XvWenJVuWZRiGYRjmefbee+/neTZlWZZWlq0h9tAYY875er0+n08iOh6Pt9vtdDpZTbOxvf3zkUQxxkab9TOzrcKP2d43aj/hX+p0kdT5jcFLAAAAAElFTkSuQmCC

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

docs

发现导航 - 精选实用导航网站

My

发现导航 - 精选实用导航网站

新人看板 - 新人 - ByteTech

发现导航 - 精选实用导航网站

文档管理-线上-火种服务运营平台

发现导航 - 精选实用导航网站

文档工作 - 飞书云文档

发现导航 - 精选实用导航网站

APIHub - 接口研发平台

发现导航 - 精选实用导航网站

火山账号管理-账号管理-Byte BABI

发现导航 - 精选实用导航网站

权限中台

发现导航 - 精选实用导航网站

‬⁡⁣​⁤​⁣⁤‬​⁢​​‌​⁣⁣​⁣‍‬‬⁤‍‌‍​‬⁡​⁢‬⁢工单-⁣​‬‌​边缘云文档体验提升专项记录

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

‌​⁢⁤‍⁤⁤⁣⁢⁡‌‌​​⁤‬⁣⁢⁤⁡‍⁣​​​‌​​​⁢​⁢⁤‬‌⁤⁡⁣⁤⁤⁣‬⁣‌⁤⁤科锐尔人力资源服务(苏州)有限公司报销 - 飞书云文档

发现导航 - 精选实用导航网站

‍‬​⁢⁤‌​⁤⁣​​‌⁡⁣‌​​⁢​⁡⁤⁡⁣⁤​‌⁡⁤​‌​⁢⁡⁤⁢⁢​‍​‌⁡​⁢‍​​‬⁡字节跳动(中国大陆地区)外包管理规范 - 飞书云文档

发现导航 - 精选实用导航网站

外包资源管理系统

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

科锐尔

发现导航 - 精选实用导航网站

火山引擎控制台BOE-SDWAN

发现导航 - 精选实用导航网站

SD-WAN 接入服务 更换 Edge 设备-操作指南-文档中心-腾讯云

发现导航 - 精选实用导航网站

如何释放一个不需要的SAG实例_智能接入网关(SAG)-阿里云帮助中心

发现导航 - 精选实用导航网站

安装和登录EAG App客户端--边缘接入网关-火山引擎

发现导航 - 精选实用导航网站

‍⁢​​‌​‌⁢⁡⁢⁢‬​‬​⁡‬​‌⁣‍‬​​​‬​‍⁣⁤⁣⁡​‍‬‍​‬‌‬‬​⁡‌‍‌‍SD-WAN+二期MVP差异部分PRD - 飞书云文档

发现导航 - 精选实用导航网站

‍‌⁡​⁢‌⁡‬‌⁣‬‍⁣‬‬⁢‌​⁤⁣‍⁣⁡‬⁤‌⁤‬‬‍​‍⁤​⁢​‌​⁣​‬​​‬SD-WAN+二期产品 - 飞书云文档

发现导航 - 精选实用导航网站

‬⁤‌⁢‌⁣‍‌⁡⁢⁣⁤⁢‍⁤‍⁢⁣​‬​‬⁢⁤⁡⁡‬⁡⁢​⁡‌‍⁣‬‌⁣⁣⁢‌‍‍SD-WAN+二期文档问题&求助 - 飞书云文档

发现导航 - 精选实用导航网站

SDWAN业务线需求-文档 - Meego 项目管理平台

发现导航 - 精选实用导航网站

‍⁡​⁣⁣⁣⁤‬​⁡​‬​‍⁤⁤⁣⁤​​‬⁡​⁣⁤⁤⁣⁡​‬⁤⁤​⁤​⁤‌‌⁤⁤‌⁣‍产品需求 - SD-WAN设备高可用与动态路由 - 飞书云文档

发现导航 - 精选实用导航网站

【SD-WAN】【端】升级/重启/重置(本地控制台) - Meego 项目管理平台

发现导航 - 精选实用导航网站

什么是 SD-WAN+--边缘接入网关-火山引擎

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

SD-WAN+

发现导航 - 精选实用导航网站

‌⁤‍​⁣⁣⁢‌‍‬​⁢‬​⁡‬⁤​⁤‬⁣‌​⁤‍⁣⁤‬⁣‌⁢‍⁡​⁣‬​⁣⁡⁡‌⁤⁤​⁤⁤⁣◆ VEI 文档需求及反馈 - 飞书云文档

发现导航 - 精选实用导航网站

智能边缘-控制台BOE Stable

发现导航 - 精选实用导航网站

边缘智能文档

发现导航 - 精选实用导航网站

★ 待我处理-VEI设备管理&物联网 - Meego 项目管理平台

发现导航 - 精选实用导航网站

工单中心-线上-火种服务运营平台

发现导航 - 精选实用导航网站

ArcoSite-边缘智能-设备管理

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

边缘智能

发现导航 - 精选实用导航网站

E19-1.7-租户-舜宇-veStack

发现导航 - 精选实用导航网站

Sheet

发现导航 - 精选实用导航网站

‌​​‍​⁢⁣⁣‬⁤‌⁣⁣​⁢​​‬​​⁣⁣‍⁣‌​‬‍‍⁤​‬⁢​⁡⁣⁤​‌​⁤​​⁤‌​‍​物联网平台IoT Arenal - 飞书云文档

发现导航 - 精选实用导航网站

‌‍⁡⁤‌‬⁡‌​‍​⁢⁣⁢​⁢⁡⁣‬‌⁤‍‌⁣⁣⁤​⁣​‌⁣⁤‍⁣‍‍⁢‍⁤​‍⁢‬‍‬数据转发使用文档 - 飞书云文档

发现导航 - 精选实用导航网站

‍‌‬‍⁤​⁡‍⁢⁡​‍‌⁣‍​⁢‌​​‌‍⁢⁢⁢​⁡‬‬​​‬⁢‌‍‍⁡‌​⁤⁤⁢‬⁤​‍⁢⁢IoT交接文档 - 飞书云文档

发现导航 - 精选实用导航网站

‌‌‌‌⁡‍⁣​⁣‍‍‍⁤⁣⁤‌⁤⁤⁤‍‌​​⁣‍​‍‬⁣‌‌‬​‌​⁤​​⁣​⁢​⁤⁤⁡​⁢备份 - 飞书云文档

发现导航 - 精选实用导航网站

IoT-SDK设备接入 - 飞书云文档

发现导航 - 精选实用导航网站

EMQ 文档中心

发现导航 - 精选实用导航网站

JetLinks 物联网基础平台

发现导航 - 精选实用导航网站

物联网平台(IoT)-阿里云帮助中心

发现导航 - 精选实用导航网站

物联网开发平台简介_物联网开发平台购买指南_物联网开发平台操作指南-腾讯云

发现导航 - 精选实用导航网站

ArcoSite-物联网平台(公有云)

发现导航 - 精选实用导航网站

沙果开源物联网系统 SagooIoT | SagooIoT

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADCklEQVQ4jW1T32tcVRD+Zs6552bvktRNtrFNEy32hy1VyqpE8GlbBZX0QRCrhIK40oKIFEr/gCj4Iq0IIRXBvrQKYlqrPqmlUqFvagu1FdqmuDaNm2zSbdzsj3vvufeMD5utIh0YGIb55htmviHcxwSgbkzd1OfjObA+AqNKiJLfEYZFlKYX+X9AXgVJ1wEgf7w0BPJ+RF+mhFjOAupllKYX78sIAPXR0YE7xeLw7I6+fgDAn2M5nHnpTZx9rnCvaGKiSwYCIALocLTwOml+NY3C7YjjjOtb01Se/nkuu/HEi2sP+55pbQxyMreSzP1w/ej4EgAiAKg/uTWvVPZkYNQLEsdortuA+b37ET66A8b4aAnhQqsX5y9XUZ6tAXDXrI3fvvzB7nMkmzf7K/3Z073GjDWcs2wthUMP8bVjp2DX+OwigAlY2wOc+7WafPrtFfhBVidxeDeN7LO6mcuMZ5Qaa0VhoqxViCP2F/4SszSPtGcEXiySghAS4Y9KXS03LHpdw2o/k1OevKuhvbdUu+VWni7S8jO7KPfTd3Jn9x4Khx8GJwLHRAwgToBiYYPU6m1aN5DV5UrD/Xajuosaozsj0dqb+fAk6k9sJ64DogGOAIF0tkyACEGrThz0AOcvLsixM1dJc9TWjS1PobVpG7yaEwGIEkCIVm8rHUUASB3EOYFmksH8A5QP3CxTYssYfBBiqNOeSIS4C4Uw/6sWEWJJEQnYJH/TvoGvTzOH4RfGWhIHYRKo1R5udXYd1TrTEESIYI2mwFZd4dZE9YBMTbGZr0wmi5VyEIHbzJQKSESImWT9zSk8fuF5GZ75SBJF5CV1t/7WKbvz4hs8svjNe3QIM5qamK9XrhwcunT0K1V4hZs8nDqwZhtT/8L3oqMlGpj9Ejq+63qXf3F9UvZaK8mJbHnu4wkQk3R04uJPBg9IftNkHIyYUAIHsdTTuEnKhSIAjGuSNj5aqX+8xo+8M7J3un3vW0VARJDmZ1v2GOb3xcljDiCnMgBImABifTt16ZHgtUuT/328fwB47GuHDtGS+wAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

IoT

发现导航 - 精选实用导航网站

ArcoSite-云拨测

发现导航 - 精选实用导航网站

火山引擎控制台-云拨测BOE

发现导航 - 精选实用导航网站

火山引擎-云拨测文档

发现导航 - 精选实用导航网站

应用实时监控服务ARMS-阿里云帮助中心

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABXklEQVQ4ja3TvU5VURCG4WfW3ptwEjDGWOglGI0WdFZEr+FcgdGAFnSGkk5iR4XReAVcg4TKzkKjsbOVwlgI5BD2z1gAxwYsPE49X9a8M+9i1kpiluw0nM8t+m5wbHDFSOUgXmshn2j0Fv0yMa+4qcRLB1DnijsqW44sWTDnqpHWR60H+Al6ixq7brinM3HkJJ/5oLcWueqzebedYPBVeCe9iW2fzvGCzFV3hcfSQ8Utczj2JfKpVOu0Nv2wETv6v3KPVa7b0FjXqYsw6Ewc2owdfS6rLw0vq2NH79CmzkQYaimkQaNA7OlyxZbGff3pElUarffxyhpoFGlAXPxa2Be+Gc5wapWwf1FrLSSK1jAdc9uLSxH2dFqDeUXIIhW1kQXrOVbFnu58WUlJSo5VU7yxyoJ1tZFU/sMZz0ViyWBO/UekeHsqUj5yTWNXcyZSccKZSLOqPPNn+tfstH4DoqinIboRo4IAAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

云拨测简介_云拨测购买指南_云拨测操作指南-腾讯云

发现导航 - 精选实用导航网站

云拨测-文档需求 - Meego 项目管理平台

发现导航 - 精选实用导航网站

‌‍⁢⁣​⁡⁡‍‌⁣⁤​​⁡‬⁢⁤‍⁤⁢⁢‬​‌⁢‌​​⁢⁡⁡⁤​⁤​‍⁤‍⁤​⁣⁣‬‌⁤✅ 概念明确和文案统一(数据治理) - 飞书云文档

发现导航 - 精选实用导航网站

云拨测工单列表

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

云拨测

发现导航 - 精选实用导航网站

JSONPath - JSON 的 XPath

发现导航 - 精选实用导航网站

XML Path Language (XPath)

发现导航 - 精选实用导航网站

json-path/JsonPath:Java JsonPath 实现

发现导航 - 精选实用导航网站

JSONPath在线验证

发现导航 - 精选实用导航网站

Introduction to XPath - GeeksforGeeks

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

任务断言

发现导航 - 精选实用导航网站

‍‬‍⁣⁡‍⁣⁡⁤​⁢‬⁢‬⁡⁤‬‍‍‍⁡⁢⁡​​​⁣‍​⁡‍‌⁢​‌‬⁡⁢⁡⁣‬‍​⁡​⁡⁣全球化写作 - 文档改写排期 - 飞书云文档

发现导航 - 精选实用导航网站

⁡​‬‍​​⁢‌‍‍‌⁡​​‌⁣​‍⁤​⁤​​⁡⁤‬⁡​⁤​‬⁢‍‬‌⁢⁤​⁢⁡‬​全球化写作和框架-评审记录 - 飞书云文档

发现导航 - 精选实用导航网站

‌⁤‌​​​⁣⁣​​⁡​⁣⁤‌‌‌​​​​‍⁢⁢⁡​‬‌⁤⁢⁡‍‍⁡⁤⁡⁣‍⁢⁣‍​​‬⁡‬全球化改写 - ⁤‬边缘智能

发现导航 - 精选实用导航网站

AI文档检测

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

全球化改写

发现导航 - 精选实用导航网站

北京丽明科技有限公司

发现导航 - 精选实用导航网站

How To Set Up vsftpd for a User's Directory on Ubuntu 20.04 | DigitalOcean

发现导航 - 精选实用导航网站

‌⁤‌‬​​‍​⁣‬‌⁡⁢⁡‍​⁢⁡​​⁤⁣⁣‌‬‌⁡‌‌⁤⁢⁡⁣‬⁡​⁡‬​​‌‍⁢‬‌⁡⁢‬边缘智能-天花导视驱动开发-提测 - 飞书云文档

发现导航 - 精选实用导航网站

‍​‌​‬​⁤​​‌​⁣⁡⁤‌‍⁤​⁢⁣‬​⁣‍⁡​​⁣⁡⁤​​​​‍​⁤⁤⁡​⁡⁢‬全球化写作和框架-评审记录 - 飞书云文档

发现导航 - 精选实用导航网站

‌⁢‬‍⁡⁤‌⁢​⁢⁣⁣​‍⁡​⁢‌⁤⁣⁢⁣⁡⁡​⁡​​⁢⁢‍‍‌⁡⁡‬⁣‬⁣⁤​​⁤​⁡边缘智能-天花导视驱动开发 - 飞书云文档

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

MC100

发现导航 - 精选实用导航网站

工作

发现导航 - 精选实用导航网站

⁣​⁣‌​⁡⁢⁢‬​⁤⁤⁢​‍⁤⁤​‌‌‍‬⁡​⁣⁢​⁡​⁡​‍‍⁣‌⁣⁢⁡‍​⁤综合积极情绪疗法对护理人员中重度职业倦怠的干预研究 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

首页

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

ljy

发现导航 - 精选实用导航网站

⁢‌‍⁤⁢⁢⁤⁣⁣⁣‌​‌​‍​​⁣‍⁤​‍‍‌‌​‌‍‬⁢​‌‬‬⁤‬‬‬⁤‬⁢⁡⁤​⁤全球化写作 - 增强文档清晰性 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

‌⁣⁣​⁤​⁡​⁤​‬​⁤‌‌​​‌⁣⁣‌​​‬‌⁤​‍⁡‬⁡⁣​​‬‍‌‬⁤⁢⁡​​​⁡​⁣H1 总结 - 飞书云文档

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

Docs

发现导航 - 精选实用导航网站

‌⁢⁡⁤‍‍⁤​‌‬‬‍⁢‬‬‍​⁡⁤⁡​⁤⁢‬⁤​​‌⁢⁡⁤‌⁢​​‍⁡​‬⁣⁡‍‍⁡​文档体验提升专项:基于多维数据提升用户的文档体验 - 飞书云文档

发现导航 - 精选实用导航网站

7 Best Practices for Planning Developer Documentation

发现导航 - 精选实用导航网站

5 Metrics to Measure Documentation Quality

发现导航 - 精选实用导航网站

云速搭(CADT)-阿里云帮助中心

发现导航 - 精选实用导航网站

成长地图_云数据库 RDS

发现导航 - 精选实用导航网站

‌⁣⁡‌⁤‬⁣⁤‌‌⁤‬‬⁡​⁡⁣‍⁢‌‍‌⁣​​⁡​‬⁢⁣‬‬‬​⁤⁡‍‌​⁤⁤⁢⁢‬‬README - 飞书云文档

发现导航 - 精选实用导航网站

基本概念--视频点播-火山引擎

发现导航 - 精选实用导航网站

‬⁣‍​⁡⁡​⁣⁡​‌⁢‬⁤‌⁣⁢‍‌⁤​⁣⁡​⁡⁣‌‍‌‬‬‬‍‌‍⁢⁢⁢‬⁡⁤​​​🌐 写好中文——为翻译而写作 - 飞书云文档

发现导航 - 精选实用导航网站

‍⁡‌⁣‌‬⁤⁢⁣⁢‌‬⁣⁡‬⁤​⁡⁤⁣⁣⁣⁡​⁣⁤​‍⁤‌‌​​‍⁢‬‌‍⁤⁤‌⁡‌⁣开发者访谈实践分享 - 飞书云文档

发现导航 - 精选实用导航网站

‍‌⁤⁢⁣‍​⁢‍‌‍​⁡⁣⁣‌⁤⁡‌‌‬​​⁡⁡​​⁢‬‬‌‍​⁡‍⁤‍‍⁡⁤⁡‌⁡​文档工程师聊写作 Master the Craft of Writing - 飞书云文档

发现导航 - 精选实用导航网站

一个想法值多少钱?94年小伙把奇思妙想变爆品,一个人卖了3千万 - YouTube

发现导航 - 精选实用导航网站

‍‌⁡‌​‌⁢⁢⁤‍‬‍‍⁤‍⁢‬‬​⁡‌⁢⁡⁢⁢​⁡‌⁡⁣‬⁤‬⁣​​⁡​⁣⁡⁣⁡⁡⁡⁤⁤​⁢⁢我是怎样学写 API 文档的 —— 一个文档小学生的告白书 - 飞书云文档

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

job

发现导航 - 精选实用导航网站

EMQ: 连接物理世界与人工智能

发现导航 - 精选实用导航网站

eKuiper: Lightweight data stream processing engine for IoT edge

发现导航 - 精选实用导航网站

物联网中南向协议、北向协议是什么?南向协议、北向协议的区别-CSDN博客

发现导航 - 精选实用导航网站

物联网(IoT)的北向和南向_南向北向在物联网中的作用-CSDN博客

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

北向通道

发现导航 - 精选实用导航网站

how to pronounce localizaiton - Google Search

发现导航 - 精选实用导航网站

‍​⁤⁢⁣⁡⁤‌⁤⁤​⁤⁡⁢⁢⁡‌⁢⁣​‍⁡‌⁤⁢⁢​‬‌‬​⁤​​​‌​‍‬‍​‌​‌‬⁣⁣⁢P0 推荐|研发 leader 私藏书单,一起逃逸平庸的重力 - 飞书云文档

发现导航 - 精选实用导航网站

为什么中国的计算机教育这么差? - 知乎

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=

发现导航 - 精选实用导航网站

(5) 信息流 | LinkedIn

发现导航 - 精选实用导航网站

【TEDx演讲】如何在六个月内学会任何一门外语_哔哩哔哩_bilibili

发现导航 - 精选实用导航网站

‌​⁡⁤⁡⁣⁤⁢‍⁢​​‍​​⁢⁣‌​⁢‍⁡​‌⁡​‬‬‬‌‌⁡​‌​⁣​⁣⁣‌‌​‬⁣‬Refresh - 飞书云文档

发现导航 - 精选实用导航网站

‌​​⁣‬‍​⁡‍⁣⁡‍​⁤⁡‍⁡⁣‌⁢‌⁢‬‍⁣‍⁣⁣⁤⁤⁢‍‌‍​⁤⁤⁡‌⁤‬​AI First学习与思考日志 - 飞书云文档

发现导航 - 精选实用导航网站

ArcoSite

发现导航 - 精选实用导航网站

ArcoSite

发现导航 - 精选实用导航网站

An overview of HTTP - HTTP | MDN

发现导航 - 精选实用导航网站

一杯茶的时间,搞懂 RESTful API

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC40lEQVQ4jW2Tz2ucZRDHv995nuftZje7S3+m2JIsFilWqT9KKLKgOdRfF/HSggeDBylEhJDe6qXRQ3sQWi8SLJ68SKmoCC0eLJbagiWIf4CoawxoaDFu3mbf3XefZ8ZDxKbBOQ4zzAzz+RCbwnDcEZcTANjRmSPwPGNURsT57ObHP2ytAQBuJCEEFADs8TfH0Bg9BaYZMNUhClBzCBbQy8/z9qcrm3t4fzqIZ2ZPwvE0oBOaCphgCFGopRCChzoswcqzcu2TiwTs/gaTs5Pw7gI82ujlSDVfwplDWdKosFpmRktuLc9cowpDvBWHg7ns2qVFMUx5eFxEkLatrQ7SwX2pnH7Ra79PdUajMsaScW7ap8ceTv18dUAvbQb56NupKS9otbwhjiL2klacw/tviVYzat41Zs5QCZZW/zJsC3TvzYp6uhSLZIj1FuAFnRWDp6K37tKxp8CHdjMcnIA2qrThELqe05o1+kda5vbuIY61ob11Z54al5dN0BojqTSLSIcPUAANTx+ie/s1aFkYx/cCLz+L7i+/IgJITzzKpCXoDH7/fvoOOmi5Q6ZQlKaoAMKYNJx4iWg/CezageA9iktf4M98Tf3S72g6ANxAQWJnxAwJzAS973+0XlEoSAEAjO8TVEcAJ9zz+gkJlQoGV66aq1dgiIjLyya+NUbTKNKoJH63iD/mP7DC0egc//0z4Ry73a4WN27Y6KAHBiZDko0TOp043jqQQ5xrNOuD8pubbumdc7pzZpqp36eZYbj6t3U/XEDj558s2709hYBtpeq9zvXrkQBQPvfGZMjkAsTahZVYuXunzHfVnYoRRQEX+9bMXNrRrGU1rzDRWzGmuezzrxcfQFmfnz4pLp2Gl4m7vTUYdEgPuMCwveqgOvwN1HPy2dUtKG+S6d7RV8ZqO0dORbEZEa2DCSqaC9NCEe+cH/3q9v/LtFXV9RdePZJVME+aDRjfrX15ZUPn43C8jP90/geE9nH5rtBMQQAAAABJRU5ErkJggg==

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

未分类

发现导航 - 精选实用导航网站

- + diff --git a/main.2e56b0368102eb93.js b/main.2e56b0368102eb93.js deleted file mode 100644 index 514880a9f2..0000000000 --- a/main.2e56b0368102eb93.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunknav2=self.webpackChunknav2||[]).push([[792],{285:(Ne,jt,fe)=>{"use strict";var X={};fe.r(X),fe.d(X,{hasBrowserEnv:()=>Kg,hasStandardBrowserEnv:()=>Cee,hasStandardBrowserWebWorkerEnv:()=>zee,origin:()=>Aee});let Y=null,N=!1,Te=1;const le=Symbol("SIGNAL");function J(t){const n=Y;return Y=t,n}const te={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Re(t){if(N)throw new Error("");if(null===Y)return;Y.consumerOnSignalRead(t);const n=Y.nextProducerIndex++;nt(Y),nt.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function se(t){nt(t);for(let n=0;n0}function nt(t){t.producerNode??=[],t.producerIndexOfThis??=[],t.producerLastReadVersion??=[]}function Ut(t){t.liveConsumerNode??=[],t.liveConsumerIndexOfThis??=[]}function ht(t){return void 0!==t.producerNode}let Vn=function Lo(){throw new Error};function ve(){Vn()}let Ce=null;function Nt(t,n){ee()||ve(),t.equal(t.value,n)||(t.value=n,function Ar(t){t.version++,function re(){Te++}(),K(t),Ce?.()}(t))}const cr={...te,equal:function ce(t,n){return Object.is(t,n)},value:void 0};const bi=()=>{},co={...te,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:t=>{null!==t.schedule&&t.schedule(t.ref)},hasRun:!1,cleanupFn:bi};function wt(t){return"function"==typeof t}function xa(t){const e=t(i=>{Error.call(i),i.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}const uo=xa(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((i,o)=>`${o+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e});function Fi(t,n){if(t){const e=t.indexOf(n);0<=e&&t.splice(e,1)}}class Ft{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(const r of e)r.remove(this);else e.remove(this);const{initialTeardown:i}=this;if(wt(i))try{i()}catch(r){n=r instanceof uo?r.errors:[r]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const r of o)try{W2(r)}catch(s){n=n??[],s instanceof uo?n=[...n,...s.errors]:n.push(s)}}if(n)throw new uo(n)}}add(n){var e;if(n&&n!==this)if(this.closed)W2(n);else{if(n instanceof Ft){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(n)}}_hasParent(n){const{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){const{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&Fi(e,n)}remove(n){const{_finalizers:e}=this;e&&Fi(e,n),n instanceof Ft&&n._removeParent(this)}}Ft.EMPTY=(()=>{const t=new Ft;return t.closed=!0,t})();const q1=Ft.EMPTY;function U2(t){return t instanceof Ft||t&&"closed"in t&&wt(t.remove)&&wt(t.add)&&wt(t.unsubscribe)}function W2(t){wt(t)?t():t.unsubscribe()}const ys={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Gl={setTimeout(t,n,...e){const{delegate:i}=Gl;return i?.setTimeout?i.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){const{delegate:n}=Gl;return(n?.clearTimeout||clearTimeout)(t)},delegate:void 0};function G2(t){Gl.setTimeout(()=>{const{onUnhandledError:n}=ys;if(!n)throw t;n(t)})}function Qs(){}const q2=Ia("C",void 0,void 0);function Ia(t,n,e){return{kind:t,value:n,error:e}}let Jr=null;function ql(t){if(ys.useDeprecatedSynchronousErrorHandling){const n=!Jr;if(n&&(Jr={errorThrown:!1,error:null}),t(),n){const{errorThrown:e,error:i}=Jr;if(Jr=null,e)throw i}}else t()}class Oa extends Ft{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,U2(n)&&n.add(this)):this.destination=Zr}static create(n,e,i){return new Rt(n,e,i)}next(n){this.isStopped?At(function ka(t){return Ia("N",t,void 0)}(n),this):this._next(n)}error(n){this.isStopped?At(function n6(t){return Ia("E",void 0,t)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?At(q2,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ql=Function.prototype.bind;function F(t,n){return Ql.call(t,n)}class U{constructor(n){this.partialObserver=n}next(n){const{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(i){en(i)}}error(n){const{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(i){en(i)}else en(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){en(e)}}}class Rt extends Oa{constructor(n,e,i){let o;if(super(),wt(n)||!n)o={next:n??void 0,error:e??void 0,complete:i??void 0};else{let r;this&&ys.useDeprecatedNextContext?(r=Object.create(n),r.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&F(n.next,r),error:n.error&&F(n.error,r),complete:n.complete&&F(n.complete,r)}):o=n}this.destination=new U(o)}}function en(t){ys.useDeprecatedSynchronousErrorHandling?function i6(t){ys.useDeprecatedSynchronousErrorHandling&&Jr&&(Jr.errorThrown=!0,Jr.error=t)}(t):G2(t)}function At(t,n){const{onStoppedNotification:e}=ys;e&&Gl.setTimeout(()=>e(t,n))}const Zr={closed:!0,next:Qs,error:function Bn(t){throw t},complete:Qs},Tr="function"==typeof Symbol&&Symbol.observable||"@@observable";function Hn(t){return t}function Kl(t){return 0===t.length?Hn:1===t.length?t[0]:function(e){return t.reduce((i,o)=>o(i),e)}}let Wt=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){const i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,o){const r=function K2(t){return t&&t instanceof Oa||function Q2(t){return t&&wt(t.next)&&wt(t.error)&&wt(t.complete)}(t)&&U2(t)}(e)?e:new Rt(e,i,o);return ql(()=>{const{operator:s,source:a}=this;r.add(s?s.call(r,a):a?this._subscribe(r):this._trySubscribe(r))}),r}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return new(i=To(i))((o,r)=>{const s=new Rt({next:a=>{try{e(a)}catch(l){r(l),s.unsubscribe()}},error:r,complete:o});this.subscribe(s)})}_subscribe(e){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(e)}[Tr](){return this}pipe(...e){return Kl(e)(this)}toPromise(e){return new(e=To(e))((i,o)=>{let r;this.subscribe(s=>r=s,s=>o(s),()=>i(r))})}}return t.create=n=>new t(n),t})();function To(t){var n;return null!==(n=t??ys.Promise)&&void 0!==n?n:Promise}const $2=xa(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let V=(()=>{class t extends Wt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){const i=new $l(this,this);return i.operator=e,i}_throwIfClosed(){if(this.closed)throw new $2}next(e){ql(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(e)}})}error(e){ql(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;const{observers:i}=this;for(;i.length;)i.shift().error(e)}})}complete(){ql(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){const{hasError:i,isStopped:o,observers:r}=this;return i||o?q1:(this.currentObservers=null,r.push(e),new Ft(()=>{this.currentObservers=null,Fi(r,e)}))}_checkFinalizedStatuses(e){const{hasError:i,thrownError:o,isStopped:r}=this;i?e.error(o):r&&e.complete()}asObservable(){const e=new Wt;return e.source=this,e}}return t.create=(n,e)=>new $l(n,e),t})();class $l extends V{constructor(n,e){super(),this.destination=n,this.source=e}next(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,n)}error(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,n)}complete(){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===e||e.call(n)}_subscribe(n){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(n))&&void 0!==i?i:q1}}class rt extends V{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const e=super._subscribe(n);return!e.closed&&n.next(this._value),e}getValue(){const{hasError:n,thrownError:e,_value:i}=this;if(n)throw e;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function Jl(t){return wt(t?.lift)}function dn(t){return n=>{if(Jl(n))return n.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Jt(t,n,e,i,o){return new J2(t,n,e,i,o)}class J2 extends Oa{constructor(n,e,i,o,r,s){super(n),this.onFinalize=r,this.shouldUnsubscribe=s,this._next=e?function(a){try{e(a)}catch(l){n.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:e}=this;super.unsubscribe(),!e&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function Pe(t,n){return dn((e,i)=>{let o=0;e.subscribe(Jt(i,r=>{i.next(t.call(n,r,o++))}))})}typeof navigator<"u"&&navigator,typeof navigator<"u"&&!/Opera/.test(navigator.userAgent)&&navigator,typeof navigator<"u"&&(/MSIE/.test(navigator.userAgent)||navigator),typeof navigator<"u"&&!/Opera|WebKit/.test(navigator.userAgent)&&navigator,typeof navigator<"u"&&navigator;const M9="https://g.co/ng/security#xss";class j extends Error{constructor(n,e){super(function ec(t,n){return`NG0${Math.abs(t)}${n?": "+n:""}`}(n,e)),this.code=n}}function Cs(t){return{toString:t}.toString()}const nc="__parameters__";function oc(t,n,e){return Cs(()=>{const i=function h6(t){return function(...e){if(t){const i=t(...e);for(const o in i)this[o]=i[o]}}}(n);function o(...r){if(this instanceof o)return i.apply(this,r),this;const s=new o(...r);return a.annotation=s,a;function a(l,c,u){const p=l.hasOwnProperty(nc)?l[nc]:Object.defineProperty(l,nc,{value:[]})[nc];for(;p.length<=u;)p.push(null);return(p[u]=p[u]||[]).push(s),l}}return e&&(o.prototype=Object.create(e.prototype)),o.prototype.ngMetadataName=t,o.annotationCls=o,o})}const wn=globalThis;function hn(t){for(let n in t)if(t[n]===hn)return n;throw Error("Could not find renamed property on target object.")}function uN(t,n){for(const e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function _i(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(_i).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const n=t.toString();if(null==n)return""+n;const e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}function p6(t,n){return null==t||""===t?null===n?"":n:null==n||""===n?t:t+" "+n}const hN=hn({__forward_ref__:hn});function Gt(t){return t.__forward_ref__=Gt,t.toString=function(){return _i(this())},t}function st(t){return ih(t)?t():t}function ih(t){return"function"==typeof t&&t.hasOwnProperty(hN)&&t.__forward_ref__===Gt}function ae(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function Je(t){return{providers:t.providers||[],imports:t.imports||[]}}function oh(t){return k9(t,sh)||k9(t,I9)}function k9(t,n){return t.hasOwnProperty(n)?t[n]:null}function rh(t){return t&&(t.hasOwnProperty(f6)||t.hasOwnProperty(bN))?t[f6]:null}const sh=hn({\u0275prov:hn}),f6=hn({\u0275inj:hn}),I9=hn({ngInjectableDef:hn}),bN=hn({ngInjectorDef:hn});class oe{constructor(n,e){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=ae({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function _6(t){return t&&!!t.\u0275providers}const $1=hn({\u0275cmp:hn}),y6=hn({\u0275dir:hn}),w6=hn({\u0275pipe:hn}),P9=hn({\u0275mod:hn}),zs=hn({\u0275fac:hn}),J1=hn({__NG_ELEMENT_ID__:hn}),V9=hn({__NG_ENV_ID__:hn});function vt(t){return"string"==typeof t?t:null==t?"":String(t)}function C6(t,n){throw new j(-201,!1)}var kt=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}(kt||{});let z6;function N9(){return z6}function Mo(t){const n=z6;return z6=t,n}function F9(t,n,e){const i=oh(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&kt.Optional?null:void 0!==n?n:void C6()}const Z1={},A6="__NG_DI_FLAG__",ah="ngTempTokenPath",AN=/\n/gm,R9="__source";let rc;function Js(t){const n=rc;return rc=t,n}function MN(t,n=kt.Default){if(void 0===rc)throw new j(-203,!1);return null===rc?F9(t,void 0,n):rc.get(t,n&kt.Optional?null:void 0,n)}function R(t,n=kt.Default){return(N9()||MN)(st(t),n)}function G(t,n=kt.Default){return R(t,lh(n))}function lh(t){return typeof t>"u"||"number"==typeof t?t:(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function S6(t){const n=[];for(let e=0;e({token:t})),-1),ed=X1(oc("Optional"),8),ch=X1(oc("SkipSelf"),4);function Na(t,n){return t.hasOwnProperty(zs)?t[zs]:null}function sc(t,n){t.forEach(e=>Array.isArray(e)?sc(e,n):n(e))}function H9(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function dh(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function jo(t,n,e){let i=ac(t,n);return i>=0?t[1|i]=e:(i=~i,function j9(t,n,e,i){let o=t.length;if(o==n)t.push(e,i);else if(1===o)t.push(i,t[0]),t[0]=e;else{for(o--,t.push(t[o-1],t[o]);o>n;)t[o]=t[o-2],o--;t[n]=e,t[n+1]=i}}(t,i,n,e)),i}function M6(t,n){const e=ac(t,n);if(e>=0)return t[1|e]}function ac(t,n){return function Y9(t,n,e){let i=0,o=t.length>>e;for(;o!==i;){const r=i+(o-i>>1),s=t[r<n?o=r:i=r+1}return~(o<n){s=r-1;break}}}for(;r-1){let r;for(;++or?"":o[u+1].toLowerCase(),2&i&&c!==p){if(Dr(i))return!1;s=!0}}}}else{if(!s&&!Dr(i)&&!Dr(l))return!1;if(s&&Dr(l))continue;s=!1,i=l|1&i}}return Dr(i)||s}function Dr(t){return!(1&t)}function RN(t,n,e,i){if(null===n)return-1;let o=0;if(i||!e){let r=!1;for(;o-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?o+="."+s:4&i&&(o+=" "+s);else""!==o&&!Dr(s)&&(n+=$9(r,o),o=""),i=s,r=r||!Dr(i);e++}return""!==o&&(n+=$9(r,o)),n}function Q(t){return Cs(()=>{const n=Z9(t),e={...n,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===ph.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&t.dependencies||null,getStandaloneInjector:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||Mr.Emulated,styles:t.styles||Zt,_:null,schemas:t.schemas||null,tView:null,id:""};X9(e);const i=t.dependencies;return e.directiveDefs=fh(i,!1),e.pipeDefs=fh(i,!0),e.id=function KN(t){let n=0;const e=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const o of e)n=Math.imul(31,n)+o.charCodeAt(0)|0;return n+=2147483648,"c"+n}(e),e})}function GN(t){return Dt(t)||yi(t)}function qN(t){return null!==t}function Ze(t){return Cs(()=>({type:t.type,bootstrap:t.bootstrap||Zt,declarations:t.declarations||Zt,imports:t.imports||Zt,exports:t.exports||Zt,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function J9(t,n){if(null==t)return es;const e={};for(const i in t)if(t.hasOwnProperty(i)){const o=t[i];let r,s,a=lc.None;Array.isArray(o)?(a=o[0],r=o[1],s=o[2]??r):(r=o,s=o),n?(e[r]=a!==lc.None?[i,a]:i,n[r]=s):e[r]=i}return e}function de(t){return Cs(()=>{const n=Z9(t);return X9(n),n})}function jn(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,standalone:!0===t.standalone,onDestroy:t.type.prototype.ngOnDestroy||null}}function Dt(t){return t[$1]||null}function yi(t){return t[y6]||null}function Ri(t){return t[w6]||null}function eo(t,n){const e=t[P9]||null;if(!e&&!0===n)throw new Error(`Type ${_i(t)} does not have '\u0275mod' property.`);return e}function Z9(t){const n={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:t.inputs||es,exportAs:t.exportAs||null,standalone:!0===t.standalone,signals:!0===t.signals,selectors:t.selectors||Zt,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:J9(t.inputs,n),outputs:J9(t.outputs),debugInfo:null}}function X9(t){t.features?.forEach(n=>n(t))}function fh(t,n){if(!t)return null;const e=n?Ri:GN;return()=>("function"==typeof t?t():t).map(i=>e(i)).filter(qN)}function $N(...t){return{\u0275providers:k6(0,t),\u0275fromNgModule:!0}}function k6(t,...n){const e=[],i=new Set;let o;const r=s=>{e.push(s)};return sc(n,s=>{const a=s;mh(a,r,[],i)&&(o||=[],o.push(a))}),void 0!==o&&eb(o,r),e}function eb(t,n){for(let e=0;e{n(r,i)})}}function mh(t,n,e,i){if(!(t=st(t)))return!1;let o=null,r=rh(t);const s=!r&&Dt(t);if(r||s){if(s&&!s.standalone)return!1;o=t}else{const l=t.ngModule;if(r=rh(l),!r)return!1;o=l}const a=i.has(o);if(s){if(a)return!1;if(i.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)mh(c,n,e,i)}}else{if(!r)return!1;{if(null!=r.imports&&!a){let c;i.add(o);try{sc(r.imports,u=>{mh(u,n,e,i)&&(c||=[],c.push(u))})}finally{}void 0!==c&&eb(c,n)}if(!a){const c=Na(o)||(()=>new o);n({provide:o,useFactory:c,deps:Zt},o),n({provide:D6,useValue:o,multi:!0},o),n({provide:ts,useValue:()=>R(o),multi:!0},o)}const l=r.providers;if(null!=l&&!a){const c=t;I6(l,u=>{n(u,c)})}}}return o!==t&&void 0!==t.providers}function I6(t,n){for(let e of t)_6(e)&&(e=e.\u0275providers),Array.isArray(e)?I6(e,n):n(e)}const JN=hn({provide:String,useValue:hn});function O6(t){return null!==t&&"object"==typeof t&&JN in t}function Fa(t){return"function"==typeof t}const P6=new oe(""),gh={},XN={};let V6;function vh(){return void 0===V6&&(V6=new hh),V6}class Li{}class cc extends Li{get destroyed(){return this._destroyed}constructor(n,e,i,o){super(),this.parent=e,this.source=i,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,F6(n,s=>this.processProvider(s)),this.records.set(U9,dc(void 0,this)),o.has("environment")&&this.records.set(Li,dc(void 0,this));const r=this.records.get(P6);null!=r&&"string"==typeof r.value&&this.scopes.add(r.value),this.injectorDefTypes=new Set(this.get(D6,Zt,kt.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;const n=J(null);try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const e=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of e)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),J(n)}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const e=Js(this),i=Mo(void 0);try{return n()}finally{Js(e),Mo(i)}}get(n,e=Z1,i=kt.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(V9))return n[V9](this);i=lh(i);const r=Js(this),s=Mo(void 0);try{if(!(i&kt.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function oF(t){return"function"==typeof t||"object"==typeof t&&t instanceof oe}(n)&&oh(n);l=c&&this.injectableDefInScope(c)?dc(N6(n),gh):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(i&kt.Self?vh():this.parent).get(n,e=i&kt.Optional&&e===Z1?null:e)}catch(a){if("NullInjectorError"===a.name){if((a[ah]=a[ah]||[]).unshift(_i(n)),r)throw a;return function EN(t,n,e,i){const o=t[ah];throw n[R9]&&o.unshift(n[R9]),t.message=function xN(t,n,e,i=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let o=_i(n);if(Array.isArray(n))o=n.map(_i).join(" -> ");else if("object"==typeof n){let r=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];r.push(s+":"+("string"==typeof a?JSON.stringify(a):_i(a)))}o=`{${r.join(", ")}}`}return`${e}${i?"("+i+")":""}[${o}]: ${t.replace(AN,"\n ")}`}("\n"+t.message,o,e,i),t.ngTokenPath=o,t[ah]=null,t}(a,n,"R3InjectorError",this.source)}throw a}finally{Mo(s),Js(r)}}resolveInjectorInitializers(){const n=J(null),e=Js(this),i=Mo(void 0);try{const r=this.get(ts,Zt,kt.Self);for(const s of r)s()}finally{Js(e),Mo(i),J(n)}}toString(){const n=[],e=this.records;for(const i of e.keys())n.push(_i(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new j(205,!1)}processProvider(n){let e=Fa(n=st(n))?n:st(n&&n.provide);const i=function tF(t){return O6(t)?dc(void 0,t.useValue):dc(ib(t),gh)}(n);if(!Fa(n)&&!0===n.multi){let o=this.records.get(e);o||(o=dc(void 0,gh,!0),o.factory=()=>S6(o.multi),this.records.set(e,o)),e=n,o.multi.push(n)}this.records.set(e,i)}hydrate(n,e){const i=J(null);try{return e.value===gh&&(e.value=XN,e.value=e.factory()),"object"==typeof e.value&&e.value&&function iF(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}finally{J(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;const e=st(n.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}removeOnDestroy(n){const e=this._onDestroyHooks.indexOf(n);-1!==e&&this._onDestroyHooks.splice(e,1)}}function N6(t){const n=oh(t),e=null!==n?n.factory:Na(t);if(null!==e)return e;if(t instanceof oe)throw new j(204,!1);if(t instanceof Function)return function eF(t){if(t.length>0)throw new j(204,!1);const e=function vN(t){return t&&(t[sh]||t[I9])||null}(t);return null!==e?()=>e.factory(t):()=>new t}(t);throw new j(204,!1)}function ib(t,n,e){let i;if(Fa(t)){const o=st(t);return Na(o)||N6(o)}if(O6(t))i=()=>st(t.useValue);else if(function nb(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...S6(t.deps||[]));else if(function tb(t){return!(!t||!t.useExisting)}(t))i=()=>R(st(t.useExisting));else{const o=st(t&&(t.useClass||t.provide));if(!function nF(t){return!!t.deps}(t))return Na(o)||N6(o);i=()=>new o(...S6(t.deps))}return i}function dc(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function F6(t,n){for(const e of t)Array.isArray(e)?F6(e,n):e&&_6(e)?F6(e.\u0275providers,n):n(e)}function Er(t,n){t instanceof cc&&t.assertNotDestroyed();const i=Js(t),o=Mo(void 0);try{return n()}finally{Js(i),Mo(o)}}function ob(){return void 0!==N9()||null!=function TN(){return rc}()}function bh(t){if(!ob())throw new j(-203,!1)}const R6=Function;const Rn=0,_e=1,Xe=2,li=3,xr=4,Bi=5,ho=6,hc=7,Tn=8,ci=9,ns=10,at=11,od=12,sb=13,pc=14,Ln=15,Ra=16,fc=17,As=18,mc=19,ab=20,Xs=21,yh=22,dr=23,He=25,B6=1,is=7,gc=9,Jn=10;var Ch=function(t){return t[t.None=0]="None",t[t.HasTransplantedViews=2]="HasTransplantedViews",t}(Ch||{});function xi(t){return Array.isArray(t)&&"object"==typeof t[B6]}function to(t){return Array.isArray(t)&&!0===t[B6]}function H6(t){return!!(4&t.flags)}function La(t){return t.componentOffset>-1}function zh(t){return!(1&~t.flags)}function kr(t){return!!t.template}function sd(t){return!!(512&t[Xe])}class gF{constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function ub(t,n,e,i){null!==n?n.applyValueToInputSignal(n,i):t[e]=i}function xe(){return hb}function hb(t){return t.type.prototype.ngOnChanges&&(t.setInput=bF),vF}function vF(){const t=fb(this),n=t?.current;if(n){const e=t.previous;if(e===es)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function bF(t,n,e,i,o){const r=this.declaredInputs[i],s=fb(t)||function _F(t,n){return t[pb]=n}(t,{previous:es,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[r];a[r]=new gF(c&&c.currentValue,e,l===es),ub(t,n,o,e)}xe.ngInherit=!0;const pb="__ngSimpleChanges__";function fb(t){return t[pb]||null}const os=function(t,n,e){},mb="svg";function Xt(t){for(;Array.isArray(t);)t=t[Rn];return t}function ad(t,n){return Xt(n[t])}function po(t,n){return Xt(n[t.index])}function ld(t,n){return t.data[n]}function Ba(t,n){return t[n]}function Yo(t,n){const e=n[t];return xi(e)?e:e[Rn]}function G6(t){return!(128&~t[Xe])}function ur(t,n){return null==n?null:t[n]}function vb(t){t[fc]=0}function bb(t){1024&t[Xe]||(t[Xe]|=1024,G6(t)&&Ah(t))}function cd(t){return!!(9216&t[Xe]||t[dr]?.dirty)}function q6(t){t[ns].changeDetectionScheduler?.notify(7),64&t[Xe]&&(t[Xe]|=1024),cd(t)&&Ah(t)}function Ah(t){t[ns].changeDetectionScheduler?.notify(0);let n=Ss(t);for(;null!==n&&!(8192&n[Xe])&&(n[Xe]|=8192,G6(n));)n=Ss(n)}function Sh(t,n){if(!(256&~t[Xe]))throw new j(911,!1);null===t[Xs]&&(t[Xs]=[]),t[Xs].push(n)}function Ss(t){const n=t[li];return to(n)?n[li]:n}const lt={lFrame:kb(null),bindingsEnabled:!0,skipHydrationRootTNode:null};let yb=!1;function wb(){return lt.bindingsEnabled}function Ha(){return null!==lt.skipHydrationRootTNode}function q(){return lt.lFrame.lView}function Mt(){return lt.lFrame.tView}function S(t){return lt.lFrame.contextLView=t,t[Tn]}function T(t){return lt.lFrame.contextLView=null,t}function pn(){let t=Cb();for(;null!==t&&64===t.type;)t=t.parent;return t}function Cb(){return lt.lFrame.currentTNode}function Ir(t,n){const e=lt.lFrame;e.currentTNode=t,e.isParent=n}function $6(){return lt.lFrame.isParent}function J6(){lt.lFrame.isParent=!1}function Sb(){return yb}function Tb(t){yb=t}function fo(){const t=lt.lFrame;let n=t.bindingRootIndex;return-1===n&&(n=t.bindingRootIndex=t.tView.bindingStartIndex),n}function Ts(){return lt.lFrame.bindingIndex}function Or(){return lt.lFrame.bindingIndex++}function Ms(t){const n=lt.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function OF(t,n){const e=lt.lFrame;e.bindingIndex=e.bindingRootIndex=t,Z6(n)}function Z6(t){lt.lFrame.currentDirectiveIndex=t}function X6(t){const n=lt.lFrame.currentDirectiveIndex;return-1===n?null:t[n]}function e8(){return lt.lFrame.currentQueryIndex}function Mh(t){lt.lFrame.currentQueryIndex=t}function VF(t){const n=t[_e];return 2===n.type?n.declTNode:1===n.type?t[Bi]:null}function Eb(t,n,e){if(e&kt.SkipSelf){let o=n,r=t;for(;!(o=o.parent,null!==o||e&kt.Host||(o=VF(r),null===o||(r=r[pc],10&o.type))););if(null===o)return!1;n=o,t=r}const i=lt.lFrame=xb();return i.currentTNode=n,i.lView=t,!0}function t8(t){const n=xb(),e=t[_e];lt.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function xb(){const t=lt.lFrame,n=null===t?null:t.child;return null===n?kb(t):n}function kb(t){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=n),n}function Ib(){const t=lt.lFrame;return lt.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const Ob=Ib;function n8(){const t=Ib();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Hi(){return lt.lFrame.selectedIndex}function ja(t){lt.lFrame.selectedIndex=t}function Mn(){const t=lt.lFrame;return ld(t.tView,t.selectedIndex)}function Dh(){lt.lFrame.currentNamespace=mb}let Vb=!0;function ud(){return Vb}function rs(t){Vb=t}function Eh(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[l]<0&&(t[fc]+=65536),(a>14>16&&(3&t[Xe])===n&&(t[Xe]+=16384,Fb(a,r)):Fb(a,r)}const vc=-1;class hd{constructor(n,e,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}const r8={};class Ih{constructor(n,e){this.injector=n,this.parentInjector=e}get(n,e,i){i=lh(i);const o=this.injector.get(n,r8,i);return o!==r8||e===r8?o:this.parentInjector.get(n,e,i)}}function s8(t){return t!==vc}function pd(t){return 32767&t}function fd(t,n){let e=function WF(t){return t>>16}(t),i=n;for(;e>0;)i=i[pc],e--;return i}let a8=!0;function Oh(t){const n=a8;return a8=t,n}const Bb=255,Hb=5;let GF=0;const ss={};function Ph(t,n){const e=jb(t,n);if(-1!==e)return e;const i=n[_e];i.firstCreatePass&&(t.injectorIndex=n.length,l8(i.data,t),l8(n,null),l8(i.blueprint,null));const o=Vh(t,n),r=t.injectorIndex;if(s8(o)){const s=pd(o),a=fd(o,n),l=a[_e].data;for(let c=0;c<8;c++)n[r+c]=a[s+c]|l[s+c]}return n[r+8]=o,r}function l8(t,n){t.push(0,0,0,0,0,0,0,0,n)}function jb(t,n){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===n[t.injectorIndex+8]?-1:t.injectorIndex}function Vh(t,n){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let e=0,i=null,o=n;for(;null!==o;){if(i=Kb(o),null===i)return vc;if(e++,o=o[pc],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return vc}function c8(t,n,e){!function qF(t,n,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(J1)&&(i=e[J1]),null==i&&(i=e[J1]=GF++);const o=i&Bb;n.data[t+(o>>Hb)]|=1<=0?n&Bb:JF:n}(e);if("function"==typeof r){if(!Eb(n,t,i))return i&kt.Host?Yb(o,0,i):Ub(n,e,i,o);try{let s;if(s=r(i),null!=s||i&kt.Optional)return s;C6()}finally{Ob()}}else if("number"==typeof r){let s=null,a=jb(t,n),l=vc,c=i&kt.Host?n[Ln][Bi]:null;for((-1===a||i&kt.SkipSelf)&&(l=-1===a?Vh(t,n):n[a+8],l!==vc&&Qb(i,!1)?(s=n[_e],a=pd(l),n=fd(l,n)):a=-1);-1!==a;){const u=n[_e];if(qb(r,a,u.data)){const p=KF(a,n,e,s,i,c);if(p!==ss)return p}l=n[a+8],l!==vc&&Qb(i,n[_e].data[a+8]===c)&&qb(r,a,n)?(s=u,a=pd(l),n=fd(l,n)):a=-1}}return o}function KF(t,n,e,i,o,r){const s=n[_e],a=s.data[t+8],u=Nh(a,s,e,null==i?La(a)&&a8:i!=s&&!!(3&a.type),o&kt.Host&&r===a);return null!==u?Ya(n,s,u,a):ss}function Nh(t,n,e,i,o){const r=t.providerIndexes,s=n.data,a=1048575&r,l=t.directiveStart,u=r>>20,b=o?a+u:t.directiveEnd;for(let _=i?a:a+u;_=l&&y.type===e)return _}if(o){const _=s[l];if(_&&kr(_)&&_.type===e)return l}return null}function Ya(t,n,e,i){let o=t[e];const r=n.data;if(function jF(t){return t instanceof hd}(o)){const s=o;s.resolving&&function wN(t,n){throw n&&n.join(" > "),new j(-200,t)}(function on(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():vt(t)}(r[e]));const a=Oh(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?Mo(s.injectImpl):null;Eb(t,i,kt.Default);try{o=t[e]=s.factory(void 0,r,t,i),n.firstCreatePass&&e>=i.directiveStart&&function BF(t,n,e){const{ngOnChanges:i,ngOnInit:o,ngDoCheck:r}=n.type.prototype;if(i){const s=hb(n);(e.preOrderHooks??=[]).push(t,s),(e.preOrderCheckHooks??=[]).push(t,s)}o&&(e.preOrderHooks??=[]).push(0-t,o),r&&((e.preOrderHooks??=[]).push(t,r),(e.preOrderCheckHooks??=[]).push(t,r))}(e,r[e],n)}finally{null!==c&&Mo(c),Oh(a),s.resolving=!1,Ob()}}return o}function qb(t,n,e){return!!(e[n+(t>>Hb)]&1<{const n=t.prototype.constructor,e=n[zs]||d8(n),i=Object.prototype;let o=Object.getPrototypeOf(t.prototype).constructor;for(;o&&o!==i;){const r=o[zs]||d8(o);if(r&&r!==e)return r;o=Object.getPrototypeOf(o)}return r=>new r})}function d8(t){return ih(t)?()=>{const n=d8(st(t));return n&&n()}:Na(t)}function Kb(t){const n=t[_e],e=n.type;return 2===e?n.declTNode:1===e?t[Bi]:null}function e_(t,n=null,e=null,i){const o=t_(t,n,e,i);return o.resolveInjectorInitializers(),o}function t_(t,n=null,e=null,i,o=new Set){const r=[e||Zt,$N(t)];return i=i||("object"==typeof t?void 0:_i(t)),new cc(r,n||vh(),i||null,o)}class tn{static#e=this.THROW_IF_NOT_FOUND=Z1;static#t=this.NULL=new hh;static create(n,e){if(Array.isArray(n))return e_({name:""},e,n,"");{const i=n.name??"";return e_({name:i},n.parent,n.providers,i)}}static#n=this.\u0275prov=ae({token:tn,providedIn:"any",factory:()=>R(U9)});static#i=this.__NG_ELEMENT_ID__=-1}new oe("").__NG_ELEMENT_ID__=t=>{const n=pn();if(null===n)throw new j(204,!1);if(2&n.type)return n.value;if(t&kt.Optional)return null;throw new j(204,!1)};function h8(t){return t.ngOriginalError}class hr{constructor(){this._console=console}handleError(n){const e=this._findOriginalError(n);this._console.error("ERROR",n),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(n){let e=n&&h8(n);for(;e&&h8(e);)e=h8(e);return e||null}}const i_=new oe("",{providedIn:"root",factory:()=>G(hr).handleError.bind(void 0)});let yc=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=lR;static#t=this.__NG_ENV_ID__=e=>e}return t})();class aR extends yc{constructor(n){super(),this._lView=n}onDestroy(n){return Sh(this._lView,n),()=>function Q6(t,n){if(null===t[Xs])return;const e=t[Xs].indexOf(n);-1!==e&&t[Xs].splice(e,1)}(this._lView,n)}}function lR(){return new aR(q())}function cR(){return wc(pn(),q())}function wc(t,n){return new Se(po(t,n))}let Se=(()=>{class t{constructor(e){this.nativeElement=e}static#e=this.__NG_ELEMENT_ID__=cR}return t})();function r_(t){return t instanceof Se?t.nativeElement:t}let Ua=(()=>{class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new rt(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const e=this.taskId++;return this.pendingTasks.add(e),e}remove(e){this.pendingTasks.delete(e),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:()=>new t})}return t})();const B=class dR extends V{constructor(n=!1){super(),this.destroyRef=void 0,this.pendingTasks=void 0,this.__isAsync=n,ob()&&(this.destroyRef=G(yc,{optional:!0})??void 0,this.pendingTasks=G(Ua,{optional:!0})??void 0)}emit(n){const e=J(null);try{super.next(n)}finally{J(e)}}subscribe(n,e,i){let o=n,r=e||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;o=l.next?.bind(l),r=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(r=this.wrapInTimeout(r),o&&(o=this.wrapInTimeout(o)),s&&(s=this.wrapInTimeout(s)));const a=super.subscribe({next:o,error:r,complete:s});return n instanceof Ft&&n.add(a),a}wrapInTimeout(n){return e=>{const i=this.pendingTasks?.add();setTimeout(()=>{n(e),void 0!==i&&this.pendingTasks?.remove(i)})}}};function uR(){return this._results[Symbol.iterator]()}class Wa{static#e=Symbol.iterator;get changes(){return this._changes??=new B}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const e=Wa.prototype;e[Symbol.iterator]||(e[Symbol.iterator]=uR)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,e){return this._results.reduce(n,e)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,e){this.dirty=!1;const i=function Do(t){return t.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function ON(t,n,e){if(t.length!==n.length)return!1;for(let i=0;iOR}),OR="ng",S_=new oe(""),Pr=new oe("",{providedIn:"platform",factory:()=>"unknown"}),ta=new oe(""),vd=new oe("",{providedIn:"root",factory:()=>ea().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let T_=()=>null;function C8(t,n,e=!1){return T_(t,n,e)}const P_=new oe("",{providedIn:"root",factory:()=>!1});let Kh,$h;function M8(){if(void 0===Kh&&(Kh=null,wn.trustedTypes))try{Kh=wn.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return Kh}function Tc(t){return M8()?.createHTML(t)||t}function D8(){if(void 0===$h&&($h=null,wn.trustedTypes))try{$h=wn.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return $h}function N_(t){return D8()?.createHTML(t)||t}function R_(t){return D8()?.createScriptURL(t)||t}class Ga{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${M9})`}}class QR extends Ga{getTypeName(){return"HTML"}}class KR extends Ga{getTypeName(){return"Style"}}class $R extends Ga{getTypeName(){return"Script"}}class JR extends Ga{getTypeName(){return"URL"}}class ZR extends Ga{getTypeName(){return"ResourceURL"}}function Uo(t){return t instanceof Ga?t.changingThisBreaksApplicationSecurity:t}function as(t,n){const e=function XR(t){return t instanceof Ga&&t.getTypeName()||null}(t);if(null!=e&&e!==n){if("ResourceURL"===e&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${e} (see ${M9})`)}return e===n}class rL{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const e=(new window.DOMParser).parseFromString(Tc(n),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(n):(e.removeChild(e.firstChild),e)}catch{return null}}}class sL{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const e=this.inertDocument.createElement("template");return e.innerHTML=Tc(n),e}}const lL=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Jh(t){return(t=String(t)).match(lL)?t:"unsafe:"+t}function Ds(t){const n={};for(const e of t.split(","))n[e]=!0;return n}function Ad(...t){const n={};for(const e of t)for(const i in e)e.hasOwnProperty(i)&&(n[i]=!0);return n}const B_=Ds("area,br,col,hr,img,wbr"),H_=Ds("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),j_=Ds("rp,rt"),E8=Ad(B_,Ad(H_,Ds("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Ad(j_,Ds("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Ad(j_,H_)),x8=Ds("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Y_=Ad(x8,Ds("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Ds("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),cL=Ds("script,style,template");class dL{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let e=n.firstChild,i=!0,o=[];for(;e;)if(e.nodeType===Node.ELEMENT_NODE?i=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,i&&e.firstChild)o.push(e),e=pL(e);else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let r=hL(e);if(r){e=r;break}e=o.pop()}return this.buf.join("")}startElement(n){const e=U_(n).toLowerCase();if(!E8.hasOwnProperty(e))return this.sanitizedSomething=!0,!cL.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const i=n.attributes;for(let o=0;o"),!0}endElement(n){const e=U_(n).toLowerCase();E8.hasOwnProperty(e)&&!B_.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(G_(n))}}function hL(t){const n=t.nextSibling;if(n&&t!==n.previousSibling)throw W_(n);return n}function pL(t){const n=t.firstChild;if(n&&function uL(t,n){return(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(t,n))throw W_(n);return n}function U_(t){const n=t.nodeName;return"string"==typeof n?n:"FORM"}function W_(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}const fL=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,mL=/([^\#-~ |!])/g;function G_(t){return t.replace(/&/g,"&").replace(fL,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(mL,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let Zh;function q_(t,n){let e=null;try{Zh=Zh||function L_(t){const n=new sL(t);return function aL(){try{return!!(new window.DOMParser).parseFromString(Tc(""),"text/html")}catch{return!1}}()?new rL(n):n}(t);let i=n?String(n):"";e=Zh.getInertBodyElement(i);let o=5,r=i;do{if(0===o)throw new Error("Failed to sanitize html because the input is unstable");o--,i=r,r=e.innerHTML,e=Zh.getInertBodyElement(i)}while(i!==r);return Tc((new dL).sanitizeChildren(k8(e)||e))}finally{if(e){const i=k8(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function k8(t){return"content"in t&&function gL(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var Wo=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}(Wo||{});function Gn(t){const n=Sd();return n?N_(n.sanitize(Wo.HTML,t)||""):as(t,"HTML")?N_(Uo(t)):q_(ea(),vt(t))}function It(t){const n=Sd();return n?n.sanitize(Wo.URL,t)||"":as(t,"URL")?Uo(t):Jh(vt(t))}function Q_(t){const n=Sd();if(n)return R_(n.sanitize(Wo.RESOURCE_URL,t)||"");if(as(t,"ResourceURL"))return R_(Uo(t));throw new j(904,!1)}function I8(t){return function qR(t){return M8()?.createScriptURL(t)||t}(t[0])}function Sd(){const t=q();return t&&t[ns].sanitizer}const wL=/^>|^->||--!>|)/g,zL="\u200b$1\u200b";function Go(t){return t instanceof Function?t():t}function xo(t){return"browser"===(t??G(tn)).get(Pr)}var na=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}(na||{});let V8;function N8(t,n){return V8(t,n)}function Dc(t,n,e,i,o){if(null!=i){let r,s=!1;to(i)?r=i:xi(i)&&(s=!0,i=i[Rn]);const a=Xt(i);0===t&&null!==e?null==o?ly(n,e,a):qa(n,e,a,o||null,!0):1===t&&null!==e?qa(n,e,a,o||null,!0):2===t?function Md(t,n,e){const i=o0(t,n);i&&function HL(t,n,e,i){t.removeChild(n,e,i)}(t,i,n,e)}(n,a,s):3===t&&n.destroyNode(a),null!=r&&function UL(t,n,e,i,o){const r=e[is];r!==Xt(e)&&Dc(n,t,i,r,o);for(let a=Jn;an.replace(CL,zL))}(n))}function t0(t,n,e){return t.createElement(n,e)}function ry(t,n){n[ns].changeDetectionScheduler?.notify(8),s0(t,n,n[at],2,null,null)}function sy(t,n){const e=t[gc],i=n[li];(xi(i)||n[Ln]!==i[li][Ln])&&(t[Xe]|=Ch.HasTransplantedViews),null===e?t[gc]=[n]:e.push(n)}function L8(t,n){const e=t[gc],i=e.indexOf(n);e.splice(i,1)}function Td(t,n){if(t.length<=Jn)return;const e=Jn+n,i=t[e];if(i){const o=i[Ra];null!==o&&o!==t&&L8(o,i),n>0&&(t[e-1][xr]=i[xr]);const r=dh(t,Jn+n);!function VL(t,n){ry(t,n),n[Rn]=null,n[Bi]=null}(i[_e],i);const s=r[As];null!==s&&s.detachView(r[_e]),i[li]=null,i[xr]=null,i[Xe]&=-129}return i}function n0(t,n){if(!(256&n[Xe])){const e=n[at];e.destroyNode&&s0(t,n,e,3,null,null),function FL(t){let n=t[od];if(!n)return B8(t[_e],t);for(;n;){let e=null;if(xi(n))e=n[od];else{const i=n[Jn];i&&(e=i)}if(!e){for(;n&&!n[xr]&&n!==t;)xi(n)&&B8(n[_e],n),n=n[li];null===n&&(n=t),xi(n)&&B8(n[_e],n),e=n&&n[xr]}n=e}}(n)}}function B8(t,n){if(256&n[Xe])return;const e=J(null);try{n[Xe]&=-129,n[Xe]|=256,n[dr]&&ue(n[dr]),function BL(t,n){let e;if(null!=t&&null!=(e=t.destroyHooks))for(let i=0;i=0?i[s]():i[-s].unsubscribe(),r+=2}else e[r].call(i[e[r+1]]);null!==i&&(n[hc]=null);const o=n[Xs];if(null!==o){n[Xs]=null;for(let r=0;r-1){const{encapsulation:r}=t.data[i.directiveStart+o];if(r===Mr.None||r===Mr.Emulated)return null}return po(i,e)}}(t,n.parent,e)}function qa(t,n,e,i,o){t.insertBefore(n,e,i,o)}function ly(t,n,e){t.appendChild(n,e)}function cy(t,n,e,i,o){null!==i?qa(t,n,e,i,o):ly(t,n,e)}function o0(t,n){return t.parentNode(n)}function dy(t,n,e){return hy(t,n,e)}let j8,hy=function uy(t,n,e){return 40&t.type?po(t,e):null};function r0(t,n,e,i){const o=H8(t,i,n),r=n[at],a=dy(i.parent||n[Bi],i,n);if(null!=o)if(Array.isArray(e))for(let l=0;lHe&&_y(t,n,He,!1),os(s?2:0,o),e(i,o)}finally{ja(r),os(s?3:1,o)}}function q8(t,n,e){if(H6(n)){const i=J(null);try{const r=n.directiveEnd;for(let s=n.directiveStart;snull;function Ay(t,n,e,i,o){for(let r in n){if(!n.hasOwnProperty(r))continue;const s=n[r];if(void 0===s)continue;i??={};let a,l=lc.None;Array.isArray(s)?(a=s[0],l=s[1]):a=s;let c=r;if(null!==o){if(!o.hasOwnProperty(r))continue;c=o[r]}0===t?Sy(i,e,c,a,l):Sy(i,e,c,a)}return i}function Sy(t,n,e,i,o){let r;t.hasOwnProperty(e)?(r=t[e]).push(n,i):r=t[e]=[n,i],void 0!==o&&r.push(o)}function ko(t,n,e,i,o,r,s,a){const l=po(n,e);let u,c=n.inputs;!a&&null!=c&&(u=c[i])?(tf(t,e,u,i,o),La(n)&&function iB(t,n){const e=Yo(n,t);16&e[Xe]||(e[Xe]|=64)}(e,n.index)):3&n.type&&(i=function nB(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(i),o=null!=s?s(o,n.value||"",i):o,r.setProperty(l,i,o))}function J8(t,n,e,i){if(wb()){const o=null===i?null:{"":-1},r=function cB(t,n){const e=t.directiveRegistry;let i=null,o=null;if(e)for(let r=0;r0;){const e=t[--n];if("number"==typeof e&&e<0)return e}return 0})(s)!=a&&s.push(a),s.push(e,i,r)}}(t,n,i,Dd(t,e,o.hostVars,bt),o)}function ls(t,n,e,i,o,r){const s=po(t,n);!function X8(t,n,e,i,o,r,s){if(null==r)t.removeAttribute(n,o,e);else{const a=null==s?vt(r):s(r,i||"",o);t.setAttribute(n,o,a,e)}}(n[at],s,r,t.value,e,i,o)}function mB(t,n,e,i,o,r){const s=r[n];if(null!==s)for(let a=0;a0&&(e[o-1][xr]=n),i{Ah(t.lView)},consumerOnSignalRead(){this.lView[dr]=this}},SB={...te,consumerIsAlwaysLive:!0,consumerMarkedDirty:t=>{let n=Ss(t.lView);for(;n&&!Ny(n[_e]);)n=Ss(n);n&&bb(n)},consumerOnSignalRead(){this.lView[dr]=this}};function Ny(t){return 2!==t.type}const TB=100;function d0(t,n=!0,e=0){const i=t[ns],o=i.rendererFactory;o.begin?.();try{!function MB(t,n){const e=Sb();try{Tb(!0),sf(t,n);let i=0;for(;cd(t);){if(i===TB)throw new j(103,!1);i++,sf(t,1)}}finally{Tb(e)}}(t,e)}catch(s){throw n&&c0(t,s),s}finally{o.end?.(),i.inlineEffectRunner?.flush()}}function DB(t,n,e,i){const o=n[Xe];if(!(256&~o))return;n[ns].inlineEffectRunner?.flush(),t8(n);let a=!0,l=null,c=null;Ny(t)?(c=function yB(t){return t[dr]??function wB(t){const n=Vy.pop()??Object.create(zB);return n.lView=t,n}(t)}(n),l=L(c)):null===function Ve(){return Y}()?(a=!1,c=function AB(t){const n=t[dr]??Object.create(SB);return n.lView=t,n}(n),l=L(c)):n[dr]&&(ue(n[dr]),n[dr]=null);try{vb(n),function Mb(t){return lt.lFrame.bindingIndex=t}(t.bindingStartIndex),null!==e&&wy(t,n,e,2,i);const u=!(3&~o);if(u){const _=t.preOrderCheckHooks;null!==_&&xh(n,_,null)}else{const _=t.preOrderHooks;null!==_&&kh(n,_,0,null),i8(n,0)}if(function EB(t){for(let n=m_(t);null!==n;n=g_(n)){if(!(n[Xe]&Ch.HasTransplantedViews))continue;const e=n[gc];for(let i=0;i-1&&(Td(n,i),dh(e,i))}this._attachedToViewContainer=!1}n0(this._lView[_e],this._lView)}onDestroy(n){Sh(this._lView,n)}markForCheck(){xd(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[Xe]&=-129}reattach(){q6(this._lView),this._lView[Xe]|=128}detectChanges(){this._lView[Xe]|=1024,d0(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new j(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;const n=sd(this._lView),e=this._lView[Ra];null!==e&&!n&&L8(e,this._lView),ry(this._lView[_e],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new j(902,!1);this._appRef=n;const e=sd(this._lView),i=this._lView[Ra];null!==i&&!e&&sy(i,this._lView),q6(this._lView)}}let qt=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=OB}return t})();const kB=qt,IB=class extends kB{constructor(n,e,i){super(),this._declarationLView=n,this._declarationTContainer=e,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,e){return this.createEmbeddedViewImpl(n,e)}createEmbeddedViewImpl(n,e,i){const o=xc(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:e,dehydratedView:i});return new kd(o)}};function OB(){return u0(pn(),q())}function u0(t,n){return 4&t.type?new IB(n,t,wc(t,n)):null}let aw=()=>null;function Ja(t,n){return aw(t,n)}class Oc{}const Ld=new oe("",{providedIn:"root",factory:()=>!1}),lw=new oe("");class SH{}class cw{}class MH{resolveComponentFactory(n){throw function TH(t){const n=Error(`No component factory found for ${_i(t)}.`);return n.ngComponent=t,n}(n)}}class Pc{static#e=this.NULL=new MH}class Za{}let Yt=(()=>{class t{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function DH(){const t=q(),e=Yo(pn().index,t);return(xi(e)?e:t)[at]}()}return t})(),EH=(()=>{class t{static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:()=>null})}return t})();const uw=new Set;function mo(t){uw.has(t)||(uw.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}function hw(t){let n=!0;return setTimeout(()=>{n&&(n=!1,t())}),"function"==typeof wn.requestAnimationFrame&&wn.requestAnimationFrame(()=>{n&&(n=!1,t())}),()=>{n=!1}}function pw(t){let n=!0;return queueMicrotask(()=>{n&&t()}),()=>{n=!1}}function fw(...t){}class Me{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new B(!1),this.onMicrotaskEmpty=new B(!1),this.onStable=new B(!1),this.onError=new B(!1),typeof Zone>"u")throw new j(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!i&&e,o.shouldCoalesceRunChangeDetection=i,o.callbackScheduled=!1,function IH(t){const n=()=>{!function kH(t){t.isCheckStableRunning||t.callbackScheduled||(t.callbackScheduled=!0,Zone.root.run(()=>{hw(()=>{t.callbackScheduled=!1,bf(t),t.isCheckStableRunning=!0,vf(t),t.isCheckStableRunning=!1})}),bf(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,o,r,s,a)=>{if(function OH(t){return vw(t,"__ignore_ng_zone__")}(a))return e.invokeTask(o,r,s,a);try{return mw(t),e.invokeTask(o,r,s,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===r.type||t.shouldCoalesceRunChangeDetection)&&n(),gw(t)}},onInvoke:(e,i,o,r,s,a,l)=>{try{return mw(t),e.invoke(o,r,s,a,l)}finally{t.shouldCoalesceRunChangeDetection&&!t.callbackScheduled&&!function PH(t){return vw(t,"__scheduler_tick__")}(a)&&n(),gw(t)}},onHasTask:(e,i,o,r)=>{e.hasTask(o,r),i===o&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,bf(t),vf(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,i,o,r)=>(e.handleError(o,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Me.isInAngularZone())throw new j(909,!1)}static assertNotInAngularZone(){if(Me.isInAngularZone())throw new j(909,!1)}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,o){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+o,n,xH,fw,fw);try{return r.runTask(s,e,i)}finally{r.cancelTask(s)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}}const xH={};function vf(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function bf(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&!0===t.callbackScheduled)}function mw(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function gw(t){t._nesting--,vf(t)}class _f{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new B,this.onMicrotaskEmpty=new B,this.onStable=new B,this.onError=new B}run(n,e,i){return n.apply(e,i)}runGuarded(n,e,i){return n.apply(e,i)}runOutsideAngular(n){return n()}runTask(n,e,i,o){return n.apply(e,i)}}function vw(t,n){return!(!Array.isArray(t)||1!==t.length)&&!0===t[0]?.data?.[n]}var ia=function(t){return t[t.EarlyRead=0]="EarlyRead",t[t.Write=1]="Write",t[t.MixedReadWrite=2]="MixedReadWrite",t[t.Read=3]="Read",t}(ia||{});const bw={destroy(){}};function Xa(t,n){!n&&bh();const e=n?.injector??G(tn);if(!xo(e))return bw;mo("NgAfterNextRender");const i=e.get(Bd),o=i.handler??=new ww,r=n?.phase??ia.MixedReadWrite,s=()=>{o.unregister(l),a()},a=e.get(yc).onDestroy(s),l=Er(e,()=>new yw(r,()=>{s(),t()}));return o.register(l),{destroy:s}}class yw{constructor(n,e){this.phase=n,this.callbackFn=e,this.zone=G(Me),this.errorHandler=G(hr,{optional:!0}),G(Oc,{optional:!0})?.notify(6)}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(n){this.errorHandler?.handleError(n)}}}class ww{constructor(){this.executingCallbacks=!1,this.buckets={[ia.EarlyRead]:new Set,[ia.Write]:new Set,[ia.MixedReadWrite]:new Set,[ia.Read]:new Set},this.deferredCallbacks=new Set}register(n){(this.executingCallbacks?this.deferredCallbacks:this.buckets[n.phase]).add(n)}unregister(n){this.buckets[n.phase].delete(n),this.deferredCallbacks.delete(n)}execute(){this.executingCallbacks=!0;for(const n of Object.values(this.buckets))for(const e of n)e.invoke();this.executingCallbacks=!1;for(const n of this.deferredCallbacks)this.buckets[n.phase].add(n);this.deferredCallbacks.clear()}destroy(){for(const n of Object.values(this.buckets))n.clear();this.deferredCallbacks.clear()}}let Bd=(()=>{class t{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){const e=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const i of e)i()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:()=>new t})}return t})();function b0(t,n,e){let i=e?t.styles:null,o=e?t.classes:null,r=0;if(null!==n)for(let s=0;s0&&vy(t,e,r.join(" "))}}(_,qe,z,i),void 0!==e&&function WH(t,n,e){const i=t.projection=[];for(let o=0;o{class t{static#e=this.__NG_ELEMENT_ID__=qH}return t})();function qH(){return Dw(pn(),q())}const QH=qn,Tw=class extends QH{constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return wc(this._hostTNode,this._hostLView)}get injector(){return new Ci(this._hostTNode,this._hostLView)}get parentInjector(){const n=Vh(this._hostTNode,this._hostLView);if(s8(n)){const e=fd(n,this._hostLView),i=pd(n);return new Ci(e[_e].data[i+8],e)}return new Ci(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const e=Mw(this._lContainer);return null!==e&&e[n]||null}get length(){return this._lContainer.length-Jn}createEmbeddedView(n,e,i){let o,r;"number"==typeof i?o=i:null!=i&&(o=i.index,r=i.injector);const s=Ja(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(e||{},r,s);return this.insertImpl(a,o,Ka(this._hostTNode,s)),a}createComponent(n,e,i,o,r){const s=n&&!function id(t){return"function"==typeof t}(n);let a;if(s)a=e;else{const y=e||{};a=y.index,i=y.injector,o=y.projectableNodes,r=y.environmentInjector||y.ngModuleRef}const l=s?n:new Yd(Dt(n)),c=i||this.parentInjector;if(!r&&null==l.ngModule){const z=(s?c:this.parentInjector).get(Li,null);z&&(r=z)}const u=Dt(l.componentType??{}),p=Ja(this._lContainer,u?.id??null),_=l.create(c,o,p?.firstChild??null,r);return this.insertImpl(_.hostView,a,Ka(this._hostTNode,p)),_}insert(n,e){return this.insertImpl(n,e,!0)}insertImpl(n,e,i){const o=n._lView;if(function zF(t){return to(t[li])}(o)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=o[li],c=new Tw(l,l[Bi],l[li]);c.detach(c.indexOf(n))}}const r=this._adjustIndex(e),s=this._lContainer;return kc(s,o,r,i),n.attachToViewContainerRef(),H9(zf(s),r,n),n}move(n,e){return this.insert(n,e)}indexOf(n){const e=Mw(this._lContainer);return null!==e?e.indexOf(n):-1}remove(n){const e=this._adjustIndex(n,-1),i=Td(this._lContainer,e);i&&(dh(zf(this._lContainer),e),n0(i[_e],i))}detach(n){const e=this._adjustIndex(n,-1),i=Td(this._lContainer,e);return i&&null!=dh(zf(this._lContainer),e)?new kd(i):null}_adjustIndex(n,e=0){return n??this.length+e}};function Mw(t){return t[8]}function zf(t){return t[8]||(t[8]=[])}function Dw(t,n){let e;const i=n[t.index];return to(i)?e=i:(e=Dy(i,n,null,t),n[t.index]=e,l0(n,e)),Ew(e,n,t,i),new Tw(e,t,n)}let Ew=function kw(t,n,e,i){if(t[is])return;let o;o=8&e.type?Xt(i):function KH(t,n){const e=t[at],i=e.createComment(""),o=po(n,t);return qa(e,o0(e,o),i,function jL(t,n){return t.nextSibling(n)}(e,o),!1),i}(n,e),t[is]=o},Af=()=>!1;class Sf{constructor(n){this.queryList=n,this.matches=null}clone(){return new Sf(this.queryList)}setDirty(){this.queryList.setDirty()}}class Tf{constructor(n=[]){this.queries=n}createEmbeddedView(n){const e=n.queries;if(null!==e){const i=null!==n.contentQueries?n.contentQueries[0]:e.length,o=[];for(let r=0;rn.trim())}(n):n}}class Mf{constructor(n=[]){this.queries=n}elementStart(n,e){for(let i=0;i0)i.push(s[a/2]);else{const c=r[a+1],u=n[-l];for(let p=Jn;p(Re(n),n.value);return e[le]=n,e}(t),i=e[le];return n?.equal&&(i.equal=n.equal),e.set=o=>Nt(i,o),e.update=o=>function vi(t,n){ee()||ve(),Nt(t,n(t.value))}(i,o),e.asReadonly=Lw.bind(e),e}function Lw(){const t=this[le];if(void 0===t.readonlyFn){const n=()=>this();n[le]=t,t.readonlyFn=n}return t.readonlyFn}function Bw(t){return _0(t)&&"function"==typeof t.set}function mt(t){let n=function Jw(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),e=!0;const i=[t];for(;n;){let o;if(kr(t))o=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new j(903,!1);o=n.\u0275dir}if(o){if(e){i.push(o);const s=t;s.inputs=w0(t.inputs),s.inputTransforms=w0(t.inputTransforms),s.declaredInputs=w0(t.declaredInputs),s.outputs=w0(t.outputs);const a=o.hostBindings;a&&bj(t,a);const l=o.viewQuery,c=o.contentQueries;if(l&&gj(t,l),c&&vj(t,c),fj(t,o),uN(t.outputs,o.outputs),kr(o)&&o.data.animation){const u=t.data;u.animation=(u.animation||[]).concat(o.data.animation)}}const r=o.features;if(r)for(let s=0;s=0;i--){const o=t[i];o.hostVars=n+=o.hostVars,o.hostAttrs=td(o.hostAttrs,e=td(e,o.hostAttrs))}}(i)}function fj(t,n){for(const e in n.inputs){if(!n.inputs.hasOwnProperty(e)||t.inputs.hasOwnProperty(e))continue;const i=n.inputs[e];if(void 0!==i&&(t.inputs[e]=i,t.declaredInputs[e]=n.declaredInputs[e],null!==n.inputTransforms)){const o=Array.isArray(i)?i[0]:i;if(!n.inputTransforms.hasOwnProperty(o))continue;t.inputTransforms??={},t.inputTransforms[o]=n.inputTransforms[o]}}}function w0(t){return t===es?{}:t===Zt?[]:t}function gj(t,n){const e=t.viewQuery;t.viewQuery=e?(i,o)=>{n(i,o),e(i,o)}:n}function vj(t,n){const e=t.contentQueries;t.contentQueries=e?(i,o,r)=>{n(i,o,r),e(i,o,r)}:n}function bj(t,n){const e=t.hostBindings;t.hostBindings=e?(i,o)=>{n(i,o),e(i,o)}:n}function je(t){const n=t.inputConfig,e={};for(const i in n)if(n.hasOwnProperty(i)){const o=n[i];Array.isArray(o)&&o[3]&&(e[i]=o[3])}t.inputTransforms=e}class el{}class tC{}class Pf extends el{constructor(n,e,i){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Aw(this);const o=eo(n);this._bootstrapComponents=Go(o.bootstrap),this._r3Injector=t_(n,e,[{provide:el,useValue:this},{provide:Pc,useValue:this.componentFactoryResolver},...i],_i(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Vf extends tC{constructor(n){super(),this.moduleType=n}create(n){return new Pf(this.moduleType,n,[])}}class nC extends el{constructor(n){super(),this.componentFactoryResolver=new Aw(this),this.instance=null;const e=new cc([...n.providers,{provide:el,useValue:this},{provide:Pc,useValue:this.componentFactoryResolver}],n.parent||vh(),n.debugName,new Set(["environment"]));this.injector=e,n.runEnvironmentInitializers&&e.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function C0(t,n,e=null){return new nC({providers:t,parent:n,debugName:e,runEnvironmentInitializers:!0}).injector}function z0(t){return!!Nf(t)&&(Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t)}function Nf(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function cs(t,n,e){return t[n]=e}function Zn(t,n,e){return!Object.is(t[n],e)&&(t[n]=e,!0)}function tl(t,n,e,i){const o=Zn(t,n,e);return Zn(t,n+1,i)||o}function A0(t,n,e,i,o){const r=tl(t,n,e,i);return Zn(t,n+2,o)||r}function Gd(t,n,e,i,o,r,s,a,l,c){const u=e+He,p=n.firstCreatePass?function xj(t,n,e,i,o,r,s,a,l){const c=n.consts,u=Qa(n,t,4,s||null,a||null);J8(n,e,u,ur(c,l)),Eh(n,u);const p=u.tView=$8(2,u,i,o,r,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),p.queries=n.queries.embeddedTView(u)),u}(u,n,t,i,o,r,s,a,l):n.data[u];Ir(p,!1);const b=iC(n,t,p,e);ud()&&r0(n,t,b,p),no(b,t);const _=Dy(b,t,b,p);return t[u]=_,l0(t,_),function xw(t,n,e){return Af(t,n,e)}(_,p,t),zh(p)&&Q8(n,t,p),null!=l&&K8(t,p,c),p}function C(t,n,e,i,o,r,s,a){const l=q(),c=Mt();return Gd(l,c,t,n,e,i,o,ur(c.consts,r),s,a),C}let iC=function oC(t,n,e,i){return rs(!0),n[at].createComment("")};function Ot(t,n,e,i){const o=q();return Zn(o,Or(),n)&&(Mt(),ls(Mn(),o,t,n,e,i)),Ot}function x0(t,n){return t<<17|n<<2}function aa(t){return t>>17&32767}function Gf(t){return 2|t}function il(t){return(131068&t)>>2}function qf(t,n){return-131069&t|n<<2}function Qf(t){return 1|t}function VC(t,n,e,i){const o=t[e+1],r=null===n;let s=i?aa(o):il(o),a=!1;for(;0!==s&&(!1===a||r);){const c=t[s+1];mY(t[s],n)&&(a=!0,t[s+1]=i?Qf(c):Gf(c)),s=i?aa(c):il(c)}a&&(t[e+1]=i?Gf(o):Qf(o))}function mY(t,n){return null===t||null==n||(Array.isArray(t)?t[1]:t)===n||!(!Array.isArray(t)||"string"!=typeof n)&&ac(t,n)>=0}const Ai={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function NC(t){return t.substring(Ai.key,Ai.keyEnd)}function gY(t){return t.substring(Ai.value,Ai.valueEnd)}function FC(t,n){const e=Ai.textEnd;return e===n?-1:(n=Ai.keyEnd=function _Y(t,n,e){for(;n32;)n++;return n}(t,Ai.key=n,e),Zc(t,n,e))}function RC(t,n){const e=Ai.textEnd;let i=Ai.key=Zc(t,n,e);return e===i?-1:(i=Ai.keyEnd=function yY(t,n,e){let i;for(;n=65&&(-33&i)<=90||i>=48&&i<=57);)n++;return n}(t,i,e),i=BC(t,i,e),i=Ai.value=Zc(t,i,e),i=Ai.valueEnd=function wY(t,n,e){let i=-1,o=-1,r=-1,s=n,a=s;for(;s32&&(a=s),r=o,o=i,i=-33&l}return a}(t,i,e),BC(t,i,e))}function LC(t){Ai.key=0,Ai.keyEnd=0,Ai.value=0,Ai.valueEnd=0,Ai.textEnd=t.length}function Zc(t,n,e){for(;n=0;e=RC(n,e))UC(t,NC(n),gY(n))}function k0(t){Nr(DY,ds,t,!0)}function ds(t,n){for(let e=function vY(t){return LC(t),FC(t,Zc(t,0,Ai.textEnd))}(n);e>=0;e=FC(n,e))jo(t,NC(n),!0)}function Vr(t,n,e,i){const o=q(),r=Mt(),s=Ms(2);r.firstUpdatePass&&YC(r,t,s,i),n!==bt&&Zn(o,s,n)&&WC(r,r.data[Hi()],o,o[at],t,o[s+1]=function xY(t,n){return null==t||""===t||("string"==typeof n?t+=n:"object"==typeof t&&(t=_i(Uo(t)))),t}(n,e),i,s)}function Nr(t,n,e,i){const o=Mt(),r=Ms(2);o.firstUpdatePass&&YC(o,null,r,i);const s=q();if(e!==bt&&Zn(s,r,e)){const a=o.data[Hi()];if(qC(a,i)&&!jC(o,r)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(e=p6(l,e||"")),Kf(o,a,s,e,i)}else!function EY(t,n,e,i,o,r,s,a){o===bt&&(o=Zt);let l=0,c=0,u=0=t.expandoStartIndex}function YC(t,n,e,i){const o=t.data;if(null===o[e+1]){const r=o[Hi()],s=jC(t,e);qC(r,i)&&null===n&&!s&&(n=!1),n=function zY(t,n,e,i){const o=X6(t);let r=i?n.residualClasses:n.residualStyles;if(null===o)0===(i?n.classBindings:n.styleBindings)&&(e=$d(e=$f(null,t,n,e,i),n.attrs,i),r=null);else{const s=n.directiveStylingLast;if(-1===s||t[s]!==o)if(e=$f(o,t,n,e,i),null===r){let l=function AY(t,n,e){const i=e?n.classBindings:n.styleBindings;if(0!==il(i))return t[aa(i)]}(t,n,i);void 0!==l&&Array.isArray(l)&&(l=$f(null,t,n,l[1],i),l=$d(l,n.attrs,i),function SY(t,n,e,i){t[aa(e?n.classBindings:n.styleBindings)]=i}(t,n,i,l))}else r=function TY(t,n,e){let i;const o=n.directiveEnd;for(let r=1+n.directiveStylingLast;r0)&&(c=!0)):u=e,o)if(0!==l){const b=aa(t[a+1]);t[i+1]=x0(b,a),0!==b&&(t[b+1]=qf(t[b+1],i)),t[a+1]=function uY(t,n){return 131071&t|n<<17}(t[a+1],i)}else t[i+1]=x0(a,0),0!==a&&(t[a+1]=qf(t[a+1],i)),a=i;else t[i+1]=x0(l,0),0===a?a=i:t[l+1]=qf(t[l+1],i),l=i;c&&(t[i+1]=Gf(t[i+1])),VC(t,u,i,!0),VC(t,u,i,!1),function fY(t,n,e,i,o){const r=o?t.residualClasses:t.residualStyles;null!=r&&"string"==typeof n&&ac(r,n)>=0&&(e[i+1]=Qf(e[i+1]))}(n,u,t,i,r),s=x0(a,l),r?n.classBindings=s:n.styleBindings=s}(o,r,n,e,s,i)}}function $f(t,n,e,i,o){let r=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const l=t[o],c=Array.isArray(l),u=c?l[1]:l,p=null===u;let b=e[o+1];b===bt&&(b=p?Zt:void 0);let _=p?M6(b,i):u===i?b:void 0;if(c&&!I0(_)&&(_=M6(l,i)),I0(_)&&(a=_,s))return a;const y=t[o+1];o=s?aa(y):il(y)}if(null!==n){let l=r?n.residualClasses:n.residualStyles;null!=l&&(a=M6(l,i))}return a}function I0(t){return void 0!==t}function qC(t,n){return!!(t.flags&(n?8:16))}class HY{destroy(n){}updateValue(n,e){}swap(n,e){const i=Math.min(n,e),o=Math.max(n,e),r=this.detach(o);if(o-i>1){const s=this.detach(i);this.attach(i,r),this.attach(o,s)}else this.attach(i,r)}move(n,e){this.attach(e,this.detach(n))}}function Jf(t,n,e,i,o){return t===e&&Object.is(n,i)?1:Object.is(o(t,n),o(e,i))?-1:0}function Zf(t,n,e,i){return!(void 0===n||!n.has(i)||(t.attach(e,n.get(i)),n.delete(i),0))}function QC(t,n,e,i,o){if(Zf(t,n,i,e(i,o)))t.updateValue(i,o);else{const r=t.create(i,o);t.attach(i,r)}}function KC(t,n,e,i){const o=new Set;for(let r=n;r<=e;r++)o.add(i(r,t.at(r)));return o}class $C{constructor(){this.kvMap=new Map,this._vMap=void 0}has(n){return this.kvMap.has(n)}delete(n){if(!this.has(n))return!1;const e=this.kvMap.get(n);return void 0!==this._vMap&&this._vMap.has(e)?(this.kvMap.set(n,this._vMap.get(e)),this._vMap.delete(e)):this.kvMap.delete(n),!0}get(n){return this.kvMap.get(n)}set(n,e){if(this.kvMap.has(n)){let i=this.kvMap.get(n);void 0===this._vMap&&(this._vMap=new Map);const o=this._vMap;for(;o.has(i);)i=o.get(i);o.set(i,e)}else this.kvMap.set(n,e)}forEach(n){for(let[e,i]of this.kvMap)if(n(i,e),void 0!==this._vMap){const o=this._vMap;for(;o.has(i);)i=o.get(i),n(i,e)}}}function he(t,n){mo("NgControlFlow");const e=q(),i=Or(),o=e[i]!==bt?e[i]:-1,r=-1!==o?O0(e,He+o):void 0;if(Zn(e,i,t)){const a=J(null);try{if(void 0!==r&&rf(r,0),-1!==t){const l=He+t,c=O0(e,l),u=Xf(e[_e],l),p=Ja(c,u.tView.ssrId);kc(c,xc(e,u,n,{dehydratedView:p}),0,Ka(u,p))}}finally{J(a)}}else if(void 0!==r){const a=Oy(r,0);void 0!==a&&(a[Tn]=n)}}class YY{constructor(n,e,i){this.lContainer=n,this.$implicit=e,this.$index=i}get $count(){return this.lContainer.length-Jn}}function JC(t){return t}function fr(t,n){return n}class UY{constructor(n,e,i){this.hasEmptyBlock=n,this.trackByFn=e,this.liveCollection=i}}function ji(t,n,e,i,o,r,s,a,l,c,u,p,b){mo("NgControlFlow");const _=q(),y=Mt(),z=void 0!==l,E=q(),x=a?s.bind(E[Ln][Tn]):s,k=new UY(z,x);E[He+t]=k,Gd(_,y,t+1,n,e,i,o,ur(y.consts,r)),z&&Gd(_,y,t+2,l,c,u,p,ur(y.consts,b))}class WY extends HY{constructor(n,e,i){super(),this.lContainer=n,this.hostLView=e,this.templateTNode=i,this.operationsCounter=void 0,this.needsIndexUpdate=!1}get length(){return this.lContainer.length-Jn}at(n){return this.getLView(n)[Tn].$implicit}attach(n,e){const i=e[ho];this.needsIndexUpdate||=n!==this.length,kc(this.lContainer,e,n,Ka(this.templateTNode,i))}detach(n){return this.needsIndexUpdate||=n!==this.length-1,function GY(t,n){return Td(t,n)}(this.lContainer,n)}create(n,e){const i=Ja(this.lContainer,this.templateTNode.tView.ssrId),o=xc(this.hostLView,this.templateTNode,new YY(this.lContainer,e,n),{dehydratedView:i});return this.operationsCounter?.recordCreate(),o}destroy(n){n0(n[_e],n),this.operationsCounter?.recordDestroy()}updateValue(n,e){this.getLView(n)[Tn].$implicit=e}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let n=0;n{t.destroy(l)})}(l,t,r.trackByFn),l.updateIndexes(),r.hasEmptyBlock){const c=Or(),u=0===l.length;if(Zn(i,c,u)){const p=e+2,b=O0(i,p);if(u){const _=Xf(o,p),y=Ja(b,_.tView.ssrId);kc(b,xc(i,_,void 0,{dehydratedView:y}),0,Ka(_,y))}else rf(b,0)}}}finally{J(n)}}function O0(t,n){return t[n]}function Xf(t,n){return ld(t,n)}function f(t,n,e,i){const o=q(),r=Mt(),s=He+t,a=o[at],l=r.firstCreatePass?function QY(t,n,e,i,o,r){const s=n.consts,l=Qa(n,t,2,i,ur(s,o));return J8(n,e,l,ur(s,r)),null!==l.attrs&&b0(l,l.attrs,!1),null!==l.mergedAttrs&&b0(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,r,o,n,e,i):r.data[s],c=ZC(r,o,l,a,n,t);o[s]=c;const u=zh(l);return Ir(l,!0),by(a,c,l),!function Nc(t){return!(32&~t.flags)}(l)&&ud()&&r0(r,o,c,l),0===function AF(){return lt.lFrame.elementDepthCount}()&&no(c,o),function SF(){lt.lFrame.elementDepthCount++}(),u&&(Q8(r,o,l),q8(r,l,o)),null!==i&&K8(o,l),f}function m(){let t=pn();$6()?J6():(t=t.parent,Ir(t,!1));const n=t;(function MF(t){return lt.skipHydrationRootTNode===t})(n)&&function kF(){lt.skipHydrationRootTNode=null}(),function TF(){lt.lFrame.elementDepthCount--}();const e=Mt();return e.firstCreatePass&&(Eh(e,t),H6(t)&&e.queries.elementEnd(t)),null!=n.classesWithoutHost&&function YF(t){return!!(8&t.flags)}(n)&&Kf(e,n,q(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function UF(t){return!!(16&t.flags)}(n)&&Kf(e,n,q(),n.stylesWithoutHost,!1),m}function A(t,n,e,i){return f(t,n,e,i),m(),A}let ZC=(t,n,e,i,o,r)=>(rs(!0),t0(i,o,function Pb(){return lt.lFrame.currentNamespace}()));function Ye(t,n,e){const i=q(),o=Mt(),r=t+He,s=o.firstCreatePass?function JY(t,n,e,i,o){const r=n.consts,s=ur(r,i),a=Qa(n,t,8,"ng-container",s);return null!==s&&b0(a,s,!0),J8(n,e,a,ur(r,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(r,o,i,n,e):o.data[r];Ir(s,!0);const a=XC(o,i,s,t);return i[r]=a,ud()&&r0(o,i,a,s),no(a,i),zh(s)&&(Q8(o,i,s),q8(o,s,i)),null!=e&&K8(i,s),Ye}function Ue(){let t=pn();const n=Mt();return $6()?J6():(t=t.parent,Ir(t,!1)),n.firstCreatePass&&(Eh(n,t),H6(t)&&n.queries.elementEnd(t)),Ue}function P0(t,n,e){return Ye(t,n,e),Ue(),P0}let XC=(t,n,e,i)=>(rs(!0),R8(n[at],""));function W(){return q()}function em(t,n,e){const i=q();return Zn(i,Or(),n)&&ko(Mt(),Mn(),i,t,n,i[at],e,!0),em}function ol(t,n,e){const i=q();if(Zn(i,Or(),n)){const r=Mt(),s=Mn();ko(r,s,i,t,n,Iy(X6(r.data),s,i),e,!0)}return ol}const e1="en-US";let nz=e1;let wz=(t,n,e)=>{};function M(t,n,e,i){const o=q(),r=Mt(),s=pn();return im(r,o,o[at],s,t,n,i),M}function R0(t,n){const e=pn(),i=q(),o=Mt();return im(o,i,Iy(X6(o.data),e,i),e,t,n),R0}function im(t,n,e,i,o,r,s){const a=zh(i),c=t.firstCreatePass&&ky(t),u=n[Tn],p=xy(n);let b=!0;if(3&i.type||s){const z=po(i,n),E=s?s(z):z,x=p.length,k=s?pe=>s(Xt(pe[i.index])):i.index;let ie=null;if(!s&&a&&(ie=function YU(t,n,e,i){const o=t.cleanup;if(null!=o)for(let r=0;rl?a[l]:null}"string"==typeof s&&(r+=2)}return null}(t,n,o,i.index)),null!==ie)(ie.__ngLastListenerFn__||ie).__ngNextListenerFn__=r,ie.__ngLastListenerFn__=r,b=!1;else{r=Az(i,n,u,r),wz(z,o,r);const pe=e.listen(E,o,r);p.push(r,pe),c&&c.push(o,k,x,x+1)}}else r=Az(i,n,u,r);const _=i.outputs;let y;if(b&&null!==_&&(y=_[o])){const z=y.length;if(z)for(let E=0;E-1?Yo(t.index,n):n,5);let a=zz(n,e,i,r),l=o.__ngNextListenerFn__;for(;l;)a=zz(n,e,l,r)&&a,l=l.__ngNextListenerFn__;return a}}function g(t=1){return function NF(t){return(lt.lFrame.contextLView=function _b(t,n){for(;t>0;)n=n[pc],t--;return n}(t,lt.lFrame.contextLView))[Tn]}(t)}function UU(t,n){let e=null;const i=function LN(t){const n=t.attrs;if(null!=n){const e=n.indexOf(5);if(!(1&e))return n[e+1]}return null}(t);for(let o=0;o(rs(!0),function F8(t,n){return t.createText(n)}(n[at],i));function D(t){return we("",t,""),D}function we(t,n,e){const i=q(),o=function Uc(t,n,e,i){return Zn(t,Or(),e)?n+vt(e)+i:bt}(i,t,n,e);return o!==bt&&Es(i,Hi(),o),we}function la(t,n,e,i,o){const r=q(),s=function Wc(t,n,e,i,o,r){const a=tl(t,Ts(),e,o);return Ms(2),a?n+vt(e)+i+vt(o)+r:bt}(r,t,n,e,i,o);return s!==bt&&Es(r,Hi(),s),la}function sm(t,n,e,i,o,r,s){const a=q(),l=function Gc(t,n,e,i,o,r,s,a){const c=A0(t,Ts(),e,o,s);return Ms(3),c?n+vt(e)+i+vt(o)+r+vt(s)+a:bt}(a,t,n,e,i,o,r,s);return l!==bt&&Es(a,Hi(),l),sm}function ki(t,n,e){Bw(n)&&(n=n());const i=q();return Zn(i,Or(),n)&&ko(Mt(),Mn(),i,t,n,i[at],e,!1),ki}function Ui(t,n){const e=Bw(t);return e&&t.set(n),e}function Ii(t,n){const e=q(),i=Mt(),o=pn();return im(i,e,e[at],o,t,n),Ii}function am(t,n,e,i,o){if(t=st(t),Array.isArray(t))for(let r=0;r>20;if(Fa(t)||!t.multi){const _=new hd(c,o,v),y=cm(l,n,o?u:u+b,p);-1===y?(c8(Ph(a,s),r,l),lm(r,t,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),e.push(_),s.push(_)):(e[y]=_,s[y]=_)}else{const _=cm(l,n,u+b,p),y=cm(l,n,u,u+b),E=y>=0&&e[y];if(o&&!E||!o&&!(_>=0&&e[_])){c8(Ph(a,s),r,l);const x=function uW(t,n,e,i,o){const r=new hd(t,e,v);return r.multi=[],r.index=n,r.componentProviders=0,Zz(r,o,i&&!e),r}(o?dW:cW,e.length,o,i,c);!o&&E&&(e[y].providerFactory=x),lm(r,t,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),e.push(x),s.push(x)}else lm(r,t,_>-1?_:y,Zz(e[o?y:_],c,!o&&i));!o&&i&&E&&e[y].componentProviders++}}}function lm(t,n,e,i){const o=Fa(n),r=function ZN(t){return!!t.useClass}(n);if(o||r){const l=(r?st(n.useClass):n).prototype.ngOnDestroy;if(l){const c=t.destroyHooks||(t.destroyHooks=[]);if(!o&&n.multi){const u=c.indexOf(e);-1===u?c.push(e,[i,l]):c[u+1].push(i,l)}else c.push(e,l)}}}function Zz(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function cm(t,n,e,i){for(let o=e;o{e.providersResolver=(i,o)=>function lW(t,n,e){const i=Mt();if(i.firstCreatePass){const o=kr(t);am(e,i.data,i.blueprint,o,!0),am(n,i.data,i.blueprint,o,!1)}}(i,o?o(t):t,n)}}let hW=(()=>{class t{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e)){const i=k6(0,e.type),o=i.length>0?C0([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e,o)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=ae({token:t,providedIn:"environment",factory:()=>new t(R(Li))})}return t})();function me(t){mo("NgStandalone"),t.getStandaloneInjector=n=>n.get(hW).getOrCreateStandaloneInjector(t)}function Si(t,n,e){const i=fo()+t,o=q();return o[i]===bt?cs(o,i,e?n.call(e):n()):function Wd(t,n){return t[n]}(o,i)}function mr(t,n,e,i){return nA(q(),fo(),t,n,e,i)}function sl(t,n,e,i,o){return function iA(t,n,e,i,o,r,s){const a=n+e;return tl(t,a,o,r)?cs(t,a+2,s?i.call(s,o,r):i(o,r)):iu(t,a+2)}(q(),fo(),t,n,e,i,o)}function tA(t,n,e,i,o,r){return function oA(t,n,e,i,o,r,s,a){const l=n+e;return A0(t,l,o,r,s)?cs(t,l+3,a?i.call(a,o,r,s):i(o,r,s)):iu(t,l+3)}(q(),fo(),t,n,e,i,o,r)}function nu(t,n,e,i,o,r,s){return function rA(t,n,e,i,o,r,s,a,l){const c=n+e;return function pr(t,n,e,i,o,r){const s=tl(t,n,e,i);return tl(t,n+2,o,r)||s}(t,c,o,r,s,a)?cs(t,c+4,l?i.call(l,o,r,s,a):i(o,r,s,a)):iu(t,c+4)}(q(),fo(),t,n,e,i,o,r,s)}function iu(t,n){const e=t[n];return e===bt?void 0:e}function nA(t,n,e,i,o,r){const s=n+e;return Zn(t,s,o)?cs(t,s+1,r?i.call(r,o):i(o)):iu(t,s+1)}function Fr(t,n){const e=Mt();let i;const o=t+He;e.firstCreatePass?(i=function wW(t,n){if(n)for(let e=n.length-1;e>=0;e--){const i=n[e];if(t===i.name)return i}}(n,e.pipeRegistry),e.data[o]=i,i.onDestroy&&(e.destroyHooks??=[]).push(o,i.onDestroy)):i=e.data[o];const r=i.factory||(i.factory=Na(i.type)),a=Mo(v);try{const l=Oh(!1),c=r();return Oh(l),function rm(t,n,e,i){e>=t.data.length&&(t.data[e]=null,t.blueprint[e]=null),n[e]=i}(e,q(),o,c),c}finally{Mo(a)}}function Rr(t,n,e){const i=t+He,o=q(),r=Ba(o,i);return function ou(t,n){return t[_e].data[n].pure}(o,i)?nA(o,fo(),n,r.transform,e,r):r.transform(e)}function ot(t,n){return u0(t,n)}let CA=(()=>{class t{log(e){console.log(e)}warn(e){console.warn(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();const MA=new oe(""),Y0=new oe("");let bm,gm=(()=>{class t{constructor(e,i,o){this._ngZone=e,this.registry=i,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,bm||(function bG(t){bm=t}(o),o.addToWindow(i)),this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Me.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb()}});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,o){let r=-1;i&&i>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==r),e()},i)),this._callbacks.push({doneCb:e,timeoutId:r,updateCb:o})}whenStable(e,i,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,i,o),this._runCallbacksIfReady()}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,o){return[]}static#e=this.\u0275fac=function(i){return new(i||t)(R(Me),R(vm),R(Y0))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),vm=(()=>{class t{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return bm?.findTestabilityInTree(this,e,i)??null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();function lu(t){return!!t&&"function"==typeof t.then}function DA(t){return!!t&&"function"==typeof t.subscribe}const _m=new oe("");let ym=(()=>{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((e,i)=>{this.resolve=e,this.reject=i}),this.appInits=G(_m,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const e=[];for(const o of this.appInits){const r=o();if(lu(r))e.push(r);else if(DA(r)){const s=new Promise((a,l)=>{r.subscribe({complete:a,error:l})});e.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{i()}).catch(o=>{this.reject(o)}),0===e.length&&i(),this.initialized=!0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const U0=new oe("");function kA(t,n){return Array.isArray(n)?n.reduce(kA,t):{...t,...n}}let Ko=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=G(i_),this.afterRenderEffectManager=G(Bd),this.zonelessEnabled=G(Ld),this.externalTestViews=new Set,this.beforeRender=new V,this.afterTick=new V,this.componentTypes=[],this.components=[],this.isStable=G(Ua).hasPendingTasks.pipe(Pe(e=>!e)),this._injector=G(Li)}get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(e,i){const o=e instanceof cw;if(!this._injector.get(ym).done)throw!o&&function Zs(t){const n=Dt(t)||yi(t)||Ri(t);return null!==n&&n.standalone}(e),new j(405,!1);let s;s=o?e:this._injector.get(Pc).resolveComponentFactory(e),this.componentTypes.push(s.componentType);const a=function _G(t){return t.isBoundToModule}(s)?void 0:this._injector.get(el),c=s.create(tn.NULL,[],i||s.selector,a),u=c.location.nativeElement,p=c.injector.get(MA,null);return p?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),W0(this.components,c),p?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){this._tick(!0)}_tick(e){if(this._runningTick)throw new j(101,!1);const i=J(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(e)}catch(o){this.internalErrorHandler(o)}finally{this._runningTick=!1,J(i),this.afterTick.next()}}detectChangesInAttachedViews(e){let i=null;this._injector.destroyed||(i=this._injector.get(Za,null,{optional:!0}));let o=0;const r=this.afterRenderEffectManager;for(;o<10;){const s=0===o;if(e||!s){this.beforeRender.next(s);for(let{_lView:a,notifyErrorHandler:l}of this._views)wG(a,l,s,this.zonelessEnabled)}else i?.begin?.(),i?.end?.();if(o++,r.executeInternalCallbacks(),!this.allViews.some(({_lView:a})=>cd(a))&&(r.execute(),!this.allViews.some(({_lView:a})=>cd(a))))break}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;W0(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(U0,[]);[...this._bootstrapListeners,...i].forEach(o=>o(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>W0(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new j(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function W0(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function wG(t,n,e,i){(e||cd(t))&&d0(t,n,e&&!i?0:1)}class CG{constructor(n,e){this.ngModuleFactory=n,this.componentFactories=e}}let OA=(()=>{class t{compileModuleSync(e){return new Vf(e)}compileModuleAsync(e){return Promise.resolve(this.compileModuleSync(e))}compileModuleAndAllComponentsSync(e){const i=this.compileModuleSync(e),r=Go(eo(e).declarations).reduce((s,a)=>{const l=Dt(a);return l&&s.push(new Yd(l)),s},[]);return new CG(i,r)}compileModuleAndAllComponentsAsync(e){return Promise.resolve(this.compileModuleAndAllComponentsSync(e))}clearCache(){}clearCacheFor(e){}getModuleId(e){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),SG=(()=>{class t{constructor(){this.zone=G(Me),this.changeDetectionScheduler=G(Oc),this.applicationRef=G(Ko)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function wm({ngZoneFactory:t,ignoreChangesOutsideZone:n}){return t??=()=>new Me(Cm()),[{provide:Me,useFactory:t},{provide:ts,multi:!0,useFactory:()=>{const e=G(SG,{optional:!0});return()=>e.initialize()}},{provide:ts,multi:!0,useFactory:()=>{const e=G(DG);return()=>{e.initialize()}}},{provide:i_,useFactory:MG},!0===n?{provide:lw,useValue:!0}:[]]}function MG(){const t=G(Me),n=G(hr);return e=>t.runOutsideAngular(()=>n.handleError(e))}function Cm(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}let DG=(()=>{class t{constructor(){this.subscription=new Ft,this.initialized=!1,this.zone=G(Me),this.pendingTasks=G(Ua)}initialize(){if(this.initialized)return;this.initialized=!0;let e=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(e=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{Me.assertNotInAngularZone(),queueMicrotask(()=>{null!==e&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(e),e=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{Me.assertInAngularZone(),e??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),cu=(()=>{class t{constructor(){this.appRef=G(Ko),this.taskService=G(Ua),this.ngZone=G(Me),this.zonelessEnabled=G(Ld),this.disableScheduling=G(lw,{optional:!0})??!1,this.zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run,this.schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}],this.subscriptions=new Ft,this.cancelScheduledCallback=null,this.shouldRefreshViews=!1,this.useMicrotaskScheduler=!1,this.runningTick=!1,this.pendingRenderTaskId=null,this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof _f||!this.zoneIsDefined)}notify(e){if(!this.zonelessEnabled&&5===e)return;switch(e){case 3:case 2:case 0:case 4:case 5:case 1:this.shouldRefreshViews=!0}if(!this.shouldScheduleTick())return;const i=this.useMicrotaskScheduler?pw:hw;this.pendingRenderTaskId=this.taskService.add(),this.zoneIsDefined?Zone.root.run(()=>{this.cancelScheduledCallback=i(()=>{this.tick(this.shouldRefreshViews)})}):this.cancelScheduledCallback=i(()=>{this.tick(this.shouldRefreshViews)})}shouldScheduleTick(){return!(this.disableScheduling||null!==this.pendingRenderTaskId||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Me.isInAngularZone())}tick(e){if(this.runningTick||this.appRef.destroyed)return;const i=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick(e)},void 0,this.schedulerTickApplyArgs)}catch(o){throw this.taskService.remove(i),o}finally{this.cleanup()}this.useMicrotaskScheduler=!0,pw(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(i)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.shouldRefreshViews=!1,this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,null!==this.pendingRenderTaskId){const e=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(e)}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const xs=new oe("",{providedIn:"root",factory:()=>G(xs,kt.Optional|kt.SkipSelf)||function EG(){return typeof $localize<"u"&&$localize.locale||e1}()}),Am=new oe("");let FA=(()=>{class t{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const o=function VH(t="zone.js",n){return"noop"===t?new _f:"zone.js"===t?new Me(n):t}(i?.ngZone,Cm({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return o.run(()=>{const r=i?.ignoreChangesOutsideZone,s=function Sj(t,n,e){return new Pf(t,n,e)}(e.moduleType,this.injector,[...wm({ngZoneFactory:()=>o,ignoreChangesOutsideZone:r}),{provide:Oc,useExisting:cu}]),a=s.injector.get(hr,null);return o.runOutsideAngular(()=>{const l=o.onError.subscribe({next:c=>{a.handleError(c)}});s.onDestroy(()=>{W0(this._modules,s),l.unsubscribe()})}),function xA(t,n,e){try{const i=e();return lu(i)?i.catch(o=>{throw n.runOutsideAngular(()=>t.handleError(o)),o}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}(a,o,()=>{const l=s.injector.get(ym);return l.runInitializers(),l.donePromise.then(()=>(function iz(t){"string"==typeof t&&(nz=t.toLowerCase().replace(/_/g,"-"))}(s.injector.get(xs,e1)||e1),this._moduleDoBootstrap(s),s))})})}bootstrapModule(e,i=[]){const o=kA({},i);return function AG(t,n,e){const i=new Vf(e);return Promise.resolve(i)}(0,0,e).then(r=>this.bootstrapModuleFactory(r,o))}_moduleDoBootstrap(e){const i=e.injector.get(Ko);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(o=>i.bootstrap(o));else{if(!e.instance.ngDoBootstrap)throw new j(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new j(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get(Am,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(i){return new(i||t)(R(tn))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})(),ca=null;const RA=new oe("");function LA(t,n,e=[]){const i=`Platform: ${n}`,o=new oe(i);return(r=[])=>{let s=Sm();if(!s||s.injector.get(RA,!1)){const a=[...e,...r,{provide:o,useValue:!0}];t?t(a):function IG(t){if(ca&&!ca.get(RA,!1))throw new j(400,!1);(function EA(){!function ze(t){Vn=t}(()=>{throw new j(600,!1)})})(),ca=t;const n=t.get(FA);(function HA(t){t.get(S_,null)?.forEach(e=>e())})(t)}(function BA(t=[],n){return tn.create({name:n,providers:[{provide:P6,useValue:"platform"},{provide:Am,useValue:new Set([()=>ca=null])},...t]})}(a,i))}return function OG(t){const n=Sm();if(!n)throw new j(401,!1);return n}()}}function Sm(){return ca?.get(FA)??null}let We=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=VG}return t})();function VG(t){return function NG(t,n,e){if(La(t)&&!e){const i=Yo(t.index,n);return new kd(i,i)}return 175&t.type?new kd(n[Ln],n):null}(pn(),q(),!(16&~t))}class qA{constructor(){}supports(n){return z0(n)}create(n){return new HG(n)}}const BG=(t,n)=>n;class HG{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||BG}forEachItem(n){let e;for(e=this._itHead;null!==e;e=e._next)n(e)}forEachOperation(n){let e=this._itHead,i=this._removalsHead,o=0,r=null;for(;e||i;){const s=!i||e&&e.currentIndex{s=this._trackByFn(o,a),null!==e&&Object.is(e.trackById,s)?(i&&(e=this._verifyReinsertion(e,a,s,o)),Object.is(e.item,a)||this._addIdentityChange(e,a)):(e=this._mismatch(e,a,s,o),i=!0),e=e._next,o++}),this.length=o;return this._truncate(e),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,e,i,o){let r;return null===n?r=this._itTail:(r=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._reinsertAfter(n,r,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,o))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._moveAfter(n,r,o)):n=this._addAfter(new jG(e,i),r,o),n}_verifyReinsertion(n,e,i,o){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==r?n=this._reinsertAfter(r,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const e=n._next;this._addToRemovals(this._unlink(n)),n=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,r=n._nextRemoved;return null===o?this._removalsHead=r:o._nextRemoved=r,null===r?this._removalsTail=o:r._prevRemoved=o,this._insertAfter(n,e,i),this._addToMoves(n,i),n}_moveAfter(n,e,i){return this._unlink(n),this._insertAfter(n,e,i),this._addToMoves(n,i),n}_addAfter(n,e,i){return this._insertAfter(n,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,e,i){const o=null===e?this._itHead:e._next;return n._next=o,n._prev=e,null===o?this._itTail=n:o._prev=n,null===e?this._itHead=n:e._next=n,null===this._linkedRecords&&(this._linkedRecords=new QA),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const e=n._prev,i=n._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,n}_addToMoves(n,e){return n.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new QA),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,e){return n.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class jG{constructor(n,e){this.item=n,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class YG{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const e=n._prevDup,i=n._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class QA{constructor(){this.map=new Map}put(n){const e=n.trackById;let i=this.map.get(e);i||(i=new YG,this.map.set(e,i)),i.add(n)}get(n,e){const o=this.map.get(n);return o?o.get(n,e):null}remove(n){const e=n.trackById;return this.map.get(e).remove(n)&&this.map.delete(e),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function KA(t,n,e){const i=t.previousIndex;if(null===i)return i;let o=0;return e&&i{if(e&&e.key===o)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const r=this._getOrCreateRecordForKey(o,i);e=this._insertBeforeOrAppend(e,r)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,e){if(n){const i=n._prev;return e._next=n,e._prev=i,n._prev=e,i&&(i._next=e),n===this._mapHead&&(this._mapHead=e),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(n,e){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,e);const r=o._prev,s=o._next;return r&&(r._next=s),s&&(s._prev=r),o._next=null,o._prev=null,o}const i=new WG(n);return this._records.set(n,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,e){Object.is(e,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=e,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,e){n instanceof Map?n.forEach(e):Object.keys(n).forEach(i=>e(n[i],i))}}class WG{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function JA(){return new K0([new qA])}let K0=(()=>{class t{static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:JA});constructor(e){this.factories=e}static create(e,i){if(null!=i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||JA()),deps:[[t,new ch,new ed]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(null!=i)return i;throw new j(901,!1)}}return t})();function ZA(){return new $0([new $A])}let $0=(()=>{class t{static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:ZA});constructor(e){this.factories=e}static create(e,i){if(i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||ZA()),deps:[[t,new ch,new ed]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(i)return i;throw new j(901,!1)}}return t})();const QG=LA(null,"core",[]);let KG=(()=>{class t{constructor(e){}static#e=this.\u0275fac=function(i){return new(i||t)(R(Ko))};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function I(t){return"boolean"==typeof t?t:null!=t&&"false"!==t}function Oi(t,n=NaN){return isNaN(parseFloat(t))||isNaN(Number(t))?n:Number(t)}function Om(t){const n=J(null);try{return t()}finally{J(n)}}const kq=new oe("",{providedIn:"root",factory:()=>G(Iq)});let Iq=(()=>{class t{static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:()=>new Oq})}return t})();class Oq{constructor(){this.queuedEffectCount=0,this.queues=new Map,this.pendingTasks=G(Ua),this.taskId=null}scheduleEffect(n){if(this.enqueue(n),null===this.taskId){const e=this.taskId=this.pendingTasks.add();queueMicrotask(()=>{this.flush(),this.pendingTasks.remove(e),this.taskId=null})}}enqueue(n){const e=n.creationZone;this.queues.has(e)||this.queues.set(e,new Set);const i=this.queues.get(e);i.has(n)||(this.queuedEffectCount++,i.add(n))}flush(){for(;this.queuedEffectCount>0;)for(const[n,e]of this.queues)null===n?this.flushQueue(e):n.run(()=>this.flushQueue(e))}flushQueue(n){for(const e of n)n.delete(e),this.queuedEffectCount--,e.run()}}class Pq{constructor(n,e,i,o,r,s){this.scheduler=n,this.effectFn=e,this.creationZone=i,this.injector=r,this.watcher=function So(t,n,e){const i=Object.create(co);e&&(i.consumerAllowSignalWrites=!0),i.fn=t,i.schedule=n;const o=l=>{i.cleanupFn=l};return i.ref={notify:()=>O(i),run:()=>{if(null===i.fn)return;if(function Ee(){return N}())throw new Error("Schedulers cannot synchronously execute watches while scheduling.");if(i.dirty=!1,i.hasRun&&!se(i))return;i.hasRun=!0;const l=L(i);try{i.cleanupFn(),i.cleanupFn=bi,i.fn(o)}finally{H(i,l)}},cleanup:()=>i.cleanupFn(),destroy:()=>function s(l){(function r(l){return null===l.fn&&null===l.schedule})(l)||(ue(l),l.cleanupFn(),l.fn=null,l.schedule=null,l.cleanupFn=bi)}(i),[le]:i},i.ref}(a=>this.runEffect(a),()=>this.schedule(),s),this.unregisterOnDestroy=o?.onDestroy(()=>this.destroy())}runEffect(n){try{this.effectFn(n)}catch(e){this.injector.get(hr,null,{optional:!0})?.handleError(e)}}run(){this.watcher.run()}schedule(){this.scheduler.scheduleEffect(this)}destroy(){this.watcher.destroy(),this.unregisterOnDestroy?.()}}let TS=null;function da(){return TS}class Rq{}const Pt=new oe("");let Pm=(()=>{class t{historyGo(e){throw new Error("")}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(Bq),providedIn:"platform"})}return t})();const Lq=new oe("");let Bq=(()=>{class t extends Pm{constructor(){super(),this._doc=G(Pt),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return da().getBaseHref(this._doc)}onPopState(e){const i=da().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",e,!1),()=>i.removeEventListener("popstate",e)}onHashChange(e){const i=da().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",e,!1),()=>i.removeEventListener("hashchange",e)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(e){this._location.pathname=e}pushState(e,i,o){this._history.pushState(e,i,o)}replaceState(e,i,o){this._history.replaceState(e,i,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>new t,providedIn:"platform"})}return t})();function Vm(t,n){if(0==t.length)return n;if(0==n.length)return t;let e=0;return t.endsWith("/")&&e++,n.startsWith("/")&&e++,2==e?t+n.substring(1):1==e?t+n:t+"/"+n}function MS(t){const n=t.match(/#|\?|$/),e=n&&n.index||t.length;return t.slice(0,e-("/"===t[e-1]?1:0))+t.slice(e)}function ks(t){return t&&"?"!==t[0]?"?"+t:t}let ll=(()=>{class t{historyGo(e){throw new Error("")}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(ES),providedIn:"root"})}return t})();const DS=new oe("");let ES=(()=>{class t extends ll{constructor(e,i){super(),this._platformLocation=e,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??G(Pt).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return Vm(this._baseHref,e)}path(e=!1){const i=this._platformLocation.pathname+ks(this._platformLocation.search),o=this._platformLocation.hash;return o&&e?`${i}${o}`:i}pushState(e,i,o,r){const s=this.prepareExternalUrl(o+ks(r));this._platformLocation.pushState(e,i,s)}replaceState(e,i,o,r){const s=this.prepareExternalUrl(o+ks(r));this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pm),R(DS,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Hq=(()=>{class t extends ll{constructor(e,i){super(),this._platformLocation=e,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}path(e=!1){const i=this._platformLocation.hash??"#";return i.length>0?i.substring(1):i}prepareExternalUrl(e){const i=Vm(this._baseHref,e);return i.length>0?"#"+i:i}pushState(e,i,o,r){let s=this.prepareExternalUrl(o+ks(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(e,i,s)}replaceState(e,i,o,r){let s=this.prepareExternalUrl(o+ks(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pm),R(DS,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),o1=(()=>{class t{constructor(e){this._subject=new B,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=e;const i=this._locationStrategy.getBaseHref();this._basePath=function Uq(t){if(new RegExp("^(https?:)?//").test(t)){const[,e]=t.split(/\/\/[^\/]+/);return e}return t}(MS(xS(i))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,i=""){return this.path()==this.normalize(e+ks(i))}normalize(e){return t.stripTrailingSlash(function Yq(t,n){if(!t||!n.startsWith(t))return n;const e=n.substring(t.length);return""===e||["/",";","?","#"].includes(e[0])?e:n}(this._basePath,xS(e)))}prepareExternalUrl(e){return e&&"/"!==e[0]&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,i="",o=null){this._locationStrategy.pushState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ks(i)),o)}replaceState(e,i="",o=null){this._locationStrategy.replaceState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ks(i)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription??=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}),()=>{const i=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",i){this._urlChangeListeners.forEach(o=>o(e,i))}subscribe(e,i,o){return this._subject.subscribe({next:e,error:i,complete:o})}static#e=this.normalizeQueryParams=ks;static#t=this.joinWithSlash=Vm;static#n=this.stripTrailingSlash=MS;static#i=this.\u0275fac=function(i){return new(i||t)(R(ll))};static#o=this.\u0275prov=ae({token:t,factory:()=>function jq(){return new o1(R(ll))}(),providedIn:"root"})}return t})();function xS(t){return t.replace(/\/index.html$/,"")}const Wm=/\s+/,LS=[];let Jo=(()=>{class t{constructor(e,i){this._ngEl=e,this._renderer=i,this.initialClasses=LS,this.stateMap=new Map}set klass(e){this.initialClasses=null!=e?e.trim().split(Wm):LS}set ngClass(e){this.rawClass="string"==typeof e?e.trim().split(Wm):e}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(const i of e)this._updateState(i,!0);else if(null!=e)for(const i of Object.keys(e))this._updateState(i,!!e[i]);this._applyStateDiff()}_updateState(e,i){const o=this.stateMap.get(e);void 0!==o?(o.enabled!==i&&(o.changed=!0,o.enabled=i),o.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const e of this.stateMap){const i=e[0],o=e[1];o.changed?(this._toggleClass(i,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),o.touched=!1}}_toggleClass(e,i){(e=e.trim()).length>0&&e.split(Wm).forEach(o=>{i?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"},standalone:!0})}return t})();class xQ{constructor(n,e,i,o){this.$implicit=n,this.ngForOf=e,this.index=i,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let zn=(()=>{class t{set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}constructor(e,i,o){this._viewContainer=e,this._template=i,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const i=this._viewContainer;e.forEachOperation((o,r,s)=>{if(null==o.previousIndex)i.createEmbeddedView(this._template,new xQ(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===r?void 0:r);else if(null!==r){const a=i.get(r);i.move(a,s),HS(a,o)}});for(let o=0,r=i.length;o{HS(i.get(o.currentIndex),o)})}static ngTemplateContextGuard(e,i){return!0}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt),v(K0))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return t})();function HS(t,n){t.context.$implicit=n.item}let St=(()=>{class t{constructor(e,i){this._viewContainer=e,this._context=new kQ,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){jS("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){jS("ngIfElse",e),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(e,i){return!0}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return t})();class kQ{constructor(){this.$implicit=null,this.ngIf=null}}function jS(t,n){if(n&&!n.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${_i(n)}'.`)}class Gm{constructor(n,e){this._viewContainerRef=n,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(n){n&&!this._created?this.create():!n&&this._created&&this.destroy()}}let cl=(()=>{class t{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(e){this._ngSwitch=e,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews.push(e)}_matchCase(e){const i=e===this._ngSwitch;return this._lastCasesMatched||=i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(e){if(this._defaultViews.length>0&&e!==this._defaultUsed){this._defaultUsed=e;for(const i of this._defaultViews)i.enforceState(e)}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0})}return t})(),fu=(()=>{class t{constructor(e,i,o){this.ngSwitch=o,o._addCase(),this._view=new Gm(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt),v(cl,9))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0})}return t})(),qm=(()=>{class t{constructor(e,i,o){o._addDefault(new Gm(e,i))}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt),v(cl,9))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngSwitchDefault",""]],standalone:!0})}return t})(),ti=(()=>{class t{constructor(e,i,o){this._ngEl=e,this._differs=i,this._renderer=o,this._ngStyle=null,this._differ=null}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){const e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,i){const[o,r]=e.split("."),s=-1===o.indexOf("-")?void 0:na.DashCase;null!=i?this._renderer.setStyle(this._ngEl.nativeElement,o,r?`${i}${r}`:i,s):this._renderer.removeStyle(this._ngEl.nativeElement,o,s)}_applyChanges(e){e.forEachRemovedItem(i=>this._setStyle(i.key,null)),e.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),e.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v($0),v(Yt))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0})}return t})(),Nn=(()=>{class t{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(this._shouldRecreateView(e)){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const o=this._createContextForwardProxy();this._viewRef=i.createEmbeddedView(this.ngTemplateOutlet,o,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,i,o)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,i,o),get:(e,i,o)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,i,o)}})}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[xe]})}return t})();class PQ{createSubscription(n,e){return Om(()=>n.subscribe({next:e,error:i=>{throw i}}))}dispose(n){Om(()=>n.unsubscribe())}}class VQ{createSubscription(n,e){return n.then(e,i=>{throw i})}dispose(n){}}const NQ=new VQ,FQ=new PQ;let Qm=(()=>{class t{constructor(e){this._latestValue=null,this.markForCheckOnValueUpdate=!0,this._subscription=null,this._obj=null,this._strategy=null,this._ref=e}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(e){if(!this._obj){if(e)try{this.markForCheckOnValueUpdate=!1,this._subscribe(e)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue}_subscribe(e){this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,i=>this._updateLatestValue(e,i))}_selectStrategy(e){if(lu(e))return NQ;if(DA(e))return FQ;throw function Br(t,n){return new j(2100,!1)}()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(e,i){e===this._obj&&(this._latestValue=i,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static#e=this.\u0275fac=function(i){return new(i||t)(v(We,16))};static#t=this.\u0275pipe=jn({name:"async",type:t,pure:!1,standalone:!0})}return t})(),WS=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();const GS="browser";function p4(t){return t===GS}function qS(t){return"server"===t}let nK=(()=>{class t{static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:()=>p4(G(Pr))?new iK(G(Pt),window):new rK})}return t})();class iK{constructor(n,e){this.document=n,this.window=e,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(n){this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){const e=function oK(t,n){const e=t.getElementById(n)||t.getElementsByName(n)[0];if(e)return e;if("function"==typeof t.createTreeWalker&&t.body&&"function"==typeof t.body.attachShadow){const i=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let o=i.currentNode;for(;o;){const r=o.shadowRoot;if(r){const s=r.getElementById(n)||r.querySelector(`[name="${n}"]`);if(s)return s}o=i.nextNode()}}return null}(this.document,n);e&&(this.scrollToElement(e),e.focus())}setHistoryScrollRestoration(n){this.window.history.scrollRestoration=n}scrollToElement(n){const e=n.getBoundingClientRect(),i=e.left+this.window.pageXOffset,o=e.top+this.window.pageYOffset,r=this.offset();this.window.scrollTo(i-r[0],o-r[1])}}class rK{setOffset(n){}getScrollPosition(){return[0,0]}scrollToPosition(n){}scrollToAnchor(n){}setHistoryScrollRestoration(n){}}class PK extends Rq{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Zm extends PK{static makeCurrent(){!function Fq(t){TS??=t}(new Zm)}onAndCancel(n,e,i){return n.addEventListener(e,i),()=>{n.removeEventListener(e,i)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,e){return(e=e||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return"window"===e?window:"document"===e?n:"body"===e?n.body:null}getBaseHref(n){const e=function VK(){return vu=vu||document.querySelector("base"),vu?vu.getAttribute("href"):null}();return null==e?null:function NK(t){return new URL(t,document.baseURI).pathname}(e)}resetBaseElement(){vu=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function DQ(t,n){n=encodeURIComponent(n);for(const e of t.split(";")){const i=e.indexOf("="),[o,r]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(o.trim()===n)return decodeURIComponent(r)}return null}(document.cookie,n)}}let vu=null,RK=(()=>{class t{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const Xm=new oe("");let nT=(()=>{class t{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(o=>{o.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,i,o){return this._findPluginFor(i).addEventListener(e,i,o)}getZone(){return this._zone}_findPluginFor(e){let i=this._eventNameToPlugin.get(e);if(i)return i;if(i=this._plugins.find(r=>r.supports(e)),!i)throw new j(5101,!1);return this._eventNameToPlugin.set(e,i),i}static#e=this.\u0275fac=function(i){return new(i||t)(R(Xm),R(Me))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();class iT{constructor(n){this._doc=n}}const eg="ng-app-id";let oT=(()=>{class t{constructor(e,i,o,r={}){this.doc=e,this.appId=i,this.nonce=o,this.platformId=r,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=qS(r),this.resetHostNodes()}addStyles(e){for(const i of e)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(e){for(const i of e)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const e=this.styleNodesInDOM;e&&(e.forEach(i=>i.remove()),e.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(e){this.hostNodes.add(e);for(const i of this.getAllStyles())this.addStyleToHost(e,i)}removeHost(e){this.hostNodes.delete(e)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(e){for(const i of this.hostNodes)this.addStyleToHost(i,e)}onStyleRemoved(e){const i=this.styleRef;i.get(e)?.elements?.forEach(o=>o.remove()),i.delete(e)}collectServerRenderedStyles(){const e=this.doc.head?.querySelectorAll(`style[${eg}="${this.appId}"]`);if(e?.length){const i=new Map;return e.forEach(o=>{null!=o.textContent&&i.set(o.textContent,o)}),i}return null}changeUsageCount(e,i){const o=this.styleRef;if(o.has(e)){const r=o.get(e);return r.usage+=i,r.usage}return o.set(e,{usage:i,elements:[]}),i}getStyleElement(e,i){const o=this.styleNodesInDOM,r=o?.get(i);if(r?.parentNode===e)return o.delete(i),r.removeAttribute(eg),r;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(eg,this.appId),e.appendChild(s),s}}addStyleToHost(e,i){const o=this.getStyleElement(e,i),r=this.styleRef,s=r.get(i)?.elements;s?s.push(o):r.set(i,{elements:[o],usage:1})}resetHostNodes(){const e=this.hostNodes;e.clear(),e.add(this.doc.head)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt),R(zc),R(vd,8),R(Pr))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const tg={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},ng=/%COMP%/g,jK=new oe("",{providedIn:"root",factory:()=>!0});function sT(t,n){return n.map(e=>e.replace(ng,t))}let ig=(()=>{class t{constructor(e,i,o,r,s,a,l,c=null){this.eventManager=e,this.sharedStylesHost=i,this.appId=o,this.removeStylesOnCompDestroy=r,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=qS(a),this.defaultRenderer=new og(e,s,l,this.platformIsServer)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Mr.ShadowDom&&(i={...i,encapsulation:Mr.Emulated});const o=this.getOrCreateRenderer(e,i);return o instanceof lT?o.applyToHost(e):o instanceof rg&&o.applyStyles(),o}getOrCreateRenderer(e,i){const o=this.rendererByCompId;let r=o.get(i.id);if(!r){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,p=this.platformIsServer;switch(i.encapsulation){case Mr.Emulated:r=new lT(l,c,i,this.appId,u,s,a,p);break;case Mr.ShadowDom:return new GK(l,c,e,i,s,a,this.nonce,p);default:r=new rg(l,c,i,u,s,a,p)}o.set(i.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(i){return new(i||t)(R(nT),R(oT),R(zc),R(jK),R(Pt),R(Pr),R(Me),R(vd))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();class og{constructor(n,e,i,o){this.eventManager=n,this.doc=e,this.ngZone=i,this.platformIsServer=o,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,e){return e?this.doc.createElementNS(tg[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(aT(n)?n.content:n).appendChild(e)}insertBefore(n,e,i){n&&(aT(n)?n.content:n).insertBefore(e,i)}removeChild(n,e){n&&n.removeChild(e)}selectRootElement(n,e){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new j(-5104,!1);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,o){if(o){e=o+":"+e;const r=tg[o];r?n.setAttributeNS(r,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){const o=tg[i];o?n.removeAttributeNS(o,e):n.removeAttribute(`${i}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,i,o){o&(na.DashCase|na.Important)?n.style.setProperty(e,i,o&na.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&na.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){null!=n&&(n[e]=i)}setValue(n,e){n.nodeValue=e}listen(n,e,i){if("string"==typeof n&&!(n=da().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${e}`);return this.eventManager.addEventListener(n,e,this.decoratePreventDefault(i))}decoratePreventDefault(n){return e=>{if("__ngUnwrap__"===e)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(e)):n(e))&&e.preventDefault()}}}function aT(t){return"TEMPLATE"===t.tagName&&void 0!==t.content}class GK extends og{constructor(n,e,i,o,r,s,a,l){super(n,r,s,l),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=sT(o.id,o.styles);for(const u of c){const p=document.createElement("style");a&&p.setAttribute("nonce",a),p.textContent=u,this.shadowRoot.appendChild(p)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,i){return super.insertBefore(this.nodeOrShadowRoot(n),e,i)}removeChild(n,e){return super.removeChild(this.nodeOrShadowRoot(n),e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class rg extends og{constructor(n,e,i,o,r,s,a,l){super(n,r,s,a),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=o,this.styles=l?sT(l,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class lT extends rg{constructor(n,e,i,o,r,s,a,l){const c=o+"-"+i.id;super(n,e,i,r,s,a,l,c),this.contentAttr=function YK(t){return"_ngcontent-%COMP%".replace(ng,t)}(c),this.hostAttr=function UK(t){return"_nghost-%COMP%".replace(ng,t)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){const i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}}let qK=(()=>{class t extends iT{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,o){return e.addEventListener(i,o,!1),()=>this.removeEventListener(e,i,o)}removeEventListener(e,i,o){return e.removeEventListener(i,o)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const cT=["alt","control","meta","shift"],QK={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},KK={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let $K=(()=>{class t extends iT{constructor(e){super(e)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,o){const r=t.parseEventName(i),s=t.eventCallback(r.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>da().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),o=i.shift();if(0===i.length||"keydown"!==o&&"keyup"!==o)return null;const r=t._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),cT.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=r,0!=i.length||0===r.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(e,i){let o=QK[e.key]||e.key,r="";return i.indexOf("code.")>-1&&(o=e.code,r="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),cT.forEach(s=>{s!==o&&(0,KK[s])(e)&&(r+=s+".")}),r+=o,r===i)}static eventCallback(e,i,o){return r=>{t.matchEventFullKeyCode(r,e)&&o.runGuarded(()=>i(r))}}static _normalizeKey(e){return"esc"===e?"escape":e}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const uT=[{provide:Pr,useValue:GS},{provide:S_,useValue:function JK(){Zm.makeCurrent()},multi:!0},{provide:Pt,useFactory:function XK(){return function IR(t){m8=t}(document),document},deps:[]}],e$=LA(QG,"browser",uT),t$=new oe(""),hT=[{provide:Y0,useClass:class FK{addToWindow(n){wn.getAngularTestability=(i,o=!0)=>{const r=n.findTestabilityInTree(i,o);if(null==r)throw new j(5103,!1);return r},wn.getAllAngularTestabilities=()=>n.getAllTestabilities(),wn.getAllAngularRootElements=()=>n.getAllRootElements(),wn.frameworkStabilizers||(wn.frameworkStabilizers=[]),wn.frameworkStabilizers.push(i=>{const o=wn.getAllAngularTestabilities();let r=o.length;const s=function(){r--,0==r&&i()};o.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,e,i){return null==e?null:n.getTestability(e)??(i?da().isShadowRoot(e)?this.findTestabilityInTree(n,e.host,!0):this.findTestabilityInTree(n,e.parentElement,!0):null)}},deps:[]},{provide:MA,useClass:gm,deps:[Me,vm,Y0]},{provide:gm,useClass:gm,deps:[Me,vm,Y0]}],pT=[{provide:P6,useValue:"root"},{provide:hr,useFactory:function ZK(){return new hr},deps:[]},{provide:Xm,useClass:qK,multi:!0,deps:[Pt,Me,Pr]},{provide:Xm,useClass:$K,multi:!0,deps:[Pt]},ig,oT,nT,{provide:Za,useExisting:ig},{provide:class sK{},useClass:RK,deps:[]},[]];let sg=(()=>{class t{constructor(e){}static withServerTransition(e){return{ngModule:t,providers:[{provide:zc,useValue:e.appId}]}}static#e=this.\u0275fac=function(i){return new(i||t)(R(t$,12))};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[...pT,...hT],imports:[WS,KG]})}return t})(),n$=(()=>{class t{constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),bu=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:function(i){let o=null;return o=i?new(i||t):R(s$),o},providedIn:"root"})}return t})(),s$=(()=>{class t extends bu{constructor(e){super(),this._doc=e}sanitize(e,i){if(null==i)return null;switch(e){case Wo.NONE:return i;case Wo.HTML:return as(i,"HTML")?Uo(i):q_(this._doc,String(i)).toString();case Wo.STYLE:return as(i,"Style")?Uo(i):i;case Wo.SCRIPT:if(as(i,"Script"))return Uo(i);throw new j(5200,!1);case Wo.URL:return as(i,"URL")?Uo(i):Jh(String(i));case Wo.RESOURCE_URL:if(as(i,"ResourceURL"))return Uo(i);throw new j(5201,!1);default:throw new j(5202,!1)}}bypassSecurityTrustHtml(e){return function eL(t){return new QR(t)}(e)}bypassSecurityTrustStyle(e){return function tL(t){return new KR(t)}(e)}bypassSecurityTrustScript(e){return function nL(t){return new $R(t)}(e)}bypassSecurityTrustUrl(e){return function iL(t){return new JR(t)}(e)}bypassSecurityTrustResourceUrl(e){return function oL(t){return new ZR(t)}(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function gT(t,n,e,i,o,r,s){try{var a=t[r](s),l=a.value}catch(c){return void e(c)}a.done?n(l):Promise.resolve(l).then(i,o)}function Mi(t){return function(){var n=this,e=arguments;return new Promise(function(i,o){var r=t.apply(n,e);function s(l){gT(r,i,o,s,a,"next",l)}function a(l){gT(r,i,o,s,a,"throw",l)}s(void 0)})}}function b4(t){return!!t&&(t instanceof Wt||wt(t.lift)&&wt(t.subscribe))}function xt(t,n,e,i){var s,o=arguments.length,r=o<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,n,e,i);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(r=(o<3?s(r):o>3?s(n,e,r):s(n,e))||r);return o>3&&r&&Object.defineProperty(n,e,r),r}function ua(t){return this instanceof ua?(this.v=t,this):new ua(t)}function yT(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=function dg(t){var n="function"==typeof Symbol&&Symbol.iterator,e=n&&t[n],i=0;if(e)return e.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(r){e[r]=t[r]&&function(s){return new Promise(function(a,l){!function o(r,s,a,l){Promise.resolve(l).then(function(c){r({value:c,done:a})},s)}(a,l,(s=t[r](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const ug=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function wT(t){return wt(t?.then)}function CT(t){return wt(t[Tr])}function zT(t){return Symbol.asyncIterator&&wt(t?.[Symbol.asyncIterator])}function AT(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const ST=function M$(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function TT(t){return wt(t?.[ST])}function MT(t){return function _T(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,i=e.apply(t,n||[]),r=[];return o={},a("next"),a("throw"),a("return",function s(_){return function(y){return Promise.resolve(y).then(_,p)}}),o[Symbol.asyncIterator]=function(){return this},o;function a(_,y){i[_]&&(o[_]=function(z){return new Promise(function(E,x){r.push([_,z,E,x])>1||l(_,z)})},y&&(o[_]=y(o[_])))}function l(_,y){try{!function c(_){_.value instanceof ua?Promise.resolve(_.value.v).then(u,p):b(r[0][2],_)}(i[_](y))}catch(z){b(r[0][3],z)}}function u(_){l("next",_)}function p(_){l("throw",_)}function b(_,y){_(y),r.shift(),r.length&&l(r[0][0],r[0][1])}}(this,arguments,function*(){const e=t.getReader();try{for(;;){const{value:i,done:o}=yield ua(e.read());if(o)return yield ua(void 0);yield yield ua(i)}}finally{e.releaseLock()}})}function DT(t){return wt(t?.getReader)}function Pi(t){if(t instanceof Wt)return t;if(null!=t){if(CT(t))return function D$(t){return new Wt(n=>{const e=t[Tr]();if(wt(e.subscribe))return e.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(t);if(ug(t))return function E$(t){return new Wt(n=>{for(let e=0;e{t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,G2)})}(t);if(zT(t))return ET(t);if(TT(t))return function k$(t){return new Wt(n=>{for(const e of t)if(n.next(e),n.closed)return;n.complete()})}(t);if(DT(t))return function I$(t){return ET(MT(t))}(t)}throw AT(t)}function ET(t){return new Wt(n=>{(function O$(t,n){var e,i,o,r;return function vT(t,n,e,i){return new(e||(e=Promise))(function(r,s){function a(u){try{c(i.next(u))}catch(p){s(p)}}function l(u){try{c(i.throw(u))}catch(p){s(p)}}function c(u){u.done?r(u.value):function o(r){return r instanceof e?r:new e(function(s){s(r)})}(u.value).then(a,l)}c((i=i.apply(t,n||[])).next())})}(this,void 0,void 0,function*(){try{for(e=yT(t);!(i=yield e.next()).done;)if(n.next(i.value),n.closed)return}catch(s){o={error:s}}finally{try{i&&!i.done&&(r=e.return)&&(yield r.call(e))}finally{if(o)throw o.error}}n.complete()})})(t,n).catch(e=>n.error(e))})}function Ps(t,n,e,i=0,o=!1){const r=n.schedule(function(){e(),o?t.add(this.schedule(null,i)):this.unsubscribe()},i);if(t.add(r),!o)return r}function xT(t,n=0){return dn((e,i)=>{e.subscribe(Jt(i,o=>Ps(i,t,()=>i.next(o),n),()=>Ps(i,t,()=>i.complete(),n),o=>Ps(i,t,()=>i.error(o),n)))})}function kT(t,n=0){return dn((e,i)=>{i.add(t.schedule(()=>e.subscribe(i),n))})}function IT(t,n){if(!t)throw new Error("Iterable cannot be null");return new Wt(e=>{Ps(e,n,()=>{const i=t[Symbol.asyncIterator]();Ps(e,n,()=>{i.next().then(o=>{o.done?e.complete():e.next(o.value)})},0,!0)})})}function ni(t,n){return n?function L$(t,n){if(null!=t){if(CT(t))return function P$(t,n){return Pi(t).pipe(kT(n),xT(n))}(t,n);if(ug(t))return function N$(t,n){return new Wt(e=>{let i=0;return n.schedule(function(){i===t.length?e.complete():(e.next(t[i++]),e.closed||this.schedule())})})}(t,n);if(wT(t))return function V$(t,n){return Pi(t).pipe(kT(n),xT(n))}(t,n);if(zT(t))return IT(t,n);if(TT(t))return function F$(t,n){return new Wt(e=>{let i;return Ps(e,n,()=>{i=t[ST](),Ps(e,n,()=>{let o,r;try{({value:o,done:r}=i.next())}catch(s){return void e.error(s)}r?e.complete():e.next(o)},0,!0)}),()=>wt(i?.return)&&i.return()})}(t,n);if(DT(t))return function R$(t,n){return IT(MT(t),n)}(t,n)}throw AT(t)}(t,n):Pi(t)}function OT(t){return t&&wt(t.schedule)}function hg(t){return t[t.length-1]}function pg(t){return wt(hg(t))?t.pop():void 0}function _u(t){return OT(hg(t))?t.pop():void 0}function Ge(...t){return ni(t,_u(t))}const{isArray:H$}=Array,{getPrototypeOf:j$,prototype:Y$,keys:U$}=Object;function PT(t){if(1===t.length){const n=t[0];if(H$(n))return{args:n,keys:null};if(function W$(t){return t&&"object"==typeof t&&j$(t)===Y$}(n)){const e=U$(n);return{args:e.map(i=>n[i]),keys:e}}}return{args:t,keys:null}}const{isArray:G$}=Array;function fg(t){return Pe(n=>function q$(t,n){return G$(n)?t(...n):t(n)}(t,n))}function VT(t,n){return t.reduce((e,i,o)=>(e[i]=n[o],e),{})}function Di(...t){const n=_u(t),e=pg(t),{args:i,keys:o}=PT(t);if(0===i.length)return ni([],n);const r=new Wt(function Q$(t,n,e=Hn){return i=>{NT(n,()=>{const{length:o}=t,r=new Array(o);let s=o,a=o;for(let l=0;l{const c=ni(t[l],n);let u=!1;c.subscribe(Jt(i,p=>{r[l]=p,u||(u=!0,a--),a||i.next(e(r.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,n,o?s=>VT(o,s):Hn));return e?r.pipe(fg(e)):r}function NT(t,n,e){t?Ps(e,t,n):n()}const _4=xa(t=>function(){t(this),this.name="EmptyError",this.message="no elements in sequence"});function Yn(t,n,e=1/0){return wt(n)?Yn((i,o)=>Pe((r,s)=>n(i,r,o,s))(Pi(t(i,o))),e):("number"==typeof n&&(e=n),dn((i,o)=>function K$(t,n,e,i,o,r,s,a){const l=[];let c=0,u=0,p=!1;const b=()=>{p&&!l.length&&!c&&n.complete()},_=z=>c{r&&n.next(z),c++;let E=!1;Pi(e(z,u++)).subscribe(Jt(n,x=>{o?.(x),r?_(x):n.next(x)},()=>{E=!0},void 0,()=>{if(E)try{for(c--;l.length&&cy(x)):y(x)}b()}catch(x){n.error(x)}}))};return t.subscribe(Jt(n,_,()=>{p=!0,b()})),()=>{a?.()}}(i,o,t,e)))}function s1(t=1/0){return Yn(Hn,t)}function yu(...t){return function $$(){return s1(1)}()(ni(t,_u(t)))}function mg(t){return new Wt(n=>{Pi(t()).subscribe(n)})}function y4(t,n){const e=wt(t)?t:()=>t,i=o=>o.error(e());return new Wt(n?o=>n.schedule(i,0,o):i)}const _o=new Wt(t=>t.complete());function gg(){return dn((t,n)=>{let e=null;t._refCount++;const i=Jt(n,void 0,void 0,void 0,()=>{if(!t||t._refCount<=0||0<--t._refCount)return void(e=null);const o=t._connection,r=e;e=null,o&&(!r||o===r)&&o.unsubscribe(),n.unsubscribe()});t.subscribe(i),i.closed||(e=t.connect())})}class vg extends Wt{constructor(n,e){super(),this.source=n,this.subjectFactory=e,this._subject=null,this._refCount=0,this._connection=null,Jl(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new Ft;const e=this.getSubject();n.add(this.source.subscribe(Jt(e,void 0,()=>{this._teardown(),e.complete()},i=>{this._teardown(),e.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=Ft.EMPTY)}return n}refCount(){return gg()(this)}}function mn(t,n){return dn((e,i)=>{let o=null,r=0,s=!1;const a=()=>s&&!o&&i.complete();e.subscribe(Jt(i,l=>{o?.unsubscribe();let c=0;const u=r++;Pi(t(l,u)).subscribe(o=Jt(i,p=>i.next(n?n(l,p,u,c++):p),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function io(t){return t<=0?()=>_o:dn((n,e)=>{let i=0;n.subscribe(Jt(e,o=>{++i<=t&&(e.next(o),t<=i&&e.complete())}))})}function gn(...t){const n=_u(t);return dn((e,i)=>{(n?yu(t,e,n):yu(t,e)).subscribe(i)})}function yt(t,n){return dn((e,i)=>{let o=0;e.subscribe(Jt(i,r=>t.call(n,r,o++)&&i.next(r)))})}function w4(t){return dn((n,e)=>{let i=!1;n.subscribe(Jt(e,o=>{i=!0,e.next(o)},()=>{i||e.next(t),e.complete()}))})}function FT(t=Z$){return dn((n,e)=>{let i=!1;n.subscribe(Jt(e,o=>{i=!0,e.next(o)},()=>i?e.complete():e.error(t())))})}function Z$(){return new _4}function Vs(t,n){const e=arguments.length>=2;return i=>i.pipe(t?yt((o,r)=>t(o,r,i)):Hn,io(1),e?w4(n):FT(()=>new _4))}function a1(t,n){return wt(n)?Yn(t,n,1):Yn(t,1)}function ii(t,n,e){const i=wt(t)||n||e?{next:t,error:n,complete:e}:t;return i?dn((o,r)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;o.subscribe(Jt(r,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),r.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),r.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),r.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):Hn}function ul(t){return dn((n,e)=>{let r,i=null,o=!1;i=n.subscribe(Jt(e,void 0,void 0,s=>{r=Pi(t(s,ul(t)(n))),i?(i.unsubscribe(),i=null,r.subscribe(e)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(e))})}function bg(t){return t<=0?()=>_o:dn((n,e)=>{let i=[];n.subscribe(Jt(e,o=>{i.push(o),t{for(const o of i)e.next(o);e.complete()},void 0,()=>{i=null}))})}function hl(t){return Pe(()=>t)}function l1(t){return dn((n,e)=>{try{n.subscribe(e)}finally{e.add(t)}})}function P(t){return dn((n,e)=>{Pi(t).subscribe(Jt(e,()=>e.complete(),Qs)),!e.closed&&n.subscribe(e)})}const Tt="primary",wu=Symbol("RouteTitle");class nJ{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function c1(t){return new nJ(t)}function iJ(t,n,e){const i=e.path.split("/");if(i.length>t.length||"full"===e.pathMatch&&(n.hasChildren()||i.lengthi[r]===o)}return t===n}function LT(t){return t.length>0?t[t.length-1]:null}function ha(t){return b4(t)?t:lu(t)?ni(Promise.resolve(t)):Ge(t)}const rJ={exact:function jT(t,n,e){if(!pl(t.segments,n.segments)||!C4(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!t.children[i]||!jT(t.children[i],n.children[i],e))return!1;return!0},subset:YT},BT={exact:function sJ(t,n){return us(t,n)},subset:function aJ(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>RT(t[e],n[e]))},ignored:()=>!0};function HT(t,n,e){return rJ[e.paths](t.root,n.root,e.matrixParams)&&BT[e.queryParams](t.queryParams,n.queryParams)&&!("exact"===e.fragment&&t.fragment!==n.fragment)}function YT(t,n,e){return UT(t,n,n.segments,e)}function UT(t,n,e,i){if(t.segments.length>e.length){const o=t.segments.slice(0,e.length);return!(!pl(o,e)||n.hasChildren()||!C4(o,e,i))}if(t.segments.length===e.length){if(!pl(t.segments,e)||!C4(t.segments,e,i))return!1;for(const o in n.children)if(!t.children[o]||!YT(t.children[o],n.children[o],i))return!1;return!0}{const o=e.slice(0,t.segments.length),r=e.slice(t.segments.length);return!!(pl(t.segments,o)&&C4(t.segments,o,i)&&t.children[Tt])&&UT(t.children[Tt],n,r,i)}}function C4(t,n,e){return n.every((i,o)=>BT[e](t[o].parameters,i.parameters))}class d1{constructor(n=new _n([],{}),e={},i=null){this.root=n,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap??=c1(this.queryParams),this._queryParamMap}toString(){return dJ.serialize(this)}}class _n{constructor(n,e){this.segments=n,this.children=e,this.parent=null,Object.values(e).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return A4(this)}}class Cu{constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=c1(this.parameters),this._parameterMap}toString(){return qT(this)}}function pl(t,n){return t.length===n.length&&t.every((e,i)=>e.path===n[i].path)}let u1=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>new z4,providedIn:"root"})}return t})();class z4{parse(n){const e=new wJ(n);return new d1(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){const e=`/${zu(n.root,!0)}`,i=function pJ(t){const n=Object.entries(t).map(([e,i])=>Array.isArray(i)?i.map(o=>`${S4(e)}=${S4(o)}`).join("&"):`${S4(e)}=${S4(i)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${e}${i}${"string"==typeof n.fragment?`#${function uJ(t){return encodeURI(t)}(n.fragment)}`:""}`}}const dJ=new z4;function A4(t){return t.segments.map(n=>qT(n)).join("/")}function zu(t,n){if(!t.hasChildren())return A4(t);if(n){const e=t.children[Tt]?zu(t.children[Tt],!1):"",i=[];return Object.entries(t.children).forEach(([o,r])=>{o!==Tt&&i.push(`${o}:${zu(r,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}{const e=function cJ(t,n){let e=[];return Object.entries(t.children).forEach(([i,o])=>{i===Tt&&(e=e.concat(n(o,i)))}),Object.entries(t.children).forEach(([i,o])=>{i!==Tt&&(e=e.concat(n(o,i)))}),e}(t,(i,o)=>o===Tt?[zu(t.children[Tt],!1)]:[`${o}:${zu(i,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children[Tt]?`${A4(t)}/${e[0]}`:`${A4(t)}/(${e.join("//")})`}}function WT(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function S4(t){return WT(t).replace(/%3B/gi,";")}function yg(t){return WT(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function T4(t){return decodeURIComponent(t)}function GT(t){return T4(t.replace(/\+/g,"%20"))}function qT(t){return`${yg(t.path)}${function hJ(t){return Object.entries(t).map(([n,e])=>`;${yg(n)}=${yg(e)}`).join("")}(t.parameters)}`}const fJ=/^[^\/()?;#]+/;function wg(t){const n=t.match(fJ);return n?n[0]:""}const mJ=/^[^\/()?;=#]+/,vJ=/^[^=?&#]+/,_J=/^[^&#]+/;class wJ{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new _n([],{}):new _n([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(e).length>0)&&(i[Tt]=new _n(n,e)),i}parseSegment(){const n=wg(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new j(4009,!1);return this.capture(n),new Cu(T4(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const e=function gJ(t){const n=t.match(mJ);return n?n[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const o=wg(this.remaining);o&&(i=o,this.capture(i))}n[T4(e)]=T4(i)}parseQueryParam(n){const e=function bJ(t){const n=t.match(vJ);return n?n[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const s=function yJ(t){const n=t.match(_J);return n?n[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const o=GT(e),r=GT(i);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(r)}else n[o]=r}parseParens(n){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=wg(this.remaining),o=this.remaining[i.length];if("/"!==o&&")"!==o&&";"!==o)throw new j(4010,!1);let r;i.indexOf(":")>-1?(r=i.slice(0,i.indexOf(":")),this.capture(r),this.capture(":")):n&&(r=Tt);const s=this.parseChildren();e[r]=1===Object.keys(s).length?s[Tt]:new _n([],s),this.consumeOptional("//")}return e}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new j(4011,!1)}}function QT(t){return t.segments.length>0?new _n([],{[Tt]:t}):t}function KT(t){const n={};for(const[i,o]of Object.entries(t.children)){const r=KT(o);if(i===Tt&&0===r.segments.length&&r.hasChildren())for(const[s,a]of Object.entries(r.children))n[s]=a;else(r.segments.length>0||r.hasChildren())&&(n[i]=r)}return function CJ(t){if(1===t.numberOfChildren&&t.children[Tt]){const n=t.children[Tt];return new _n(t.segments.concat(n.segments),n.children)}return t}(new _n(t.segments,n))}function Au(t){return t instanceof d1}function $T(t){let n;const o=QT(function e(r){const s={};for(const l of r.children){const c=e(l);s[l.outlet]=c}const a=new _n(r.url,s);return r===t&&(n=a),a}(t.root));return n??o}function JT(t,n,e,i){let o=t;for(;o.parent;)o=o.parent;if(0===n.length)return Cg(o,o,o,e,i);const r=function AJ(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new XT(!0,0,t);let n=0,e=!1;const i=t.reduce((o,r,s)=>{if("object"==typeof r&&null!=r){if(r.outlets){const a={};return Object.entries(r.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(r.segmentPath)return[...o,r.segmentPath]}return"string"!=typeof r?[...o,r]:0===s?(r.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?e=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,r]},[]);return new XT(e,n,i)}(n);if(r.toRoot())return Cg(o,o,new _n([],{}),e,i);const s=function SJ(t,n,e){if(t.isAbsolute)return new D4(n,!0,0);if(!e)return new D4(n,!1,NaN);if(null===e.parent)return new D4(e,!0,0);const i=M4(t.commands[0])?0:1;return function TJ(t,n,e){let i=t,o=n,r=e;for(;r>o;){if(r-=o,i=i.parent,!i)throw new j(4005,!1);o=i.segments.length}return new D4(i,!1,o-r)}(e,e.segments.length-1+i,t.numberOfDoubleDots)}(r,o,t),a=s.processChildren?Tu(s.segmentGroup,s.index,r.commands):eM(s.segmentGroup,s.index,r.commands);return Cg(o,s.segmentGroup,a,e,i)}function M4(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function Su(t){return"object"==typeof t&&null!=t&&t.outlets}function Cg(t,n,e,i,o){let s,r={};i&&Object.entries(i).forEach(([l,c])=>{r[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=t===n?e:ZT(t,n,e);const a=QT(KT(s));return new d1(a,r,o)}function ZT(t,n,e){const i={};return Object.entries(t.children).forEach(([o,r])=>{i[o]=r===n?e:ZT(r,n,e)}),new _n(t.segments,i)}class XT{constructor(n,e,i){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=i,n&&i.length>0&&M4(i[0]))throw new j(4003,!1);const o=i.find(Su);if(o&&o!==LT(i))throw new j(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class D4{constructor(n,e,i){this.segmentGroup=n,this.processChildren=e,this.index=i}}function eM(t,n,e){if(t??=new _n([],{}),0===t.segments.length&&t.hasChildren())return Tu(t,n,e);const i=function DJ(t,n,e){let i=0,o=n;const r={match:!1,pathIndex:0,commandIndex:0};for(;o=e.length)return r;const s=t.segments[o],a=e[i];if(Su(a))break;const l=`${a}`,c=i0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!nM(l,c,s))return r;i+=2}else{if(!nM(l,{},s))return r;i++}o++}return{match:!0,pathIndex:o,commandIndex:i}}(t,n,e),o=e.slice(i.commandIndex);if(i.match&&i.pathIndexr!==Tt)&&t.children[Tt]&&1===t.numberOfChildren&&0===t.children[Tt].segments.length){const r=Tu(t.children[Tt],n,e);return new _n(t.segments,r.children)}return Object.entries(i).forEach(([r,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[r]=eM(t.children[r],n,s))}),Object.entries(t.children).forEach(([r,s])=>{void 0===i[r]&&(o[r]=s)}),new _n(t.segments,o)}}function zg(t,n,e){const i=t.segments.slice(0,n);let o=0;for(;o{"string"==typeof i&&(i=[i]),null!==i&&(n[e]=zg(new _n([],{}),0,i))}),n}function tM(t){const n={};return Object.entries(t).forEach(([e,i])=>n[e]=`${i}`),n}function nM(t,n,e){return t==e.path&&us(n,e.parameters)}const Mu="imperative";var Qt=function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t}(Qt||{});class hs{constructor(n,e){this.id=n,this.url=e}}class E4 extends hs{constructor(n,e,i="imperative",o=null){super(n,e),this.type=Qt.NavigationStart,this.navigationTrigger=i,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Hr extends hs{constructor(n,e,i){super(n,e),this.urlAfterRedirects=i,this.type=Qt.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}var Zo=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t}(Zo||{}),x4=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(x4||{});class fl extends hs{constructor(n,e,i,o){super(n,e),this.reason=i,this.code=o,this.type=Qt.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class h1 extends hs{constructor(n,e,i,o){super(n,e),this.reason=i,this.code=o,this.type=Qt.NavigationSkipped}}class Ag extends hs{constructor(n,e,i,o){super(n,e),this.error=i,this.target=o,this.type=Qt.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class iM extends hs{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=Qt.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class xJ extends hs{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=Qt.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class kJ extends hs{constructor(n,e,i,o,r){super(n,e),this.urlAfterRedirects=i,this.state=o,this.shouldActivate=r,this.type=Qt.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class IJ extends hs{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=Qt.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class OJ extends hs{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=Qt.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class PJ{constructor(n){this.route=n,this.type=Qt.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class VJ{constructor(n){this.route=n,this.type=Qt.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class NJ{constructor(n){this.snapshot=n,this.type=Qt.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class FJ{constructor(n){this.snapshot=n,this.type=Qt.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class RJ{constructor(n){this.snapshot=n,this.type=Qt.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class LJ{constructor(n){this.snapshot=n,this.type=Qt.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class oM{constructor(n,e,i){this.routerEvent=n,this.position=e,this.anchor=i,this.type=Qt.Scroll}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class Sg{}class k4{constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}}class BJ{constructor(n){this.injector=n,this.outlet=null,this.route=null,this.children=new Du(this.injector),this.attachRef=null}}let Du=(()=>{class t{constructor(e){this.parentInjector=e,this.contexts=new Map}onChildOutletCreated(e,i){const o=this.getOrCreateContext(e);o.outlet=i,this.contexts.set(e,o)}onChildOutletDestroyed(e){const i=this.getContext(e);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let i=this.getContext(e);return i||(i=new BJ(this.parentInjector),this.contexts.set(e,i)),i}getContext(e){return this.contexts.get(e)||null}static#e=this.\u0275fac=function(i){return new(i||t)(R(Li))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();class rM{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){const e=Tg(n,this._root);return e?e.children.map(i=>i.value):[]}firstChild(n){const e=Tg(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){const e=Mg(n,this._root);return e.length<2?[]:e[e.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return Mg(n,this._root).map(e=>e.value)}}function Tg(t,n){if(t===n.value)return n;for(const e of n.children){const i=Tg(t,e);if(i)return i}return null}function Mg(t,n){if(t===n.value)return[n];for(const e of n.children){const i=Mg(t,e);if(i.length)return i.unshift(n),i}return[]}class jr{constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}}function p1(t){const n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}class sM extends rM{constructor(n,e){super(n),this.snapshot=e,Dg(this,n)}toString(){return this.snapshot.toString()}}function aM(t){const n=function HJ(t){const r=new O4([],{},{},"",{},Tt,t,null,{});return new lM("",new jr(r,[]))}(t),e=new rt([new Cu("",{})]),i=new rt({}),o=new rt({}),r=new rt({}),s=new rt(""),a=new Oo(e,i,r,s,o,Tt,t,n.root);return a.snapshot=n.root,new sM(new jr(a,[]),n)}class Oo{constructor(n,e,i,o,r,s,a,l){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=i,this.fragmentSubject=o,this.dataSubject=r,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(Pe(c=>c[wu]))??Ge(void 0),this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=r}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(Pe(n=>c1(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(Pe(n=>c1(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function I4(t,n,e="emptyOnly"){let i;const{routeConfig:o}=t;return i=null===n||"always"!==e&&""!==o?.path&&(n.component||n.routeConfig?.loadComponent)?{params:{...t.params},data:{...t.data},resolve:{...t.data,...t._resolvedData??{}}}:{params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.data,...o?.data,...t._resolvedData}},o&&dM(o)&&(i.resolve[wu]=o.title),i}class O4{get title(){return this.data?.[wu]}constructor(n,e,i,o,r,s,a,l,c){this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=r,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=c1(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=c1(this.queryParams),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class lM extends rM{constructor(n,e){super(e),this.url=n,Dg(this,e)}toString(){return cM(this._root)}}function Dg(t,n){n.value._routerState=t,n.children.forEach(e=>Dg(t,e))}function cM(t){const n=t.children.length>0?` { ${t.children.map(cM).join(", ")} } `:"";return`${t.value}${n}`}function Eg(t){if(t.snapshot){const n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,us(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),us(n.params,e.params)||t.paramsSubject.next(e.params),function oJ(t,n){if(t.length!==n.length)return!1;for(let e=0;eus(e.parameters,n[i].parameters))}(t.url,n.url);return e&&!(!t.parent!=!n.parent)&&(!t.parent||xg(t.parent,n.parent))}function dM(t){return"string"==typeof t.title||null===t.title}let P4=(()=>{class t{constructor(){this.activated=null,this._activatedRoute=null,this.name=Tt,this.activateEvents=new B,this.deactivateEvents=new B,this.attachEvents=new B,this.detachEvents=new B,this.parentContexts=G(Du),this.location=G(qn),this.changeDetector=G(We),this.inputBinder=G(V4,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(e){if(e.name){const{firstChange:i,previousValue:o}=e.name;if(i)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new j(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new j(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new j(4012,!1);this.location.detach();const e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,i){this.activated=e,this._activatedRoute=i,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){const e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,i){if(this.isActivated)throw new j(4013,!1);this._activatedRoute=e;const o=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new kg(e,a,o.injector);this.activated=o.createComponent(s,{index:o.length,injector:l,environmentInjector:i}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[xe]})}return t})();class kg{__ngOutletInjector(n){return new kg(this.route,this.childContexts,n)}constructor(n,e,i){this.route=n,this.childContexts=e,this.parent=i}get(n,e){return n===Oo?this.route:n===Du?this.childContexts:this.parent.get(n,e)}}const V4=new oe("");let uM=(()=>{class t{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){const{activatedRoute:i}=e,o=Di([i.queryParams,i.params,i.data]).pipe(mn(([r,s,a],l)=>(a={...r,...s,...a},0===l?Ge(a):Promise.resolve(a)))).subscribe(r=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==i||null===i.component)return void this.unsubscribeFromRouteData(e);const s=function Nq(t){const n=Dt(t);if(!n)return null;const e=new Yd(n);return{get selector(){return e.selector},get type(){return e.componentType},get inputs(){return e.inputs},get outputs(){return e.outputs},get ngContentSelectors(){return e.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(i.component);if(s)for(const{templateName:a}of s.inputs)e.activatedComponentRef.setInput(a,r[a]);else this.unsubscribeFromRouteData(e)});this.outletDataSubscriptions.set(e,o)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();function Eu(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){const i=e.value;i._futureSnapshot=n.value;const o=function YJ(t,n,e){return n.children.map(i=>{for(const o of e.children)if(t.shouldReuseRoute(i.value,o.value.snapshot))return Eu(t,i,o);return Eu(t,i)})}(t,n,e);return new jr(i,o)}{if(t.shouldAttach(n.value)){const r=t.retrieve(n.value);if(null!==r){const s=r.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Eu(t,a)),s}}const i=function UJ(t){return new Oo(new rt(t.url),new rt(t.params),new rt(t.queryParams),new rt(t.fragment),new rt(t.data),t.outlet,t.component,t)}(n.value),o=n.children.map(r=>Eu(t,r));return new jr(i,o)}}class Ig{constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}}const hM="ngNavigationCancelingError";function N4(t,n){const{redirectTo:e,navigationBehaviorOptions:i}=Au(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=pM(!1,Zo.Redirect);return o.url=e,o.navigationBehaviorOptions=i,o}function pM(t,n){const e=new Error(`NavigationCancelingError: ${t||""}`);return e[hM]=!0,e.cancellationCode=n,e}function fM(t){return!!t&&t[hM]}let mM=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["ng-component"]],standalone:!0,features:[me],decls:1,vars:0,template:function(i,o){1&i&&A(0,"router-outlet")},dependencies:[P4],encapsulation:2})}return t})();function Og(t){const n=t.children&&t.children.map(Og),e=n?{...t,children:n}:{...t};return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==Tt&&(e.component=mM),e}function Yr(t){return t.outlet||Tt}function xu(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let n=t.parent;n;n=n.parent){const e=n.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}class ZJ{constructor(n,e,i,o,r){this.routeReuseStrategy=n,this.futureState=e,this.currState=i,this.forwardEvent=o,this.inputBindingEnabled=r}activate(n){const e=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,i,n),Eg(this.futureState.root),this.activateChildRoutes(e,i,n)}deactivateChildRoutes(n,e,i){const o=p1(e);n.children.forEach(r=>{const s=r.value.outlet;this.deactivateRoutes(r,o[s],i),delete o[s]}),Object.values(o).forEach(r=>{this.deactivateRouteAndItsChildren(r,i)})}deactivateRoutes(n,e,i){const o=n.value,r=e?e.value:null;if(o===r)if(o.component){const s=i.getContext(o.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,i);else r&&this.deactivateRouteAndItsChildren(e,i)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,r=p1(n);for(const s of Object.values(r))this.deactivateRouteAndItsChildren(s,o);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,r=p1(n);for(const s of Object.values(r))this.deactivateRouteAndItsChildren(s,o);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,e,i){const o=p1(e);n.children.forEach(r=>{this.activateRoutes(r,o[r.value.outlet],i),this.forwardEvent(new LJ(r.value.snapshot))}),n.children.length&&this.forwardEvent(new FJ(n.value.snapshot))}activateRoutes(n,e,i){const o=n.value,r=e?e.value:null;if(Eg(o),o===r)if(o.component){const s=i.getOrCreateContext(o.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,i);else if(o.component){const s=i.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Eg(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=xu(o.snapshot);s.attachRef=null,s.route=o,s.injector=a??s.injector,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,i)}}class gM{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class F4{constructor(n,e){this.component=n,this.route=e}}function XJ(t,n,e){const i=t._root;return ku(i,n?n._root:null,e,[i.value])}function f1(t,n){const e=Symbol(),i=n.get(t,e);return i===e?"function"!=typeof t||function gN(t){return null!==oh(t)}(t)?n.get(t):t:i}function ku(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const r=p1(n);return t.children.forEach(s=>{(function tZ(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const r=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&r.routeConfig===s.routeConfig){const l=function nZ(t,n,e){if("function"==typeof e)return e(t,n);switch(e){case"pathParamsChange":return!pl(t.url,n.url);case"pathParamsOrQueryParamsChange":return!pl(t.url,n.url)||!us(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!xg(t,n)||!us(t.queryParams,n.queryParams);default:return!xg(t,n)}}(s,r,r.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new gM(i)):(r.data=s.data,r._resolvedData=s._resolvedData),ku(t,n,r.component?a?a.children:null:e,i,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new F4(a.outlet.component,s))}else s&&Iu(n,a,o),o.canActivateChecks.push(new gM(i)),ku(t,null,r.component?a?a.children:null:e,i,o)})(s,r[s.value.outlet],e,i.concat([s.value]),o),delete r[s.value.outlet]}),Object.entries(r).forEach(([s,a])=>Iu(a,e.getContext(s),o)),o}function Iu(t,n,e){const i=p1(t),o=t.value;Object.entries(i).forEach(([r,s])=>{Iu(s,o.component?n?n.children.getContext(r):null:n,e)}),e.canDeactivateChecks.push(new F4(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function Ou(t){return"function"==typeof t}function vM(t){return t instanceof _4||"EmptyError"===t?.name}const R4=Symbol("INITIAL_VALUE");function m1(){return mn(t=>Di(t.map(n=>n.pipe(io(1),gn(R4)))).pipe(Pe(n=>{for(const e of n)if(!0!==e){if(e===R4)return R4;if(!1===e||cZ(e))return e}return!0}),yt(n=>n!==R4),io(1)))}function cZ(t){return Au(t)||t instanceof Ig}function bM(t){return function Xr(...t){return Kl(t)}(ii(n=>{if("boolean"!=typeof n)throw N4(0,n)}),Pe(n=>!0===n))}class Pg{constructor(n){this.segmentGroup=n||null}}class L4 extends Error{constructor(n){super(),this.urlTree=n}}function g1(t){return y4(new Pg(t))}class CZ{constructor(n,e){this.urlSerializer=n,this.urlTree=e}lineralizeSegments(n,e){let i=[],o=e.root;for(;;){if(i=i.concat(o.segments),0===o.numberOfChildren)return Ge(i);if(o.numberOfChildren>1||!o.children[Tt])return y4(new j(4e3,!1));o=o.children[Tt]}}applyRedirectCommands(n,e,i,o,r){if("string"!=typeof e){const a=e,{queryParams:l,fragment:c,routeConfig:u,url:p,outlet:b,params:_,data:y,title:z}=o,E=Er(r,()=>a({params:_,data:y,queryParams:l,fragment:c,routeConfig:u,url:p,outlet:b,title:z}));if(E instanceof d1)throw new L4(E);e=E}const s=this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),n,i);if("/"===e[0])throw new L4(s);return s}applyRedirectCreateUrlTree(n,e,i,o){const r=this.createSegmentGroup(n,e.root,i,o);return new d1(r,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){const i={};return Object.entries(n).forEach(([o,r])=>{if("string"==typeof r&&":"===r[0]){const a=r.substring(1);i[o]=e[a]}else i[o]=r}),i}createSegmentGroup(n,e,i,o){const r=this.createSegments(n,e.segments,i,o);let s={};return Object.entries(e.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,i,o)}),new _n(r,s)}createSegments(n,e,i,o){return e.map(r=>":"===r.path[0]?this.findPosParam(n,r,o):this.findOrReturn(r,i))}findPosParam(n,e,i){const o=i[e.path.substring(1)];if(!o)throw new j(4001,!1);return o}findOrReturn(n,e){let i=0;for(const o of e){if(o.path===n.path)return e.splice(i),o;i++}return n}}const Vg={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function zZ(t,n,e,i,o){const r=Ng(t,n,e);return r.matched?(i=function GJ(t,n){return t.providers&&!t._injector&&(t._injector=C0(t.providers,n,`Route: ${t.path}`)),t._injector??n}(n,i),function _Z(t,n,e,i){const o=n.canMatch;return o&&0!==o.length?Ge(o.map(s=>{const a=f1(s,t);return ha(function lZ(t){return t&&Ou(t.canMatch)}(a)?a.canMatch(n,e):Er(t,()=>a(n,e)))})).pipe(m1(),bM()):Ge(!0)}(i,n,e).pipe(Pe(s=>!0===s?r:{...Vg}))):Ge(r)}function Ng(t,n,e){if("**"===n.path)return function AZ(t){return{matched:!0,parameters:t.length>0?LT(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}(e);if(""===n.path)return"full"===n.pathMatch&&(t.hasChildren()||e.length>0)?{...Vg}:{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};const o=(n.matcher||iJ)(e,t,n);if(!o)return{...Vg};const r={};Object.entries(o.posParams??{}).forEach(([a,l])=>{r[a]=l.path});const s=o.consumed.length>0?{...r,...o.consumed[o.consumed.length-1].parameters}:r;return{matched:!0,consumedSegments:o.consumed,remainingSegments:e.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function _M(t,n,e,i){return e.length>0&&function MZ(t,n,e){return e.some(i=>B4(t,n,i)&&Yr(i)!==Tt)}(t,e,i)?{segmentGroup:new _n(n,TZ(i,new _n(e,t.children))),slicedSegments:[]}:0===e.length&&function DZ(t,n,e){return e.some(i=>B4(t,n,i))}(t,e,i)?{segmentGroup:new _n(t.segments,SZ(t,e,i,t.children)),slicedSegments:e}:{segmentGroup:new _n(t.segments,t.children),slicedSegments:e}}function SZ(t,n,e,i){const o={};for(const r of e)if(B4(t,n,r)&&!i[Yr(r)]){const s=new _n([],{});o[Yr(r)]=s}return{...i,...o}}function TZ(t,n){const e={};e[Tt]=n;for(const i of t)if(""===i.path&&Yr(i)!==Tt){const o=new _n([],{});e[Yr(i)]=o}return e}function B4(t,n,e){return(!(t.hasChildren()||n.length>0)||"full"!==e.pathMatch)&&""===e.path}class kZ{}class PZ{constructor(n,e,i,o,r,s,a){this.injector=n,this.configLoader=e,this.rootComponentType=i,this.config=o,this.urlTree=r,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new CZ(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(n){return new j(4002,`'${n.segmentGroup}'`)}recognize(){const n=_M(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(Pe(({children:e,rootSnapshot:i})=>{const o=new jr(i,e),r=new lM("",o),s=function zJ(t,n,e=null,i=null){return JT($T(t),n,e,i)}(i,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,r.url=this.urlSerializer.serialize(s),{state:r,tree:s}}))}match(n){const e=new O4([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,Object.freeze({}),Tt,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,n,Tt,e).pipe(Pe(i=>({children:i,rootSnapshot:e})),ul(i=>{if(i instanceof L4)return this.urlTree=i.urlTree,this.match(i.urlTree.root);throw i instanceof Pg?this.noMatchError(i):i}))}processSegmentGroup(n,e,i,o,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(n,e,i,r):this.processSegment(n,e,i,i.segments,o,!0,r).pipe(Pe(s=>s instanceof jr?[s]:[]))}processChildren(n,e,i,o){const r=[];for(const s of Object.keys(i.children))"primary"===s?r.unshift(s):r.push(s);return ni(r).pipe(a1(s=>{const a=i.children[s],l=function $J(t,n){const e=t.filter(i=>Yr(i)===n);return e.push(...t.filter(i=>Yr(i)!==n)),e}(e,s);return this.processSegmentGroup(n,l,a,s,o)}),function eJ(t,n){return dn(function X$(t,n,e,i,o){return(r,s)=>{let a=e,l=n,c=0;r.subscribe(Jt(s,u=>{const p=c++;l=a?t(l,u,p):(a=!0,u),i&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(t,n,arguments.length>=2,!0))}((s,a)=>(s.push(...a),s)),w4(null),function tJ(t,n){const e=arguments.length>=2;return i=>i.pipe(t?yt((o,r)=>t(o,r,i)):Hn,bg(1),e?w4(n):FT(()=>new _4))}(),Yn(s=>{if(null===s)return g1(i);const a=yM(s);return function VZ(t){t.sort((n,e)=>n.value.outlet===Tt?-1:e.value.outlet===Tt?1:n.value.outlet.localeCompare(e.value.outlet))}(a),Ge(a)}))}processSegment(n,e,i,o,r,s,a){return ni(e).pipe(a1(l=>this.processSegmentAgainstRoute(l._injector??n,e,l,i,o,r,s,a).pipe(ul(c=>{if(c instanceof Pg)return Ge(null);throw c}))),Vs(l=>!!l),ul(l=>{if(vM(l))return function xZ(t,n,e){return 0===n.length&&!t.children[e]}(i,o,r)?Ge(new kZ):g1(i);throw l}))}processSegmentAgainstRoute(n,e,i,o,r,s,a,l){return function EZ(t,n,e,i){return!!(Yr(t)===i||i!==Tt&&B4(n,e,t))&&Ng(n,t,e).matched}(i,o,r,s)?void 0===i.redirectTo?this.matchSegmentAgainstRoute(n,o,i,r,s,l):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,o,e,i,r,s,l):g1(o):g1(o)}expandSegmentAgainstRouteUsingRedirect(n,e,i,o,r,s,a){const{matched:l,parameters:c,consumedSegments:u,positionalParamSegments:p,remainingSegments:b}=Ng(e,o,r);if(!l)return g1(e);"string"==typeof o.redirectTo&&"/"===o.redirectTo[0]&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>31&&(this.allowRedirects=!1));const _=new O4(r,c,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,wM(o),Yr(o),o.component??o._loadedComponent??null,o,CM(o)),y=I4(_,a,this.paramsInheritanceStrategy);_.params=Object.freeze(y.params),_.data=Object.freeze(y.data);const z=this.applyRedirects.applyRedirectCommands(u,o.redirectTo,p,_,n);return this.applyRedirects.lineralizeSegments(o,z).pipe(Yn(E=>this.processSegment(n,i,e,E.concat(b),s,!1,a)))}matchSegmentAgainstRoute(n,e,i,o,r,s){const a=zZ(e,i,o,n);return"**"===i.path&&(e.children={}),a.pipe(mn(l=>l.matched?this.getChildConfig(n=i._injector??n,i,o).pipe(mn(({routes:c})=>{const u=i._loadedInjector??n,{parameters:p,consumedSegments:b,remainingSegments:_}=l,y=new O4(b,p,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,wM(i),Yr(i),i.component??i._loadedComponent??null,i,CM(i)),z=I4(y,s,this.paramsInheritanceStrategy);y.params=Object.freeze(z.params),y.data=Object.freeze(z.data);const{segmentGroup:E,slicedSegments:x}=_M(e,b,_,c);if(0===x.length&&E.hasChildren())return this.processChildren(u,c,E,y).pipe(Pe(ie=>new jr(y,ie)));if(0===c.length&&0===x.length)return Ge(new jr(y,[]));const k=Yr(i)===r;return this.processSegment(u,c,E,x,k?Tt:r,!0,y).pipe(Pe(ie=>new jr(y,ie instanceof jr?[ie]:[])))})):g1(e)))}getChildConfig(n,e,i){return e.children?Ge({routes:e.children,injector:n}):e.loadChildren?void 0!==e._loadedRoutes?Ge({routes:e._loadedRoutes,injector:e._loadedInjector}):function bZ(t,n,e,i){const o=n.canLoad;return void 0===o||0===o.length?Ge(!0):Ge(o.map(s=>{const a=f1(s,t);return ha(function oZ(t){return t&&Ou(t.canLoad)}(a)?a.canLoad(n,e):Er(t,()=>a(n,e)))})).pipe(m1(),bM())}(n,e,i).pipe(Yn(o=>o?this.configLoader.loadChildren(n,e).pipe(ii(r=>{e._loadedRoutes=r.routes,e._loadedInjector=r.injector})):function wZ(t){return y4(pM(!1,Zo.GuardRejected))}())):Ge({routes:[],injector:n})}}function NZ(t){const n=t.value.routeConfig;return n&&""===n.path}function yM(t){const n=[],e=new Set;for(const i of t){if(!NZ(i)){n.push(i);continue}const o=n.find(r=>i.value.routeConfig===r.value.routeConfig);void 0!==o?(o.children.push(...i.children),e.add(o)):n.push(i)}for(const i of e){const o=yM(i.children);n.push(new jr(i.value,o))}return n.filter(i=>!e.has(i))}function wM(t){return t.data||{}}function CM(t){return t.resolve||{}}function zM(t){const n=t.children.map(e=>zM(e)).flat();return[t,...n]}function Fg(t){return mn(n=>{const e=t(n);return e?ni(e).pipe(Pe(()=>n)):Ge(n)})}let AM=(()=>{class t{buildTitle(e){let i,o=e.root;for(;void 0!==o;)i=this.getResolvedTitleForRoute(o)??i,o=o.children.find(r=>r.outlet===Tt);return i}getResolvedTitleForRoute(e){return e.data[wu]}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(jZ),providedIn:"root"})}return t})(),jZ=(()=>{class t extends AM{constructor(e){super(),this.title=e}updateTitle(e){const i=this.buildTitle(e);void 0!==i&&this.title.setTitle(i)}static#e=this.\u0275fac=function(i){return new(i||t)(R(n$))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const v1=new oe("",{providedIn:"root",factory:()=>({})}),b1=new oe("");let Rg=(()=>{class t{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=G(OA)}loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return Ge(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);const i=ha(e.loadComponent()).pipe(Pe(SM),ii(r=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=r}),l1(()=>{this.componentLoaders.delete(e)})),o=new vg(i,()=>new V).pipe(gg());return this.componentLoaders.set(e,o),o}loadChildren(e,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return Ge({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const r=function YZ(t,n,e,i){return ha(t.loadChildren()).pipe(Pe(SM),Yn(o=>o instanceof tC||Array.isArray(o)?Ge(o):ni(n.compileModuleAsync(o))),Pe(o=>{i&&i(t);let r,s,a=!1;return Array.isArray(o)?(s=o,!0):(r=o.create(e).injector,s=r.get(b1,[],{optional:!0,self:!0}).flat()),{routes:s.map(Og),injector:r}}))}(i,this.compiler,e,this.onLoadEndListener).pipe(l1(()=>{this.childrenLoaders.delete(i)})),s=new vg(r,()=>new V).pipe(gg());return this.childrenLoaders.set(i,s),s}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function SM(t){return function UZ(t){return t&&"object"==typeof t&&"default"in t}(t)?t.default:t}let Lg=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(WZ),providedIn:"root"})}return t})(),WZ=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,i){return e}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const TM=new oe(""),MM=new oe("");function GZ(t,n,e){const i=t.get(MM),o=t.get(Pt);return t.get(Me).runOutsideAngular(()=>{if(!o.startViewTransition||i.skipNextTransition)return i.skipNextTransition=!1,new Promise(c=>setTimeout(c));let r;const s=new Promise(c=>{r=c}),a=o.startViewTransition(()=>(r(),function qZ(t){return new Promise(n=>{Xa(()=>setTimeout(n),{injector:t,phase:ia.Read})})}(t))),{onViewTransitionCreated:l}=i;return l&&Er(t,()=>l({transition:a,from:n,to:e})),s})}const DM=new oe("");let H4=(()=>{class t{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new V,this.transitionAbortSubject=new V,this.configLoader=G(Rg),this.environmentInjector=G(Li),this.urlSerializer=G(u1),this.rootContexts=G(Du),this.location=G(o1),this.inputBindingEnabled=null!==G(V4,{optional:!0}),this.titleStrategy=G(AM),this.options=G(v1,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=G(Lg),this.createViewTransition=G(TM,{optional:!0}),this.navigationErrorHandler=G(DM,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>Ge(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new VJ(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new PJ(o))}complete(){this.transitions?.complete()}handleNavigationRequest(e){const i=++this.navigationId;this.transitions?.next({...this.transitions.value,...e,id:i})}setupNavigations(e,i,o){return this.transitions=new rt({id:0,currentUrlTree:i,currentRawUrl:i,extractedUrl:this.urlHandlingStrategy.extract(i),urlAfterRedirects:this.urlHandlingStrategy.extract(i),rawUrl:i,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:Mu,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(yt(r=>0!==r.id),Pe(r=>({...r,extractedUrl:this.urlHandlingStrategy.extract(r.rawUrl)})),mn(r=>{let s=!1,a=!1;return Ge(r).pipe(mn(l=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",Zo.SupersededByNewNavigation),_o;this.currentTransition=r,this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null};const c=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl();if(!c&&"reload"!==(l.extras.onSameUrlNavigation??e.onSameUrlNavigation)){const p="";return this.events.next(new h1(l.id,this.urlSerializer.serialize(l.rawUrl),p,x4.IgnoredSameUrlNavigation)),l.resolve(!1),_o}if(this.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return Ge(l).pipe(mn(p=>{const b=this.transitions?.getValue();return this.events.next(new E4(p.id,this.urlSerializer.serialize(p.extractedUrl),p.source,p.restoredState)),b!==this.transitions?.getValue()?_o:Promise.resolve(p)}),function FZ(t,n,e,i,o,r){return Yn(s=>function IZ(t,n,e,i,o,r,s="emptyOnly"){return new PZ(t,n,e,i,o,s,r).recognize()}(t,n,e,i,s.extractedUrl,o,r).pipe(Pe(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),ii(p=>{r.targetSnapshot=p.targetSnapshot,r.urlAfterRedirects=p.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:p.urlAfterRedirects};const b=new iM(p.id,this.urlSerializer.serialize(p.extractedUrl),this.urlSerializer.serialize(p.urlAfterRedirects),p.targetSnapshot);this.events.next(b)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){const{id:p,extractedUrl:b,source:_,restoredState:y,extras:z}=l,E=new E4(p,this.urlSerializer.serialize(b),_,y);this.events.next(E);const x=aM(this.rootComponentType).snapshot;return this.currentTransition=r={...l,targetSnapshot:x,urlAfterRedirects:b,extras:{...z,skipLocationChange:!1,replaceUrl:!1}},this.currentNavigation.finalUrl=b,Ge(r)}{const p="";return this.events.next(new h1(l.id,this.urlSerializer.serialize(l.extractedUrl),p,x4.IgnoredByUrlHandlingStrategy)),l.resolve(!1),_o}}),ii(l=>{const c=new xJ(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),Pe(l=>(this.currentTransition=r={...l,guards:XJ(l.targetSnapshot,l.currentSnapshot,this.rootContexts)},r)),function dZ(t,n){return Yn(e=>{const{targetSnapshot:i,currentSnapshot:o,guards:{canActivateChecks:r,canDeactivateChecks:s}}=e;return 0===s.length&&0===r.length?Ge({...e,guardsResult:!0}):function uZ(t,n,e,i){return ni(t).pipe(Yn(o=>function vZ(t,n,e,i,o){const r=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return r&&0!==r.length?Ge(r.map(a=>{const l=xu(n)??o,c=f1(a,l);return ha(function aZ(t){return t&&Ou(t.canDeactivate)}(c)?c.canDeactivate(t,n,e,i):Er(l,()=>c(t,n,e,i))).pipe(Vs())})).pipe(m1()):Ge(!0)}(o.component,o.route,e,n,i)),Vs(o=>!0!==o,!0))}(s,i,o,t).pipe(Yn(a=>a&&function iZ(t){return"boolean"==typeof t}(a)?function hZ(t,n,e,i){return ni(n).pipe(a1(o=>yu(function fZ(t,n){return null!==t&&n&&n(new NJ(t)),Ge(!0)}(o.route.parent,i),function pZ(t,n){return null!==t&&n&&n(new RJ(t)),Ge(!0)}(o.route,i),function gZ(t,n,e){const i=n[n.length-1],r=n.slice(0,n.length-1).reverse().map(s=>function eZ(t){const n=t.routeConfig?t.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:t,guards:n}:null}(s)).filter(s=>null!==s).map(s=>mg(()=>Ge(s.guards.map(l=>{const c=xu(s.node)??e,u=f1(l,c);return ha(function sZ(t){return t&&Ou(t.canActivateChild)}(u)?u.canActivateChild(i,t):Er(c,()=>u(i,t))).pipe(Vs())})).pipe(m1())));return Ge(r).pipe(m1())}(t,o.path,e),function mZ(t,n,e){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return Ge(!0);const o=i.map(r=>mg(()=>{const s=xu(n)??e,a=f1(r,s);return ha(function rZ(t){return t&&Ou(t.canActivate)}(a)?a.canActivate(n,t):Er(s,()=>a(n,t))).pipe(Vs())}));return Ge(o).pipe(m1())}(t,o.route,e))),Vs(o=>!0!==o,!0))}(i,r,t,n):Ge(a)),Pe(a=>({...e,guardsResult:a})))})}(this.environmentInjector,l=>this.events.next(l)),ii(l=>{if(r.guardsResult=l.guardsResult,l.guardsResult&&"boolean"!=typeof l.guardsResult)throw N4(0,l.guardsResult);const c=new kJ(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(c)}),yt(l=>!!l.guardsResult||(this.cancelNavigationTransition(l,"",Zo.GuardRejected),!1)),Fg(l=>{if(l.guards.canActivateChecks.length)return Ge(l).pipe(ii(c=>{const u=new IJ(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),mn(c=>{let u=!1;return Ge(c).pipe(function RZ(t,n){return Yn(e=>{const{targetSnapshot:i,guards:{canActivateChecks:o}}=e;if(!o.length)return Ge(e);const r=new Set(o.map(l=>l.route)),s=new Set;for(const l of r)if(!s.has(l))for(const c of zM(l))s.add(c);let a=0;return ni(s).pipe(a1(l=>r.has(l)?function LZ(t,n,e,i){const o=t.routeConfig,r=t._resolve;return void 0!==o?.title&&!dM(o)&&(r[wu]=o.title),function BZ(t,n,e,i){const o=_g(t);if(0===o.length)return Ge({});const r={};return ni(o).pipe(Yn(s=>function HZ(t,n,e,i){const o=xu(n)??i,r=f1(t,o);return ha(r.resolve?r.resolve(n,e):Er(o,()=>r(n,e)))}(t[s],n,e,i).pipe(Vs(),ii(a=>{if(a instanceof Ig)throw N4(new z4,a);r[s]=a}))),bg(1),hl(r),ul(s=>vM(s)?_o:y4(s)))}(r,t,n,i).pipe(Pe(s=>(t._resolvedData=s,t.data=I4(t,t.parent,e).resolve,null)))}(l,i,t,n):(l.data=I4(l,l.parent,t).resolve,Ge(void 0))),ii(()=>a++),bg(1),Yn(l=>a===s.size?Ge(e):_o))})}(this.paramsInheritanceStrategy,this.environmentInjector),ii({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(c,"",Zo.NoDataFromResolver)}}))}),ii(c=>{const u=new OJ(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}))}),Fg(l=>{const c=u=>{const p=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&p.push(this.configLoader.loadComponent(u.routeConfig).pipe(ii(b=>{u.component=b}),Pe(()=>{})));for(const b of u.children)p.push(...c(b));return p};return Di(c(l.targetSnapshot.root)).pipe(w4(null),io(1))}),Fg(()=>this.afterPreactivation()),mn(()=>{const{currentSnapshot:l,targetSnapshot:c}=r,u=this.createViewTransition?.(this.environmentInjector,l.root,c.root);return u?ni(u).pipe(Pe(()=>r)):Ge(r)}),Pe(l=>{const c=function jJ(t,n,e){const i=Eu(t,n._root,e?e._root:void 0);return new sM(i,n)}(e.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=r={...l,targetRouterState:c},this.currentNavigation.targetRouterState=c,r}),ii(()=>{this.events.next(new Sg)}),((t,n,e,i)=>Pe(o=>(new ZJ(n,o.targetRouterState,o.currentRouterState,e,i).activate(t),o)))(this.rootContexts,e.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),io(1),ii({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Hr(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),this.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),P(this.transitionAbortSubject.pipe(ii(l=>{throw l}))),l1(()=>{!s&&!a&&this.cancelNavigationTransition(r,"",Zo.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation=null,this.currentTransition=null)}),ul(l=>{if(a=!0,fM(l))this.events.next(new fl(r.id,this.urlSerializer.serialize(r.extractedUrl),l.message,l.cancellationCode)),function WJ(t){return fM(t)&&Au(t.url)}(l)?this.events.next(new k4(l.url,l.navigationBehaviorOptions)):r.resolve(!1);else{const c=new Ag(r.id,this.urlSerializer.serialize(r.extractedUrl),l,r.targetSnapshot??void 0);try{const u=Er(this.environmentInjector,()=>this.navigationErrorHandler?.(c));if(u instanceof Ig){const{message:p,cancellationCode:b}=N4(0,u);this.events.next(new fl(r.id,this.urlSerializer.serialize(r.extractedUrl),p,b)),this.events.next(new k4(u.redirectTo,u.navigationBehaviorOptions))}else{this.events.next(c);const p=e.errorHandler(l);r.resolve(!!p)}}catch(u){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(u)}}return _o}))}))}cancelNavigationTransition(e,i,o){const r=new fl(e.id,this.urlSerializer.serialize(e.extractedUrl),i,o);this.events.next(r),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function QZ(t){return t!==Mu}let KZ=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(JZ),providedIn:"root"})}return t})();class $Z{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}}let JZ=(()=>{class t extends $Z{static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),EM=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(ZZ),providedIn:"root"})}return t})(),ZZ=(()=>{class t extends EM{constructor(){super(...arguments),this.location=G(o1),this.urlSerializer=G(u1),this.options=G(v1,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=G(Lg),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new d1,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=aM(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(i=>{"popstate"===i.type&&e(i.url,i.state)})}handleRouterEvent(e,i){if(e instanceof E4)this.stateMemento=this.createStateMemento();else if(e instanceof h1)this.rawUrlTree=i.initialUrl;else if(e instanceof iM){if("eager"===this.urlUpdateStrategy&&!i.extras.skipLocationChange){const o=this.urlHandlingStrategy.merge(i.finalUrl,i.initialUrl);this.setBrowserUrl(o,i)}}else e instanceof Sg?(this.currentUrlTree=i.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(i.finalUrl,i.initialUrl),this.routerState=i.targetRouterState,"deferred"===this.urlUpdateStrategy&&(i.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,i))):e instanceof fl&&(e.code===Zo.GuardRejected||e.code===Zo.NoDataFromResolver)?this.restoreHistory(i):e instanceof Ag?this.restoreHistory(i,!0):e instanceof Hr&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,i){const o=this.urlSerializer.serialize(e);if(this.location.isCurrentPathEqualTo(o)||i.extras.replaceUrl){const s={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId)};this.location.replaceState(o,"",s)}else{const r={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId+1)};this.location.go(o,"",r)}}restoreHistory(e,i=!1){if("computed"===this.canceledNavigationResolution){const r=this.currentPageId-this.browserPageId;0!==r?this.location.historyGo(r):this.currentUrlTree===e.finalUrl&&0===r&&(this.resetState(e),this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,i){return"computed"===this.canceledNavigationResolution?{navigationId:e,\u0275routerPageId:i}:{navigationId:e}}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Pu=function(t){return t[t.COMPLETE=0]="COMPLETE",t[t.FAILED=1]="FAILED",t[t.REDIRECTING=2]="REDIRECTING",t}(Pu||{});function xM(t,n){t.events.pipe(yt(e=>e instanceof Hr||e instanceof fl||e instanceof Ag||e instanceof h1),Pe(e=>e instanceof Hr||e instanceof h1?Pu.COMPLETE:e instanceof fl&&(e.code===Zo.Redirect||e.code===Zo.SupersededByNewNavigation)?Pu.REDIRECTING:Pu.FAILED),yt(e=>e!==Pu.REDIRECTING),io(1)).subscribe(()=>{n()})}function XZ(t){throw t}const eX={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},tX={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let oi=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.console=G(CA),this.stateManager=G(EM),this.options=G(v1,{optional:!0})||{},this.pendingTasks=G(Ua),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=G(H4),this.urlSerializer=G(u1),this.location=G(o1),this.urlHandlingStrategy=G(Lg),this._events=new V,this.errorHandler=this.options.errorHandler||XZ,this.navigated=!1,this.routeReuseStrategy=G(KZ),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=G(b1,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!G(V4,{optional:!0}),this.eventsSubscription=new Ft,this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const e=this.navigationTransitions.events.subscribe(i=>{try{const o=this.navigationTransitions.currentTransition,r=this.navigationTransitions.currentNavigation;if(null!==o&&null!==r)if(this.stateManager.handleRouterEvent(i,r),i instanceof fl&&i.code!==Zo.Redirect&&i.code!==Zo.SupersededByNewNavigation)this.navigated=!0;else if(i instanceof Hr)this.navigated=!0;else if(i instanceof k4){const s=i.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(i.url,o.currentRawUrl),l={info:o.extras.info,skipLocationChange:o.extras.skipLocationChange,replaceUrl:o.extras.replaceUrl||"eager"===this.urlUpdateStrategy||QZ(o.source),...s};this.scheduleNavigation(a,Mu,null,l,{resolve:o.resolve,reject:o.reject,promise:o.promise})}(function iX(t){return!(t instanceof Sg||t instanceof k4)})(i)&&this._events.next(i)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Mu,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,i)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(e,"popstate",i)},0)})}navigateToSyncWithBrowser(e,i,o){const r={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const l={...o};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(r.state=l)}const a=this.parseUrl(e);this.scheduleNavigation(a,i,s,r)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(Og),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,i={}){const{relativeTo:o,queryParams:r,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,c=l?this.currentUrlTree.fragment:s;let p,u=null;switch(a){case"merge":u={...this.currentUrlTree.queryParams,...r};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=r||null}null!==u&&(u=this.removeEmptyProps(u));try{p=$T(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof e[0]||"/"!==e[0][0])&&(e=[]),p=this.currentUrlTree.root}return JT(p,e,u,c??null)}navigateByUrl(e,i={skipLocationChange:!1}){const o=Au(e)?e:this.parseUrl(e),r=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(r,Mu,null,i)}navigate(e,i={skipLocationChange:!1}){return function nX(t){for(let n=0;n(null!=r&&(i[o]=r),i),{})}scheduleNavigation(e,i,o,r,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((p,b)=>{a=p,l=b});const u=this.pendingTasks.add();return xM(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:r,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(p=>Promise.reject(p))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),_1=(()=>{class t{constructor(e,i,o,r,s,a){this.router=e,this.route=i,this.tabIndexAttribute=o,this.renderer=r,this.el=s,this.locationStrategy=a,this.href=null,this.commands=null,this.onChanges=new V,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===l||"area"===l,this.isAnchorElement?this.subscription=e.events.subscribe(c=>{c instanceof Hr&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(e){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(e){null!=e?(this.commands=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(e,i,o,r,s){const a=this.urlTree;return!!(null===a||this.isAnchorElement&&(0!==e||i||o||r||s||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(a,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){const e=this.urlTree;this.href=null!==e&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e)):null;const i=null===this.href?null:function K_(t,n,e){return function yL(t,n){return"src"===n&&("embed"===t||"frame"===t||"iframe"===t||"media"===t||"script"===t)||"href"===n&&("base"===t||"link"===t)?Q_:It}(n,e)(t)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",i)}applyAttributeValue(e,i){const o=this.renderer,r=this.el.nativeElement;null!==i?o.setAttribute(r,e,i):o.removeAttribute(r,e)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo),function md(t){return function QF(t,n){if("class"===n)return t.classes;if("style"===n)return t.styles;const e=t.attrs;if(e){const i=e.length;let o=0;for(;o{class t{constructor(e,i,o,r,s){this.router=e,this.injector=o,this.preloadingStrategy=r,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(yt(e=>e instanceof Hr),a1(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,i){const o=[];for(const r of i){r.providers&&!r._injector&&(r._injector=C0(r.providers,e,`Route: ${r.path}`));const s=r._injector??e,a=r._loadedInjector??s;(r.loadChildren&&!r._loadedRoutes&&void 0===r.canLoad||r.loadComponent&&!r._loadedComponent)&&o.push(this.preloadConfig(s,r)),(r.children||r._loadedRoutes)&&o.push(this.processRoutes(a,r.children??r._loadedRoutes))}return ni(o).pipe(s1())}preloadConfig(e,i){return this.preloadingStrategy.preload(i,()=>{let o;o=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(e,i):Ge(null);const r=o.pipe(Yn(s=>null===s?Ge(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??e,s.routes))));return i.loadComponent&&!i._loadedComponent?ni([r,this.loader.loadComponent(i)]).pipe(s1()):r})}static#e=this.\u0275fac=function(i){return new(i||t)(R(oi),R(OA),R(Li),R(kM),R(Rg))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Bg=new oe("");let IM=(()=>{class t{constructor(e,i,o,r,s={}){this.urlSerializer=e,this.transitions=i,this.viewportScroller=o,this.zone=r,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},this.environmentInjector=G(Li),s.scrollPositionRestoration||="disabled",s.anchorScrolling||="disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof E4?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof Hr?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof h1&&e.code===x4.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof oM&&(e.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(e.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,i){var o=this;this.zone.runOutsideAngular(Mi(function*(){yield new Promise(r=>{setTimeout(()=>{r()}),Xa(()=>{r()},{injector:o.environmentInjector})}),o.zone.run(()=>{o.transitions.events.next(new oM(e,"popstate"===o.lastSource?o.store[o.restoredId]:null,i))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){W8()};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();function ps(t,n){return{\u0275kind:t,\u0275providers:n}}function PM(){const t=G(tn);return n=>{const e=t.get(Ko);if(n!==e.components[0])return;const i=t.get(oi),o=t.get(VM);1===t.get(Hg)&&i.initialNavigation(),t.get(NM,null,kt.Optional)?.setUpPreloading(),t.get(Bg,null,kt.Optional)?.init(),i.resetRootComponentType(e.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const VM=new oe("",{factory:()=>new V}),Hg=new oe("",{providedIn:"root",factory:()=>1}),NM=new oe("");function dX(t){return ps(0,[{provide:NM,useExisting:sX},{provide:kM,useExisting:t}])}function hX(t){return ps(9,[{provide:TM,useValue:GZ},{provide:MM,useValue:{skipNextTransition:!!t?.skipInitialTransition,...t}}])}const FM=new oe("ROUTER_FORROOT_GUARD"),pX=[o1,{provide:u1,useClass:z4},oi,Du,{provide:Oo,useFactory:function OM(t){return t.routerState.root},deps:[oi]},Rg,[]];let RM=(()=>{class t{constructor(e){}static forRoot(e,i){return{ngModule:t,providers:[pX,[],{provide:b1,multi:!0,useValue:e},{provide:FM,useFactory:vX,deps:[[oi,new ed,new ch]]},{provide:v1,useValue:i||{}},i?.useHash?{provide:ll,useClass:Hq}:{provide:ll,useClass:ES},{provide:Bg,useFactory:()=>{const t=G(nK),n=G(Me),e=G(v1),i=G(H4),o=G(u1);return e.scrollOffset&&t.setOffset(e.scrollOffset),new IM(o,i,t,n,e)}},i?.preloadingStrategy?dX(i.preloadingStrategy).\u0275providers:[],i?.initialNavigation?bX(i):[],i?.bindToComponentInputs?ps(8,[uM,{provide:V4,useExisting:uM}]).\u0275providers:[],i?.enableViewTransitions?hX().\u0275providers:[],[{provide:LM,useFactory:PM},{provide:U0,multi:!0,useExisting:LM}]]}}static forChild(e){return{ngModule:t,providers:[{provide:b1,multi:!0,useValue:e}]}}static#e=this.\u0275fac=function(i){return new(i||t)(R(FM,8))};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function vX(t){return"guarded"}function bX(t){return["disabled"===t.initialNavigation?ps(3,[{provide:_m,multi:!0,useFactory:()=>{const n=G(oi);return()=>{n.setUpLocationChangeListener()}}},{provide:Hg,useValue:2}]).\u0275providers:[],"enabledBlocking"===t.initialNavigation?ps(2,[{provide:Hg,useValue:0},{provide:_m,multi:!0,deps:[tn],useFactory:n=>{const e=n.get(Lq,Promise.resolve());return()=>e.then(()=>new Promise(i=>{const o=n.get(oi),r=n.get(VM);xM(o,()=>{i(!0)}),n.get(H4).afterPreactivation=()=>(i(!0),r.closed?Ge(void 0):r),o.initialNavigation()}))}}]).\u0275providers:[]]}const LM=new oe(""),Ns={gitRepoUrl:"https://github.com/MyGithub-1/nav",provider:"Github",branch:"main",hashMode:!0};var yX=fe(476),wX=fe.n(yX),CX=fe(821),zX=fe.n(CX);const AX=JSON.parse('[{"createdAt":"2024-07-15 06:24:17","title":"OpenSource","icon":null,"ownVisible":null,"nav":[{"createdAt":"2024-07-15 06:24:31","title":"GitHub","icon":null,"ownVisible":null,"nav":[{"createdAt":"2024-07-15 06:24:40","title":"Navigation","icon":null,"ownVisible":null,"nav":[{"id":1,"name":"\u53d1\u73b0\u5bfc\u822a - \u7cbe\u9009\u5b9e\u7528\u5bfc\u822a\u7f51\u7ad9","createdAt":"2024-07-15 06:25:42","rate":3,"desc":"\u53d1\u73b0\u5bfc\u822a - \u7cbe\u9009\u5b9e\u7528\u5bfc\u822a\u7f51\u7ad9","top":true,"index":"","ownVisible":false,"icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/nav-1691133333044-logo.png","url":"https://nav3.cn/light","urls":{"-3":"https://github.com/xjh22222228/nav"},"breadcrumb":["OpenSource","GitHub","Navigation"]}]}]}],"id":0},{"createdAt":"2024-07-13 03:45:51","title":"AI","icon":"\u{1f916}","ownVisible":false,"nav":[],"collapsed":false},{"title":"\u5b9e\u7528\u5de5\u5177","nav":[{"createdAt":"2024-07-13 14:34:16","title":"\u5f55\u5c4f\u8f6f\u4ef6","icon":null,"ownVisible":true,"nav":[{"createdAt":"2024-07-13 14:34:26","title":"\u5f55\u5c4f\u8f6f\u4ef6","icon":null,"ownVisible":true,"nav":[{"id":2,"name":"Open Broadcaster Software | OBSobs","createdAt":"2024-07-13 14:44:09","rate":5,"desc":"","top":true,"index":"","ownVisible":false,"icon":"https://obsproject.com/favicon-32x32.png","url":"https://obsproject.com/","urls":{"":""},"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f55\u5c4f\u8f6f\u4ef6","\u5f55\u5c4f\u8f6f\u4ef6"]}]}]},{"createdAt":"2024-07-13 14:08:24","title":"\u4e91\u76d8\u7f51\u76d8","icon":"","ownVisible":true,"nav":[{"createdAt":"2024-07-13 14:09:39","title":"\u6587\u4ef6\u4f20\u8f93","icon":null,"ownVisible":true,"nav":[{"id":3,"name":"Musetransfer","createdAt":"2024-07-13 14:12:25","rate":5,"desc":"\u6587\u4ef6\u5feb\u901f\u4e0a\u4f20\u4e0b\u8f7d","top":true,"index":"","ownVisible":true,"icon":"nav-1720879893574-f89fe5be-7027-405a-8d35-7b7d0f9330d7.webp","url":"https://musetransfer.com/","urls":{},"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u4e91\u76d8\u7f51\u76d8","\u6587\u4ef6\u4f20\u8f93"]}],"collapsed":false}]},{"title":"\u5f00\u53d1\u76f8\u5173","nav":[{"title":"\u5f00\u53d1\u795e\u5668","nav":[{"name":"Github-CLI","createdAt":"2021-02-18 21:06:06","rate":5,"desc":"GitHub\u7684\u5b98\u65b9\u547d\u4ee4\u884c\u5de5\u5177","top":false,"icon":"https://github.githubassets.com/favicons/favicon.svg","url":"https://cli.github.com/","urls":{"-3":"https://github.com/cli/cli"},"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":4},{"name":"Coveralls","icon":"https://coveralls.io/favicon.png","url":"https://coveralls.io/","desc":"\u901a\u8fc7\u663e\u793a\u6d4b\u8bd5\u5957\u4ef6\u672a\u6db5\u76d6\u4ee3\u7801\u7684\u54ea\u4e9b\u90e8\u5206\uff0c\u6211\u4eec\u53ef\u4ee5\u5e2e\u52a9\u60a8\u81ea\u4fe1\u5730\u4ea4\u4ed8\u4ee3\u7801\u3002\u514d\u8d39\u63d0\u4f9b\u5f00\u6e90\u8f6f\u4ef6\u5e93","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":5},{"name":"Releasly","desc":"\u5728\u65b0\u7684\u5f00\u6e90\u7248\u672c\u53d1\u5e03\u65f6\u6536\u5230\u901a\u77e5\uff0c\u76f4\u63a5\u53d1\u9001\u5230\u60a8\u7684\u7535\u5b50\u90ae\u4ef6\u4e2d\u3002","url":"https://www.releasly.co/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":6},{"name":"Convert cURL","desc":"\u5c06curl\u547d\u4ee4\u8f6c\u6362\u4e3aPython\uff0cJavaScript\uff0cPHP\uff0cR\uff0cGo\uff0cRust\uff0cDart\uff0cJSON\uff0cAnsible\uff0cElixir\u3002","url":"https://curl.trillworks.com/","urls":{"-3":"https://github.com/NickCarneiro/curlconverter"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":7},{"name":"Supervisor","desc":"Supervisor\u662f\u4e00\u4e2a\u5ba2\u6237\u7aef/\u670d\u52a1\u5668\u7cfb\u7edf\uff0c\u5141\u8bb8\u5176\u7528\u6237\u76d1\u89c6\u548c\u63a7\u5236\u7c7b\u4f3cUNIX\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u7684\u591a\u4e2a\u8fdb\u7a0b\u3002","url":"http://supervisord.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":8},{"icon":"https://www.sonarqube.org/favicon-152.png","name":"SonarQube","desc":"\u4ee3\u7801\u8d28\u91cf\u548c\u5b89\u5168\u6027\u68c0\u67e5, \u652f\u6301\u6240\u6709\u5f00\u53d1\u4eba\u5458\u7f16\u5199\u66f4\u5e72\u51c0\uff0c\u66f4\u5b89\u5168\u7684\u4ee3\u7801\u3002","url":"https://www.sonarqube.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":9},{"icon":"https://paste.ubuntu.com/favicon.ico","name":"Pastebin","desc":"\u5728\u7ebf\u5171\u4eab\u4ee3\u7801\uff0c\u5c06\u4ee3\u7801\u4ee5URL\u5f62\u5f0f\u53d1\u9001\u4ee5\u4fbf\u67e5\u770b","url":"https://paste.ubuntu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":10},{"icon":"https://avatars2.githubusercontent.com/u/30217756?s=200&v=4","name":"UPX","desc":"UPX-\u53ef\u6267\u884c\u6587\u4ef6\u7684\u7ec8\u6781\u6253\u5305\u5668","url":"https://github.com/upx/upx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":11},{"icon":"https://avatars2.githubusercontent.com/u/30217756?s=200&v=4","name":"askgit","desc":"\u4f7f\u7528SQL\u67e5\u8be2git\u5b58\u50a8\u5e93\u3002\u751f\u6210\u62a5\u544a\uff0c\u6267\u884c\u72b6\u6001\u68c0\u67e5\uff0c\u5206\u6790\u4ee3\u7801\u5e93\u3002","url":"https://github.com/augmentable-dev/askgit","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":12},{"icon":"https://avatars3.githubusercontent.com/u/1396951?s=200&v=4","name":"Sentry","desc":"Web\u5e94\u7528\u7a0b\u5e8f\uff0c\u79fb\u52a8\u5e94\u7528\u7a0b\u5e8f\u548c\u6e38\u620f\u7684\u5b9e\u65f6\u5d29\u6e83\u62a5\u544a\u3002","url":"https://sentry.io/","urls":{"-3":"https://github.com/getsentry"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":13},{"icon":"https://randomuser.me/favicon.ico","name":"randomuser","desc":"\u968f\u673a\u7528\u6237\u751f\u6210\u5668\u662f\u7528\u4e8e\u751f\u6210\u5360\u4f4d\u7b26\u7528\u6237\u4fe1\u606f\u7684\u514d\u8d39API\u3002 \u83b7\u53d6\u4e2a\u4eba\u8d44\u6599\u7167\u7247\uff0c\u59d3\u540d\u7b49\u3002 \u5bf9\u4e8e\u4eba\u4eec\u6765\u8bf4\uff0c\u5c31\u50cfLorem Ipsum\u3002","url":"https://randomuser.me/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":14},{"icon":"https://camo.githubusercontent.com/ebfdd465daa90626d0ab0d0fddc0e457c942a392/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f616e7572616768617a72612f696d6167652f75706c6f61642f76313539343930383234322f6c6f676f5f636373776d652e737667","name":"github-readme-stats","desc":"\u5728\u4f60\u7684 README \u4e2d \u83b7\u53d6\u52a8\u6001\u751f\u6210\u7684 GitHub \u7edf\u8ba1\u4fe1\u606f","url":"https://github.com/anuraghazra/github-readme-stats/blob/master/readme_cn.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":15},{"icon":"https://i.imgur.com/zBEQq4w.png","name":"Hits","desc":"\u4e86\u89e3\u6709\u591a\u5c11\u4eba\u6b63\u5728\u67e5\u770b\u60a8\u7684GitHub\u9879\u76ee\u7684\u7b80\u5355\u65b9\u6cd5","url":"http://hits.dwyl.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":16},{"name":"GitHub \u6587\u4ef6\u52a0\u901f","desc":"GitHub \u6587\u4ef6\u52a0\u901f","url":"https://shrill-pond-3e81.hunsh.workers.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":17},{"name":"Shields IO","desc":"svg\u751f\u6210\u7248\u672c\u53f7\u56fe\u6807","url":"https://shields.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":18},{"icon":"https://www.fundebug.com/favicon.ico","name":"FunDebug","desc":"\u652f\u6301\u524d\u7aefJavaScript\uff0c\u540e\u7aefNode.js\u4ee5\u53ca\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u9519\u8bef\u76d1\u63a7","url":"https://www.fundebug.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":19},{"icon":"http://www.asciiworld.com/favicon.ico","name":"Asciiworld","desc":"WA\uff01\u539f\u6765\u90a3\u4e9b\u5e74\u7a0b\u5e8f\u733f\u641e\u602a\u7684\u6ce8\u91ca\u90fd\u5728\u8fd9\u91cc","url":"http://www.asciiworld.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":20},{"icon":"https://jsfiddle.net/img/favicon.png","name":"jsfiddle","desc":"\u5f3a\u5927\u7684\u524d\u7aef\u4ee3\u7801\u5728\u7ebf\u6f14\u793a\u7684\u7f51\u7ad9","url":"http://jsfiddle.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":21},{"icon":"https://user-images.githubusercontent.com/799578/50462941-8075fe80-09c3-11e9-89e7-af0cb7991406.png","name":"CODEIF","desc":"\u53d8\u91cf\u547d\u540d\u795e\u5668","url":"https://unbug.github.io/codelf/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":22},{"icon":"http://asciiflow.com/images/favicon.png","name":"ASCIIFlow Infinity","desc":"\u65e0\u9650\u7684ASCII\u56fe\u8868\uff0c\u4fdd\u5b58\u5230\u8c37\u6b4c\u9a71\u52a8\u5668\uff0c\u8c03\u6574\u5927\u5c0f\uff0c\u81ea\u7531\u7ed8\u5236\uff0c\u5e76\u76f4\u63a5\u8f93\u51fa\u5230\u6587\u672c/HTML\u3002","url":"http://asciiflow.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":23},{"icon":"https://kinolien.github.io/gitzip/images/gitzip.png","name":"gitzip","desc":"\u5b83\u53ef\u4ee5\u5c06GITHUB\u5b58\u50a8\u5e93\u7684\u5b50\u6587\u4ef6\u5939/\u5b50\u76ee\u5f55\u4f5c\u4e3azip\u5e76\u4e0b\u8f7d","url":"https://kinolien.github.io/gitzip/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":24},{"icon":"http://sc.ftqq.com/static/image/favlogo.png","name":"Server\u9171","desc":"\u300cServer\u9171\u300d\uff0c\u82f1\u6587\u540d\u300cServerChan\u300d\uff0c\u662f\u4e00\u6b3e\u300c\u7a0b\u5e8f\u5458\u300d\u548c\u300c\u670d\u52a1\u5668\u300d\u4e4b\u95f4\u7684\u901a\u4fe1\u8f6f\u4ef6\u3002","url":"http://sc.ftqq.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":25},{"name":"mkcert","desc":"\u4e00\u4e2a\u7b80\u5355\u7684\u96f6\u914d\u7f6e\u5de5\u5177\uff0c\u53ef\u4ee5\u4f7f\u7528\u60a8\u559c\u6b22\u7684\u4efb\u4f55\u540d\u79f0\u5236\u4f5c\u672c\u5730\u53ef\u4fe1\u8d56\u7684SSL\u5f00\u53d1\u8bc1\u4e66","url":"https://github.com/FiloSottile/mkcert","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":26},{"icon":"https://carbon.now.sh/favicon.ico","name":"carbon","desc":"\u521b\u5efa\u548c\u5206\u4eab\u6e90\u4ee3\u7801\u7684\u7cbe\u7f8e\u56fe\u50cf","url":"https://carbon.now.sh","urls":{"-3":"https://github.com/dawnlabs/carbon"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":27},{"name":"setup-ipsec-vpn","desc":"\u7528\u4e8e\u6784\u5efa\u60a8\u81ea\u5df1\u7684IPsec VPN\u670d\u52a1\u5668\u7684\u811a\u672c\uff0c\u5728Ubuntu\uff0cDebian\u548cCentOS\u4e0a\u4f7f\u7528IPsec / L2TP\u548cCisco IPsec","url":"https://github.com/hwdsl2/setup-ipsec-vpn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":28},{"icon":"https://www.digitalocean.com/favicon.ico","name":"nginxconfig","desc":"nginx\u914d\u7f6e\u751f\u6210\u5668","url":"https://www.digitalocean.com/community/tools/nginx#?","urls":{"-3":"https://github.com/digitalocean/nginxconfig.io"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":29},{"name":"GraphQL Explorer","desc":"GraphQL\u8d44\u6e90\u7ba1\u7406\u5668\u5229\u7528\u771f\u5b9e\u7684\u3001\u5b9e\u65f6\u7684\u751f\u4ea7\u6570\u636e","url":"https://developer.github.com/v4/explorer/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":30},{"name":"patorjk","desc":"\u5c06\u6587\u672c\u8f6c\u6362\u6210ASCII","url":"http://patorjk.com/software/taag/#p=display&f=Graffiti&t=xiejiahe","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":31},{"icon":"https://avatars0.githubusercontent.com/u/62133242?s=200&v=4","name":"lens","desc":"Lens\u63a7\u5236Kubernetes\u96c6\u7fa4\u6240\u9700\u7684\u552f\u4e00IDE\u3002\u5b83\u662f\u9002\u7528\u4e8eMacOS\uff0cWindows\u548cLinux\u64cd\u4f5c\u7cfb\u7edf\u7684\u72ec\u7acb\u5e94\u7528\u7a0b\u5e8f\u3002\u5b83\u662f\u5f00\u6e90\u7684\uff0c\u514d\u8d39\u7684\u3002","url":"https://k8slens.dev/","urls":{"-3":"https://github.com/lensapp/lens"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":32},{"name":"public-apis","desc":"\u4e00\u4e9b\u53ef\u7528\u5728 Web \u6216\u8f6f\u4ef6\u5f00\u53d1\u7684\u5f00\u653e API \u63a5\u53e3","url":"https://github.com/public-apis/public-apis","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":33},{"icon":"https://astexplorer.net/favicon.png","name":"astexplorer","desc":"\u4e00\u4e2aWeb\u5de5\u5177\uff0c\u7528\u4e8e\u63a2\u7d22\u7531\u5404\u79cd\u89e3\u6790\u5668\u751f\u6210\u7684AST","url":"https://astexplorer.net/","urls":{"-3":"https://github.com/fkling/astexplorer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":34},{"icon":"http://www.u.tools/assets/img/brand/favicon.png","name":"uTools","desc":"uTools\u662f\u4e00\u4e2a\u6781\u7b80\u3001\u63d2\u4ef6\u5316\u3001\u8de8\u5e73\u53f0\u7684\u73b0\u4ee3\u684c\u9762\u8f6f\u4ef6\u3002\u901a\u8fc7\u81ea\u7531\u9009\u914d\u4e30\u5bcc\u7684\u63d2\u4ef6\uff0c\u6253\u9020\u4f60\u5f97\u5fc3\u5e94\u624b\u7684\u5de5\u5177\u96c6\u5408","url":"http://www.u.tools/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":35},{"icon":"https://ihateregex.io/favicon.ico","name":"ihateregex","desc":"\u6b63\u5219\u8868\u8fbe\u5f0f\u5907\u5fd8\u5f55","url":"https://ihateregex.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":36},{"icon":"https://avatars3.githubusercontent.com/u/22552083?s=200&v=4","name":"Oh My ZSH","desc":"\u662f\u4e00\u4e2a\u5f00\u653e\u6e90\u4ee3\u7801\uff0c\u793e\u533a\u9a71\u52a8\u7684\u6846\u67b6\uff0c\u7528\u4e8e\u7ba1\u7406zsh\u914d\u7f6e\u3002","url":"https://ohmyz.sh/","urls":{"-3":"https://github.com/ohmyzsh"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":37},{"icon":"https://tampermonkey.freetls.fastly.net/images/icon144.png","name":"Tampermonkey","desc":"\u4e00\u6b3e\u514d\u8d39\u7684\u6d4f\u89c8\u5668\u6269\u5c55\u548c\u6700\u4e3a\u6d41\u884c\u7684\u7528\u6237\u811a\u672c\u7ba1\u7406\u5668","url":"https://www.tampermonkey.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":38},{"name":"Greasy Fork","desc":"\u63d0\u4f9b\u7528\u6237\u811a\u672c\u7684\u7f51\u7ad9","url":"https://greasyfork.org/zh-CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":39},{"icon":"https://img.kuaidaili.com/img/favicon.ico?v=3","name":"\u514d\u8d39\u4ee3\u7406","desc":"\u514d\u8d39HTTP\u4ee3\u7406IP","url":"https://www.kuaidaili.com/free/inha/1/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":40},{"icon":"https://avatars2.githubusercontent.com/u/1342004?s=200&v=4","name":"Google Workspace","desc":"Google Workspace\u72b6\u6001\u4fe1\u606f\u4e2d\u5fc3","url":"https://www.google.com/appsstatus#hl=en&v=status","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":41}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406","nav":[{"icon":"https://www.eolinker.com/assets/images/favicon.ico","name":"eoLinker\u63a5\u53e3\u7ba1\u7406\u5e73\u53f0","desc":"\u56fd\u5185\u6700\u5927\u7684\u5728\u7ebf\u63a5\u53e3\u7ba1\u7406\u670d\u52a1\u65b9\u6848\u4f9b\u5e94\u5546","url":"https://www.eolinker.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":42},{"icon":"https://avatars2.githubusercontent.com/u/19645609?s=200&v=4","name":"YApi","desc":"YApi \u662f\u4e00\u4e2a\u53ef\u672c\u5730\u90e8\u7f72\u7684\u3001\u6253\u901a\u524d\u540e\u7aef\u53caQA\u7684\u3001\u53ef\u89c6\u5316\u7684\u63a5\u53e3\u7ba1\u7406\u5e73\u53f0","url":"https://yapi.baidu.com/","urls":{"-3":"https://github.com/YMFE/yapi"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":43},{"icon":"http://rap2.taobao.org/favicon.png","name":"RAP2","desc":"Web\u63a5\u53e3\u7ba1\u7406\u5de5\u5177\uff0c\u5f00\u6e90\u514d\u8d39\uff0c\u63a5\u53e3\u81ea\u52a8\u5316\uff0cMOCK\u6570\u636e\u81ea\u52a8\u751f\u6210\uff0c\u81ea\u52a8\u5316\u6d4b\u8bd5\uff0c\u4f01\u4e1a\u7ea7\u7ba1\u7406\u3002\u963f\u91cc\u5988\u5988MUX\u56e2\u961f\u51fa\u54c1","url":"http://rap2.taobao.org/","urls":{"-3":"https://github.com/thx/rap2-delos"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":44},{"icon":"https://www.showdoc.cc/static/logo/b_64.png","name":"showdoc","desc":"\u4e00\u4e2a\u975e\u5e38\u9002\u5408IT\u56e2\u961f\u7684\u5728\u7ebfAPI\u6587\u6863\u3001\u6280\u672f\u6587\u6863\u5de5\u5177","url":"https://www.showdoc.cc/","urls":{"-3":"https://github.com/star7th/showdoc"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":45},{"icon":"https://avatars3.githubusercontent.com/u/40133106?s=200&v=4","name":"docsify","desc":"\u4e00\u4e2a\u795e\u5947\u7684\u6587\u6863\u7ad9\u70b9\u751f\u6210\u5668","url":"https://docsify.js.org","urls":{"-3":"https://github.com/docsifyjs/docsify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":46},{"icon":"https://avatars2.githubusercontent.com/u/4103663?s=200&v=4","name":"apiDoc","desc":"RESTful Web API\u6587\u6863\u751f\u6210\u5668","url":"http://apidocjs.com","urls":{"-3":"https://github.com/apidoc/apidoc"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":47},{"icon":"https://avatars2.githubusercontent.com/u/69631?s=200&v=4","name":"docusaurus","desc":"\u6613\u4e8e\u7ef4\u62a4\u7684\u5f00\u6e90\u6587\u6863\u7f51\u7ad9","url":"https://docusaurus.io/","urls":{"-3":"https://github.com/facebook/docusaurus"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":48},{"icon":"https://www.zentao.net/favicon.ico","name":"\u7985\u9053","desc":"\u7985\u9053\u662f\u7075\u6d3b\u7684\u9879\u76ee\u7ba1\u7406\u8f6f\u4ef6","url":"https://www.zentao.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":49},{"icon":"https://www.tapd.cn/favicon.ico","name":"Tapd","desc":"\u4e00\u7ad9\u5f0f\u654f\u6377\u7814\u53d1\u534f\u4f5c\u4e91\u5e73\u53f0, \u51dd\u805a\u817e\u8baf\u7814\u53d1\u65b9\u6cd5\u53ca\u654f\u6377\u5b9e\u8df5\u7cbe\u9ad3, \u52a9\u529b\u4f01\u4e1a\u7814\u53d1\u66f4\u9ad8\u6548\u3001\u534f\u4f5c\u66f4\u654f\u6377","url":"https://www.tapd.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":50},{"icon":"https://avatars2.githubusercontent.com/u/56705483?s=200&v=4","name":"Hoppscotch","desc":"\u4e00\u4e2a\u514d\u8d39\uff0c\u5feb\u901f\uff0c\u7f8e\u89c2\u7684API\u8bf7\u6c42\u6784\u5efa\u5668\uff0c\u4f9b10\u4e07\u591a\u4e2a\u5f00\u53d1\u4eba\u5458\u4f7f\u7528\u3002(\u539f\u540d\u53eb Postwoman)","url":"https://hoppscotch.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":51}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u5185\u7f51\u7a7f\u900f/\u4ee3\u7406","nav":[{"name":"Sunny-Ngrok","desc":"\u4e00\u6761\u547d\u4ee4\u89e3\u51b3\u7684\u5916\u7f51\u8bbf\u95ee\u5185\u7f51\u95ee\u9898\uff0c\u65e0\u9700\u4efb\u4f55\u914d\u7f6e\uff0c\u4e0b\u8f7d\u5ba2\u6237\u7aef\u4e4b\u540e\u76f4\u63a5\u4e00\u6761\u547d\u4ee4\u8ba9\u5916\u7f51\u8bbf\u95ee\u60a8\u7684\u5185\u7f51\u4e0d\u518d\u662f\u8ddd\u79bb","url":"https://www.ngrok.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5185\u7f51\u7a7f\u900f/\u4ee3\u7406"],"ownVisible":false,"id":52},{"name":"frp","desc":"\u4e00\u4e2a\u5feb\u901f\u53cd\u5411\u4ee3\u7406\uff0c\u53ef\u5e2e\u52a9\u60a8\u5c06NAT\u6216\u9632\u706b\u5899\u540e\u9762\u7684\u672c\u5730\u670d\u52a1\u5668\u66b4\u9732\u7ed9Internet\u3002","url":"https://github.com/fatedier/frp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5185\u7f51\u7a7f\u900f/\u4ee3\u7406"],"ownVisible":false,"id":53},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"zan-proxy","desc":"\u672c\u5730\u4ee3\u7801\u8c03\u8bd5\u7ebf\u4e0a\u9875\u9762\uff0c\u73af\u5883\u518d\u4e5f\u4e0d\u662f\u95ee\u9898","url":"https://youzan.github.io/zan-proxy/","urls":{"-3":"https://github.com/youzan/zan-proxy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5185\u7f51\u7a7f\u900f/\u4ee3\u7406"],"ownVisible":false,"id":54},{"icon":"https://ngrok.com/static/img/favicon.png","name":"ngrok","desc":"ngrok\u662f\u4e00\u4e2a\u53cd\u5411\u4ee3\u7406\uff0c\u901a\u8fc7\u5728\u516c\u5171\u7684\u7aef\u70b9\u548c\u672c\u5730\u8fd0\u884c\u7684 Web \u670d\u52a1\u5668\u4e4b\u95f4\u5efa\u7acb\u4e00\u4e2a\u5b89\u5168\u7684\u901a\u9053\u3002ngrok\u53ef\u6355\u83b7\u548c\u5206\u6790\u6240\u6709\u901a\u9053\u4e0a\u7684\u6d41\u91cf\uff0c\u4fbf\u4e8e\u540e\u671f\u5206\u6790\u548c\u91cd\u653e","url":"https://ngrok.com/","urls":{"-3":"https://github.com/inconshreveable/ngrok"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5185\u7f51\u7a7f\u900f/\u4ee3\u7406"],"ownVisible":false,"id":55}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u7f16\u7801/\u89e3\u7801","nav":[{"icon":"http://www.chamd5.org/favicon.ico","name":"\u67e5MD5","desc":"MD5\u5728\u7ebf\u89e3\u5bc6|md5\u5728\u7ebf\u7834\u89e3|\u6279\u91cf\u7834\u89e3md5\u7f51\u7ad9","url":"http://www.cmd5.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u7f16\u7801/\u89e3\u7801"],"ownVisible":false,"id":56},{"icon":"https://jwt.io/img/favicon/apple-icon-76x76.png","name":"JSON Web Tokens","desc":"jwt \u5728\u7ebf\u89e3\u7801","url":"https://jwt.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u7f16\u7801/\u89e3\u7801"],"ownVisible":false,"id":57},{"icon":"http://www.xpcha.com/favicon.ico","name":"base64","desc":"base64\u5728\u7ebf\u89e3\u7801\u7f16\u7801","url":"http://base64.xpcha.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u7f16\u7801/\u89e3\u7801"],"ownVisible":false,"id":58}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u514d\u8d39\u516c\u5f00API","nav":[{"icon":"https://www.ipify.org/static/images/favicon-96x96.png","name":"ipify","desc":"\u4e00\u4e2a\u7b80\u5355\u7684\u516c\u5171IP\u5730\u5740API","url":"https://www.ipify.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u514d\u8d39\u516c\u5f00API"],"ownVisible":false,"id":59},{"name":"\u5f52\u5c5e\u5730\u67e5\u8be2","desc":"\u6dd8\u5b9d\u514d\u8d39\u5f52\u5c5e\u5730\u67e5\u8be2","url":"https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13333333333","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u514d\u8d39\u516c\u5f00API"],"ownVisible":false,"id":60}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u8bbe\u8ba1\u76f8\u5173","nav":[{"title":"\u8bbe\u8ba1\u76f8\u5173","nav":[{"icon":"https://www.draw.io/images/apple-touch-icon.png","name":"draw","desc":"\u514d\u8d39\u7684\u5728\u7ebf\u56fe\u8868\u8f6f\u4ef6\uff0c\u7528\u4e8e\u5236\u4f5c\u6d41\u7a0b\u56fe\u3001\u6d41\u7a0b\u56fe\u3001\u7ec4\u7ec7\u56fe\u3001UML\u3001ER\u548c\u7f51\u7edc\u56fe","url":"https://www.draw.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":61},{"icon":"https://www.processon.com/favicon.ico","name":"ProcessOn","desc":"\u514d\u8d39\u5728\u7ebf\u4f5c\u56fe\u5de5\u5177,UML\u4f5c\u56fe,UI\u754c\u9762\u539f\u578b\u8bbe\u8ba1,iOS\u539f\u578b\u8bbe\u8ba1,BPMN,\u6d41\u7a0b\u56fe,\u601d\u7ef4\u5bfc\u56fe,\u591a\u4eba\u534f\u4f5c\u7ed8\u56fe","url":"https://www.processon.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":62},{"icon":"https://lhcdn.lanhuapp.com/web/static/favicon.ico","name":"\u84dd\u6e56","desc":"\u84dd\u6e56\u662f\u4e00\u6b3e\u8bbe\u8ba1\u56fe\u5171\u4eab\u5e73\u53f0,\u5e2e\u52a9\u4e92\u8054\u7f51\u56e2\u961f\u7ba1\u7406\u8bbe\u8ba1\u56fe","url":"https://lanhuapp.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":63},{"icon":"https://zeplin.io/img/favicon/228x228.png","name":"Zeplin","desc":"\u4e3a\u8bbe\u8ba1\u5e08\u548c\u524d\u7aef\u800c\u751f\u7684\u534f\u4f5c\u5e94\u7528","url":"https://zeplin.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":64},{"icon":"https://mubu.com/favicon.ico","name":"\u5e55\u5e03","desc":"\u6781\u7b80\u5927\u7eb2\u7b14\u8bb0 | \u4e00\u952e\u751f\u6210\u601d\u7ef4\u5bfc\u56fe","url":"https://mubu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":65},{"icon":"https://p.ssl.qhimg.com/t01a54d9106629dda0e.png","name":"\u58f0\u4eab","desc":"\u5728\u7ebf\u5236\u4f5c PPT\uff0c\u8ba9\u5206\u4eab\u66f4\u6709\u4ef7\u503c","url":"https://ppt.baomitu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":66},{"icon":"https://modao.cc/images/logo.png","name":"\u58a8\u5200","desc":"\u539f\u578b\u8bbe\u8ba1\u5de5\u5177\uff0cweb\u539f\u578b\u8bbe\u8ba1\u5de5\u5177\uff0capp\u539f\u578b\u8bbe\u8ba1\u5de5\u5177","url":"https://modao.cc/features","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":67},{"icon":"https://xzlogo.com/static/images/favicon-16x16.png?v2","name":"\u5c0f\u667aLOGO","desc":"LOGO\u5728\u7ebf\u5236\u4f5c\u795e\u5668 - 3\u5206\u949f\u5b8c\u6210LOGO\u8bbe\u8ba1\u5728\u7ebf\u751f\u6210","url":"https://xzlogo.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":68},{"icon":"https://www.chuangkit.com/favicon.ico","name":"\u521b\u5ba2\u8d34","desc":"\u4e00\u6b3e\u7b80\u5355\u6613\u7528\u3001\u529f\u80fd\u5f3a\u5927\u7684\u7ebf\u4e0a\u56fe\u5f62\u8bbe\u8ba1\u5de5\u5177","url":"https://www.chuangkit.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":69},{"icon":"https://cdn.jifo.co/favicon/favicon.ico","name":"\u5728\u7ebf\u5236\u4f5c\u56fe\u8868","desc":"\u4fe1\u606f\u56fe\u8868\u662f\u4e00\u79cd\u6613\u4e8e\u4f7f\u7528\u7684\u4fe1\u606f\u56fe\u8868\u548c\u56fe\u8868\u5236\u9020\u5546\u3002\u521b\u5efa\u548c\u5206\u4eab\u7f8e\u4e3d\u7684\u4fe1\u606f\u56fe\u8868\uff0c\u5728\u7ebf\u62a5\u544a\u548c\u4e92\u52a8\u5730\u56fe\u3002\u5728\u8fd9\u91cc\u505a\u4f60\u81ea\u5df1","url":"https://infogram.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":70},{"name":"CLIPPING MAGIC","desc":"\u5220\u9664\u56fe\u50cf\u80cc\u666f\u5728\u7ebf\u3002\u4f7f\u80cc\u666f\u900f\u660e\uff0c\u767d\u8272\u7b49\u7f16\u8f91\uff0c\u88c1\u526a\uff0c\u65cb\u8f6c\uff0c\u56fa\u5b9a\u989c\u8272\uff0c\u6dfb\u52a0\u9634\u5f71\uff0c\u4e00\u6b3e\u5728\u7ebf\u62a0\u56fe\u5de5\u5177","url":"https://clippingmagic.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":71},{"icon":"https://koutu.gaoding.com/favicon.ico","name":"\u7a3f\u5b9a\u62a0\u56fe","desc":"\u7a3f\u5b9a\u8bbe\u8ba1\u662f\u4e00\u6b3e\u4e13\u4e3a\u6dd8\u5b9d\u5e97\u4e3b\u3001\u65b0\u5a92\u4f53\u8fd0\u8425\u4eba\u5458\u548c\u4fee\u56fe\u7231\u597d\u8005\u6253\u9020\u7684\u514d\u8d39\u5728\u7ebf\u62a0\u56fe\u5de5\u5177\u3002","url":"https://www.gaoding.com/koutu","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":72},{"icon":"https://uzer.me/favicon.ico","name":"UZER.ME","desc":"\u8d85\u7ea7\u5e94\u7528\u7a7a\u95f4\u81f4\u529b\u4e8e\u5168\u751f\u547d\u5468\u671f\u7684\u6587\u6863\u7ba1\u7406,\u65e0\u9700\u5b89\u88c5,\u5373\u53ef\u5728\u7ebf\u7f16\u8f91Office, CAD,PS\u7b49\u4efb\u610f\u683c\u5f0f\u6587\u6863,\u652f\u6301\u8fdc\u7a0b\u534f\u4f5c,\u5168\u6587\u68c0\u7d22,\u7248\u672c\u7ba1\u7406,\u6743\u9650\u7ba1\u7406,\u5b89\u5168\u5916\u53d1\u7b49.\u63d0\u9ad8\u5de5\u4f5c\u6548\u7387,\u964d\u4f4e\u5b89\u5168\u98ce\u9669","url":"https://uzer.me/index.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":73},{"icon":"https://www.launchaco.com/static/favicon.ico","name":"launchaco","desc":"\u514d\u8d39\u5728\u7ebf\u5236\u4f5cLOGO","url":"https://www.launchaco.com/logo","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":74},{"icon":"https://g.alicdn.com/acca/resource/luban/image/favicon.png","name":"\u9e7f\u73ed","desc":"\u9e7f\u73ed - \u8ba9\u8bbe\u8ba1\u66f4\u7f8e\u597d(\u963f\u91cc\u51fa\u54c1)","url":"https://luban.aliyun.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":75},{"icon":"https://www.yasuotu.com/favicon.ico","name":"\u56fe\u7247\u88c1\u526a","desc":"\u5728\u7ebf\u88c1\u526a\u7167\u7247\u5927\u5c0f\u5c3a\u5bf8","url":"https://www.yasuotu.com/meditor","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":76}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"GUI\u8f6f\u4ef6","nav":[{"title":"GUI","nav":[{"icon":"https://bitwarden.com/images/icons/favicon-32x32.png","name":"Bitwarden","desc":"\u4e2a\u4eba\u548c\u4f01\u4e1a\u5728\u4efb\u4f55\u8bbe\u5907\u4e0a\u5b58\u50a8\uff0c\u5171\u4eab\u548c\u4fdd\u62a4\u654f\u611f\u6570\u636e\u7684\u6700\u7b80\u5355\uff0c\u6700\u5b89\u5168\u7684\u65b9\u6cd5","url":"https://bitwarden.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":77},{"icon":"https://typora.io/img/favicon-48.png","name":"Typeora","desc":"Typora\u662f\u4e00\u6b3e\u8de8\u5e73\u53f0\u7684\u6700\u5c0fMarkdown\u7f16\u8f91\u5668\uff0c\u53ef\u4e3aMarkdown\u8bfb\u8005\u548c\u4f5c\u5bb6\u63d0\u4f9b\u65e0\u7f1d\u7684\u4f53\u9a8c","url":"https://typora.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":78},{"icon":"https://www.iterm2.com/favicon.ico","name":"iterm2","desc":"iTerm2\u662fTerminal\u7684\u66ff\u4ee3\u54c1\uff0c\u662fiTerm\u7684\u540e\u7eed\u4ea7\u54c1","url":"https://www.iterm2.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":79},{"icon":"https://www.sourcetreeapp.com/assets/img/favicons/sourcetree/favicon-32x32.png","name":"Sourcetree","desc":"\u7f8e\u4e3d\u7684Git GUI\u4e2d\u7684\u7b80\u5355\u6027\u548c\u5f3a\u5927\u529f\u80fd","url":"https://www.sourcetreeapp.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":80},{"icon":"https://www.charlesproxy.com/static/img/icon.8b97278f.png","name":"charles","desc":"Charles\u662fHTTP\u4ee3\u7406/ HTTP\u76d1\u89c6\u5668/\u53cd\u5411\u4ee3\u7406\uff0c\u4f7f\u5f00\u53d1\u4eba\u5458\u53ef\u4ee5\u67e5\u770b\u5176\u8ba1\u7b97\u673a\u4e0eInternet\u4e4b\u95f4\u7684\u6240\u6709HTTP\u548cSSL / HTTPS\u901a\u4fe1\u3002\u8fd9\u5305\u62ec\u8bf7\u6c42\uff0c\u54cd\u5e94\u548cHTTP\u6807\u5934\uff08\u5176\u4e2d\u5305\u542bcookie\u548c\u7f13\u5b58\u4fe1\u606f\uff09\u3002","url":"https://www.charlesproxy.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":81},{"icon":"https://tunnelblick.net/favicon.ico","name":"Tunnelblick","desc":"\u9002\u7528\u4e8emacOS\u7684\u514d\u8d39\u5f00\u6e90OpenVPN VPN\u5ba2\u6237\u7aef\u670d\u52a1\u5668\u8f6f\u4ef6\u3002","url":"https://tunnelblick.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":82},{"icon":"https://www.keka.io/img/Keka-120x120.png","name":"Keka","desc":"macOS\u6587\u4ef6\u5b58\u6863\u5668, \u50a8\u5b58\u66f4\u591a\uff0c\u79c1\u5bc6\u5206\u4eab","url":"https://www.keka.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":83},{"icon":"https://getkap.co/static/favicon/kap.ico","name":"Kap","desc":"\u4f7f\u7528Web\u6280\u672f\u6784\u5efa\u7684\u5f00\u6e90\u5c4f\u5e55\u5f55\u50cf\u673a\u3002","url":"https://getkap.co/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":84},{"icon":"https://code.visualstudio.com/apple-touch-icon.png","name":"Vscode","desc":"VScode\u662f\u4e00\u6b3e\u8f7b\u91cf\u7ea7\u7684\u7f16\u8f91\u5668\uff0c\u81ea\u7531\u3002 \u5efa\u7acb\u5728\u5f00\u6e90\u4e0a\u3002 \u65e0\u5904\u4e0d\u5728\u3002","url":"https://code.visualstudio.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":85},{"icon":"https://nmap.org/shared/images/tiny-eyeicon.png","name":"zenmap","desc":"\u5f00\u6e90\u514d\u8d39\u7684\u7f51\u7edc\u53d1\u73b0\u5de5\u5177\uff0c\u901a\u8fc7\u5b83\u80fd\u591f\u627e\u51fa\u7f51\u7edc\u4e0a\u5728\u7ebf\u7684\u4e3b\u673a\uff0c\u5e76\u6d4b\u8bd5\u4e3b\u673a\u4e0a\u54ea\u4e9b\u7aef\u53e3\u5904\u4e8e\u76d1\u542c\u72b6\u6001\uff0c\u63a5\u7740\u901a\u8fc7\u7aef\u53e3\u786e\u5b9a\u4e3b\u673a\u4e0a\u8fd0\u884c\u7684\u5e94\u7528\u7a0b\u5e8f\u7c7b\u578b\u4e0e\u7248\u672c\u4fe1\u606f\uff0c\u6700\u540e\u5229\u7528\u5b83\u8fd8\u80fd\u4fa6\u6d4b\u51fa\u64cd\u4f5c\u7cfb\u7edf\u7684\u7c7b\u578b\u548c\u7248\u672c","url":"https://nmap.org/zenmap/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":86},{"icon":"https://obsproject.com/favicon-32x32.png","name":"obsproject","desc":"\u514d\u8d39\u548c\u5f00\u6e90\u8f6f\u4ef6\uff0c\u7528\u4e8e\u89c6\u9891\u5f55\u5236\u548c\u5b9e\u65f6\u6d41\u3002","url":"https://obsproject.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":87},{"icon":"https://avatars1.githubusercontent.com/u/14985020?s=200&v=4","name":"hyper","desc":"\u57fa\u4e8eWEB\u6280\u672f\u7684\u7ec8\u7aef","url":"https://hyper.is/","urls":{"-3":"https://github.com/zeit/hyper"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":88},{"icon":"https://www.listary.com/wp-content/themes/listary5/images/favicon.ico","name":"Listary","desc":"Listary\u662fWindows\u7684\u9769\u547d\u6027\u641c\u7d22\u5b9e\u7528\u7a0b\u5e8f\uff0c\u5b83\u4f7f\u4f11\u95f2\u7528\u6237\u548c\u9ad8\u7ea7\u7528\u6237\u90fd\u80fd\u5feb\u901f\u627e\u5230\u6587\u4ef6\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\uff01","url":"https://www.listary.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":89}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u865a\u62df\u673a","nav":[{"icon":"https://www.vmware.com/favicon.ico","name":"vmware","desc":"\u5229\u7528VMware\u63d0\u4f9b\u7684\u8f6f\u4ef6\u5b9a\u4e49\u7684\u4e91\uff0c\u79fb\u52a8\u6027\uff0c\u7f51\u7edc\u548c\u5b89\u5168\u89e3\u51b3\u65b9\u6848\u6765\u5efa\u7acb\u60a8\u7684\u6570\u5b57\u57fa\u7840\u3002","url":"https://www.vmware.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u865a\u62df\u673a"],"ownVisible":false,"id":90},{"icon":"https://www.parallels.cn/typo3conf/ext/prls_theme/Resources/Public/theme/res/img/favicon/favicon.png","name":"parallels","desc":"Mac\u548cWindows\u865a\u62df\u5316|\u7ba1\u7406Mac|VDI\u548cRDS\u89e3\u51b3\u65b9\u6848","url":"https://www.parallels.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u865a\u62df\u673a"],"ownVisible":false,"id":91},{"icon":"http://mumu.163.com/favicon.ico","name":"mumu Android\u6a21\u62df\u5668","desc":"\u7f51\u6613MuMu[\u624b\u6e38\u6a21\u62df\u5668][\u5b89\u5353\u6a21\u62df\u5668]","url":"http://mumu.163.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u865a\u62df\u673a"],"ownVisible":false,"id":92}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5e93","nav":[{"icon":"https://avatars3.githubusercontent.com/u/34743864?s=200&v=4","name":"DBeaver","desc":"\u9002\u7528\u4e8e\u5f00\u53d1\u4eba\u5458\uff0c\u6570\u636e\u5e93\u7ba1\u7406\u5458\uff0c\u5206\u6790\u5e08\u548c\u6240\u6709\u9700\u8981\u4f7f\u7528\u6570\u636e\u5e93\u7684\u4eba\u5458\u7684\u514d\u8d39\u7684\u591a\u5e73\u53f0\u6570\u636e\u5e93\u5de5\u5177\u3002\u652f\u6301\u6240\u6709\u6d41\u884c\u7684\u6570\u636e\u5e93\uff1aMySQL\uff0cPostgreSQL\uff0cSQLite\uff0cOracle\uff0cDB2\uff0cSQL Server\uff0cSybase\uff0cMS Access\uff0cTeradata\uff0cFirebird\uff0cApache Hive\uff0cPhoenix\uff0cPresto\u7b49","url":"https://dbeaver.io/","urls":{"-3":"https://github.com/dbeaver/dbeaver"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":93},{"icon":"https://redisdesktop.com/static/css/favicon.png","name":"RedisDesktopManager","desc":"Redis Desktop Manager\uff08\u53c8\u540dRDM\uff09\u2014\u662f\u7528\u4e8eWindows\uff0cLinux\uff0cMacOS\u548ciPadOS\u7684\u5feb\u901fRedis\u6570\u636e\u5e93\u7ba1\u7406\u5e94\u7528\u7a0b\u5e8f\u3002","url":"https://redisdesktop.com/","urls":{"-3":"https://github.com/uglide/RedisDesktopManager"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":94},{"icon":"https://sequelpro.com/favicon/favicon-32x32.png","name":"Sequel Pro","desc":"Sequel Pro\u662f\u4e00\u4e2a\u5feb\u901f\uff0c\u6613\u4e8e\u4f7f\u7528\u7684Mac\u6570\u636e\u5e93\u7ba1\u7406\u5e94\u7528\u7a0b\u5e8f\uff0c\u7528\u4e8e\u5904\u7406MySQL\u6570\u636e\u5e93\u3002","url":"https://www.sequelpro.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":95},{"icon":"https://robomongo.org/static/favicon-11ace079.ico","name":"Robo 3T","desc":"\u4e00\u4e2a\u73b0\u4ee3\uff0c\u5f3a\u5927\u4e14\u7531\u793e\u533a\u9a71\u52a8\u7684MongoDB\u7ba1\u7406\u5de5\u5177","url":"https://robomongo.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":96},{"icon":"https://www.jetbrains.com/favicon-32x32.png","name":"DataGrip","desc":"jetbrains\u51fa\u54c1\u7684\u6570\u636e\u5e93\u7ba1\u7406\u7cfb\u7edf","url":"https://www.jetbrains.com/datagrip/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":97},{"icon":"https://tableplus.com/resources/favicons/apple-icon-57x57.png","name":"tableplus","desc":"\u7528\u4e8e\u5173\u7cfb\u6570\u636e\u5e93\u7684\u73b0\u4ee3\uff0c\u672c\u5730\u4e14\u53cb\u597d\u7684GUI\u5de5\u5177\uff1aMySQL\uff0cPostgreSQL\uff0cSQLite\u7b49","url":"https://tableplus.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":98}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8fdc\u7a0b\u63a7\u5236","nav":[{"icon":"https://www.teamviewer.cn/wp-content/themes/tv-wordpress-theme/dist/media/favicon.png","name":"TeamViewer","desc":"TeamViewer\u8fdc\u7a0b\u8fde\u63a5\u63a7\u5236\u8f6f\u4ef6\u662f\u4e00\u6b3e\u968f\u65f6\u968f\u5730\u8fde\u63a5\u5230\u8fdc\u7a0b\u684c\u9762\u7535\u8111\u3001\u79fb\u52a8\u8bbe\u5907\u53caIot,\u8ba9\u8fdc\u7a0b\u8fde\u63a5\u8fc7\u7a0b\u66f4\u52a0\u7684\u5feb\u901f\u548c\u5b89\u5168,\u8f7b\u677e\u5b9e\u73b0\u5bf9\u6587\u4ef6\u3001\u7f51\u7edc\u53ca\u7a0b\u5e8f\u7684\u5b9e\u65f6\u652f\u6301\u6216\u8bbf\u95ee\u3002","url":"https://www.teamviewer.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u8fdc\u7a0b\u63a7\u5236"],"ownVisible":false,"id":99},{"icon":"https://sunlogin.oray.com/favicon.ico","name":"\u5411\u65e5\u8475","desc":"\u5411\u65e5\u8475\u8fdc\u7a0b\u63a7\u5236\u8f6f\u4ef6\u662f\u4e00\u6b3e\u514d\u8d39\u7684\u96c6\u8fdc\u7a0b\u63a7\u5236\u7535\u8111\u624b\u673a\u3001\u8fdc\u7a0b\u684c\u9762\u8fde\u63a5\u3001\u8fdc\u7a0b\u5f00\u673a\u3001\u8fdc\u7a0b\u7ba1\u7406\u3001\u652f\u6301\u5185\u7f51\u7a7f\u900f\u7684\u4e00\u4f53\u5316\u8fdc\u7a0b\u63a7\u5236\u7ba1\u7406\u5de5\u5177\u8f6f\u4ef6","url":"https://sunlogin.oray.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u8fdc\u7a0b\u63a7\u5236"],"ownVisible":false,"id":100}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u98de\u673a\u573a","nav":[{"icon":"https://avatars0.githubusercontent.com/u/14110142?s=200&v=4","name":"v2ray","desc":"\u7528\u4e8e\u6784\u5efa\u4ee3\u7406\u7ed5\u8fc7\u7f51\u7edc\u9650\u5236\u7684\u5e73\u53f0\u3002","url":"https://github.com/v2ray/v2ray-core","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u98de\u673a\u573a"],"ownVisible":false,"id":101},{"icon":"https://github.com/Dreamacro/clash/raw/master/docs/logo.png","name":"clash","desc":"Go\u4e2d\u57fa\u4e8e\u89c4\u5219\u7684\u96a7\u9053","url":"https://github.com/Dreamacro/clash","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u98de\u673a\u573a"],"ownVisible":false,"id":102}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5f71\u89c6/\u97f3\u4e50","nav":[{"title":"\u5f71\u89c6","nav":[{"icon":"https://www.bilibili.com/favicon.ico","name":"\u54d4\u54e9\u54d4\u54e9","desc":"\u56fd\u5185\u77e5\u540d\u7684\u89c6\u9891\u5f39\u5e55\u7f51\u7ad9\uff0c\u8fd9\u91cc\u6709\u6700\u53ca\u65f6\u7684\u52a8\u6f2b\u65b0\u756a\uff0c\u6700\u68d2\u7684ACG\u6c1b\u56f4\uff0c\u6700\u6709\u521b\u610f\u7684Up\u4e3b","url":"https://www.bilibili.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":103},{"icon":"https://www.iqiyipic.com/common/images/PCW-114x114.png","name":"\u7231\u5947\u827a","desc":"\u62e5\u6709\u6d77\u91cf\u3001\u4f18\u8d28\u3001\u9ad8\u6e05\u7684\u7f51\u7edc\u89c6\u9891\u7684\u5927\u578b\u89c6\u9891\u7f51\u7ad9\uff0c\u4e13\u4e1a\u7684\u7f51\u7edc\u89c6\u9891\u64ad\u653e\u5e73\u53f0","url":"https://www.iqiyi.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":104},{"icon":"https://www.youtube.com/favicon.ico","name":"Youtube","desc":"\u5168\u7403\u6700\u5927\u7684\u89c6\u9891\u7f51\u7ad9","url":"https://www.youtube.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":105},{"icon":"https://www.douyu.com/favicon.ico","name":"\u6597\u9c7c","desc":"\u6597\u9c7c - \u6bcf\u4e2a\u4eba\u7684\u76f4\u64ad\u5e73\u53f0","url":"https://www.douyu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":106},{"icon":"https://cdn.jsdelivr.net/gh/txxxjs/fk/ifkdy/2020-03-16/favicon.ico","name":"\u75af\u72c2\u5f71\u89c6\u641c\u7d22","desc":"\u75af\u72c2\u5f71\u89c6\u641c\u7d22\u662f\u4e00\u6b3e\u5168\u80fd\u5f71\u89c6\u641c\u7d22\u5f15\u64ce\uff0c\u5e2e\u4f60\u627e\u5230\u6700\u65b0\u5f71\u89c6\u8d44\u6e90\uff0c\u4e00\u7ad9\u62e5\u6709\u65e0\u5c3d\u5f71\u89c6\u8d44\u6e90","url":"http://ifkdy.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":107},{"icon":"http://www.qmaile.com/favicon.ico","name":"\u5168\u6c11vip\u89c6\u9891\u5728\u7ebf\u89e3\u6790","desc":"\u514d\u8d39\u5168\u7f51VIP\u89c6\u9891\u4f1a\u5458\u514d\u5e7f\u544a\u770b\u7535\u5f71\uff01\u4f18\u9177vip\u89e3\u6790\uff0c\u7231\u5947\u827avip\u89e3\u6790\uff0c\u817e\u8bafvip\u89e3\u6790\uff0c\u4e50\u89c6vip\u89e3\u6790\uff0c\u8292\u679cvip\u89e3\u6790","url":"http://www.qmaile.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":108},{"icon":"https://qncdnimg.aoscdn.com/local/beecut.cn/img/favicon.png","name":"\u871c\u8702\u526a\u8f91","desc":"\u514d\u8d39\u5728\u7ebf\u89c6\u9891\u526a\u8f91\u3001\u89c6\u9891\u5236\u4f5c\u3001\u89c6\u9891\u526a\u5207\u3001\u89c6\u9891\u8f6cgif\u7b49\u5b9e\u7528\u529f\u80fd","url":"https://beecut.cn/online-video-editor","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":109},{"name":"kk\u9ad8\u6e05\u5f71\u9662","desc":"kk\u9ad8\u6e05\u5f71\u9662,1080p\u7535\u5f71\u4e0b\u8f7d,\u9ad8\u6e05\u7535\u5f71\u8fc5\u96f7\u4e0b\u8f7d,\u514d\u8d39\u9ad8\u6e05\u7535\u5f71\u7f51","url":"http://www.kk3.tv/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":110}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u97f3\u4e50","nav":[{"name":"\u81ea\u7531\u7684\u97f3\u4e50","desc":"\u81ea\u7531\u7684\u97f3\u4e50\u662f\u4e00\u4e2a\u514d\u8d39\u8bd5\u542c\u5e76\u4e0b\u8f7d\u5168\u7f51\u97f3\u4e50\u7684\u7f51\u7ad9","url":"https://www.tikitiki.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u97f3\u4e50"],"ownVisible":false,"id":111}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u62db\u8058/\u6c42\u804c","nav":[{"title":"\u62db\u8058/\u6c42\u804c","nav":[{"icon":"https://www.zhaopin.com/favicon.ico","name":"\u667a\u8054\u62db\u8058","desc":"\u667a\u8054\u62db\u8058\uff0c\u66f4\u61c2\u4f60\u7684\u4ef7\u503c","url":"https://www.zhaopin.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u62db\u8058/\u6c42\u804c"],"ownVisible":false,"id":112},{"icon":"https://www.51job.com/favicon.ico","name":"\u524d\u7a0b\u65e0\u5fe7","desc":"\u62db\u8058\u7f51,\u4eba\u624d\u7f51,\u6c42\u804c,\u627e\u5de5\u4f5c","url":"https://www.51job.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u62db\u8058/\u6c42\u804c"],"ownVisible":false,"id":113},{"icon":"https://www.zhipin.com/favicon.ico","name":"BOSS\u76f4\u8058","desc":"BOSS\u76f4\u8058\u662f\u6743\u5a01\u9886\u5148\u7684\u62db\u8058\u7f51\uff0c\u5f00\u542f\u4eba\u624d\u7f51\u62db\u8058\u6c42\u804c\u65b0\u65f6\u4ee3\uff0c\u8ba9\u6c42\u804c\u8005\u4e0eBoss\u76f4\u63a5\u5f00\u804a\u3001\u52a0\u5feb\u9762\u8bd5\u3001\u5373\u65f6\u53cd\u9988\uff0c\u627e\u5de5\u4f5c\u5c31\u6765BOSS\u76f4\u8058\u548cBoss\u5f00\u804a\u5427","url":"https://www.zhipin.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u62db\u8058/\u6c42\u804c"],"ownVisible":false,"id":114}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"ResumeSample","desc":"\u7a0b\u5e8f\u5458\u7b80\u5386\u6a21\u677f\u7cfb\u5217, WEB/IOS/Android/C++/node\u7b49\u4ee5\u53ca\u901a\u7528\u7a0b\u5e8f\u5458\u7b80\u5386\u6a21\u677f","url":"https://github.com/geekcompany/ResumeSample","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u5176\u4ed6"],"ownVisible":false,"id":115},{"icon":"http://coder.shengxinjing.cn/logo.ico","name":"\u7a0b\u5e8f\u5458\u627e\u5de5\u4f5c\u9ed1\u540d\u5355","desc":"\u6709\u4e9b\u4e8b\u60c5\uff0c\u5e94\u8be5\u88ab\u8bb0\u4f4f","url":"http://coder.shengxinjing.cn/","urls":{"-3":"https://github.com/shengxinjing/programmer-job-blacklist"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u5176\u4ed6"],"ownVisible":false,"id":116},{"icon":"https://www.kanzhun.com/favicon.ico","name":"\u770b\u51c6\u7f51","desc":"\u770b\u51c6\u7f51\u2605\u4e2d\u56fd\u9886\u5148\u7684\u804c\u573a\u4fe1\u606f\u5e73\u53f0,\u4e13\u6ce8\u4e8e\u516c\u53f8\u8bc4\u8bba,\u6652\u5de5\u8d44,\u5de5\u8d44\u5f85\u9047,\u9762\u8bd5,\u516c\u53f8\u798f\u5229\u7b49.\u60a8\u53ef\u4ee5\u5728\u770b\u51c6\u7f51\u4e0a\u533f\u540d\u5206\u4eab\u60a8\u7684\u804c\u4e1a\u4fe1\u606f","url":"https://www.kanzhun.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u5176\u4ed6"],"ownVisible":false,"id":117}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"title":"\u538b\u7f29\u5de5\u5177","nav":[{"icon":"https://tinypng.com/images/apple-touch-icon.png","name":"TinyPNG","desc":"\u667a\u80fdPNG\u548cJPEG\u538b\u7f29\uff0c\u4ee5\u8d28\u91cf\u548c\u6587\u4ef6\u5927\u5c0f\u7684\u5b8c\u7f8e\u5e73\u8861\u6765\u4f18\u5316\u60a8\u7684\u56fe\u50cf","url":"https://tinypng.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u538b\u7f29\u5de5\u5177"],"ownVisible":false,"id":118},{"icon":"https://squoosh.app/assets/favicon.ico","name":"Squoosh","desc":"\u5728\u6d4f\u89c8\u5668\u4e2d\u7528\u4e0d\u540c\u7684\u7f16\u89e3\u7801\u5668\u538b\u7f29\u548c\u6bd4\u8f83\u56fe\u50cf(Google\u51fa\u54c1)","url":"https://squoosh.app/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u538b\u7f29\u5de5\u5177"],"ownVisible":false,"id":119}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8f85\u52a9\u5de5\u5177","nav":[{"icon":"https://static.clewm.net/static/images/favicon.ico","name":"\u8349\u6599\u4e8c\u7ef4\u7801","desc":"\u7528\u4e13\u4e1a\u7684\u4e8c\u7ef4\u7801\u4ea7\u54c1\u5e2e\u52a9\u4f01\u4e1a\u521b\u9020\u4ef7\u503c","url":"https://cli.im/url/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":120},{"name":"Feed \u9a8c\u8bc1\u5668","desc":"\u9a8c\u8bc1RSS\u662f\u5426\u7b26\u5408\u6807\u51c6\u89c4\u8303","url":"http://www.feedvalidator.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":121},{"icon":"https://www.taonienie.com/favicon.ico","name":"\u6dd8\u634f\u634f","desc":"\u6dd8\u5b9d\u4fe1\u8a89\u67e5\u8be2 - \u6dd8\u634f\u634f\u5356\u5bb6\u5de5\u5177\u7bb1 \u6dd8\u5b9d\u4fe1\u8a89\u67e5\u8be2_\u6dd8\u5b9d\u4fe1\u7528\u67e5\u8be2_\u6dd8\u5b9d\u5c0f\u53f7\u67e5\u8be2_\u6dd8\u5b9d\u9ed1\u53f7\u67e5\u8be2","url":"http://taonienie.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":122},{"icon":"https://www.tianyancha.com/favicon.ico","name":"\u5929\u773c\u67e5","desc":"\u4eba\u4eba\u90fd\u5728\u7528\u5546\u4e1a\u5b89\u5168\u5de5\u5177_\u4f01\u4e1a\u4fe1\u606f\u67e5\u8be2_\u516c\u53f8\u67e5\u8be2_\u5de5\u5546\u67e5\u8be2_\u4f01\u4e1a\u4fe1\u7528\u4fe1\u606f\u67e5\u8be2\u7cfb\u7edf","url":"https://www.tianyancha.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":123},{"icon":"https://yuque.com/favicon.ico","name":"\u8bed\u96c0","desc":"\u4f18\u96c5\u9ad8\u6548\u7684\u5728\u7ebf\u6587\u6863\u7f16\u8f91\u4e0e\u534f\u540c\u5de5\u5177\uff0c\u8ba9\u6bcf\u4e2a\u4f01\u4e1a\u8f7b\u677e\u62e5\u6709\u6587\u6863\u4e2d\u5fc3 - \u963f\u91cc\u5df4\u5df4","url":"https://yuque.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":124},{"icon":"https://www.qsc.zju.edu.cn/box/favicon.ico","name":"\u6c42\u662f\u6f6e\u4e91U\u76d8","desc":"\u4e34\u65f6\u6587\u4ef6\u4e0a\u4f20, \u5feb\u901f\u548c\u7a33\u5b9a","url":"https://box.zjuqsc.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":125},{"icon":"https://www.360converter.com/images/favicon.ico","name":"\u4e91\u8f6c\u6362","desc":"\u5728\u7ebf\u514d\u8d39\u8f6c\u6362\u89c6\u9891,\u97f3\u9891,YouTube\u89c6\u9891\u5230\u6587\u5b57,\u89c6\u9891\u5230\u6587\u5b57,\u97f3\u9891\u5230\u6587\u5b57,\u8bed\u97f3\u8f6c\u6362\u6210\u6587\u5b57","url":"http://www.360converter.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":126},{"icon":"https://www.picdiet.com/css/favicon.ico","name":"Picdiet","desc":"\u72ec\u7279\u4e14\u5f3a\u608d\u7684JavaScript\u7b97\u6cd5\uff0c\u80fd\u6781\u901f\u538b\u7f2980%\u7684\u56fe\u7247\u5927\u5c0f\uff0c\u800c\u4e0d\u635f\u5bb3\u5176\u8d28\u91cf","url":"https://www.picdiet.com/zh-cn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":127},{"icon":"https://cdn-img.easyicon.net/favicon.ico","name":"easyicon","desc":"\u5728\u7ebf\u56fe\u6807\u8f6c\u6362ico\u3001icns","url":"https://www.easyicon.net/covert/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":128},{"icon":"https://smallpdf.com/favicon.png","name":"Smallpdf","desc":"\u538b\u7f29pdf\u3001\u5404\u79cd\u6587\u4ef6\u683c\u5f0f\u8f6c\u6362pdf","url":"https://smallpdf.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":129},{"icon":"https://coolbackgrounds.io/images/favicon-fe5a0ff5.png","name":"Cool Backgrounds","desc":"\u751f\u6210\u975e\u5e38\u9177\u7684\u5f69\u8272\u80cc\u666f\u56fe\u50cf","url":"https://coolbackgrounds.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":130},{"icon":"https://source.unsplash.com/favicon-32x32.png","name":"Unsplash Source","desc":"\u968f\u673a\u751f\u6210\u56fe\u7247\u94fe\u63a5","url":"https://source.unsplash.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":131},{"icon":"https://assets.smcdn.cn/from_qbox/favicon.ico","name":"\u77f3\u58a8\u6587\u6863","desc":"\u4e00\u6b3e\u8f7b\u4fbf\u3001\u7b80\u6d01\u7684\u5728\u7ebf\u534f\u4f5c\u6587\u6863\u5de5\u5177\uff0cPC\u7aef\u548c\u79fb\u52a8\u7aef\u5168\u8986\u76d6\uff0c\u652f\u6301\u591a\u4eba\u540c\u65f6\u5bf9\u6587\u6863\u7f16\u8f91\u548c\u8bc4\u8bba...","url":"https://shimo.im/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":132},{"icon":"https://emoji.muan.co/appicon.png","name":"Emoji searcher","desc":"Emoji\u8868\u60c5\u5927\u5168","url":"http://emoji.muan.co/","urls":{"-3":"https://github.com/muan/emoji/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":133},{"icon":"https://imgurl.org/favicon.ico","name":"imgURL","desc":"ImgURL\u662f\u4e00\u4e2a\u7b80\u5355\u3001\u7eaf\u7cb9\u7684\u56fe\u5e8a\u7a0b\u5e8f\uff0c\u8ba9\u4e2a\u4eba\u56fe\u5e8a\u591a\u4e00\u4e2a\u9009\u62e9","url":"https://imgurl.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":134},{"icon":"https://f0cdn.anyknew.com/web/img/icons/favicon-32x32.png","name":"\u62f7\u8d1d\u5154","desc":"\u8de8\u5e73\u53f0\u5206\u4eab\u5de5\u5177\uff0c\u7eafWeb\uff0cIOS\uff0cMAC\uff0cLinux\uff0cAndroid\u4e92\u4f20","url":"https://cp.ifval.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":135},{"icon":"https://tableconvert.com/static/images/favicon.png","name":"\u8868\u683c\u5de5\u5177","desc":"\u4e00\u4e2a\u529f\u80fd\u5f3a\u5927\u7684\u5728\u7ebf\u8868\u683c\u7f16\u8f91\u5668\uff0c\u652f\u6301Excel\u3001Markdown\u3001JSON\u3001CSV\u3001HTML\u7b49\u683c\u5f0f\u7684\u76f8\u4e92\u8f6c\u6362","url":"https://tableconvert.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":136},{"icon":"https://p2.ssl.qhimg.com/t014de4ba13ada26743.png","name":"360\u67e5\u5b57\u4f53","desc":"360\u67e5\u5b57\u4f53 - \u67e5\u7248\u6743\uff0c\u514d\u7ea0\u7eb7","url":"https://fonts.safe.360.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":137},{"icon":"https://www.sejda.com/images/icon_128.png","name":"sejda","desc":"\u5728\u7ebfHTML\u8f6c\u6362pdf","url":"https://www.sejda.com/html-to-pdf","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":138},{"icon":"https://bigjpg.com/static/css/touch-icon-iphone.png","name":"AI\u4eba\u5de5\u667a\u80fd\u56fe\u7247\u653e\u5927","desc":"Bigjpg - \u4f7f\u7528\u5f00\u6e90waifu2x\u4eba\u5de5\u667a\u80fd\u6df1\u5ea6\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\uff08CNN\uff09\u667a\u80fd\u65e0\u635f\u514d\u8d39\u653e\u5927\u56fe\u7247","url":"https://bigjpg.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":139},{"name":"VVV\u6587\u6863\u5728\u7ebf\u5bfc\u51fa\u5de5\u5177","desc":"\u514d\u8d39\u4e0b\u8f7d\u767e\u5ea6\u6587\u5e93\u6587\u6863","url":"http://wenku.baiduvvv.com/doc","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":140},{"icon":"http://tools.bugscaner.com/static/images/favicon.ico","name":"\u5728\u7ebf\u6587\u4ef6\u7f16\u7801\u8bc6\u522b","desc":"\u5728\u7ebf\u6587\u4ef6\u7f16\u7801\u8bc6\u522b","url":"http://tools.bugscaner.com/filebianma/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":141},{"icon":"http://tools.bugscaner.com/static/images/favicon.ico","name":"iptv","desc":"\u6536\u96c6\u6765\u81ea\u4e16\u754c\u5404\u5730\u76845000\u591a\u4e2a\u516c\u5171IPTV\u9891\u9053","url":"https://github.com/iptv-org/iptv","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":142},{"icon":"https://www.linshiyouxiang.net/public/zh-CN/img/favicon.ico","name":"\u4e34\u65f6\u90ae\u7bb1","desc":"10\u5206\u949f\u90ae\u7bb1\uff0c\u4e34\u65f6\u90ae\u7bb1\uff0c\u4e34\u65f6\u90ae\uff0c\u4e34\u65f6\u7535\u5b50\u90ae\u7bb1\uff0c24\u5c0f\u65f6\u90ae\u7bb1\uff0c\u4e00\u6b21\u6027\u90ae\u7bb1\uff0c\u533f\u540d\u90ae\u7bb1\uff0c\u5b89\u5168\u90ae\u7bb1","url":"https://www.linshiyouxiang.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":143}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"id":0,"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"WEB\u524d\u7aef","nav":[{"title":"JavaScript","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"JavaScript","nav":[{"icon":"https://jquery.com/jquery-wp-content/themes/jquery.com/i/favicon.ico","name":"jQuery","desc":"jQuery\u662f\u4e00\u4e2aJavaScript\u51fd\u6570\u5e93","url":"http://jquery.com/","urls":{"-2":"http://jquery.com/","-1":"https://www.jquery123.com/","-3":"https://github.com/jquery/jquery"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":144},{"icon":"https://www.webpackjs.com/assets/favicon.ico","name":"webpack","desc":"webpack\u662f\u4e00\u4e2a\u6a21\u5757\u6253\u5305\u5668","url":"https://www.webpackjs.com/","urls":{"-2":"https://webpack.js.org/","-1":"https://www.webpackjs.com/","-3":"https://github.com/webpack/webpack"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":145},{"icon":"https://babeljs.io/img/favicon.png","name":"Babel","desc":"\u7528\u4e8e\u7f16\u5199\u4e0b\u4e00\u4ee3 JavaScript \u7684\u7f16\u8bd1\u5668","url":"http://babeljs.io/","urls":{"-2":"http://babeljs.io/","-1":"https://babeljs.cn/","-3":"https://github.com/babel/babel"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":146},{"icon":"https://cn.eslint.org/img/favicon.512x512.png","name":"ESLint","desc":"\u53ef\u7ec4\u88c5\u7684JavaScript\u548cJSX\u68c0\u67e5\u5de5\u5177","url":"https://cn.eslint.org/","urls":{"-2":"https://cn.eslint.org/","-1":"http://eslint.cn/","-3":"https://github.com/eslint/eslint"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":147},{"icon":"https://avatars3.githubusercontent.com/u/10076935?s=200&v=4","name":"stylelint","desc":"\u4e00\u4e2a\u5f3a\u5927\u7684\u73b0\u4ee3\u6837\u5f0f\u98ce\u683c\u7684linter","url":"https://stylelint.io/","urls":{"-3":"https://github.com/stylelint/stylelint"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":148},{"icon":"https://avatars0.githubusercontent.com/u/8770005?s=200&v=4","name":"Mocha","desc":"Mocha\u662fJavaScript\u7684\u4e00\u79cd\u5355\u5143\u6d4b\u8bd5\u6846\u67b6\uff0c\u65e2\u53ef\u4ee5\u5728\u6d4f\u89c8\u5668\u73af\u5883\u4e0b\u8fd0\u884c\uff0c\u4e5f\u53ef\u4ee5\u5728Node.js\u73af\u5883\u4e0b\u8fd0\u884c","url":"https://mochajs.org/","urls":{"-3":"https://github.com/mochajs/mocha"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":149},{"icon":"https://avatars1.githubusercontent.com/u/5485517?s=200&v=4","name":"MUI","desc":"MUI: \u6700\u63a5\u8fd1\u539f\u751fAPP\u4f53\u9a8c\u7684\u9ad8\u6027\u80fd\u524d\u7aef\u6846\u67b6","url":"http://dev.dcloud.net.cn/mui/","urls":{"-3":"https://github.com/dcloudio/mui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":150},{"icon":"https://avatars0.githubusercontent.com/u/12554859?s=200&v=4","name":"rollup","desc":"Rollup \u662f\u4e00\u4e2a JavaScript \u6a21\u5757\u6253\u5305\u5668\uff0c\u53ef\u4ee5\u5c06\u5c0f\u5757\u4ee3\u7801\u7f16\u8bd1\u6210\u5927\u5757\u590d\u6742\u7684\u4ee3\u7801\uff0c\u4f8b\u5982 library \u6216\u5e94\u7528\u7a0b\u5e8f","url":"https://rollupjs.org/guide/zh/","urls":{"-2":"https://rollupjs.org/guide/en/","-1":"https://rollupjs.org/guide/zh/","-3":"https://github.com/rollup/rollup"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":151},{"icon":"https://avatars1.githubusercontent.com/u/29208316?s=200&v=4","name":"standard","desc":"JavaScript\u6837\u5f0f\u6307\u5357\uff0c\u5e26\u6709linter\u548c\u81ea\u52a8\u4ee3\u7801\u4fee\u590d\u7a0b\u5e8f","url":"https://standardjs.com","urls":{"-3":"https://github.com/standard/standard"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":152}],"collapsed":true,"createdAt":"2021-01-23 09:32:06"},{"title":"\u5e38\u7528\u63d2\u4ef6","nav":[{"urls":{},"name":"Faker","icon":"https://github.com/favicon.ico","url":"https://github.com/Marak/faker.js","createdAt":"2021-01-23 17:37:03","desc":"\u5728Node.js\u548c\u6d4f\u89c8\u5668\u4e2d\u751f\u6210\u5927\u91cf\u903c\u771f\u7684\u5047\u6570\u636e","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":153},{"name":"sweetalert","desc":"JavaScript Alert \u7684\u6f02\u4eae\u66ff\u4ee3\u54c1","url":"https://sweetalert.js.org/","urls":{"-3":"https://github.com/t4t5/sweetalert"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":154},{"icon":"https://avatars0.githubusercontent.com/u/17040762?s=200&v=4","name":"Sortable","desc":"\u4e00\u4e2aJavaScript\u5e93\uff0c\u7528\u4e8e\u5728\u73b0\u4ee3\u6d4f\u89c8\u5668\u548c\u89e6\u6478\u8bbe\u5907\u4e0a\u5bf9\u62d6\u653e\u5217\u8868\u8fdb\u884c\u91cd\u65b0\u6392\u5e8f","url":"https://sortablejs.github.io/Sortable/","urls":{"-3":"https://github.com/SortableJS/Sortable"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":155},{"name":"formilyjs","desc":"Formily \u662f\u4e00\u4e2a\u7531\u963f\u91cc\u5df4\u5df4\u96c6\u56e2\u591a BU \u5171\u5efa\u7684\u9762\u5411\u4e2d\u540e\u53f0\u590d\u6742\u573a\u666f\u7684\u8868\u5355\u89e3\u51b3\u65b9\u6848\uff0c\u5b83\u4e5f\u662f\u4e00\u4e2a\u8868\u5355\u6846\u67b6","url":"https://formilyjs.org/","urls":{"-3":"https://github.com/alibaba/formily"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":156},{"icon":"https://roughnotation.com/images/fav.png","name":"rough-notation","desc":"\u4e00\u4e2a\u5c0f\u7684JavaScript\u5e93\uff0c\u7528\u4e8e\u5728\u7f51\u9875\u4e0a\u521b\u5efa\u624b\u7ed8\u52a8\u753b\u5e76\u4e3a\u5176\u6dfb\u52a0\u52a8\u753b\u6548\u679c","url":"https://roughnotation.com/","urls":{"-3":"https://github.com/rough-stuff/rough-notation"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":157},{"icon":"https://avatars3.githubusercontent.com/u/19199542?s=200&v=4","name":"AntV","desc":"AntV \u662f\u8682\u8681\u91d1\u670d\u5168\u65b0\u4e00\u4ee3\u6570\u636e\u53ef\u89c6\u5316\u89e3\u51b3\u65b9\u6848","url":"https://antv.alipay.com/","urls":{"-3":"https://github.com/antvis/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":158},{"icon":"https://www.lodashjs.com/icons/favicon-32x32.png","name":"Lodash","desc":"Lodash\u662f\u4e00\u4e2a\u4e00\u81f4\u6027\u3001\u6a21\u5757\u5316\u3001\u9ad8\u6027\u80fd\u7684 JavaScript \u5b9e\u7528\u5de5\u5177\u5e93","url":"https://www.lodashjs.com/","urls":{"-2":"https://lodash.com/","-1":"https://www.lodashjs.com/","-3":"https://github.com/lodash/lodash"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":159},{"icon":"https://www.swiper.com.cn/favicon.ico","name":"Swiper","desc":"\u8f7b\u91cf\u7ea7\u7684\u79fb\u52a8\u8bbe\u5907\u89e6\u63a7\u6ed1\u5757\u7684js\u6846\u67b6\uff0c\u4f7f\u7528\u786c\u4ef6\u52a0\u901f\u8fc7\u6e21","url":"https://www.swiper.com.cn/","urls":{"-2":"http://idangero.us/swiper/","-1":"https://www.swiper.com.cn/","-3":"https://github.com/nolimits4web/swiper"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":160},{"name":"fastclick","desc":"Polyfill \u89e3\u51b3\u79fb\u52a8\u7aef\u5177\u6709300ms\u5ef6\u8fdf\u7684\u5e93","url":"https://github.com/ftlabs/fastclick","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":161},{"name":"Layer","desc":"\u4e30\u5bcc\u591a\u6837\u7684Web\u5f39\u51fa\u5c42\u7ec4\u4ef6,\u53ef\u8f7b\u677e\u5b9e\u73b0Alert/Confirm/Prompt/\u666e\u901a\u63d0\u793a/\u9875\u9762\u533a\u5757/iframe/tips\u7b49\u7b49\u51e0\u4e4e\u6240\u6709\u7684\u5f39\u51fa\u4ea4\u4e92","url":"http://layer.layui.com/","urls":{"-3":"https://github.com/sentsin/layer/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":162},{"icon":"https://momentjs.com/static/img/moment-favicon.png","name":"moment.js","desc":"\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684JavaScript\u65e5\u671f\u5e93\uff0c\u7528\u4e8e\u89e3\u6790\uff0c\u9a8c\u8bc1\uff0c\u64cd\u4f5c\u548c\u683c\u5f0f\u5316\u65e5\u671f","url":"http://momentjs.cn/","urls":{"-2":"http://momentjs.com/","-1":"http://momentjs.cn/","-3":"https://github.com/moment/moment"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":163},{"name":"js-cookie","desc":"\u4e00\u4e2a\u7b80\u5355\uff0c\u8f7b\u91cf\u7ea7\u7684JavaScript API\uff0c\u7528\u4e8e\u5904\u7406\u6d4f\u89c8\u5668cookie","url":"https://github.com/js-cookie/js-cookie","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":164},{"name":"qs","desc":"\u5177\u6709\u5d4c\u5957\u652f\u6301\u7684\u67e5\u8be2\u5b57\u7b26\u4e32\u89e3\u6790\u5668","url":"https://github.com/ljharb/qs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":165},{"name":"Mock.js","desc":"\u751f\u6210\u968f\u673a\u6570\u636e\uff0c\u62e6\u622a Ajax \u8bf7\u6c42","url":"http://mockjs.com/","urls":{"-3":"https://github.com/nuysoft/Mock"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":166},{"icon":"https://gitalk.github.io/favicon.ico","name":"GITALK","desc":"\u51f9\u51f8\u5b9e\u9a8c\u5ba4\u51fa\u54c1\u7684\u4e00\u6b3e\u57fa\u4e8e Github Issue \u548c Preact \u5f00\u53d1\u7684\u8bc4\u8bba\u63d2\u4ef6","url":"https://gitalk.github.io/","urls":{"-3":"https://github.com/gitalk/gitalk"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":167},{"icon":"https://prismjs.com/assets/favicon.png","name":"prism","desc":"\u8f7b\u5de7\uff0c\u5f3a\u5927\uff0c\u4f18\u96c5\u7684\u4ee3\u7801\u8bed\u6cd5\u9ad8\u4eae","url":"https://prismjs.com/","urls":{"-3":"https://github.com/PrismJS/prism"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":168},{"name":"nprogress","desc":"\u9876\u90e8\u52a0\u8f7d\u8fdb\u5ea6\u6761","url":"http://ricostacruz.com/nprogress/","urls":{"-3":"https://github.com/rstacruz/nprogress"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":169},{"name":"iNotify","desc":"JS\u5b9e\u73b0\u6d4f\u89c8\u5668\u6807\u9898\u95ea\u70c1\uff0c\u6eda\u52a8\uff0c\u8bed\u97f3\u63d0\u793a\uff0cChrome/Safari/FireFox/IE\u901a\u77e5","url":"https://git.io/iNotify","urls":{"-3":"https://github.com/jaywcjlove/iNotify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":170},{"name":"html2canvas","desc":"\u6700\u6d41\u884c\u7684JavaScript\u5c4f\u5e55\u622a\u56fe","url":"https://html2canvas.hertzen.com/","urls":{"-3":"https://github.com/niklasvh/html2canvas"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":171},{"name":"dayjs","desc":"\u4f7f\u7528\u4e0eMoment.js\u517c\u5bb9\u7684API\u6765\u89e3\u6790\uff0c\u9a8c\u8bc1\uff0c\u64cd\u4f5c\u548c\u663e\u793a\u73b0\u4ee3\u6d4f\u89c8\u5668\u7684\u65e5\u671f\u548c\u65f6\u95f4","url":"https://github.com/iamkun/dayjs/blob/master/docs/zh-cn/API-reference.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":172},{"name":"JsBarcode","desc":"\u6613\u4e8e\u4f7f\u7528\u4f46\u529f\u80fd\u5f3a\u5927\u7684\u6761\u5f62\u7801\u751f\u6210\u5668\uff0c\u9002\u7528\u4e8eWeb\u548cNode.js","url":"https://lindell.me/JsBarcode/","urls":{"-3":"https://github.com/lindell/JsBarcode"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":173},{"name":"clipboard.js","desc":"\u73b0\u4ee3\u590d\u5236\u5230\u526a\u8d34\u677f\u3002\u6ca1\u6709Flash\u3002\u53ea\u97003kb gzipped\u3002","url":"https://clipboardjs.com/","urls":{"-3":"https://github.com/zenorocha/clipboard.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":174},{"name":"lib-flexible","desc":"\u53ef\u4f38\u7f29\u5e03\u5c40\u65b9\u6848, \u6dd8\u5b9drem\u89e3\u51b3\u65b9\u6848","url":"https://github.com/amfe/lib-flexible","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":175},{"name":"js-xss","desc":"\u6839\u636e\u767d\u540d\u5355\u8fc7\u6ee4HTML(\u9632\u6b62XSS\u653b\u51fb)","url":"https://github.com/leizongmin/js-xss","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":176},{"name":"mescroll","desc":"\u7cbe\u81f4\u7684\u4e0b\u62c9\u5237\u65b0\u548c\u4e0a\u62c9\u52a0\u8f7d js\u6846\u67b6.\u652f\u6301vue,\u5b8c\u7f8e\u8fd0\u884c\u4e8e\u79fb\u52a8\u7aef\u548c\u4e3b\u6d41PC\u6d4f\u89c8\u5668","url":"http://www.mescroll.com/index.html","urls":{"-3":"https://github.com/mescroll/mescroll"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":177},{"name":"better-scroll","desc":"\u7075\u611f\u6765\u81eaiscroll\uff0c\u5b83\u5177\u6709\u66f4\u597d\u7684\u6eda\u52a8\u6027\u80fd","url":"https://ustbhuangyi.github.io/better-scroll/","urls":{"-3":"https://github.com/ustbhuangyi/better-scroll"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":178},{"name":"pinyinjs","desc":"\u4e00\u4e2a\u5b9e\u73b0\u6c49\u5b57\u4e0e\u62fc\u97f3\u4e92\u8f6c\u7684\u5c0f\u5de7web\u5de5\u5177\u5e93","url":"http://demo.haoji.me/pinyinjs/","urls":{"-3":"https://github.com/sxei/pinyinjs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":179},{"name":"ms","desc":"\u4f7f\u7528\u6b64\u5305\u53ef\u4ee5\u8f7b\u677e\u5730\u5c06\u5404\u79cd\u65f6\u95f4\u683c\u5f0f\u8f6c\u6362\u4e3a\u6beb\u79d2\u3002","url":"https://github.com/zeit/ms","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":180},{"icon":"https://avatars2.githubusercontent.com/u/5298359?s=200&v=4","name":"ramda","desc":"\u9002\u7528\u4e8eJavaScript\u7a0b\u5e8f\u5458\u7684\u5b9e\u7528\u51fd\u6570\u5e93","url":"https://ramdajs.com","urls":{"-3":"https://github.com/ramda/ramda"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":181},{"name":"decimal.js","desc":"JavaScript\u7684\u4efb\u610f\u7cbe\u5ea6Decimal\u7c7b\u578b (0.1+0.2=0.3)","url":"http://mikemcl.github.io/decimal.js","urls":{"-3":"https://github.com/MikeMcl/decimal.js/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":182},{"name":"copy-to-clipboard","desc":"\u7b80\u5355\u7684\u6a21\u5757\u516c\u5f00copy\u529f\u80fd\uff0c\u5b83\u5c06\u5c1d\u8bd5\u4f7f\u7528execCommand\u4e0e\u7279\u5b9a\u4e8eIE\u7684clipboardData\u63a5\u53e3\u7684\u56de\u9000\uff0c\u6700\u540e\uff0c\u901a\u5e38prompt\u4f7f\u7528\u9002\u5f53\u7684\u6587\u672c\u5185\u5bb9\u548c\u6d88\u606f","url":"https://github.com/sudodoki/copy-to-clipboard","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":183},{"name":"path-to-regexp","desc":"\u5c06\u5b57\u7b26\u4e32\u8def\u5f84\u8f6c\u6362\u6210\u6b63\u5219\u8868\u8fbe\u5f0f","url":"https://github.com/pillarjs/path-to-regexp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":184},{"name":"autosize","desc":"autosize\u662f\u4e00\u4e2a\u5c0f\u7684\u72ec\u7acb\u811a\u672c\uff0c\u53ef\u4ee5\u81ea\u52a8\u8c03\u6574textarea\u57df\u7684\u9ad8\u5ea6\u4ee5\u9002\u5408\u6587\u672c","url":"http://www.jacklmoore.com/autosize/","urls":{"-3":"https://github.com/jackmoore/autosize"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":185},{"name":"shake.js","desc":"\u76d1\u542c\u624b\u673a\u8bbe\u5907\u6447\u52a8","url":"https://github.com/alexgibson/shake.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":186},{"name":"progressbar","desc":"\u53ef\u4ee5\u8f7b\u677e\u5730\u4e3aWeb\u521b\u5efa\u54cd\u5e94\u5f0f\u548c\u65f6\u5c1a\u7684\u8fdb\u5ea6\u680f\u3002\u52a8\u753b\u5373\u4f7f\u5728\u79fb\u52a8\u8bbe\u5907\u4e0a\u4e5f\u8868\u73b0\u826f\u597d","url":"https://kimmobrunfeldt.github.io/progressbar.js/","urls":{"-3":"https://github.com/kimmobrunfeldt/progressbar.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":187},{"icon":"https://avatars0.githubusercontent.com/u/28626637?s=200&v=4","name":"easy-mock","desc":"Easy Mock \u662f\u4e00\u4e2a\u53ef\u89c6\u5316\uff0c\u5e76\u4e14\u80fd\u5feb\u901f\u751f\u6210\u6a21\u62df\u6570\u636e\u7684\u6301\u4e45\u5316\u670d\u52a1","url":"https://easy-mock.com","urls":{"-3":"https://github.com/easy-mock/easy-mock/blob/dev/README.zh-CN.md"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":188},{"icon":"https://joe.sh/assets/images/favicon.ico","name":"Clamp.js","desc":"JS\u7248\u672c\u7684\u591a\u884c\u6587\u672c\u6ea2\u51fa\u7701\u7565","url":"https://joe.sh/clamp-js","urls":{"-3":"https://github.com/josephschmitt/Clamp.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":189},{"name":"json-bigint","desc":"\u5e26\u6709bigints\u652f\u6301\u7684JSON.parse / stringify","url":"https://github.com/sidorares/json-bigint","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":190},{"name":"exif-js","desc":"\u7528\u4e8e\u8bfb\u53d6EXIF\u56fe\u50cf\u5143\u6570\u636e\u7684JavaScript\u5e93","url":"https://github.com/exif-js/exif-js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":191},{"name":"lunr.js","desc":"Lunr.js\u662f\u4e00\u4e2a\u7528\u4e8e\u6d4f\u89c8\u5668\u7684\u5c0f\u578b\u5168\u6587\u672c\u641c\u7d22\u5e93\u3002\u5b83\u4e3aJSON\u6587\u6863\u5efa\u7acb\u7d22\u5f15\uff0c\u5e76\u63d0\u4f9b\u4e00\u4e2a\u7b80\u5355\u7684\u641c\u7d22\u754c\u9762\u6765\u68c0\u7d22\u4e0e\u6587\u672c\u67e5\u8be2\u6700\u5339\u914d\u7684\u6587\u6863","url":"https://github.com/olivernn/lunr.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":192},{"name":"hotkeys","desc":"\u5f3a\u5927\u7684Javascript\u5e93\uff0c\u7528\u4e8e\u6355\u83b7\u952e\u76d8\u8f93\u5165\u548c\u8f93\u5165\u7684\u6309\u952e\u7ec4\u5408\u3002\u5b83\u6ca1\u6709\u4f9d\u8d56\u6027\u3002","url":"https://wangchujiang.com/hotkeys/","urls":{"-3":"https://github.com/jaywcjlove/hotkeys"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":193},{"name":"dom-to-image","desc":"\u4f7f\u7528HTML5 canvas\u4eceDOM\u8282\u70b9\u751f\u6210\u56fe\u50cf","url":"https://github.com/tsayen/dom-to-image","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":194},{"icon":"https://avatars1.githubusercontent.com/u/59940233?s=200&v=4","name":"single-spa","desc":"\u4f7f\u5fae\u524d\u7aef\u53d8\u5f97\u7b80\u5355","url":"https://single-spa.js.org/","urls":{"-3":"https://github.com/single-spa/single-spa"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":195},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"qiankun","desc":"\u4e3a\u5fae\u578b\u524d\u7aef\u63d0\u4f9b\u5feb\u901f\uff0c\u7b80\u5355\u548c\u5b8c\u6574\u7684\u89e3\u51b3\u65b9\u6848","url":"https://qiankun.umijs.org/","urls":{"-3":"https://github.com/umijs/qiankun"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":196},{"icon":"https://zelark.github.io/nano-id-cc/favicon.ico","name":"nanoid","desc":"\u4e00\u4e2a\u5f88\u5c0f\u7684\uff0c\u5b89\u5168\u7684\uff0cURL\u53cb\u597d\u7684\uff0c\u552f\u4e00\u7684JavaScript\u5b57\u7b26\u4e32ID\u751f\u6210\u5668\u3002","url":"https://zelark.github.io/nano-id-cc/","urls":{"-3":"https://github.com/ai/nanoid"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":197},{"name":"Numeral-js","desc":"\u4e00\u4e2a\u7528\u4e8e\u683c\u5f0f\u5316\u548c\u5904\u7406\u6570\u5b57\u7684javascript\u5e93","url":"http://numeraljs.com","urls":{"-3":"https://github.com/adamwdraper/Numeral-js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":198},{"name":"ua-parser-js","desc":"\u7528\u4e8e\u4eceuserAgent\u5b57\u7b26\u4e32\u68c0\u6d4b\u6d4f\u89c8\u5668\uff0c\u5f15\u64ce\uff0c\u64cd\u4f5c\u7cfb\u7edf\uff0cCPU\u548c\u8bbe\u5907\u7c7b\u578b/\u6a21\u578b\u3002\u652f\u6301\u6d4f\u89c8\u5668\u548cnode.js\u73af\u5883","url":"http://faisalman.github.io/ua-parser-js/","urls":{"-3":"https://github.com/faisalman/ua-parser-js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":199},{"icon":"https://avatars0.githubusercontent.com/u/7997161?s=200&v=4","name":"hammer.js","desc":"\u4e00\u4e2a\u7528\u4e8e\u591a\u70b9\u89e6\u6478\u624b\u52bf\u7684javascript\u5e93","url":"http://hammerjs.github.io","urls":{"-3":"https://github.com/hammerjs/hammer.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":200}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fd\u9645\u5316\u591a\u8bed\u8a00\u65b9\u6848","nav":[{"icon":"https://avatars1.githubusercontent.com/u/8546082?s=200&v=4","name":"i18next","desc":"i18next\u662f\u4e00\u4e2a\u975e\u5e38\u6d41\u884c\u7684\u56fd\u9645\u5316\u6846\u67b6\uff0c\u9002\u7528\u4e8e\u6d4f\u89c8\u5668\u6216\u4efb\u4f55\u5176\u4ed6JavaScript\u73af\u5883\uff08\u4f8b\u5982\uff0cnode.js\uff09\u3002","url":"http://i18next.com/","urls":{"-3":"https://github.com/i18next/i18next"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fd\u9645\u5316\u591a\u8bed\u8a00\u65b9\u6848"],"ownVisible":false,"id":201},{"icon":"https://avatars3.githubusercontent.com/u/11225539?s=200&v=4","name":"js-lingui","desc":"JavaScript\u7684\u53ef\u8bfb\uff0c\u81ea\u52a8\u5316\u548c\u4f18\u5316\uff085 kb\uff09\u56fd\u9645\u5316","url":"https://lingui.js.org/","urls":{"-3":"https://github.com/lingui/js-lingui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fd\u9645\u5316\u591a\u8bed\u8a00\u65b9\u6848"],"ownVisible":false,"id":202}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u52a8\u753b","nav":[{"name":"wow.js","desc":"\u57fa\u4e8eAnimate.css,\u5411\u4e0b\u6eda\u52a8\u9875\u9762\u65f6\u663e\u793aCSS\u52a8\u753b,\u8f7b\u677e\u81ea\u5b9a\u4e49\u52a8\u753b\u8bbe\u7f6e\uff1a\u6837\u5f0f\uff0c\u5ef6\u8fdf\uff0c\u957f\u5ea6\uff0c\u504f\u79fb\uff0c\u8fed\u4ee3...","url":"http://mynameismatthieu.com/WOW/","urls":{"-3":"https://github.com/matthieua/WOW"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a8\u753b"],"ownVisible":false,"id":203},{"name":"Waves","desc":"\u53d7Google\u6750\u8d28\u8bbe\u8ba1\u542f\u53d1\u7684\u70b9\u51fb\u6548\u679c, \u6ce2\u7eb9\u6548\u679c","url":"http://fian.my.id/Waves/#examples","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a8\u753b"],"ownVisible":false,"id":204},{"name":"velocity","desc":"\u52a0\u901fJavaScript\u52a8\u753b","url":"http://velocityjs.org/","urls":{"-3":"https://github.com/julianshapiro/velocity"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a8\u753b"],"ownVisible":false,"id":205},{"name":"anime","desc":"\u8f7b\u91cf\u7ea7\u7684JavaScript\u52a8\u753b\u5e93\u3002\u5b83\u9002\u7528\u4e8e\u4efb\u4f55CSS\u5c5e\u6027\uff0c\u5355\u4e2aCSS\u8f6c\u6362\uff0cSVG\u6216\u4efb\u4f55DOM\u5c5e\u6027\u4ee5\u53caJavaScript\u5bf9\u8c61","url":"http://animejs.com/","urls":{"-3":"https://github.com/juliangarnier/anime"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a8\u753b"],"ownVisible":false,"id":206},{"name":"Hover-Buttons","desc":"hover\u52a8\u753bCSS / SCSS\u6309\u94ae","url":"https://varin6.github.io/Hover-Buttons/","urls":{"-3":"https://github.com/Varin6/Hover-Buttons"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a8\u753b"],"ownVisible":false,"id":207}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u52a0\u76d0","nav":[{"name":"JavaScript-MD5","desc":"JavaScript MD5\u5b9e\u73b0\u3002\u517c\u5bb9\u670d\u52a1\u5668\u7aef\u73af\u5883\uff0c\u5982node.js\uff0cRequireJS\u7b49\u6a21\u5757\u52a0\u8f7d\u5668\u548c\u6240\u6709Web\u6d4f\u89c8\u5668","url":"https://blueimp.github.io/JavaScript-MD5/","urls":{"-3":"https://github.com/blueimp/JavaScript-MD5"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a0\u76d0"],"ownVisible":false,"id":208},{"name":"js-sha1","desc":"JavaScript\u7684\u7b80\u5355SHA1\u54c8\u5e0c\u51fd\u6570\u652f\u6301UTF-8\u7f16\u7801\u3002","url":"https://github.com/emn178/js-sha1","urls":{"-3":"https://github.com/emn178/js-sha1"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a0\u76d0"],"ownVisible":false,"id":209},{"name":"js-base64","desc":"JavaScript\u7684Base64\u5b9e\u73b0","url":"https://github.com/dankogai/js-base64","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a0\u76d0"],"ownVisible":false,"id":210},{"name":"jsSHA","desc":"SHA-1\uff0cSHA-224\uff0cSHA3-224\uff0cSHA-256\uff0cSHA3-256\uff0cSHA-384\uff0cSHA3-384\uff0cSHA-512\uff0cSHA3-512\uff0cSHAKE128 \uff0c\u548cSHAKE256\u4ee5\u53caHMAC","url":"https://caligatio.github.io/jsSHA/","urls":{"-3":"https://github.com/Caligatio/jsSHA"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a0\u76d0"],"ownVisible":false,"id":211},{"name":"crypto-js","desc":"\u52a0\u5bc6\u6807\u51c6\u7684JavaScript\u5e93","url":"https://cryptojs.gitbook.io","urls":{"-3":"https://github.com/brix/crypto-js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a0\u76d0"],"ownVisible":false,"id":212}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173","nav":[{"name":"pdf.js","desc":"PDF.js\u662f\u4e00\u4e2a\u4f7f\u7528HTML5\u6784\u5efa\u7684\u53ef\u79fb\u690d\u6587\u6863\u683c\u5f0f\uff08PDF\uff09\u67e5\u770b\u5668","url":"https://mozilla.github.io/pdf.js/web/viewer.html","urls":{"-3":"https://github.com/mozilla/pdf.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":213},{"name":"webuploader","desc":"\u767e\u5ea6\u51fa\u54c1\uff0c\u91c7\u7528\u5927\u6587\u4ef6\u5206\u7247\u5e76\u53d1\u4e0a\u4f20\uff0c\u6781\u5927\u7684\u63d0\u9ad8\u4e86\u6587\u4ef6\u4e0a\u4f20\u6548\u7387\u3002","url":"http://fex.baidu.com/webuploader/","urls":{"-3":"https://github.com/fex-team/webuploader"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":214},{"name":"pdfmake","desc":"\u7eafJavaScript\u4e2d\u7684\u5ba2\u6237\u7aef/\u670d\u52a1\u5668\u7aefPDF\u6253\u5370, HTML\u8f6c\u6362Pdf","url":"http://pdfmake.org/","urls":{"-3":"https://github.com/bpampuch/pdfmake"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":215},{"name":"ViewerJS","desc":"JavaScript\u4e2d\u7684\u6587\u6863\u9605\u8bfb\u5668, pdf/ppt/opt/odt\u7b49\u6587\u4ef6\u6e32\u67d3\u6210HTML","url":"https://viewerjs.org/","urls":{"-3":"https://github.com/kogmbh/ViewerJS"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":216},{"name":"filepond","desc":"\u7075\u6d3b\u800c\u6709\u8da3\u7684JavaScript\u6587\u4ef6\u4e0a\u4f20\u5e93","url":"https://pqina.nl/filepond/","urls":{"-3":"https://github.com/pqina/filepond"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":217},{"name":"FileSaver.js","desc":"\u5ba2\u6237\u7aef\u4fdd\u5b58\u6587\u4ef6\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u975e\u5e38\u9002\u5408\u5728\u5ba2\u6237\u7aef\u4e0a\u751f\u6210\u6587\u4ef6\u7684Web\u5e94\u7528\u7a0b\u5e8f","url":"https://github.com/eligrey/FileSaver.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":218},{"name":"jsPDF","desc":"\u4e00\u4e2a\u4f7f\u7528JavaScript\u751f\u6210PDF\u7684\u5e93","url":"https://parall.ax/products/jspdf","urls":{"-3":"https://github.com/MrRio/jsPDF"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":219}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fe\u7247\u9884\u89c8","nav":[{"name":"PhotoSwipe","desc":"\u9002\u7528\u4e8e\u79fb\u52a8\u548c\u684c\u9762\u7684JavaScript\u56fe\u50cf\u5e93, \u56fe\u7247\u9884\u89c8","url":"http://photoswipe.com/","urls":{"-3":"https://github.com/dimsemenov/PhotoSwipe"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u7247\u9884\u89c8"],"ownVisible":false,"id":220},{"name":"viewerjs","desc":"javascript\u56fe\u7247\u9884\u89c8","url":"https://fengyuanchen.github.io/viewerjs/","urls":{"-3":"https://github.com/fengyuanchen/viewerjs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u7247\u9884\u89c8"],"ownVisible":false,"id":221}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u97f3\u9891/\u89c6\u9891","nav":[{"icon":"https://howlerjs.com/assets/images/favicon.ico","name":"howler.js","desc":"\u73b0\u4ee3 Web \u97f3\u9891 javascript \u5e93","url":"https://howlerjs.com/","urls":{"-3":"https://github.com/goldfire/howler.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u97f3\u9891/\u89c6\u9891"],"ownVisible":false,"id":222},{"name":"DPlayer","desc":"\u54c7\uff0c\u8fd9\u4e48\u53ef\u7231\u7684HTML5 danmaku\u89c6\u9891\u64ad\u653e\u5668","url":"http://dplayer.js.org/#/zh-Hans/","urls":{"-2":"http://dplayer.js.org/#/home","-1":"http://dplayer.js.org/#/zh-Hans/","-3":"https://github.com/MoePlayer/DPlayer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u97f3\u9891/\u89c6\u9891"],"ownVisible":false,"id":223},{"name":"APlayer","desc":"\u54c7\uff0c\u8fd9\u4e48\u53ef\u7231\u7684HTML5\u97f3\u4e50\u64ad\u653e\u5668","url":"https://aplayer.js.org/#/zh-Hans/","urls":{"-2":"http://aplayer.js.org/","-1":"https://aplayer.js.org/#/zh-Hans/","-3":"https://github.com/MoePlayer/APlayer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u97f3\u9891/\u89c6\u9891"],"ownVisible":false,"id":224}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fe\u5f62","nav":[{"icon":"https://threejs.org/files/favicon.ico","name":"three.js","desc":"JavaScript 3D\u5f15\u64ce","url":"https://threejs.org/","urls":{"-2":"https://threejs.org/","-1":"http://techbrood.com/threejs/docs","-3":"https://github.com/mrdoob/three.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u5f62"],"ownVisible":false,"id":225},{"name":"flowy","desc":"\u521b\u5efa\u6d41\u7a0b\u56fe\u7684\u6700\u5c0fJavaScript\u5e93","url":"https://github.com/alyssaxuu/flowy","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u5f62"],"ownVisible":false,"id":226},{"icon":"https://echarts.apache.org/examples/images/favicon.png","name":"incubator-echarts","desc":"\u6d4f\u89c8\u5668\u7684\u529f\u80fd\u5f3a\u5927\u7684\u4ea4\u4e92\u5f0f\u56fe\u8868\u548c\u53ef\u89c6\u5316\u5e93","url":"http://echarts.apache.org/","urls":{"-3":"https://github.com/apache/incubator-echarts"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u5f62"],"ownVisible":false,"id":227},{"icon":"https://avatars1.githubusercontent.com/u/1562726?s=200&v=4","name":"d3","desc":"\u501f\u52a9SVG\uff0cCanvas\u548cHTML\u4f7f\u6570\u636e\u6829\u6829\u5982\u751f\u3002","url":"https://github.com/d3/d3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u5f62"],"ownVisible":false,"id":228}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"UI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://getuikit.com/images/favicon.png","name":"uikit","desc":"\u4e00\u6b3e\u8f7b\u91cf\u7ea7\u3001\u6a21\u5757\u5316\u7684\u524d\u7aef\u6846\u67b6\u53ef\u5feb\u901f\u6784\u5efa\u5f3a\u5927\u7684web\u524d\u7aef\u754c\u9762","url":"http://www.getuikit.net/","urls":{"-2":"https://getuikit.com/docs/installation","-1":"http://www.getuikit.net/","-3":"https://github.com/uikit/uikit"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","UI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":229}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u539f\u751fAPP\u4ea4\u4e92webview\u6865\u63a5","nav":[{"name":"JsBridge","desc":"android java\u548cjavascript\u6865\u63a5\uff0c\u7075\u611f\u6765\u81ea\u5fae\u4fe1webview jsbridge","url":"https://github.com/lzyzsd/JsBridge","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u539f\u751fAPP\u4ea4\u4e92webview\u6865\u63a5"],"ownVisible":false,"id":230},{"name":"DSBridge-Android","desc":"\u4e00\u4e2a\u73b0\u4ee3\u7684\u8de8\u5e73\u53f0JavaScript\u6865\u63a5\uff0c\u901a\u8fc7\u5b83\u60a8\u53ef\u4ee5\u5728JavaScript\u548c\u672c\u673a\u4e4b\u95f4\u540c\u6b65\u6216\u5f02\u6b65\u5730\u8c03\u7528\u5f7c\u6b64\u7684\u529f\u80fd","url":"https://github.com/wendux/DSBridge-Android","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u539f\u751fAPP\u4ea4\u4e92webview\u6865\u63a5"],"ownVisible":false,"id":231}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u53c2\u6570\u9a8c\u8bc1","nav":[{"name":"joi","desc":"\u5bf9\u8c61\u6a21\u5f0f\u9a8c\u8bc1","url":"https://github.com/hapijs/joi","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":232},{"name":"validator.js","desc":"\u5b57\u7b26\u4e32\u9a8c\u8bc1\u63d2\u4ef6\u3001\u8868\u5355\u9a8c\u8bc1","url":"https://github.com/chriso/validator.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":233},{"name":"async-validator","desc":"\u5f02\u6b65\u9a8c\u8bc1\u5668","url":"https://github.com/yiminghe/async-validator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":234},{"name":"yup","desc":"\u65e0\u6548\u7684\u7b80\u5355\u5bf9\u8c61\u67b6\u6784\u9a8c\u8bc1","url":"https://runkit.com/jquense/yup","urls":{"-3":"https://github.com/jquense/yup#using-a-custom-locale-dictionary"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":235}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5e93","nav":[{"icon":"https://avatars2.githubusercontent.com/u/18673496?s=200&v=4","name":"localForage","desc":"\u79bb\u7ebf\u5b58\u50a8\uff0c\u4f7f\u7528\u7b80\u5355\u4f46\u529f\u80fd\u5f3a\u5927\u7684API\u5305\u88c5IndexedDB\uff0cWebSQL\u6216localStorage\u3002","url":"https://github.com/localForage/localForage","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6570\u636e\u5e93"],"ownVisible":false,"id":236}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u6b65\u9aa4\u5f15\u5bfc","nav":[{"icon":"https://avatars2.githubusercontent.com/u/2010360?s=200&v=4","name":"introjs","desc":"\u4e3a\u60a8\u7684\u7f51\u7ad9\u548c\u9879\u76ee\u63d0\u4f9b\u65b0\u529f\u80fd\u4ecb\u7ecd\u548c\u9010\u6b65\u7528\u6237\u6307\u5357\u7684\u66f4\u597d\u65b9\u6cd5","url":"https://introjs.com/","urls":{"-3":"https://github.com/usablica/intro.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6b65\u9aa4\u5f15\u5bfc"],"ownVisible":false,"id":237},{"icon":"https://avatars3.githubusercontent.com/u/17297725?s=200&v=4","name":"shepherd","desc":"\u5f15\u5bfc\u60a8\u7684\u7528\u6237\u6d4f\u89c8\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f","url":"https://shepherdjs.dev/","urls":{"-3":"https://github.com/shipshapecode/shepherd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6b65\u9aa4\u5f15\u5bfc"],"ownVisible":false,"id":238},{"name":"bootstrap-tour","desc":"\u4f7f\u7528Twitter Bootstrap Popovers\u5feb\u901f\u65b9\u4fbf\u5730\u8fdb\u884c\u4ea7\u54c1\u6d4f\u89c8","url":"http://bootstraptour.com/","urls":{"-3":"https://github.com/sorich87/bootstrap-tour"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6b65\u9aa4\u5f15\u5bfc"],"ownVisible":false,"id":239}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"React","icon":"https://reactjs.org/favicon.ico","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","nav":[{"name":"React","desc":"\u7528\u4e8e\u6784\u5efa\u7528\u6237\u754c\u9762\u7684 JavaScript \u5e93","url":"https://zh-hans.reactjs.org/","urls":{"-2":"https://reactjs.org/","-1":"https://zh-hans.reactjs.org/","-3":"https://github.com/facebook/react/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":240},{"name":"React Router","desc":"React \u8def\u7531\u7ba1\u7406","url":"https://react-router.docschina.org/","urls":{"-2":"https://reacttraining.com/react-router/","-1":"https://react-router.docschina.org/","-3":"https://github.com/ReactTraining/react-router"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":241},{"icon":"https://avatars2.githubusercontent.com/u/13142323?s=200&v=4","name":"Redux","desc":"React \u72b6\u6001\u7ba1\u7406","url":"http://www.redux.org.cn/docs/react-redux/api.html","urls":{"-2":"https://redux.js.org/basics/usagewithreact","-1":"http://www.redux.org.cn/docs/react-redux/api.html","-3":"https://github.com/reduxjs/redux"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":242},{"name":"create-react-app","desc":"React\u5b98\u65b9\u811a\u624b\u67b6","url":"https://www.html.cn/create-react-app/","urls":{"-2":"https://facebook.github.io/create-react-app/","-1":"https://www.html.cn/create-react-app/","-3":"https://github.com/facebook/create-react-app"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":243}],"createdAt":"2021-01-23 09:32:06"},{"title":"Redux\u76f8\u5173","nav":[{"name":"React Redux","desc":"Redux\u7684\u5b98\u65b9React\u7ed1\u5b9a(\u901a\u5e38\u914d\u5408redux\u4f7f\u7528)","url":"https://react-redux.js.org/","urls":{"-3":"https://github.com/reduxjs/react-redux"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","Redux\u76f8\u5173"],"ownVisible":false,"id":244},{"name":"redux-actions","desc":"Redux\u7684Flux\u6807\u51c6action\u5b9e\u7528\u7a0b\u5e8f(\u7528\u4e8e\u751f\u6210action)","url":"https://redux-actions.js.org/","urls":{"-3":"https://github.com/redux-utilities/redux-actions"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","Redux\u76f8\u5173"],"ownVisible":false,"id":245},{"name":"redux-thunk","desc":"Redux\u7684Thunk\u4e2d\u95f4\u4ef6, \u7528\u4e8e\u5904\u7406\u5f02\u6b65\u903b\u8f91","url":"https://github.com/reduxjs/redux-thunk","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","Redux\u76f8\u5173"],"ownVisible":false,"id":246},{"icon":"https://avatars2.githubusercontent.com/u/24776643?s=200&v=4","name":"redux-saga","desc":"\u4e00\u4e2a\u65e8\u5728\u4f7f\u5e94\u7528\u7a0b\u5e8f\u526f\u4f5c\u7528\uff08\u5373\u5f02\u6b65\u4e8b\u7269\uff0c\u5982\u6570\u636e\u83b7\u53d6\u548c\u4e0d\u7eaf\u7684\u4e1c\u897f\uff0c\u5982\u8bbf\u95ee\u6d4f\u89c8\u5668\u7f13\u5b58\uff09\u66f4\u5bb9\u6613\u7ba1\u7406\uff0c\u6267\u884c\u66f4\u9ad8\u6548\uff0c\u6613\u4e8e\u6d4b\u8bd5\uff0c\u4ee5\u53ca\u66f4\u597d\u5730\u5904\u7406\u6545\u969c\u7684\u5e93","url":"https://redux-saga.js.org/","urls":{"-3":"https://github.com/redux-saga/redux-saga"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","Redux\u76f8\u5173"],"ownVisible":false,"id":247}],"createdAt":"2021-01-23 09:32:06"},{"title":"React Native\u76f8\u5173","nav":[{"name":"React Native","desc":"\u4f7f\u7528React\u6784\u5efa\u539f\u751fAPP\u7a0b\u5e8f\u7684\u6846\u67b6","url":"https://reactnative.cn/docs/0.51/tutorial.html","urls":{"-2":"https://facebook.github.io/react-native/docs/getting-started.html","-1":"https://reactnative.cn/docs/0.51/tutorial.html","-3":"https://github.com/facebook/react-native"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","React Native\u76f8\u5173"],"ownVisible":false,"id":248},{"icon":"https://avatars0.githubusercontent.com/u/29647600?s=200&v=4","name":"React Navigation","desc":"\u4e3a\u60a8\u7684\u672c\u5730\u5e94\u7528\u7a0b\u5e8f\u63d0\u4f9b\u8def\u7531\u548c\u5bfc\u822a","url":"https://reactnavigation.org/zh-Hans/","urls":{"-2":"https://reactnavigation.org/en/","-1":"https://reactnavigation.org/zh-Hans/","-3":"https://github.com/react-navigation/react-navigation"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","React Native\u76f8\u5173"],"ownVisible":false,"id":249},{"icon":"https://avatars0.githubusercontent.com/u/12504344?s=200&v=4","name":"expo","desc":"\u7528\u4e8e\u5236\u4f5c\u8de8\u5e73\u53f0\u79fb\u52a8\u5e94\u7528\u7a0b\u5e8f\u7684Expo\u5e73\u53f0","url":"https://docs.expo.io","urls":{"-3":"https://github.com/expo/expo"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","React Native\u76f8\u5173"],"ownVisible":false,"id":250},{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"ant-design-mobile-rn","desc":"\u4e00\u4e2a\u57fa\u4e8e React Native \u7684 UI \u7ec4\u4ef6\u5e93","url":"https://rn.mobile.ant.design/index-cn","urls":{"-2":"https://rn.mobile.ant.design/","-1":"https://rn.mobile.ant.design/index-cn","-3":"https://github.com/ant-design/ant-design-mobile-rn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","React Native\u76f8\u5173"],"ownVisible":false,"id":251}],"createdAt":"2021-01-23 09:32:06"},{"title":"PC\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"Ant Design","desc":"Ant Design - A UI Design Language","url":"https://ant.design/docs/react/introduce-cn","urls":{"-2":"https://ant.design/docs/react/introduce","-1":"https://ant.design/docs/react/introduce-cn","-3":"https://github.com/ant-design/ant-design"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":252},{"icon":"https://material-ui.com/static/favicon.ico","name":"MATERIAL-UI","desc":"React \u7ec4\u4ef6\u7528\u4e8e\u66f4\u5feb\u901f\u3001\u66f4\u7b80\u4fbf\u7684 web \u5f00\u53d1\u3002\u4f60\u4e5f\u53ef\u4ee5\u5efa\u7acb\u4f60\u81ea\u5df1\u7684\u8bbe\u8ba1\u7cfb\u7edf\uff0c\u6216\u8005\u4ece Material Design \u5f00\u59cb","url":"https://material-ui.com/zh/","urls":{"-2":"https://material-ui.com/","-1":"https://material-ui.com/zh/","-3":"https://github.com/mui-org/material-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":253},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"element","desc":"elementUI\u7ec4\u4ef6\u5e93","url":"https://elemefe.github.io/element-react/#/zh-CN/quick-start","urls":{"-2":"https://elemefe.github.io/element-react/#/en-US/quick-start","-1":"https://elemefe.github.io/element-react/#/zh-CN/quick-start","-3":"https://github.com/ElemeFE/element-react"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":254},{"icon":"https://avatars0.githubusercontent.com/u/6853419?s=200&v=4","name":"react-bootstrap","desc":"\u57fa\u4e8eBootstrap 3\u6784\u5efa\u7684\u7ec4\u4ef6\u5e93","url":"https://react-bootstrap.github.io/getting-started/introduction","urls":{"-3":"https://github.com/react-bootstrap/react-bootstrap"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":255},{"name":"evergreen","desc":"Evergreen\u662f\u4e00\u4e2aReact UI\u6846\u67b6\uff0c\u7528\u4e8e\u5728Web\u4e0a\u6784\u5efa\u96c4\u5fc3\u52c3\u52c3\u7684\u4ea7\u54c1\u3002\u7531Segment\u5e26\u7ed9\u60a8\u3002","url":"https://evergreen.segment.com/","urls":{"-3":"https://github.com/segmentio/evergreen"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":256},{"name":"@alifd/next","desc":"@alifd/next \u662f Alibaba Fusion Design \u7684\u5b98\u65b9 React \u5b9e\u73b0, \u8d4b\u80fd\u4f01\u4e1a\u4e2d\u540e\u53f0\u4ea7\u54c1\u5f00\u53d1","url":"https://fusion.design/component/doc/102","urls":{"-3":"https://github.com/alibaba-fusion/next"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":257},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"zent","desc":"Zent \u662f\u6709\u8d5e PC \u7aef WebUI \u89c4\u8303\u7684 React \u5b9e\u73b0\uff0c\u63d0\u4f9b\u4e86\u4e00\u6574\u5957\u57fa\u7840\u7684 UI \u7ec4\u4ef6\u4ee5\u53ca\u4e00\u4e9b\u5e38\u7528\u7684\u4e1a\u52a1\u7ec4\u4ef6","url":"https://youzan.github.io/zent/zh/guides/install","urls":{"-3":"https://github.com/youzan/zent"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":258},{"name":"React95","desc":"\u88c5\u4fee\u4e00\u65b0\u7684\u73b0\u4ee3\u7684\u5e94\u7528\u7a0b\u5e8f\u505a\u51faReact Windows95\u7684UI\u7ec4\u4ef6\u3002","url":"https://arturbien.github.io/React95","urls":{"-3":"https://github.com/arturbien/React95"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":259},{"icon":"https://avatars1.githubusercontent.com/u/19635045?s=200&v=4","name":"rsuite","desc":"React Suite \u662f\u4e00\u5957 React \u7ec4\u4ef6\u5e93\uff0c\u4e3a\u540e\u53f0\u4ea7\u54c1\u800c\u751f\u3002\u540c\u65f6\u4e5f\u662f\u4e00\u4e2a\u5177\u6709\u8d34\u5fc3\u8bbe\u8ba1\u4ee5\u53ca\u5bf9\u5f00\u53d1\u8005\u53cb\u597d\u7684 UI \u6846\u67b6","url":"https://rsuitejs.com","urls":{"-3":"https://github.com/rsuite/rsuite"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":260},{"icon":"https://avatars2.githubusercontent.com/u/54212428?s=200&v=4","name":"chakra-ui","desc":"\u9002\u7528\u4e8e\u60a8\u7684React\u5e94\u7528\u7a0b\u5e8f\u7684\u7b80\u5355\uff0c\u6a21\u5757\u5316\u548c\u53ef\u8bbf\u95ee\u7684UI\u7ec4\u4ef6","url":"https://chakra-ui.com/","urls":{"-3":"https://github.com/chakra-ui/chakra-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":261}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"Ant Design Mobile","desc":"\u4e00\u4e2a\u57fa\u4e8e Preact / React / React Native \u7684 UI \u7ec4\u4ef6\u5e93","url":"https://mobile.ant.design/index-cn","urls":{"-2":"https://mobile.ant.design/","-1":"https://mobile.ant.design/index-cn","-3":"https://github.com/ant-design/ant-design-mobile/stargazers/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":262}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6\u7ec4\u4ef6\u5e93","nav":[{"name":"React Helmet","desc":"\u8fd9\u4e2a\u53ef\u91cd\u7528\u7684\u53cd\u5e94\u7ec4\u4ef6\u5c06\u7ba1\u7406\u5bf9\u6587\u6863\u5934\u7684\u6240\u6709\u66f4\u6539","url":"https://github.com/nfl/react-helmet","urls":{"-3":"https://github.com/nfl/react-helmet"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":263},{"name":"react-image-crop","desc":"\u7528\u4e8eReact\u7684\u54cd\u5e94\u5f0f\u56fe\u50cf\u88c1\u526a\u5de5\u5177","url":"https://github.com/DominicTobias/react-image-crop","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":264},{"name":"React Helmet","desc":"\u8fd9\u4e2a\u53ef\u91cd\u7528\u7684\u53cd\u5e94\u7ec4\u4ef6\u5c06\u7ba1\u7406\u5bf9\u6587\u6863\u5934\u7684\u6240\u6709\u66f4\u6539","url":"https://github.com/nfl/react-helmet","urls":{"-3":"https://github.com/nfl/react-helmet"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":265},{"name":"react-transition-group","desc":"\u5f53React\u7ec4\u4ef6\u8fdb\u5165\u6216\u79bb\u5f00DOM\u65f6\u6267\u884c\u52a8\u753b\u7684\u7b80\u5355\u65b9\u6cd5","url":"https://reactcommunity.org/react-transition-group/","urls":{"-2":"https://reactcommunity.org/react-transition-group/","-3":"https://github.com/reactjs/react-transition-group"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":266},{"name":"React Loadable","desc":"\u7528\u4e8e\u52a0\u8f7d\u5177\u6709promise\u7684\u7ec4\u4ef6\u7684\u66f4\u9ad8\u9636\u7ec4\u4ef6 - \u8def\u7531\u61d2\u52a0\u8f7d","url":"https://github.com/jamiebuilds/react-loadable","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":267},{"name":"react-swipe","desc":"\u57fa\u4e8eswipe.js\u5c01\u88c5\u7684react\u7ec4\u4ef6/\u8d70\u9a6c\u706f","url":"https://github.com/voronianski/react-swipe","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":268},{"name":"Ant Motion","desc":"\u4f7f\u7528 Ant Motion \u80fd\u591f\u5feb\u901f\u5728 React \u6846\u67b6\u4e2d\u4f7f\u7528\u52a8\u753b,\u6211\u4eec\u63d0\u4f9b\u4e86\u5355\u9879\uff0c\u7ec4\u5408\u52a8\u753b\uff0c\u4ee5\u53ca\u6574\u5957\u89e3\u51b3\u65b9\u6848","url":"https://motion.ant.design/","urls":{"-3":"https://github.com/ant-design/ant-motion/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":269},{"desc":"\u7f51\u7edc\u89c6\u9891\u64ad\u653e\u5668\u4f7f\u7528React\u5e93\u4ece\u5934\u5f00\u59cb\u6784\u5efaHTML5\u4e16\u754c","name":"video-react","url":"https://video-react.js.org/","urls":{"-3":"https://github.com/video-react/video-react"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":270},{"name":"react-keeper","desc":"\u4e00\u4e2areact\u8def\u7531\u5e93\uff0c\u66f4\u9002\u5408\u79fb\u52a8\u7aef\u4f7f\u7528\uff0c\u62e5\u6709\u7f13\u5b58\u7b49\u529f\u80fd","url":"https://github.com/vifird/react-keeper","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":271},{"name":"Fusion Design","desc":"\u57fa\u4e8eReact\u6784\u5efa\u7684Web\u53ef\u914d\u7f6e\u7ec4\u4ef6\u5e93","url":"https://fusion.design","urls":{"-3":"https://github.com/alibaba-fusion/next"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":272},{"icon":"https://avatars0.githubusercontent.com/u/13690587?s=200&v=4","name":"recharts","desc":"\u57fa\u4e8e React\u548cD3 \u7684\u7ec4\u5408\u5f0f\u56fe\u8868\u5e93","url":"http://recharts.org/zh-CN/","urls":{"-3":"https://github.com/recharts/recharts"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":273},{"name":"react-json-view","desc":"JSON\u67e5\u770b\u5668","url":"https://mac-s-g.github.io/react-json-view/demo/dist/","urls":{"-3":"https://github.com/mac-s-g/react-json-view"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":274},{"name":"BizCharts","desc":"\u57fa\u4e8eG2\u548cReact\u7684\u5f3a\u5927\u6570\u636e\u53ef\u89c6\u5316\u5e93","url":"https://bizcharts.net/products/bizCharts","urls":{"-3":"https://github.com/alibaba/BizCharts"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":275},{"name":"react-draggable","desc":"\u4e00\u4e2a\u7b80\u5355\u7684\u7ec4\u4ef6\uff0c\u7528\u4e8e\u4f7f\u5143\u7d20\u53ef\u62d6\u52a8","url":"https://github.com/mzabriskie/react-draggable","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":276},{"name":"react-slick","desc":"react\u8d70\u9a6c\u706f\u7ec4\u4ef6","url":"https://react-slick.neostack.com/","urls":{"-3":"https://github.com/akiran/react-slick"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":277},{"name":"react-color","desc":"react \u62fe\u8272\u5668","url":"http://casesandberg.github.io/react-color/","urls":{"-3":"https://github.com/casesandberg/react-color"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":278},{"icon":"https://avatars1.githubusercontent.com/u/50559490?s=200&v=4","name":"react-intl","desc":"\u56fd\u9645\u5316React\u5e94\u7528\u7a0b\u5e8f\u3002\u8fd9\u4e2a\u5e93\u63d0\u4f9b\u4e86React\u7ec4\u4ef6\u548c\u4e00\u4e2aAPI\uff0c\u7528\u4e8e\u683c\u5f0f\u5316\u65e5\u671f\uff0c\u6570\u5b57\u548c\u5b57\u7b26\u4e32\uff0c\u5305\u62ec\u590d\u6570\u5f62\u5f0f\u548c\u5904\u7406\u7ffb\u8bd1","url":"https://github.com/formatjs/react-intl","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":279},{"icon":"https://avatars3.githubusercontent.com/u/1763971?s=200&v=4","name":"react-data-grid","desc":"\u4f7f\u7528React\u6784\u5efa\u7684\u7c7b\u4f3c\u4e8eExcel\u7684\u7f51\u683c\u7ec4\u4ef6\uff0c\u5177\u6709\u7f16\u8f91\u5668\uff0c\u952e\u76d8\u5bfc\u822a\uff0c\u590d\u5236\u548c\u7c98\u8d34\u7b49\u529f\u80fd","url":"http://adazzle.github.io/react-data-grid/","urls":{"-3":"https://github.com/adazzle/react-data-grid"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":280},{"icon":"https://cloud.githubusercontent.com/assets/29597/11736841/c0497158-9f87-11e5-8dfe-9c0be97d4286.png","name":"react-virtualized","desc":"React\u7ec4\u4ef6\u53ef\u6709\u6548\u5448\u73b0\u5927\u578b\u5217\u8868\u548c\u8868\u683c\u6570\u636e","url":"http://www.reactvirtualized.com","urls":{"-3":"https://github.com/bvaughn/react-virtualized"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":281},{"icon":"https://avatars3.githubusercontent.com/u/5078602?s=200&v=4","name":"react-live","desc":"\u4e00\u4e2a\u7528\u4e8e\u5b9e\u65f6\u7f16\u8f91React\u7ec4\u4ef6\u7684\u7075\u6d3b\u7ec4\u4ef6\u5e93","url":"https://react-live.netlify.com/","urls":{"-3":"https://github.com/FormidableLabs/react-live"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":282},{"icon":"https://jaredpalmer.com/formik/img/favicon.png","name":"formik","desc":"\u5728React\u4e2d\u8f7b\u677e\u521b\u5efa\u8868\u5355","url":"https://jaredpalmer.com/formik/docs/overview","urls":{"-3":"https://github.com/jaredpalmer/formik"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":283}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u62d6\u62fd\u7ec4\u4ef6","nav":[{"name":"react-move","icon":"https://github.com/favicon.ico","url":"https://github.com/daybrush/moveable/tree/master/packages/react-moveable","desc":"\u4e00\u4e2aReact\u7ec4\u4ef6\uff0c\u5b83\u521b\u5efa\u53ef\u79fb\u52a8\uff0c\u53ef\u62d6\u52a8\uff0c\u53ef\u8c03\u6574\u5927\u5c0f\uff0c\u53ef\u7f29\u653e\uff0c\u53ef\u65cb\u8f6c\uff0c\u53ef\u626d\u66f2\uff0c\u53ef\u6536\u7f29\uff0c\u53ef\u5206\u7ec4\uff0c\u53ef\u6355\u6349\u3002","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u62d6\u62fd\u7ec4\u4ef6"],"ownVisible":false,"id":284},{"icon":"https://avatars2.githubusercontent.com/u/25307599?s=200&v=4","name":"react-dnd","desc":"React DnD\u662f\u4e00\u7ec4React\u5b9e\u7528\u7a0b\u5e8f\uff0c\u53ef\u5e2e\u52a9\u60a8\u6784\u5efa\u590d\u6742\u7684\u62d6\u653e\u63a5\u53e3\uff0c\u540c\u65f6\u4fdd\u6301\u7ec4\u4ef6\u5206\u79bb","url":"https://react-dnd.github.io/react-dnd/about","urls":{"-3":"https://github.com/react-dnd/react-dnd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u62d6\u62fd\u7ec4\u4ef6"],"ownVisible":false,"id":285},{"name":"react-beautiful-dnd","desc":"\u6f02\u4eae\u7684\u548c\u53ef\u8bbf\u95ee\u7684\u62d6\u653e\u5217\u8868","url":"https://github.com/atlassian/react-beautiful-dnd","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u62d6\u62fd\u7ec4\u4ef6"],"ownVisible":false,"id":286},{"name":"react-rnd","desc":"\u4e00\u4e2a\u53ef\u8c03\u6574\u5927\u5c0f\u4e14\u53ef\u62d6\u52a8\u7684React\u7ec4\u4ef6\u3002","url":"https://bokuweb.github.io/react-rnd/stories","urls":{"-3":"https://github.com/bokuweb/react-rnd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u62d6\u62fd\u7ec4\u4ef6"],"ownVisible":false,"id":287}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5f00\u7bb1\u5373\u7528","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"ANT DESIGN PRO","desc":"\u5f00\u7bb1\u5373\u7528\u7684\u4e2d\u53f0\u524d\u7aef/\u8bbe\u8ba1\u89e3\u51b3\u65b9\u6848","url":"https://pro.ant.design/","urls":{"-1":"https://pro.ant.design/","-3":"https://github.com/ant-design/ant-design-pro/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5f00\u7bb1\u5373\u7528"],"ownVisible":false,"id":288}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5355\u5143\u6d4b\u8bd5","nav":[{"name":"enzyme","desc":"\u9002\u7528\u4e8eReact\u7684JavaScript\u6d4b\u8bd5\u5b9e\u7528\u7a0b\u5e8f","url":"https://enzymejs.github.io/enzyme/","urls":{"-3":"https://github.com/enzymejs/enzyme"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":289},{"name":"Jest","desc":"Jest\u662f\u4e00\u4e2a\u4ee4\u4eba\u6109\u5feb\u7684JavaScript\u6d4b\u8bd5\u6846\u67b6\uff0c\u4e13\u6ce8\u4e8e\u7b80\u5355\u6027\u3002","url":"https://jestjs.io/zh-Hans/","urls":{"-3":"https://github.com/facebook/jest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":290}],"createdAt":"2021-01-23 09:32:06"},{"title":"umi/dva","nav":[{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umijs","desc":"\u63d2\u4ef6\u5316\u7684\u4f01\u4e1a\u7ea7\u524d\u7aef\u5e94\u7528\u6846\u67b6\u3002","url":"https://umijs.org/zh-CN","urls":{"-2":"https://umijs.org/","-1":"https://umijs.org/zh-CN","-3":"https://github.com/umijs/umi"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","umi/dva"],"ownVisible":false,"id":291},{"icon":"https://avatars1.githubusercontent.com/u/20552239?s=200&v=4","name":"DvaJS","desc":"\u57fa\u4e8eReact\u548cRedux\u7684\u8f7b\u91cf\u7ea7\u548celm\u98ce\u683c\u6846\u67b6","url":"https://dvajs.com/","urls":{"-3":"https://github.com/dvajs/dva"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","umi/dva"],"ownVisible":false,"id":292},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umijs/hooks","desc":"\u4f60\u53ef\u4ee5\u5c06 umi hooks \u4f7f\u7528\u5728\u4efb\u4f55\u5730\u65b9\uff0c\u548c\u4efb\u610f\u7ec4\u4ef6\u5e93\u642d\u914d\u4f7f\u7528\u3002\u867d\u7136\u6211\u4eec\u7684\u4ee3\u7801\u793a\u4f8b\u90fd\u662f\u57fa\u4e8e ant design \u7684\uff0c\u4f46\u662f\u5e76\u4e0d\u4ee3\u8868\u6211\u4eec\u7684 Hooks \u53ea\u80fd\u548c ant design \u914d\u5408\u4f7f\u7528","url":"https://hooks.umijs.org/","urls":{"-1":"https://hooks.umijs.org/","-3":"https://github.com/umijs/hooks"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","umi/dva"],"ownVisible":false,"id":293},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umi-plugin-cache-route","desc":"\u8def\u7531\u7f13\u5b58\uff0c\u7c7b\u4f3cvue keep-alive","url":"https://www.npmjs.com/package/umi-plugin-cache-route","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","umi/dva"],"ownVisible":false,"id":294}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u77e5\u8bc6","nav":[{"name":"React.js \u5c0f\u4e66","desc":"\u8fd9\u662f\u4e00\u672c\u5173\u4e8e React.js \u7684\u5c0f\u4e66","url":"http://huziketang.mangojuice.top/books/react/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u77e5\u8bc6"],"ownVisible":false,"id":295},{"name":"TypeScript-React-Starter","desc":"TypeScript\u548cReact\u7684\u5165\u95e8\u6a21\u677f\uff0c\u5e26\u6709\u8be6\u7ec6\u7684README\uff0c\u63cf\u8ff0\u4e86\u5982\u4f55\u5c06\u4e24\u8005\u7ed3\u5408\u4f7f\u7528\u3002","url":"https://github.com/Microsoft/TypeScript-React-Starter","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u77e5\u8bc6"],"ownVisible":false,"id":296},{"name":"react-redux-typescript-guide","desc":"TypeScript\u4e2d\u7684React\u548c Redux - \u4f7f\u7528\u8bf4\u660e","url":"https://piotrwitek.github.io/react-redux-typescript-guide/","urls":{"-3":"https://github.com/piotrwitek/react-redux-typescript-guide"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u77e5\u8bc6"],"ownVisible":false,"id":297}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://avatars1.githubusercontent.com/u/17475736?s=200&v=4","name":"Mobx","desc":"\u7b80\u5355\u3001\u53ef\u6269\u5c55\u7684\u72b6\u6001\u7ba1\u7406","url":"https://cn.mobx.js.org/","urls":{"-2":"https://mobx.js.org/","-1":"https://cn.mobx.js.org/","-3":"https://github.com/mobxjs/mobx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6"],"ownVisible":false,"id":298},{"name":"next.js","desc":"\u670d\u52a1\u7aef\u6e32\u67d3\u6846\u67b6\u3001SEO\u89e3\u51b3\u65b9\u6848","url":"https://www.nextjs.cn/","urls":{"-2":"https://nextjs.org/","-1":"https://www.nextjs.cn/","-3":"https://github.com/zeit/next.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6"],"ownVisible":false,"id":299},{"name":"nwb","desc":"\u9002\u7528\u4e8eWeb\u7684React\uff0cPreact\uff0cInferno\u548cVanilla JS\u5e94\u7528\uff0cReact\u5e93\u548c\u5176\u4ed6npm\u6a21\u5757\u7684\u5de5\u5177\u5305\uff0c\u65e0\u9700\u914d\u7f6e","url":"https://github.com/insin/nwb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6"],"ownVisible":false,"id":300},{"name":"ahooks","desc":"\u4e3a React Hooks \u800c\u751f","url":"https://ahooks.js.org/zh-CN","urls":{"-3":"https://github.com/alibaba/hooks"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6"],"ownVisible":false,"id":301},{"name":"react-app-rewired","desc":"\u8986\u76d6create-react-app webpack\u914d\u7f6e\u800c\u4e0d\u5f39\u51fa","url":"https://github.com/timarney/react-app-rewired","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6"],"ownVisible":false,"id":302}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Vue.js","icon":"https://v3.vuejs.org/images/icons/apple-icon-152x152.png","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","nav":[{"name":"Vue.js","desc":"\u6e10\u8fdb\u5f0fJavaScript \u6846\u67b6","url":"https://cn.vuejs.org/","urls":{"-2":"https://vuejs.org/index.html","-1":"https://cn.vuejs.org/","-3":"https://github.com/vuejs/vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":303},{"name":"Vue Router","desc":"Vue Router \u662f Vue.js \u5b98\u65b9\u7684\u8def\u7531\u7ba1\u7406\u5668","url":"https://router.vuejs.org/zh/","urls":{"-2":"https://router.vuejs.org/","-1":"https://router.vuejs.org/zh/","-3":"https://github.com/vuejs/vue-router"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":304},{"name":"Vuex","desc":"Vuex \u662f\u4e00\u4e2a\u4e13\u4e3a Vue.js \u5e94\u7528\u7a0b\u5e8f\u5f00\u53d1\u7684\u72b6\u6001\u7ba1\u7406\u6a21\u5f0f\u3002","url":"https://vuex.vuejs.org/zh/","urls":{"-2":"https://vuex.vuejs.org/","-1":"https://vuex.vuejs.org/zh/","-3":"https://github.com/vuejs/vuex"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":305},{"name":"vue-devtools","desc":"vue.js\u8c03\u8bd5\u5de5\u5177","url":"https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd","urls":{"-3":"https://github.com/vuejs/vue-devtools"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":306},{"name":"vue-cli","desc":"Vue.js\u5f00\u53d1\u7684\u6807\u51c6\u811a\u624b\u67b6\u5de5\u5177","url":"https://cli.vuejs.org/zh/","urls":{"-2":"https://cli.vuejs.org/","-1":"https://cli.vuejs.org/zh/","-3":"https://github.com/vuejs/vue-cli"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":307},{"name":"vuepress","desc":"Vue \u9a71\u52a8\u7684\u9759\u6001\u7f51\u7ad9\u751f\u6210\u5668","url":"https://vuepress.vuejs.org/zh/","urls":{"-2":"https://vuepress.vuejs.org/","-1":"https://vuepress.vuejs.org/zh/","-3":"https://github.com/vuejs/vuepress"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":308},{"name":"Vue SSR","desc":"Vue\u670d\u52a1\u7aef\u6e32\u67d3\u3001SEO\u89e3\u51b3\u65b9\u6848","url":"https://vuepress.vuejs.org/zh/","urls":{"-2":"https://ssr.vuejs.org/","-1":"https://ssr.vuejs.org/zh/","-3":"https://github.com/vuejs/vue-ssr-docs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":309},{"name":"vue-class-component","desc":"\u7528\u4e8e\u7c7b\u5f0fVue\u7ec4\u4ef6\u7684ECMAScript / TypeScript\u88c5\u9970\u5668\u3002","url":"https://github.com/vuejs/vue-class-component","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":310},{"name":"eslint-plugin-vue","desc":"Vue.js\u7684\u5b98\u65b9ESLint\u63d2\u4ef6","url":"https://eslint.vuejs.org/","urls":{"-3":"https://github.com/vuejs/eslint-plugin-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":311},{"name":"vite","desc":"Vite\u662f\u4e00\u4e2a\u7ecf\u8fc7\u9a8c\u8bc1\u7684Web\u5f00\u53d1\u4eba\u5458\u6784\u5efa\u5de5\u5177\uff0c\u53ef\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u901a\u8fc7\u672c\u673aES\u6a21\u5757\u5bfc\u5165\u4e3a\u60a8\u7684\u4ee3\u7801\u63d0\u4f9b\u670d\u52a1\uff0c\u5e76\u5c06\u5176\u4e0eRollup\u6346\u7ed1\u5728\u4e00\u8d77\u8fdb\u884c\u751f\u4ea7","url":"https://github.com/vitejs/vite","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":312},{"name":"Vue \u7ec4\u5408\u5f0f API","desc":"Vue \u7ec4\u5408\u5f0f API\u5728\u7ebf\u6587\u6863\u9605\u8bfb","url":"https://composition-api.vuejs.org/zh","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":313}],"createdAt":"2021-01-23 09:32:06"},{"title":"PC\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://avatars0.githubusercontent.com/u/20693613?s=200&v=4","name":"iView","desc":"\u4e00\u5957\u57fa\u4e8e Vue.js \u7684\u9ad8\u8d28\u91cfUI \u7ec4\u4ef6\u5e93","url":"https://www.iviewui.com/docs/guide/install","urls":{"-2":"https://www.iviewui.com/","-1":"https://www.iviewui.com/docs/guide/install","-3":"https://github.com/iview/iview"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":314},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Element","desc":"\u4e00\u5957\u4e3a\u5f00\u53d1\u8005\u3001\u8bbe\u8ba1\u5e08\u548c\u4ea7\u54c1\u7ecf\u7406\u51c6\u5907\u7684\u57fa\u4e8e Vue 2.0 \u7684\u684c\u9762\u7aef\u7ec4\u4ef6\u5e93","url":"http://element-cn.eleme.io/#/zh-CN","urls":{"-2":"http://element-cn.eleme.io/#/en-US","-1":"http://element-cn.eleme.io/#/zh-CN","-3":"https://github.com/ElemeFE/element"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":315},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Element Plus","desc":"\u652f\u6301Vue3.0\u7684Element","url":"https://element-plus.org/#/zh-CN","urls":{"-3":"https://github.com/element-plus/element-plus"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":316},{"icon":"https://avatars0.githubusercontent.com/u/22283362?s=200&v=4","name":"Muse-UI","desc":"\u57fa\u4e8e Vue 2.0 \u4f18\u96c5\u7684 Material Design UI \u7ec4\u4ef6\u5e93","url":"https://muse-ui.org/#/zh-CN","urls":{"-2":"https://muse-ui.org/#/en-US/","-1":"https://muse-ui.org/#/zh-CN","-3":"https://github.com/museui/muse-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":317},{"icon":"https://qn.antdv.com/favicon.ico","name":"Ant Design Vue","desc":"\u8fd9\u91cc\u662f Ant Design \u7684 Vue \u5b9e\u73b0\uff0c\u5f00\u53d1\u548c\u670d\u52a1\u4e8e\u4f01\u4e1a\u7ea7\u540e\u53f0\u4ea7\u54c1","url":"https://antdv.com/docs/vue/introduce-cn/","urls":{"-2":"https://antdv.com/docs/vue/introduce/","-1":"https://antdv.com/docs/vue/introduce-cn/","-3":"https://github.com/vueComponent/ant-design-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":318},{"icon":"https://avatars2.githubusercontent.com/u/22138497?s=200&v=4","name":"vuetify","desc":"\u8ba9Vue\u548cMaterial Design\u7684\u5f3a\u5927\u529b\u91cf\u5728\u5f00\u53d1\u4e0a\u52a9\u60a8\u4e00\u81c2\u4e4b\u529b","url":"https://vuetifyjs.com/zh-Hans/","urls":{"-2":"https://vuetifyjs.com/en/","-1":"https://vuetifyjs.com/zh-Hans/","-3":"https://github.com/vuetifyjs/vuetify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":319},{"icon":"https://avatars1.githubusercontent.com/u/22965283?s=200&v=4","name":"bootstrap-vue","desc":"BootstrapVue\u4e3aVue.js\u63d0\u4f9b\u4e86\u6700\u5168\u9762\u7684Bootstrap 4\u7ec4\u4ef6\u548c\u7f51\u683c\u7cfb\u7edf\u5b9e\u73b0\u4e4b\u4e00\uff0c\u5e76\u63d0\u4f9b\u4e86\u5e7f\u6cdb\u7684\u81ea\u52a8WAI-ARIA\u53ef\u8bbf\u95ee\u6027\u6807\u8bb0","url":"https://bootstrap-vue.js.org/","urls":{"-3":"https://github.com/bootstrap-vue/bootstrap-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":320},{"icon":"https://avatars0.githubusercontent.com/u/23659108?s=200&v=4","name":"vue-material","desc":"Vue material\u7b80\u5355\uff0c\u8f7b\u5de7\uff0c\u5b8c\u5168\u7b26\u5408Google Material Design\u89c4\u8303","url":"https://vuematerial.io","urls":{"-3":"https://github.com/vuematerial/vue-material"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":321},{"icon":"https://avatars1.githubusercontent.com/u/26799900?s=200&v=4","name":"buefy","desc":"Buefy\u662f\u4e00\u4e2a\u57fa\u4e8eBulma\u6846\u67b6\u548c\u8bbe\u8ba1\u7684Vue.js\u54cd\u5e94\u5f0fUI\u7ec4\u4ef6\u7684\u8f7b\u91cf\u7ea7\u5e93\u3002","url":"https://buefy.org","urls":{"-3":"https://github.com/buefy/buefy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":322}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"vant","desc":"\u8f7b\u91cf\u3001\u53ef\u9760\u7684\u79fb\u52a8\u7aef Vue \u7ec4\u4ef6\u5e93","url":"https://youzan.github.io/vant/#/zh-CN/intro","urls":{"-2":"https://youzan.github.io/vant/#/en-US/intro","-1":"https://youzan.github.io/vant/#/zh-CN/intro","-3":"https://github.com/youzan/vant"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":323},{"name":"vux","desc":"\u4e00\u4e2a\u51d1\u5408\u7684 Vue.js \u79fb\u52a8\u7aef UI \u7ec4\u4ef6\u5e93","url":"https://vux.li/","urls":{"-1":"https://vux.li/","-3":"https://github.com/airyland/vux"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":324},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"cube-ui","desc":"\u57fa\u4e8e Vue.js \u5b9e\u73b0\u7684\u7cbe\u81f4\u79fb\u52a8\u7aef\u7ec4\u4ef6\u5e93","url":"https://didi.github.io/cube-ui/#/zh-CN","urls":{"-2":"https://didi.github.io/cube-ui/#/en-US","-1":"https://didi.github.io/cube-ui/#/zh-CN","-3":"https://github.com/didi/cube-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":325},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"Mand Mobile","desc":"\u9762\u5411\u91d1\u878d\u573a\u666f\u7684Vue\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93\uff0c\u4e30\u5bcc\u3001\u7075\u6d3b\u3001\u5b9e\u7528\uff0c\u5feb\u901f\u642d\u5efa\u4f18\u8d28\u7684\u91d1\u878d\u7c7b\u4ea7\u54c1\uff0c\u8ba9\u590d\u6742\u7684\u91d1\u878d\u573a\u666f\u53d8\u7b80\u5355","url":"https://didi.github.io/mand-mobile/#/zh-CN/home","urls":{"-2":"https://didi.github.io/mand-mobile/#/en-US/home","-1":"https://didi.github.io/mand-mobile/#/zh-CN/home","-3":"https://github.com/didi/mand-mobile"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":326},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Mint UI","desc":"\u57fa\u4e8e Vue.js \u7684\u79fb\u52a8\u7aef\u7ec4\u4ef6\u5e93","url":"http://mint-ui.github.io/#!/zh-cn","urls":{"-2":"http://mint-ui.github.io/#!/en","-1":"http://mint-ui.github.io/#!/zh-cn","-3":"https://github.com/ElemeFE/mint-ui/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":327},{"name":"NutUI","desc":"\u4e00\u5957\u4eac\u4e1c\u98ce\u683c\u7684\u8f7b\u91cf\u7ea7\u79fb\u52a8\u7aefVue\u7ec4\u4ef6\u5e93","url":"https://nutui.jd.com","urls":{"-3":"https://github.com/jdf2e/nutui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":328}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6\u7ec4\u4ef6/\u63d2\u4ef6","nav":[{"name":"vue-awesome-swiper","desc":"\u57fa\u4e8eswiper\u5c01\u88c5\u7684\u8f6e\u64ad\u56fe\u7ec4\u4ef6","url":"https://surmon-china.github.io/vue-awesome-swiper/","urls":{"-3":"https://github.com/surmon-china/vue-awesome-swiper"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u5176\u4ed6\u7ec4\u4ef6/\u63d2\u4ef6"],"ownVisible":false,"id":329},{"name":"vue-meta","desc":"\u7ba1\u7406Vue 2.0\u7ec4\u4ef6\u4e2d\u7684\u9875\u9762\u5143\u4fe1\u606f\u3002\u652f\u6301SSR + Streaming","url":"https://github.com/nuxt/vue-meta","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u5176\u4ed6\u7ec4\u4ef6/\u63d2\u4ef6"],"ownVisible":false,"id":330},{"name":"vue-scroller","desc":"Vue Scroller\u662fVonic UI \u7684\u57fa\u7840\u7ec4\u4ef6\u3002\u4e3a\u4e86\u5e73\u6ed1\u6eda\u52a8\uff0c\u62c9\u52a8\u5237\u65b0\u548c\u65e0\u9650\u52a0\u8f7d\u3002","url":"https://wangdahoo.github.io/vue-scroller/#/","urls":{"-3":"https://github.com/wangdahoo/vue-scroller"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u5176\u4ed6\u7ec4\u4ef6/\u63d2\u4ef6"],"ownVisible":false,"id":331},{"name":"vue-infinite-loading","desc":"Vue.js\u7684\u65e0\u9650\u6eda\u52a8\u63d2\u4ef6(\u652f\u6301\u5411\u4e0a\u548c\u5411\u4e0b)","url":"https://peachscript.github.io/vue-infinite-loading/zh/","urls":{"-3":"https://github.com//PeachScript/vue-infinite-loading"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u5176\u4ed6\u7ec4\u4ef6/\u63d2\u4ef6"],"ownVisible":false,"id":332}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5f00\u7bb1\u5373\u7528","nav":[{"name":"iview-admin","desc":"\u57fa\u4e8eiView\u7684Vue 2.0\u7ba1\u7406\u7cfb\u7edf\u6a21\u677f","url":"https://admin.iviewui.com/login","urls":{"-3":"https://github.com/iview/iview-admin"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u5f00\u7bb1\u5373\u7528"],"ownVisible":false,"id":333}],"createdAt":"2021-01-23 09:32:06"},{"title":"nuxt\u670d\u52a1\u7aef\u6e32\u67d3\u6846\u67b6","nav":[{"icon":"https://avatars2.githubusercontent.com/u/23360933?s=200&v=4","name":"nuxt","desc":"Vue.js \u901a\u7528\u5e94\u7528\u6846\u67b6","url":"https://zh.nuxtjs.org/","urls":{"-2":"https://nuxtjs.org/","-1":"https://zh.nuxtjs.org/","-3":"https://github.com/nuxt/nuxt.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","nuxt\u670d\u52a1\u7aef\u6e32\u67d3\u6846\u67b6"],"ownVisible":false,"id":334},{"icon":"https://avatars2.githubusercontent.com/u/23360933?s=200&v=4","name":"\u521b\u5efanuxt\u7684\u811a\u624b\u67b6\u5de5\u5177","desc":"create-nuxt-app","url":"https://github.com/nuxt/create-nuxt-app","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","nuxt\u670d\u52a1\u7aef\u6e32\u67d3\u6846\u67b6"],"ownVisible":false,"id":335}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Angular","icon":"https://avatars0.githubusercontent.com/u/139426?s=200&v=4","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","nav":[{"name":"Angular","desc":"\u4e00\u4e2a\u6846\u67b6\uff0c\u79fb\u52a8 & \u684c\u9762","url":"https://www.angular.cn/","urls":{"-2":"https://angular.io/","-1":"https://www.angular.cn/","-3":"https://github.com/angular/angular"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":336},{"name":"angular-cli","desc":"\u7528\u4e8eAngular CLI\u811a\u624b\u67b6\u5de5\u5177","url":"https://cli.angular.io/","urls":{"-2":"https://cli.angular.io/","-3":"https://github.com/angular/angular-cli"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":337},{"name":"augury","desc":"Angular\u8c03\u8bd5\u548c\u53ef\u89c6\u5316\u5de5\u5177","url":"https://augury.angular.io/","urls":{"-2":"https://augury.angular.io/","-3":"https://github.com/rangle/augury"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":338}],"createdAt":"2021-01-23 09:32:06"},{"title":"PC\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://avatars2.githubusercontent.com/u/30223759?s=200&v=4","name":"NG-ZORRO","desc":"\u57fa\u4e8eAnt Design\u7684Angular\u4f01\u4e1a\u7ea7UI\u7ec4\u4ef6","url":"http://ng.ant.design/docs/introduce/zh","urls":{"-2":"http://ng.ant.design/docs/introduce/en","-1":"http://ng.ant.design/docs/introduce/zh","-3":"https://github.com/NG-ZORRO/ng-zorro-antd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":339},{"icon":"https://avatars3.githubusercontent.com/u/14283866?s=200&v=4","name":"ng-bootstrap","desc":"\u57fa\u4e8eBootstrap 4\u7684Angular\u7ec4\u4ef6","url":"https://ng-bootstrap.github.io/#/components/accordion/examples","urls":{"-2":"https://ng-bootstrap.github.io/#/components/accordion/examples","-3":"https://github.com/ng-bootstrap/ng-bootstrap"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":340},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"element-angular","desc":"Element Angular\u7ec4\u4ef6\u5e93","url":"https://element-angular.faas.ele.me/guide/install","urls":{"-2":"https://element-angular.faas.ele.me/","-1":"https://element-angular.faas.ele.me/guide/install","-3":"https://github.com/ElemeFE/element-angular"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":341},{"icon":"https://avatars1.githubusercontent.com/u/3494069?s=200&v=4","name":"primeng","desc":"PrimeNG\u662fAngular\u7684\u4e30\u5bccUI\u7ec4\u4ef6\u7684\u96c6\u5408","url":"https://www.primefaces.org/primeng/#/button","urls":{"-3":"https://github.com/primefaces/primeng"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":342},{"name":"material","desc":"Material Design\u662f\u4e00\u4e2a\u7edf\u4e00\u7684\u89c6\u89c9\uff0c\u52a8\u4f5c\u548c\u4ea4\u4e92\u8bbe\u8ba1\u7cfb\u7edf\u7684\u89c4\u8303\uff0c\u9002\u7528\u4e8e\u4e0d\u540c\u7684\u8bbe\u5907\u3002","url":"https://www.primefaces.org/primeng/#/button","urls":{"-3":"https://github.com/angular/material"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":343}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"name":"material","desc":"Material Design\u662f\u4e00\u4e2a\u7edf\u4e00\u7684\u89c6\u89c9\uff0c\u52a8\u4f5c\u548c\u4ea4\u4e92\u8bbe\u8ba1\u7cfb\u7edf\u7684\u89c4\u8303\uff0c\u9002\u7528\u4e8e\u4e0d\u540c\u7684\u8bbe\u5907\u3002","url":"https://www.primefaces.org/primeng/#/button","urls":{"-3":"https://github.com/angular/material"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":344}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5fae\u4fe1\u5f00\u53d1","icon":"https://avatars0.githubusercontent.com/u/18461506?s=200&v=4","nav":[{"title":"\u5c0f\u7a0b\u5e8f\u6587\u6863","nav":[{"name":"\u5c0f\u7a0b\u5e8f\u5f00\u53d1","desc":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f","url":"https://developers.weixin.qq.com/miniprogram/dev/index.html","urls":{"-2":"https://developers.weixin.qq.com/miniprogram/en/dev/index.html?t=18082922","-1":"https://developers.weixin.qq.com/miniprogram/dev/index.html"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6587\u6863"],"ownVisible":false,"id":345},{"name":"\u5c0f\u6e38\u620f\u5f00\u53d1","desc":"\u5fae\u4fe1\u5c0f\u6e38\u620f","url":"https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922","urls":{"-2":"https://developers.weixin.qq.com/minigame/en/dev/index.html?t=18081820","-1":"https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6587\u6863"],"ownVisible":false,"id":346}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5c0f\u7a0b\u5e8f\u6846\u67b6","nav":[{"name":"mpvue","desc":"Vue.js \u5f00\u53d1\u5c0f\u7a0b\u5e8f\u7684\u524d\u7aef\u6846\u67b6\u3002\u6846\u67b6\u57fa\u4e8e Vue.js \u6838\u5fc3","url":"http://mpvue.com/","urls":{"-1":"http://mpvue.com/","-3":"https://github.com/Meituan-Dianping/mpvue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6846\u67b6"],"ownVisible":false,"id":347},{"name":"wepy","desc":"\u5b98\u65b9\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5316\u5f00\u53d1\u6846\u67b6","url":"https://tencent.github.io/wepy/","urls":{"-1":"https://tencent.github.io/wepy/","-3":"https://github.com/Tencent/wepy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6846\u67b6"],"ownVisible":false,"id":348},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"mpx","desc":"Mpx\u662f\u4e00\u6b3e\u81f4\u529b\u4e8e\u63d0\u9ad8\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u4f53\u9a8c\u7684\u589e\u5f3a\u578b\u5c0f\u7a0b\u5e8f\u6846\u67b6(\u6ef4\u6ef4\u51fa\u54c1\uff0c\u57fa\u4e8evue)","url":"https://didi.github.io/mpx/","urls":{"-1":"https://didi.github.io/mpx/","-3":"https://github.com/didi/mpx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6846\u67b6"],"ownVisible":false,"id":349},{"icon":"https://avatars1.githubusercontent.com/u/5485517?s=200&v=4","name":"uni-app","desc":"uni-app \u662f\u4f7f\u7528 Vue \u8bed\u6cd5\u5f00\u53d1\u5c0f\u7a0b\u5e8f\u3001H5\u3001App\u7684\u7edf\u4e00\u6846\u67b6","url":"https://uniapp.dcloud.io/","urls":{"-3":"https://github.com/dcloudio/uni-app"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6846\u67b6"],"ownVisible":false,"id":350},{"icon":"https://tencent.github.io/omi/assets/omi-logo2019.svg","name":"omix","desc":"\u817e\u8baf\u539f\u751f\u5c0f\u7a0b\u5e8f\u6846\u67b6 OMIX 2.0","url":"https://github.com/Tencent/omi/tree/master/packages/omix","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6846\u67b6"],"ownVisible":false,"id":351}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6","nav":[{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"vant-weapp","desc":"\u8f7b\u91cf\u3001\u53ef\u9760\u7684\u5c0f\u7a0b\u5e8f UI \u7ec4\u4ef6\u5e93","url":"https://vant-contrib.gitee.io/vant-weapp/#/intro","urls":{"-3":"https://github.com/youzan/vant-weapp"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":352},{"icon":"https://avatars0.githubusercontent.com/u/18461506?s=200&v=4","name":"weui-wxss","desc":"\u8fd9\u662f\u4e00\u5957\u57fa\u4e8e\u6837\u5f0f\u5e93weui-wxss\u5f00\u53d1\u7684\u5c0f\u7a0b\u5e8f\u6269\u5c55\u7ec4\u4ef6\u5e93\uff0c\u540c\u5fae\u4fe1\u539f\u751f\u89c6\u89c9\u4f53\u9a8c\u4e00\u81f4\u7684UI\u7ec4\u4ef6\u5e93","url":"https://github.com/Tencent/weui-wxss/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":353},{"name":"wxParse","desc":"wxParse-\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5bcc\u6587\u672c\u89e3\u6790\u81ea\u5b9a\u4e49\u7ec4\u4ef6\uff0c\u652f\u6301HTML\u53camarkdown\u89e3\u6790","url":"https://github.com/icindy/wxParse","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":354},{"name":"mpvue-wxParse","desc":"\u9002\u7528\u4e8e Mpvue \u7684\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5bcc\u6587\u672c\u89e3\u6790\u81ea\u5b9a\u4e49\u7ec4\u4ef6","url":"https://github.com/F-loat/mpvue-wxParse","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":355},{"icon":"https://avatars1.githubusercontent.com/u/2268460?s=200&v=4","name":"echarts-for-weixin","desc":"ECharts \u7684\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7248\u672c","url":"https://github.com/ecomfe/echarts-for-weixin","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":356},{"icon":"https://lbs.qq.com/favicon.ico","name":"\u817e\u8baf\u4f4d\u7f6e\u670d\u52a1","desc":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u539f\u751fLBS\u80fd\u529b\u7684\u6700\u4f73\u62cd\u6863","url":"https://lbs.qq.com/qqmap_wx_jssdk/index.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":357},{"name":"ColorUI","desc":"\u9c9c\u4eae\u7684\u9ad8\u9971\u548c\u8272\u5f69\uff0c\u4e13\u6ce8\u89c6\u89c9\u7684\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93","url":"https://www.color-ui.com/","urls":{"-3":"https://github.com/weilanwl/ColorUI"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":358},{"name":"weapp-input-frame","desc":"\u9a8c\u8bc1\u7801\u3001\u652f\u4ed8\u5bc6\u7801\u8f93\u5165\u6846\u7ec4\u4ef6","url":"https://github.com/xjh22222228/weapp-input-frame","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":359}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5fae\u4fe1\u516c\u4f17\u53f7\u5f00\u53d1\u8f85\u52a9\u5de5\u5177","nav":[{"name":"JS\u63a5\u53e3\u7b7e\u540d\u6821\u9a8c\u5de5\u5177","desc":"\u5fae\u4fe1 JS \u63a5\u53e3\u7b7e\u540d\u6821\u9a8c\u5de5\u5177","url":"https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5fae\u4fe1\u516c\u4f17\u53f7\u5f00\u53d1\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":360},{"name":"\u63a5\u53e3\u8c03\u8bd5\u5de5\u5177","desc":"\u5fae\u4fe1\u516c\u4f17\u5e73\u53f0\u63a5\u53e3\u8c03\u8bd5\u5de5\u5177","url":"https://mp.weixin.qq.com/debug/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5fae\u4fe1\u516c\u4f17\u53f7\u5f00\u53d1\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":361},{"name":"computed","desc":"\u5c0f\u7a0b\u5e8f\u81ea\u5b9a\u4e49\u7ec4\u4ef6 computed / watch \u6269\u5c55","url":"https://github.com/wechat-miniprogram/computed","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5fae\u4fe1\u516c\u4f17\u53f7\u5f00\u53d1\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":362}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8d44\u6e90","nav":[{"name":"awesome-github-wechat-weapp","desc":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5f00\u6e90\u9879\u76ee\u5e93\u6c47\u603b","url":"https://github.com/opendigg/awesome-github-wechat-weapp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u8d44\u6e90"],"ownVisible":false,"id":363},{"name":"awesome-wechat-weapp","desc":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u8d44\u6e90\u6c47\u603b","url":"https://github.com/justjavac/awesome-wechat-weapp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u8d44\u6e90"],"ownVisible":false,"id":364}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"\u5fae\u4fe1\u5f00\u653e\u793e\u533a","desc":"\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u8005\u4e13\u533a\uff0c\u5fae\u4fe1\u516c\u4f17\u5e73\u53f0,\u5fae\u4fe1\u5f00\u653e\u793e\u533a,\u5f00\u53d1\u8005\u4e13\u533a","url":"https://developers.weixin.qq.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5176\u4ed6"],"ownVisible":false,"id":365},{"name":"wechat-format","desc":"\u5fae\u4fe1\u516c\u4f17\u53f7\u6392\u7248\u7f16\u8f91\u5668\uff0c\u8f6c\u6362 Markdown \u5230\u5fae\u4fe1\u7279\u5236\u7684 HTML","url":"https://lab.lyric.im/wxformat/","urls":{"-3":"https://github.com/lyricat/wechat-format"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5176\u4ed6"],"ownVisible":false,"id":366},{"name":"\u5fae\u4fe1\u5f00\u653e\u5e73\u53f0","desc":"\u5fae\u4fe1\u5f00\u653e\u5e73\u53f0","url":"https://open.weixin.qq.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5176\u4ed6"],"ownVisible":false,"id":367}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5de5\u5177","nav":[{"title":"CSS","nav":[{"name":"CSS3 UI Lib","desc":"CSS\u52a8\u753b\u96c6\u6210\u3001\u5728\u7ebf\u8c03\u8bd5\u9634\u5f71","url":"http://css3lib.alloyteam.com/#panel/demo1","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":368},{"name":"CSS Sprites Generator","desc":"CSS\u96ea\u78a7\u56fe\u751f\u6210","url":"https://www.toptal.com/developers/css/sprite-generator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":369},{"icon":"http://www.colorzilla.com/favicon.ico","name":"CSS\u6e10\u53d8\u8c03\u8bd5\u5668","desc":"\u524d\u7aef\u5f00\u53d1\u8c03\u8bd5CSS\u6e10\u53d8\u5fc5\u5907\u795e\u5668","url":"http://www.colorzilla.com/gradient-editor/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":370},{"icon":"https://animista.net/favicon.ico","name":"Animista","desc":"\u5728\u7ebf\u751f\u6210CSS\u52a8\u753b","url":"http://animista.net/play/background/ken-burns","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":371},{"icon":"https://cssgradient.io/favicon.ico","name":"CSS Gradient","desc":"CSS\u6e10\u53d8\u8c03\u8bd5\u5e76\u751f\u6210CSS\u4ee3\u7801","url":"https://cssgradient.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":372},{"icon":"https://www.grabient.com/favicon.ico","name":"Grabient","desc":"CSS\u6e10\u53d8\u8c03\u8bd5\u5e76\u751f\u6210CSS\u4ee3\u7801\uff0c\u8fd8\u53ef\u4ee5\u89d2\u5ea6\u53d8\u6362","url":"https://www.grabient.com/","urls":{"-3":"https://github.com/johnkorzhuk/grabient"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":373},{"icon":"http://pxtoem.com/favicon.ico","name":"px\u4e0eem\u5355\u4f4d\u8f6c\u6362","desc":"px\u4e0eem\u5355\u4f4d\u8f6c\u6362","url":"http://pxtoem.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":374},{"icon":"http://apps.eky.hk/css-triangle-generator/favicon.gif","name":"CSS\u4e09\u89d2\u5f62\u7522\u751f\u5668","desc":"CSS\u4e09\u89d2\u5f62\u7522\u751f\u5668 - \u4f7f\u7528\u7d14CSS\u7e6a\u756b\u4e09\u89d2\u5f62","url":"http://apps.eky.hk/css-triangle-generator/zh-hant","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":375},{"icon":"https://www.sassmeister.com/favicon.ico","name":"SassMeister","desc":"\u5c06sass\u8bed\u6cd5\u8f6c\u6362\u6210CSS\u8bed\u6cd5","url":"https://www.sassmeister.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":376},{"icon":"https://transfonter.org/favicon.ico","name":"transfonter","desc":"\u5b57\u4f53\u56fe\u6807\u8f6c\u6362Base64","url":"https://transfonter.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":377},{"name":"Loading\u96c6\u5408","desc":"\u4e0a\u5343\u79cdLoading\u8ba4\u4f60\u9009","url":"https://www.xiejiahe.com/detail/59ec506be9b3310879551f5e","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":378},{"icon":"https://cssreference.io/favicons/favicon-32x32.png","name":"CSS Reference","desc":"css\u53c2\u8003\u662f\u4e00\u4e2a\u514d\u8d39\u7684\u89c6\u89c9\u6307\u5bfccss\u3002\u5b83\u4ee5\u6700\u53d7\u6b22\u8fce\u7684\u7279\u6027\u4e3a\u7279\u8272\uff0c\u5e76\u7528\u63d2\u56fe\u548c\u52a8\u753b\u793a\u4f8b\u5bf9\u5176\u8fdb\u884c\u8bf4\u660e","url":"https://cssreference.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":379},{"icon":"https://www.w3cschool.cn/favicon.ico","name":"\u5728\u7ebfCSS\u9634\u5f71\u8c03\u8bd5","desc":"CSS3 Box Shadow(\u9634\u5f71)\u6548\u679c\u5728\u7ebf\u8c03\u8bd5\u5de5\u5177","url":"https://www.w3cschool.cn/tools/index?name=css3_boxshadow","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":380}],"createdAt":"2021-01-23 09:32:06"},{"title":"JavaScript","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"icon":"https://regexper.com/favicon.ico","name":"\u6b63\u5219\u8868\u8fbe\u5f0f\u9a8c\u8bc1\u5668","desc":"\u9a8c\u8bc1JavaScript\u6b63\u5219\u8868\u8fbe\u5f0f","url":"https://regexper.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":381},{"icon":"https://www.json.cn/favicon.ico","name":"JSON\u5728\u7ebf\u89e3\u6790\u53ca\u683c\u5f0f\u5316\u9a8c\u8bc1","desc":"json\u5728\u7ebf\u89e3\u6790,json\u683c\u5f0f\u5316,json\u683c\u5f0f\u9a8c\u8bc1,json\u8f6cxml,xml\u8f6cjson","url":"https://www.json.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":382},{"icon":"https://avatars0.githubusercontent.com/u/25822731?s=200&v=4","name":"prettier","desc":"Prettier\u662f\u4e00\u4e2a\u56fa\u5b9a\u7684\u4ee3\u7801\u683c\u5f0f\u5316\u7a0b\u5e8f\u3002\u5b83\u901a\u8fc7\u89e3\u6790\u4ee3\u7801\u5e76\u4f7f\u7528\u81ea\u5df1\u7684\u89c4\u5219\u91cd\u65b0\u6253\u5370\u5b83\u6765\u5f3a\u5236\u6267\u884c\u4e00\u81f4\u7684\u6837\u5f0f\uff0c\u8fd9\u4e9b\u89c4\u5219\u8003\u8651\u4e86\u6700\u5927\u884c\u957f\u5ea6\uff0c\u5e76\u5728\u5fc5\u8981\u65f6\u5305\u88c5\u4ee3\u7801","url":"https://prettier.io/","urls":{"-3":"https://github.com/prettier/prettier"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":383},{"name":"\u6b63\u5219\u8868\u8fbe\u5f0f\u5728\u7ebf\u6d4b\u8bd5","desc":"\u6b63\u5219\u8868\u8fbe\u5f0f\u5728\u7ebf\u6d4b\u8bd5","url":"http://tool.chinaz.com/regex","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":384},{"name":"spy-debugger","desc":"\u5fae\u4fe1\u8c03\u8bd5\uff0c\u5404\u79cdWebView\u6837\u5f0f\u8c03\u8bd5\u3001\u624b\u673a\u6d4f\u89c8\u5668\u7684\u9875\u9762\u771f\u673a\u8c03\u8bd5\u3002\u4fbf\u6377\u7684\u8fdc\u7a0b\u8c03\u8bd5\u624b\u673a\u9875\u9762\u3001\u6293\u5305\u5de5\u5177\uff0c\u652f\u6301\uff1aHTTP/HTTPS\uff0c\u65e0\u9700USB\u8fde\u63a5\u8bbe\u5907","url":"https://github.com/wuchangming/spy-debugger","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":385},{"name":"VConsole","desc":"\u4e00\u4e2a\u8f7b\u91cf\u3001\u53ef\u62d3\u5c55\u3001\u9488\u5bf9\u624b\u673a\u7f51\u9875\u7684\u524d\u7aef\u5f00\u53d1\u8005\u8c03\u8bd5\u9762\u677f","url":"https://github.com/Tencent/vConsole/","urls":{"-2":"https://github.com/Tencent/vConsole","-1":"https://github.com/Tencent/vConsole/blob/dev/README_CN.md"},"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":386}],"createdAt":"2021-01-23 09:32:06"},{"title":"CDN","nav":[{"icon":"https://www.staticfile.org/assets/images/logo.png","name":"Staticfile CDN","desc":"\u514d\u8d39CDN\u670d\u52a1\uff0c\u5305\u62ec JavaScript\u3001CSS\u3001\u56fe\u7247\u548c swf \u7b49\u9759\u6001\u6587\u4ef6","url":"https://www.staticfile.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CDN"],"ownVisible":false,"id":387},{"icon":"https://www.jsdelivr.com/favicon.ico","name":"jsDelivr","desc":"jsDelivr \u2013 \u5f00\u6e90 CDN","url":"https://www.jsdelivr.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CDN"],"ownVisible":false,"id":388},{"icon":"https://www.bootcdn.cn/assets/ico/favicon.ico","name":"BootCDN","desc":"\u7a33\u5b9a\u3001\u5feb\u901f\u3001\u514d\u8d39\u7684\u524d\u7aef\u5f00\u6e90\u9879\u76ee CDN \u52a0\u901f\u670d\u52a1","url":"https://www.bootcdn.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CDN"],"ownVisible":false,"id":389},{"icon":"https://avatars0.githubusercontent.com/u/637362?s=200&v=4","name":"cdnjs","desc":"\u9762\u5411Web\u5f00\u53d1\u4eba\u5458\u7684\u514d\u8d39\u548c\u5f00\u6e90\u516c\u5171Web CDN\uff01","url":"https://cdnjs.com/","urls":{"-3":"https://github.com/cdnjs/cdnjs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CDN"],"ownVisible":false,"id":390}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://www.fundebug.com/favicon.ico","name":"FunDebug","desc":"\u652f\u6301\u524d\u7aefJavaScript\uff0c\u540e\u7aefNode.js\u4ee5\u53ca\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u9519\u8bef\u76d1\u63a7","url":"https://www.fundebug.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":391},{"icon":"https://www.caniuse.com/img/favicon-128.png","name":"\u524d\u7aef\u517c\u5bb9\u6027\u67e5\u8be2","desc":"\u524d\u7aef\u67e5\u8be2API\u5404\u4e2a\u5382\u5546\u517c\u5bb9\u6027\u60c5\u51b5","url":"https://www.caniuse.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":392},{"icon":"http://browserhacks.com/assets/images/browserhacks.ico","name":"Browserhacks","desc":"Browserhacks\u662f\u6765\u81ea\u5404\u4e2a\u4e92\u8054\u7f51\u7684\u6d4f\u89c8\u5668\u7279\u5b9aCSS\u548cJavaScript hacks\u7684\u5e7f\u6cdb\u5217\u8868\u3002","url":"http://browserhacks.com/","urls":{"-3":"https://github.com/4ae9b8/browserhacks"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":393},{"name":"Character Entity Reference Chart","desc":"\u5b57\u7b26\u5b9e\u4f53\u53c2\u8003\u56fe\uff0c>","url":"https://dev.w3.org/html5/html-author/charref","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":394},{"name":"awesome-web-editor","desc":"\u5f00\u6e90web\u7f16\u8f91\u5668\u6c47\u603b\u5217\u8868","url":"https://github.com/xjh22222228/awesome-web-editor","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":395},{"icon":"https://jsfiddle.net/img/favicon.png","name":"jsfiddle","desc":"\u5f3a\u5927\u7684\u524d\u7aef\u4ee3\u7801\u5728\u7ebf\u6f14\u793a\u7684\u7f51\u7ad9","url":"http://jsfiddle.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":396},{"icon":"https://avatars0.githubusercontent.com/u/11043997?s=200&v=4","name":"jsperf","desc":"jsPerf\u65e8\u5728\u63d0\u4f9b\u4e00\u79cd\u7b80\u5355\u7684\u65b9\u6cd5\u6765\u521b\u5efa\u548c\u5171\u4eab\u6d4b\u8bd5\u7528\u4f8b\uff0c\u901a\u8fc7\u8fd0\u884c\u57fa\u51c6\u6d4b\u8bd5\u6765\u6bd4\u8f83\u4e0d\u540cJavaScript\u4ee3\u7801\u6bb5\u7684\u6027\u80fd","url":"https://jsperf.com/","urls":{"-3":"https://github.com/jsperf/jsperf.com"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":397},{"icon":"https://codesandbox.io/favicon.ico","name":"codesandbox","desc":"codesandbox\u662f\u4e3aWeb\u5e94\u7528\u7a0b\u5e8f\u5b9a\u5236\u7684\u5728\u7ebf\u7f16\u8f91\u5668\u3002","url":"https://codesandbox.io","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":398},{"icon":"https://htmlreference.io/favicons/favicon-32x32.png","name":"HTML Reference","desc":"\u6240\u6709HTML\u5143\u7d20\u548c\u5c5e\u6027\u7684\u514d\u8d39\u6307\u5357\u53c2\u8003","url":"https://htmlreference.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":399},{"icon":"https://static.jsbin.com/images/dave.min.svg","name":"jsbin","desc":"\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684html/css/js\u5728\u7ebf\u7f16\u8f91\u5668Debug\u8c03\u8bd5\u5668","url":"https://jsbin.com/juduyibeku/edit?html,css,js,console,output","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":400},{"icon":"http://www.jsfuck.com/favicon.ico","name":"jsfuck","desc":"JSFuck\u662f\u57fa\u4e8eJavaScript\u539f\u5b50\u90e8\u5206\u7684\u6df1\u5965\u548c\u6559\u80b2\u6027\u7f16\u7a0b\u98ce\u683c\u3002\u5b83\u4ec5\u4f7f\u7528\u516d\u4e2a\u4e0d\u540c\u7684\u5b57\u7b26\u6765\u7f16\u5199\u548c\u6267\u884c\u4ee3\u7801\u3002","url":"http://www.jsfuck.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":401}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"CSS","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/css/css.png","nav":[{"title":"CSS","nav":[{"icon":"https://getbootstrap.com/docs/4.5/assets/img/favicons/favicon.ico","name":"Bootstrap","desc":"Bootstrap \u662f\u4e00\u4e2a\u7528\u4e8e\u5feb\u901f\u5f00\u53d1 Web \u5e94\u7528\u7a0b\u5e8f\u548c\u7f51\u7ad9\u7684\u524d\u7aef\u6846\u67b6","url":"http://getbootstrap.com/","urls":{"-2":"http://getbootstrap.com/","-1":"http://www.bootcss.com/","-3":"https://github.com/twbs/bootstrap"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":402},{"icon":"https://avatars2.githubusercontent.com/u/317889?s=200&v=4","name":"Sass","desc":"Sass \u662f\u6210\u719f\u3001\u7a33\u5b9a\u3001\u5f3a\u5927\u7684 CSS \u6269\u5c55\u8bed\u8a00","url":"http://sass-lang.com/","urls":{"-2":"http://sass-lang.com/","-1":"http://sass.bootcss.com/","-3":"https://github.com/sass/sass"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":403},{"icon":"https://avatars0.githubusercontent.com/u/3538330?s=200&v=4","name":"Less","desc":"Less \u662f\u4e00\u95e8 CSS \u9884\u5904\u7406\u8bed\u8a00,\u5b83\u6269\u5c55\u4e86 CSS \u8bed\u8a00,\u589e\u52a0\u4e86\u53d8\u91cf\u3001Mixin\u3001\u51fd\u6570\u7b49\u7279\u6027","url":"http://lesscss.org/","urls":{"-2":"http://lesscss.org/","-1":"http://lesscss.cn/","-3":"https://github.com/less/less.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":404},{"name":"magic","desc":"CSS3\u52a8\u753b\u7279\u6548","url":"https://minimamente.com/example/magic_animations/","urls":{"-3":"https://github.com/miniMAC/magic"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":405},{"icon":"https://avatars3.githubusercontent.com/u/64791939?s=200&v=4","name":"Animate.css","desc":"CSS\u52a8\u753b\u7684\u8de8\u6d4f\u89c8\u5668\u5e93,\u7b80\u5355\u6613\u7528","url":"https://daneden.github.io/animate.css/","urls":{"-3":"https://github.com/animate-css/animate.css"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":406},{"icon":"http://necolas.github.io/normalize.css/favicon.ico","name":"normalize.css","desc":"\u4f7f\u6d4f\u89c8\u5668\u66f4\u52a0\u4e00\u81f4\u5730\u5448\u73b0\u6240\u6709\u5143\u7d20\u5e76\u7b26\u5408\u73b0\u4ee3\u6807\u51c6\u3002\u5b83\u53ea\u9488\u5bf9\u9700\u8981\u89c4\u8303\u5316\u7684\u6837\u5f0f","url":"http://necolas.github.io/normalize.css/","urls":{"-3":"https://github.com/necolas/normalize.css"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":407},{"name":"Hover","desc":"CSS3\u52a8\u529b\u60ac\u505c\u6548\u679c\u7684\u96c6\u5408\uff0c\u9002\u7528\u4e8e\u94fe\u63a5\uff0c\u6309\u94ae\uff0c\u5fbd\u6807\uff0cSVG\uff0c\u7279\u8272\u56fe\u50cf\u7b49","url":"http://ianlunn.github.io/Hover/","urls":{"-3":"https://github.com/IanLunn/Hover"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":408},{"name":"github-markdown-css","desc":"\u590d\u5236GitHub Markdown\u6837\u5f0f\u7684\u6700\u5c0fCSS\u91cf","url":"https://sindresorhus.com/github-markdown-css/","urls":{"-3":"https://github.com/sindresorhus/github-markdown-css"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":409},{"icon":"https://avatars1.githubusercontent.com/u/8296347?s=200&v=4","name":"autoprefixer","desc":"Autoprefixer\u662f\u4e00\u6b3e\u81ea\u52a8\u7ba1\u7406\u6d4f\u89c8\u5668\u524d\u7f00\u7684\u63d2\u4ef6\uff0c\u5b83\u53ef\u4ee5\u89e3\u6790CSS\u6587\u4ef6\u5e76\u4e14\u6dfb\u52a0\u6d4f\u89c8\u5668\u524d\u7f00\u5230CSS\u5185\u5bb9\u91cc","url":"https://github.com/postcss/autoprefixer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":410},{"icon":"http://vivify.mkcreative.cz/assets/img/apple-icon-57x57.png","name":"vivify","desc":"Vivify\u662f\u514d\u8d39\u7684CSS\u52a8\u753b\u5e93\u3002","url":"http://vivify.mkcreative.cz/","urls":{"-3":"https://github.com/Martz90/vivify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":411},{"name":"cubic-bezier","desc":"\u5728\u7ebf\u5236\u4f5cCSS\u52a8\u753b","url":"https://cubic-bezier.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":412}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fe\u6807\u5e93","nav":[{"icon":"http://www.iconfont.cn/favicon.ico","name":"iconfont","desc":"\u963f\u91cc\u5988\u5988MUX\u503e\u529b\u6253\u9020\u7684\u77e2\u91cf\u56fe\u6807\u7ba1\u7406\u3001\u4ea4\u6d41\u5e73\u53f0","url":"http://www.iconfont.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u56fe\u6807\u5e93"],"ownVisible":false,"id":413},{"icon":"https://avatars1.githubusercontent.com/u/1505683?s=200&v=4","name":"Font Awesome","desc":"\u4e00\u5957\u7edd\u4f73\u7684\u56fe\u6807\u5b57\u4f53\u5e93\u548cCSS\u6846\u67b6","url":"https://fontawesome.com/","urls":{"-2":"https://fontawesome.com/","-1":"http://www.fontawesome.com.cn/","-3":"https://github.com/FortAwesome/Font-Awesome"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u56fe\u6807\u5e93"],"ownVisible":false,"id":414},{"icon":"https://livicons.com/apple-icon-57x57.png","name":"LivIcons Evolution","desc":"\u4f1a\u52a8\u7684\u7eafsvg\u77e2\u91cf\u56fe\u6807\u5e93","url":"https://livicons.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u56fe\u6807\u5e93"],"ownVisible":false,"id":415},{"icon":"https://avatars0.githubusercontent.com/u/3171503?s=200&v=4","name":"ionicons","desc":"\u9002\u7528\u4e8eIonic Framework\u548cWeb\u5e94\u7528\u7a0b\u5e8f\u7684\u9ad8\u7ea7\u56fe\u6807\u5b57\u4f53","url":"https://ionicons.com/","urls":{"-3":"https://github.com/ionic-team/ionicons"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u56fe\u6807\u5e93"],"ownVisible":false,"id":416},{"name":"material-design-icons","desc":"Google\u7684Material Design\u56fe\u6807","url":"https://material.io/tools/icons","urls":{"-3":"https://github.com/google/material-design-icons"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u56fe\u6807\u5e93"],"ownVisible":false,"id":417}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8d44\u6e90","nav":[{"icon":"https://cssbattle.dev/images/logo-square.png","name":"css battle","desc":"\u5728\u7ebf\u6bd4\u62fcCSS","url":"https://cssbattle.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u8d44\u6e90"],"ownVisible":false,"id":418},{"icon":"http://zh.learnlayout.com/images/logo.png","name":"\u5b66\u4e60CSS\u5e03\u5c40","desc":"\u5b66\u4e60CSS\u5e03\u5c40","url":"http://zh.learnlayout.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u8d44\u6e90"],"ownVisible":false,"id":419}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"TypeScript","icon":"https://www.typescriptlang.org/favicon-32x32.png","nav":[{"title":"TypeScript","nav":[{"name":"TypeScript","desc":"TypeScript \u662f\u4e00\u79cd\u7531\u5fae\u8f6f\u5f00\u53d1\u7684\u81ea\u7531\u548c\u5f00\u6e90\u7684\u7f16\u7a0b\u8bed\u8a00\uff0c\u5b83\u662fJavaScript\u7684\u4e00\u4e2a\u8d85\u96c6","url":"https://www.tslang.cn/index.html","urls":{"-2":"http://www.typescriptlang.org/","-1":"https://www.tslang.cn/index.html","-3":"https://github.com/Microsoft/TypeScript"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":420},{"name":"TypeSearch","desc":"\u641c\u7d22typescript \u7c7b\u578b\u5305 @types/node","url":"https://microsoft.github.io/TypeSearch/","urls":{"-3":"https://github.com/Microsoft/TypeSearch"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":421},{"name":"DefinitelyTyped","desc":"\u9ad8\u8d28\u91cfTypeScript\u7c7b\u578b\u5b9a\u4e49\u7684\u5b58\u50a8\u5e93","url":"http://definitelytyped.org/","urls":{"-3":"https://github.com/DefinitelyTyped/DefinitelyTyped"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":422},{"icon":"https://avatars0.githubusercontent.com/u/46634674?s=200&v=4","name":"typescript-eslint","desc":"Monorepo\u7528\u4e8e\u6240\u6709\u5de5\u5177\uff0c\u4f7fESLint\u80fd\u591f\u652f\u6301TypeScript","url":"https://github.com/typescript-eslint/typescript-eslint","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":423},{"name":"awesome-typescript","desc":"\u7528\u4e8e\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u7aef\u5f00\u53d1\u7684\u5f3a\u5927TypeScript\u8d44\u6e90\u7684\u96c6\u5408\u3002\u5728TypeScript\u4e2d\u7f16\u5199\u7cbe\u5f69\u7684JavaScript","url":"https://github.com/dzharii/awesome-typescript","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":424},{"name":"TypeScript \u5165\u95e8\u6559\u7a0b","desc":"TypeScript \u5165\u95e8\u6559\u7a0b","url":"https://ts.xcatliu.com/","urls":{"-3":"https://github.com/xcatliu/typescript-tutorial"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":425}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u53c2\u8003\u8d44\u6599","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"\u4e66\u7c4d","nav":[{"name":"JavaScript 20 \u5e74","desc":"JavaScript 20 \u5e74","url":"https://cn.history.js.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":426},{"name":"\u4f60\u4e0d\u77e5\u9053\u7684JavaScript","desc":"\u4f60\u4e0d\u77e5\u9053\u7684JavaScript","url":"https://github.com/getify/You-Dont-Know-JS","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":427},{"icon":"https://zh.javascript.info/img/favicon/favicon.png","name":"\u73b0\u4ee3 JavaScript \u6559\u7a0b","desc":"\u4ee5\u6700\u65b0\u7684 JavaScript \u6807\u51c6\u4e3a\u57fa\u51c6\u3002\u901a\u8fc7\u7b80\u5355\u4f46\u8db3\u591f\u8be6\u7ec6\u7684\u5185\u5bb9\uff0c\u4e3a\u4f60\u8bb2\u89e3\u4ece\u57fa\u7840\u5230\u9ad8\u9636\u7684 JavaScript \u76f8\u5173\u77e5\u8bc6","url":"https://zh.javascript.info/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":428},{"name":"ECMAScript 6\u5165\u95e8","desc":"ECMAScript 6\u5165\u95e8","url":"http://es6.ruanyifeng.com/#README","urls":{"-3":"https://github.com/ruanyf/es6tutorial/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":429},{"name":"JavaScript\u6559\u7a0b","desc":"JavaScript \u6807\u51c6\u53c2\u8003\u6559\u7a0b","url":"https://wangdoc.com/javascript/basic/index.html","urls":{"-3":"https://github.com/ruanyf/jstutorial"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":430}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6587\u6863","nav":[{"name":"JavaScript Puzzlers","desc":"\u4f60\u771f\u7684\u4e86\u89e3JavaScript\u5417\uff1f\u6765\u8bd5\u8bd5\u5427\uff01","url":"http://javascript-puzzlers.herokuapp.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":431},{"icon":"https://avatars1.githubusercontent.com/u/41361384?s=200&v=4","name":"InterviewMap","desc":"\u6253\u9020\u6700\u597d\u7684\u9762\u8bd5\u56fe\u8c31","url":"https://yuchengkai.cn/docs/zh/","urls":{"-2":"https://yuchengkai.cn/docs/","-1":"https://yuchengkai.cn/docs/zh/","-3":"https://github.com/InterviewMap/CS-Interview-Knowledge-Map"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":432},{"name":"\u98de\u51b0\u65e9\u62a5","desc":"\u98de\u51b0\u65e9\u62a5","url":"http://fe.jskou.com/ice","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":433},{"name":"jsdoc","desc":"\u7528\u4e8eJavaScript\u7684API\u6587\u6863\u751f\u6210\u5668\u3002","url":"http://www.css88.com/doc/jsdoc/index.html","urls":{"-2":"http://usejsdoc.org/","-1":"http://www.css88.com/doc/jsdoc/index.html","-3":"https://github.com/jsdoc3/jsdoc"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":434},{"icon":"https://avatars3.githubusercontent.com/u/43479428?s=200&v=4","name":"30 seconds of code","desc":"\u7cbe\u9009\u7684\u6709\u7528JavaScript\u4ee3\u7801\u6bb5\u96c6\u5408\uff0c\u60a8\u53ef\u4ee5\u572830\u79d2\u6216\u66f4\u77ed\u7684\u65f6\u95f4\u5185\u7406\u89e3\u8fd9\u4e9b\u4ee3\u7801\u6bb5\u3002","url":"https://30secondsofcode.org/","urls":{"-3":"https://github.com/30-seconds/30-seconds-of-code"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":435},{"name":"33-js-concepts","desc":"JavaScript\u5f00\u53d1\u8005\u5e94\u61c2\u768433\u4e2a\u6982\u5ff5","url":"https://github.com/stephentian/33-js-concepts","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":436},{"icon":"https://avatars1.githubusercontent.com/u/1725583?s=200&v=4","name":"ECMAScript Proposals","desc":"\u8ddf\u8e2aECMAScript \u63d0\u6848","url":"https://tc39.github.io/process-document/","urls":{"-3":"https://github.com/tc39/proposals"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":437},{"icon":"https://avatars1.githubusercontent.com/u/1725583?s=200&v=4","name":"ecma262","desc":"ECMA-262\u7684\u72b6\u6001\uff0c\u6d41\u7a0b\u548c\u6587\u6863","url":"https://tc39.es/ecma262/","urls":{"-3":"https://github.com/tc39/ecma262"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":438},{"icon":"https://bonsaiden.github.io/JavaScript-Garden/favicon.ico?v=2","name":"JavaScript \u79d8\u5bc6\u82b1\u56ed","desc":"JavaScript \u8bed\u8a00\u6700\u53e4\u602a\u7528\u6cd5\u7684\u6587\u6863\u96c6\u5408","url":"https://bonsaiden.github.io/JavaScript-Garden/zh/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":439},{"name":"Airbnb JavaScript \u7f16\u7801\u89c4\u8303","desc":"Airbnb JavaScript \u7f16\u7801\u89c4\u8303","url":"https://github.com/yuche/javascript","urls":{"-2":"https://github.com/airbnb/javascript","-1":"https://github.com/yuche/javascript"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":440},{"name":"Daily-Interview-Question","desc":"\u5de5\u4f5c\u65e5\u6bcf\u5929\u4e00\u9053\u524d\u7aef\u5927\u5382\u9762\u8bd5\u9898\uff0c\u795d\u5927\u5bb6\u5929\u5929\u8fdb\u6b65\uff0c\u4e00\u5e74\u540e\u4f1a\u770b\u5230\u4e0d\u4e00\u6837\u7684\u81ea\u5df1","url":"https://github.com/Advanced-Frontend/Daily-Interview-Question","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":441},{"name":"javascript-algorithms","desc":"JavaScript \u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784","url":"https://github.com/trekhleb/javascript-algorithms","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":442},{"icon":"https://avatars2.githubusercontent.com/u/26534952?s=200&v=4","name":"weekly","desc":"\u524d\u7aef\u7cbe\u8bfb\u5468\u520a","url":"https://github.com/dt-fe/weekly","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":443}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"id":0,"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"Node.js","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","icon":"https://nodejs.org/static/images/favicons/favicon.ico","nav":[{"title":"\u5b98\u65b9","nav":[{"name":"Node.js","desc":"Node.js\xae \u662f\u4e00\u4e2a\u57fa\u4e8e Chrome V8 \u5f15\u64ce \u7684 JavaScript \u8fd0\u884c\u65f6","url":"http://nodejs.cn","urls":{"-2":"https://nodejs.org/en/","-1":"http://nodejs.cn","-3":"https://github.com/nodejs/node"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":444},{"name":"npm1","desc":"npm\u662fJavaScript\u4e16\u754c\u7684\u5305\u7ba1\u7406\u5de5\u5177,\u5e76\u4e14\u662f Node.js \u5e73\u53f0\u7684\u9ed8\u8ba4\u5305\u7ba1\u7406\u5de5\u5177","url":"https://www.npmjs.com/","urls":{"-2":"https://www.npmjs.com/","-1":"https://www.npmjs.com.cn/","-3":"https://github.com/npm/cli"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":445}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6a21\u5757","nav":[{"name":"urllib","desc":"\u5728\u590d\u6742\u7684\u4e16\u754c\u4e2d\u8bf7\u6c42HTTP(s)URL","url":"https://github.com/node-modules/urllib","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u6a21\u5757"],"ownVisible":false,"id":446},{"name":"formstream","desc":"multipart / form-data\u7f16\u7801\u6d41\uff0c\u7528\u4e8e\u6587\u4ef6\u4e0a\u4f20\u7684\u5e2e\u52a9\u7a0b\u5e8f\u3002","url":"https://github.com/node-modules/formstream","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u6a21\u5757"],"ownVisible":false,"id":447},{"name":"validate-npm-package-name","desc":"\u7ed9\u6211\u4e00\u4e2a\u5b57\u7b26\u4e32\uff0c\u6211\u4f1a\u544a\u8bc9\u4f60\u5b83\u662f\u5426\u662f\u6709\u6548\u7684npm\u8f6f\u4ef6\u5305\u540d\u79f0","url":"https://github.com/npm/validate-npm-package-name","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u6a21\u5757"],"ownVisible":false,"id":448}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://classic.yarnpkg.com/favicon.ico","name":"Yarn","desc":"\u5feb\u901f\u3001\u53ef\u9760\u3001\u5b89\u5168\u7684\u4f9d\u8d56\u7ba1\u7406","url":"https://yarnpkg.com/zh-Hans/","urls":{"-2":"https://yarnpkg.com/en/","-1":"https://yarnpkg.com/zh-Hans/","-3":"https://github.com/yarnpkg/yarn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u5176\u4ed6"],"ownVisible":false,"id":449},{"name":"awesome-nodejs","desc":"Node.js\u8f6f\u4ef6\u5305\u548c\u8d44\u6e90","url":"https://github.com/sindresorhus/awesome-nodejs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u5176\u4ed6"],"ownVisible":false,"id":450},{"name":"nodebestpractices","desc":"\u6700\u5927\u7684Node.js\u6700\u4f73\u5b9e\u8df5\u5217\u8868","url":"https://github.com/goldbergyoni/nodebestpractices","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u5176\u4ed6"],"ownVisible":false,"id":451}],"createdAt":"2021-01-23 09:32:06"},{"title":"CMS","nav":[{"icon":"https://avatars0.githubusercontent.com/u/4449608?s=200&v=4","name":"NodeBB","desc":"\u57fa\u4e8eNode.js\u7684\u8bba\u575b\u8f6f\u4ef6\uff0c\u4e3a\u73b0\u4ee3\u7f51\u7ad9","url":"https://nodebb.org/","urls":{"-3":"https://github.com/NodeBB/NodeBB"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","CMS"],"ownVisible":false,"id":452},{"icon":"https://avatars1.githubusercontent.com/u/2178663?s=200&v=4","name":"Ghost","desc":"Ghost \u662f\u57fa\u4e8e Node.js \u6784\u5efa\u7684\u5f00\u6e90\u535a\u5ba2\u5e73\u53f0\u3002Ghost \u5177\u6709\u6613\u7528\u7684\u4e66\u5199\u754c\u9762\u548c\u4f53\u9a8c,\u535a\u5ba2\u5185\u5bb9\u9ed8\u8ba4\u91c7\u7528 Markdown \u8bed\u6cd5\u4e66\u5199\u3002Ghost \u7684\u76ee\u6807\u662f\u53d6\u4ee3\u81c3\u80bf\u7684 Wordpress","url":"https://ghost.org/","urls":{"-3":"https://github.com/TryGhost/Ghost"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","CMS"],"ownVisible":false,"id":453}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8d44\u6599","nav":[{"name":"nodebestpractices","desc":"Node.js \u6700\u4f73\u5b9e\u8df5, \u6700\u5927\u7684\u6c47\u96c6\uff0c\u4e14\u6bcf\u5468\u90fd\u5728\u589e\u957f - \u5f53\u524d\uff0c\u8d85\u8fc750\u4e2a\u6700\u4f73\u5b9e\u73b0\uff0c\u6837\u5f0f\u6307\u5357\uff0c\u67b6\u6784\u5efa\u8bae\u5df2\u7ecf\u5448\u73b0","url":"https://github.com/goldbergyoni/nodebestpractices","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u8d44\u6599"],"ownVisible":false,"id":454}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4f9d\u8d56\u5305","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"\u7f51\u7edc\u8bf7\u6c42","nav":[{"name":"request","desc":"\u7b80\u5316\u7684HTTP\u8bf7\u6c42\u5ba2\u6237\u7aef","url":"https://github.com/request/request","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":455},{"name":"superagent","desc":"\u4e00\u4e2a\u5c0f\u578b\u6e10\u8fdb\u5f0f\u5ba2\u6237\u7aefHTTP\u8bf7\u6c42\u5e93\uff0cNode.js\u6a21\u5757\u5177\u6709\u76f8\u540c\u7684API\uff0c\u5177\u6709\u8bb8\u591a\u9ad8\u7ea7HTTP\u5ba2\u6237\u7aef\u529f\u80fd","url":"http://visionmedia.github.io/superagent/","urls":{"-3":"https://github.com/visionmedia/superagent"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":456},{"name":"axios","desc":"\u57fa\u4e8ePromise\u7684HTTP\u5ba2\u6237\u7aef\uff0c\u7528\u4e8e\u6d4f\u89c8\u5668\u548cnode.js","url":"https://github.com/axios/axios","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":457},{"name":"node-fetch","desc":"\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u6a21\u5757\uff0c\u5c06window.fetch\u5e26\u5230Node.js","url":"https://github.com/node-fetch/node-fetch","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":458},{"name":"bent","desc":"\u5e26\u6709async await\u7684\u529f\u80fd\u6027JS HTTP\u5ba2\u6237\u7aef\uff08Node.js\u548cFetch\uff09","url":"https://github.com/mikeal/bent","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":459},{"name":"superagent-proxy","desc":"superagent\u4ee3\u7406\u6269\u5c55\uff0c\u8fd9\u4f7f\u60a8\u53ef\u4ee5\u901a\u8fc7\u67d0\u79cd\u4ee3\u7406\u6765\u4ee3\u7406HTTP\u8bf7\u6c42","url":"https://github.com/TooTallNate/superagent-proxy","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":460}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5355\u5143\u6d4b\u8bd5","nav":[{"icon":"https://pptr.dev/favicons/apple-touch-icon.png","name":"Puppeteer","desc":"Puppeteer\u662f\u4e00\u4e2aNode\u5e93\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u9ad8\u7ea7API\u6765\u901a\u8fc7DevTools\u534f\u8bae\u63a7\u5236Chromium\u6216Chrome","url":"https://pptr.dev/","urls":{"-2":"https://pptr.dev/","-1":"https://zhaoqize.github.io/puppeteer-api-zh_CN/","-3":"https://github.com/GoogleChrome/puppeteer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":461},{"icon":"https://avatars0.githubusercontent.com/u/8908513?s=200&v=4","name":"cypress","desc":"\u5bf9\u6d4f\u89c8\u5668\u4e2d\u8fd0\u884c\u7684\u6240\u6709\u5185\u5bb9\u8fdb\u884c\u5feb\u901f\uff0c\u8f7b\u677e\u548c\u53ef\u9760\u7684\u6d4b\u8bd5\uff0c\uff08\u7c7bPuppeteer\uff09","url":"https://www.cypress.io/","urls":{"-3":"https://github.com/cypress-io/cypress"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":462},{"icon":"https://avatars0.githubusercontent.com/u/8770005?s=200&v=4","name":"Mocha","desc":"Node.js\u548c\u6d4f\u89c8\u5668\u7684\u7b80\u5355\uff0c\u7075\u6d3b\uff0c\u6709\u8da3\u7684JavaScript\u6d4b\u8bd5\u6846\u67b6","url":"https://mochajs.org/","urls":{"-3":"https://github.com/mochajs/mocha"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":463},{"icon":"https://avatars0.githubusercontent.com/u/1515293?s=200&v=4","name":"chai","desc":"node.js\u7684BDD/TDD\u65ad\u8a00\u6846\u67b6\u548c\u53ef\u4ee5\u4e0e\u4efb\u4f55\u6d4b\u8bd5\u6846\u67b6\u914d\u5bf9\u7684\u6d4f\u89c8\u5668","url":"http://www.chaijs.com/","urls":{"-3":"https://github.com/chaijs/chai"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":464},{"icon":"https://avatars2.githubusercontent.com/u/8527916?s=200&v=4","name":"ava","desc":"\u672a\u6765\u7684JavaScript\u6d4b\u8bd5\u8fd0\u884c\u5668","url":"https://github.com/avajs/ava","urls":{"-1":"https://github.com/avajs/ava-docs/blob/master/zh_CN/readme.md"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":465},{"icon":"https://jestjs.io/img/favicon/favicon.ico","name":"Jest","desc":"Jest\u662f\u4e00\u4e2a\u4ee4\u4eba\u6109\u5feb\u7684JavaScript\u6d4b\u8bd5\u6846\u67b6\uff0c\u4e13\u6ce8\u4e8e\u7b80\u5355\u6027\u3002","url":"https://jestjs.io/zh-Hans/","urls":{"-3":"https://github.com/facebook/jest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":466},{"icon":"https://avatars1.githubusercontent.com/u/4243232?s=200&v=4","name":"testcafe","desc":"\u4e00\u4e2aNode.js\u5de5\u5177\uff0c\u7528\u4e8e\u81ea\u52a8\u5316\u7aef\u5230\u7aefWeb\u6d4b\u8bd5","url":"https://devexpress.github.io/testcafe/","urls":{"-3":"https://github.com/DevExpress/testcafe"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":467},{"icon":"https://avatars2.githubusercontent.com/u/26206404?s=200&v=4","name":"jest-puppeteer","desc":"\u4f7f\u7528Jest\uff06Puppeteer\u8fd0\u884c\u6d4b\u8bd5 \u{1f3aa}\u2728","url":"https://github.com/smooth-code/jest-puppeteer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":468},{"icon":"https://kulshekhar.github.io/ts-jest/assets/img/logo.png","name":"ts-jest","desc":"\u5177\u6709\u5bf9Jest\u7684Sourcemap\u652f\u6301\u7684TypeScript\u9884\u5904\u7406\u5668","url":"https://kulshekhar.github.io/ts-jest","urls":{"-3":"https://github.com/kulshekhar/ts-jest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":469},{"icon":"https://avatars2.githubusercontent.com/u/26206404?s=200&v=4","name":"jest-extended","desc":"\u6269\u5c55 jest \u5339\u914d\u5668","url":"https://github.com/jest-community/jest-extended","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":470}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5e93","nav":[{"name":"node-mysql2","desc":"node.js\u7684\u5feb\u901fnode-mysql\u517c\u5bb9\u7684mysql\u9a71\u52a8\u7a0b\u5e8f","url":"https://github.com/sidorares/node-mysql2","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":471},{"name":"sequelize","desc":"\u57fa\u4e8e promise \u7684 Node.js ORM, \u76ee\u524d\u652f\u6301 Postgres, MySQL, SQLite \u548c Microsoft SQL Server. \u5b83\u5177\u6709\u5f3a\u5927\u7684\u4e8b\u52a1\u652f\u6301, \u5173\u8054\u5173\u7cfb, \u8bfb\u53d6\u548c\u590d\u5236\u7b49\u529f\u80fd","url":"https://demopark.github.io/sequelize-docs-Zh-CN/","urls":{"-2":"http://docs.sequelizejs.com/","-1":"https://demopark.github.io/sequelize-docs-Zh-CN/","-3":"https://github.com/sequelize/sequelize"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":472},{"name":"mongoose","desc":"mongodb\u5bf9\u8c61\u6a21\u578b\u8bbe\u8ba1\u7528\u4e8e\u5728\u5f02\u6b65\u73af\u5883\u4e2d\u5de5\u4f5c\u3002","url":"http://www.mongoosejs.net/","urls":{"-2":"http://mongoosejs.com/","-1":"http://www.mongoosejs.net/","-3":"https://github.com/Automattic/mongoose"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":473},{"name":"ioredis","desc":"\u9002\u7528\u4e8eNode.js\uff0c\u4ee5\u6027\u80fd\u4e3a\u4e2d\u5fc3\u4e14\u529f\u80fd\u9f50\u5168\u7684Redis\u5ba2\u6237\u7aef\u3002","url":"https://github.com/luin/ioredis","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":474},{"name":"objection.js","desc":"Objection.js\u662fNode.js\u7684\u4e00\u4e2aORM \uff0c\u5b83\u65e8\u5728\u907f\u514d\u4f7f\u7528SQL\u548c\u5e95\u5c42\u6570\u636e\u5e93\u5f15\u64ce\u7684\u5168\u90e8\u529f\u80fd\uff0c\u540c\u65f6\u5c3d\u53ef\u80fd\u7b80\u5355\u5730\u5c06magic\u4fdd\u6301\u5728\u6700\u4f4e\u9650\u5ea6\u3002","url":"http://vincit.github.io/objection.js/","urls":{"-3":"https://github.com/Vincit/objection.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":475},{"name":"nedb","desc":"JavaScript\u6570\u636e\u5e93\uff0c\u7528\u4e8eNode.js\uff0cnw.js\uff0celectron\u548c\u6d4f\u89c8\u5668","url":"https://github.com/louischatriot/nedb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":476},{"icon":"https://avatars0.githubusercontent.com/u/20165699?s=200&v=4","name":"typeorm","desc":"ORM for TypeScript\u548cJavaScript\uff08ES7\uff0cES6\uff0cES5\uff09\u3002\u652f\u6301MySQL\uff0cPostgreSQL\uff0cMariaDB\uff0cSQLite\uff0cMS SQL Server\uff0cOracle\uff0cWebSQL\u6570\u636e\u5e93\u3002\u9002\u7528\u4e8eNodeJS\uff0c\u6d4f\u89c8\u5668\uff0cIonic\uff0cCordova\u548cElectron\u5e73\u53f0","url":"http://typeorm.io","urls":{"-1":"https://github.com/typeorm/typeorm/tree/master/docs/zh_CN","-3":"https://github.com/typeorm/typeorm"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":477},{"icon":"https://avatars0.githubusercontent.com/u/10490573?s=200&v=4","name":"knexjs","desc":"PostgreSQL\uff0cMySQL\u548cSQLite3\u7684\u67e5\u8be2\u6784\u5efa\u5668\uff0c\u65e8\u5728\u7075\u6d3b\uff0c\u53ef\u79fb\u690d\u4e14\u6613\u4e8e\u4f7f\u7528\u3002","url":"http://knexjs.org","urls":{"-3":"https://github.com/knex/knex"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":478},{"icon":"https://avatars1.githubusercontent.com/u/5845577?s=200&v=4","name":"node-redis","desc":"\u9ad8\u6027\u80fdNode.js Redis\u5ba2\u6237\u7aef\u3002","url":"https://github.com/NodeRedis/node-redis","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":479}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fe\u5f62\u76f8\u5173","nav":[{"name":"node-canvas","desc":"node-canvas\u662fNode.js\u7684Cairo -backed Canvas\u5b9e\u73b0\u3002","url":"https://github.com/Automattic/node-canvas","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u56fe\u5f62\u76f8\u5173"],"ownVisible":false,"id":480},{"name":"svg-captcha","desc":"\u5728node.js\u4e2d\u751f\u6210svg\u9a8c\u8bc1\u7801","url":"https://github.com/lemonce/svg-captcha","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u56fe\u5f62\u76f8\u5173"],"ownVisible":false,"id":481},{"name":"ccap","desc":"node.js\u4f7f\u7528C++\u5e93CImg\u751f\u6210\u9a8c\u8bc1\u7801\uff0c\u65e0\u9700\u5b89\u88c5\u4efb\u4f55\u5176\u4ed6\u5e93\u6216\u8f6f\u4ef6","url":"https://github.com/DoubleSpout/ccap","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u56fe\u5f62\u76f8\u5173"],"ownVisible":false,"id":482},{"name":"text-to-svg","desc":"\u5c06\u6587\u672c\u8f6c\u6362\u4e3aSVG\u8def\u5f84\u800c\u4e0d\u4f9d\u8d56\u4e8e\u672c\u673a","url":"https://github.com/shrhdk/text-to-svg","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u56fe\u5f62\u76f8\u5173"],"ownVisible":false,"id":483},{"name":"svg2png","desc":"\u4f7f\u7528PhantomJS\u5c06SVG\u8f6c\u6362\u4e3aPNG","url":"https://github.com/domenic/svg2png","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u56fe\u5f62\u76f8\u5173"],"ownVisible":false,"id":484}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4ee3\u7406","nav":[{"name":"node-http-proxy","desc":"\u4e00\u4e2aHTTP\u53ef\u7f16\u7a0b\u4ee3\u7406\u5e93\uff0c\u652f\u6301websocket\u3002\u5b83\u9002\u7528\u4e8e\u5b9e\u73b0\u53cd\u5411\u4ee3\u7406\u548c\u8d1f\u8f7d\u5e73\u8861\u5668\u7b49\u7ec4\u4ef6","url":"https://github.com/nodejitsu/node-http-proxy","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u4ee3\u7406"],"ownVisible":false,"id":485},{"name":"http-proxy-middleware","desc":"\u7528\u4e8e\u8fde\u63a5\uff0c\u5feb\u901f\u548c\u6d4f\u89c8\u5668\u540c\u6b65\u7684\u5355\u7ebf\u7a0bnode.js http-proxy\u4e2d\u95f4\u4ef6\uff08\u57fa\u4e8enode-http-proxy\uff09","url":"https://github.com/chimurai/http-proxy-middleware","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u4ee3\u7406"],"ownVisible":false,"id":486}],"createdAt":"2021-01-23 09:32:06"},{"title":"AST\u8f85\u52a9\u5de5\u5177","nav":[{"name":"esprima","desc":"ECMAScript\u89e3\u6790\u57fa\u7840\u67b6\u6784\uff0c\u53ef\u8fdb\u884c\u591a\u7528\u9014\u5206\u6790, \u5c06\u4ee3\u7801\u8f6c\u6362\u6210AST","url":"https://esprima.org/","urls":{"-3":"https://github.com/jquery/esprima"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","AST\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":487},{"name":"recast","desc":"JavaScript AST\u8f6c\u6362\u5668\uff0c\u975e\u7834\u574f\u6027\u6f02\u4eae\u6253\u5370\u673a\u548c\u81ea\u52a8\u6e90\u6620\u5c04\u751f\u6210\u5668","url":"https://github.com/benjamn/recast","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","AST\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":488}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6587\u4ef6\u76f8\u5173","nav":[{"name":"node-xlsx","desc":"NodeJS excel\u6587\u4ef6\u89e3\u6790\u5668\u548c\u6784\u5efa\u5668","url":"https://github.com/mgcrea/node-xlsx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6587\u4ef6\u76f8\u5173"],"ownVisible":false,"id":489},{"name":"fs-extra","desc":"\u64cd\u4f5c\u7cfb\u7edf\u6587\u4ef6\uff0c\u7528\u4e8e\u66ff\u4ee3\u5185\u7f6e\u7684fs\u6a21\u5757","url":"https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e","urls":{"-1":"https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e","-3":"https://github.com/jprichardson/node-fs-extra"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6587\u4ef6\u76f8\u5173"],"ownVisible":false,"id":490},{"icon":"https://avatars0.githubusercontent.com/u/5826089?s=200&v=4","name":"js-xlsx","desc":"SheetJS\u793e\u533a\u7248 - \u7535\u5b50\u8868\u683c\u5de5\u5177\u5305","url":"https://sheetjs.com/","urls":{"-3":"https://github.com/SheetJS/js-xlsx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6587\u4ef6\u76f8\u5173"],"ownVisible":false,"id":491},{"icon":"https://www.archiverjs.com/images/logo.svg","name":"node-archiver","desc":"\u6587\u4ef6\u538b\u7f29","url":"https://www.archiverjs.com/","urls":{"-3":"https://github.com/archiverjs/node-archiver"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6587\u4ef6\u76f8\u5173"],"ownVisible":false,"id":492}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5fae\u4fe1\u5f00\u53d1","nav":[{"name":"wechat-oauth","desc":"\u5fae\u4fe1\u516c\u5171\u5e73\u53f0OAuth\u63a5\u53e3\u6d88\u606f\u63a5\u53e3\u670d\u52a1\u4e2d\u95f4\u4ef6\u4e0eAPI SDK","url":"https://github.com/node-webot/wechat-oauth","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5fae\u4fe1\u5f00\u53d1"],"ownVisible":false,"id":493},{"name":"wechat-api","desc":"\u5fae\u4fe1\u516c\u5171\u5e73\u53f0API","url":"https://github.com/node-webot/wechat-api","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5fae\u4fe1\u5f00\u53d1"],"ownVisible":false,"id":494},{"name":"wechat","desc":"\u5fae\u4fe1\u516c\u5171\u5e73\u53f0\u6d88\u606f\u63a5\u53e3\u670d\u52a1\u4e2d\u95f4\u4ef6","url":"https://github.com/node-webot/wechat","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5fae\u4fe1\u5f00\u53d1"],"ownVisible":false,"id":495},{"name":"wechaty","desc":"\u662f\u9002\u7528\u4e8e\u5fae\u4fe1\u4e2a\u4eba\u5e10\u6237\u7684Bot SDK \uff0c\u53ef\u4ee5\u5e2e\u52a9\u60a8\u521b\u5efa6\u884cjavascript\u7684\u673a\u5668\u4eba","url":"https://chatie.io/wechaty/","urls":{"-3":"https://github.com/Chatie/wechaty"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5fae\u4fe1\u5f00\u53d1"],"ownVisible":false,"id":496}],"createdAt":"2021-01-23 09:32:06"},{"title":"CLI","nav":[{"name":"Glob","desc":"\u5339\u914d\u6587\u4ef6\u3002 **/*.js","url":"https://github.com/isaacs/node-glob","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":497},{"name":"prompts","desc":"\u8f7b\u5de7\uff0c\u7f8e\u89c2\u548c\u7528\u6237\u53cb\u597d\u7684\u4ea4\u4e92\u5f0f\u63d0\u793a","url":"https://github.com/terkelg/prompts","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":498},{"icon":"https://avatars3.githubusercontent.com/u/21160645?s=200&v=4","name":"enquirer","desc":"\u65f6\u5c1a\uff0c\u76f4\u89c2\u548c\u7528\u6237\u53cb\u597d\u7684\u63d0\u793a","url":"https://github.com/enquirer/enquirer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":499},{"icon":"https://avatars2.githubusercontent.com/u/887802?s=200&v=4","name":"cli-table3","desc":"\u5e26\u6709Node.JS\u7684CLI\u7684\u6f02\u4eaeunicode\u8868","url":"https://github.com/cli-table/cli-table3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":500},{"name":"commander.js","desc":"node.js\u547d\u4ee4\u884c\u754c\u9762\u7684\u5b8c\u6574\u89e3\u51b3\u65b9\u6848\uff0c\u53d7Ruby\u6307\u6325\u5b98\u7684\u542f\u53d1","url":"https://github.com/tj/commander.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":501},{"name":"ora","desc":"\u4f18\u96c5\u7684\u7ec8\u7aef\u5fae\u8c03\u5668","url":"https://github.com/sindresorhus/ora","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":502},{"name":"Inquirer.js","desc":"\u5e38\u7528\u4ea4\u4e92\u5f0f\u547d\u4ee4\u884c\u7528\u6237\u754c\u9762\u7684\u96c6\u5408","url":"https://github.com/SBoudrias/Inquirer.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":503},{"name":"shelljs","desc":"Node.js\u7684\u53ef\u79fb\u690dUnix shell\u547d\u4ee4","url":"https://documentup.com/shelljs/shelljs","urls":{"-3":"https://github.com/shelljs/shelljs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":504},{"name":"download-git-repo","desc":"\u4e0b\u8f7d\u5e76\u63d0\u53d6git\u5b58\u50a8\u5e93\uff08GitHub\uff0cGitLab\uff0cBitbucket\uff09","url":"https://github.com/flipxfx/download-git-repo","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":505},{"icon":"https://avatars0.githubusercontent.com/u/6078720?s=200&v=4","name":"node-semver","desc":"node\u7684semver\u89e3\u6790\u5668","url":"https://github.com/npm/node-semver","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":506},{"name":"node-progress","desc":"node.js\u7684\u7075\u6d3bascii\u8fdb\u5ea6\u6761","url":"https://github.com/visionmedia/node-progress","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":507},{"name":"node-qrcode","desc":"\u4e8c\u7ef4\u7801\u751f\u6210","url":"https://github.com/soldair/node-qrcode","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":508},{"name":"open","desc":"\u6253\u5f00URL\uff0c\u6587\u4ef6\uff0c\u53ef\u6267\u884c\u6587\u4ef6\u7b49\u5185\u5bb9\u3002\u8de8\u5e73\u53f0\u3002","url":"https://github.com/sindresorhus/open","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":509},{"name":"ssh2","desc":"\u7528\u7eafJavaScript\u7f16\u5199\u7684SSH2\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u6a21\u5757\uff0c\u7528\u4e8enode.js","url":"https://github.com/mscdex/ssh2","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":510},{"name":"minimist","desc":"\u89e3\u6790\u53c2\u6570\u9009\u9879","url":"https://github.com/substack/minimist","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":511},{"name":"node-clear","desc":"\u6e05\u7a7a\u7ec8\u7aef\u5c4f\u5e55\u4fe1\u606f","url":"https://github.com/bahamas10/node-clear","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":512},{"icon":"https://avatars2.githubusercontent.com/u/13122722?s=200&v=4","name":"chalk","desc":"\u7ec8\u7aef\u5b57\u7b26\u4e32\u6837\u5f0f","url":"https://github.com/chalk/chalk","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":513},{"icon":"https://avatars3.githubusercontent.com/u/16504989?s=200&v=4","name":"yargs","desc":"\u901a\u8fc7\u89e3\u6790\u53c2\u6570\u5e76\u751f\u6210\u4f18\u96c5\u7684\u7528\u6237\u754c\u9762\u6765\u5e2e\u52a9\u60a8\u6784\u5efa\u4ea4\u4e92\u5f0f\u547d\u4ee4\u884c\u5de5\u5177\u3002","url":"https://github.com/yargs/yargs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":514}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6a21\u677f\u5f15\u64ce","nav":[{"icon":"https://handlebarsjs.com/images/favicon.png","name":"handlebars","desc":"JavaScript\u6a21\u677f\u5f15\u64ce","url":"http://handlebarsjs.com/","urls":{"-3":"https://github.com/wycats/handlebars.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6a21\u677f\u5f15\u64ce"],"ownVisible":false,"id":515},{"icon":"https://ejs.co/favicon.svg","name":"ejs","desc":"JavaScript\u6a21\u677f\u5f15\u64ce","url":"https://ejs.co/","urls":{"-3":"https://github.com/mde/ejs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6a21\u677f\u5f15\u64ce"],"ownVisible":false,"id":516},{"icon":"https://github.githubassets.com/favicons/favicon.svg","name":"mustache.js","desc":"\u4f7f\u7528JavaScript\u7684\u65e0\u903b\u8f91{{mustache}}\u6a21\u677f","url":"https://github.com/janl/mustache.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6a21\u677f\u5f15\u64ce"],"ownVisible":false,"id":517}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"node-xml2js","desc":"\u7b80\u5355\u7684XML\u5230JavaScript\u5bf9\u8c61\u8f6c\u6362\u5668\u3002\u5b83\u652f\u6301\u53cc\u5411\u8f6c\u6362\u3002\u4f7f\u7528sax-js\u548c xmlbuilder-js","url":"https://github.com/Leonidas-from-XIV/node-xml2js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":518},{"name":"iconv-lite","desc":"\u7eafJavaScript\u4e2d\u8f6c\u6362\u5b57\u7b26\u7f16\u7801\u3002","url":"https://github.com/ashtuchkin/iconv-lite","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":519},{"name":"node-uuid","desc":"\u5728JavaScript\u4e2d\u751f\u6210\u7b26\u5408RFC\u7684UUID","url":"https://github.com/kelektiv/node-uuid","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":520},{"name":"nativefier","desc":"\u4f7f\u4efb\u4f55\u7f51\u9875\u6210\u4e3a\u684c\u9762\u5e94\u7528\u7a0b\u5e8f","url":"https://github.com/jiahaog/nativefier","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":521},{"name":"getmac","desc":"\u901a\u8fc7Node.js\u83b7\u53d6\u5f53\u524d\u8ba1\u7b97\u673a\u7684mac\u5730\u5740","url":"https://github.com/bevry/getmac","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":522},{"name":"http-server","desc":"\u4e00\u4e2a\u7b80\u5355\u7684\u96f6\u914d\u7f6e\u547d\u4ee4\u884chttp\u670d\u52a1\u5668","url":"https://github.com/indexzero/http-server","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":523},{"name":"node-schedule","desc":"Node\u7684\u7c7b\u4f3ccron-like\u548c\u975enot-cron-like\u7684\u4f5c\u4e1a\u8c03\u5ea6\u7a0b\u5e8f\u3002","url":"https://github.com/node-schedule/node-schedule","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":524},{"name":"qrcode-terminal","desc":"QRCode\u7ec8\u7aef\u7248","url":"https://github.com/gtanner/qrcode-terminal","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":525},{"icon":"https://avatars1.githubusercontent.com/u/13612933?s=200&v=4","name":"localtunnel","desc":"localtunnel\u5c06\u60a8\u7684localhost\u66b4\u9732\u7ed9\u4e16\u754c\uff0c\u4ee5\u4fbf\u4e8e\u6d4b\u8bd5\u548c\u5171\u4eab\uff01\u65e0\u9700\u6df7\u6dc6DNS\u6216\u90e8\u7f72\u53ea\u662f\u4e3a\u4e86\u8ba9\u5176\u4ed6\u4eba\u6d4b\u8bd5\u60a8\u7684\u66f4\u6539","url":"https://localtunnel.github.io/www/","urls":{"-3":"https://github.com/localtunnel/localtunnel"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":526},{"icon":"http://www.passportjs.org/images/favicon/apple-icon-57x57.png","name":"passport","desc":"Node.js\u7684\u7b80\u5355\uff0c\u4e0d\u663e\u773c\u7684\u8eab\u4efd\u9a8c\u8bc1","url":"http://www.passportjs.org/","urls":{"-3":"https://github.com/jaredhanson/passport"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":527},{"name":"parameter","desc":"\u53c2\u6570\u9a8c\u8bc1\u5de5\u5177","url":"https://github.com/node-modules/parameter","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":528},{"name":"bytes","desc":"\u7528\u4e8e\u89e3\u6790\u5b57\u7b26\u4e32\u5b57\u8282, b/kb/mb/gb/tb/pb","url":"https://github.com/visionmedia/bytes.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":529},{"icon":"https://avatars2.githubusercontent.com/u/723678?s=200&v=4","name":"js-yaml","desc":"JavaScript YAML\u89e3\u6790\u5668\u548c\u8f6c\u50a8\u5668\u3002\u975e\u5e38\u5feb","url":"https://nodeca.github.io/js-yaml/","urls":{"-3":"https://github.com/nodeca/js-yaml"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":530},{"icon":"https://avatars0.githubusercontent.com/u/34631683?s=200&v=4","name":"acorn","desc":"\u4e00\u4e2a\u5c0f\u578b\uff0c\u57fa\u4e8eJavaScript\u7684\u5feb\u901fJavaScript\u89e3\u6790\u5668","url":"https://github.com/acornjs/acorn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":531},{"name":"figlet.js","desc":"\u7528JavaScript\u7f16\u5199\u7684FIG\u9a71\u52a8\u7a0b\u5e8f\uff0c\u65e8\u5728\u5b8c\u5168\u5b9e\u73b0FIGfont\u89c4\u8303, \u751f\u6210ascii","url":"https://github.com/patorjk/figlet.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":532},{"name":"node-printer","desc":"\u672c\u673a node.js \u6253\u5370\u673a","url":"https://github.com/tojocky/node-printer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":533},{"name":"fontmin","desc":"\u65e0\u7f1d\u7f29\u5c0f\u5b57\u4f53","url":"https://github.com/ecomfe/fontmin","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":534},{"icon":"https://avatars1.githubusercontent.com/u/5658226?s=200&v=4","name":"morgan","desc":"Node.js\u7684HTTP\u8bf7\u6c42\u8bb0\u5f55\u5668\u4e2d\u95f4\u4ef6","url":"https://github.com/expressjs/morgan","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":535},{"icon":"https://avatars0.githubusercontent.com/u/9271229?s=200&v=4","name":"jsdom","desc":"\u4e0eNode.js\u4e00\u8d77\u4f7f\u7528\u7684\u5404\u79cdWeb\u6807\u51c6\u7684JavaScript\u5b9e\u73b0","url":"https://github.com/jsdom/jsdom","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":536}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8de8\u5e73\u53f0\u6846\u67b6","nav":[{"title":"Electron","icon":"https://www.electronjs.org/images/favicon.ico","nav":[{"name":"Electron","desc":"\u4f7f\u7528 JavaScript, HTML \u548c CSS \u6784\u5efa\u8de8\u5e73\u53f0\u7684\u684c\u9762\u5e94\u7528","url":"https://electronjs.org/","urls":{"-3":"https://github.com/electron/electron"},"icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":537},{"name":"electron-packager","desc":"\u901a\u8fc7JS\u6216CLI\u81ea\u5b9a\u4e49\u548c\u5c01\u88c5\u60a8\u7684Electron\u5e94\u7528\u7a0b\u5e8f\u4e0e\u7279\u5b9a\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u7684\u8f6f\u4ef6\u5305\uff08.app\uff0c.exe\u7b49\uff09","url":"https://github.com/electron-userland/electron-packager","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":538},{"name":"electron-installer-dmg","desc":"\u4f7f\u7528AppDMG\u4e3a\u7535\u5b50\u5e94\u7528\u7a0b\u5e8f\u521b\u5efaDMG\u5b89\u88c5\u7a0b\u5e8f","url":"https://github.com/electron-userland/electron-installer-dmg","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":539},{"icon":"https://simulatedgreg.gitbooks.io/electron-vue/content/gitbook/images/apple-touch-icon-precomposed-152.png","name":"electron-vue","desc":"\u57fa\u4e8e vue (\u57fa\u672c\u4e0a\u662f\u5b83\u542c\u8d77\u6765\u7684\u6837\u5b50) \u6765\u6784\u9020 electron \u5e94\u7528\u7a0b\u5e8f\u7684\u6837\u677f\u4ee3\u7801\u3002","url":"https://simulatedgreg.gitbooks.io/electron-vue/content/cn/","urls":{"-2":"https://simulatedgreg.gitbooks.io/electron-vue/content/en/","-1":"https://simulatedgreg.gitbooks.io/electron-vue/content/cn/","-3":"https://github.com/SimulatedGREG/electron-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":540},{"icon":"https://www.electron.build/assets/images/favicon.png","name":"electron-builder","desc":"\u4e00\u4e2a\u5f00\u7bb1\u5373\u7528\u7684\u5b8c\u6574\u89e3\u51b3\u65b9\u6848\uff0c\u7528\u4e8e\u5c06Electron, Proton Native or Muon \u6253\u5305\u3001\u6784\u5efa\u6210\u652f\u6301macOS, Windows and Linux\u4e09\u5927\u7cfb\u7edf\u7684\uff0c\u53ef\u201d\u81ea\u52a8\u66f4\u65b0\u201d\u7684\u53ef\u53d1\u5e03\u5b89\u88c5\u7a0b\u5e8f","url":"https://www.electron.build/","urls":{"-3":"https://github.com/electron-userland/electron-builder"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":541},{"icon":"https://electron-react-boilerplate.js.org/logo/logo.png","name":"electron-react-boilerplate","desc":"\u57fa\u4e8eReact\u53ef\u6269\u5c55\u8de8\u5e73\u53f0\u5e94\u7528\u7a0b\u5e8f\u7684App","url":"https://electron-react-boilerplate.js.org/","urls":{"-3":"https://github.com/electron-react-boilerplate/electron-react-boilerplate"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":542},{"name":"menubar","desc":"Electron\u521b\u5efa\u83dc\u5355\u680f\u684c\u9762\u5e94\u7528\u7a0b\u5e8f\u7684\u9ad8\u7ea7\u65b9\u6cd5\u3002","url":"https://github.com/maxogden/menubar","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":543}],"createdAt":"2021-01-23 09:32:06"},{"title":"nw.js","nav":[{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nw.js","desc":"\u4eceDOM/WebWorker\u5c42,\u76f4\u63a5\u8c03\u7528\u6240\u6709\u7684Node\u6a21\u5757\uff0c\u4f7f\u7528\u73b0\u6709\u7684web\u6280\u672f\uff0c\u5f00\u542f\u4e00\u4e2a\u5168\u65b0\u7684\u7f16\u5199\u5e94\u7528\u7684\u65b9\u5f0f","url":"https://nwjs.org.cn/","urls":{"-2":"https://nwjs.io/","-1":"https://nwjs.org.cn/","-3":"https://github.com/nwjs/nw.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","nw.js"],"ownVisible":false,"id":544},{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nw-builder","desc":"\u4ee5\u7f16\u7a0b\u65b9\u5f0f\u6216\u901a\u8fc7CLI \u6784\u5efa\u9002\u7528\u4e8eMac\uff0cWin\u548cLinux\u7684NW.js\u5e94\u7528\u7a0b\u5e8f\u3002","url":"https://github.com/nwjs-community/nw-builder","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","nw.js"],"ownVisible":false,"id":545},{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nwjs-ffmpeg-prebuilt","desc":"FFMpeg\u9884\u6784\u5efa\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\u5177\u6709\u4e13\u6709\u7684\u7f16\u89e3\u7801\u5668\u548c\u6784\u5efa\u7a97\u53e3\u3002","url":"https://github.com/iteufel/nwjs-ffmpeg-prebuilt","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","nw.js"],"ownVisible":false,"id":546}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"WEB\u6846\u67b6","nav":[{"title":"nest","nav":[{"icon":"https://avatars1.githubusercontent.com/u/28507035?s=200&v=4","name":"nest","desc":"Nest \u662f\u4e00\u4e2a\u7528\u4e8e\u6784\u5efa\u9ad8\u6548\uff0c\u53ef\u6269\u5c55\u7684 Node.js \u670d\u52a1\u5668\u7aef\u5e94\u7528\u7a0b\u5e8f\u7684\u6846\u67b6\u3002\u5b83\u4f7f\u7528\u6e10\u8fdb\u5f0f JavaScript\uff0c\u5185\u7f6e\u5e76\u5b8c\u5168\u652f\u6301 TypeScript\uff08\u4f46\u4ecd\u7136\u5141\u8bb8\u5f00\u53d1\u4eba\u5458\u4f7f\u7528\u7eaf JavaScript \u7f16\u5199\u4ee3\u7801\uff09\u5e76\u7ed3\u5408\u4e86 OOP\uff08\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff09\uff0cFP\uff08\u529f\u80fd\u7f16\u7a0b\uff09\u548c FRP\uff08\u529f\u80fd\u53cd\u5e94\u7f16\u7a0b\uff09\u7684\u5143\u7d20","url":"https://docs.nestjs.cn/6/introduction","urls":{"-2":"https://nestjs.com/","-1":"https://docs.nestjs.cn/6/introduction","-3":"https://github.com/nestjs/nest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","nest"],"ownVisible":false,"id":547},{"icon":"https://avatars1.githubusercontent.com/u/28507035?s=200&v=4","name":"awesome-nestjs","desc":"NestJS\u7684\u7cbe\u9009\u5217\u8868","url":"https://github.com/juliandavidmr/awesome-nestjs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","nest"],"ownVisible":false,"id":548}],"createdAt":"2021-01-23 09:32:06"},{"title":"egg.js","nav":[{"icon":"https://eggjs.org/images/favicon.png","name":"Egg.js","desc":"Egg.js \u4e3a\u4f01\u4e1a\u7ea7\u6846\u67b6\u548c\u5e94\u7528\u800c\u751f\uff0c\u6211\u4eec\u5e0c\u671b\u7531 Egg.js \u5b55\u80b2\u51fa\u66f4\u591a\u4e0a\u5c42\u6846\u67b6\uff0c\u5e2e\u52a9\u5f00\u53d1\u56e2\u961f\u548c\u5f00\u53d1\u4eba\u5458\u964d\u4f4e\u5f00\u53d1\u548c\u7ef4\u62a4\u6210\u672c","url":"https://eggjs.org/zh-cn/intro/index.html","urls":{"-2":"https://eggjs.org","-1":"https://eggjs.org/zh-cn/intro/index.html","-3":"https://github.com/eggjs/egg/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","egg.js"],"ownVisible":false,"id":549},{"icon":"https://eggjs.org/images/favicon.png","name":"egg-validate","desc":"\u57fa\u4e8e parameter \u5c01\u88c5\u7684\u53c2\u6570\u9a8c\u8bc1\u63d2\u4ef6","url":"https://github.com/eggjs/egg-validate","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","egg.js"],"ownVisible":false,"id":550},{"icon":"https://eggjs.org/images/favicon.png","name":"egg-mailer","desc":"\u57fa\u4e8e nodemailer \u5c01\u88c5\u7684\u53c2\u6570\u9a8c\u8bc1\u63d2\u4ef6","url":"https://github.com/xjh22222228/egg-mailer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","egg.js"],"ownVisible":false,"id":551}],"createdAt":"2021-01-23 09:32:06"},{"title":"Express/Koa","nav":[{"icon":"https://avatars2.githubusercontent.com/u/5055057?s=200&v=4","name":"Koa","desc":"Koa -- \u57fa\u4e8eNode.js \u5e73\u53f0\u7684\u4e0b\u4e00\u4ee3web\u5f00\u53d1\u6846\u67b6","url":"https://koa.bootcss.com/","urls":{"-2":"https://koajs.com/","-1":"https://koa.bootcss.com/","-3":"https://github.com/koajs/koa"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","Express/Koa"],"ownVisible":false,"id":552},{"icon":"https://avatars1.githubusercontent.com/u/5658226?s=200&v=4","name":"Express","desc":"Express - \u5feb\u901f\u3001\u5f00\u653e\u3001\u6781\u7b80\u7684 Web \u5f00\u53d1\u6846\u67b6","url":"http://expressjs.jser.us/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","Express/Koa"],"ownVisible":false,"id":553}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8f85\u52a9\u5de5\u5177","icon":"https://nodejs.org/static/images/favicons/favicon.ico","nav":[{"title":"\u8c03\u8bd5debugger","nav":[{"name":"node-inspector","desc":"Node.js\u8c03\u8bd5\u5668\u57fa\u4e8eBlink Developer Tools","url":"https://github.com/node-inspector/node-inspector","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u8c03\u8bd5debugger"],"ownVisible":false,"id":554},{"name":"debug","desc":"\u4e00\u4e2a\u5fae\u5c0f\u7684JavaScript\u8c03\u8bd5\u5de5\u5177\uff0c\u4ee5Node.js\u6838\u5fc3\u7684\u8c03\u8bd5\u6280\u672f\u4e3a\u6a21\u578b\u3002\u9002\u7528\u4e8eNode.js\u548cWeb\u6d4f\u89c8\u5668","url":"https://github.com/visionmedia/debug","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u8c03\u8bd5debugger"],"ownVisible":false,"id":555},{"name":"ndb","desc":"ndb\u662f\u9488\u5bf9Node.js\u7684\u6539\u8fdb\u8c03\u8bd5\u4f53\u9a8c\uff0c\u7531Chrome DevTools\u542f\u7528","url":"https://github.com/GoogleChromeLabs/ndb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u8c03\u8bd5debugger"],"ownVisible":false,"id":556}],"createdAt":"2021-01-23 09:32:06"},{"title":"node\u7248\u672c\u7ba1\u7406","nav":[{"name":"nvm","desc":"Node\u7248\u672c\u7ba1\u7406\u5668 - \u7528\u4e8e\u7ba1\u7406\u591a\u4e2a\u6d3b\u52a8node.js\u7248\u672c\u7684\u7b80\u5355bash\u811a\u672c","url":"https://github.com/creationix/nvm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","node\u7248\u672c\u7ba1\u7406"],"ownVisible":false,"id":557},{"name":"nvm-windows","desc":"\u9002\u7528\u4e8eWindows\u7684node.js\u7248\u672c\u7ba1\u7406\u5b9e\u7528\u7a0b\u5e8f","url":"https://github.com/coreybutler/nvm-windows","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","node\u7248\u672c\u7ba1\u7406"],"ownVisible":false,"id":558},{"name":"nvs","desc":"Node Version Switcher - \u7528\u4e8e\u5728Node.js\u7684\u7248\u672c\u548c\u5206\u652f\u4e4b\u95f4\u5207\u6362\u7684\u8de8\u5e73\u53f0\u5de5\u5177(\u53d7\u5230nvm\u7684\u542f\u53d1)","url":"https://github.com/jasongin/nvs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","node\u7248\u672c\u7ba1\u7406"],"ownVisible":false,"id":559},{"name":"n","desc":"Node.js\u7248\u672c\u7ba1\u7406\uff1a\u65e0\u914d\u7f6e\u6587\u4ef6\uff0c\u65e0\u590d\u6742\u7684API\uff0c\u975e\u5e38\u7b80\u5355","url":"https://github.com/tj/n","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","node\u7248\u672c\u7ba1\u7406"],"ownVisible":false,"id":560}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u65e5\u5fd7\u7ba1\u7406","nav":[{"name":"log4js-node","desc":"log4js \u662f\u4e00\u4e2a nodejs \u65e5\u5fd7\u7ba1\u7406\u5de5\u5177\uff0c\u53ef\u4ee5\u5c06\u65e5\u5fd7\u4ee5\u5404\u79cd\u5f62\u5f0f\u8f93\u51fa\u5230\u5404\u79cd\u6e20\u9053\u3002","url":"https://log4js-node.github.io/log4js-node/index.html","urls":{"-3":"https://github.com/log4js-node/log4js-node"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u65e5\u5fd7\u7ba1\u7406"],"ownVisible":false,"id":561},{"name":"node-bunyan","desc":"\u7528\u4e8enode.js\u670d\u52a1\u7684\u7b80\u5355\u5feb\u901f\u7684JSON\u65e5\u5fd7\u8bb0\u5f55\u6a21\u5757","url":"https://github.com/trentm/node-bunyan","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u65e5\u5fd7\u7ba1\u7406"],"ownVisible":false,"id":562}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u96c6\u6210\u5de5\u5177","nav":[{"icon":"https://avatars0.githubusercontent.com/u/1714870?s=200&v=4","name":"yeoman","desc":"\u4e00\u5957\u7528\u4e8e\u81ea\u52a8\u5316\u5f00\u53d1\u5de5\u4f5c\u6d41\u7a0b\u7684\u5de5\u5177","url":"https://yeoman.io/","urls":{"-3":"https://github.com/yeoman/yeoman"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u96c6\u6210\u5de5\u5177"],"ownVisible":false,"id":563},{"icon":"https://avatars0.githubusercontent.com/u/16486629?s=200&v=4","name":"nodemailer","desc":"\u53d1\u9001\u6765\u81eaNode.js\u7684\u7535\u5b50\u90ae\u4ef6 - \u5f88\u5bb9\u6613\u5c31\u50cf\u86cb\u7cd5\u4e00\u6837\uff01","url":"http://nodemailer.com/","urls":{"-3":"https://github.com/nodemailer/nodemailer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u96c6\u6210\u5de5\u5177"],"ownVisible":false,"id":564},{"name":"gh-pages","desc":"\u5c06\u6587\u4ef6\u53d1\u5e03\u5230GitHub\u4e0a\u7684gh-pages\u5206\u652f\u7684\u5e38\u89c4\u4efb\u52a1","url":"https://github.com/tschaub/gh-pages","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u96c6\u6210\u5de5\u5177"],"ownVisible":false,"id":565}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4ee3\u7801\u538b\u7f29","nav":[{"icon":"https://avatars1.githubusercontent.com/u/43502240?s=200&v=4","name":"terser","desc":"\u9002\u7528\u4e8eES6+\u7684JavaScript\u89e3\u6790\u5668\uff0cmangler\u548c\u538b\u7f29\u5668\u5de5\u5177\u5305","url":"https://terser.org/","urls":{"-3":"https://github.com/terser/terser"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u4ee3\u7801\u538b\u7f29"],"ownVisible":false,"id":566}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"Awehunt","desc":"npm\u5305\u4e0b\u8f7d\u91cf\u66f2\u7ebf\u5bf9\u6bd4\u56fe","url":"https://awehunt.com/npmdownloads?ids=react,angular,vue","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":567},{"name":"nodemon","desc":"\u76d1\u89c6node.js\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u4efb\u4f55\u66f4\u6539\u5e76\u81ea\u52a8\u91cd\u65b0\u542f\u52a8\u670d\u52a1\u5668 - \u975e\u5e38\u9002\u5408\u5f00\u53d1","url":"https://nodemon.io/","urls":{"-3":"https://github.com/remy/nodemon"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":568},{"name":"pkg","desc":"\u5c06Node.js\u9879\u76ee\u6253\u5305\u6210\u53ef\u6267\u884c\u6587\u4ef6","url":"https://github.com/zeit/pkg","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":569},{"name":"npm-check-updates","desc":"\u67e5\u627epackage.json\u6216bower.json\u5141\u8bb8\u7684\u66f4\u65b0\u7248\u672c\u7684\u8f6f\u4ef6\u5305\u4f9d\u8d56\u9879","url":"https://github.com/tjunnone/npm-check-updates","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":570},{"name":"husky","desc":"husky \u53ef\u4ee5\u9632\u6b62\u9519\u8bef\u7684 git commit, git push \u7b49","url":"https://github.com/typicode/husky","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":571},{"name":"bundlephobia","desc":"\u627e\u51fa\u5728\u9879\u76ee\u4e2d\u6dfb\u52a0\u65b0\u7684\u4f9d\u8d56\u9879\u7684\u5305\u5927\u5c0f","url":"https://bundlephobia.com","urls":{"-3":"https://github.com/pastelsky/bundlephobia"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":572},{"name":"npm-run-all","desc":"\u4e00\u4e2aCLI\u5de5\u5177\uff0c\u53ef\u5e76\u884c\u6216\u987a\u5e8f\u8fd0\u884c\u591a\u4e2anpm\u811a\u672c","url":"https://github.com/mysticatea/npm-run-all","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":573},{"name":"dotenv","desc":"\u4ece.env\u52a0\u8f7d\u7528\u4e8enodejs\u9879\u76ee\u7684\u73af\u5883\u53d8\u91cf","url":"https://github.com/motdotla/dotenv#readme","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":574},{"name":"cross-env","desc":"\u8fd0\u884c\u8de8\u5e73\u53f0\u8bbe\u7f6e\u548c\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u7684\u811a\u672c","url":"https://github.com/kentcdodds/cross-env","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":575},{"name":"nrm","desc":"npm\u6e90\u5feb\u901f\u5207\u6362\uff0c npm, cnpm, taobao, nj, \u5185\u7f51","url":"https://github.com/Pana/nrm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":576}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Deno","nav":[{"title":"\u5b98\u65b9","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","nav":[{"name":"Deno","desc":"\u4e00\u4e2a\u5b89\u5168\u7684\u8fd0\u884c\u65f6\u7684JavaScript\u548cTypeScript","url":"https://deno.land/","urls":{"-3":"https://github.com/denoland"},"icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","Deno","\u5b98\u65b9"],"ownVisible":false,"id":577},{"name":"Deno \u6807\u51c6\u5e93","desc":"Deno \u6807\u51c6\u5e93","url":"https://deno.land/std","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","Deno","\u5b98\u65b9"],"ownVisible":false,"id":578}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5de5\u5177","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","nav":[{"name":"Deno","desc":"\u9002\u7528\u4e8eDeno\u7684Visual Studio Code\u63d2\u4ef6","url":"https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno","urls":{"-3":"https://github.com/denoland/vscode_deno"},"icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","Deno","\u5de5\u5177"],"ownVisible":false,"id":579}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"id":0,"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"Golang","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"\u751f\u6001","nav":[{"name":"Golang","desc":"Go\u7f16\u7a0b\u8bed\u8a00","url":"https://go-zh.org/","urls":{"-2":"https://golang.org/","-1":"https://go-zh.org/","-3":"https://github.com/golang/go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":580},{"name":"go.dev","desc":"\u5927\u89c4\u6a21\u6784\u5efa\u5feb\u901f\uff0c\u53ef\u9760\uff0c\u9ad8\u6548\u7684\u8f6f\u4ef6","url":"https://go.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":581},{"name":"awesome-go","desc":"\u7cbe\u9009\u7684Go\u6846\u67b6\uff0c\u5e93\u548c\u8f6f\u4ef6\u7684\u7cbe\u9009\u5217\u8868","url":"https://github.com/jobbole/awesome-go-cn","urls":{"-2":"https://github.com/avelino/awesome-Go","-1":"https://github.com/jobbole/awesome-go-cn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":582},{"icon":"https://avatars1.githubusercontent.com/u/49926011?s=200&v=4","name":"Goproxy","desc":"\u4e2d\u56fd\u6700\u53ef\u9760\u7684 Go \u6a21\u5757\u4ee3\u7406","url":"https://goproxy.cn/","urls":{"-3":"https://github.com/goproxy/goproxy.cn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":583},{"icon":"https://static.studygolang.com/static/img/favicon.ico","name":"Go\u8bed\u8a00\u4e2d\u6587\u7f51","desc":"Go\u8bed\u8a00\u4e2d\u6587\u7f51","url":"https://studygolang.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":584},{"icon":"https://studygolang.com/static/img/go.ico","name":"Go\u6807\u51c6\u5e93\u4e2d\u6587\u6587\u6863","desc":"Go\u6807\u51c6\u5e93\u4e2d\u6587\u6587\u6863","url":"https://studygolang.com/pkgdoc","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":585}],"createdAt":"2021-01-23 09:32:06"},{"title":"WEB\u6846\u67b6","nav":[{"name":"gin","desc":"Gin\u662f\u7528Go\uff08Golang\uff09\u7f16\u5199\u7684Web\u6846\u67b6\u3002\u5b83\u5177\u6709\u7c7b\u4f3c\u4e8emartini\u7684API\uff0c\u5176\u6027\u80fd\u6bd4httprouter\u5feb40\u500d\u3002\u5982\u679c\u60a8\u9700\u8981\u6027\u80fd\u548c\u826f\u597d\u7684\u751f\u4ea7\u7387\uff0c\u60a8\u4f1a\u559c\u6b22Gin","url":"https://learnku.com/docs/gin-gonic/2019/go-gin-document","urls":{"-2":"https://gin-gonic.com/","-1":"https://learnku.com/docs/gin-gonic/2019/go-gin-document","-3":"https://github.com/gin-gonic/gin"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":586},{"name":"beego","desc":"beego\u662f\u7528\u4e8eGo\u7f16\u7a0b\u8bed\u8a00\u7684\u5f00\u6e90\uff0c\u9ad8\u6027\u80fdWeb\u6846\u67b6","url":"http://beego.me","urls":{"-2":"http://beego.me","-3":"https://github.com/astaxie/beego"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":587},{"name":"martini","desc":"Go\u7684\u7ecf\u5178Web\u6846\u67b6","url":"http://martini.codegangsta.io","urls":{"-2":"http://martini.codegangsta.io","-3":"https://github.com/go-martini/martini"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":588},{"icon":"https://avatars1.githubusercontent.com/u/2624634?s=200&v=4","name":"echo","desc":"\u9ad8\u6027\u80fd\uff0c\u7b80\u7ea6\u7684Go Web\u6846\u67b6","url":"https://echo.labstack.com","urls":{"-2":"https://echo.labstack.com","-3":"https://github.com/labstack/echo"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":589},{"icon":"https://www.iris-go.com/favicon.ico","name":"iris","desc":"\u6700\u5feb\u7684HTTP / 2 Go Web\u6846\u67b6\u3002AWS Lambda\uff0cgRPC\uff0cMVC\uff0c\u552f\u4e00\u8def\u7531\u5668\uff0cWebsocket\uff0c\u4f1a\u8bdd\uff0c\u6d4b\u8bd5\u5957\u4ef6\uff0c\u4f9d\u8d56\u6ce8\u5165\u7b49\u3002expressjs\u548claravel\u7684\u771f\u6b63\u7ee7\u627f\u8005|","url":"https://www.iris-go.com/","urls":{"-3":"https://github.com/kataras/iris"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":590},{"icon":"https://avatars1.githubusercontent.com/u/59947262?s=200&v=4","name":"fiber","desc":"Fiber\u662f\u4e00\u4e2a\u53d7Express\u542f\u53d1\u7684Web\u6846\u67b6\uff0c\u5efa\u7acb\u5728Fasthttp\uff08Go\u6700\u5feb\u7684HTTP\u5f15\u64ce\uff09\u7684\u57fa\u7840\u4e0a\u3002 \u65e8\u5728\u7b80\u5316\u96f6\u5185\u5b58\u5206\u914d\u548c\u6027\u80fd\u7684\u60c5\u51b5\uff0c\u4ee5\u4fbf\u5feb\u901f\u5f00\u53d1\u3002","url":"https://gofiber.io/","urls":{"-3":"https://github.com/gofiber/fiber"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":591}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4f9d\u8d56\u5305","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"GUI","nav":[{"icon":"https://avatars3.githubusercontent.com/u/36045855?s=200&v=4","name":"Fyne","desc":"\u57fa\u4e8eMaterial Design\u7684Go\u8de8\u5e73\u53f0GUI","url":"https://fyne.io/","urls":{"-3":"https://github.com/fyne-io/fyne"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","GUI"],"ownVisible":false,"id":592}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u65e5\u5fd7\u6a21\u5757","nav":[{"name":"logrus","desc":"Go\u7684\u7ed3\u6784\u5316\uff0c\u53ef\u63d2\u5165\u65e5\u5fd7\u8bb0\u5f55\u3002","url":"https://github.com/sirupsen/logrus","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u65e5\u5fd7\u6a21\u5757"],"ownVisible":false,"id":593},{"icon":"https://avatars3.githubusercontent.com/u/19262598?s=200&v=4","name":"zap","desc":"\u5728Go\u4e2d\u5b9e\u73b0\u5feb\u901f\uff0c\u7ed3\u6784\u5316\uff0c\u6c34\u5e73\u7684\u65e5\u5fd7\u8bb0\u5f55\u3002","url":"https://github.com/uber-go/zap","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u65e5\u5fd7\u6a21\u5757"],"ownVisible":false,"id":594}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5e93","nav":[{"name":"gorm","desc":"\u9002\u7528\u4e8eGolang\u7684\u7edd\u4f73ORM\u5e93\uff0c\u65e8\u5728\u5bf9\u5f00\u53d1\u4eba\u5458\u53cb\u597d","url":"https://gorm.io/zh_CN/","urls":{"-2":"https://gorm.io/","-1":"https://gorm.io/zh_CN/","-3":"https://github.com/go-gorm/gorm"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":595},{"icon":"https://entgo.io/img/favicon.ico","name":"ent","desc":"\u7528\u4e8eGo\u7684\u7b80\u5355\u4f46\u529f\u80fd\u5f3a\u5927\u7684\u5b9e\u4f53\u6846\u67b6\uff0c\u53ef\u8f7b\u677e\u6784\u5efa\u548c\u7ef4\u62a4\u5177\u6709\u5927\u578b\u6570\u636e\u6a21\u578b\u7684\u5e94\u7528\u7a0b\u5e8f\u3002","url":"https://entgo.io/","urls":{"-3":"https://github.com/facebook/ent"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":596},{"name":"mysql","desc":"Go MySQL\u9a71\u52a8\u7a0b\u5e8f\u662fGo\uff08golang\uff09\u6570\u636e\u5e93/ sql\u5305\u7684MySQL\u9a71\u52a8\u7a0b\u5e8f","url":"https://github.com/go-sql-driver/mysql","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":597},{"name":"sqlite3","desc":"sqlite3\u9a71\u52a8\u7a0b\u5e8f","url":"https://github.com/mattn/go-sqlite3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":598},{"name":"pq","desc":"\u9002\u7528\u4e8edatabase/sql\u7684Pure Go Postgres\u9a71\u52a8\u7a0b\u5e8f","url":"https://github.com/lib/pq","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":599},{"icon":"https://redis.uptrace.dev/assets/images/favicon.png","name":"redis","desc":"\u7528\u4e8eGolang\u7684\u7c7b\u578b\u5b89\u5168\u7684Redis\u5ba2\u6237\u7aef","url":"https://redis.uptrace.dev/","urls":{"-3":"https://github.com/go-redis/redis"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":600}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u89e3\u6790\u5668","nav":[{"name":"json-iterator","desc":"\u9ad8\u6027\u80fd100\uff05\u517c\u5bb9\u7684\u201c encoding / json\u201d\u66ff\u4ee3\u4ea7\u54c1","url":"http://jsoniter.com/migrate-from-go-std.html","urls":{"-3":"https://github.com/json-iterator/go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":601},{"name":"blackfriday","desc":"Markdown\u5904\u7406\u5668\uff0c\u5b89\u5168\u3001\u5feb\u901f\u3002","url":"https://github.com/russross/blackfriday","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":602},{"name":"goldmark","desc":"\u7528Go\u8bed\u8a00\u7f16\u5199\u7684markdown\u89e3\u6790\u5668\u3002\u6613\u4e8e\u6269\u5c55\uff0c\u7b26\u5408\u6807\u51c6\uff08CommonMark\uff09\uff0c\u7ed3\u6784\u5408\u7406\u3002","url":"https://github.com/yuin/goldmark","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":603},{"name":"goquery","desc":"\u63a5\u8fd1jQuery\u8bed\u6cd5\u7684DOM\u89e3\u6790\u5e93","url":"https://github.com/PuerkitoBio/goquery","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":604},{"name":"go-yaml","desc":"yaml\u5305\u4f7fGo\u7a0b\u5e8f\u80fd\u591f\u8f7b\u677e\u5730\u5bf9yaml\u503c\u8fdb\u884c\u7f16\u7801\u548c\u89e3\u7801, \u53ef\u4ee5\u5feb\u901f\u53ef\u9760\u5730\u89e3\u6790\u548c\u751f\u6210YAML\u6570\u636e\u3002","url":"https://github.com/go-yaml/yaml/tree/v3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":605},{"name":"xurls","desc":"\u4ece\u6587\u672c\u4e2d\u63d0\u53d6Urls","url":"https://github.com/mvdan/xurls","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":606}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u53c2\u6570\u9a8c\u8bc1","nav":[{"name":"govalidator","desc":"\u53c2\u6570\u9a8c\u8bc1\u7a0b\u5e8f\uff0c\u7528\u4e8e\u5b57\u7b26\u4e32\uff0c\u6570\u5b57\uff0c\u5207\u7247\u548c\u7ed3\u6784","url":"https://github.com/asaskevich/govalidator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":607},{"name":"validator","desc":"\u57fa\u4e8e\u6807\u7b7e\u5bf9\u7ed3\u6784\u548c\u5404\u4e2a\u5b57\u6bb5\u5b9e\u73b0\u503c\u9a8c\u8bc1\u3002","url":"https://github.com/go-playground/validator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":608}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"ip","desc":"\u83b7\u53d6\u516c\u7f51IP\u5730\u5740\u3001v4/v6","url":"https://github.com/xjh22222228/ip","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":609},{"name":"terminal","desc":"\u63d0\u4f9b\u4e86\u7528\u4e8e\u5904\u7406\u7ec8\u7aef\u7684\u652f\u6301\u529f\u80fd\uff0c\u8fd9\u5728UNIX\u7cfb\u7edf\u4e0a\u5f88\u5e38\u89c1","url":"https://godoc.org/golang.org/x/crypto/ssh/terminal","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":610},{"name":"gopsutil","desc":"\u7528\u4e8e\u68c0\u7d22\u6b63\u5728\u8fd0\u884c\u7684\u8fdb\u7a0b\u548c\u7cfb\u7edf\u5229\u7528\u7387\uff08CPU\uff0c\u5185\u5b58\uff0c\u78c1\u76d8\uff0c\u7f51\u7edc\uff0c\u4f20\u611f\u5668\uff09\u7684\u4fe1\u606f\u3002\u5b83\u4e3b\u8981\u7528\u4e8e\u7cfb\u7edf\u76d1\u89c6\uff0c\u6982\u8981\u5206\u6790\u548c\u9650\u5236\u8fdb\u7a0b\u8d44\u6e90\u4ee5\u53ca\u7ba1\u7406\u6b63\u5728\u8fd0\u884c\u7684\u8fdb\u7a0b","url":"https://github.com/shirou/gopsutil","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":611},{"name":"air","desc":"Go\u70ed\u91cd\u8f7d","url":"https://github.com/cosmtrek/air","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":612},{"name":"go-micro","desc":"\u5206\u5e03\u5f0f\u7cfb\u7edf\u5f00\u53d1\u6846\u67b6","url":"https://go-micro.dev","urls":{"-3":"https://github.com/micro/go-micro"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":613},{"name":"xlsx","desc":"xlsx\u662f\u4e00\u4e2a\u5e93\uff0c\u7528\u4e8e\u7b80\u5316\u5728Go\u7a0b\u5e8f\u4e2d\u8bfb\u5199Microsoft Excel\u6700\u65b0\u7248\u672c\u4f7f\u7528\u7684XML\u683c\u5f0f\u3002","url":"https://github.com/tealeg/xlsx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":614},{"name":"email","desc":"Go\u5f3a\u5927\u800c\u7075\u6d3b\u7684\u7535\u5b50\u90ae\u4ef6\u5e93\u3002","url":"https://github.com/jordan-wright/email","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":615},{"name":"websocket","desc":"Go\u7684\u4e00\u79cd\u5feb\u901f\uff0c\u7ecf\u8fc7\u6d4b\u8bd5\u4e14\u5e7f\u6cdb\u4f7f\u7528\u7684WebSocket\u5b9e\u73b0","url":"https://github.com/gorilla/websocket","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":616},{"name":"jwt-go","desc":"Golang \u5b9e\u73b0\u7684 JSON WEB TOKEN","url":"https://github.com/dgrijalva/jwt-go","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":617},{"name":"cron","desc":"Go \u5b9e\u73b0\u7684 cron \u5305","url":"https://github.com/robfig/cron","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":618},{"name":"qrcode","desc":"\u4e8c\u7ef4\u7801\u751f\u6210","url":"https://github.com/skip2/go-qrcode","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":619},{"icon":"https://avatars3.githubusercontent.com/u/27810343?s=200&v=4","name":"casbin","desc":"\u6743\u9650\u7ba1\u7406\u5e93\uff0c\u652f\u6301Golang\u4e2d\u7684\u8bbf\u95ee\u63a7\u5236\u6a21\u578b\uff0c\u5982ACL\uff0cRBAC\uff0cABAC","url":"https://casbin.org/zh-CN/","urls":{"-3":"https://github.com/casbin/casbin"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":620},{"name":"resty","desc":"\u7528\u4e8eGo\u7684\u7b80\u5355HTTP\u548cREST\u5ba2\u6237\u7aef\u5e93","url":"https://github.com/go-resty/resty","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":621},{"icon":"https://grpc.io/favicons/apple-touch-icon.png","name":"grpc-go","desc":"gRPC\u7684Go\u8bed\u8a00\u5b9e\u73b0\u3002\u57fa\u4e8eHTTP/2\u7684RPC","url":"https://grpc.io/","urls":{"-3":"https://github.com/grpc/grpc-go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":622},{"icon":"https://avatars2.githubusercontent.com/u/33584194?s=200&v=4","name":"colly","desc":"Colly\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5e72\u51c0\u7684\u754c\u9762\u6765\u7f16\u5199\u4efb\u4f55\u79cd\u7c7b\u7684\u722c\u866b","url":"http://go-colly.org/","urls":{"-3":"https://github.com/gocolly/colly"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":623},{"name":"cors","desc":"\u4f7f\u7528net / http\u53ef\u914d\u7f6e\u7684\u5904\u7406\u7a0b\u5e8f\u6765\u5904\u7406CORS\u8bf7\u6c42","url":"https://github.com/rs/cors","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":624}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"CLI","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"\u7ec8\u7aef\u989c\u8272","nav":[{"name":"color","desc":"CLI \u63a7\u5236\u53f0\u989c\u8272\u6e32\u67d3\u5de5\u5177\u5e93, \u652f\u6301Windows","url":"https://github.com/fatih/color","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u7ec8\u7aef\u989c\u8272"],"ownVisible":false,"id":625}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u547d\u4ee4\u884c\u89e3\u6790","nav":[{"name":"cli","desc":"\u4e00\u4e2a\u7b80\u5355\uff0c\u5feb\u901f\u4e14\u6709\u8da3\u7684\u8f6f\u4ef6\u5305\uff0c\u7528\u4e8e\u5728Go\u4e2d\u6784\u5efa\u547d\u4ee4\u884c\u5e94\u7528","url":"https://github.com/urfave/cli/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u547d\u4ee4\u884c\u89e3\u6790"],"ownVisible":false,"id":626},{"name":"cobra","desc":"Cobra\u65e2\u662f\u7528\u4e8e\u521b\u5efa\u529f\u80fd\u5f3a\u5927\u7684\u73b0\u4ee3CLI\u5e94\u7528\u7a0b\u5e8f\u7684\u5e93\uff0c\u53c8\u662f\u7528\u4e8e\u751f\u6210\u5e94\u7528\u7a0b\u5e8f\u548c\u547d\u4ee4\u6587\u4ef6\u7684\u7a0b\u5e8f","url":"https://github.com/spf13/cobra","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u547d\u4ee4\u884c\u89e3\u6790"],"ownVisible":false,"id":627}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u63a7\u5236\u53f0\u8fdb\u5ea6\u6761","nav":[{"name":"pb","desc":"Golang\u7684\u63a7\u5236\u53f0\u8fdb\u5ea6\u680f","url":"https://github.com/cheggaaa/pb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u63a7\u5236\u53f0\u8fdb\u5ea6\u6761"],"ownVisible":false,"id":628},{"name":"mpb","desc":"Go cli\u5e94\u7528\u7a0b\u5e8f\u7684\u591a\u8fdb\u5ea6\u6761","url":"https://github.com/vbauerster/mpb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u63a7\u5236\u53f0\u8fdb\u5ea6\u6761"],"ownVisible":false,"id":629}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"promptui","desc":"\u547d\u4ee4\u884c\u5e94\u7528\u7a0b\u5e8f\u7684\u4ea4\u4e92\u5f0f\u63d0\u793a","url":"https://github.com/manifoldco/promptui","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u5176\u4ed6"],"ownVisible":false,"id":630},{"name":"godotenv","desc":"\u4ece`.env`\u6587\u4ef6\u52a0\u8f7d\u73af\u5883\u53d8\u91cf\u3002","url":"https://github.com/joho/godotenv","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u5176\u4ed6"],"ownVisible":false,"id":631},{"name":"go-prompt","desc":"\u53d7python-prompt-toolkit\u542f\u53d1\uff0c\u5728Go\u4e2d\u6784\u5efa\u5f3a\u5927\u7684\u4ea4\u4e92\u5f0f\u63d0\u793a\u3002","url":"https://github.com/c-bata/go-prompt","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u5176\u4ed6"],"ownVisible":false,"id":632}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5de5\u5177","nav":[{"title":"\u5de5\u5177","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"gvm","desc":"Go\u7248\u672c\u7ba1\u7406\u5668\uff0c\u7c7b\u4f3c nvm","url":"https://github.com/moovweb/gvm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":633},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"json-to-go","desc":"\u5728\u7ebf JSON \u8f6c Struct\u7ed3\u6784\u4f53","url":"https://mholt.github.io/json-to-go/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":634},{"icon":"https://avatars3.githubusercontent.com/u/35628013?s=200&v=4","name":"golangci-lint","desc":"Go\u7684\u5feb\u901fLinters Runner","url":"https://github.com/golangci/golangci-lint","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":635},{"icon":"https://play.golang.org/favicon.ico","name":"The Go Playground","desc":"\u5728\u7ebf\u8fd0\u884cGolang","url":"https://play.golang.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":636},{"icon":"https://nuclei.projectdiscovery.io/","name":"nuclei","desc":"Nuclei\u662f\u57fa\u4e8e\u6a21\u677f\u7684\u53ef\u914d\u7f6e\u76ee\u6807\u626b\u63cf\u7684\u5feb\u901f\u5de5\u5177\uff0c\u5177\u6709\u5e7f\u6cdb\u7684\u53ef\u6269\u5c55\u6027\u548c\u6613\u7528\u6027\u3002","url":"https://play.golang.org/","urls":{"-3":"https://github.com/projectdiscovery/nuclei"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":637},{"icon":"https://avatars3.githubusercontent.com/u/35628013?s=200&v=4","name":"jaeger","desc":"\u5206\u5e03\u5f0f\u94fe\u8def\u8ffd\u8e2a","url":"https://www.jaegertracing.io/","urls":{"-3":"https://github.com/jaegertracing/jaeger"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":638},{"icon":"https://avatars1.githubusercontent.com/u/19232073?s=200&v=4","name":"delve","desc":"Delve\u662fGo\u7f16\u7a0b\u8bed\u8a00\u7684\u8c03\u8bd5\u5668\u3002","url":"https://github.com/go-delve/delve","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":639}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u53c2\u8003\u8d44\u6599","nav":[{"title":"\u4e66\u7c4d","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go \u5165\u95e8\u6307\u5357","desc":"\u300aThe Way to Go\u300b\u4e2d\u6587\u8bd1\u672c\uff0c\u4e2d\u6587\u6b63\u5f0f\u540d\u300aGo \u5165\u95e8\u6307\u5357\u300b","url":"https://github.com/unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":640},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go\u8bed\u8a00\u5723\u7ecf","desc":"Go\u8bed\u8a00\u5723\u7ecf \u300aThe Go Programming Language\u300b \u4e2d\u6587\u7248\u672c","url":"https://yar999.gitbook.io/gopl-zh/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":641},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go WEB \u7f16\u7a0b","desc":"Golang\u7535\u5b50\u4e66\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528Golang\u5efa\u7acb\u7f51\u7edc","url":"https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":642},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go\u7b80\u6613\u6559\u7a0b","desc":"\u300aThe Little Go Book\u300b\u4e2d\u6587\u8bd1\u672c\uff0c\u4e2d\u6587\u6b63\u5f0f\u540d\u300aGo\u7b80\u6613\u6559\u7a0b\u300b","url":"https://github.com/songleo/the-little-go-book_ZH_CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":643},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go by Example \u4e2d\u6587\u7248","desc":"Go by Example \u662f\u5bf9 Go \u57fa\u4e8e\u5b9e\u8df5\u7684\u4ecb\u7ecd\uff0c\u5305\u542b\u4e00\u7cfb\u5217\u5e26\u6709\u6ce8\u91ca\u8bf4\u660e\u7684\u793a\u4f8b\u7a0b\u5e8f\u3002","url":"https://gobyexample-cn.github.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":644},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go\u8bed\u8a00\u4e4b\u65c5","desc":"\u672c\u6307\u5357\u6db5\u76d6\u4e86\u8be5\u8bed\u8a00\u7684\u5927\u90e8\u5206\u91cd\u8981\u7279\u6027\uff0c\u4e3b\u8981\u5305\u62ec\uff1a\u57fa\u7840\u3001\u65b9\u6cd5\u548c\u63a5\u53e3\u3001\u5e76\u53d1\u7b49","url":"https://tour.go-zh.org/welcome/1","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":645},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go\u8bed\u8a00101","desc":"\u4e00\u672c\u7740\u58a8\u4e8eGo\u8bed\u6cd5\u8bed\u4e49\u4ee5\u53ca\u8fd0\u884c\u65f6\u76f8\u5173\u77e5\u8bc6\u70b9\u7684\u7f16\u7a0b\u6307\u5bfc\u4e66\uff08Go 1.15\u5c31\u7eea\uff09\u3002 \u6b64\u4e66\u65e8\u5728\u5c3d\u53ef\u80fd\u5730\u5e2e\u52a9Go\u7a0b\u5e8f\u5458\u66f4\u6df1\u66f4\u5168\u9762\u5730\u7406\u89e3Go\u8bed\u8a00","url":"https://gfw.go101.org/article/101.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":646},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go\u8bed\u8a00\u9ad8\u7ea7\u7f16\u7a0b","desc":"\u672c\u4e66\u6db5\u76d6CGO\u3001Go\u6c47\u7f16\u8bed\u8a00\u3001RPC\u5b9e\u73b0\u3001Web\u6846\u67b6\u5b9e\u73b0\u3001\u5206\u5e03\u5f0f\u7cfb\u7edf\u7b49\u9ad8\u9636\u4e3b\u9898\uff0c\u9488\u5bf9Go\u8bed\u8a00\u6709\u4e00\u5b9a\u7ecf\u9a8c\u60f3\u6df1\u5165\u4e86\u89e3Go\u8bed\u8a00\u5404\u79cd\u9ad8\u7ea7\u7528\u6cd5\u7684\u5f00\u53d1\u4eba\u5458(\u4e0d\u63a8\u8350\u65b0\u624b)","url":"https://chai2010.cn/advanced-go-programming-book/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":647},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Mastering GO","desc":"\u300aMastering GO\u300b\u4e2d\u6587\u8bd1\u672c\uff0c\u300a\u73a9\u8f6c GO\u300b\u3002","url":"https://github.com/hantmac/Mastering_Go_ZH_CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":648},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Mastering GO2","desc":"Mastering Go \u7b2c\u4e8c\u7248\u4e2d\u6587\u7248\u6765\u88ad\uff01","url":"https://github.com/hantmac/Mastering_Go_Second_Edition_Zh_CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":649}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"100\u5929\u4ece\u65b0\u624b\u5230\u5927\u5e08","desc":"Golang - 100\u5929\u4ece\u65b0\u624b\u5230\u5927\u5e08","url":"https://www.qfgolang.com/","urls":{"-3":"https://github.com/rubyhan1314/Golang-100-Days"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u5176\u4ed6"],"ownVisible":false,"id":650},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"project-layout","desc":"Go\u6807\u51c6\u5e03\u5c40\u7ed3\u6784\uff0c\u9879\u76ee\u67b6\u6784\u7ed3\u6784\u53c2\u8003\u3002","url":"https://github.com/golang-standards/project-layout/blob/master/README_zh.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u5176\u4ed6"],"ownVisible":false,"id":651},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"\u7f16\u7801\u89c4\u8303","desc":"Uber Go \u8bed\u8a00\u7f16\u7801\u89c4\u8303","url":"https://github.com/xxjwxc/uber_go_guide_cn","urls":{"-2":"https://github.com/uber-go/guide/blob/master/style.md","-1":"https://github.com/xxjwxc/uber_go_guide_cn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u5176\u4ed6"],"ownVisible":false,"id":652},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Gin\u5b9e\u6218","desc":"WEB \u6846\u67b6Gin\u5b9e\u6218","url":"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI3MjU4Njk3Ng==&action=getalbum&album_id=1362784031968149504&scene=173#wechat_redirect","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u5176\u4ed6"],"ownVisible":false,"id":653}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"Flutter","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","nav":[{"title":"\u5b98\u65b9","nav":[{"icon":"https://pub.dev/favicon.ico","name":"Dart","desc":"Dart\u8bed\u8a00","url":"http://www.dartdoc.cn/","urls":{"-2":"https://dart.dev/","-1":"http://www.dartdoc.cn/","-3":"https://github.com/dart-lang/sdk"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":654},{"icon":"https://pub.dev/favicon.ico","name":"DartPad","desc":"\u5728\u7ebf\u8fd0\u884cDart\u8bed\u6cd5","url":"https://dartpad.cn/embed-inline.html?id=7a9764702c0608711e08&split=90","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":655},{"icon":"https://pub.dev/favicon.ico","name":"Dart packages","desc":"Dart packages","url":"https://pub.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":656},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter","desc":"Flutter\u662f\u8c37\u6b4c\u7684\u79fb\u52a8UI\u6846\u67b6\uff0c\u53ef\u4ee5\u5feb\u901f\u5728iOS\u548cAndroid\u4e0a\u6784\u5efa\u9ad8\u8d28\u91cf\u7684\u539f\u751f\u7528\u6237\u754c\u9762\u3002 Flutter\u53ef\u4ee5\u4e0e\u73b0\u6709\u7684\u4ee3\u7801\u4e00\u8d77\u5de5\u4f5c\u3002\u5728\u5168\u4e16\u754c\uff0cFlutter\u6b63\u5728\u88ab\u8d8a\u6765\u8d8a\u591a\u7684\u5f00\u53d1\u8005\u548c\u7ec4\u7ec7\u4f7f\u7528\uff0c\u5e76\u4e14Flutter\u662f\u5b8c\u5168\u514d\u8d39\u3001\u5f00\u6e90\u7684","url":"https://flutterchina.club/","urls":{"-2":"https://flutter.dev/","-1":"https://flutterchina.club/","-3":"https://github.com/flutter/flutter"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":657},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter Icon","desc":"Flutter\u5185\u7f6eIcon\u7ec4\u4ef6\u56fe\u6807\u901f\u67e5\u8868","url":"https://material.io/resources/icons/?style=baseline","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":658}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u5e38\u7528\u6a21\u5757","nav":[{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"imei_plugin","desc":"\u7528flutter\u5728Android\u4e2d\u83b7\u53d6imei\u7684\u63d2\u4ef6","url":"https://github.com/kevincaicedo/imei_plugin","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":659},{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"multi_image_picker","desc":"Flutter\u63d2\u4ef6\uff0c\u53ef\u8ba9\u60a8\u5728iOS\u548cAndroid\u4e0a\u663e\u793a\u591a\u56fe\u50cf\u9009\u62e9\u5668\u3002","url":"https://github.com/Sh1d0w/multi_image_picker","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":660},{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"sqflite","desc":"SQLite flutter plugin","url":"https://github.com/tekartik/sqflite","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":661},{"icon":"https://flutter.dev/images/favicon.png","name":"dio","desc":"dio\u662f\u4e00\u4e2a\u5f3a\u5927\u7684Dart Http\u8bf7\u6c42\u5e93\uff0c\u652f\u6301Restful API\u3001FormData\u3001\u62e6\u622a\u5668\u3001\u8bf7\u6c42\u53d6\u6d88\u3001Cookie\u7ba1\u7406\u3001\u6587\u4ef6\u4e0a\u4f20/\u4e0b\u8f7d\u3001\u8d85\u65f6\u3001\u81ea\u5b9a\u4e49\u9002\u914d\u5668\u7b49","url":"https://github.com/flutterchina/dio","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":662},{"icon":"https://camo.githubusercontent.com/a53c432bb9c2222880a6eca54b5ed091d1ab3d40/68747470733a2f2f696d672e616c6963646e2e636f6d2f7466732f5442317237344e4a794c614b31526a535a46785858616d504658612d313032342d313032342e706e67","name":"fish-redux","desc":"\u4e00\u4e2a\u57fa\u4e8eRedux\u72b6\u6001\u7ba1\u7406\u7684\u7ec4\u5408\u5f0fflutter\u5e94\u7528\u7a0b\u5e8f\u6846\u67b6\u3002\u5b83\u9002\u7528\u4e8e\u5efa\u7b51\u4e2d\u578b\u548c\u5927\u578b\u5e94\u7528\u3002","url":"https://github.com/alibaba/fish-redux","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":663},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_pulltorefresh","desc":"\u4e00\u4e2a\u63d0\u4f9b\u4e0a\u62c9\u52a0\u8f7d\u548c\u4e0b\u62c9\u5237\u65b0\u7684\u7ec4\u4ef6,\u540c\u65f6\u652f\u6301Android\u548cIos","url":"https://github.com/peng8350/flutter_pulltorefresh","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":664},{"icon":"https://flutter.dev/images/favicon.png","name":"json_serializable","desc":"JSON\u5e8f\u5217\u5316\u548c\u53cd\u5e8f\u5217\u5316\u7684\u4ee3\u7801","url":"https://github.com/dart-lang/json_serializable","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":665},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_swiper","desc":"flutter\u6700\u5f3a\u5927\u7684siwiper, \u591a\u79cd\u5e03\u5c40\u65b9\u5f0f\uff0c\u65e0\u9650\u8f6e\u64ad\uff0cAndroid\u548cIOS\u53cc\u7aef\u9002\u914d","url":"https://github.com/best-flutter/flutter_swiper/blob/master/README-ZH.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":666},{"icon":"https://flutter.dev/images/favicon.png","name":"FlutterToast","desc":"\u9002\u7528\u4e8eFlutter\u7684Android Toast\u63d2\u4ef6","url":"https://github.com/PonnamKarthik/FlutterToast","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":667},{"icon":"https://flutter.dev/images/favicon.png","name":"dart-uuid","desc":"\u751f\u6210 RFC4122(v1,v4,v5) UUIDs","url":"https://github.com/Daegalus/dart-uuid","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":668},{"icon":"https://flutter.dev/images/favicon.png","name":"fluwx","desc":"Flutter\u7248\u5fae\u4fe1SDK.WeChat SDK for flutter.","url":"https://github.com/OpenFlutter/fluwx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":669}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u6587\u6863\u8d44\u6599","nav":[{"icon":"https://flutter.dev/images/favicon.png","name":"Material Design","desc":"Material\u662f\u4e00\u4e2a\u7531\u5f00\u6e90\u4ee3\u7801\u652f\u6301\u7684\u8bbe\u8ba1\u7cfb\u7edf\uff0c\u53ef\u4ee5\u5e2e\u52a9\u56e2\u961f\u6784\u5efa\u9ad8\u8d28\u91cf\u7684\u6570\u5b57\u4f53\u9a8c","url":"https://material.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":670},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter\u5b9e\u6218","desc":"Flutter\u5b9e\u6218","url":"https://book.flutterchina.club/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":671},{"icon":"https://flutter.dev/images/favicon.png","name":"samples","desc":"Flutter\u793a\u4f8b\u548c\u6f14\u793a\u7684\u96c6\u5408","url":"https://github.com/flutter/samples","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":672},{"icon":"https://img.alicdn.com/tfs/TB1OJkeHNYaK1RjSZFnXXa80pXa-229-229.png","name":"flutter-go","desc":"flutter \u5f00\u53d1\u8005\u5e2e\u52a9 APP\uff0c\u5305\u542b flutter \u5e38\u7528 140+ \u7ec4\u4ef6\u7684demo \u6f14\u793a\u4e0e\u4e2d\u6587\u6587\u6863","url":"https://flutter-go.pub/flutter_go_web/#FirstPage","urls":{"-3":"https://github.com/alibaba/flutter-go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":673},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter-Notebook","desc":"flutter\u76f8\u5173\u529f\u80fddemo\u7684\u96c6\u5408\uff0c\u5b83\u80fd\u591f\u5e2e\u52a9\u60a8\u5feb\u901f\u5b66\u4e60\u4e00\u4e9b\u96f6\u788e\u7684\u77e5\u8bc6","url":"https://github.com/OpenFlutter/Flutter-Notebook","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":674},{"icon":"https://flutter.dev/images/favicon.png","name":"plugins","desc":"Flutter\u56e2\u961f\u7ef4\u62a4\u7684Flutter\u63d2\u4ef6","url":"https://github.com/flutter/plugins","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":675},{"icon":"https://flutter.dev/images/favicon.png","name":"awesome-flutter","desc":"\u5f88\u68d2\u7684\u6e05\u5355\uff0c\u7cbe\u9009\u4e86\u6700\u597d\u7684Flutter\u5e93\uff0c\u5de5\u5177\uff0c\u6559\u7a0b\uff0c\u6587\u7ae0\u7b49","url":"https://github.com/Solido/awesome-flutter","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":676},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter-do","desc":"330+Widgets\u5728\u7ebf\u67e5\u770b\u9884\u89c8\u548c\u4f7f\u7528\u3002","url":"http://laomengit.com/flutter/widgets/widgets_structure.html","urls":{"-3":"https://github.com/781238222/flutter-do"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":677}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_wanandroid","desc":"\u57fa\u4e8eGoogle Flutter\u7684WanAndroid\u5ba2\u6237\u7aef\uff0c\u652f\u6301Android\u548ciOS\u3002\u5305\u62ecBLoC\u3001RxDart \u3001\u56fd\u9645\u5316\u3001\u4e3b\u9898\u8272\u3001\u542f\u52a8\u9875\u3001\u5f15\u5bfc\u9875\uff0c\u62e5\u6709\u8f83\u597d\u7684\u9879\u76ee\u7ed3\u6784&\u6bd4\u8f83\u89c4\u8303\u7684\u4ee3\u7801","url":"https://github.com/Sky24n/flutter_wanandroid","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5176\u4ed6"],"ownVisible":false,"id":678},{"icon":"https://flutter.dev/images/favicon.png","name":"Best-Flutter-UI-Templates","desc":"Best-Flutter-UI-\u6a21\u677f, \u5bf9\u6240\u6709\u4eba\u5b8c\u5168\u514d\u8d39\u3002\u5176\u5185\u7f6e\u7684Flutter Dart\u3002","url":"https://github.com/mitesh77/Best-Flutter-UI-Templates","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5176\u4ed6"],"ownVisible":false,"id":679}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false,"id":0},{"title":"Python","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"\u5b98\u65b9","nav":[{"name":"Python","desc":"\u662f\u4e00\u79cd\u89e3\u91ca\u578b\u3001\u9762\u5411\u5bf9\u8c61\u3001\u52a8\u6001\u6570\u636e\u7c7b\u578b\u7684\u9ad8\u7ea7\u7a0b\u5e8f\u8bbe\u8ba1\u8bed\u8a00\u3002","url":"https://www.python.org/","urls":{"-3":"https://github.com/TheAlgorithms/Python"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":680},{"name":"PyPi","desc":"\u4f7f\u7528Python\u8f6f\u4ef6\u5305\u7d22\u5f15\u67e5\u627e\uff0c\u5b89\u88c5\u548c\u53d1\u5e03Python\u8f6f\u4ef6\u5305","url":"https://pypi.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":681}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5de5\u5177","nav":[{"name":"PCU","desc":"python-check-updates, \u68c0\u67e5 pip \u5f53\u524d\u4f9d\u8d56\u5305\u6700\u65b0\u7248\u672c","url":"https://github.com/xjh22222228/python-check-updates","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u751f\u6001\u7cfb\u7edf","\u5de5\u5177"],"ownVisible":false,"id":682}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4f9d\u8d56\u5305","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"HTTP/\u722c\u866b","nav":[{"icon":"https://www.python.org/static/favicon.ico","name":"requests","desc":"requests\u662f\u4e00\u4e2a\u7b80\u5355\u800c\u4f18\u96c5\u7684HTTP\u5e93\u3002","url":"https://requests.readthedocs.io/en/master/","urls":{"-3":"https://github.com/psf/requests"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","HTTP/\u722c\u866b"],"ownVisible":false,"id":683},{"icon":"https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png","name":"aiohttp","desc":"\u7528\u4e8easyncio\u548cPython\u7684\u5f02\u6b65HTTP\u5ba2\u6237\u7aef/\u670d\u52a1\u5668\u6846\u67b6","url":"https://docs.aiohttp.org/en/stable/","urls":{"-3":"https://github.com/aio-libs/aiohttp"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","HTTP/\u722c\u866b"],"ownVisible":false,"id":684},{"icon":"https://avatars2.githubusercontent.com/u/733635?s=200&v=4","name":"Scrapy","desc":"\u4e00\u4e2a\u7528\u4e8ePython\u7684\u5feb\u901f\u9ad8\u7ea7Web\u722c\u866b\u6846\u67b6\u3002","url":"https://scrapy.org/","urls":{"-3":"https://github.com/scrapy/scrapy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","HTTP/\u722c\u866b"],"ownVisible":false,"id":685},{"icon":"https://avatars0.githubusercontent.com/u/983927?s=200&v=4","name":"selenium","desc":"\u6d4f\u89c8\u5668\u81ea\u52a8\u5316\u6846\u67b6\u548c\u751f\u6001\u7cfb\u7edf\u3002","url":"https://www.selenium.dev/","urls":{"-3":"https://github.com/SeleniumHQ/selenium/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","HTTP/\u722c\u866b"],"ownVisible":false,"id":686},{"name":"beautifulsoup","desc":"\u53ef\u4ee5\u4eceHTML\u6216XML\u6587\u4ef6\u4e2d\u63d0\u53d6\u6570\u636e\u7684Python\u5e93","url":"https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","HTTP/\u722c\u866b"],"ownVisible":false,"id":687}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fe\u50cf","nav":[{"name":"Pillow","desc":"\u53cb\u597d\u7684PIL\u524d\u53c9\uff0c\u662f\u4e00\u4e2a\u51fa\u8272\u7684\u56fe\u50cf\u5904\u7406\u5e93","url":"https://python-pillow.org/","urls":{"-3":"https://github.com/python-pillow/Pillow"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","\u56fe\u50cf"],"ownVisible":false,"id":688}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8fd0\u7b97","nav":[{"name":"numpy","desc":"\u4f7f\u7528Python\u8fdb\u884c\u79d1\u5b66\u8ba1\u7b97\u7684\u57fa\u672c\u8f6f\u4ef6\u5305\u3002","url":"https://numpy.org/","urls":{"-3":"https://github.com/numpy/numpy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","\u8fd0\u7b97"],"ownVisible":false,"id":689}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5206\u6790","nav":[{"icon":"https://avatars1.githubusercontent.com/u/21206976?s=200&v=4","name":"pandas","desc":"\u529f\u80fd\u5f3a\u5927\u7684Python\u6570\u636e\u5206\u6790\u5de5\u5177\u5305","url":"https://github.com/pandas-dev/pandas","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","\u6570\u636e\u5206\u6790"],"ownVisible":false,"id":690}],"createdAt":"2021-01-23 09:32:06"},{"title":"CLI","nav":[{"createdAt":"2021-02-04 20:25:26","name":"rich","icon":"https://github.com/favicon.ico","url":"https://github.com/willmcgugan/rich","desc":"Rich\u662f\u4e00\u4e2aPython\u5e93\uff0c\u7528\u4e8e\u5728\u7ec8\u7aef\u4e2d\u63d0\u4f9b\u5bcc\u6587\u672c\u548c\u7cbe\u7f8e\u7684\u683c\u5f0f\u3002","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":691},{"name":"Fire","desc":"Python Fire\u662f\u4e00\u4e2a\u7528\u4e8e\u4ece\u7edd\u5bf9\u4efb\u4f55Python\u5bf9\u8c61\u81ea\u52a8\u751f\u6210\u547d\u4ee4\u884c\u754c\u9762\uff08CLI\uff09\u7684\u5e93\u3002","url":"https://github.com/google/python-fire","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":692},{"name":"colorama","desc":"Python\u4e2d\u7b80\u5355\u7684\u8de8\u5e73\u53f0\u5f69\u8272\u7ec8\u7aef\u6587\u672c","url":"https://pypi.org/project/colorama/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":693},{"icon":"https://avatars1.githubusercontent.com/u/12731565?s=200&v=4","name":"tqdm","desc":"\u9002\u7528\u4e8ePython\u548cCLI\u7684\u5feb\u901f\uff0c\u53ef\u6269\u5c55\u7684\u8fdb\u5ea6\u680f","url":"https://github.com/tqdm/tqdm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":694},{"name":"paramiko","desc":"\u9886\u5148\u7684Python SSHv2\u534f\u8bae\u5e93","url":"https://github.com/paramiko/paramiko","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":695},{"name":"click","desc":"Python\u53ef\u7ec4\u5408\u547d\u4ee4\u884c\u754c\u9762\u5de5\u5177\u5305","url":"https://github.com/pallets/click","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":696}],"createdAt":"2021-01-23 09:32:06"},{"createdAt":"2021-01-24 11:58:47","title":"\u5176\u4ed6","icon":null,"nav":[{"createdAt":"2021-01-24 11:59:58","name":"JMESPath","icon":"https://github.com/favicon.ico","url":"https://github.com/jmespath/jmespath.py","desc":"JMESPath\u662fJSON\u7684\u67e5\u8be2\u8bed\u8a00","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":697}]}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6846\u67b6","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"WEB\u6846\u67b6","nav":[{"icon":"https://avatars3.githubusercontent.com/u/27804?s=200&v=4","name":"Django","desc":"\u5177\u6709\u671f\u9650\u7684\u5b8c\u7f8e\u4e3b\u4e49\u8005\u7684Web\u6846\u67b6\u3002","url":"https://www.djangoproject.com/","urls":{"-3":"https://github.com/django/django"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u6846\u67b6","WEB\u6846\u67b6"],"ownVisible":false,"id":698},{"icon":"https://avatars0.githubusercontent.com/u/16748505?s=200&v=4","name":"flask","desc":"\u7528\u4e8e\u6784\u5efaWeb\u5e94\u7528\u7a0b\u5e8f\u7684Python\u5fae\u6846\u67b6\u3002","url":"https://palletsprojects.com/p/flask/","urls":{"-3":"https://github.com/pallets/flask"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u6846\u67b6","WEB\u6846\u67b6"],"ownVisible":false,"id":699}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u53c2\u8003\u8d44\u6599","nav":[{"title":"\u4e66\u7c4d","icon":"https://www.python.org/static/favicon.ico","nav":[{"name":"\u7b80\u660e Python \u6559\u7a0b","desc":"\u65e8\u5728\u4e8e\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 Python \u8bed\u8a00\u8fdb\u884c\u7f16\u7a0b\u7684\u81ea\u7531\u56fe\u4e66\u3002\u5b83\u4ee5\u6559\u6750\u4e0e\u6307\u5357\u7684\u5f62\u5f0f\u4e3a\u5165\u95e8\u8005\u4ecb\u7ecd Python \u8bed\u8a00\u3002\u5982\u679c\u4f60\u5bf9\u7535\u8111\u77e5\u8bc6\u7684\u4e86\u89e3\u4ec5\u9650\u4e8e\u5982\u4f55\u4fdd\u5b58\u6587\u672c\u6587\u4ef6\u7684\u8bdd\uff0c\u90a3\u8fd9\u672c\u4e66\u5c31\u662f\u4e3a\u4f60\u51c6\u5907\u7684\u3002","url":"https://bop.mol.uno/","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":700}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6587\u6863\u8d44\u6599","icon":"https://www.python.org/static/favicon.ico","nav":[{"name":"100\u5929\u4ece\u65b0\u624b\u5230\u5927\u5e08","desc":"Python - 100\u5929\u4ece\u65b0\u624b\u5230\u5927\u5e08","url":"https://github.com/jackfrued/Python-100-Days","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":701},{"name":"Python \u5165\u95e8\u6307\u5357","desc":"Python \u5165\u95e8\u6307\u5357","url":"https://python666.cn/cls/lesson/list/","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":702},{"name":"What the f*ck Python!","desc":"\u4e00\u4e9b\u6709\u8da3\u4e14\u9c9c\u4e3a\u4eba\u77e5\u7684 Python \u7279\u6027.","url":"https://github.com/satwikkansal/wtfpython","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":703},{"name":"awesome-python-cn","desc":"Python \u8d44\u6e90\u5927\u5168\u4e2d\u6587\u7248","url":"https://github.com/jobbole/awesome-python-cn","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":704},{"name":"cheatsheet","desc":"Python\u5927\u5168\u5907\u5fd8\u5355","url":"https://github.com/gto76/python-cheatsheet","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":705},{"name":"awesome-python","desc":"\u7cbe\u9009\u7684Python\u6846\u67b6\uff0c\u5e93\uff0c\u8f6f\u4ef6\u548c\u8d44\u6e90\u7684\u7cbe\u9009\u6e05\u5355\u3002","url":"https://github.com/vinta/awesome-python","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":706}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","id":1,"collapsed":false},{"title":"\u793e\u533a\u7ad9\u70b9","nav":[{"title":"\u793e\u533a\u7ad9\u70b9","nav":[{"title":"\u95ee\u7b54\u793e\u533a1","nav":[{"icon":"https://cdn.segmentfault.com/v-5f64887f/global/img/touch-icon.png","name":"segmentfault","desc":"\u662f\u4e2d\u6587\u9886\u57df\u6700\u5927\u7684\u6280\u672f\u95ee\u7b54\u4ea4\u6d41\u793e\u533a\u5e73\u53f0","url":"https://segmentfault.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":707},{"icon":"https://b-gold-cdn.xitu.io/favicons/v2/apple-touch-icon.png","name":"\u6398\u91d1","desc":"\u4e00\u4e2a\u5e2e\u52a9\u5f00\u53d1\u8005\u6210\u957f\u7684\u793e\u533a","url":"https://juejin.im/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":708},{"name":"DiyCode1","desc":"\u81f4\u529b\u4e8e\u6784\u5efa\u5f00\u53d1\u5de5\u7a0b\u5e08\u9ad8\u7aef\u4ea4\u6d41\u5206\u4eab\u793e\u533a","url":"https://www.diycode.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":709},{"icon":"https://static.ld246.com/images/favicon.png","name":"\u9ed1\u5ba2\u6d3e","desc":"\u9ed1\u5ba2\u6d3e\u662f\u7a0b\u5e8f\u5458\u548c\u8bbe\u8ba1\u5e08\u7684\u805a\u96c6\u5730\uff0c\u6c47\u805a\u4e86\u4e25\u8c28\u6c42\u5b9e\u7684\u5de5\u7a0b\u5e08\u548c\u5bcc\u6709\u521b\u610f\u7684\u8bbe\u8ba1\u5e08","url":"https://hacpai.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":710},{"name":"Node.js\u4e13\u4e1a\u4e2d\u6587\u793e\u533a","desc":"\u56fd\u5185\u6700\u4e13\u4e1a\u7684 Node.js \u5f00\u6e90\u6280\u672f\u793e\u533a\uff0c\u81f4\u529b\u4e8e Node.js \u7684\u6280\u672f\u7814\u7a76","url":"https://cnodejs.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":711},{"icon":"https://www.52pojie.cn/favicon.ico","name":"\u543e\u7231\u7834\u89e3","desc":"\u543e\u7231\u7834\u89e3\u5173\u6ce8PC\u8f6f\u4ef6\u5b89\u5168\u548c\u79fb\u52a8\u5b89\u5168\u9886\u57df\uff0c\u81f4\u529b\u4e8e\u8f6f\u4ef6\u5b89\u5168\u4e0e\u75c5\u6bd2\u5206\u6790\u7684\u524d\u6cbf","url":"https://www.52pojie.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":712},{"icon":"https://www.freebuf.com/favicon.ico","name":"FreeBuf","desc":"FreeBuf\u9ed1\u5ba2\u4e0e\u6781\u5ba2,\u56fd\u5185\u5173\u6ce8\u5ea6\u6700\u9ad8\u7684\u5168\u7403\u4e92\u8054\u7f51\u5b89\u5168\u5a92\u4f53\u5e73\u53f0","url":"http://www.freebuf.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":713},{"icon":"https://imweb.io/public/icon.png","name":"IMWeb","desc":"Web\u524d\u7aef \u817e\u8bafIMWeb \u56e2\u961f\u793e\u533a","url":"http://imweb.io/topic/tab/all","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":714},{"icon":"https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a","name":"Stack Overflow","desc":"\u5168\u7403\u6700\u5927\u7684\u6280\u672f\u95ee\u7b54\u7f51\u7ad9\uff0c\u662f\u4e00\u4e2a\u4e0e\u7a0b\u5e8f\u76f8\u5173\u7684IT\u6280\u672f\u95ee\u7b54\u7f51\u7ad9","url":"https://stackoverflow.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":715},{"icon":"https://reactjs.org/favicon.ico","name":"React\u793e\u533a","desc":"React\u8bba\u575b\u793e\u533a","url":"http://react-china.org/","urls":{"-2":"https://discuss.reactjs.org/","-1":"http://react-china.org/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":716},{"icon":"https://p1.ssl.qhimg.com/t010e845cdf71587354.png","name":"\u4f17\u6210\u7ffb\u8bd1","desc":"\u4e2d\u56fd\u6700\u597d\u7684\u6280\u672f\u7ffb\u8bd1\u793e\u533a\uff0c\u6700\u61c2\u8bd1\u8005\u7684\u7ffb\u8bd1\u5e73\u53f0\uff0c\u5947\u864e360\u6700\u5927\u524d\u7aef\u56e2\u961f\u201c\u5947\u821e\u56e2\u201d\u51fa\u54c1","url":"https://zcfy.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":717},{"icon":"https://developer.mozilla.org/favicon.ico","name":"MDN web docs","desc":"Mozilla \u5f00\u53d1\u8005\u793e\u533a\uff0c\u662f\u4e00\u4e2a\u5b8c\u6574\u7684\u5b66\u4e60\u5e73\u53f0\uff0c\u4f60\u53ef\u4ee5\u5728\u8fd9\u91cc\u6df1\u5165\u5b66\u4e60Web\u6280\u672f\u4ee5\u53ca\u80fd\u591f\u9a71\u52a8Web\u7684\u8f6f\u4ef6","url":"https://developer.mozilla.org/zh-CN/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":718},{"icon":"https://dev-to.s3.us-east-2.amazonaws.com/favicon.ico","name":"DEV Community","desc":"\u5728\u8fd9\u91cc\u7a0b\u5e8f\u5458\u5206\u4eab\u60f3\u6cd5\u5e76\u5e2e\u52a9\u5f7c\u6b64\u6210\u957f","url":"https://dev.to/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":719}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://www.v2ex.com/static/img/v2ex_192.png","name":"V2EX","desc":"\u521b\u610f\u5de5\u4f5c\u8005\u4eec\u7684\u793e\u533a","url":"https://www.v2ex.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":720},{"icon":"https://static.zhihu.com/static/favicon.ico","name":"\u77e5\u4e4e","desc":"\u77e5\u4e4e\uff0c\u4e2d\u6587\u4e92\u8054\u7f51\u6700\u5927\u7684\u77e5\u8bc6\u5206\u4eab\u548c\u793e\u4ea4\u5e73\u53f0","url":"https://www.zhihu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":721},{"icon":"https://www.jianshu.com/favicon.ico","name":"\u7b80\u4e66","desc":"\u7b80\u4e66\u662f\u4e00\u4e2a\u521b\u4f5c\u793e\u533a\uff0c\u4efb\u4f55\u4eba\u5747\u53ef\u4ee5\u5728\u5176\u4e0a\u8fdb\u884c\u521b\u4f5c","url":"https://www.jianshu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":722},{"icon":"https://images.xiaozhuanlan.com/assets/favicon-bd135558698197f509ada06695c03a4f458f0077fa476f9a4e7ba9664f3dc55f.ico","name":"\u5c0f\u4e13\u680f","desc":"\u5c0f\u4e13\u680f\u662f\u4e00\u4e2a\u4e13\u4e1a\u4eba\u58eb\u7684\u521b\u4f5c\u77e5\u8bc6\u793e\u533a\uff0c\u5728\u8fd9\u91cc\u60a8\u53ef\u4ee5\u770b\u5230\u5404\u4e2a\u9886\u57df\u6700\u4e13\u4e1a\u7684\u4e13\u680f\u548c\u89c2\u70b9","url":"https://xiaozhuanlan.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":723},{"icon":"https://news.ycombinator.com/favicon.ico","name":"Hacker News","desc":"Hacker News","url":"https://news.ycombinator.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":724},{"icon":"https://stacdn.proginn.com/favicon_new.ico","name":"\u7a0b\u5e8f\u5458\u5ba2\u6808","desc":"\u7a0b\u5e8f\u5458\u5ba2\u6808\u662f\u9886\u5148\u7684\u7a0b\u5e8f\u5458\u81ea\u7531\u5de5\u4f5c\u5e73\u53f0\uff0c\u672a\u6765\u4e92\u8054\u7f51\u4f01\u4e1a\u7528\u4eba\u65b9\u5f0f\u3002\u63d0\u4f9b\u4f18\u79c0\u7a0b\u5e8f\u5458\u4e3a\u60a8\u8fdb\u884c\u7f51\u7ad9\u5efa\u8bbe\u5236\u4f5c\u3001\u6d4b\u8bd5\u8fd0\u7ef4\u670d\u52a1\u3001\u4eba\u5de5\u667a\u80fdAI\u3001\u5927\u6570\u636e\u533a\u5757\u94fe\u3001\u8f6f\u4ef6\u5f00\u53d1\u7b49\u4f18\u8d28\u670d\u52a1","url":"https://www.proginn.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":725},{"icon":"https://fecdn4.zhaopin.cn/zq/assets/logoIcon.7a3e67.png","name":"\u804cQ","desc":"\u667a\u8054\u62db\u8058\u65d7\u4e0b\u4e13\u4e1a\u7684\u62db\u8058\u6c42\u804c\u793e\u4ea4\u95ee\u7b54\u5e73\u53f0\uff0c\u8986\u76d6\u4e86\u6c42\u804c\u3001\u62db\u8058\u3001\u804c\u4e1a\u89c4\u5212\u3001\u5347\u804c\u52a0\u85aa\u3001\u9762\u8bd5\u6280\u5de7\u3001\u5de5\u4f5c\u7ecf\u9a8c\u5206\u4eab\u7b49\u70ed\u95e8\u8bdd \u9898\uff0c\u6d89\u53ca\u5404\u79cd\u884c\u4e1a\u804c\u573a\u95ee\u9898\uff0c1.5\u4ebf\u7528\u6237\u7684\u804c\u573a\u793e\u533a","url":"https://zq.zhaopin.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":726},{"icon":"http://cdn.jandan.net/static/img/appicon.png","name":"\u714e\u86cb","desc":"\u714e\u86cb\u4ee5\u8bd1\u4ecb\u65b9\u5f0f\u4f20\u64ad\u7f51\u7edc\u65b0\u9c9c\u8d44\u8baf","url":"http://jandan.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":727}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4ee3\u7801\u6258\u7ba1","nav":[{"icon":"https://github.githubassets.com/favicons/favicon.svg","name":"Github","desc":"\u9762\u5411\u5f00\u6e90\u53ca\u79c1\u6709\u8f6f\u4ef6\u9879\u76ee\u7684\u6258\u7ba1\u5e73\u53f0","url":"https://github.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u4ee3\u7801\u6258\u7ba1"],"ownVisible":false,"id":728},{"icon":"https://gitee.com/favicon.ico","name":"\u7801\u4e91","desc":"\u7801\u4e91\u4e13\u4e3a\u5f00\u53d1\u8005\u63d0\u4f9b\u7a33\u5b9a\u3001\u9ad8\u6548\u3001\u5b89\u5168\u7684\u4e91\u7aef\u8f6f\u4ef6\u5f00\u53d1\u534f\u4f5c\u5e73\u53f0","url":"https://gitee.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u4ee3\u7801\u6258\u7ba1"],"ownVisible":false,"id":729},{"icon":"https://about.gitlab.com/ico/apple-touch-icon-57x57.png","name":"GitLab","desc":"\u7528\u4e8e\u4ed3\u5e93\u7ba1\u7406\u7cfb\u7edf\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u4f7f\u7528Git\u4f5c\u4e3a\u4ee3\u7801\u7ba1\u7406\u5de5\u5177\uff0c\u5e76\u5728\u6b64\u57fa\u7840\u4e0a\u642d\u5efa\u8d77\u6765\u7684web\u670d\u52a1","url":"https://gitlab.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u4ee3\u7801\u6258\u7ba1"],"ownVisible":false,"id":730},{"icon":"https://dn-coding-net-production-static.codehub.cn/platform/favicon.ico","name":"Coding","desc":"\u9762\u5411\u5f00\u53d1\u8005\u7684\u4e91\u7aef\u5f00\u53d1\u5e73\u53f0\uff0c\u63d0\u4f9b git/svn \u4ee3\u7801\u6258\u7ba1\uff0c\u4ee3\u7801\u8d28\u91cf\u5206\u6790\uff0c\u5728\u7ebfWebIDE\uff0c\u9879\u76ee\u7ba1\u7406...","url":"https://coding.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u4ee3\u7801\u6258\u7ba1"],"ownVisible":false,"id":731}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"Design","nav":[{"title":"Design","nav":[{"title":"\u6750\u6599","nav":[{"icon":"http://www.51yuansu.com/favicon.ico","name":"\u89c5\u5143\u7d20","desc":"\u89c5\u5143\u7d20,\u4e3a\u60a8\u63d0\u4f9b\u514d\u8d39\u8bbe\u8ba1\u5143\u7d20,\u8bbe\u8ba1\u5143\u7d20\u7684\u8d44\u6e90\u7ad9","url":"http://www.51yuansu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":732},{"icon":"https://js.588ku.com/comp/public/css/iconfont/favicon.ico","name":"\u5343\u5e93\u7f51","desc":"\u81f4\u529b\u4e8e\u4e3a\u8bbe\u8ba1\u5e08\u63d0\u4f9b\u6700\u4f18\u8d28\u7684\u7d20\u6750","url":"http://588ku.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":733},{"icon":"https://huaban.com/img/touch-icon-ipad.png","name":"\u82b1\u74e3\u7f51","desc":"\u82b1\u74e3\uff0c\u966a\u4f60\u505a\u751f\u6d3b\u7684\u8bbe\u8ba1\u5e08","url":"http://huaban.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":734},{"icon":"https://cdn.dribbble.com/assets/favicon-b38525134603b9513174ec887944bde1a869eb6cd414f4d640ee48ab2a15a26b.ico","name":"Dribbble","desc":"Dribbble\u662f\u5c55\u793a\u548c\u5ba3\u4f20\uff0c\u63a8\u5e7f\uff0c\u53d1\u73b0\u548c\u63a2\u7d22\u8bbe\u8ba1\u7684\u5730\u65b9","url":"https://dribbble.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":735},{"icon":"https://669pic.com/669pic.ico","name":"\u4e07\u7d20\u7f51","desc":"\u4e07\u7d20\u7f51\u81f4\u529b\u4e8e\u4e3a\u56fd\u5185\u5404\u884c\u4e1a\u8bbe\u8ba1\u5e08\uff0c\u7f51\u7ad9\u7f16\u8f91\uff0c\u65b0\u5a92\u4f53\u5de5\u4f5c\u4eba\u5458\u63d0\u4f9b\u514d\u8d39png\u7d20\u6750\u4e0e\u80cc\u666f\u56fe\u7247\u670d\u52a1","url":"http://669pic.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":736},{"icon":"https://www.artstation.com/assets/favicon.ico","name":"ArtStation","desc":"ArtStation\u662f\u6e38\u620f\uff0c\u7535\u5f71\uff0c\u5a92\u4f53\u548c\u5a31\u4e50\u827a\u672f\u5bb6\u7684\u5c55\u793a\u5e73\u53f0\u3002\u5b83\u4f7f\u827a\u672f\u5bb6\u80fd\u591f\u4ee5\u6d41\u7545\u7684\u65b9\u5f0f\u5c55\u793a\u4ed6\u4eec\u7684\u4f5c\u54c1\u96c6\uff0c\u53d1\u73b0\u548c\u4fdd\u6301\u7075\u611f\uff0c\u5e76\u4e0e\u65b0\u7684\u673a\u4f1a\u8054\u7cfb\u8d77\u6765\u3002","url":"https://www.artstation.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":737},{"icon":"https://static.canva.com/static/images/favicon.ico","name":"Design Templates - Canva","desc":"\u8bbe\u8ba1\u6a21\u677f - Canva","url":"https://www.canva.com/templates/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":738},{"icon":"https://unsplash.com/favicon-32x32.png","name":"Unsplash","desc":"\u7f8e\u4e3d\uff0c\u514d\u8d39\u7684\u7167\u7247\u3002\u7531\u4e16\u754c\u4e0a\u6700\u6177\u6168\u7684\u6444\u5f71\u5e08\u793e\u533a\u8d60\u9001\u3002","url":"https://unsplash.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":739},{"icon":"https://www.gaoding.com/favicon.ico","name":"\u7a3f\u5b9a\u8bbe\u8ba1","desc":"\u7535\u5546\u7d20\u6750\u3001\u65b0\u5a92\u4f53\u914d\u56fe\u3001\u624b\u673a\u6d77\u62a5\u7b49\u3002","url":"https://www.gaoding.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":740},{"icon":"https://undraw.co/favicon-32x32.png","name":"unDraw","desc":"\u5e26\u6709\u5f00\u6e90\u63d2\u56fe\u7684\u8bbe\u8ba1\u9879\u76ee\uff0c\u53ef\u6ee1\u8db3\u60a8\u53ef\u4ee5\u60f3\u8c61\u548c\u521b\u5efa\u7684\u4efb\u4f55\u60f3\u6cd5\u3002 \u514d\u8d39\u4f7f\u7528\u60a8\u7684\u989c\u8272\u521b\u5efa\u6f02\u4eae\u7684\u7f51\u7ad9\uff0c\u4ea7\u54c1\u548c\u5e94\u7528\u7a0b\u5e8f","url":"https://undraw.co/illustrations","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":741},{"icon":"https://www.ui.cn/Public/img/favicon.ico","name":"UI\u4e2d\u56fd\u7528\u6237\u4f53\u9a8c\u8bbe\u8ba1\u5e73\u53f0","desc":"UI\u4e2d\u56fd\u7528\u6237\u4f53\u9a8c\u5e73\u53f0,\u4e2d\u56fd\u7528\u6237\u4f53\u9a8c\u8054\u76df\u7406\u4e8b\u5355\u4f4d\u3002\u56fd\u5185\u6781\u5177\u5f71\u54cd\u529b\u7684\u8bbe\u8ba1\u5e73\u53f0\u4e4b\u4e00\u3002\u5341\u591a\u5e74\u6765,\u643a\u624b\u4f1a\u5458150\u4e07+,\u5171\u540c\u81f4\u529b\u4e8e\u4e3a\u8bbe\u8ba1\u5e08\u4e0e\u4f01\u4e1a\u642d\u5efa\u5065\u5eb7\u7684\u8bbe\u8ba1\u751f\u6001\uff01","url":"https://www.ui.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":742},{"icon":"https://octodex.github.com/favicon.ico","name":"GitHub Octodex","desc":"\u7531GitHub Design\u56e2\u961f\u521b\u5efa\u548c\u7ef4\u62a4\u7684\u6240\u6709\u5409\u7965\u7269\u7d20\u6750","url":"https://octodex.github.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":743},{"icon":"http://collectui.com/img/favicon.ico","name":"Collect UI","desc":"\u4ece\u6bcf\u65e5ui\u6863\u6848\u5e93\u53ca\u5176\u4ed6\u6536\u96c6\u7684\u6bcf\u65e5\u7075\u611f\u3002 \u6839\u636eDribbble\u62cd\u6444\u7684\u7167\u7247\uff0c\u624b\u5de5\u6311\u9009\uff0c\u6bcf\u5929\u66f4\u65b0","url":"http://collectui.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":744}],"createdAt":"2021-01-23 09:32:06","collapsed":true},{"title":"\u56fe\u6807","nav":[{"icon":"https://icons8.cn/vue-static/landings/primary-landings/favs/icons8_fav_96%C3%9796.png","name":"icons8","desc":"\u4e0b\u8f7d\u514d\u8d39\u56fe\u6807\uff0c\u97f3\u4e50\uff0c\u7d20\u6750\u56fe\u7247\uff0c\u77e2\u91cf\uff0cUX\u63d2\u56fe\u548c\u89c6\u9891\u97f3\u4e50","url":"https://icons8.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":745},{"icon":"https://www.vectorlogo.zone/favicon.ico","name":"vectorlogo","desc":"3000\u591a\u79cd\u7cbe\u7f8e\u7684SVG\u5fbd\u6807\uff0c\u975e\u5e38\u9002\u5408\u60a8\u7684\u81ea\u8ff0\u6587\u4ef6\u6216\u79ef\u5206\u9875\u9762","url":"https://www.vectorlogo.zone/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":746},{"icon":"https://www.shareicon.net/favicon.ico","name":"shareicon","desc":"\u8d85\u8fc725\u4e07\u4e2aicon\u514d\u8d39\u96c6\u5408","url":"https://www.shareicon.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":747},{"name":"SVG Logos","desc":"\u8d85\u8fc71000+SVG Logos\u96c6\u5408","url":"https://github.com/gilbarbara/logos/archive/master.zip","urls":{"-3":"https://github.com/gilbarbara/logos/tree/master/logos"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":748},{"icon":"https://www.iconfont.cn/favicon.ico","name":"iconfont","desc":"\u963f\u91cc\u5988\u5988MUX\u503e\u529b\u6253\u9020\u7684\u77e2\u91cf\u56fe\u6807\u7ba1\u7406\u3001\u4ea4\u6d41\u5e73\u53f0","url":"http://www.iconfont.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":749},{"icon":"https://iconscout.com/favicon.ico","name":"iconscount","desc":"\u514d\u8d39\u4e0b\u8f7d\u56fe\u6807\uff0c\u63d2\u56fe\u548c\u5e93\u5b58\u7167\u7247","url":"https://iconscout.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":750}],"createdAt":"2021-01-23 09:32:06","collapsed":true},{"title":"\u5de5\u5177","nav":[{"icon":"https://www.chuangkit.com/favicon.ico","name":"\u521b\u5ba2\u8d34","desc":"\u4e00\u6b3e\u7b80\u5355\u6613\u7528\u3001\u529f\u80fd\u5f3a\u5927\u7684\u7ebf\u4e0a\u56fe\u5f62\u8bbe\u8ba1\u5de5\u5177","url":"https://www.chuangkit.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u5de5\u5177"],"ownVisible":false,"id":751},{"name":"Ps Play","desc":"Ps Play - \u79fb\u52a8\u8bbe\u8ba1\u96f6\u963b\u529b","url":"https://isux.tencent.com/resources/psplay/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u5de5\u5177"],"ownVisible":false,"id":752},{"icon":"https://g.alicdn.com/acca/resource/luban/image/favicon.png","name":"\u9e7f\u73ed","desc":"\u9e7f\u73ed - \u8ba9\u8bbe\u8ba1\u66f4\u7f8e\u597d(\u963f\u91cc\u51fa\u54c1)","url":"https://luban.aliyun.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u5de5\u5177"],"ownVisible":false,"id":753},{"icon":"https://www.fontspace.com/android-chrome-192x192.png?v=00Bdv4Q5g6","name":"fontspace","desc":"6500+\u514d\u8d39\u5b57\u4f53\u4e0b\u8f7d","url":"https://www.fontspace.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u5de5\u5177"],"ownVisible":false,"id":754}],"createdAt":"2021-01-23 09:32:06","collapsed":true},{"title":"\u914d\u8272","nav":[{"icon":"https://colorhunt.co/img/color-hunt-icon-ios.png","name":"Color Hunt","desc":"Color Hunt\u662f\u4e00\u4e2a\u514d\u8d39\u5f00\u653e\u7684\u5e73\u53f0\uff0c\u53ef\u901a\u8fc7\u6570\u5343\u79cd\u7cbe\u9009\u7684\u65f6\u5c1a\u8c03\u8272\u677f\u6765\u6fc0\u53d1\u8272\u5f69\u7075\u611f","url":"https://colorhunt.co/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u914d\u8272"],"ownVisible":false,"id":755}],"createdAt":"2021-01-23 09:32:06","collapsed":true}],"createdAt":"2021-01-23 09:32:06","collapsed":true}],"createdAt":"2021-01-23 09:32:06","collapsed":false,"id":0},{"title":"\u5b66\u65e0\u6b62\u5883","nav":[{"title":"\u53c2\u8003\u6587\u6863","nav":[{"title":"Docker","nav":[{"icon":"https://github.com/favicon.ico","name":"Docker \u2014 \u4ece\u5165\u95e8\u5230\u5b9e\u8df5","desc":"Docker \u2014 \u4ece\u5165\u95e8\u5230\u5b9e\u8df5","url":"https://yeasy.gitbooks.io/docker_practice/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Docker"],"ownVisible":false,"id":756},{"icon":"https://github.com/favicon.ico","name":"Docker\u5b98\u65b9\u6620\u50cf\u6587\u6863","desc":"docker-library\u4e2d\u7684Docker\u5b98\u65b9\u6620\u50cf\u6587\u6863","url":"https://github.com/docker-library/docs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Docker"],"ownVisible":false,"id":757},{"icon":"https://avatars2.githubusercontent.com/u/7739233?s=200&v=4","name":"Docker Hub","desc":"Docker \u955c\u50cf\u4ed3\u5e93","url":"https://hub.docker.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Docker"],"ownVisible":false,"id":758},{"icon":"https://avatars2.githubusercontent.com/u/7739233?s=200&v=4","name":"Docker-Compose","desc":"\u4f7f\u7528Docker\u5b9a\u4e49\u548c\u8fd0\u884c\u591a\u5bb9\u5668\u5e94\u7528\u7a0b\u5e8f","url":"https://docs.docker.com/compose/","urls":{"-3":"https://github.com/docker/compose"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Docker"],"ownVisible":false,"id":759}],"createdAt":"2021-01-23 09:32:06"},{"title":"Git","nav":[{"icon":"https://github.com/favicon.ico","name":"git-manual","desc":"Git\u5e38\u7528\u547d\u4ee4\u53c2\u8003\u624b\u518c (\u63a8\u8350\u5b66\u4e60)","url":"https://github.com/xjh22222228/git-manual","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Git"],"ownVisible":false,"id":760},{"icon":"https://github.com/favicon.ico","name":"GitHub Docs","desc":"github \u5b98\u65b9\u5e2e\u52a9\u6587\u6863","url":"https://help.github.com/cn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Git"],"ownVisible":false,"id":761},{"icon":"https://github.com/favicon.ico","name":"awesome-actions","desc":"\u7cbe\u9009\u7684GitHub\u4e0a\u5f88\u68d2\u7684Action\u5217\u8868","url":"https://github.com/sdras/awesome-actions","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Git"],"ownVisible":false,"id":762},{"icon":"https://github.com/favicon.ico","name":"Github - Actions","desc":"Github \u5b98\u65b9Actions \u8d44\u6e90\u5217\u8868","url":"https://github.com/marketplace?type=actions","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Git"],"ownVisible":false,"id":763},{"icon":"https://github.com/favicon.ico","name":"growing-up","desc":"\u7a0b\u5e8f\u733f\u6210\u957f\u8ba1\u5212","url":"https://github.com/mylxsw/growing-up","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Git"],"ownVisible":false,"id":764}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u670d\u52a1\u5668","nav":[{"icon":"https://avatars0.githubusercontent.com/u/1412239?s=200&v=4","name":"nginx","desc":"nginx\u53c2\u8003\u6587\u6863","url":"https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title","urls":{"-2":"http://nginx.org/en/docs/","-1":"https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title","-3":"https://github.com/nginx/nginx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u670d\u52a1\u5668"],"ownVisible":false,"id":765},{"icon":"https://avatars0.githubusercontent.com/u/1412239?s=200&v=4","name":"Nginx\u5f00\u53d1\u4ece\u5165\u95e8\u5230\u7cbe\u901a","desc":"Nginx\u5f00\u53d1\u4ece\u5165\u95e8\u5230\u7cbe\u901a","url":"http://tengine.taobao.org/book/index.html","urls":{"-3":"https://github.com/taobao/nginx-book"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u670d\u52a1\u5668"],"ownVisible":false,"id":766}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5e93","nav":[{"icon":"https://avatars3.githubusercontent.com/u/1529926?s=200&v=4","name":"redis","desc":"Redis \u662f\u4e00\u4e2a\u5f00\u6e90\uff08BSD\u8bb8\u53ef\uff09\u7684\uff0c\u5185\u5b58\u4e2d\u7684\u6570\u636e\u7ed3\u6784\u5b58\u50a8\u7cfb\u7edf\uff0c\u5b83\u53ef\u4ee5\u7528\u4f5c\u6570\u636e\u5e93\u3001\u7f13\u5b58\u548c\u6d88\u606f\u4e2d\u95f4\u4ef6\u3002 \u5b83\u652f\u6301\u591a\u79cd\u7c7b\u578b\u7684\u6570\u636e\u7ed3\u6784","url":"http://www.redis.cn/","urls":{"-2":"https://redis.io/","-1":"http://www.redis.cn/","-3":"https://github.com/redis/redis"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u6570\u636e\u5e93"],"ownVisible":false,"id":767},{"icon":"https://labs.mysql.com/common/themes/sakila/favicon.ico","name":"MySQL","desc":"MySQL\u6570\u636e\u5e93\u670d\u52a1\u662f\u4e00\u4e2a\u5b8c\u5168\u6258\u7ba1\u7684\u6570\u636e\u5e93\u670d\u52a1\uff0c\u53ef\u4f7f\u7528\u4e16\u754c\u4e0a\u6700\u53d7\u6b22\u8fce\u7684\u5f00\u6e90\u6570\u636e\u5e93\u6765\u90e8\u7f72\u4e91\u539f\u751f\u5e94\u7528\u7a0b\u5e8f\u3002 \u5b83\u662f\u767e\u5206\u767e\u7531MySQL\u539f\u5382\u5f00\u53d1\uff0c\u7ba1\u7406\u548c\u63d0\u4f9b\u652f\u6301","url":"https://www.mysql.com/cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u6570\u636e\u5e93"],"ownVisible":false,"id":768}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4e66\u7c4d","nav":[{"icon":"https://avatars1.githubusercontent.com/u/14127308?s=200&v=4","name":"\u514d\u8d39\u7684\u7f16\u7a0b\u4e2d\u6587\u4e66\u7c4d\u7d22\u5f15","desc":"\u514d\u8d39\u7684\u7f16\u7a0b\u4e2d\u6587\u4e66\u7c4d\u7d22\u5f15","url":"https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u4e66\u7c4d"],"ownVisible":false,"id":769},{"icon":"https://zh.b-ok.global/apple-touch-icon.png","name":"Zlibrary","desc":"Z-Library \u9879\u76ee\u90e8\u5206. \u5168\u7403\u6700\u5927\u7684\u6570\u5b57\u56fe\u4e66\u9986, \u7535\u5b50\u4e66","url":"https://zh.b-ok.global/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u4e66\u7c4d"],"ownVisible":false,"id":770},{"name":"IT-eBOOK","desc":"IT\u7c7b\u6280\u672f\u4e66\u7c4dPDF","url":"https://github.com/asyncfun/IT-eBOOK","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u4e66\u7c4d"],"ownVisible":false,"id":771},{"icon":"https://refactoringguru.cn/favicon.ico","name":"Refactoring.Guru","desc":"22\u79cd\u5e38\u7528\u8bbe\u8ba1\u6a21\u5f0f","url":"https://refactoringguru.cn/design-patterns","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u4e66\u7c4d"],"ownVisible":false,"id":772}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6\u6587\u6863","nav":[{"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/linux/linux.png","name":"Linux \u5e38\u7528\u547d\u4ee4\u53c2\u8003\u624b\u518c","desc":"Linux \u5e38\u7528\u547d\u4ee4\u53c2\u8003\u624b\u518c","url":"https://github.com/xjh22222228/linux-manual","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":773},{"icon":"https://github.com/favicon.ico","name":"developer-roadmap","desc":"2020\u5e74\u6210\u4e3a\u7f51\u7edc\u5f00\u53d1\u4eba\u5458\u7684\u8def\u7ebf\u56fe","url":"https://github.com/kamranahmedse/developer-roadmap","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":774},{"icon":"https://devhints.io/assets/favicon.png","name":"Devhints","desc":"WEB\u5f00\u53d1\u901f\u67e5\u8868\uff0cmysql/go/java/js/bash/react/git...","url":"https://devhints.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":775},{"icon":"https://wangchujiang.com/linux-command/img/favicon.ico","name":"linux-command","desc":"Linux\u547d\u4ee4\u5927\u5168\u641c\u7d22\u5de5\u5177\uff0c\u5185\u5bb9\u5305\u542bLinux\u547d\u4ee4\u624b\u518c\u3001\u8be6\u89e3\u3001\u5b66\u4e60\u3001\u641c\u96c6","url":"https://git.io/linux","urls":{"-3":"https://github.com/jaywcjlove/linux-command"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":776},{"icon":"https://github.com/favicon.ico","name":"learn-regex","desc":"\u6b63\u5219\u8868\u8fbe\u5f0f\u5b66\u4e60","url":"https://github.com/ziishaned/learn-regex","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":777},{"icon":"https://github.com/favicon.ico","name":"the-art-of-command-line","desc":"\u547d\u4ee4\u884c\u7684\u827a\u672f","url":"https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":778},{"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/chrome/chrome.png","name":"Peter Beverloo","desc":"Chrome\u6d4f\u89c8\u5668\u547d\u4ee4\u53c2\u6570\u53c2\u8003\u624b\u518c","url":"https://peter.sh/experiments/chromium-command-line-switches/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":779},{"icon":"https://avatars2.githubusercontent.com/u/11618545?s=200&v=4","name":"vimrc","desc":"vim\u914d\u7f6e\u53c2\u8003\u624b\u518c","url":"https://github.com/amix/vimrc","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":780},{"icon":"https://www.jenkins.io/zh/sites/default/files/jenkins_favicon.ico","name":"Jenkins","desc":"Jenkins\u662f\u5f00\u6e90CI&CD\u8f6f\u4ef6\u9886\u5bfc\u8005\uff0c \u63d0\u4f9b\u8d85\u8fc71000\u4e2a\u63d2\u4ef6\u6765\u652f\u6301\u6784\u5efa\u3001\u90e8\u7f72\u3001\u81ea\u52a8\u5316\uff0c \u6ee1\u8db3\u4efb\u4f55\u9879\u76ee\u7684\u9700\u8981","url":"https://www.jenkins.io/zh/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":781},{"icon":"https://learnxinyminutes.com/favicon.ico","name":"learnxinyminutes-docs","desc":"\u5728Y\u5206\u949f\u5185\u5b66\u4e60X","url":"https://learnxinyminutes.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":782},{"icon":"https://code.visualstudio.com/apple-touch-icon.png","name":"Vscode Docs","desc":"Vscode \u6269\u5c55\u5f00\u53d1\u6587\u6863","url":"https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/","urls":{"-2":"https://code.visualstudio.com/api","-1":"https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/","-3":"https://github.com/microsoft/vscode-docs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":783},{"name":"YAML\u6559\u7a0b","desc":"YAML\u6559\u7a0b","url":"https://www.yiibai.com/yaml","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":784},{"icon":"https://www.google.com/images/icons/product/chrome-32.png","name":"Chrome Extension","desc":"\u8c37\u6b4c\u6d4f\u89c8\u5668\u6269\u5c55\u63d2\u4ef6\u5f00\u53d1\u6587\u6863","url":"https://developer.chrome.com/extensions","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":785}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6559\u7a0b\u76f8\u5173","nav":[{"nav":[{"icon":"https://static.runoob.com/images/icon/mobile-icon.png","name":"\u83dc\u9e1f\u6559\u7a0b","desc":"\u63d0\u4f9b\u4e86\u7f16\u7a0b\u7684\u57fa\u7840\u6280\u672f\u6559\u7a0b, \u4ecb\u7ecd\u4e86HTML\u3001CSS\u3001Javascript\u3001Python\uff0cJava\uff0cRuby\uff0cC\uff0cPHP , MySQL\u7b49\u5404\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u57fa\u7840\u77e5\u8bc6\u3002 \u540c\u65f6\u672c\u7ad9\u4e2d\u4e5f\u63d0\u4f9b\u4e86\u5927\u91cf\u7684\u5728\u7ebf\u5b9e\u4f8b\uff0c\u901a\u8fc7\u5b9e\u4f8b\uff0c\u60a8\u53ef\u4ee5\u66f4\u597d\u7684\u5b66\u4e60\u7f16\u7a0b","url":"https://www.runoob.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":786},{"icon":"https://www.imooc.com/static/img/common/touch-icon-ipad.png","name":"\u6155\u8bfe\u7f51","desc":"\u6155\u8bfe\u7f51-\u7a0b\u5e8f\u5458\u7684\u68a6\u5de5\u5382","url":"https://www.imooc.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":787},{"icon":"https://www.jikexueyuan.com/favicon.ico","name":"\u6781\u5ba2\u5b66\u9662","desc":"\u81f4\u529b\u4e8e\u201c\u8ba9IT\u5b66\u4e60\u66f4\u6709\u6548\u201d\uff0c\u4ee5\u5b9e\u6218\u4e3a\u7279\u8272\uff0c\u4e3a\u6ce8\u91cd\u81ea\u6211\u63d0\u5347\u7684IT\u4ece\u4e1a\u8005\u63d0\u4f9b\u9ad8\u54c1\u8d28\u804c\u4e1a\u6559\u80b2","url":"https://www.jikexueyuan.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":788},{"icon":"https://9.idqqimg.com/edu/edu_modules/edu-ui/img/nohash/favicon.ico","name":"\u817e\u8baf\u8bfe\u5802","desc":"\u817e\u8baf\u8bfe\u5802 - \u4e13\u4e1a\u7684\u5728\u7ebf\u6559\u80b2\u5e73\u53f0","url":"https://ke.qq.com/index.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":789},{"icon":"https://static2.ichunqiu.com/icq/resources/images/favicon.ico","name":"i\u6625\u79cb","desc":"\u3010i\u6625\u79cb\u3011-\u4e13\u6ce8\u7f51\u7edc\u5b89\u5168_\u4fe1\u606f\u5b89\u5168_\u767d\u5e3d\u5b50\u7684\u5728\u7ebf\u5b66\u4e60_\u6559\u80b2_\u57f9\u8bad\u5e73\u53f0","url":"https://www.ichunqiu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":790},{"icon":"http://www.shiyanbar.com/favicon.ico","name":"\u5b9e\u9a8c\u5427","desc":"\u5b9e\u9a8c\u5427\u662f\u56fd\u5185\u6700\u5927\u7684\u5728\u7ebf\u865a\u62df\u673a\u5b9e\u9a8cIT\u6559\u80b2\u5e73\u53f0","url":"http://www.shiyanbar.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":791},{"icon":"https://www.hetianlab.com/img/ico/favicon.ico","name":"\u5408\u5929\u7f51\u5b89\u5b9e\u9a8c\u5ba4","desc":"\u5408\u5929\u7f51\u5b89\u5b9e\u9a8c\u5ba4\u662f\u652f\u6301\u5728\u7ebf\u5b9e\u9a8c\u7684\u4fe1\u606f\u5b89\u5168\u5b66\u4e60\u7684\u5927\u578b\u670d\u52a1\u5e73\u53f0","url":"http://www.hetianlab.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":792},{"icon":"https://study.163.com/favicon.ico","name":"\u7f51\u6613\u4e91\u8bfe\u5802","desc":"\u7f51\u6613\u4e91\u8bfe\u5802 - \u9886\u5148\u7684\u5b9e\u7528\u6280\u80fd\u5b66\u4e60\u5e73\u53f0","url":"http://study.163.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":793},{"icon":"https://study.163.com/favicon.ico","name":"\u84dd\u6865","desc":"\u84dd\u6865\u662f\u56fd\u5185\u9886\u5148\u7684IT\u5728\u7ebf\u7f16\u7a0b\u53ca\u5728\u7ebf\u5b9e\u8bad\u5b66\u4e60\u5e73\u53f0\uff0c\u4e13\u4e1a\u5bfc\u5e08\u63d0\u4f9b\u7cbe\u9009\u7684\u5b9e\u8df5\u9879\u76ee\uff0c\u521b\u65b0\u7684\u6280\u672f\u4f7f\u5f97\u5b66\u4e60\u8005\u65e0\u9700\u914d\u7f6e\u7e41\u7410\u7684\u672c\u5730\u73af\u5883\uff0c\u968f\u65f6\u5728\u7ebf\u6d41\u7545\u4f7f\u7528","url":"https://www.lanqiao.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":794},{"icon":"https://7n.w3cschool.cn/statics/images/favicon.ico?v=2.2","name":"W3Cschool","desc":"\u7f16\u7a0b\u72ee\uff0c\u662f\u4e00\u4e2a\u4e13\u4e1a\u7684W3C\u524d\u7aef\u5f00\u53d1\u53ca\u7f16\u7a0b\u5165\u95e8\u5b66\u4e60\u5e73\u53f0","url":"https://www.w3cschool.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":795}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u9762\u8bd5\u5237\u9898","nav":[{"title":"\u9762\u8bd5\u5237\u9898","nav":[{"icon":"https://static.leetcode-cn.com/cn-assets/icons/favicon-96x96.png","name":"LeetCode","desc":"\u63d0\u9ad8\u4f60\u7684\u7f16\u7801\u6280\u80fd\uff0c\u5feb\u901f\u627e\u5230\u4e00\u4efd\u5de5\u4f5c\u3002\u8fd9\u662f\u6269\u5c55\u4f60\u77e5\u8bc6\u548c\u4e3a\u4e0b\u4e00\u6b21\u9762\u8bd5\u505a\u597d\u51c6\u5907\u7684\u6700\u4f73\u5730\u65b9\u3002","url":"https://leetcode-cn.com/","urls":{"-2":"https://leetcode.com/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u9762\u8bd5\u5237\u9898","\u9762\u8bd5\u5237\u9898"],"ownVisible":false,"id":796},{"icon":"https://www.nowcoder.com/favicon.ico","name":"\u725b\u5ba2\u7f51","desc":"\u725b\u5ba2\u7f51\u662f\u4e92\u8054\u7f51\u6c42\u804c\u795e\u5668\uff0cC++\u3001Java\u3001\u524d\u7aef\u3001\u4ea7\u54c1\u3001\u8fd0\u8425\u6280\u80fd\u5b66\u4e60/\u5907\u8003/\u6c42\u804c\u9898\u5e93","url":"https://www.nowcoder.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u9762\u8bd5\u5237\u9898","\u9762\u8bd5\u5237\u9898"],"ownVisible":false,"id":797},{"icon":"https://cyc-1256109796.cos.ap-guangzhou.myqcloud.com/LogoMakr_1J56bI.png","name":"CS-Notes","desc":"\u6280\u672f\u9762\u8bd5\u5fc5\u5907\u57fa\u7840\u77e5\u8bc6\u3001Leetcode\u3001\u8ba1\u7b97\u673a\u64cd\u4f5c\u7cfb\u7edf\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u7cfb\u7edf\u8bbe\u8ba1\u3001Java\u3001Python\u3001C++","url":"https://cyc2018.github.io/CS-Notes","urls":{"-3":"https://github.com/CyC2018/CS-Notes"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u9762\u8bd5\u5237\u9898","\u9762\u8bd5\u5237\u9898"],"ownVisible":false,"id":798},{"icon":"https://visualgo.net/img/favicon.png","name":"\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u52a8\u6001\u53ef\u89c6\u5316","desc":"\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u52a8\u6001\u53ef\u89c6\u5316","url":"https://visualgo.net/zh","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u9762\u8bd5\u5237\u9898","\u9762\u8bd5\u5237\u9898"],"ownVisible":false,"id":799},{"icon":"https://github.com/favicon.ico","name":"algorithm-pattern","desc":"\u7b97\u6cd5\u6a21\u677f\uff0c\u6700\u79d1\u5b66\u7684\u5237\u9898\u65b9\u5f0f\uff0c\u6700\u5feb\u901f\u7684\u5237\u9898\u8def\u5f84\uff0c\u4f60\u503c\u5f97\u62e5\u6709~","url":"https://github.com/greyireland/algorithm-pattern","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u9762\u8bd5\u5237\u9898","\u9762\u8bd5\u5237\u9898"],"ownVisible":false,"id":800}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"\u7f51\u7edc\u5b89\u5168","nav":[{"title":"\u7f51\u7edc\u5b89\u5168","nav":[{"title":"\u7f51\u7edc\u5b89\u5168","nav":[{"name":"\u4e4c\u4e91\u7f51\u955c\u50cf","desc":"WooYun\u662f\u4e00\u4e2a\u4f4d\u4e8e\u5382\u5546\u548c\u5b89\u5168\u7814\u7a76\u8005\u4e4b\u95f4\u7684\u6f0f\u6d1e\u62a5\u544a\u5e73\u53f0,\u6ce8\u91cd\u5c0a\u91cd,\u8fdb\u6b65,\u4e0e\u610f\u4e49","url":"http://wooyun.2xss.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":801},{"icon":"https://www.anquan.org/aq_static/images/favicon/favicon.ico","name":"\u5b89\u5168\u8054\u76df","desc":"\u5b89\u5168\u8054\u76df - \u56fd\u5185\u6700\u5927\u7684\u7b2c\u4e09\u65b9\u7f51\u7edc\u5b89\u5168\u6570\u636e\u5171\u4eab\u4ea4\u6362\u5e73\u53f0","url":"https://www.anquan.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":802},{"icon":"https://www.360.cn/favicon.ico","name":"360\u7f51\u7ad9\u5b89\u5168\u68c0\u6d4b","desc":"\u4e3a\u7ad9\u957f\u514d\u8d39\u63d0\u4f9b\u4e86\u7f51\u7ad9\u6f0f\u6d1e\u68c0\u6d4b\u3001\u7f51\u7ad9\u6f0f\u6d1e\u4fee\u590d\u3001\u7f51\u7ad9\u540e\u95e8\u68c0\u6d4b\u3001\u6728\u9a6c\u67e5\u6740\uff0c\u7f51\u5740\u5b89\u5168\u67e5\u8be2\u7b49\u670d\u52a1","url":"http://webscan.360.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":803},{"icon":"https://www.2cto.com/favicon.ico","name":"\u7ea2\u9ed1\u8054\u76df","desc":"\u7ea2\u9ed1\u8054\u76df\u4f5c\u4e3a\u8001\u724c\u7684\u4fe1\u606f\u5b89\u5168\u7f51\u7ad9,\u81f4\u529b\u4e8e\u57f9\u8bad\u7535\u8111\u6280\u672f\u9ad8\u624b.\u7f51\u7ad9\u96c6\u7f51\u7edc\u5b89\u5168,\u7cfb\u7edf\u7f51\u7edc,\u7f16\u7a0b\u5f00\u53d1,\u7f51\u7ad9\u5efa\u8bbe\u7b49\u9891\u9053\u4e8e\u4e00\u4f53","url":"https://www.2cto.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":804},{"icon":"https://www.knownsec.com/static/favicon.ico","name":"\u77e5\u9053\u521b\u5b87","desc":"\u77e5\u9053\u521b\u5b87\uff0c\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e13\u5bb6\uff0c\u957f\u671f\u81f4\u529b\u4e8e\u4e3a\u653f\u5e9c\u3001\u4f01\u4e1a\u7c7b\u5ba2\u6237\u63d0\u4f9b\u5b8c\u5584\u7684\u4e91\u5b89\u5168\u89e3\u51b3\u65b9\u6848","url":"https://www.knownsec.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":805},{"name":"\u5b89\u5168\u5468","desc":"\u5173\u6ce8\u5b89\u5168\u8d44\u8baf \u4e13\u6ce8\u8d44\u6e90\u5171\u4eab","url":"https://www.secz.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":806},{"icon":"https://www.hacked.com.cn/favicon.ico","name":"\u5168\u7403\u88ab\u9ed1\u7ad9\u70b9\u7edf\u8ba1\u7cfb\u7edf","desc":"\u4e3b\u8981\u901a\u8fc7\u7f51\u7edc\u641c\u96c6\u56fd\u5185\u88ab\u9ed1\u7f51\u7ad9\u4fe1\u606f\uff0c\u7edf\u8ba1\u5206\u6790\u6570\u636e\uff0c\u4e3a\u90e8\u7f72\u5b89\u5168\u578b\u7f51\u7edc\u63d0\u4f9b\u5f3a\u6709\u529b\u7684\u4f9d\u636e...","url":"http://www.hacked.com.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":807},{"icon":"https://www.secpulse.com/favicon.ico","name":"\u5b89\u5168\u8109\u640f","desc":"\u9ad8\u8d28\u91cf\u7684\u5168\u7403\u4e92\u8054\u7f51\u5b89\u5168\u5a92\u4f53\u548c\u6280\u672f\u5e73\u53f0,\u5b89\u5168\u7231\u597d\u8005\u4eec\u4ea4\u6d41\u4e0e\u5206\u4eab\u524d\u6cbf\u5b89\u5168\u6280\u672f\u7684\u6700\u4f73\u793e\u533a","url":"https://www.secpulse.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":808}],"createdAt":"2021-01-23 09:32:06"},{"title":"CTF","nav":[{"icon":"http://xss.xiejiahe.com/favicon.png","name":"XSS-CTF","desc":"XSS-CTF \u662f\u4e00\u4e2a\u7ec3\u4e60\u548c\u5165\u95e8\u7684XSS\u5e73\u53f0, \u6bcf\u4e00\u4f4dWEB\u5de5\u7a0b\u5e08\u90fd\u5e94\u5177\u5907\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u63d0\u9ad8\u7f51\u7edc\u5b89\u5168\u610f\u8bc6","url":"http://xss.xiejiahe.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","CTF"],"ownVisible":false,"id":809},{"name":"XSS\u6d4b\u8bd5","desc":"XSS\u5c0f\u6e38\u620f","url":"https://xss.haozi.me/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","CTF"],"ownVisible":false,"id":810},{"name":"Pasteurize","desc":"XSS CTF","url":"https://pasteurize.web.ctfcompetition.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","CTF"],"ownVisible":false,"id":811}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8f85\u52a9\u5de5\u5177","nav":[{"icon":"https://www.telerik.com/favicon.ico","name":"fiddler","desc":"Fiddler\u662f\u4e00\u4e2a\u7528\u4e8eHTTP\u8c03\u8bd5\u7684\u4ee3\u7406\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f","url":"https://www.telerik.com/fiddler","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":812},{"icon":"https://www.wireshark.org/assets/images/favicon.ico","name":"wireshark","desc":"\u662f\u4e00\u4e2a\u7f51\u7edc\u5c01\u5305\u5206\u6790\u8f6f\u4ef6\u3002\u7f51\u7edc\u5c01\u5305\u5206\u6790\u8f6f\u4ef6\u7684\u529f\u80fd\u662f\u64b7\u53d6\u7f51\u7edc\u5c01\u5305\uff0c\u5e76\u5c3d\u53ef\u80fd\u663e\u793a\u51fa\u6700\u4e3a\u8be6\u7ec6\u7684\u7f51\u7edc\u5c01\u5305\u8d44\u6599\u3002Wireshark\u4f7f\u7528WinPCAP\u4f5c\u4e3a\u63a5\u53e3\uff0c\u76f4\u63a5\u4e0e\u7f51\u5361\u8fdb\u884c\u6570\u636e\u62a5\u6587\u4ea4\u6362","url":"https://www.wireshark.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":813},{"name":"XSS\u5e73\u53f0-\u767d\u5e3d\u5b89\u5168\u6d4b\u8bd5","desc":"XSS\u5e73\u53f0\u662f\u4e00\u4e2a\u514d\u8d39\u7ed9\u767d\u5e3d\u5b89\u5168\u6d4b\u8bd5\u7684\u5e73\u53f0","url":"https://xsspt.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":814},{"name":"Security Headers","desc":"\u5feb\u901f\u8f7b\u677e\u5730\u8bc4\u4f30HTTP\u54cd\u5e94\u5934\u7684\u5b89\u5168\u6027","url":"https://securityheaders.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":815},{"name":"w9scan","desc":"\u4e00\u6b3e\u5168\u80fd\u578b\u7684\u7f51\u7ad9\u6f0f\u6d1e\u626b\u63cf\u5668\uff0c\u5185\u7f6e1200+\u63d2\u4ef6\u53ef\u5bf9\u7f51\u7ad9\u8fdb\u884c\u4e00\u6b21\u89c4\u6a21\u7684\u68c0\u6d4b\uff0c\u529f\u80fd\u5305\u62ec\u4f46\u4e0d\u9650\u4e8eweb\u6307\u7eb9\u68c0\u6d4b\u3001\u7aef\u53e3\u6307\u7eb9\u68c0\u6d4b\u3001\u7f51\u7ad9\u7ed3\u6784\u5206\u6790\u3001\u5404\u79cd\u6d41\u884c\u7684\u6f0f\u6d1e\u68c0\u6d4b\u3001\u722c\u866b\u4ee5\u53caSQL\u6ce8\u5165\u68c0\u6d4b\u3001XSS\u68c0\u6d4b...","url":"https://github.com/w-digital-scanner/w9scan","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":816},{"icon":"https://avatars0.githubusercontent.com/u/7302766?s=200&v=4","name":"xray","desc":"xray \u5b89\u5168\u8bc4\u4f30\u5de5\u5177","url":"https://github.com/chaitin/xray","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":817},{"icon":"https://www.cmd5.com/favicon.ico","name":"cmd5","desc":"md5\u5728\u7ebf\u89e3\u5bc6\u7834\u89e3,md5\u89e3\u5bc6\u52a0\u5bc6","url":"https://www.cmd5.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":818},{"icon":"https://avatars3.githubusercontent.com/u/735289?s=200&v=4","name":"sqlmap","desc":"\u81ea\u52a8SQL\u6ce8\u5165\u548c\u6570\u636e\u5e93\u63a5\u7ba1\u5de5\u5177","url":"http://sqlmap.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":819},{"icon":"https://avatars2.githubusercontent.com/u/63385?s=200&v=4","name":"nmap","desc":"nmap\u662f\u4e00\u4e2a\u7f51\u7edc\u8fde\u63a5\u7aef\u626b\u63cf\u8f6f\u4ef6\uff0c\u7528\u6765\u626b\u63cf\u7f51\u4e0a\u7535\u8111\u5f00\u653e\u7684\u7f51\u7edc\u8fde\u63a5\u7aef","url":"https://nmap.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":820},{"icon":"http://xssor.io/s/favicon.ico","name":"xssor","desc":"\u7f16\u7801/\u89e3\u7801\uff0cCodz\uff0c\u63a2\u9488","url":"http://xssor.io","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":821},{"icon":"https://phpinfo.me/favicon.ico","name":"\u5728\u7ebf\u5b50\u57df\u540d\u67e5\u8be2","desc":"\u5728\u7ebf\u5b50\u57df\u540d\u67e5\u8be2","url":"https://phpinfo.me/domain/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":822},{"name":"fuzzDicts","desc":"Web Pentesting Fuzz \u5b57\u5178","url":"https://github.com/TheKingOfDuck/fuzzDicts","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":823},{"name":"BurpSuitePro","desc":"\u514d\u8d39\u7684BurpSuitePro\u7248\u672c","url":"https://github.com/TrojanAZhen/BurpSuitePro-2.1","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":824}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u77e5\u8bc6/\u6d4b\u8bd5","nav":[{"icon":"https://vulhub.org/img/favicon.ico","name":"Vulhub","desc":"\u57fa\u4e8edocker\u548cdocker-compose\u7684\u6f0f\u6d1e\u73af\u5883\u96c6\u5408...","url":"https://vulhub.org","langguage":["","","https://github.com/vulhub/vulhub"],"createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u77e5\u8bc6/\u6d4b\u8bd5"],"ownVisible":false,"id":825},{"name":"SRC-experience","desc":"\u5de5\u6b32\u5584\u5176\u4e8b\uff0c\u5fc5\u5148\u5229\u5176\u5668,\u4e00\u4e9bsrc\u6316\u6398\u5947\u6280\u6deb\u5de7\uff0c\u56fd\u5916\u65b0\u6280\u672f\u7684\u5b66\u4e60\u7f51\u7ad9\u5206\u4eab","url":"https://github.com/Wh0ale/SRC-experience","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u77e5\u8bc6/\u6d4b\u8bd5"],"ownVisible":false,"id":826},{"name":"Intranet_Penetration_Tips","desc":"\u5185\u7f51\u6e17\u900fTIPS","url":"https://github.com/Ridter/Intranet_Penetration_Tips","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u77e5\u8bc6/\u6d4b\u8bd5"],"ownVisible":false,"id":827}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"\u8fd0\u8425\u76f8\u5173","nav":[{"title":"\u8fd0\u8425\u76f8\u5173","nav":[{"title":"\u8fd0\u8425\u76f8\u5173","nav":[{"icon":"https://tongji.baidu.com/favicon.ico","name":"\u767e\u5ea6\u7edf\u8ba1","desc":"\u5168\u7403\u6700\u5927\u7684\u4e2d\u6587\u7f51\u7ad9\u6d41\u91cf\u5206\u6790\u5e73\u53f0\uff0c\u5e2e\u52a9\u4f01\u4e1a\u6536\u96c6\u7f51\u7ad9\u8bbf\u95ee\u6570\u636e\uff0c\u63d0\u4f9b\u6d41\u91cf\u8d8b\u52bf\u3001\u6765\u6e90\u5206\u6790...","url":"https://tongji.baidu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":828},{"icon":"https://www.umeng.com/favicon.ico","name":"CNZZ","desc":"CNZZ\u6570\u636e\u4e13\u5bb6\u662f\u5168\u7403\u6700\u5927\u7684\u4e2d\u6587\u7f51\u7ad9\u7edf\u8ba1\u5206\u6790\u5e73\u53f0\uff0c\u4e3a\u5404\u7c7b\u7f51\u7ad9\u63d0\u4f9b\u514d\u8d39\u3001\u5b89\u5168\u3001\u7a33\u5b9a","url":"http://www.cnzz.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":829},{"icon":"https://www.baidu.com/img/baidu.svg","name":"\u767e\u5ea6\u641c\u7d22\u8d44\u6e90\u5e73\u53f0","desc":"\u767e\u5ea6\u641c\u7d22\u8d44\u6e90\u5e73\u53f0_\u8ba9\u7f51\u7ad9\u66f4\u5177\u4ef7\u503c","url":"https://ziyuan.baidu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":830},{"icon":"https://www.wjx.cn/favicon.ico","name":"\u95ee\u5377\u661f","desc":"\u514d\u8d39\u4f7f\u7528\u95ee\u5377\u661f\u521b\u5efa\u95ee\u5377\u8c03\u67e5\u3001\u5728\u7ebf\u8003\u8bd5\u3001360\u5ea6\u8bc4\u4f30\u7b49\u5e94\u7528","url":"https://www.wjx.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":831},{"icon":"https://gd-assets.jinshujucdn.com/favicon.ico","name":"\u91d1\u6570\u636e","desc":"\u91d1\u6570\u636e\u662f\u4eba\u4eba\u53ef\u7528\u7684\u5728\u7ebf\u8868\u5355\u5de5\u5177\uff0c\u5e2e\u52a9\u7528\u6237\u6536\u96c6\u548c\u7ba1\u7406\u65e5\u5e38\u5de5\u4f5c\u4e2d\u7684\u6570\u636e\uff0c\u63d0\u5347\u5de5\u4f5c\u6548\u7387","url":"https://jinshuju.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":832},{"icon":"https://ssl.gstatic.com/analytics/20201013-01/app/static/analytics_standard_icon.png","name":"Google Analytics","desc":"Google Analytics\u662f\u4e00\u4e2a\u6536\u96c6\u6570\u636e\u5e76\u5c06\u5176\u5206\u6790\u6574\u7406\u6210\u5b9e\u7528\u62a5\u544a\u7684\u5e73\u53f0","url":"https://analytics.google.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":833},{"icon":"https://mta.qq.com/mta/resource/imgcache/images/favicon.ico","name":"\u817e\u8baf\u79fb\u52a8\u5206\u6790","desc":"\u817e\u8baf\u79fb\u52a8\u5206\u6790\u662f\u817e\u8baf\u6570\u636e\u4e91\uff0c\u817e\u8baf\u5927\u6570\u636e\u6218\u7565\u7684\u6838\u5fc3\u4ea7\u54c1\uff0c\u63d0\u4f9bapp\u5e94\u7528\u7684\u79fb\u52a8\u7edf\u8ba1\u5206\u6790\uff0c\u652f\u6301android/iOS\u5e73\u53f0\uff0c\u5b9e\u73b0\u7528\u6237\u753b\u50cf\u3001\u6570\u636e\u53ef\u89c6\u5316\u3001\u6570\u636e\u6316\u6398\u3001\u6e20\u9053\u6548\u679c\u5206\u6790\u7b49\u7efc\u5408\u6570\u636e\u670d\u52a1","url":"https://mta.qq.com/mta/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":834},{"icon":"https://www.google.com/favicon.ico","name":"Google Adsense","desc":"Google Adsense","url":"https://www.google.com/adsense","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":835}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false,"id":0},{"title":"\u535a\u5ba2\u770b\u70b9","nav":[{"title":"\u535a\u5ba2\u770b\u70b9","nav":[{"title":"Team","nav":[{"icon":"https://aotu.io/img/favicon-48x48.png","name":"\u51f9\u51f8\u5b9e\u9a8c\u5ba4","desc":"O2\u9762\u5411\u591a\u7ec8\u7aef\u6280\u672f\u4f53\u7cfb\uff0c\u81f4\u529b\u4e8e\u6784\u5efa\u6c89\u6dc0\u4e0e\u5206\u4eab\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4ea4\u4e92\u3001\u9875\u9762\u5236\u4f5c\u6280\u5de7...","url":"https://aotu.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u535a\u5ba2\u770b\u70b9","\u535a\u5ba2\u770b\u70b9","Team"],"ownVisible":false,"id":836},{"icon":"https://imweb.io/public/icon.png","name":"\u817e\u8bafIMWeb","desc":"Web\u524d\u7aef \u817e\u8bafIMWeb \u56e2\u961f\u793e\u533a","url":"https://imweb.io/topic/tab/all","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u535a\u5ba2\u770b\u70b9","\u535a\u5ba2\u770b\u70b9","Team"],"ownVisible":false,"id":837},{"icon":"https://avatars1.githubusercontent.com/u/4158466?s=200&v=4","name":"\u5b57\u8282\u8df3\u52a8\u6280\u672f\u535a\u5ba2","desc":"\u5b57\u8282\u8df3\u52a8\u6280\u672f\u535a\u5ba2","url":"https://techblog.toutiao.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u535a\u5ba2\u770b\u70b9","\u535a\u5ba2\u770b\u70b9","Team"],"ownVisible":false,"id":838},{"icon":"https://fed.taobao.org/favicon.ico","name":"\u6dd8\u7cfb\u524d\u7aef\u56e2\u961f","desc":"\u7528\u6280\u672f\u4e3a\u4f53\u9a8c\u63d0\u4f9b\u65e0\u9650\u53ef\u80fd","url":"https://fed.taobao.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u535a\u5ba2\u770b\u70b9","\u535a\u5ba2\u770b\u70b9","Team"],"ownVisible":false,"id":839},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"\u6709\u8d5e\u6280\u672f\u56e2\u961f","desc":"\u6709\u8d5e\u6280\u672f\u56e2\u961f","url":"https://tech.youzan.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u535a\u5ba2\u770b\u70b9","\u535a\u5ba2\u770b\u70b9","Team"],"ownVisible":false,"id":840}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4e2a\u4eba\u535a\u5ba2","nav":[{"name":"\u962e\u4e00\u5cf0\u7684\u7f51\u7edc\u65e5\u5fd7","icon":"http://www.ruanyifeng.com/favicon.ico","url":"http://www.ruanyifeng.com/blog/","desc":"\u962e\u4e00\u5cf0\u7684\u7f51\u7edc\u65e5\u5fd7","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u535a\u5ba2\u770b\u70b9","\u535a\u5ba2\u770b\u70b9","\u4e2a\u4eba\u535a\u5ba2"],"ownVisible":false,"id":841},{"icon":"https://www.xiejiahe.com/favicon-128x128.png","name":"\u8c22\u5bb6\u548c\u7684\u535a\u5ba2","desc":"WEB Developer","url":"https://www.xiejiahe.com/?from=nav2","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u535a\u5ba2\u770b\u70b9","\u535a\u5ba2\u770b\u70b9","\u4e2a\u4eba\u535a\u5ba2"],"ownVisible":false,"id":842},{"icon":"https://www.yinwang.org/images/Yc.jpg","name":"\u738b\u57a0\u7684\u535a\u5ba2","desc":"\u5f53\u7136\u6211\u5728\u626f\u6de1","url":"http://www.yinwang.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u535a\u5ba2\u770b\u70b9","\u535a\u5ba2\u770b\u70b9","\u4e2a\u4eba\u535a\u5ba2"],"ownVisible":false,"id":843},{"icon":"https://overreacted.io/favicon.ico","name":"Dan","desc":"react\u4f5c\u8005\u7684\u535a\u5ba2","url":"https://overreacted.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u535a\u5ba2\u770b\u70b9","\u535a\u5ba2\u770b\u70b9","\u4e2a\u4eba\u535a\u5ba2"],"ownVisible":false,"id":844}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false,"id":0},{"title":"My","createdAt":"2023-12-16 07:00:58","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"MyNAV","createdAt":"2024-07-14 14:06:50","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcElEQVQ4jXWTP2iVVxjGf+85596bm5hI1ArW1D90lXZRdFIJIia0IDhJqlhELXFwsDi7uOjgFAUVRW276CSJgyTYiEspCg66OEiMDjoUrybXe7/vO+dx+BJ67+A7nXOe9z3/3ucHnXFW7v+J3MiYBraPaQA61rtywLqEs5b2HNeGeo2j5hhWZAPCLDCHmGm2uD59xV4v53ZsIAeWfhrX4VDlgjPWxggSIMBBJUBMvMvb/D512f5YrrHlwc8ndchXuFXkQCLD8AbmygurnRGdp1qtQZHxy+Ql+xNkBjB6VBtDnWcS/UkkA79UyOcWtDPY+C3kkfhxARcCjdYCPz64YfMOwPVwwldYqUQRHB5goQkLTWzzEHb6Vzh3CoLHx4IiVBis9XECIICcM4ZTREn4RgP66rDjB2x0J9q2BaoV7N5DNPcWVq3EFzlyxjDIhd37GUhiPQX09mAH9qJdW7HvvxNglgTtDE09gnoPEpgEEkPbx1jhil7MwElgBoP9sG5N+f52Vrbp6Qt4OQf1HkgqtQTWn2Hu8V80zJgPFVj8jC7ewg6egclZo1YVgCZny3ZLGELmIDjmp+/wyYEliRnnMW/E1YPlz1+7ixabxqs32JPnqK++dLqIPmCCGbDkAPLI1VTQwOPzgtjXC/81YPof9Pe/aLEF3oFEdI4Qcz4021xdcmJppNFxHanWuFFkAGQp4lf0YilBs4WcJwLVUIEs5/D9CbsNcl1WHh3XkWqF8+b5JhUQY6l6Dy6AEu/znDNTE3azw8rdMO37TZtqNY4hdqfEEIB55i0xmyeu3J+wuU6YuqMbZz8ypoGREmf/NZy/AG6PHowdArJiAAAAAElFTkSuQmCC","url":"https://mygithub-1.github.io/nav/#/super?q=&id=0&page=12","urls":{},"desc":"","rate":5,"id":845,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Hoarder","createdAt":"2024-07-01 23:37:00","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC","url":"http://60.205.125.139:3000/signin","urls":{},"desc":"","rate":5,"id":846,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Home | TOP500 Supercomputer Sites","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsElEQVQ4jY2TTWhcVRiGn+/cM3d+Osm0UYuRpKQLFenCVrHipljUgnQhCq24qLhyJUYlCkKLQVChWFoUxFVNNy78wYU/VQQVxCLRgo1VrEUSisVJtGk6ncyd3HvPeV2MO0Xy7t+X74PngXXk08cZXTjMwdlnGAfQNG49PTSNB1h4id06jrI3uPDHER4FkDDg/5dsmhKwjU2myoJQRsav38iJ9lGeMkMSZgD7xqjffhdpvzsiRoDlZUab2P070/HhND/UrLG/V1gQkCD5Cr69zD0Tz/OFnTnI1i2bec/DBkUiYDIwj7mSLY069W5uQUEOAY7QqOFX+3z73Al22eIRDm3exItZGMLXNw1uzzvE3grl8FbFq4tBZS9xQ6OQDqGVBQh59BVYusIen6b+3qJbBm56IPpdx5ySlOL0YZRUrb590uJfc77/1ZM09r4rnEeXz9M7+Yhq7s+kUWW385QTZepc/tPbSXFuxmJ71uU/HnfVHZPW/+QAVJqq3LxPUrTi+5flxu42d80txBKCkhudwAtDZTTyDioziD0AwuXzqL+CJR7MKd3+NPncm8TF7yABR/BO0PbOMCPK182qLWL3CmHpjDUe+siS1gTlxW+wWovex/vpf/6EFDOcgyB+91nBqWYt3EYFlT/PUP72ISSy7OSDSsb3Rl36QXH5rFv77IDUPUfSMEWJImBRnLILr3DHdS2+LoVXgUkYKVhJqBseD2sCciAdAJp6LCv4dXaOnQZw6RhvjbR4rNO1NeesohhVr1qymrsvr2a8XsRw0VzdiiKjZkTn8SW0J55l3gtsdpGpbSk7hjfo1s6q+o2UWifTB3smw8OnoRjAkf037gIz0C/T3DB2LTPVGvfla2Rn59l256vM/yNU/FfzBWSGBk8xMAtwi0eZWnqN99+BZD3G/g0EOj/O4xBoDgAAAABJRU5ErkJggg==","url":"https://www.top500.org/","urls":{},"desc":"","rate":5,"id":847,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7a0b\u5e8f\u5458\u5ba2\u6808-\u9886\u5148\u7684\u7a0b\u5e8f\u5458\u81ea\u7531\u8fdc\u7a0b\u5de5\u4f5c\u5e73\u53f0","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jZWSvy5EYRDFf2f23sXSKCQkGpVSi2rjCbwGpUojHoAXINHtm4jgFSgVJP50u3at/Y5i7967f0Riii+TmTlzZs584vKdaTMIG0CaymVFAqTKBc+WDi3A4Mx2N4FVMIBdNpgAhETPh5tz59sNuvZgsqiAVeBIhrpaj708aO0tbSxIyRrNhYQEKicMMKGPTx/fdJrr+f5G3V8uJtUvDJkk91NzLT/bbZzed64eerW6om9DghTTQmVgzPKiju7a10996jrZmt9ZzQf2S9sHt+2eDYHTECku3gC+EqHIlQZemVcjk+E78fyZDIRIJmLIABBzgZVsQq9dKkFrQ52FypEkIFXHg1qRNeXq1SbVpUeJQv0iUla7uH1WiVA2gzGKWYbSNPYy6Y8FY/a3/G3/BvwAXPGMy7CiL0wAAAAASUVORK5CYII=","url":"https://www.proginn.com/","urls":{},"desc":"","rate":5,"id":848,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"CloudConvert","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://cloudconvert.com/","urls":{},"desc":"","rate":5,"id":849,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6cb9\u5c0f\u7334","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.baiduyun.wiki/","urls":{},"desc":"","rate":5,"id":850,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"www.similarsites.com","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuUlEQVQ4jU2TzWtdVRTFf2ufc+/LF1KKQpCSkkSL0I/QUIsO7aA4qQMnzhQ1VqkRHNR0UAcVcWAVdZAmpYSIDvoPSEGLYoSWSkTUCELVECTFGKyE1qRN3r3nbAfvvZozOwvWb+99zl6idQQ4nOna82Bf369/nrzZ1jn+uo82CvZJLC/Mc21uTpvgAjmAdcz7B6aGRh/uvxgaXb0d84lTPtFocBXjExefjzzO1dcm/OmW2dWprAPD0w+Usbzm5LXvr790COD4uD9SdPOzRMyZGrAYMQtQV7wzeVZvgssAD2ZnY+gbAi13qodGGpQRU6IGAqC6pm5uUZUlp8cn/BWQ68Dw9JEi2GV3F3BjY+3Wvus3J9affZWd9/XwowK7Uk0FRAlyJofW4LdSxaMWQnhOCsFJlUIx0L1jxzMg//Sc/sEYM7FhRoFTu4OE5YyHyE5FXjaDx7InlxQ8VzlYeHvvrnMPAUy+qy+qLY6FyHIsKIDU/jOlGjdx1NzrAfcMKODZwfu7eopLe4dbkKkP9PXdiidSZiFGYhtiOUPODJsLA0cCJHOaNWhPV+z+cmRw+jDAhfe0WDV50p1fQiDi5PZbRxNhRQq4u7c0C5mqgnp3UZSXRnZPH8RdFz7SStXkecQmgAzMuGFyfSdFpHtUhGL2ugLuD6XNMPhWA1znP9S8Zy6HgmBCgm+tzukinnWvgf8hIftWQoweLPoPd7YvJRZCILlTVZlZ+2lx9TMnfRWsN7rnJmwjyR3Hc06hIwhiTy/Bxcz59zVncKb2Kr6YvPlbDH0NkLlnh5yDeiLypb/W78x3mLHkqfXbXLn7N6c6q6wflsb+qNPmEff6Y0drpsJEaVn+u+fyhdXVNzYATpz0YzhXVhY5Ojurf9sdbY8z7B+YGirKeMgU0u2NtW+2R3ts3AdnJrXUurUi/R8QyTtLzvPYgQAAAABJRU5ErkJggg==","url":"https://www.similarsites.com/","urls":{},"desc":"","rate":5,"id":851,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Etsy China - Shop for handmade, vintage, custom, and unique gifts for everyone","createdAt":"2024-02-06 13:28:49","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC","url":"https://www.etsy.com/?ref=lgo","urls":{},"desc":"","rate":5,"id":852,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"The Verge","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABsUlEQVQ4jXXTO2sUcRQF8N8dJxojQSEgihCiILFTxGCjhYqiRUISDdhpo58ghaWFn8LKRiSs5okoijYi+AIVUUFsIj6IhUUivpLdv8XObNbFvdUczjmXc8/MxElpXyK0mcT8lPha4jFpyzK9GSlIeeISBlD7jz+CcVyBi1L2kgsZZ1Cr8SxPTAeHsLZNgs7y+QXbM4awCX+CmTxnrso57C10j/G09AevGnE4jr4CvsVsXhGfRqWppgVffjJ+S/xuTjIkdQejVvuanhQfM6gyg88FcbCLPa2nrKn3NFDAhRrTkKkf/yZxtyB7agy3NBHBCLqLXu5v5nVjQUVUExP4Udw6OCZtW311+tTvh1+YuCyWGwtgAw8TTwrYv8KRkqtyDDsK+DznQck1FlwVi0GlnlCeMXZW6hyUulK9vFJ7oyK+lb68paubidNBb2LrEn0d9GB/wc8n5poNWTOY5ANO4QCGM+YLvLGQ3N7N+2ZP23+gXl7qXeFO0I+ljJHr4l7bBK1T5Wiws4CPov6V/jOtHTTmhLQOh7GI5cS1ivjeqmt7wnmpY4FdwXpUa7ybFUutur/QZXoo2k7BZgAAAABJRU5ErkJggg==","url":"https://www.theverge.com/","urls":{},"desc":"","rate":5,"id":853,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u516d\u661f\u6e90\u8bfe\u5802\uff1a\u6bcf\u4e2a\u7a0b\u5e8f\u5458\u90fd\u5e94\u8be5\u8bbf\u95ee\u768417 \u4e2a\u5b9e\u7528\u7ea7\u7f51\u7ad9\uff01 - \u77e5\u4e4e","createdAt":"2024-02-07 13:25:40","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=","url":"https://zhuanlan.zhihu.com/p/505139756","urls":{},"desc":"","rate":5,"id":854,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Gumroad \u2013 Sell what you know and see what sticks","createdAt":"2024-02-07 13:25:40","icon":null,"url":"https://gumroad.com/","urls":{},"desc":"","rate":5,"id":855,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"HiringCafe - Find Top Remote Tech Jobs","createdAt":"2024-02-07 14:21:12","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAZFJREFUOI2FUj1v20AMJc+WFsGwJ0/p6sCZLED/IoWz+6c4q7WmQLoJ3lJ4c1atzj+If4GGBnAWwSkEAwfcHV8HtlcjSJE33JF8j/dBkgEACCHQZ+j1eszMIsLMn6oVAPpEdDweN5vNz5eXnjEf6oLIl4uLxWIxGo0MMz/tdrfLZZokzAyAz6BumiS3y+XTbsfMFEJo2/ZmPi9XK/wH5Wp1M5+3bRtCIO89gNfDIZ/NyrIEYK11zjnnrLUAyrLMZ7PXwwGA955ERHOaprmaTquqUkKDVVVdTadN02hQRAiAiDjnAOz3+8vJ5HG71Zc8breXk8n++RmAc05EAJBuMaeu6zzPu67rui7P87quz9Ui0o+lMMaISFEUWZadTiciyrKsKAoRMcb8kxGROupbazWiq7VWbWWJqK+t0aoTkTEGgDEmyzLvvVJ6iSrNeduVS5JERL7d3UFkOBzGsxX9aOnD0jT99fb29fp6PB6v1+vBYPB+2GI75S9+PDx8v7+PU6z1iWAAMTN+98/MhXBeHw3+Btg7btfem1ozAAAAAElFTkSuQmCC","url":"https://hiring.cafe/","urls":{},"desc":"","rate":5,"id":856,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Data Structure Visualization","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABj0lEQVQ4jbXSO0jVcRQH8M+595pP1K4iWOZQbSkZQVhhS2FhJNRgY0UQ1BK1RLRENEhBU1OvXaFBycGxIJoMygalprCHiqgJCnr7/RvScHXoTAfO+T748g1XDtrK5Lb0jUJTvmxmkRUo1GqosrpmfoESBY1F+WR6jm121Mtl/4C1G0sF1ZsIyzed/ioMjBzuOy4O6b1g6Ka4xjNDb/R2GRx1/ioHzN1VXae81fiYQt++knImnSiCb+4/1Nvl3ai+k2oeO31JsX2dPivJfZpIJLn0cTqRoizduZ78SEdOpVfDaXdTsj2RxodTRNp/JhXShrmUQfZV1WXLz2XfxTG+0MOa9jaPXnryflOs68g2Ky/cfkCz7LPoY4wZWtw4Z2Jcbk8dWPF2CjqKWnr0PxVHIQ3QyE7ZB7ELCqv5XDW13Qa7YXLW8ghELQvUUwPRTIkqueK9kGJxNDp6Y+p1rAzF2f4gsl+hPjpvhfkg5MPeUBehklVa+M0sDfykSCVLLNFKkNhGhULTxc4tVSP+e1v/ALHxh1lBNmIPAAAAAElFTkSuQmCC","url":"https://www.cs.usfca.edu/~galles/visualization/","urls":{},"desc":"","rate":5,"id":857,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Stripe \u5982\u4f55\u521b\u5efa\u79d1\u6280\u884c\u4e1a\u6700\u597d\u7684\u6587\u6863 - Mintlify","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABzElEQVQ4jY2SP2hTURTGf+e+l9ikrwGzpFL/rFIFLUIJSAd1kE6lYAUJREqHzg9EOj4cNcWSUZBUS4dCoTg4ZCy4BAqpFroUpwqti6KmNX/63nGIjX3Jq3qmey/f75yP7x7htFLPDO4OPRR0RtERIBmh8iWKTe8UU/F4fA2R26cO+F12D1zMpeyAMiLZf8EAphv2M5mySZz5LzjUIF3MpZpNqyyqFaOM4Qe3VHGBD39r0M6gmEs5TasMZAUd+/Fo6V1HoZ4Z3D3nAk+7HbcdTE1ZTtOsAVkAVSuci3jB/sXZeQIeRxiom4HRZB7+pK3Gvx5ldX9x77nA+/Crbho1OhMaqDKN5/VYxfOCQLUU0oq8NAQyEm6qw/19O1eiXBiheuK6vnf+bMkgGjsBH2HLg4O55S2nMD2MFw7NGFoAWm9VGg4TyH1fnEJ+C7h6DNfc16sDz/KTKqwA2wolQaqi2rIupO+JZd/k4/e7X+defKO9ibKCBpcj4BhwTWABFBXwP32p2Ed9HRjAriX6F5KHB9VD99XbLjhUAj0wnUUCkoX8uIE3UTCq6zE/MdENA1jHh9adG5/jRhtABiWN0AA2BJ7ULtXd+uzSz6if+QWXj65atnGG2AAAAABJRU5ErkJggg==","url":"https://mintlify.com/blog/stripe-docs","urls":{},"desc":"","rate":5,"id":858,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"TechCrunch | Startup and Technology News","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://techcrunch.com/","urls":{},"desc":"","rate":5,"id":859,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"MEGA","createdAt":"2024-03-30 08:26:49","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABpklEQVQ4jaWSwUtUURTGf/fNzMNkZoLRzDcbhVLb+Y/YyloFQRHtIhlbDCi0dlFQyyhBcCduBP+PcGVmQ4H0cHARvkfJe/ee02LmvRlnGkg8cOHej3O/832cD65ZZhDQ+vwkJmkgZgnDfBc+BPag9N78PDobSWCDmWVjzCeUmyMGniv6tBj+2B0isFMzy2p051+qBkUaNQ+L7Q6JAdDp6VuJlI6B6v/4Bs4T489VTr+1PYDftvDCiVSdCP5Ji8LbDZwqTqRzVPHebOCftDKs6snFSk4X1YLPUS3QqBZoVsnWtkYTdY0m6ppsbed41hfVggOAIoB17l6/PglDSo8fIdaCaucehnhBgHUua1vICZzIJYMXHzbxgtuMPX/WfX9EwlPGX6/19yb9BIfAYq5AhHi1iaQWgLi5znjjJQPDWj0CJ3uKLgJomiJpirWWX6+aPVtpCtbmFhT28zUel8tTfmK+XmmNvs7djeN2HprvhfKVgjTr4l6QclOFGw8UNsFURvyNgCd33J/hKGf1hcqk56UNlPvdVSWgR8aYfSeldwtEZ0O816m/ibHiwE2Nd0oAAAAASUVORK5CYII=","url":"https://mega.nz/folder/uMtFyLzS#ChIPIPw26YFeqjyprEq2ww","urls":{},"desc":"","rate":5,"id":860,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"namakxin - Digital Artist | DeviantArt","createdAt":"2024-03-30 08:25:56","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC","url":"https://www.deviantart.com/namakxin/gallery","urls":{},"desc":"","rate":5,"id":861,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5c0f\u7ea2\u4e66\u5343\u5e06PC\u7aef","createdAt":"2024-03-22 13:45:19","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACNElEQVQ4jW2Tz0tUURzFP987I+IMuYjARmq0RcRAi0zKbFOLEPoHoqBtf0ntoyJoZ9AvEMooSFQICoMCN0ILYSTNwChFcyZ0sne/p8V9TQo9uLzL/X7P95533jlIqkqakuSSotxd7pLLFaOUF9LGU086mpJURdJ0Xs52FV0xJtzrd9KNO64vK+k8DfmdY6bZBXZJ7pIUY2JRX5RGrkoDF6Xrt//VUm8mSQFwIJA/BkIyDHHvEWy14FBFLCyZbbdECCDlrcSQb0BK7ywzFQowPWO8+QDlEoRgrG+K+pIJwGU5ztIAd8NMuBshyJo/4e4DKBQTg44OiNGoL8okQEKJcABECIm2JEIwRp/CwjLs7MD5IejtSfd9nDeZGWZGmqCQqMtwT1TrS/DweRKkchCuXYbeA9BXgWYDe/teSGmguyXxclaYwc1RWPkO3WUYPg4vJ2BnGyr7oasTnozD4/GEMSPk3y6KRZiaEeOTcO4kXLoA+zphdQ2yDLZ+QRahuxtm5+DbGm5mxVxA+NEUt+4bV0bEYM1Y30wCHumDwROw/BXGXiTpKj2i3EUAmWJ0hWD2bALq8+Jo1VhZFeWyMXQKasfALDGenYNPn53TA0H9hzHJzSW3VgteTUDMoNGE/n5j+IxUKplJ+mschbbfsGRAFQ2MQiFS6gpsbBhnh6VaDQOzGNOfMQMzmXt7ACEIKLTD5K1WpkYj+d3dd3n+f2tPmKqSJmMeRbnHdipT8rwd9b1rUlL1D5CO+mEah6VfAAAAAElFTkSuQmCC","url":"https://ark.xiaohongshu.com/app-violation/violation-manage/list","urls":{},"desc":"","rate":5,"id":862,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"3Blue1Brown","createdAt":"2024-05-17 23:30:24","icon":null,"url":"https://www.3blue1brown.com/","urls":{},"desc":"","rate":5,"id":863,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"RegExr: Learn, Build, & Test RegEx","createdAt":"2024-05-29 12:09:10","icon":null,"url":"https://regexr.com/","urls":{},"desc":"","rate":5,"id":864,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u706b\u5c71\u5f15\u64ce-\u4e91\u4e0a\u589e\u957f\u65b0\u52a8\u529b","createdAt":"2024-06-15 00:55:06","icon":null,"url":"https://www.volcengine.com/docs/83571/1171733","urls":{},"desc":"","rate":5,"id":865,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u79c1\u6709\u5316\u90e8\u7f72 Dify \u5e76\u5feb\u901f\u642d\u5efa AI \u5e94\u7528_dify ai-CSDN\u535a\u5ba2","createdAt":"2024-06-15 00:55:06","icon":null,"url":"https://blog.csdn.net/m0_59235699/article/details/139333392","urls":{},"desc":"","rate":5,"id":866,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5927\u6a21\u578b\u77e5\u8bc6\u5e93|\u5927\u6a21\u578b\u8bad\u7ec3|\u5f00\u7bb1\u5373\u7528\u7684\u4f01\u4e1a\u5927\u6a21\u578b\u5e94\u7528\u5e73\u53f0|\u667a\u80fd\u4f53\u5f00\u53d1|53AI","createdAt":"2024-06-15 00:55:06","icon":null,"url":"https://www.53ai.com/","urls":{},"desc":"","rate":5,"id":867,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5b8c\u6574\u89c6\u9891 - HOTWIFE XXX - Hot Married MILF Visits a Stranger To Fuck Her Brains Out (Freya Parker) | Pornhub","createdAt":"2024-06-15 03:29:26","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABhklEQVQ4jZXSP0iUcRgH8M/vvffULIQjU5SIWlys4bCg7YIKgpYKAonWiDBoqqkghIKIxohyazHStcIhiChoqAazhgYnMzVTDgk9r7tfw5ueUMs9PMMDz/f7/P2G+FBTljQHbxDChm/NbFYLjThVJ0/XFlyFHxSoskykg3aW+C21XXnJzVGzZT8X9XQbOurwgFPDDu51/RypJy+MffDovJ1dxDHTt6Elp3jgb5t3N2B/rzghvjJ0BKZviU8lanIJjF/0cVJ8DCMv9ffa10kLebsLkM9Rl2Zjh2Dkja9XvH0Nx/rNrXg+pXCSYLUilwghW5oQJMGzTyYmtW1zb9DgcVfH9XQ4cYjE+y8mZzavRD2q1d057doFFulmzsyyswNG7tLq/rDLo2LMCDnVGpTX2ME8C1Th8ywztJr6BtUaidSqQrtLJaU+vrNOJDpTVNzDLypKfRZWdLRREeID8uxihTIpkUAn6/99XEKNeWK20YZAlkAOrLJGPRsps/iPyupb4tgANK3WP/AcfVDZ7aoLAAAAAElFTkSuQmCC","url":"https://cn.pornhub.com/view_video.php?viewkey=663a682427161","urls":{},"desc":"","rate":5,"id":868,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7b80\u5386\u6a21\u677f_\u7b80\u5386\u8bbe\u8ba1\u6a21\u677f - Canva\u53ef\u753b","createdAt":"2024-07-05 13:02:12","icon":null,"url":"https://www.canva.cn/templates/?query=%E7%AE%80%E5%8E%86","urls":{},"desc":"","rate":5,"id":869,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"30tool-\u53ef\u80fd\u662f\u6700\u597d\u7684\u5de5\u5177\u7f51","createdAt":"2024-07-05 13:02:12","icon":null,"url":"https://www.30aitool.com/","urls":{},"desc":"","rate":5,"id":870,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4eba\u5f62\u673a\u5668\u4eba","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.ti5robot.com/","urls":{},"desc":"","rate":5,"id":871,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Meta \u53d1\u5e03 3D Gen AI \u6a21\u578b\uff1a1 \u5206\u949f\u5185\u751f\u6210\u9ad8\u8d28\u91cf 3D \u5185\u5bb9 - IT\u4e4b\u5bb6","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.ithome.com/0/779/308.htm","urls":{},"desc":"","rate":5,"id":872,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6708\u4e4b\u6697\u9762 Kimi \u6d4f\u89c8\u5668\u63d2\u4ef6\u4e0a\u7ebf\uff1a\u652f\u6301\u6846\u9009\u641c\u7d22\u3001\u5168\u6587\u81ea\u52a8\u603b\u7ed3 - IT\u4e4b\u5bb6","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.ithome.com/0/780/363.htm","urls":{},"desc":"","rate":5,"id":873,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"MindPal - Build any internal AI tool in 5 minutes | Product Hunt","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.producthunt.com/posts/mindpal-3","urls":{},"desc":"","rate":5,"id":874,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Free Essay Checker AI - Essay AI\'s free essay-checking tool to review your essay | Product Hunt","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.producthunt.com/posts/freephotoai","urls":{},"desc":"","rate":5,"id":875,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Validator - Research and validate you micro saas ideas fast as Cheetah | Product Hunt","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.producthunt.com/posts/validator-2","urls":{},"desc":"","rate":5,"id":876,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"iLovePDF | \u4e3aPDF\u7231\u597d\u8005\u63d0\u4f9b\u7684PDF\u6587\u4ef6\u5728\u7ebf\u5904\u7406\u5de5\u5177","createdAt":"2024-07-10 14:44:36","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACVklEQVQ4jY2TO2tUURSF19rn3puHOkFRRnzFQJzEScxEW7EQGxv9CWLUwspG1EKiRLBQFEsLQcVGUAvBRyNIsBC08ZEUvmGMMcGAISo6c+eesyySkRjiY8Opzt6LtTbfBgAIIOYpAZz9N19fBAAEVO4pbnOG3YCtovS2Rn+RT188BICRQmFl+upVM4HXAoxAqAsQAEZ61x9uYHQqMcJLiEikCmnV+32cmBq01hX3k0JH0+TV69vb03R4tgg/lDq2msX3KJkHaiAdJB+TSQpMIcvGGpubO5deuoIvd+6Uxw4d2dkJDQkkgRABUV9CuoqUAYhnXLlUkpEtzrmWapb5Wpwod/BQq759vfVygDsJPBNgRsNaSIEkAQiSQIokJakWQgDpVK26QKrlaP+a/Iljt4aBEoEQBYXnsGhLCMETIElIAsiZB0IQ4pgGwMcJWvoHViOKbr47f34XR0vFjaA9cMTCTMoIOP1SAQWApBp6SsCiRYT3gXGS5dJqMvH40WkCwGip2Bc7dwGSS6d34TAjQkwnC5UK5LNgJHNmNllNbzQ15fo4Y1blns4diXNnGmmF70FeEEHaNEGSzEKjmcukGshzle7Fx9suD1ZYJ4yAhrrb8ktc88nYcW8tSAKmEwC+ySyqSkOVWnagbfjFYJ2j2Zj+gmOkp3ggieysDzIP+AVm8Q8fbn+36p51T95MzKVxLvsGAO9Lxf3jG7v9500b9LG36+6zfH4BAFwD3Hx381vVm0Z6uy6M9XaPj7W3L6u7/OdwPZsAfioWl5e7Ojb/6RL/u/42/BOE6RCtuVZPJwAAAABJRU5ErkJggg==","url":"https://www.ilovepdf.com/zh-cn","urls":{},"desc":"","rate":5,"id":877,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u767e\u5ea6Apollo-\u81ea\u52a8\u9a7e\u9a76\u3001\u667a\u80fd\u6c7d\u8f66\u89e3\u51b3\u65b9\u6848","createdAt":"2024-07-11 14:21:29","icon":null,"url":"https://www.apollo.auto/","urls":{},"desc":"","rate":5,"id":878,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u817e\u8baf\u5154\u5c0f\u5de2-\u514d\u8d39\u4fbf\u6377\u7684\u7528\u6237\u610f\u89c1\u53cd\u9988\u670d\u52a1\u5e73\u53f0","createdAt":"2024-07-12 13:30:01","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACKElEQVQ4jY2TTUhUYRSGn/PdO86MP5hZTY0SoqQVUgZJYOQ2iIJAJFdhi4oWES3aFZqLKGgTBC0jCqkMIgraRBESRkLkxiKSEiIi+zEVdcZ779tickbNwHf5cd6P9+ccWBFkkkxS/MsPHc3M6dxHKbEyLiAwgOdD6s6G0s9J3QaQup2/dHhru0qTFUQAn2ew1jrMHhJdPUtbbZW6YqZw8L27BdDX12WWZ7bLa6rkpnnsJSRjhjmHZbJQUQqXj7O2uQF35xnjHYfYwph9BXDz/G0JEgb7nGM1jg2ex/pMQMr3SfUcIdXcIPf4Fbp0l7LGA1TPZ5O38H0cpUqYVkSZg2hyGldeAj2dUJ+GC73GvX5cJBRP5iwCtjQDc+CmZmH/LtzpNkhXwtAI3H+BMgGUJWFiqpBv3sKaVTnPM1loqoWTB2FgGMIQttfBtVNQXgxjvzFF2LIKzCAbQFsrbFwHpQnwPAhC2Fkvu3HG6H0Kg2/h3V/Oog8kiMfg0Uuor8rJzwZQ5EMYmTZVY12HA28OX0UXQTqfl0L6mIpTjhHnkZrJEBbHsEjQ0ghXToA5JGFA4IwWM3styQoZfMIAEyiZwMfHw8d7MoQ38B7PwHeG54z4gvoX1FiDUhA4DxdmNWxmo54RC+fQg37YvRlJ+BLfnGMkl5lFhU3sVGJHgl9mjE7MsufDdRtbuubLIW8hXYQD3kQBHTlyoeLFQcuWewdkNZ3zJ/rfoX/wB6c+y9Xr8Id6AAAAAElFTkSuQmCC","url":"https://txc.qq.com/","urls":{},"desc":"","rate":5,"id":879,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Tabby - a terminal for a more modern age","createdAt":"2024-07-12 14:22:42","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfUlEQVQ4jaVT3UtTcRh+fmfHzX2yrZofldGHwxAHMdRpeFN/QBdhEV3oRfdBZFBUHpBuhCgEiy6iukgy0YsIrypRwhnlRzOZNVJDOzm1tua2s+3s/N4uTJs56aLn6n3h9zzv7+F9XiAHEpGwUUuSgP8F5QhuBzG3GSOqiySoTVHTqSxplxljkwDwlEh3ijFtOxEGAGekrorOwQ8/BxWiIY3oeSwTe7aq3uiSYzvXH0p5fiRAkhgA2J0W+/i7kK33UX/mY2AuLYIsZot4xWg1jPTGM80AIDHGiYhtmQ4Aze0Pim1WVzcX9A3JhMJdpQ5eVeMmR7FTnxUEqJwPxNOptiaHdSCfAANA4h53a5W3oaXm+AkRBrMhHlvVqqrd/JCnDExfUEDgULh2f3hupuWuxxMBAF2uHb5r98ridCA1MfzCZLPZdbXHjlr3HSxGYaFeIK6pcjSKhZTiJbGw199xS4YkCZv8rONC+82LFT7f9cM19ea0qkKOxvApvMQToiDozQY1HU/6bh+pnADANq3xC1GlHNGuoUB3Wm8Evi7Ftal5GfOrMcHktAvp5TDNDU09nAylg78pJK77P3n1cfmQP/Sy2ldetPw9Q2PBBS0ohxlMRp1BFDPv+/qS/u4ny/HPs0HwqPonSJLEIEnkcll3DLyZLpqakTNkNgoriqqzOizZ+cBocrinK/ptMvAKRmunpEVGJcb4ljU2tt4rKynd35dhopeZjTwRWVT8/d3x0MjrcaTUO42Jxf6etTQyAJQ3jaYDntb6pktKXVPLD12p+y2MzvOoPWvbFLx8xI26ZK8Xqew5EFIwWDooHJpla9MEAPxvcl4QEcuJ6z+v8ReH4CD5bSHEzQAAAABJRU5ErkJggg==","url":"https://tabby.sh/","urls":{},"desc":"","rate":5,"id":880,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"XPage","createdAt":"2024-07-13 01:52:28","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC2klEQVQ4jY1TTWhcZRQ99/vezHSS6WSm+RlNhf66SZVCA24MpSoustI0Dtq0qY1GYi0FF20plVIRUaggWCOBIOjCbEapRVu12mJwUfoDKTZk00UgRBLCzHuZTOfnTeZ73+kiSRsTBO/qcu853MvhHGBNkZTlTlZNZWkHWYv/j6ICgMMt7keHW7zP/g9BPlwmzY0XUwDQ27xwrC9V5ttPVNnbmD8FAFNTTD4+wPXfuK67K2Al+9vX5ZHucK5ypNUNjrS6Zn8ot3j7J3/UMD9161qhcTVHAKCnKdse0bH3oKvtZy837H7qaeBEh8vctKVZBNo6HDn3a1JuXjT4oq80FotFx32/OPyd13hDAYAxrHd06K1KgbsvvOMFEoEZGIzTL1Gicci7QxvhzVoz/P5CoDX3aITfhJIkACgAyORb/vJN4VZ9Q8hOjQf89kRBt3WEVPfJOvR+EkNqqyNDRwu6kAsQiSpbMd7EP7m/rwKAsySIWCF+ZBB6LpYU/vGNj+3tYRuuhzI14tLnFXv390WpSygi2KDIyqVRvGAAKmdFB1o7Q2UhigIIrgyWxQZgOCooekQ4oghyWTozCwBpQBwAFgBE6VdFAbUqsLERcvbnpJ2brKmGlKCUBz54KQ9aAVUAJc4rAL76HrAKEPYk5reIkpcNS7JYpuo7H7eJlKiRcyVePF/hjj0h6T5Zx+K8VVQlQmTvwZjbBsiSeUKOekZrbUrzqO07VGeeT0fU5S/LwcSo4ehIFXeuVIPXzkTVro5IUF7QVilV1VE8+8gMaVB3xsaaP+6aO0hDTk+Y2qEmj72prOnZlK0N7PRYzJK52Zr/evN054Ftk6l9+NNZ58R7PJ0M6F8Yu/5gbzoy/0P/kz77N/vscrxf7t8pH6gx/ykIvc6JK3kAZEVmHN/pxhcK+irB+mhCvzh8P557jANWY/8dK2Z0Jk0NAG80ZVv3J2a2AEAmQ51hRq/FPwSJI1dehpVmNwAAAABJRU5ErkJggg==","url":"https://xpagecn.com/site/","urls":{},"desc":"","rate":5,"id":881,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"iOS \u4f7f\u7528\u6559\u7a0b \u2014 iKuuu VPN","createdAt":"2024-07-13 12:59:22","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC","url":"https://ikuuu.pw/user/tutorial?os=ios&client=shadowrocket","urls":{},"desc":"","rate":5,"id":882,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean","createdAt":"2024-07-14 11:57:48","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==","url":"https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7#step-3-installing-php","urls":{},"desc":"","rate":5,"id":883,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u767b\u5f55","createdAt":"2024-07-14 14:12:27","icon":null,"url":"https://lib.plagh.cn/assets/theme-1.2/login.html","urls":{},"desc":"","rate":5,"id":884,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"createdAt":"2024-07-15 06:18:29"}]},{"title":"\u5e38\u7528","createdAt":"2024-04-14 07:40:21","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"Top iPhone Apps Ranking on 19 April\xa0| Similarweb","createdAt":"2024-04-27 05:23:59","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACqElEQVQ4jV2SUYjUZRTFf+d+3/8/M2WYZTk1WUYlskhByxqKhRHYw7ZFrPsYSkhUlFEWVBD4GBGiySJGRERvQSW9GYRptBUMGWTQS1svsriTQunuzPz/33d72BGj83zvPefcc8QKBDhjO1a1r1t9+8IPx38F8CM8T8nrJNoYvwGfcJZDOsLAwQTZriyvu3fqzs61a0+05HcD9N9jJw1mcdbjBGAzBW8zxtd+mHsE2UEG+E0TM+2i0fxK0taNqxe/BSjEFA0ymQFCZDLL1DTZRskJn2W9wA2gJM9aUdzlni/2lmJjZOsijpHRyKQwApcZ0mIDcNRBdsv9048iezJXw0qy689XayYAepf4iCV6NChxahwBwihYIhGZ5CiTZsH3yAzHM2ZKqdjvoHVv8HudmQYWKSnI1P95txNxMrsNaSs54VDkVCcL8aHO+PQ7AMULnLp8iZ1kztIijpQAGBUADxjoNneXQALzVCeL8dVbJ3a9e+AAtuplzrDMIww5TWPEK0RCiI46W3Yt494EXJLc3R1SCEXMqfqynf96uts92fOD3MA1nCIyxoCMYWRqw/1PydxdDiBJgpBTVVkspxZs7fHt2yfX6BUu9Ae8SB7lYgDMm+OnMRPy7COs3CDmejiwotw232++5aDWS5xkSJdAwBDwjdW1f+g5pRX5V21IkouY6zojnnh4x4YG4Fn8QpNExQDjAzv/0+dz7vmYxTJIqt09CcDdcVyGO1re+M+NaVSwSIuAc0zP8aMBdm7xwv5cDT6zWJayEBzJV1KJZmUw5U/f73arZ8YpDB6nx/cs8eZo5io649PPEsNesm8CLxF9d//4jnjute/m5vpplqeCeIyavdrH31d69T/MhPZ9eVOIfnNKeX7hzBd/APgMgQfZrH38DDBi938BGLwydtX32EQAAAAASUVORK5CYII=","url":"https://www.similarweb.com/top-apps/apple/","urls":{},"desc":"","rate":5,"id":885,"breadcrumb":["My","\u5e38\u7528","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Website Traffic - Check & Analyze Any Website | Similaweb","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://www.similarweb.com/","urls":{},"desc":"","rate":5,"id":886,"breadcrumb":["My","\u5e38\u7528","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Top Websites in the World - March 2024 Most Visited & Popular Rankings - Semrush","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://www.semrush.com/website/top/","urls":{},"desc":"","rate":5,"id":887,"breadcrumb":["My","\u5e38\u7528","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6709\u9053\u7ffb\u8bd1_\u6587\u672c\u3001\u6587\u6863\u3001\u7f51\u9875\u3001\u5728\u7ebf\u5373\u65f6\u7ffb\u8bd1","createdAt":"2024-05-02 00:24:45","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4UlEQVQ4jSXTy6tVVQDH8e9vrXX2Pvvktby+8lXUDWkiRg8bKAjSqKCRDePeECIaFzTIBklQDhrUMEt60CAciA4iSkxL7P0YRYH2IrES83ruPfecs/davwZ+/oePADyzY4GQnsftHVDAFrmI1dFs7kGyaLMZtWaxhREXmU4PafzXO/LMPQuEeBQyuBRk0Wa8oSfNDUzJMO1El824hVE2yyWw3JpJuyDf/MCfyFtxyVAiOZtBgPtuESVDm6FkyJ1pCwxHsDjOlCqx1P0ekLZgCigQo10Cvn1GbiogQK9nVxX0KhEDbL8L9u2ONC6sTtsSkiEIjFfGlBQVZvr2qBNVD0onXR1CXZsrf4uXDpuVMZw7K2bXODj2xHBEPrBf5cMjXA0Td5da6dkXYf8TMDR+5jn81vvitTfM3Hb49YJoaripp4ClSQgaffm9495dCg/uVLd9Du3bg099Cy+8DPfvRseP4Y0bxdZt4vIl069FlZRKKe4GDd2575R//MmDp+ZF08fnvgEMu3bAI/N4dBGdPwtHP4ClJdGvzRhStgkxElyYHDlG8/pBDPixp9Hdd+LrQ/TPNXAPb9qCYjJLiyJV4uLYwQRRrNTMuDv+sbwyYXrmC66cPEn31Q+E9evRkcPw5AE49AruV2K4hC9MYDErRIJjTKbtFDdtNP2ayatv0k2m/PvJp1x79HFWpktM99wLH52xTpyyP7+MrmTTC1a3Zm/OsvJwkfqzdymral3f+bC7qqdcJrST/8iMicib022KVd+KQURMKU4KUaGb2rOz6k6cpjt93gpJIUQowW5m5XbZdewrrVpnlynYxsWEgDz70B8mb+ty23WLV1OpknMdafNU2S05T92VqTYMNrkOFTfOOCMSlN8CxQel5BRSimvXFg0GCBEUCARLSeuaW13HBgMQTEgJYqGEg0HXTr1NZl6h/iVmES0HRYIS/diwttngpjcjA1K48YPwMyXP6/rX7/0PF06Fun4dhroAAAAASUVORK5CYII=","url":"https://fanyi.youdao.com/#/","urls":{},"desc":"","rate":5,"id":888,"breadcrumb":["My","\u5e38\u7528","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"Todo","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"Claude \\\\ Anthropic","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACDUlEQVQ4jZ2ST0sbURRHz31JqDABQ90adyZu6idocCMUotBQcV3FbqSburGfQVuwn8Fu3FlrnGDtkJXdhVjQTApqsnBjiU5qhubPJHldiEOiFml/u3t597z3Lkc8r/FM6+4qyDj/lkOlZFlard/f/2P4JkfSatW7gPR2RQQRQWvt11prv+6JDt437LourusSiURQSuE4DoZhEA6Hb0NE3R5ut9usrr4nlZphff0jlUqFxcXXrKy8o91uI9J3H30ApRSlUhnTzFAul9nc/EQwGGR4eJh0Ok2pVEYp9XcAgGVZuG6NqakkJyen5PMHpFLPubqqYVnWnS36ABHBcaqYZoaxsTGWlt4wNPSYra3PjI8/IR6PY5oZHKfa9w0fEAgEyOVyHB0VGBkZwXVdotEo+/vfuLy8ZHo6SaFgk8vlCAQC/QARwfM8TDNDvd5gd/cLCwuvyOcPuLi4YG/vK5OTkxiGwc6Oied5/iuCN8s7Pj4hm80yMZFgfn4OAM/zWFv7wPZ2mtnZWRKJp2SzWU5PS8Rio3Q6nWsAgG3bRCIR5uZekkxOoXUHEcX5+U82NjY4OztjZuYFxeIPbNsmFhu93l2rVdc38jQaDQYHBwmFQmitERGazSa1Wg3DMAiFQlSrvxgYeORL5avcq2+vbQ9orRVwCKC1ptvt3vG9t3/PmaJSSt4ChTuGPBxbKVn+A+V/CrLvaunfAAAAAElFTkSuQmCC","url":"https://www.anthropic.com/claude","urls":{},"desc":"","rate":5,"id":889,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Mintlify - The modern standard for documentation","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://mintlify.com/?utm_campaign=poweredBy&utm_medium=docs&utm_source=docs.double.bot","urls":{},"desc":"","rate":5,"id":890,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Models - Double, the AI Coding Copilot","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://docs.double.bot/models","urls":{},"desc":"","rate":5,"id":891,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u706b\u5c71\u5199\u4f5c","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://writingo.bytedance.net/document?docId=1","urls":{},"desc":"","rate":5,"id":892,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u8fd9\u662f\u6211\u4eec\u7684\u6545\u4e8b\uff5c\u5b57\u8282\u8df3\u52a8\uff1a\u6fc0\u53d1\u521b\u9020\u7684\u65c5\u7a0b - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==","url":"https://bytedance.larkoffice.com/docx/H5XOdXoeVog1MVxiOaWcLQ2wn9c","urls":{},"desc":"","rate":5,"id":893,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u{1f31f} Anime Wallpapers 4K - HD Anime Backgrounds for Desktop","createdAt":"2024-03-08 14:55:13","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=","url":"https://wallpapers-clan.com/desktop-wallpapers/category/anime/","urls":{},"desc":"","rate":5,"id":894,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5927\u7ebf\u7d22\u62a5\u9053\uff1a\u770b\u5b8c\u6296\u97f3\u7684\u521b\u4e1a\u6545\u4e8b\uff0c\u6211\u660e\u767d\u4e86\u4e00\u4e2a\u9053\u7406 - \u77e5\u4e4e","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://zhuanlan.zhihu.com/p/315789097","urls":{},"desc":"","rate":5,"id":895,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"TikTok\u5185\u5e55\uff1a\u5f20\u4e00\u9e23\u7684\u5de8\u6d6a\u5f81\u9014","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://m.cyzone.cn/article/680806.html","urls":{},"desc":"","rate":5,"id":896,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"AI\u667a\u8c31\u6e05\u8a00","createdAt":"2024-04-09 12:33:18","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jW2TT2icZRjE5/n2T0yKq0aJ0hqs2lTFapWCMZjQUlQiaFFUEFsESeKhiAcV6kFB1IN6ElosshBFPfVgG60o0kK8iM0xRRq0TWNqaRvTxP2S3ezu977Pz8MuasGBB57DwAwzjCQJ2A3MANGdGCPO/8KJkQicBkYlydpPWZLc5UlCIpkWllzHpqJOzUVJUl9vouGBPD3dZpKpjT0C5gEPkQycs+cjo+/VveOhFG2rUBxI6RhI0f2pl7anHPmxCYSWHZiVuxOCO8CxqYybhle8tL3CGwfWOHEyY60egcj0bxkP7616xwMVfp7OADw6WIjuucTs+FTkqdfWtP5G2SvPdapYTPTHJanelK4vSff0mW7f4BoaqTE8mNenb11lDhjgFxbdhsbWWFzGNm3sklkicPX2mJKc6fKy6+KSqfsa0+/na7rjFnH84y4zE3kJO3Ao05n5aFs2d2lgS6Knd7r67zZ1Fk0ylAXTzJz0wxR6t4w6O8wkJMmUrjp3PpNS2lGjPOHtbPyf2lrVRQDmLwYK/RVe/ajO4UnIQiSZu+A6dwnt2JbT6C7JHYUggQSmEJBjktDe9xu6tmTa2lfQ/kNoYUnKF/JSCNJtG1qOsoByiRQdmaR8vtX52580dfT7TOMfdmr9DYn+/MuVVk3KAn7f8ytserLqK9UrrYPzy2zg2X1VtLnCmwfXAOf1/fjgS85qDRfgRyab6N7UB0erXj7cYGKyyfjXDUbeqbFuqEL3zpTPv20AcPArvPcJfPyblpABSOiL74Je/qChdBGKJVl0lM+ZHn2woD2PFVQs5PTZUXHyDDayy7TvBWGSGTCLtNEU7dTZROUJ10/TolqXmSUqrWvlsloztvZhLz5ueqQ/SOSE7JwBuyV92dqGS0p0uSL9Oi8tLEuNJrruaumuW0039/zLaWNM7TmPAadjJMbo/t8QrzxiaM15pi2svwHcLD+MVIJbdgAAAABJRU5ErkJggg==","url":"https://chatglm.cn/main/alltoolsdetail","urls":{},"desc":"","rate":5,"id":897,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5bfb\u4e00\u6b3e\u5f00\u6e90\u5728\u7ebf\u76f8\u518c\u8f6f\u4ef6 - \u95ee\u9898\u6c42\u52a9\u2753 - \u5c0f\u4f17\u8f6f\u4ef6\u5b98\u65b9\u8bba\u575b","createdAt":"2023-12-23 14:02:43","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACJElEQVQ4jV2Tv2tVWRSFv7XvfS/xPpMMDIyoRWIhgzMZjA9MgiAW2ihiaxETsRkG5m+awh/gFFaWFnYDIjLRJiNYWdupL+S9vLuXxbkvhjlwqnP2t/Za+xzxx94q9dxD0CXcmrQQAqgENiSzJSOMKoF3mY7vB1XvMfX8kJwaJIQiBKOWe5cXuDs8CaOWCMApLJFTU88Pqeongao1DvcTKXAKZNuA+P3qEg+uLAJgBApDCilKTX2xxplAAMagQB4nP6/Msb48z6Q1y2fn+PjpEPVDtkzhB84MbBUJgZDCMDHb6wvUlWj6wdblBRgniu6iSgm2AiFsutbIQ2iWarY2FrGNDVsbC/QGVYmJWRYGdcxCNJUMBy23fm1Y+bFHJtjml9N9rl9o4CCJ6EbTdRFdK4BIBBLbm506prWxxc7GIhg8E7SPAQBJeJycO9PnxoWmHAZUIZC5udpw6qcenuSR+jGAiTCMkzu/DWj6QZswe1Ftwg9Nxe3VAYyTKvx/gEgLQgxX5o/any13WQyX54qHMrEOUKaPOofTtiR/rL48ERdQp1f4xoHkWYgQfrG3X5IGpm0BIhEhXvy3D1XYLnJIDhSByMyUGunZ66/++81nenV835X465/PPP93ZJ2QMlNlaBHizw+79Jo1JqMSb1rYbG8ucu38CQy8fL/P01dfoCeQDDb9QXA4eqfynfuPINbItvNiMUqQj0wzqDhyHpUg3zKd7HwD5ZsKj1FuVYsAAAAASUVORK5CYII=","url":"https://meta.appinn.net/t/topic/40404/12","urls":{},"desc":"","rate":5,"id":898,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Shell\u662f\u4ec0\u4e48\uff1f1\u5206\u949f\u7406\u89e3Shell\u7684\u6982\u5ff5\uff01","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4jV2TzYtcVRDFf3XvfR89Pd1oZoYkaBKURCcaJaCLQCALEdGF/0EQNAiBQATJQnQliIuAC3HjOpu4NhDE5A8IiCFDskt0jF8ziuPHTE9/vPfuPS5et0xbq3urOFXUOads7fkjT/i8/DTJXjUUmIWZMR9Cmj6scaavYjV+J1hWfr7o3Ss7TUpzQOcgJTRLe9/mJRnyi969vp2Vhd194emEkRAOMHNOSpE42DXXKbGiBAmNRrLgwQdD0gwTwGjBMnNOsarM8oKlN87RP/MS+aHDECPj7+7bxicf02xuyLLMpgMJIDDMMMW6Mt/vc/jyZ/ROnQagGezgfKB88ihbV69Q/fSj+TwXyJAUMDMEyTDVNQcvfUDv1GkmD9f55fJHjNZuY97TeeYE1a8/47IMJJvxZXdfXBVAmowpjq1y7IsvAfjhwjn+uXmd8OgSpESqJri8wEIACaZchxnjaVLROf4sLssYr3/PcO02YWkFm9Z9nreqSHMKu6nooIRf6CKJNBoiCbTXBXs//L+BMO9p/tzCzCgOHSFbXiENB60fANUVirGdvqdZW00JK0uGd76l/vsvfK/HgXffI+xbJg2HpGpCWNmP7/dRjP/tD9AaCcycVzPYtqWzb/H4+x8CUG1uMLx3B9fpsvDcSR5efJvBN7fw3a7QTEYMDEnJQndRW1evWNrdZfnsm5RPrfLIy68BMHpwn/qP33FZmIKnBpqzsrUbxt0B1utbfvAxfHeBZmeH5rdNUdfg/byVBTf6s2OSkJm5Xh/Fhsn6A0gC57AQzLynlQf1vPPbTfraqR6fH8R0TVicXRspyczhihLX6eCKAnNOUzDC4iCma6rH5/8F5tA3xipPqRgAAAAASUVORK5CYII=","url":"https://c.biancheng.net/view/706.html","urls":{},"desc":"","rate":5,"id":899,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"HyperText Transfer Protocol (HTTP) explained","createdAt":"2024-04-19 14:42:02","icon":null,"url":"https://http.dev/","urls":{},"desc":"","rate":5,"id":900,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Python | Program to implement simple FLAMES game - GeeksforGeeks","createdAt":"2024-04-19 14:42:02","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=","url":"https://www.geeksforgeeks.org/python-program-to-implement-simple-flames-game/","urls":{},"desc":"","rate":5,"id":901,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\ufeff\u2063\u2062\u200b\u2061\u2061\u200b\u200b\u2062\u2062\u200d\u200c\u2062\u200d\ufeff\u2063\u2063\u2062\u200b\u200b\u2063\u200c\u2062\u200d\u200c\u2062\u2062\u202c\u2062\u2064\u2062\u2061\u200b\u2061\u2064\u2064\u2061\u2063\u2062\u2064\u2063\u200d\u2064\u200b\u2061\u200d\u2063\u2061\u200d\u5b57\u8282\u8303\u5178\u578b\u6848\u4f8b - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcnFcpDMoKpOssCHIp5SchDQs?bootcamp=1","urls":{},"desc":"","rate":5,"id":902,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"AI Is Turning into Something Totally New | Mustafa Suleyman | TED - YouTube","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://www.youtube.com/watch?v=KKNCiRWd_j0","urls":{},"desc":"","rate":5,"id":903,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Y Combinator","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://www.ycombinator.com/","urls":{},"desc":"","rate":5,"id":904,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Perplexity AI becomes a unicorn","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://www.perplexity.ai/search/Perplexity-AI-becomes-SpOKfAvjRVmdpy.XYcXl_w","urls":{},"desc":"","rate":5,"id":905,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"MySQL - LOAD DATA LOCAL INFILE\u5c06\u6570\u636e\u5bfc\u5165\u8868\u4e2d-CSDN\u535a\u5ba2","createdAt":"2024-05-01 22:54:40","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC","url":"https://blog.csdn.net/Milogenius/article/details/95733175","urls":{},"desc":"","rate":5,"id":906,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u58a8\u5929\u8f6e\u6570\u636e\u793e\u533a - \u4e50\u77e5\u4e50\u4eab\uff0c\u540c\u5fc3\u5171\u6d4e","createdAt":"2024-05-02 00:24:36","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACyklEQVQ4jSXOzW9UZRQH4HPe996Zuf2wHbG09gMw5aOgDrRoCogGFpAIYWl0YwgBlBBilBAgBMIKDCtJgAUhxhA0MbAxgQRTU5AU0czAVKyttp2ZDq0DLZ2WInRg7r3n/Fjw/AUPqyozE5EomMgYvjkYnLhcfhbQznWRj1dHRJWIrDFEBMAwMwBVWEPGUDIbnOryZ0oUhjjf449M+tYYa4xCCcTMrKoAjOHCNL65Wr4+EFrL1TEKVSts5Ucb0xm/+6sVn9d58ZcXo4BhKkzJ3h9K3f3hp2sjO9a5ROSH2NJh47Uz3w1c+fLGsannM8SkAImID3zxoyYO/H/5ThkAoP8Uwt68Lyqiwbm+i83ffnDk1kkAoYQEoJTL/Xrlr66/QwAiGoQCAEAo8jK8r+fE0gubUuN9AOz+Za2lrw/Pu3VxkfeY2lczk7VGFCpwrFEA0N/H7/ZNDd28f8dzPJ7Y0EmBL2BSnXP2QmTpW9ls9t/BISgWLmptW7Kkvzi89ZcDbEyoErURh6MxLT+3jgvXcTxvYvpRT89vCjDz+MOJmsqaWE1MNRRVkHFca6r3HrKvzcXsbOUnW2lB65+plB8E777T/t6aTgIl06n50YZdHbuqKpobqxoOrtzpxNZvJMd5tGebyzxSuD82OtpQX9/2ZsI1lL83OpzJZUbGPovnNy9b4LVsf7WizoFIZNVab9X7T5886esfYOMkEu3ubBIiy1es9Kobm+mSf/tgU9MmqtgvKiwibAxPPkwPDd8eHGp9Y/H6eT9L7jgRTMtuY13NnjTxt7mjS516gjpERMB01Bv8rxCLVCUWejxyGlC2Ec2fESHb+OGD2qNadJsaADIGADPnM5mpYrGtbXHd6/MDqmIi0gDRuNv503TL91dv5O6m/2A2zEQioqqTk8VkMlWafapAWDjvX6v1u18Jx84p4JfLvb3pXC6vUFV9AQr9oMOJNcy4AAAAAElFTkSuQmCC","url":"https://www.modb.pro/","urls":{},"desc":"","rate":5,"id":907,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"mysqlimport\u662fMySQL\u6570\u636e\u5e93\u4e2d\u7684\u4e00\u4e2a\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u7528\u4e8e\u5c06\u6570\u636e\u4ece\u5916\u90e8\u6587\u4ef6\u5bfc\u5165\u5230MySQL\u6570\u636e\u5e93\u4e2d\u7684\u8868\u4e2d-CSDN\u535a\u5ba2","createdAt":"2024-05-03 05:44:01","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC","url":"https://blog.csdn.net/blog_programb/article/details/107595133","urls":{},"desc":"","rate":5,"id":908,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"How I Won Singapore\u2019s GPT-4 Prompt Engineering Competition | by Sheila Teo | Towards Data Science","createdAt":"2024-05-17 23:30:24","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAM5JREFUOI3NUaESRVAQ3bvubJMoPsCQFEkUJNVP+DPBqIoiKRRNlCSqsq4XzBjvlee95KSd3T1n9pwFeDCEEGeNiGdHCHEdaR80XdcBgJm/a9u2XZblsizDMKRpCgBRFFVV5TiO67qmab5xiKht2/2COI7rut73PcuyoijCMDykJSIqpYIg8H2fmRGRmaWUSZJYlrVtm+d567oahnF4w1+zQaUUADRN03WdlBIRiQgR8zyfpknTtL7vx3Gc5xkAjuW/TF9jJaJbx9183APxAkMeYSPGQDyBAAAAAElFTkSuQmCC","url":"https://towardsdatascience.com/how-i-won-singapores-gpt-4-prompt-engineering-competition-34c195a93d41","urls":{},"desc":"","rate":5,"id":909,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u771f\u5b9e\u6848\u4f8b\uff1a\u7a0b\u5e8f\u5458\u6280\u672f\u6700\u5927\u5316\u53d8\u73b0\u8def\u5f84 - \u77e5\u4e4e","createdAt":"2024-05-17 23:30:24","icon":null,"url":"https://zhuanlan.zhihu.com/p/81406691","urls":{},"desc":"","rate":5,"id":910,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Jeff Bezos: Amazon and Blue Origin | Lex Fridman Podcast #405 - YouTube","createdAt":"2024-05-04 12:37:33","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABx0lEQVQ4jZ2TQWtTQRDHfzO7yUsNKSG0heJJ0YKnCvVSkHrV7+BBeu7Vk9+lH8CLN6EXk4Lo1V48lGClFBELGmmSmr73djy8fS8vll4c+LO7s7OzM///LhQmBmrg+uDtZrgIBQQAKyf/YQbiBexFt9t9niSP7ji3umrW7og0UfWL0ZaOzGYjmBxn2c/BdPpJxuNz+vDwFxxnqmaqZs4V8L5AuS6haqmqXcDpO3jCEN4YmEFmkMcxrSCSGqSh8GcGIY52Am91Ce5HJ5EYBRwbG45222HmUHVS+DX2DhASuKu3oAeolGSqCiDs7gqHh8L2thCCxOQSbxFAO9BToClzNQSJokwmsLUFgwHs78P6eklnlQho6c0axUKbTVhZgUYjHpeqCwE8kMWFxYNF9uVlGA5hbw8ODuqJzajqnPENPtfYDxU2N4OtrRVzkVDfC0V8/h2G/g98AR7ESkJF8tFRcYdzkOf15iRW6y/hlD48voCz+BbmELFrvhrG8OMjPBOAV3D7qXM791R73Var00qSJRoNTyifB5Dn+eVsNv19dTX+mmWj93n+4SWciM1LKkmqy7RoImFBqPqPfH39K7t/4A18f74nAH8Bjm35s3ZkOjEAAAAASUVORK5CYII=","url":"https://www.youtube.com/watch?v=DcWqzZ3I2cY","urls":{},"desc":"","rate":5,"id":911,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]},{"title":"wallpaper","createdAt":"2024-04-19 14:42:02","nav":[{"name":"Wallpaper Pack - Sleek, Simple and Clean HD Phone Wallpaper","createdAt":"2024-04-19 14:42:02","url":"https://www.wallpaperize.cc/2024/03/wallpaper-pack-sleek-simple-and-clean.html","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==","id":912,"breadcrumb":["My","Todo","wallpaper"],"ownVisible":false},{"name":"High-Res Preppy Space Pattern Wallpaper: Zoom and Enjoy","createdAt":"2024-04-19 14:42:02","url":"https://www.wallpaperize.cc/2023/08/high-res-preppy-space-pattern-wallpaper.html","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":913,"breadcrumb":["My","Todo","wallpaper"],"ownVisible":false},{"name":"Classic Nokia Lockscreen Interface Wallpaper for Phone","createdAt":"2024-04-19 14:42:02","url":"https://www.wallpaperize.cc/2024/03/classic-nokia-lockscreen-interface.html","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==","id":914,"breadcrumb":["My","Todo","wallpaper"],"ownVisible":false},{"name":"Classic VHS T-120 Video Cassette iPhone Wallpaper - Retro Tech Chic","createdAt":"2024-04-19 14:42:02","url":"https://www.wallpaperize.cc/2024/03/classic-vhs-t-120-video-cassette-iphone.html","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":915,"breadcrumb":["My","Todo","wallpaper"],"ownVisible":false}],"icon":""}]},{"title":"\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","createdAt":"2024-04-04 13:39:48","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u5c0f\u4e91\u641c\u7d22 - \u963f\u91cc\u4e91\u76d8\u5938\u514b\u7f51\u76d8\u641c\u7d22\u795e\u5668 \u84dd\u594f\u4e91\u641c\u7d22| \u7f51\u76d8\u641c\u7d22\u5f15\u64ce","createdAt":"2024-04-04 13:39:19","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABE0lEQVQ4jWNgGM7gPyPD//+MVDILalDDfyZ0KRYUXsN/JoYGxn8MDf+ZNAUfazEw/uX5+I790jNGxm8QecZ/6AZgdaLR5CdObOxMkj/+/Of8+/evHDcH0/Nfv/8J/vzz/9bVPLm1DAyM/zEMkOl7zCnOzezOwvT/6+dfrMevZYt9YWBgYDCc91xUiIFB9DfDv8/vv/93ZvjPyH05R3oqA8N/RiSD/jPqT3mobTP7uYPtvNuiEOc2MGHzs87kJxk6kx65wfQRGcqwQGxklOFLZhdmZ8j/w84w62qK7DvUQPz/n5GBEeE/pKCCiDX8Z3jCwPhdavqTK+z/WfgZGBjQDMCqGdOgbz9/nWZnkn5HnOuHPwAA6T5kFPG+MYgAAAAASUVORK5CYII=","url":"https://www.yunso.net/","urls":{},"desc":"","rate":5,"id":916,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u55b5\u72f8\u76d8\u641c - \u4e91\u76d8\u8d44\u6e90\u641c\u7d22","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACQElEQVQ4jX2TP0xTYRTFf/fx+g9pCQYINSIEkxoT2N1YjCaIOrurY0OMcXRxcjEKLg4yubvAwuSKmyE11BghIv+kUmjfa1/73vddh7aQSPFOX27OObnfPecK55SqSqlEH8DgIJ6IaDec/NvYrug1V3giDjOqZNvtXZRlR3k1lJFv5wr8rmlelZcoyYZRahHEBPriJ7BAlWcjaVk4I7BX1bwIr6uhysqWpXiseDWl7hmu9Av3cj1cvegCqFXy2bS8PRH4VdFczOFLNdTk4rrlOARVOD6MsBbqYUQlaPJ8Os31IReFwHGZGk7Kdwcg1sMckFzZOiV7FYO1renqoSGIlIXPHkYVgaSGzAE4qiqq3GkYpXisRJFSPTKEzdbSjVX8ZgTAj6OQ9VLrjcOMqoqzCykHLvkhHJYtlbIhilpkBf7UGti2gZGFnapp+8wokHCyrYmJO2BC5XJGeDDpYlU58ALqoenkgoa1ZBLS2b5uAg4QIGz1xYWxfmGjHJFJKLcnYDRz6rJnLOm4MDUc7/j3cxwajoiowBLA3ZxDyQ948anKYd0ym0uQcIVaZAiMZXosSW9MOl9YanNhP9AJDGsovV8PQuZXffY9S2QV3xgSLtzPpfhYrPP0RpqbE6kaPUyOpGTjNEi+PhLlHSCRVYqliB3P0J9sjZ1yhdXtBh/Wanb+1sDjkYy8PxPlPV8forwR6O12OAi+QH74gix2vQWAcl3Hm4Y8MAuMtUGb1rKshvnsgGx2Fe9WhYLGCwWN/w/zF2tGKASRR1acAAAAAElFTkSuQmCC","url":"https://www.alipansou.com/","urls":{},"desc":"","rate":5,"id":917,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6211\u7684\u5c0f\u7ad9-\u4e91\u76d8\u8d44\u6e90\u5171\u4eab\u7ad9","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://pan666.cn/","urls":{},"desc":"","rate":5,"id":918,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5730\u5740\u53d1\u5e03\u9875\uff0c\u6536\u85cf\u6211\u56de\u5bb6\u4e0d\u8ff7\u8def\uff01","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://upyunso3.com/","urls":{},"desc":"","rate":5,"id":919,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e91\u94fa\u5b50 - \u767e\u5ea6\u7f51\u76d8\u641c\u7d22\u5f15\u64ce","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jYWSQWhbdRzHP7+X9/Ly0vdM0jQ10xJSRQyoE10coxS2oeJF8LJLDx56d7AiOsRLbp7EntxEZRdhB3MZIioIm4oYcWoPYqvrWMY2m7VJ99K+JC/pe/+/B6F0c2Wf2w9+ny98f/yE+zDyD1dlLHVUi1RAh/7IWo3FunDA+bp5767sHfTVx6qxZZzRCaoqmYSUTSg2PfFQGhDqiLkwlf7q5v8Cou+nT5A3zg9FzO1IuBPDhoah45DwPDK2SWhN8pN6ttVRmePvTZxc2Q3Q35QrytS/DLpJ13c0PVtWgiSLYZKf+4XxlErIixrjVKOfm1h3Z8g5btMy1HO13IJvAuhYnyE03FTLIlEa1ZOy8/qh2Wa4p13jy2svfHq9l7n4++bVykzp8XLKzr0LvCW6Xq4oUy9Lx0a2rFWyvWdk/i55l+y5c2Wl4mXLNVJm5Qn/9mZUMJRSr/APyJYFsLifDODPzzclGH2209cIZB8et6qG8aEuG2c1/KGhr3/cT95lEF2WYISOYgSeNOkAWkNbQcd4oI9SEb0RY4EwkS9goOW/5xjEcF0femCAyBFCm5LzKHlj7C8DFX8HMGwGsCOn9LFj5n7ueO3jKR3YJ3KTj2C7TjBwdpYM+fPWUvdGp7H59xrBRvtpNtY/uF+I9+ZHE9FIn0cns8XKNKA/uTQ9HZoAYbe/APwQrG+YVvqhN660X6r+9tRr70vMZb/YvXn8Ui2yverpoZufjZMZbpg27W58AcAAKEJDYC7Qk9HS2kHCKH1EI5+rhFzLtjJTAG2ef8fdTtdTA8Wd7SStoftFoaFnd89+AOorzL28HpZWb1+5xWCrf3eHmkRrUphz+vFisTeklIdimrZwDxepmQH+qxqOjuW9Kc/zTh5uvt3au1M+6592ZjK/Lh+Ub/8Fi4EgXsA+nT0AAAAASUVORK5CYII=","url":"http://www.yunpz.net/","urls":{},"desc":"","rate":5,"id":920,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u767e\u5ea6\u7f51\u76d8\u641c\u7d22,\u963f\u91cc\u4e91\u7f51\u76d8\u641c\u7d22\u5bfc\u822a,\u7f51\u76d8\u94fe\u63a5\u63d0\u53d6\u7801\u6216\u5bc6\u7801\u67e5\u8be2 - SOSO\u4e91\u76d8\u641c\u7d22\u5bfc\u822a","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACS0lEQVQ4jZ2TTUhUcRTFf/fNvEnUNLXUCkOtNF24EUwhqSioiKBo0aaFrtq0sahWLWoRWBCUi2rTKsK+KINImKAQWqSoJYIbP6IGs4+Z8eM933vjvHdbmMhkRvSHs/hzzj1cOOcSjUbzLcvqdF3X8zxP/wWu63qWZXVGo9F8sSyrMxwOn+A/XjqdfiCO43giEvkfA1VNhUEiqpnEQgAvPxoMxw0iIWje5LOzVP9gIRFxHCeDUYXrfTD4TSjLE+YXIOEqJ2uVAxUrLQzVxaElTCQDukccGjekuNLsc22PTz4ed/tcVJXf9QYoS9BkEvvtO/JGh6lcmwbANKDE9IglUgz9EFL+sh4Use15Bege83n43uHik/Nsno4xvaOO+bMX+K5Z3BwU3MAAoCALzjXA9oLFv9i2reMJn5aueaqLDK6WjLJmoBf7/iPulB2ma3cLhTkhTjdkYRrQ0euRbSqdx3MIGUJYFd6Mu0wmbG4dKmRdSR001DHWM8DryiZsx+XGwQKatoQA+JyE9h6L8UQW24rChFUVQ33isy6fkilqik28dEBbVSuDUsztvTk0lpksRb2v0mRkymRjrqCqyNycpXHbp74jRipQjtbm8OGLx9DUApf2F3CmOT8jtrgDryaUY9VCJCQYqkphtsHz1lJqtuZyL+bz1TRpP7Ketl15K2IbmfK4/GKSuO0vbjAzM5tR5SBQREBE/lZhRARVTRm+n366WBD9RSyLVsMS7/vpZ6H6+vpoeXl5hYhUiUho9dPJ2CAVBP7j/v7+Uz8Bm4xsvDLO8vAAAAAASUVORK5CYII=","url":"https://www.sosoyunpan.com/","urls":{},"desc":"","rate":5,"id":921,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"AI","createdAt":"2024-03-29 13:51:13","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u300aPyTorch\u6df1\u5ea6\u5b66\u4e60\u5b9e\u8df5\u300b\u5b8c\u7ed3\u5408\u96c6_\u54d4\u54e9\u54d4\u54e9_bilibili","createdAt":"2024-03-29 13:51:13","icon":null,"url":"https://www.bilibili.com/video/BV1Y7411d7Ys/","urls":{},"desc":"","rate":5,"id":922,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Open WebUI","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://openwebui.com/","urls":{},"desc":"","rate":5,"id":923,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"AI\u5de5\u5177\u96c6\u5bfc\u822a | 500+ AI\u5de5\u5177\u5bfc\u822a\u5927\u5168\uff0c\u56fd\u5185\u5916AI\u5de5\u5177\u96c6\u5408\u7f51\u7ad9","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACPklEQVQ4jbWSO2hTYRTHz/lu7v3uK83LkIIkrTpEVBAXV9tBHMTHEkWhEHDQoYhFobTYekuHDgYLog5SKII4xMVFEBxaEFwURKoBsbUFCZi+Yl73kdx7j4NG+9DNnunAOed3Xn+AnTICQgLCtr9jjbaRCQgRkObvF5NlW7y93lTVNdMZujge+9iObcxn25DGT+iKKd4Sefy8TdqpZVu6Z/RQYKxnVtiaHthUaxBDA30AgLIt+GUCKFoAJYuZE7PobpmcNq3QHi+bXZTTnd1KtFUTWiJOlBwuJyXrcTrGzs5XqfHhU2Vk8mnSAiAEQGK/OwPS8NXaub2x3XMB31lsCMJ0YcEaGJ+U+o4mnEFV1q9E1OD1rj2R53cGSIFft8A26WZ/9ZKmaFMcXRDBhniwA8CrvWcOHj+UsF40SDvy5bttVSmqFmvWDDjKaeMBNBgA0ug180JYU6ZUZrsK2q2gRD56ZSeha4dDevOZ0/JGA+hVdElUvWbF0mWlt4bmXQAkvNH3TdsV15YishgSwKGQLEmy0ALOPAhAq56MxvX1yvKg7VkvIRB/XayjXLI5rJjWZ2nuzQGWCifcGPdXE0EupiIdkozmI47OGc7cUlckrEc4QQdH4dhQ9zvbLp/kgr/EmVsBn0aN2V4XAQCejKwdjOqhfvTqCyeGwzkAgLe51f1Rnfc3m/Wv6c5XubFCgQzD8KezM3JTSvHLD/dV/inPfIa2Cab9rQ2a/aNiAkLDILaxkIgwnyEhn8n/Ffbf7AeJCvhL+7aUVQAAAABJRU5ErkJggg==","url":"https://ai-bot.cn/","urls":{},"desc":"","rate":5,"id":924,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"AI\u79d1\u666e\u5728\u98de\u4e66\uff1a\u4e00\u4f17\u77e5\u8bc6\u4ed8\u8d39\u5185\u5bb9\u7684\u514d\u8d39\u6e90\u5934\u627e\u5230\u4e86\uff01-\u4eca\u65e5\u5934\u6761","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACk0lEQVQ4jYWUzWucVRTGf+d9Z5JJZsYwpE3RpllYxapQMK1IXSpVqCKKiCvpoiBIF/4BhSy6Ef8BF9WuYnHVhf2giIW2SXXZrSmllCkRU43Nx8xk3o97z+PinWC76oHDfS4X7rnn3ud3kdSRtCgplxQlRblLkstdT+lqLco9V4yL6m52UFFckCSVZVAIUSG4YtxNKUZptI2PKgRV0ZNftCAJwIAEEFUYT4QAuXCHLDeK3OkPFLMsNf/5slteoOGO2XAo9Xpm648hBpHlxmAA6+uVHg5FUUBRwPg4uMt06LAjQSiNLBeNcePVQ2L1TyPLYGwcPvkINjbEZNNIa6I5Yfx6XWxtU6MzZTjo69PYzF7TpSvY6a+MhbNw5w58+jEsnIGlZaP7ULx/3EgSce0Xw4wa0YWE/bFibGzKBjtV+0UOk024/Rss34aXDkJRGu22+OZbw10kCQlmRlEYBw7A668Ze/ZAfwDdh7C9BZ9/BmWAG7fgrzX48Sfj3Xfg2FtGf2A1yhL2vwD37sHqKrzyMszNwpen4N/H0GrBo0fVOP9GdaKyhBjBoEaei4MvwpF5o9UUH5wwrl6DuTlYuQv378N7xyHL4O9/oNcTW9vG8u+i1SKh3TZuLhnnfhCzs8Z358SZharnfh/az1X65hIa9OHWsunDE7D/eSNGM735tuMOJ7+onvH780aaiqPzRppCrw+bm7C2JvbtMx48ENPT1SUOdjAdPRap141QgiUwMwONMSN45YlmE1pNMTVlqtex6WlprG7WakkTE1hYuau00Yg0J41GI6FeF0kCaWokyVNu3rW4PzGnJ13UCJA4AsYrVv6HaReuEFwhRJVlxVNRXEDdbkcxLso9l/uzca4yH30Bnf8A/anw+G86KOcAAAAASUVORK5CYII=","url":"https://www.toutiao.com/article/7340217488414147084/?app=news_article×tamp=1709522093&use_new_style=1&req_id=2024030411145212FC51C905198761A1FA&group_id=7340217488414147084&share_token=34E1BA2D-EC9A-4CE1-9EA9-B1B7D7F6679B&source=m_redirect","urls":{},"desc":"","rate":5,"id":925,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Coze: Next-Gen AI Chatbot Developing Platform","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAptJREFUOI1lk09rnFUUxn/Pve8748xk0mbMFBMXSolFLfgdJKTGNlXSVhR34sKFuFCp0JXtVxDcKMF+C/+AiqAo1YV/aI0uSoQukkXNJE1mksl77+PinQji8sK55zzPOb9HFy5tvhVj44bz0QnbAgArBBHC5GXIGWwMIMkK5U5K4/e1cnlzL6jo5FxliQAmBDEamYODDEDZEJ12wAbbgHIIRciu9gtBJ+fK4ACyLXZ2k545Gzlzpo2Auxtjfv6lotmMDkGAQ86VJTrFRJZqqdZ4nHnzjS6rL3SIceIB89kXQz74cFeWUG1UNj52SYzBe3uZK6strqx2AVFVpqpMSrB8rsPrr02xP8yEEAxGEkGqp6eU1WnD+eUpcjbHu4hRSCZn8/y5NvOPiPE4SQI7K9hGgpRhbi7Qmwn/+VgX1jpbLfH4YwU2BAnb9dYlMRhk9vczMQowR1WenM/EWDcFsbObuf93IntiofaauXj+IV55aZqyFD/+NOT6jS1qFsS33+1z+/YISby40uXVl6coy1pZUSXRO5m5+vZJiiJgm/5sQX+25Pc/DklH5v52YmGhQUpmabHN0mKbjb+2uLOeiU+efff66ADW/zykWYr5+ZKHewWnTzdYu7nDp58/4LmlKZ5YaJIS/PrbIR+vDbizniii0MqlzSxZg4H96HzWJx/N0WgGQk3GhAORDUHwzntbfH8ruT8bZePimPVeL2j3AazdHDAcZZ5+qsGF5WkAfrg15Muvh5zqF9zdMKf6QfWphS5e3rQngEPwaJRIyep2zeKzTTrtyFffHHDvnilL3GpFJAuwJP0vTBJIUFUwHCZyNu12pNnUcSKx+TdMweYaCtuSsHHOOCUIAaanIzMzBWVZY50ztrEkUNi2ufYPQaVaNw1406cAAAAASUVORK5CYII=","url":"https://www.coze.com/","urls":{},"desc":"","rate":5,"id":926,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Cici - \u4f60\u7684 AI \u52a9\u624b","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://www.ciciai.com/","urls":{},"desc":"","rate":5,"id":927,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"WayToAGI","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACiklEQVQ4jX2TzWucVRSHn3PvnXnnnZnMhxPT2HYaRTTZWCwIXRRroCi0LmyRgLgRQeyiCu7cidBlQcRm50balSv9E7JVC1JCIYik1abBmDQwaSYz896P4yI4aSHk7s6B53d+5+PCEU9BFOwzua8xukD5/1iOgI1AAtAr9Sk0v0S0bwFzqBo2N96WX9hxR8F6hSn0+S8I5mNynabmIS9Q66PM0OYwgTF8uX2RWL5JPb3M5BNoD0Kqq0pDjFbs7iDgAdyh8Huda6j7jheGhlM9nyaweiy3ZjpHOhVJpZJo2EuweSBwAD/3CcYtcmo30u0HP505N9fCtyq6FjK2vEp/kPBBZexgDL/ffIOifJPubmSmjz9Zt/ZMi/uhyt2eZSs4eWBe0UfalVERBRbHDlTncRTZt3SKinZ3Q5ysWHumJcuDCb0zNKymWflJP9IVfzbVnkykLAz2BcbV2513Qc5xYiekuljzWou/Q55+HRr5LV7gh/Clnlib1M/Wy66z7WtbvqqLgNnvAIjuQ5peaQbVbp2ikevvfSPL8Szfh6/03EpLPr9j7Mx6uu0K88H5+2wAOAHVizSIvElzSMqw9niV1ZGTh6EpP+qn6dVHdb38R6l4bOLV6zfsrac3ZwDIG7NYjlEtoGZJ1TIbPumKvq7/+rl46WHZ+pgWr98o35qfV7ewoOPz3h+ilo6TKdgYyMtm5Kz29gx/6qw2djLTflwU/Si3FRVZIoGkZx1EyXEYnJZMzViTWeudtdvlKTsVKjYvZO9epf+XIPo0fODA8A+eVZQRICGqxAiiUUqjZC2yvpm3R4f9GwcgP28t6WlOUyeuNQdysrmqk7xIKbsrvd47srw9SkvfvDQ8TOA/VtwsjpTB5CEAAAAASUVORK5CYII=","url":"https://www.waytoagi.com/","urls":{},"desc":"","rate":5,"id":928,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"The Top 100 Gen AI Consumer Apps | Andreessen Horowitz","createdAt":"2024-04-28 14:15:55","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbElEQVQ4jXWTP4hcZRTFf+e+NzNvN5kkaJMVo0QDoiwbMEkRsVAIiAHFSixWSCeCfxIJptMYBAujAQsbsdVG6wUtsqCVkIDYKAspDEiMMZkk7u5k5n33WMyss40Xvu8299xzL/ccnYU49QlnI3hjPGa3BcDkn+X/Dd09z3tNjw/uDrGN0QxkM2vnKUBgTzJAPTanxkNyCq5mpWirCM9m2Q4GiDR7PCkIacajCNvTbhF4G9ievQiRCBnJqrAqudhlPSc8CbmZkJNdrAAF0mSoSBNGotj5T5HvFFcLxzT//BdYFXZNc/Qc2rEf3zPeSDxMXMCCUGBaW/0Dmjv6tjtPvCz199F97AVwMPfMZ3QXX6Xcukr1wCG6SyfoHHgR7XgQCujGR1g7H2HnS99S/vqZzsNP017/BdoR46s/0jz5Ju2fl4GK0ZUVuvufpXdwmTtfHae9skLkEDqPHidv/8bg8xOsf/8uqIJMmoPLrK+eYfDlK1S791JurNH+cZmNix8yXlsh5kR15jnedxZ6S6+r3tO4OfKWoEB0yZtr1AtHqO9foLrvcWJ+L/NPnfa9X7+R2ptmeIuaDirXLrF58aS7i8tqf191e+2S1O0zWvua7uJr1A8dZmP1HWLXPm9Gql445HL9J+UA9PfHFIRyiFRwgqLGNqIGjyanjB52IsokR4OjwrVNyGQ0W7eVsRXCmamYr5BsJ5JsKTA2mU4TdYgBsMuZ6ZmUbU8V67LlCWOwizBFQhKD6IgL/YZABJ7o7T8vTeW6zR9gUiL6DdERF6red/xw+BhRVyxl0mzzH1OW7WEBnQ63Ry3nPz3NuX8BMjctuhbqzw4AAAAASUVORK5CYII=","url":"https://a16z.com/100-gen-ai-apps/","urls":{},"desc":"","rate":5,"id":929,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Kimi.ai - \u5e2e\u4f60\u770b\u66f4\u5927\u7684\u4e16\u754c","createdAt":"2024-05-01 12:39:18","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACCElEQVQ4jYWTMU8bQRCFv9lbG2NkkFzEEpIjpUv4J5ShoKCAdGkoIgHyj0AKRRo6SiLxAyJRpqV2ESIr4uKYAjchyDmdvPtS3B1cSJS8Zme1b2dm3+yDAtvAEPgJBCACKtd6HLBkBjYEdsq77NRI4S+XHsf1/TbAZ0Bmlrdareicq5MEqLW4qNZCM9JoR15sRDpP8+LMLnHOzYC4vr4e0zSNg8EgAvLeC4h7e3tx/G2iN69fiWcb0b2TePm+LOJmzswWAFZWVuj3+7a6umpmphgj3W7XDg4OrNd7wofzc5F/N32diPRj+XoteEkGEEJAkrIsQ5JJYnNzk16vx9HREZ++TMySqfT2Ocx/VAnMm5kBmBlmRrfbpd/v02632d3dJU1TTk9PC3rIDXLASnmAJEkiELe2tqIkhRBUx3w+1+3trQ4PDwtRzerTiL6aZYwRgKurK0ajEUmS4Jzj4uKCtbU19vf3OT4+ZjQaYWZIRQe+7IcQAgBnZ2cMBgOcc/eJT05OiDGyvLxMxa/gVaUCJOG9LyUpqjjnaDabVTJVvArOzFRqgZlZkiQ1hYoOvPc453DO3Qte1XSScoC7uztubm40nU4FmCTK7nR9fc14PCbLsofSBTKAS0BJkuSdTid67//4yo1GQ0tLS9EeJlB+ZS4rJ/7LMI/jUNv/5sghMPuvnQvLDysn/gK2LDHPFYe+SAAAAABJRU5ErkJggg==","url":"https://kimi.moonshot.cn/","urls":{},"desc":"","rate":5,"id":930,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e07\u77e5: \u4f60\u7684\u4e2a\u4ebaAI\u5de5\u4f5c\u7ad9","createdAt":"2024-05-08 00:47:45","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC7UlEQVQ4jV2TS2jcZRTFf+f7/o95Z4bEhCQtilBqhVKoWFEIaOnGRXEjFJGuFJUiWdiFSN2rIG4E3RYLEh91IQoqPlaKRQUVfFWUgiY1EweTTGam/9d3XSRK9a7u4nDu5TzE/2Z6ev6Q9+5+iduBGTBAfwKXyjK8NRhc/eF6vK7b3czM/LL3ehDURcrAqj2IN7NU2CZwYX197UV2mfF7JPHc3MILkntI3lU45VQmQhBmAqFIOXKpBY63Wu0bR6PhR4B5gNnZhSckHpH3g2onl2WF9/XUK/ZOkXeSc9XWWCqCqRZNMO5oNtthNBp+pl5v7nCS+NfwPq62JmX77gONGx69p5semk2UeAdgeRWy7/v5xksfbw4//XnsO/WIKhR5Xp3ync7UWXl3Vxjl4/qRfY2b3zyz2Dpya10971yj5l2r7qPplm/ecrDWuvdAc/u97yZVf7tQHPecsEjSMZwKsiKeeuxEN3Rv8qvn394ePPPO1q5MuypNP33f1PTpk53Ow8e7/eVXBr6RVs50zIH2W2nQSOIwOxvtWGpbK19N8stXQtnfpOxvkl/+NWytfDHZCbHZvoVYtSi2gJmxPwLzkjyYsiKWqUVy7nS38n5ow5EBuM5hJU+eao9dT5NvV0tlhVOr4QEfAX9IHETkOTWVwcHSnWm8tJRayHbd9iklTYpvLhX5+Q8yteqRQkgMrkRgX5q5owQrJknbmVuUfv+p0o+/BJyQBNcK0+dfF7z6bsZg01GLzYI1gUuamZk/6iP/IVnminPLidXrLn75Qsbq1YD3CBNVMMbXoN0QcWyEIESoyuyE9oL0vHPurJXhL8YjT5o60mQ3rQZI4JwIVcAoJfXMwrPr62tPCXBAMje3+Lqkk+aUYVZguP90xawCIkm1EOxiv7/6AFD5vVKUo9HwYrPZFsZtgg5mkRnC8IJEUgoam4Xn+v21ZaD8twt7l6rRaPhJo9F6X0JmdCUaEhXwmxlvmPH4xsbaChD+eexvvWFS9eInlokAAAAASUVORK5CYII=","url":"https://www.wanzhi.com/","urls":{},"desc":"","rate":5,"id":931,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"software","createdAt":"2023-12-16 07:00:58","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u543e\u7231\u7834\u89e3 - LCG - LSG|\u5b89\u5353\u7834\u89e3|\u75c5\u6bd2\u5206\u6790|www.52pojie.cn","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC1klEQVQ4jQXBy0tUURwA4HN+59yH470zcxkFx8eoJCPooKLLwhqqRbUIJAgiV4HQwm3QTvoXahGuRHGnOC5cyFj0AKUgMgysyMcMMzh10e6VuXNf59H34cuVldbqKsnlhG1LzsE02ekp6Drp6eHn57xeJ4ODGAAsi9dqxtwcma/Xo709GUUoiqL9fePxY0xpsL0dffqk377dduMGGAYiBEzTW16GdJo8v3eP12rWq1ciiqwXL6QQpKtLeh47ORGO0z4zQ4eGhJTB2hr/+1fJ5yE+PVXGxmQUxd++hXt70nHYr1/B27dgGCSfh2zWf/eOWlbb3bs4mRS2TZ5NTupXrwrP08bH6ciIt76uTkwI28aU6rduyYsLms2CacowlK6LNQ2wEM3FRazrSFXDclkdHaX9/fHv3+H377xaRQDBzk5QLmNF8T9+pAMDAP398dFRUCr5pRLJ5TBA9PmzOjwMigKWJVstVq/jTAYyGQAQ5+e4cf9+sL0tgoCYJh0YCA8OEEK0owMxJnxfLxZJV5e4uAjev5eel3jwACCVEkFgPnmiTk2xajX59Knx6JH0fSQlzeV4rcaOjyGd1qanBWM4nabxwYF+/Xr77KxoNKKTE21ykh0fY1VtLi21zcwkHj7kjQZJpaL9fX9rS3oekN5e2t0dfPiALQu5bvP1a27bvFIBw6BXrmBKsao2NzeVqanEnTvx169Au7ul57UVi/zsTJ2Y0ItF6Tjh7i7WNDI4yP79E64LmobiOD48VEZHQbguVlWSzUrXlYxBJqPfvEnyedFs+hsbeqEAiYR+7Ro7OoorFYQxxD9/Qk+P8H3a1yfDUDgOAkCMIQBlePjy5UucTCKEkK4jjIXjUCRlUC5HX75gIUSzKTlHnMc/fkAqxet1Vq0ihITjIIwlY9DZiVtv3jgLC0o+L2xbtlrQ2yuDQPz5Q/v6WKWCLUucneFkUikUUBwn5+f/A3gvfAEHLK4lAAAAAElFTkSuQmCC","url":"https://www.52pojie.cn/","urls":{},"desc":"","rate":5,"id":932,"breadcrumb":["My","software","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5c0f\u4f17\u8f6f\u4ef6 - \u5206\u4eab\u514d\u8d39\u3001\u5c0f\u5de7\u3001\u5b9e\u7528\u3001\u6709\u8da3\u3001\u7eff\u8272\u7684\u8f6f\u4ef6","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACHElEQVQ4jS3OTWtcdRiG8et+zn/OnJkkpNGQ1Jiiu/iWoPhS6kIHwYIFXbhx5wco+KXcuBfBvYgIinRn1Q/QhYWkEyYzc875P7cLu7w2Py7x8B80EBMUzXgTMRurd7WJiOXYNoXMTZYZNjngNhAgSJzJZKz45vr+eweLiz1vVo5W0ZEJBqEMqAA2tdpTl9m0bL9e3Prqw3mrVWpSs6FWnCCoBSWEMsONo82+f/NO3HtlZxjmb9wpj56so5tpHDLTIXBgsML6v+gvP3v36DB8MtWnFy9Qr8AyYbCwAgKaJJLwuH5p7+bz90/wYA9f3D09nC4z+4xIBA0QuEA4moyGzfKTt148P25twO+cdh+d7bO5yiiO53Q8vyJQlGZ48MHx3K7WaO3YD+6+HGxRQIMhS4iUK2rp+9dv5+Js3x4a0WAz3H/78Oyo0q8VLU4g3GClGBieLc6PbndBMlJ6Tag66WJxcUy/RFsiaRRIiPCm9er8dCI7HWOoQjrCvjhti1fyFhlRyBFkJolqBcDbqWUMA3TVGNkNiKwxqVUZqdnIzk+Pr9eSIqjbyA2hlfTz36uqXWuuVKlDhDNsgO7Wj388/e7RclNmUeZudjdN9+3vVz/89i+zfQhSYUsP/5SVFMqE9eW+Lr/8+NV7rx0Mmb8+vvz+lyfPvM90j3GAlCy++Ytaiz26aDrzsOX6aVcylX22dAdM5wyrYJsqNJP/AJrRJwwuJvJRAAAAAElFTkSuQmCC","url":"https://www.appinn.com/","urls":{},"desc":"","rate":5,"id":933,"breadcrumb":["My","software","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u963f\u9177\u6742\u8d27\u94fa - \u4f18\u8d28\u4e92\u8054\u7f51\u8d44\u6e90\u5206\u4eab","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACUklEQVQ4jX1Tz0tUYRQ9537fG5UakfLHRgKniNKZeW/a6SKQIGgR4sZF7dq7cRG4LYqgPyCoTUhLiSLQRVBQuQiCfI0TjghuKhSXZerMe/e28I1OUZ3NB9+953LuOd9HHEEAKAYHu8q9vVM0TJAogmw0Gzpdq8WvARCA4Q/SIXkkDMej/v4lAR+TmDSzgiNHgpzMZn0WhuFZAEH7AALQUql0PRB5CdWKmoIkSJqa7anZAgBEUXTfeR+Xo/LzgYGBYwDgAdhwGFa8yCNThQGgYDNRfaBm71Lyy2ocrx30cpJAp0Cu9PT09G9tbW14APCUOwC6DFCSn5uN5kStVltvW5UAkqamM967GTO+qNfrGwDA8+XyhRzdklnaISI/d3eTsXp95VOmTjPTfjOuHV4gF4XWYRQqsJiRHYDkL/2SDW2dEAcdMgAkkabph0zuv6BZXVoJejOmdnT7P3IL1q7Ok7ZOEmYGOj/6n30JAIVCoTufz0+rcqVaXX4me2avTG1HVZXE5XOl0iiANDPRZVJ9y8x8vvthEAS3ncd8MSqOyVq1ugpgwTknUPUdzj0ZDsNKJjPN9k4ASBRFd0lO7Tca+1BLRTUlAJwpFk8fD4L3pnrywFD8MOUcaW9U+R3AkDhcE2AsUd3LBUFnkiT34jieZeuDjIyE47mczAN2QtUgIkduEDBTmAHeOaSmc8sfl28AUNfKd3t7a6Ovr29RxBUAnCLg1AzWyoUCkl9V9Va8HN9smd0e2+HjKFcqlzRNr3qRYQAdZthUyNvG3s7Ter3+rT2aX95EAq8MhX9UAAAAAElFTkSuQmCC","url":"https://www.coolexe.com/","urls":{},"desc":"","rate":5,"id":934,"breadcrumb":["My","software","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"mefcl\'blog - \u5206\u4eab\u7eaf\u51c0\u597d\u8d44\u6e90","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACzElEQVQ4jY2SaUhUURzFz//Oe7ORW0UFtkALVgYRk/UhghbaXBJKW4fKEiWooChsxTtBDQUtYgUtFpFYahZUZmUogrQxlBQUfciJJNfR3Gaezmvevw+jYCXU+fi/99z7O+deAgBmEBEY/6GNecdOWcdGQ7dZaHLshBoFCJvfVBQm+DV/Kvf7A342V6ds2vUSALKyHGpMzOLErq7OOX6/PxAXO9HaIALzOjp8k8X4iU8IAD5U31oU0Pr26IZyTg3qLS2asVDr485PDS3ldrt9R6+mNbY2Nb3TdT1Ba/2xfkXyin3xDjTNnZutg5lFXU1xwcdXd6cNRS26fnXJg/ulu4uKiqYPnWet3bw1LSU1BwAcDoeqvH92f7RthM24/eTtF2YmuFyE3Fz2eDxf29vb0mZNiSiUUoqwXcLrVWqtoYgDzKwQkS7sUYE+DvVbc9NnKi6Xi0hKg4hYVVVFCOWKYUTYpZQGAEgJFkJEdXd3/wRgACAAQN3Tq+66Z9ezAaCkJN00TPkEQABAcnLyJafTuW5gHiZjz8PRtaX596rKzq8Og0IwMzEzDeJLZrF86dKTSUlJBcxsGrydqr7Xx5W9e5wfH2FrmtrckaD19NxKzTzuBgAGiABuaHhh27ll/w02WYxHlVUZRBQMLwPC16l5I6NHXfjW2Gr5abak9OihhIt5OQVSsiAA508cHrs388hz1Wz++qiyyklE/YPm38QYbJrpjDv7qftYZp7Xy9asNSs9GWsSj/6WeYjC+aQUBGmE8xLPmDLfqTKSrp1dXaGYg72rNpS7AZgGmv+nCJLF6YPb7uRsX8A5GcuyAVB6OoZ7nb+RwmnIMDikcYiDJkE6AI6pdwy3d+AjDFFlyeWo1u4fqz6/f32xx9c4MqhbKiPHzd7szs9v+yeBz+eLjZ40PhHUv9xus9XbR0TeJJhUFnzodnHh9ubm5jF/HvALtd856R2nXDcAAAAASUVORK5CYII=","url":"https://www.mefcl.com/","urls":{},"desc":"","rate":5,"id":935,"breadcrumb":["My","software","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5373\u65f6\u5de5\u5177-\u81f4\u529b\u6253\u9020\u5373\u7528\u5373\u8d70\u578b\u5728\u7ebf\u5de5\u5177\u7bb1","createdAt":"2024-04-14 07:19:11","icon":null,"url":"https://www.67tool.com/","urls":{},"desc":"","rate":5,"id":936,"breadcrumb":["My","software","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u7f51\u76d8","createdAt":"2023-12-16 07:00:58","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u963f\u91cc\u4e91\u76d8 - \u516c\u6d4b\u9884\u7ea6\u4e2d\xb7\u963f\u91cc\u5df4\u5df4\u96c6\u56e2\u51fa\u54c1","createdAt":"2023-12-16 07:00:59","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jT2SzYuWZRyFr/O77+d933nf+TBIDHNCCLVIZ9JF6jZaBa2SIFo1YYvoH2jnpn+iQImoTRS0zkVgLcJh/AIVMTSHFMPMkvl4n+e579NiqD/gcLjOdXT6zPYbOfLnrvUFu4BQTjI4JEiCFJCkmoQG2MOcmG3SvYZ6OmfFWaRF11KAENbGprFNDgAYZJibCckWCLpSHWk/+GyurovuSolE9J0pBR85GCwdFHMTsbFpbt6u3Lpthhk3CWyi7dsSSYuZ6qrYCTcZPjjVcGI5dpoQYF4/CWvXen3zfe92y4REiGhVa8YOCvRdZeXtASeWE7XiX670Wn9g9jwrji8ljh3JyOiLLzsim2qwpSzkrW1z+GDixKtJbYfPfdvqwmqhaaB0ZvVq4sN3BxxdSvz8YvH1a4X5oajVBLb6znrlQAiLy9d7XVjt2bUgJhNY2CXWrvf8dLGjFHHokLQ5rdrurK2uKlNM2CzMCoB7901KYJlqEzvuePjYpCRGo2C7iu0CqYrs3tTetFMAMZnZ2e4/ziozmIib65ULax1KJs2Y1tAAoT5QL+7+VpDM8suJuVloKzQjESMYz5tbDws/rHYcP5b59JMZ8th0YaL0eJjDa5erH/9l790TvPfWgGYIG9VsB/xT4PBLiY/fGbnJ4vdH9t+dnEfhTGflDE+eVL7+ruWj9wecXE4s7h1x5U7P0xaeeyZ47UDyeCA9+LPw1fmpRhNImOyiWiqaDIPVS4XPRh2n3szatzvYt3vw/5nAunG/+tz5lk1gvCDy1M5RFVUutRDjkbh4uXDnUfHRpaT9zwfDoXg6rdz4w756r6d0MD8vvEUdpEiZGus5p8VSpqX2xMyctbEh/3ipJ/8KaQw1gQJGA8uSveU6nB2laMt6eOoVF+7KWVRcWjnV8CSLcYiZELONmDTJQTiMc0qKpLsps/Iv6sh0VzXh/zcAAAAASUVORK5CYII=","url":"https://www.aliyundrive.com/","urls":{},"desc":"","rate":5,"id":937,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u84dd\u594f\xb7\u4e91\u5b58\u50a8","createdAt":"2023-12-16 07:00:59","icon":null,"url":"https://up.woozooo.com/","urls":{},"desc":"","rate":5,"id":938,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"123\u4e91\u76d8","createdAt":"2023-12-16 07:00:59","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACx0lEQVQ4jXWST2hdZRTEZ8733Zv38lSKTeMf0Lpx70IogmsXbuymSVqsiiC4U8GFWJMUNXWhSFEJFBWXEkNX1j8VF1JrrSAabF2IIojQlqRQTdO8d+/9zhkXr9aVsxo4DPyYM8R1zR4qj8DsoAHTZnQRRFw/UpQgABRwDdLnf//1+7HP3r63IQDsn+9es5RfEAAI/y8BIJASUDo/WbbSAc68WGaqXloprbckoBAEgeA4QRoFCnDcgJDqftXrRvFuZsITJJCrVHsR6h4B+4+ktEB4Qd3P6V+QCKAdhsM4k824uzR+VuIKiWebRh8QWAeRELGLKR8EOdWNYlG0Bh7JEu4n8ajkA5PQD+jblaV0FOAFmX1faKfa1r9eWaoWu9LupfGi0862Lb5pwj7+8JX0eDDeSVVOZoSM7O/bp0TDoD+BE5M9nJ+6o1qbm/el40cmfiK5OTmJMzt2Yq1Xx68PPa8BHJ+SYBYAkFpdpc8teNU1uOCh97shrnhnxx94Tn3I72m27bvisczQOrCBlKaflqBxwzFujIR3xR/76NW04F5O0nDX3YN4r6rTlISLOaVz8LwG3AYRt8ODJkAIAIdlXmJ97cd8evZQt7BjV/1z/2ac7t9kB9qhY6LHvYNb8EPq6c92e4PhcYTJkAkQVIPDDL7Ubf+2B37fMH959XKRuzYtp1tFPDm6Vo6NrqJlype+Wp7emp1vd0MJ3L/ov0TonIfeTMDrCi6RcQkOL3VVai93Ou1owJ5Kwmagy2bVHjJehrCTc/PllCV70D2cogniWHZjvxEOswSI4ylnoLSCECOL4ImUSLgESJSkCIUXRSkKd0FQFFdEkaJEOyrDlAmjnTFdseWu1Rf1IFeCDARoHH/XKJICOPY29nUv9wX9EcPuGVtd5tblljPdKN4ysw0BQEAkAxAggYQACBIADL3gk67hwytvTJz/Bx/omhF6i7KiAAAAAElFTkSuQmCC","url":"https://www.123pan.com/login","urls":{},"desc":"","rate":5,"id":939,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5b57\u8282\u7f51\u76d8\xb7\u4e91\u5b58\u50a8","createdAt":"2023-12-16 07:00:59","icon":null,"url":"https://www.bytepan.com/","urls":{},"desc":"","rate":5,"id":940,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u8fc5\u96f7\u4e91\u76d8","createdAt":"2023-12-16 07:00:59","icon":null,"url":"https://pan.xunlei.com/?path=%2F","urls":{},"desc":"","rate":5,"id":941,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"TeraCLOUD","createdAt":"2023-12-16 07:00:59","icon":null,"url":"https://teracloud.jp/en/","urls":{},"desc":"","rate":5,"id":942,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6211\u7684\u575a\u679c\u4e91 - \u575a\u679c\u4e91 - \u4e91\u76d8|\u7f51\u76d8|\u4f01\u4e1a\u7f51\u76d8|\u540c\u6b65|\u5907\u4efd|\u65e0\u9650\u7a7a\u95f4|\u514d\u8d39\u7f51\u7edc\u786c\u76d8|\u4f01\u4e1a\u4e91\u76d8","createdAt":"2023-12-16 07:00:59","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADNElEQVQ4jV2TS2hcZRiG3+8/Z2YymSQzJk0yqEljZMQozaJQazGKSGvNoo0XQtGFqJsuFHQvyGykaxcuRHBhQZFgdVGFilKQQdzUggnGaG2bxEliJpnOmTmX//65kELwWb2bl2f1EA7A9bqget2/cup4rVDse91oO9mN0+s/3tj+srOzcxsAGCAC+O6H7o7FxcVgaWnJnZ478dzJI9XP7+0PK5ViiF4q0UnS/dVm+9IHl5ffB+TWOydn3hwrhU98s/L3JwQA9TpEvQ5/4e0Xzy08Of1heTA/cvnqTSeilKpDAWmlqRgwGn9s3YwT2Zqo5I/fanVxbTNaJ2YQEfi982cW3jjzyFdj9xRJSu0gWHzx7e9wuxHGBwSSTNrBkHPLzTu4cGX1irL8GQAWIODpY8eqZ5+a+rg6XEAUZ1YZGzijce70FOICsLPfQ45cGCWZLefZ1cYGSqPAJQAXBQH82tmH3pqdHh6NYmkF+YDYwhgDqzS9PP8AbUhJ3SgmdiYwztPD4wNzHeAFABBTlanKzP0Dr1qj2TsbsDXE3jC8IaUyDOUcnj81ievbEROYW4n1g4WQq+W+eQA58dLC4fn7DvVNxEnG8JrYK/ZWElsJ4RXanRjT1RJmZsfp51sRdZUlImComHsQwKh4rDb8TLkf7Iz0bCWczohNBq8zZFIiURZbeylOPDqGzVShHWswCEycB1ASYHeUvIY1mWDzn9kahVRq9DKLJDVIjeP4TsZHD5e5FWuwZ0SZTQBIEbAdd0aBnSLvFSttkEiLVFmk0sKw57iraH29Q5OH+lHsE9xONO0n+i8AndBoKckbVsrCey+0dayth7Yelhm9SNE/6x1OM4NyKc+lQhgub3StNL4BoCd+vdFqGOdEIR845dgpy5xpj16ssb3Rwcafe15K68ulHP3W7AZX1/ZX1lrJRwB+AICgsbL7i9VubrgYTJB2Iusp6u0lFO3GJHuagkCQtF401trm4k+b33VS8y6ATwHsHoxprJIX5x+vjTxb7g9rA4WwQiRykbS2nejWarO7uhWp7wF8DWDtYMEEgLgOojo8gBEARwDMAhgHIAGsALi2CDSXAIf/8S/HtuzGYHC3cgAAAABJRU5ErkJggg==","url":"https://www.jianguoyun.com/#/","urls":{},"desc":"","rate":5,"id":943,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Apps|InfiniCLOUD","createdAt":"2024-04-03 14:38:13","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACKUlEQVQ4jW2STUhUcRTFz7n/9zE+R5RGDUIiiYIQDal01SYItGhTmyIKDCKM2lu4UWohtUkqoVUULWoVRB+EFAQWBQaWGFlBUQlWjpjz9ea9978tJtKsszv3nstZ3B/nB/GvVEH+38rKaGUtAooqVAGQIpU5AGdFmgoINbQA6BtQNIxglSkCqgpneSMBJbWgTvNWf1uvaWyFOPb7VDhxLX77kC5JZXYAJEBRa6FAAq/zWNA1TOMtLy886i89PiseHBIKoGRZ5cINtPCTfi3ESRY+R6+uA3BbD5i65mDHGTv7sjx5n/MDsAlSncf9jhMMGmz2Q+Fur4ZFOjb+NA3ArFmXPvhAMhvid/dyN/aIDeFv6Ql2XTL1mySod5o60z1PgDD+Oi21ntT68czHcPwyQFndxqpAmDJ+x0nVJMm+L472Jfkf4qWrui9CoFYBgoCNAUAcQIR+tdQ0AVKeuJq7OVR+cQGAu77L27zXLkR2sWRWZbz2o4Dab5NayjtazCXZaTeod1v2B91fSk+HvLZDJrMx2H3FZFo0yvvtR0xDC4BwfETLirnTWLy1z+pv5W4fXhhps+W8/q3i2PlsP7KDNKd2Mp6ZsnOvWd1It8ZZuz0cOxe9ucOgTq21+dl45nlxtC98NozK4+YHoARCwAO9NI2jcaiFIgT0XAAaRYiwhIYCBJAStVbDnCogoC9Q1SQCQAM4BppUCHJIqIKwZOUUANRacglptckf+wtMOxhagzwf3QAAAABJRU5ErkJggg==","url":"https://infini-cloud.net/en/clients.html","urls":{},"desc":"","rate":5,"id":944,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"MUSE\uff5c\u6587\u4ef6\u4f20\u8f93 \u4e0d\u9650\u901f \u9ad8\u54c1\u8d28","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACa0lEQVQ4jVVRO0szURQ89+4KMbJJFInVgkYRDNqIjVpIhAQfIFhYxMpWIYX/wH9go0XwJ6wICVrYiYqFpvIRO1FEWXyxcTEa9t4zX3Et/KYaDpw5Z2aE1hqAZVlEpLUmIsMBCCH+EmYWQkghhNa6Uqn4vi+EsCyrVqudnZ0ppTzP832fiDzPOz09/VUE8PX15TjO6uoqgJ+fn97e3mKxGASBbduHh4cAhoaGSqUSgFarJQEASKfT5XLZ933P8+7v77u7uwEkEgkpJTMnk8mOjg4ARGSbQ8lkMpfLra2tKaUmJye/v7+llFrr9vZ2KaWUUilFREQkhRBSytfX11KpVK/XR0ZGJiYmXl5eHMeJxWLVavXm5ub29jabzRrrEoCUMpPJJBKJvb299fX1WCzmui4RbW1tHRwczMzMzM3NLS4uaq0tyyJmVkrhf7RaLWYGoJQKgsAMlVJaa4qiCMDJyUmhUMhms7lc7vLyEsDn5+fKysr09HQ+nx8fH9/f3wcQRZFtWVYYhktLS7OzsxsbG8fHx0YbwO7ubrFYXFhYCMNwcHDQFGebmlOp1NXV1fX19fLysuu6AGzbTqVSURQ9PT21tbW5rvtrmpnj8fjR0dHU1FS5XB4eHt7Z2TFZCyHu7u5qtdrFxUWz2TQLBKDZbFYqlefn54+Pj4GBgfn5eQCNRqOrq2tzc7PRaDw+Pr69vTGz1pqYOQzDfD6fTqf7+vrGxsbOz8+ZOQiC0dHRnp6e/v7+zs7O7e1tk57QWkspiejh4SEMw0wmE4/HmZmZ39/fTQDM7DiO4zgAhBkJIX5fJDISplD6A2Ymon9KZZgFuJtEJgAAAABJRU5ErkJggg==","url":"https://musetransfer.com/?utm_source=appinn.com","urls":{},"desc":"","rate":5,"id":945,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"wallpapers","createdAt":"2023-12-16 07:00:58","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"(300) Pinterest","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://in.pinterest.com/docarc/mobile-wallpapers/","urls":{},"desc":"","rate":5,"id":946,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"iPhone \u58c1\u7d19\uff1aiPhone 14\u3001iPhone 15 \u3068\u3082\u4f7f\u3048\u308b\u304a\u3059\u3059\u3081 iPhone \u3092\u30b2\u30fc\u30e0\u30dc\u30fc\u30a4\u98a8\u306b\u5909\u8eab\u3055\u305b\u308b\u58c1\u7d19 13 \u7a2e\u985e\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9 - \u30a2\u30c3\u30d5\u309a\u30eb\u30b8\u30f3 - iPhone\u306e\u4f7f\u3044\u65b9\u3068\u4fbf\u5229\u306a\u6a5f\u80fd\u7d39\u4ecb","createdAt":"2024-02-25 00:38:44","icon":null,"url":"https://applealmondjp.com/posts/18715","urls":{},"desc":"","rate":5,"id":947,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"GAMEBOY WALLPAPER IPHONE 14 PRO","createdAt":"2024-02-25 00:38:44","icon":null,"url":"https://www.wallpaperize.cc/2023/05/gameboy-wallpaper-iphone-14-pro.html","urls":{},"desc":"","rate":5,"id":948,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Bodega Supply \u2013 A design store of hand-picked digital goods for you.","createdAt":"2024-02-25 00:38:44","icon":null,"url":"https://bodega.supply/collection/all?&page=48","urls":{},"desc":"","rate":5,"id":949,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"13 Gameboy Advance SP Wallpaper for iPhone / Android Colorfull Retro Phone Screen for Gamers Wallpaper Variety Pack Digital Download - Etsy China","createdAt":"2024-02-25 00:38:44","icon":null,"url":"https://www.etsy.com/listing/1537369104/13-gameboy-advance-sp-wallpaper-for?click_key=7efd2c27827dc8ca285676b663d1a37b09e2339f%3A1537369104&click_sum=cf64a9c7&external=1&ref=hp_signed_out_opfy-1-3","urls":{},"desc":"","rate":5,"id":950,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"iOS 17 - Concept Wallpaper - Wallpapers Central","createdAt":"2024-02-25 00:38:44","icon":null,"url":"https://wallpapers.ispazio.net/advert/1860802/ios-17-concept-wallpaper","urls":{},"desc":"","rate":5,"id":951,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"iPod Wallpapers Collection for iPhone - Wallpapers Central","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=","url":"https://wallpapers.ispazio.net/1876841/ipod-wallpapers","urls":{},"desc":"","rate":5,"id":952,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e2a\u6027\u5316\u7535\u8111\u684c\u9762\u5fc5\u5907\uff1aWallpaper Engine\u4e0b\u8f7d\u3001\u6ce8\u518c\u3001\u4f7f\u7528\u6559\u7a0b - \u54d4\u54e9\u54d4\u54e9","createdAt":"2024-03-01 15:56:15","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACaElEQVQ4jY2SP2gUQRSHvzcze5c977jDiBhQTGEngqIBAyIkRYKNIJggYiOCImprJXiWNnYiEaJoIXIKgiBIIImFqGCMQv7YiWIjGjS62c1lb2fGYs0ZG8kPBh7vzbz38XsDqxqZCrg7f47R6V4Ahhq6XVuNR6d7uTt/jpGpYLUk1L2CK7Dt6C4qlXe00gWa8RFO7X7OWo2+O0DHhkcEhU1E0W4+P5yBy0j7wu23NaR4g7B8jJXkO5kdwuvX+Rjbg9EPKJY2srx0H79ylpN7FnOCay9CNtXqoI7jfQWhig7AWbBZAoA2JZQG2wLPT0QicPdYWKwbOqtXqXReIPoB3iV4iXCpQxDAAODsL6z1gEIwIFupdF7ESyjcmY/RgaLVOoxTrwBoWk+HFirWAxBpaecAlNtPEDzGtaxB6RKt9CfdXyfp68tYjyYnJ/m4eQVjqgbwKBE+dIU0GgnLu8bw3rOSHOL03rzhzTeGQvgUpSCcGeBDV4hxAniD9wIIsU5RPQGFrB/vwTY7crOAxlyRNOhHBOKegDhLqToBUH+gPLXE8Kk7JUsnyLJxPreW28jzX5tk2ThZOsGn7pRakpPnrkpulCpp6uII5wZ4MjtIvS8Dcrp6X0ZpdpBwboC6OFSp/UsNIDjvCXfEAAwP2zV2+Xa0Nl94G5Ps9IAYnE0ICkXi9/005l7ypaDYYH17hauKtBBrYUvqiKWXICjisiWD97coV88T/RgjyRKqrXzXy/LPe4yDqoMEj9ElylVYXLiuOXjiGcpqUNuBAHD/PaIsyDeayQ2+L176O2ZkqoQpa9ajbMlyZl8C8BsqkQfT9fYhAwAAAABJRU5ErkJggg==","url":"https://www.bilibili.com/read/cv22119214/","urls":{},"desc":"","rate":5,"id":953,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e0b\u8f7d\u590d\u53e4\u7ecf\u5178\u4efb\u5929\u5802\u6e38\u620f\u7537\u5b69\u58c1\u7eb8 4k - Boring Day Arts","createdAt":"2024-02-17 03:17:50","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jX1SQY6CQBDsxsTgfeEtxOMQTFAT+JX6JeEtetDIG4CZqj0MC+iqc+qkqyZV1aUAVFVmj+Q4jyuSqkpSSc4RzjlVXSwWfibp5wGtqgBGNAC/7rpORJbL5fjFpAIAAOectZbk+VwVRRnHcRzHRVGezxVJa61zziMHgkcfDycREQmMSY1JRQIROR5OnjMRuq4DUFe1iCTJ+na7e2O32z1J1iJSVTWAvu8HgrU9wN12H4ar5tFcLtc8z/M8v1yuzaMJw9VutwdobQ9giKJt258oMiYlmWUbby/LNiSNSaMobtuWpHMumCKXp2s8XUam3D9J2npJj/+SBtNE9dl0XdXgzPS7WM23WF8OV5bD4cryzeH+qqFCcGzOSzWCYJaNl+u79aV8Y3nV19tzvtR7XP0CAuh8NWjFB9kAAAAASUVORK5CYII=","url":"https://boringday.app/2023/12/04/classic-nintendo-game-boy-wallpaper-4k/","urls":{},"desc":"","rate":5,"id":954,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]},{"title":"\u58c1\u7eb8\u7f51\u7ad9","createdAt":"2024-01-20 10:17:33","nav":[{"name":"Awesome Wallpapers - wallhaven.cc","createdAt":"2023-12-16 07:00:58","url":"https://wallhaven.cc/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC","id":955,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"Desktop Wallpapers, Full HD/4K Free Backgrounds for Desktop & Mobile","createdAt":"2023-12-16 07:00:58","url":"https://wallscloud.net/en","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABbElEQVQ4jZ2Sv0tCURzFP/fqU18RRJSUtgtJ5NIkSFvYH9CSQ0NTS82Ck0NrLrnUlv+Ci4tFEtFShInNZmkGguTP914NpWnPCj3b/d5zvt9zz/eK+aO3oBTGCbDAKDC0l2b+LCxc8VpxZHFfEzm2GEBa5+Rf994piXfqTwrWYUX/rGR31cHi9Ke4UDU4um6SqRhmE8PEkTWVXFkjnKoTTtXJlTUia+pQN8IVr713D7GAA4/TQr6ss3feHCDGAg4AU13+JETTDQ6uWgDsL9vY8SgA3JV0fG4rieAEGy6LOQOP00I03SBTMfDPSuLrKqpNAJB71TnOd7gs6oS8ClsrdpLF+qADVRG9rts+OzOTElURqIpg22cHIFszOM12euEOOLh51NhcssF9m8OvJ/SjG2DIq1Cofm/DFKLPPXSzPRSqBonbFsmibm7QP+k3ZGuDf8E07ifhP0jgaSRFPwytIqWQO8DzGOJS++Ei/AFayn5TS9doTwAAAABJRU5ErkJggg==","id":956,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"Alpha Coders - Your Source For Wallpapers, Art, Photography, Gifs and More!","createdAt":"2024-01-20 10:37:23","url":"https://alphacoders.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":957,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"\u4e16\u754c\u8457\u540d\u7684\u58c1\u7eb8\u7f51\u7ad9 \u7535\u8111\u684c\u9762\u58c1\u7eb8 - WallHere \u58c1\u7eb8\u5e93","createdAt":"2023-12-16 07:00:58","url":"https://wallhere.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABs0lEQVQ4jZ2SQU8UQRCF61X37M4s7DgYlmWJYjxI0LD4Czx71Ss3fxr/w4t48uZZI3oxxCDBsMDOTHfX89BI9Ih1+urVq6S6unB4dCB3Cb2T+7YBJEn+y8ipiPyteNKSBe+GImIWKeZ0ICIxtYBS6FAAyIrTQgtXzZo5yWRhtZyuj3eShZj6rbX9ZvRwWj916kkz2qyZF65S76rNZk7SLK6W0/Xxk2QxWT9r5s3owUb9zOkAohDdbPa9qzxpMbUAAJjFZB0AEcTUJot9vGrDIqQlyS4sROhFBND8MgB57iwaU11Nn2+/jqkXYG3l0dfT9x4AadlBmlmCKMVIqvo2LE7OPwZrRWTgxwrnSStcFVPfxYtxOR2Xkz4sAAVcSl1M3a/r7yEtKdKHK0D9VXem6na3Xp4uPk/u7RRaPt544XQwGt4/uzye1LvOFZREkbx69+rN3tnl8drKdl3Nvvx49+3nh61mryzqTydvu3gRrV325xRCENL1Mpzj8OiAtD5dC8W7ocJlLlyp6pP1+ufjMnuSgJa+FhGKicgtk3Q6zJchIpl97s7WHLcMQG5WjJvKf1zrb+JE/PdkwomPAAAAAElFTkSuQmCC","id":958,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"DeviantArt - The Largest Online Art Gallery and Community","createdAt":"2023-12-16 07:00:58","url":"https://www.deviantart.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC","id":959,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"Wallpapers Clan - Cool Wallpapers - Free App Icons - Cool PFPs","createdAt":"2024-02-07 03:34:44","url":"https://wallpapers-clan.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=","id":960,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"4K Wallpapers for PC, Desktop & Mobile Phones","createdAt":"2024-02-08 13:49:52","url":"https://4kwallpapers.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACW0lEQVQ4jUWRy29NYRTF1/oe5z76un1oq1qtElHPxsAIEyREYmAkjDqQYCJGzBASMxOviVcYmBMxYOAPMCGmbVJSVG9b7e2555x7vu/bBqdi7cGe/Nba2VncNL6duTPGQCkAreBV7q01uWbabLbRsFJGEMfQaiZVY/XWvuFoYEOSZcp7L7LBttmBvjhLuzPu3T35u7tNFureqF5nd0zu/2Whbg8dufjmbX14KHL5WpbdGT8+9fbd3EBtsq6fXL1nL0zJn0ZTy4Gs++7tR/mJY8pSmUoFJIWAWKVNuQKqwJC6lgrBWKuNyRmyJKFzJkDEeaVIrRSUkCEEEBCI1otJki3ONyTpkFqpt9ORxlA5reK1OFmL4+B92iIIQdC63GzePHTYPXxAE50a2/e8spq9/2g+zU2fjdXrS+fzxy/7Fdq3DgUGECCV9xO1vrBnt6buHR2bz5exsoItg+Ovzlxf+L48G8czq6txM70VJzh08Fx11/cP3wZfPO1mNeofvDF28vNc2nPtqsk77OWPz0aOvqls7F2OG492nq7evwIIAIp0RlGr1qX6atMLdfWtXiqXjfW0He0/s1U1s7LUaCRddQWCEJHicxGB9yVtYI2IGCHoQ8kYrU3FOV2KAIGQpAAiEBGAAlAEpCIJMkD+CQCA9U0AJCiCwiemQCgUKeKCSACKdBSQCCEAIIBi0TFBUkRKNDaKiuI1WEAQIbE+W7ZNrB8hc+cm2vvjidGZr1964nxg89iMj/FjPhjV6U3P6MhsY+m/oVDic93MSm1Vp9lKszIVowgCR3FpWtb2L+29QKybJsLyAAAAAElFTkSuQmCC","id":961,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"57 Best Gradient Wallpapers for iPhone and Android","createdAt":"2023-12-16 07:00:58","url":"https://wallpapers.ispazio.net/1866361/best-gradient-wallpapers-iphone-android","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":962,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"macOS Big Sur Stock Wallpaper - Official Wallpaper Abstract Dark (Full Quality 5K) - Wallpapers Central","createdAt":"2024-02-08 13:49:52","url":"https://wallpapers.ispazio.net/advert/1831643/macos-big-sur-official-stock-wallpaper-full-quality-5k","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":963,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"Wallpapers Central Collections - Browse Wallpapers by Smart Groups","createdAt":"2024-02-08 13:49:52","url":"https://wallpapers.ispazio.net/category/collections","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=","id":964,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false}],"icon":""},{"title":"\u5de5\u5177","createdAt":"2023-12-16 07:00:58","nav":[{"name":"\u58c1\u7eb8\u6837\u673a\u751f\u6210\u5668 - iPhone\u9501\u5c4f\u6a21\u677f\u3001\u624b\u673a\u9501\u5c4f\u58c1\u7eb8\u6a21\u677f","createdAt":"2024-02-07 13:25:40","url":"https://mjcn.club/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC80lEQVQ4jV2Ty2udVRTF1zqP77v3JrnJ1TZKW6XSx6DSQqtmoLYYjODAkZKWgkqs4kQU8X8QHDjsQMSqAymV4EBLBR05ECRKaSNUB9KiqFET87jhPr7HOWc5iNGSNdnswYL9g/0jAEggCQGAfnjpCeSYqwfpcQNMxoRgaVatMd9F1hfc/R98enuH+De6NjdRZ/YdCz4Tfo99tmE4ZsasDNbrfm+oEPY022Mhat5vbr7Ch+fXAIASiKuz7dq3L/td+cnh5/2/4kIYSR3Uo6cb+YYvqk/WFtFT4U6NHKwe2Hvojqrb/zZLxZM4dnHDkFBhR9/2nebJulsOUi+BNZvqI1MtVQr1MFWuUmwMUnBYr+qs3ZiqlJ8nIFbX5h6yDfuNCRFwgPosBt+nYCcZ7X7TMZHpZvn3RjcV9vjIbu+SaUICmg1TDePTzjq+NpTD+S86y6s9l16dWRvfN53GYyGoAhJhD7fuvhNOuLU50n/zl6mlA62ufePQ9bu8Dc86g/TU1R/tn5cWOruCmB/cXfZenlxXXVg5K0rAMEY1zQAfLx83V7pH9uXrg3Jm/OflqdHfHnVybuLwnlon7h1urPSMf/C+gkqGhgJAkpKRCHg8Mr5Ufra6Mtzf6IYDrY1RWS9Wi+eG3qFRBlQxGbayZOtAQ0oCCQCkJJGeMfWjjx4xZC3brIfxawODW4lG1sDnTr4KNKIgbL+IBDESqMtkU85gstw2Y4SM4VtGwoLJLFNETJJIiVtlSlsYruWda2c+n8ica2U2GayksnrRHb1wxVHp3VDE56wlBUiCASQAIEBACoPqsoBfSXRp8JMtB1/aE5eW/mMsF1+4mHWaZ6v1oiLhSUJJ0Y9ltupV8/mx989gR7ZdMBKYIbxeb5aL2UQjk5CUlEBCIRHCPboxOyrNWukxtzX/l4/bi64/vzdY96H1doaGqIsASPLNjKGM0/7oe19JMCTS7Zdwp87hxrnToDmT6jRtG3YilOlm5spTPPLRHzsxAOAfWWWgmsbtPiAAAAAASUVORK5CYII=","id":965,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Shots - Create Amazing Mockups","createdAt":"2024-02-07 13:25:40","url":"https://www.shots.so/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3ElEQVQ4jYVTXUsUYRQ+531n13d31mnVplVLy0otTKWiiCSKgiDqIoqCrroIuu4ftAgVXVjQP+iiMu077csPktA+MIRay1i2XDZsZ2tzdx232RnnPV2khmJ0bg6cj+c853AegCWMiHCJGCMivjinLC4Mh8MMEWUsFqvWNG2/lPJjIpEYQcT8UsMWoBERIiLF4/G1Qoje4uLiGtM0iXP+hTH2EhEHhBD9QojYP2lHo1HdMIz32WyWUqmUlU6nXdM0ybZtIiKyLCsyPDzsWbDCXHMikfAJIW6qqrrJsiynqKjIyxgDAHSJyAUAK5lMnu/q6nLn2C5gkclkrjuOQ7lcrmCapszn87JgWXJmxnWIJLW3t19dvD4SEcKHTo9ZfeCi6lfP5PPTtqIoCjKOnDMAQOKcsfu3H7tPnj0qVKzUO3O53Nm2trb4PEr3d6rbq1qRIp/gCMAAAEgSAQAhQ/aqPyKH+sZoeZWXuZ4s/iqYU4aRPNHa2tqthPeA0nC64eSIv9G09x3SQvX1MrR2DQZDOiEC+/B6TI4NfKHG9VtBLQm4UxSXnxJD45OTU7k/R0wB+6Hau01nrGTiTdBKjX70jEhBgVA5ikBQ5g2HNlbWga6vgMlppKf3pr0DPdaNgfTlFwCECACwv7K06miN72GB+5t9q7fatXVbuGt7ARwPVFfVQpm+DiLvJuBW51uY+FFBFaE9BY2VnToXUW7i7B3YttLAhpO1y67RzExz3lth72g5yJuaWgBNDoN3B2n4+Tj5RSNTy3ZwR22B78y17ExmHQIAhAFYGABO1QSrjtTpHU7B3v4p6RbKyzYyJSlRi9nKBqUZLH89fBaV38bFqt6ox3cnEkt3zb/yLIi8srlc37W65F7Ay3YaSRu0bBC0Sd3wflvWE5f6wwduou8C3E0vqYU5kEsNWunhhlVhAK5lDW93NGb1Hf86+vNvHbE/HuV/BTavFQizDjjGF+d/A76eaE3Mucb7AAAAAElFTkSuQmCC","id":966,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Free iPhone Mockups \u2014 Mr.Mockup | Graphic Design Freebies","createdAt":"2024-02-07 13:25:40","url":"https://mrmockup.com/free-iphone-mockups/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACoElEQVQ4jSXOS2+UVRgH8P9zznkvM9OZ0o5FMoBNW6AErYq3aAwY07hx4QZXulEWYOLKFV+Bb2AMYYMmBl3qwhgjSkyNSKIr7RtKp9KGJsNgp5133su5PI8Lf5/gR4UPAHNtSSsipYW0C4iIiEFMOpLAvqgFCmmDtKJ9VxhmFbcUWIEUCEAACBDvxQUJwkyIDBnFApPAEjv76Rf83W1+PPKzbXVmsfHqy3plhXo9ajQJgMCOJtpomIRKKXiz/++Fy9xpR93ptGJkW+HRkBtJdPaMOn6UpqfDo5G9t92+flWfWqKyyj17Lmsze/j/jELQ6xv4/Y69teb+uu8He/pYL1o9l35yEWlKB+XAiNhrX9kf1/ReHk13aHlBnX/JnHtFHZohpN5ViBJ2jq0DC9X10Gf9ybsfpycXqN0O4m22KVsPuZni6JH4xWfRnXH9hz7bmrp2NVo5TZUNrijhLGZnoBAD5MT/8wC3f7C/3fXrfR6XMnPIvHW+eel902nTxFU+z+sbX+tvfy72H7fmutHJeb36unrhrOkdE4ABBcg4D5pYQBMuzd/39i5c1sePtOZ7oZyMsvVod6CqQi0t6qefCZpkfFBtZM3Pb8ZLi1Qwi60lMJpNBa9hNBg7O27tzuSn7/1GhoOxe3IuffudznsfShpTxT7sjfxnX9a3flG7A99tNVaWsfqaev655KklUsQCxZA8d2mklKYyBHu/X39wheY6yXzPD4Yq27Q721pPuHdYL5/2SVIPd8P2g+7Nb+jEApV5EPZcWTwxZQgCmP193h2Wd3+lP/60GxmPD3SzRW+8GV36CNpQ7lzsmBEUJOIATZ6CShpAHABxTgSilDIaRSHaUBWEQ0DtYqVq9jEJEYnRKijxkNgwg6sycKCpJkf6P0nlc75ue+HdAAAAAElFTkSuQmCC","id":967,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Screenzy - Beautify your Pictures and Screenshots Online","createdAt":"2024-02-07 13:25:40","url":"https://screenzy.io/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC1ElEQVQ4jV2TbWiWZRTHf+dc133v2bMJipVjbSMVS0Ob+qgjmhl9eBCxPpQiQTRmLyBm9EFEhqFBDEUxLJUipKzAD4KvQSAIww/TBF0vBAWpzFyxpg734p7nvndfxw+3lnQ+HQ6Hczj/3/kLAJiAGMBLi+1FMzpUeR54rFqFtMKAenrqpnLo5AX5gYdCHiQvPGGF+ul8rMLbXnGVCphB80xoaILBG9B/hUoUs6/UR9cOJNwfYFJ+hmKN51jsKU9mhGpCaGjCbeyCxha41IstaiNc6MF98wmC48ipS7wOoCAWe3bFEeV0kiQLSE0NftteWNJucqAbPnwP+fYgfk1nkKmPkkjgtZdLdIEEXd1qyxTeSSfJRPFpFZn5FDZ7LjKZCuMjSG0RmV/Chm8q42O4YASELavn2RxVZaNzRGaYGaIeuz2EjI6A87DuLSjWQ995ZPu72PgoKp7ghClWS4d7snHHHoNp9zGo98jwTSgUoHVZLmLLLPh6P9weQgpFxAImgmCgAs0YEgwRwQCcg0N74czxnNCKlbD9U4hiCCFnHgIItCiAASI5tsoENM+ChW1wsBt+vpjXl5ehvQx3x0Ddf3+gBn+qYCpYtYK80gEHjsLuw9DaBp/vhiyDEGDpchBFDEwVDK4rgXPqkCQlNDRh69/HRkdg8xv59sEBuDWUb4tizCmG5RqYcU4t4wsLhJAhj8zAfIRc/Q273At3hsFHEMegalz7HUkSglM0yxjThMP63S9yPjP2Fwu4gX6yO8OE0nPIq53Y3AXYpg+wadONG9eEMycItXUEFdSMj079Kn8ImKx9migpcjxLWTV/KWHDVkLLbFyW5WbpPYt9uY/w13V8fR1UU746fVk6wfRfM5WwqGkJu6oTbCrW42c0QqEI//wNtwbzU3zEaJay8/SP0v3AwfJ/O6991lZM3OXNJKEd4XHnsLiGfoOeNOWz73+Svof77wE4ay2MNoWW1wAAAABJRU5ErkJggg==","id":968,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Check.: \u505a\u4e86\u4e00\u4e2a\u58c1\u7eb8\u5957\u6837\u673a\u6a21\u677f\u7684\u7f51\u7ad9\uff0chttps://mjcn.club\uff0c\u65b9\u4fbf\u5957\u4e0aAI\u751f\u6210\u7684\u58c1\u7eb8\u53d1\u5230\u5c0f\u7ea2\u4e66\u7b49\u5e73\u53f0\u3002 \u58c1\u7eb8\u5957\u4e0a iPhone \u6837\u673a\u540e\u4f1a\u6bd4\u5355\u7eaf\u53d1\u56fe\u7247\u66f4\u6709\u6c89\u6d78\u611f\uff0c\u66f4\u8ba9\u4eba\u60f3\u62e5\u6709\u3002\u73b0\u5728\u7684\u5c0f\u7ea2\u4e66\u5927V\u57fa\u672c\u90fd\u662f\u5957\u6837\u673a\u7684\uff0c\u800c\u4e14\u6548\u679c\u5f88\u4e0d\u9519\u3002 \u6211\u4e5f\u5728\u505a\u5356\u58c1\u7eb8\u7684\u4e8b\u60c5\uff0c\u4e3a\u4e86\u81ea\u5df1\u65b9\u4fbf\u5c31\u505a\u4e86\u4e2a\u5c0f\u5de5\u5177\uff0c\u60f3\u7740\u81ea\u5df1\u73a9\u8fd8\u4e0d\u5982\u53d1\u51fa\u6765\u8ba9\u5927\u5bb6\u7528\uff0c\u6ca1\u51c6\u53ef\u4ee5\u78b0\u649e\u51fa\u66f4\u597d\u7684\u60f3\u6cd5~ \u{1f4a1}\u4e0b\u9762\u662f\u4e00\u4e9b - \u5373\u523b","createdAt":"2024-02-07 13:25:40","url":"https://web.okjike.com/originalPost/64b659634bf4deb326529567","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":969,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"\u521d\u661f\u58c1\u7eb8\u6837\u673a\uff5cCX Mockup","createdAt":"2024-02-07 13:25:40","url":"https://www.cxyxkj.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":970,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Device Shots \u2014 Free Device Mockup Design Generator","createdAt":"2023-12-16 07:00:59","url":"https://deviceshots.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC/0lEQVQ4jVWTz2tcVRzFz/nel5dME5NQ28wkTatJqRaiaTYKbooL3fc/0BZBdGEXSltQENSFS6u48AfVUipi27E1Oi1NiMEarQGtViXFhT+KmWRCoJmZTN68mffucTEzQs/q3PuFL9/v555LAMhmR54wC9708lMA2JEkoX2htgDIaD97n5wolYqz3D408mTo3EUA20imkgwt/d+jY0hCkgfgAGw10vSQ679n4HOSoxKaURQ5SUjTFCAZxzGTJKGZIY5jdAYyWgKix8gDBmCCpI+ireDIkcO49s3XePedk3xoYj8WF7/T5cK0xsfHMHO1wLm5qzj89FOobFYDM/MAJowkAVASnn/uWfT0dHNmdlaVShWXC1c4MzvH2mYNl774SvsfeJBTUwcQxzHMjAAYACAAmBnn5+f14083dOrUhxzK7cKLLx2HmWFwcABvvP4ad+64V8ViEWFXV4cJmRveLQBI01T79u1lPapjubgCM4NzDu0aAGBs7D5EUYTbt/9VGIaUBCMpM1MURTxz5rSOHn0B6+vrcM6h2WwiSRKQRLlcxgfvv4fjx45pY2ODzjlJUtAmC+ccFha+x9LSLYRhiPbzgQQkwbkA16//gL/+/ufu+vDIHkmCJGUyGXrv0Wg0QQJmrUh47wEA3d3d8F5oNGJ12Lm+vv5XSWKzVmM+/5mGdg7h0sXz7Ovtx507G6jXI4RhiNWVZeTz5zS+dxznz33KgcHtrWDmhnenwyN7fP/ADv/rb7/7crmst06+7Q8efFzXvl3Q9PSXeuTRx1QoXPHValWlUsl/9PFpn82N+mxuNA06ee/qCnj27CeYnHxYtc0txnEDa2trKm+UkSQJS6VVei9F9TpWVlYBQADEbG70F5KTEpq1Wi1oNBoIAodMZhsrlTLIVg7WSsu6cCGPpVt/4JWXTyS7Ru/vSpLk5l2fycxSMzPvPSTRzNSG2PatI0CXpOlWM00PuahW/bO3t2/R6Ca897k2cZKk9x7ee3R8mqatjYUb8ukz62vF2f8A6CG0i03SuBgAAAAASUVORK5CYII=","id":971,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Bigjpg - AI\u4eba\u5de5\u667a\u80fd\u56fe\u7247\u65e0\u635f\u653e\u5927 - \u4f7f\u7528\u4eba\u5de5\u667a\u80fd\u6df1\u5ea6\u5377\u79ef\u795e\u7ecf\u7f51\u7edc(CNN)\u65e0\u635f\u653e\u5927\u56fe\u7247","createdAt":"2023-12-16 07:00:58","url":"https://bigjpg.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4jaXSTSvmYRQG8J8HD5Ekk5eZLLyEWJjV7MySKF9hmrUPY2nBN7CxU5KFbGxINLGlaJKGYUEeHjbnX//ubjauOt3d933Oda7zwifRkNy7MYRzfMMCqnjEDXZxhtsioDEh+IJpDOISdxHwD11YjKQ1XEFTQlAN9nschZVxiN6wY6gkDi14+qDkF/zASfGQI3hEPRPcgd/YwsV7BE1RY/m9inEsYweb5YB0ClP4GhO4xzwmcY1VrKfqUoIJDGAUe2hHM3owjFasRTOzGMMs5jJ/lVC0je/lmst4yfSlQB0bcf7CH9RS59cgeX1PIvbxF305BZXMdqaoRT/uZOS2RfacgraY0BIO8L9QUIk51/EzMtRiEjN4DsKnIDjESsFaLM1IOLSgM7auP4hu8FCy0+gTeAP16Ea6ZRH4EgAAAABJRU5ErkJggg==","id":972,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Photopea | Online Photo Editor","createdAt":"2023-12-16 07:00:58","url":"https://www.photopea.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADDElEQVQ4jUWTX0jddRjGP+/39zvn6NyZOlMXU3MGNpnUIFdGq1gZjBWjoIIRRQhBEF3UVd0J66aL6CaIoD8wgoi2tqJujGl/WIFtpUGjcDSZZZppeTp6POf8vu/ThYHPzfPw3DzwvnwMYHZ2tr2nq+u5vDOMx5Rt2f+u7cYyL+S/nJiZef3+oaE1+3VpqbO3re1TS5Kh8wtzlD0SLGBAMMMAGbiL6E4B40h3H4UYv56enz9u5XL51aamphfu/eS92uTC1UCaGmYCjHpNxMwwg1xBhMTI6jqwu9MvPfp03jY3X0qbkvTQ9N/LPrl4LdDSmqQYWb1KzmX37LlB/c27bbmyzvjSvNbkpMUiP638wecLc/5gc/tdKZJXsswsTcyArLLBna0dvHX4qPZf12lEhxC4urbKw+fPMrNRwnI5ah6NiAXATDJh8lrVhlvaNXHshEWw45+9r+Kp1zh85m1M2NkjD2mnMElmUQZ4AHPcASxx6c3hEZsr/aPbPnqHL5YX7MS+/fy88S+PTZzTvl2tYaSjS9Rrsq3HKAWBBFmdoY69dnPbHh4Y/5CGXJ6pY09wY1s765Mfc3r+inm9ps6GRkNuSIArBRwJ3Onf2SrV61xYWbRHevvpK+7iwAdvcHllgecH7yAQ7IfVZUhyuDs4SuUSLjBhyMxdaQjMl0uY4Mm+AZpvOsgzg4d49/L3mlr7y0hzZB7BLKYml+TAVspipCVf0Pifv9krM9/ybP8tlOo1Tl78Sidnp7FCQaqsb40qkgrkkgLY1jUEUiCf14u/XOTlKz9S80gtqxmNOzyBIMxcEhY8rdbqVrAgj1FRCjFGLARhWFJopKwISUJSKMrdzUOQYqa8BUVFpYul1W+GuntH7m7vievr61ES1WpVbFYsJrUtniSimZAMd93eej1He/rC74tLF2xycrJlcGDgdFOxeN+1tVW6iy1MryyxkWWEELY5NCGJPMatnXuplMrnzlz67nEDGBsbaxgdHX0qjTpYrlZoa9xBYgGXjC0q5QJwQhJUcp/q6ek5BcT/AEQAqyv0uVORAAAAAElFTkSuQmCC","id":973,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"TinyPNG \u2013 Compress WebP, PNG and JPEG images intelligently","createdAt":"2024-01-20 10:58:33","url":"https://tinypng.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC50lEQVQ4jbVSSUhUAQB9f77ZpanJaSqzTbLApbKcDCpCoZLIILq1UxJ0KAtKo1WlgjwlYXSoPBRGtJptJIatMhahZTqjTsW3UnO+3/l/1v9z5nWoGerQsXd/Kw/4XwiEQkUjur7BIHM9pJmkCEAAcNxqtVb9k6iqg2maolzxKQr9mpeqIlMdVoYikci36upqCQABcPOmjQ+bmpoSYrwpeXl5Y0ju6/8iGX29Er9Knyl9clNVZGrKELXhIZJkVVUVAXBNwSpmZGQkAsA1AGpFeXk/SSqyh/LgAKVPPfQM9NGneRlDOKCRJAtWrpABHAEAZKSn02azUfZ4qIeC1LzDNPQwo5ER+n0qA36Np09XsqKsjOQISfL5k4aaWHTT1JQUZGZlwZqUBMFkgtPpwtIly3D99m0Y4TBCoTC6nE48eNyAsrIT0HUd6ZlZa8+Wl48FAFNDY+P5aCQa1A0doxJH42ZdHTSfD22v32K8xQzrBBtKS0tQtGsHXE4nPrrdSBiVOGH5unX748vX1NQcivVMmTaN+WsL+ODhfV48f47Hjh5j6owZvHW1liT5tVdit6uTzY2P6uICJFeQUfZ0ubh3z162vnlDr3eY2QtzCIB2u50k6e54xxdPn7D9rYMVB3Y/S05OzvktoM8dMQx6Bgd/xYj8iC/vaHEw4Pexu8vFg7t38tK5M+xoaeLJowcJgCYAEITR7ZFopD8hwYRQwI9mRwtKS0pwr/4uetrfYVluLvLy8zErKxvrV6+Cq9uNC5drIYoihD9qHAZwKuz3IWzoaHvfjmZHC169fIWli+3YsnUzvLKMyspK1N64AwAQRfHvG/dKUidJGsEANa/C7s4OOjs+8LWjmdu3bWXsxhMn2mg2mymKIuNfLi4unj4zNTWpsLAQqqqirbUVwWAQFosFHln+y0iAgDmz0yAIAuICfQPf70aj0Un19fW/4plEjLOMjZMX2XOQPW8eVE3D7LQ0LJg/H5MnT8JPbLra8gg0m0gAAAAASUVORK5CYII=","id":974,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Convert image online","createdAt":"2024-01-02 12:33:54","url":"https://www.aconvert.com/image/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACnklEQVQ4jXVTSUiVURT+7j/4prT3qLA0pGmRljaBi0qwiCzDDMF2SQmGBUlCmyLihRgNbmoVhgsriKzAqTCkEW0TtVBEjUAsSrN85fBPd2yR75H2OnAW95zvfOfjnHOBBaYAAgAvjhb6VQt0Vf7HW8qhYy73X4sXjzeU1PZeKD2WDBMFtL/f/zD+bCg+H/ZrdaMxpyvA7ValZACCCs7kyI1h99XV9uEZBRACqHkEI9HCcCTkr0815EnquZxIZqRAQHEGcArGKGwm+wZn/bU7bg48n6tVWly2JcwNuvBOSGcW3HWUcCzlWTPSs6alY88Kz+MsSFTeqhT6qKNiUz4ApQCixaVsrOvuHfzBSm2XTgaVY7qUOtMOt6c8Yk8xU3ChmTGXOCGCcKaPnYur1xMDjMJYeenT0N7cjN4lxCn+YPkftH6PVI3zUPMEDdxJBc1OM/U1DiOwmJYRysq+u294dCrpWtoqcrYYpj/9QNP7rnjsdnn+6vQ0sd+lirnSoINWsC3a+vIXAYDP9QfzAj5ZqZjHpeRa+0Tqlarr7d/ixR9P55z5bOuduxr7hxY2IwAwWle0Jyuid8NzASLwZdJ9YnC7UVeO4lQKU8NlKC3cFwsc2t3c/64F0A8DIkHQcbwkuD0z9iZisFzLpZ4PLCA4gxQcQigwQbipEeMnNcY+OUblzqaBp/HhawogJY0d9vi0d9Z2PG8RnAB1bcE9T1AqBeUQTBDtl0u8sK5WhAhu1ZYVLE96ia+rNxWtDdkXdS63AsTkkkBIAiXBfQTGGPV97bEWV9fc63kMQM4jSJznulO+hwVvNpsallKpEwmw9frMNVeakU5rWVnd/Wdvk20ufgtasnjrkW010bKCrXONkmLmWRTQVPSPz33jhMqF2N9aDlm+XFfI6AAAAABJRU5ErkJggg==","id":975,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"donaldcwl.github.io/browser-image-compression/example/basic.html","createdAt":"2024-02-08 13:49:52","url":"https://donaldcwl.github.io/browser-image-compression/example/basic.html","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":976,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false}],"icon":""},{"title":"01-wowpapers","createdAt":"2024-02-11 08:35:39","nav":[{"name":"Ocean Black - Wallpapers Central","createdAt":"2024-02-11 08:35:41","url":"https://wallpapers.ispazio.net/advert/1827169/ocean-black","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":977,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"iPadOS 17 Stock Wallpaper in High Quality by @ispazio | Dark - Wallpapers Central","createdAt":"2024-02-11 08:36:03","url":"https://wallpapers.ispazio.net/advert/1870142/ipados-17-stock-wallpaper-in-high-quality-by-ispazio-dark","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":978,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"Apple Tower Theatre Wallpaper by @ispazio - Wallpapers Central","createdAt":"2023-12-16 07:00:58","url":"https://wallpapers.ispazio.net/advert/apple-tower-theatre-wallpaper-by-ispazio","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":979,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"Holo Pattern | Whatsapp Wallpaper - Wallpapers Central","createdAt":"2024-02-11 08:41:21","url":"https://wallpapers.ispazio.net/advert/1830934/holo-pattern-whatsapp-wallpaper","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":980,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"iPhone 15 Pro Max Concept - Graphite - Wallpapers Central","createdAt":"2024-02-11 08:42:10","url":"https://wallpapers.ispazio.net/advert/1873301/iphone-15-pro-max-concept-graphite","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":981,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"Dunes | DUAL - Wallpapers Central","createdAt":"2024-02-11 08:44:34","url":"https://wallpapers.ispazio.net/advert/1836337/dunes-dual","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":982,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"iPhone 14 Stock Wallpaper - Midnight - Wallpapers Central","createdAt":"2024-02-11 08:45:09","url":"https://wallpapers.ispazio.net/advert/1854357/iphone-14-stock-wallpaper-midnight","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":983,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"macOS gradient wallpapers for iPhone [Download] - iDisqus","createdAt":"2023-12-16 07:00:58","url":"https://idisqus.com/macos-gradient-wallpapers-for-iphone/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRUlEQVQ4jWWTT0hVQRTGf+fcef/kqYFGtLCigqBNUNiq17Z1L1xIgRBa4iZo47JaFAQhtLMQwUW0EBVcJO2k2kSIuKlNBK9NBAWpofe+e2dOi3t9vOrbDJz5vjPfnG9GyCGAAXBr+RK4mygNCMeL7RZB3kI2z/Pmu26NcICRmRqDpx+DTuJKJYIHs4IqoBFkaQphlh+fp1m8u190ua+MnK0wUFmh1n+FeCcAgSyN1CcAhKgMruwBpdqn7G+/5mdylcWPSQTrRuPGE3r6r7O33caCUu6N+LSGrUxjm0tQ64Nj5yPS2EjbKT39Z3BZnY3JNcfE6jCRTBHvegSHoRCMaq/I4EnAsFo/BDNAERzxrifSKSZWXzjUxomqJdI4A1FEjSwROXwKvTgKZoSBE1iWCKIGIpgFXLWE3x9XxBr4zMAUQTAvlGrY1038q4f4tUfYl/dQqoEFQRAwxWeGWENBhgiZ5J2xIsz/IeSpGLmLXDOknfzlYJWcKNIl/qcmnWNMwVqos5yAdAT/OeiIBTNQZ2AtBVnHOQEJhT3rPKBu5LXikhIKzbrS9nOkcYJq7tNCPu3uJhbIa+QcVSGNE9p+TplvbhH8DJV6BGSIBCwIkTN1FVNXMaJS0dgCkFGpRwQ/w3xzK3/KF45GDB95SfXQNZIdQDKyWCXZEwAr14xSLYA5Kn0Q/1riw/dRNr75rmmNREyOPUDtDlGljoVOQCAgCj75TZCnzC7cg0V/kO7fuL18DnFjwGWs+M6iLeANli3wrLnVTf8Dz+MJt/sFlxEAAAAASUVORK5CYII=","id":984,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"Imgur: The magic of the Internet","createdAt":"2023-12-16 07:00:58","url":"https://imgur.com/a/xtIGdVe","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADQ0lEQVQ4jS3R3YtVVRjA4d+71tpnnzlzZsaxsSPp+JGiTEUmJHWRXYRUKkIjgiQiZpRdmBJURMQIZWKYkKDBRIUXUuhVgQXVhfgBEcIQgxYqmOQ0Ot/OcY6zz95rrbeLunr+gEcAaj/u2epKyXuxCI8JagUAkf9FABUUQCHgzGWfF4dGNhw7JbWf9mx1xn2DiNE8RGMQH6NEVYJGIkpURVEQNMFpuZwaVKMv/DZno+nDYrQZfJToMu/pTCpasSV5IKnS7lqo2BKJdYpG+ev+hFxrjPgkLTkrps8BK7QZNCZq27RM3yO92tOxQOakVWa0oKmRQiCIijVOuynLzkuf28Hpv7XFpSuchuhsainqOY3jt3Xzt6vlMwb4+voAc8pVChHUGsQ6ciPSX3tOeyrz5dLUDSqaOmPKRnU2Uhwa09pYi7yy71M2TXfzTHs3U817aCyQEDAhIsHT9LmooIqgqBp/18tU3y1mLk3L+pee5pezA0z+Psr22ip8nqMhoDGgwSMhkiA0Qy7mvx1xxcEJju56jR/O/sbBj/o5feITzPNdvHH5NKlzxOAxQFTF4kjVUPcZRkARjLnqianifeRk/8cs2raM7QMn8CHHRsX7nHrWoFHMUlJoEcNE3sCKARSThYLdu4+w7tnVLNixmM3nj6PBkypkRUYzb3K0ZyNr27uZbjZok4Tx/B4Wg6IYZ606W2LZ4of0emOEsZm7lDFkRZM8z/ji8S10Xcx4J1nDjoWrqOf3acRcrTEoqJmdLeSFdU/y4aGTsnZokR5Y08vNqRGyZsbJp3biz4yz74N+9u/7kjcbq/hjekjv5vfFYhBEpC3tLWrzO+zQ8BidHVU5f+6I/vzgdVlerZF/N8WWXQfonNvG6D+TPLxxibK3Q+6FTB0GFQmmpZRca620ypz2aljZs5AXN7wvi86V9eZXN9j08n4OH36dJ5YuxT1a0fqrJZnRJlZtoGQFuGZTVk6MT8xsrlQqdv3GNfHChSt8f+ZXGb4zye3hSUZvTHFrXh337lwptSdKISqptSgxEPba2fDnlarruTqbFcvPXRycZ1RMe1sLra1lmRyuc6ergXm7k6TDqWYKVqJYM+gL/9bI+mOn/gWZFaGEUyA9lwAAAABJRU5ErkJggg==","id":985,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"30+ Stunning HD Purple Tone Phone Wallpapers","createdAt":"2024-02-11 09:05:27","url":"https://www.ideasdonuts.com/purple-tone-phone-wallpapers/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACt0lEQVQ4jY2TMUtjaRSG33PnRqLCTGVlFK1stFC0UpKQaBPBTi5WVsYfYGG3uzM4hXZX7BTsBBGConDBIIkiWKRQCyE25iYSi2Ay60RC5Oaedwt1WJcp9ik/TnO+8zwg+YnkV5JVkr7v+z5J5W9otVo+SZ9kjeQ3kqaQ/APAVwBQVTUMwwCAy8tLuK4Lkujp6cHo6ChEBCRVRAy88k1I/iD5haQahvEpk8lgY2ODJKWvrw8igmKxCM/zmEwmZXp6GiR9AIaI/ISq0vd9JcnNzU1GIhHd39/n8/Mza7Uaa7UaG40GHcdhLBZT27bJ111VVYlWq6UkeXZ2puPj4/r4+MinpycWCgW6rsv7+3uWSiVWq1XW63VGo1E9OjrStz9RUVUlKXNzc7QsS8LhMOr1Oi4uLuA4DkgiHo9jamoKgUAANzc3sG2be3t7EggEaIiI3N7eotlsSiKRQKPRwPn5Oba3tzE/P49kMond3V04joNms4loNIpgMChXV1cQETFJ4u7uDt3d3QgGg+jt7cXJyQmWl5cxOTkJAOjs7MTa2hoWFhYAAP39/cjn8xgbG4MBAKZp4uHhAYVCAel0Gul0Gh0dHXinvb0d2WwWqVQKxWIRpVIJpmkCAIQkXddFJBLB0NAQurq6EAqFkMvlsLS0hLa2NqyurmJ4eBiVSgWVSgW5XA7Hx8cYHBx8lcf3fVqWpQcHB7+sS6VStCyLs7Oz3NnZ+fV+enrKmZkZfXl5oarqhzOGw2Etl8u/s5gkWa1WGY/H9fDw8F1t/SDS1tYWJyYm1HEcep737waYyWQYi8V0fX39g0iiqn8D+PyucjabhW3bFBEJhUIQEZTLZXiex8XFRUkkElBVlVfqQvIvAH8C+BDK9fU18vk8VBUDAwMYGRnBf2cArICkSXLlLdH/m/MPkt9JBv4BpIho0YzrPsQAAAAASUVORK5CYII=","id":986,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false}],"icon":""},{"title":"02-bestwallpaper","createdAt":"2024-02-11 08:08:51","nav":[{"name":"Wallpaperize Backgrounds","createdAt":"2024-02-11 08:08:57","url":"https://www.wallpaperize.cc/search/label/MINIMALISTIC","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==","id":987,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Cool Phone Wallpapers - Aesthetic Phone Backgrounds - Its Lit \u{1f525}","createdAt":"2024-02-11 08:11:15","url":"https://wallpapers-clan.com/wallpapers/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=","id":988,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Iron Man | Marvel - Wallpapers Central","createdAt":"2024-02-11 08:36:12","url":"https://wallpapers.ispazio.net/advert/1828062/iron-man","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":989,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Lake, The Beach Day \u2013 Official from iOS 14.2 | Stock Wallpaper - Wallpapers Central","createdAt":"2024-02-11 08:42:24","url":"https://wallpapers.ispazio.net/advert/1836678/lake-the-beach-day-official-from-ios-14-2-stock-wallpaper","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":990,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Traditional Chinese Landscape Ink Painting Apple Bundle - Etsy Taiwan","createdAt":"2023-12-16 07:00:58","url":"https://www.etsy.com/listing/1457989156/traditional-chinese-landscape-ink?epik=dj0yJnU9Rlc4X1QxY1BubEl6dXNHWW9QdU5lNDVhRHdNRWZlYWomcD0wJm49R3dCdUdCVUptWHFJUHhpY0lJaUtZZyZ0PUFBQUFBR1RxSlo4","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC","id":991,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Relive the Nostalgia with Sony Dynamicron T-120 Video Cassette VHS Wallpaper","createdAt":"2023-12-16 07:00:58","url":"https://www.wallpaperize.cc/2023/02/sony-dynamicron-t-120-video-cassette-vhs-wallpaper-iphone.html","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==","id":992,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"LCARS 2023 Star Trek Wallpapers | gedblog","createdAt":"2024-02-11 08:52:52","url":"https://gedblog.com/2023/03/09/lcars-2023-star-trek-wallpapers/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAuUlEQVQ4jWNkYGBgOF/K95+BDGDY/YmR8XwZP1maYYCFkZGREv0MLIxM2A3Qa3uHVfxSlRBxBuAC6OpZGJmYUAR0ml4zMDAwMFypE8VhAKp6FgY0ATjAJY4GcHoBJq5d9wJF/GqTBLoB2G0iVpyFCYdCmPiNNhkGBgYGBo2qJyjiRHuBkDhGIN7skmdgYGBgUK94jNUAdPU4wwAXQFfPeKtXkcK8QGJKxHARAwMDw50JymS5QqXgLiMAzbscf1WKWFsAAAAASUVORK5CYII=","id":993,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Download \xbb ArtStore - Beautiful Wallpapers","createdAt":"2024-02-11 08:53:23","url":"https://artstore.asia/download/2397/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jZWTX4jUVRTHP+f+7vxmZmdad9yadm0N2cRQIyOhl9KwXoRKkTCCoOilyB580h4KXKiIgqAewqiXMuq1iJCK6C0QM3c3cMnUaVUo/8yqM+Puztzf757Tw+zSRk994XAPXw7nHA6fKwBmEw4O7Qd2A2X+kazIbYV3BXhPRH4AJvz1Vnjf/r9aZvYYE2/89GavZ2amamaZmcWoGlUtqlo0+0/kZhaWmvziS8K+NEVBRFW9OIcT+dfiqoYIiBMD3FIYMOpLYgMaTVwiOOfAjB8vX+XrP66zpVziufvGcEnSrzfExJavISJivurV1EwcQicE++hcQ744dpabl+HYHbeyoR0YPTFI5aGU+gNDWDQkcQhghnOVJJI4Ryf07PCZU3J06jR7yTny5EayrvLdi+eZPDjN9GeTZBpwIojmxG6LGBbNrXJRQp7x1YXfOHW1ybYQOPDUo9w47pk/26HyeMBt+50rMyfBFYkaaHx/mEuNSRYXOrhhl/Fr8yJnFlvUb87z7CP38/ORJp++dBzrttn6wjo2j9apJVXipdM033mePxszJGmV8mDdu0Le5sLCNVSNe2oVav42vpyYYmDrAmlYZDAUqBRSarPTnHt6B43Gecb3vMrw2s34hMwN+Z4Vc6A5x6bVdcR5urHH7Jwx2G4zNrKKwl1lkr9mmd2wnfXvfmtrRsekUOwD66vlyIO3jzOe3GLr164jLRVlz8eb6B09wc5d97JmuM7c3rspbXmFHU9st4pzYqomzvWxvvbh2z2L0fosqpmZ9iHLVnpL0r6hukxlw/m5ky27OGM5YAgKogaKJxogggGqoAgRkRxZpvGT5NDD5dw1p3Ymq0eQgSHEckQDogG39IoGxAISezgyXHYDup0PSKuvCUB4a2SfH0hftqE7a5IUTa0/Yvkzm4GI9QH2fj7G9HP/zDevC+jfCEzIHkv+fzcAAAAASUVORK5CYII=","id":994,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Ship & Swans Light Blue Wallpapers - Light Blue Wallpaper iPhone","createdAt":"2024-02-11 09:33:15","url":"https://wallpapers-clan.com/wallpapers/ship-swans-light-blue/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=","id":995,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Wallpaperize","createdAt":"2024-02-17 03:56:31","url":"https://www.wallpaperize.cc/search/label/GAMEBOY%20WALLPAPER","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==","id":996,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Classic iPod wallpapers for iPhone (Free HD download) - iGeeksBlog","createdAt":"2024-02-17 03:56:44","url":"https://www.igeeksblog.com/ipod-wallpapers-for-iphone/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACi0lEQVQ4jW2TS4iVdRjGf8/7ff9zPHMcs+ME4QQVOIkcyEUtCqqRiiCIZCKkqFWFBKHr3LV0a9NiFrWRLnQhGMKgs8hxkgxy18JyEYSXiJKZUc94Lt/3f1qcMVz07h/e5yoAG0kYwL/xBJk3EfOuuA9AictkVgk+1F7O3okRW+fzTLGT49S8TanE0DjLAAqLpqDymIIl1nlXj7IJIL9HsEDLLb5Wm+e8pmyTJWLrCzbGZAWhjsM36ekWL/Ewm9qi/T7bOZL/YWiRdFvQBIxu85StzFgdmvRZ1F6Oyhd4HHEGKVEC2ZBlArkGFUCNrYkUW1l2AGMy8+W45nCaIX3xqasvv6N4/SCcOGnWNqAI/NoLsHYd9X7EgyG+a9p651WqQ6+Q6jUOR4gDDHFKxL274NvTcPon1J3D19bRqRV09jz+5SJ68hFY/RlOLhMgYw6UrpilltY3zF/XoN2CXTvxGy+j3TPw4G5YXkHTbby9DZ0d8OLTiIFFzWzYQDK//g7L38NgCM0EFy7C0ufwVQ/KgNEILl2dWDS1DfCkBEHJFUpcFLiRoK7h6t/ojz/xdBtubMJgiCXUnYP1G/DZKUzLVnAlgBUK6Z67yXP3w7OPQXcP/uQblAr8/FO4uwdNT+EPPoaHHoCDz5AJCViZxBicySNU1YrGNsd4hENQjVGzBdUI1xnKEqosNxsOYhJjaB/ngKWYoWwUrvKYnApRhGg2ca7kshDNJBUBzXDFDgCWtI9zYSMGHPMGPTo0JJFr6pxxzpMKGpwzlS3ToeE+PQYcs1FIWPvp6yYL3GJRyXW0KaNwSJMaKxzRplRyTZ9FXWdB++n/t8b/mfNbwLxrZgFUcjmb1Zz5KHX54U7Mvz7fN6zfi4ePAAAAAElFTkSuQmCC","id":997,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"GameBoy Wallpaper iPhone | GBA Famicom Edition - Wallpapers Central","createdAt":"2024-02-17 04:24:24","url":"https://wallpapers.ispazio.net/advert/1872604/gameboy-wallpaper-iphone-gba-famicom-edition","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":998,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false}],"icon":""},{"title":"03-wallpapers","createdAt":"2024-02-11 08:09:24","nav":[{"name":"Ultra HD, 4K, 8K Wallpapers for Desktop & Mobile | Wallpaper.cam","createdAt":"2024-02-08 13:49:52","url":"https://www.wallpaper.cam/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAx0lEQVQ4ja2SzQ2CQBBGn9wMp73TwTZgYgV0QA1GK5ACKIAGtAmudMDJGijAhCteZpMvm10k0S+ZhHnzywD8qEPkrzvripBbRIF2R3Grg+INABbgaM9P4B3Fr98m1DZhBfodG+HMSmGTNKkSNaUYsyQ7S6iETYniEJsBvIBREh/Ca+GDcJ+CZ0kObDFfhw2ba5kuwu/AS3y9GQCdBG/C9UbBusRhwVYNSUGnRIOsmsw/MApvthog7+mFucR9svLxhU199IX+ow+Ipksw4z4/ngAAAABJRU5ErkJggg==","id":999,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Stunning 4K Desktop Wallpapers - Free & HD Full Screen","createdAt":"2024-02-11 08:11:44","url":"https://wallpapers-clan.com/desktop-wallpapers/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=","id":1000,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Nature - Vector 8K - Wallpapers Central","createdAt":"2024-02-11 08:34:02","url":"https://wallpapers.ispazio.net/advert/1841756/nature-vector-8k","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":1001,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Popular Desktop Wallpapers, Images and Pictures - Download Free Backgrounds","createdAt":"2024-02-11 08:47:46","url":"https://wallspic.com/album/popular/for_desktop","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsklEQVQ4jVWTO4hdZRSFv73/x7n3ztwzucMomkJkfDNgIcEgNk4iQopgZ6GN1qKlYCGexoBGESwEC0tR1CZJp2hACwVBEwuJzIBIUBLJDMPNfc05//9vi8z4WO3mY7MWawmAGSKCXT/H49WC5/c7TpdObhezLBX7MfKVRj5eeZpPAKxBpaEAyCG8c47XbcardZ8qC0w7rO9FZhMjBkDAHF+myMtrp7nSNGjTUARg9wKv1Mqbc4WwypZFzvrIlTzn+OIvmjSRyjCGPXwH11KPU6OnuGQgsviW9ekOlwYjBtVRSq54MtzFNxxo+h3vVVNe2hvTASz1JMyS/bo65JhsMtHFmGfq2xiGO9GUmF37nh/sIt62qOwiXoTfXQ80CBrx82zt6hF5YNzyAoBqZMXfAaWQXGBp7UEelU0SX1Nkk9R1PJEMXDRxETTiElZwPGuG82GNTIXRUsRRucjbtsVJuY/x/DIndcapxZxMwAGiIB2Ieu69cZ6BuorfyhyxQuhm5NDnWNvxWXuZ47bgfVUcAVwEFzEJiHgEj+wFRKY/clQyP4fAqOswMSRUaMq0JGLKmOq/XQHMKZoKu4MV7talR/gz3eQtn9A8oXQ3sbZlZkIwT3EVSEC0OvgesNDHXOQ6mX21Bh2e4OyNP/iw1xLEkd2ASjxoPIAjJh7RgImnSI3guCAbtMJ/tPs5Ly7dr++6Hr5kkP9dASjqwIw2deXh3gbbCmCf4gBGj/V/8kvLitWmumwiNSI1UAssGwyL1rWzXL3W22DbGtQD8AsGkKY68FXtSiYZ5kBuBVcsoerdEdWyM/8gPLT3jhkqcrCFw0UCmrfv+cKNBidsr2SzoiIiMlBsP83Mpm+49atn7JY7A9B/3AmIkJ0fP5fH5TzSU3XLBmFCKx+l2WTTrV89Yw16CAP8DfU4LOFrYcKVAAAAAElFTkSuQmCC","id":1002,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Heroscreen Backgrounds","createdAt":"2024-02-08 13:49:52","url":"https://www.heroscreen.cc/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAApUlEQVQ4jZ3TMQoCMRBA0T+TqFh4pL2BjaWCCDbexcpGD2Ch99A7uYVsxkrRXZNN9kMgE8hLFeG+POJGC4zAd4JhCNFEaB4Hj47XqMxa199IPCfAdKuE5xXvwKxsBQOxoFSXHXV9ZuITz8VTAKrLZiiin91ARH+mAYh2TgqRLlCI/AcKkDiQiaSBDKQf6EHygASSD7QRFQiiqf8W77Y64fycpt6/AGwlXQXtuVx5AAAAAElFTkSuQmCC","id":1003,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Post36 - Google \u4e91\u7aef\u786c\u76d8","createdAt":"2023-12-16 07:00:58","url":"https://drive.google.com/drive/folders/13hPJn3J6f1qfen4DVz-Cy60tq93CH3_7","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtklEQVQ4jZ1TTWhUVxT+zjn33TczeTNm8rMwMgzUhVWKjotutAGlVhRKKW0tgnEhrtwKapGALy76Q7sRXNlNq4tKbAvRnSB1U6EtSKWlUGml2FaCzSKZZJz33n33HhdJNNCsPMtzvj84fMD/h9bZAQB0nZtZh6zbvjjwei93h0PmCACqFdaLAw+u0sTDW6uY9dwIALZNv9lKotov891uwy32sQCLt+vzuDR0t/u467dvPIKHK2AFAH5GT5eVqxSfJ+HGANuszHyRZEVx1vyeifGN4SqmCNAVLJ4LpGCkCJ1v3tktRibKXuFja2KXNOyJxiO7Oe5WskV4I5jQGeymFEHTZe7zBAqKAn8EQAAEFdGkWZs9PvTPLASBgEAEKQM+Vl2bYMV959fvHeVYxn1elgDIVIW7Uj81utifQg1MBHIZSmPxmp/B0dUUBIBemt7XGOLBe0TUCoX3bCWC6s8//frKq/oopfIgfmRGp8zhTAQB8Dc77MD76DIAbfLwSYltOxQ+ACwkjCA4gzQt6RKcIXwAYSggrkDgGG0YnCRAafv0W1ti0TvqaRBBPVclKotw9e6hmSNIp8whANfSc0G/3XAFlaXDRR/OsAoM5jnoLmp9+MM4u+S74BwRASxE7UrrvuXGgkcQA0WPbNhcPKhf+O3dLcF5VQJiYTW2v1e6tz7/N+4MdIg2bs2WYt+kUW5Wk5EAbGLQWICMVdVt+iMaGRmc7aPz1+3AbkzcnF5v3Lj3KQPkOZ6bBHp5xXoeTdS7su98/qT0rl+GolfmRVY28yfuy5eP+f+GWmx4Ic/rOgmQCqC89P3g43jXmag9OrwnsZYhViSKmSPLHFmmqMIxk8zVahxV2jT+5+XP6rfvf6VYfiMAJYB0/yfuDaehCYVnXtsTjxBEQYXknMzfOU03FSBaU6oXnqcPZiRKuF2x1gAAAABJRU5ErkJggg==","id":1004,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"\u58c1\u7eb8 - MACGF","createdAt":"2024-02-12 03:43:17","url":"https://www.macgf.com/wallpaper","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4ja2TSWhTYRSFv/9/r69/mmZo05gQdVMoGBUp6EZdiRPoQpQ6oKLghCsHUHCnC3XjgK66sQ4IFoqo4MaCQ+sAgiIqWBCs0lZtwQ5pmzyb5L1cFylYbHXlgctdnHu5B849MA2brXL9X2hos8od9Y850cZc3R0I3N8OEgapAKmcwjsgeuqGmtIFZF4stqbLcbrVxMTqd6VS8odSxUoR/1M+n+p0nL5Vvj9rIJc7fhKUOylNFBywAQtGq2x7AM+rG4faZ56XuFEs1rWIRHRV1fOr4XDzTmPajwLJPwQAiGXM9b21tfu/Q2EJbNoImEkyDN+W19Wt7Y3FVvSBJMqHwYae+cFg62rbPpTWOtOUy23dA04v3H0Feh0MPoG1n2FHk+seOeg47deBPCgBlI5GLz4MBLou+X5ik+ct+JLPr38BSz3oaIXbTxOJDgsqSzAqrruhHfLjkcjhc47TuxDEVsa0rnScD/u0HllWKv30xsbc1zD7E2Q/wuY+iGTgVgxOd0GVBIPXztv218VaD8z2vMhj9due2xsaGy+3NTWtoLPzLZ5nGBrKYtvVhcFBNzcxIQUR7fp+xCkWG1zL+lbt+8mXNrRZIqqolHR43qMfuVwmWl8/R9LpeiuTGaK/v99paFjkDA+Pkc1+p6Wle0ipYzszmeQHSI5MKjil4SS23XzCmLNnqqtHCyIhHY/HtdaaVGquHwgUpKfHd9682XYM9l6YwUYUSDgavXglkWiUVKpG4vGQxOMhqakJSjicFss60wwSKmelbOMMfy3GmAdbjbmzq6KiLy1iF0Xq3+fzW25ms8vvgSrM9Moz5SIIhIASMA7q599np2FanNXfIv4LkuH+RJk7XFQAAAAASUVORK5CYII=","id":1005,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Top Wallpapers - wallhaven.cc","createdAt":"2024-02-12 15:13:35","url":"https://wallhaven.cc/toplist?page=3","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC","id":1006,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Peder M\xf8nsted - Snekl\xe6dt landskab med pige g\xe5ende p\xe5 vej - 1923 - PICRYL - Public Domain Media Search Engine Public Domain Image","createdAt":"2023-12-16 07:00:58","url":"https://jenikirbyhistory.getarchive.net/amp/media/peder-monsted-sneklaedt-landskab-med-pige-gaende-pa-vej-1923-47ccfc","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1007,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Artistic Ocean HD Digital Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den","createdAt":"2023-12-16 07:00:58","url":"https://wallpapersden.com/artistic-ocean-hd-digital-wallpaper/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC","id":1008,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Colorful Earth HD Minimal AI Art Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den","createdAt":"2023-12-16 07:00:58","url":"https://wallpapersden.com/colorful-earth-hd-minimal-ai-art-wallpaper/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC","id":1009,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"2932x2932 Earth HD Colorful Paper AI Art Ipad Pro Retina Display Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den","createdAt":"2023-12-16 07:00:58","url":"https://wallpapersden.com/earth-hd-colorful-paper-ai-art-wallpaper/2932x2932/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC","id":1010,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Wallpaper Search: like:7p1v9y - wallhaven.cc","createdAt":"2024-02-12 15:19:29","url":"https://wallhaven.cc/search?q=like%3A7p1v9y&page=4","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC","id":1011,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"long hair, looking at viewer, Pixiv, anime, anime girls, umbrella, water, heels, flowers, leaves, flower in hair, rocks, waterfall, dress | 3186x1826 Wallpaper - wallhaven.cc","createdAt":"2023-12-16 07:00:58","url":"https://wallhaven.cc/w/yxg88x","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC","id":1012,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false}],"icon":""}]},{"title":"\u82f1\u6587\u7f51\u7ad9","createdAt":"2023-12-16 07:00:58","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"CNET: Product reviews, advice, how-tos and the latest news","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.cnet.com/","urls":{},"desc":"","rate":5,"id":1013,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"The Latest Technology Product Reviews, News, Tips, and Deals | PCMag","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.pcmag.com/","urls":{},"desc":"","rate":5,"id":1014,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Our Solar System \u2014 Google \u827a\u672f\u4e0e\u6587\u5316","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://artsandculture.google.com/project/explore-the-solar-system","urls":{},"desc":"","rate":5,"id":1015,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"NPR - Breaking News, Analysis, Music, Arts & Podcasts : NPR","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.npr.org/","urls":{},"desc":"","rate":5,"id":1016,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"The Difference between the U.K., Great Britain, England, and the British Isles","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.infoplease.com/geography/difference-between-uk-great-britain-england","urls":{},"desc":"","rate":5,"id":1017,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"four-day workday - Google Search","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.google.com/search?q=four-day+workday&newwindow=1&rlz=1C1GCEA_enCN904CN904&sxsrf=ALiCzsa9sGYC_DBLIJKEHcZwqCEtGH9tLA%3A1665217625269&ei=WTRBY8j6D-2gqtsP_qaV8Ao&ved=0ahUKEwiIi5yIm9D6AhVtkGoFHX5TBa4Q4dUDCA4&uact=5&oq=four-day+workday&gs_lcp=Cgdnd3Mtd2l6EAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyBwgAELADEEMyDQgAEOQCENYEELADGAEyDQgAEOQCENYEELADGAEyDQgAEOQCENYEELADGAEyDwguENQCEMgDELADEEMYAjIPCC4Q1AIQyAMQsAMQQxgCMg8ILhDUAhDIAxCwAxBDGAIyDwguENQCEMgDELADEEMYAkoECEEYAEoECEYYAVDoB1joB2CICmgBcAF4AIABAIgBAJIBAJgBAKABAqABAcgBD8ABAdoBBggBEAEYCdoBBggCEAEYCA&sclient=gws-wiz","urls":{},"desc":"","rate":5,"id":1018,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"five day work week history - Google Search","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.google.com/search?q=five+day+work+week+history&newwindow=1&rlz=1C1GCEA_enCN904CN904&sxsrf=ALiCzsYOO2HGUPghq_j0Pe_NLrQ1L4gnGg%3A1665217800782&ei=CDVBY5WkL-6lqtsP5fuO4AQ&oq=five-day+workday&gs_lcp=Cgdnd3Mtd2l6EAMYATIFCAAQogQyBQgAEKIEMgUIABCiBDoKCAAQRxDWBBCwAzoICAAQHhAIEAdKBAhBGABKBAhGGABQoCJYlS5gjVFoAXABeACAAcUCiAHCDpIBBTItMi40mAEAoAEByAEIwAEB&sclient=gws-wiz","urls":{},"desc":"","rate":5,"id":1019,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"inflation - Google Search","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.google.com/search?q=inflation&newwindow=1&rlz=1C1GCEA_enCN904CN904&sxsrf=ALiCzsagqBM_ytrARbeUCQW-uguNwxT3Hw%3A1665221373060&ei=_UJBY-KnA8KnqtsP2-2ymAY&ved=0ahUKEwiimqeDqdD6AhXCk2oFHdu2DGMQ4dUDCA4&uact=5&oq=inflation&gs_lcp=Cgdnd3Mtd2l6EAMyCAgAELEDEJECMgQIABBDMgQIABBDMggIABCxAxCRAjIFCAAQkQIyCAgAEIAEELEDMggIABCxAxCDATILCAAQgAQQsQMQgwEyCAgAEIAEELEDMgsIABCABBCxAxCDAToKCAAQRxDWBBCwAzoHCAAQsAMQQ0oECEEYAEoECEYYAFCACFiACGCSEmgBcAF4AIABxAKIAcQCkgEDMy0xmAEAoAECoAEByAEKwAEB&sclient=gws-wiz","urls":{},"desc":"","rate":5,"id":1020,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Bright Side \u2014 Inspiration. Creativity. Wonder.","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://brightside.me/","urls":{},"desc":"","rate":5,"id":1021,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Verywell Health - Know More. Feel Better.","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.verywellhealth.com/","urls":{},"desc":"","rate":5,"id":1022,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Lifehacker | Do everything better","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://lifehacker.com/","urls":{},"desc":"","rate":5,"id":1023,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"VICE - VICE is the definitive guide to enlightening information.","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.vice.com/en","urls":{},"desc":"","rate":5,"id":1024,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Exploring your mind - Blog about psychology and philosophy. Articles and opinions on happiness, fear and other aspects of human psychology.","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://exploringyourmind.com/","urls":{},"desc":"","rate":5,"id":1025,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Microsoft Accessibility Blog - Making technology easier to see, hear and use!","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://blogs.microsoft.com/accessibility/","urls":{},"desc":"","rate":5,"id":1026,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Fast Company | Business News, Innovation, Technology, Work Life and Design","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.fastcompany.com/","urls":{},"desc":"","rate":5,"id":1027,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ExpertPhotography \xbb Photography Tips and Tutorials","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://expertphotography.com/","urls":{},"desc":"","rate":5,"id":1028,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"News, sport and opinion from the Guardian\'s US edition | The Guardian","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.theguardian.com/us","urls":{},"desc":"","rate":5,"id":1029,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"History, Travel, Arts, Science, People, Places Smithsonian Magazine","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.smithsonianmag.com/","urls":{},"desc":"","rate":5,"id":1030,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Investopedia: Sharper insight, better investing.","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.investopedia.com/","urls":{},"desc":"","rate":5,"id":1031,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ABC News \u2013 Breaking News, Latest News, Headlines & Videos - ABC News","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://abcnews.go.com/","urls":{},"desc":"","rate":5,"id":1032,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Worldometer - real time world statistics","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.worldometers.info/","urls":{},"desc":"","rate":5,"id":1033,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Xtreme Download Manager | XDMAN | XDM Home","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://xtremedownloadmanager.com/","urls":{},"desc":"","rate":5,"id":1034,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Breaking News, Latest News and Videos | CNN","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://edition.cnn.com/","urls":{},"desc":"","rate":5,"id":1035,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u4eca\u65e5\u70ed\u699c","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u4eca\u65e5\u70ed\u699c\u5b98\u7f51","createdAt":"2023-12-16 07:00:59","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbUlEQVQ4jV2TPYidZRCFnzPzfns3NlokpYhEghAIwXWRCAFjpY2dWAkiKIh1CgvBgNhpFZuAnVYWopAishgkQpYFQQRZXEghKgqriUnMvd/7871jca+54jTTzDww55wRQLA1sHX2KL2JMQWbG2IsAcDmQ+IehYMfbolPp+U8EgSAAOKJN04x2GUwo3snMEidUBBuSIXw3+lxlRwXtf/eb6xqCdh+ZZu0sQcO4RACJcBh6stOAm1ArwcUe0Hfv/tjgAwAKx2NDY0dzSdsnGB+k5i/j40Ny8C80W8XEidI+cPg9UEQS0B0oWJYNqwEQzgqO/w1XkD5EhoPSM3x4sTdCS/n2D5yGmAJGOZgBVQ7aXLi3hdM9SK+m7X70Zsof4I3YTXQCEMT5BP/ASyWAMuBN6HxmvY+vsadB315Yv4OLcBGYSVQDWycrQFU8AJeBYvAyktx9vlj+uX6Is68eARrr2IllsvF0GiQf2Yp7QpgAeEG1nF/EnE1zj33DTE/jdJT9BrIxDAYU7tBY+9/gA5hQZjAgpROonSSPsHUAvMAE/QFxnl9+/ntWJkNQwVNK1ct6CY0QVRADXcjJpBDK6/p6y8/+5eW7rsQG4CJbuAuenuL8BnJ3qHXTnhH7qT++CqEsRaxtbgvkufAchB3drSzewHyLt4M5UC54/18PHvmaUGsk5hCWHOsCquGZzFwNEDE/G1s7HgdUHaGOmOYPoitrQfWSay9EfxBcBP6nzDdote/BaEr+ztEvYSXu6geMi0OsXqKY+3l9TM9xozjxx9mliEDsxkc3vhV11kAxDNssvnoI8gbACU5oayv9n/6B0NOO7mYhb9bAAAAAElFTkSuQmCC","url":"https://tophub.today/","urls":{},"desc":"","rate":5,"id":1036,"breadcrumb":["My","\u4eca\u65e5\u70ed\u699c","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4eca\u65e5\u70ed\u699c | \u4e00\u4e3a\u5bfc\u822a","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACB0lEQVQ4jcWTzUtUYRSHn/d974yj11tZmaDVNI5E31BIRVG0SXIl1ExqKkT/QMtW0VR/QFAkLYOKahYJ9gFBheSi1tEq7EMlxbIPbe44ztz7nhYOkUO1EnrgHDjnd87iwO/A/0b9oRYWkqoQpHJm6cimMQ3gAlcVPAY86WzeON+bHCj1Jgeke8MmwC1r11aDlwVTeUIT8FZBledwbuZEsg30fpSAZcjcGBm2cBYIgRbgA4AW0DOd8Xbpayg5mn6BfP+e+gSovV8KAaB4Ojk3ZuGUATRclnSL/z2VaBNQTv7Yul210egjiNwK7NTppOvYnublHUUrxnXUG6x9efz5xCqgKYRJ4HwYlSueMn359PpWR0eoLoS2qBU9flf8dsxx8mhawoDc6Oz8yc0PPtYqeAjgai7luhOHcyJ9WlRJG6lRnw7V19Y0ekMxo3b6AcVAbGRl1OjX3+az2++PN2poFagWePG1KzFebXRKKyiF8mrOnz2o1wx9zlkrFxRoEXFiWhtExjqeTYiCA0oRE8hldtSN1EVNKh8IjlJabHixfnD6hxZQy+68H/RLct2NaCeqVFAIw8w7P3QVIIIChs9sW/GkaLFeldZ+EN707o7eW2S2LJhCT7x9KhXfV25tAY6WYyvAdHrt7kLvhiNS9sC/qLT433qLkcyCL35bMOVQLDyAlswvfWn4CbV0xUZt23hWAAAAAElFTkSuQmCC","url":"https://nav.iowen.cn/hotnews/","urls":{},"desc":"","rate":5,"id":1037,"breadcrumb":["My","\u4eca\u65e5\u70ed\u699c","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4eca\u65e5\u70ed\u699c - \u5168\u7ad9\u70ed\u699c","createdAt":"2024-04-14 07:23:31","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACjElEQVQ4jT2TTWhUVxiGn/fcOzMZJ+roJIZgjEYQgijiStCCKxcuhFq6sC1Z6UqwUAoFQVEX4sYf0J3oQgQVreJCFBeCgeKipStrwW7aVBSCRo2azMy9c8/r4sYsDpzFOe93nu/5jgBaE96mwFEimwQ1CQSJjSj3MRoDtumR8rzIOPvumu6rtc/bQo17iAEXICBGiIZKAt0eANRSFpJACSC6MeP7oIqPIwackwliryA2arjVjztdPNrCw008nxGznBgC0QUZkRqJT6bARhfEJCHtZGjNIP71F9Rfh79f4K1j0OyHB38SfrqEZz5BNaXiSJS1IZXpA4LBSYDZOTTYxFkOZ+6i/6bhu51wbJ/5MC8duID7KlAYSRCinSJAuDBeUkVL62jyL/TwD5h+D6fvwLP/xa6teOVSyHtIAEZBZY8IoCxHo4O4ksC/09BowJIaJKFcn9rlGQVsEELBlBECigLWDSEbfn8Oc+9g5iPs3wXjI3BtEmbbuBIQlFpTBWMLQqlufDVIcGgPfPsVrF0F28fh+iScvwfL6qjwYk2CTJTAhiAYG4Ish1tPSozVLZidg8NXoZNBmmKXAZZwMIoAhXG9CqOr8MsZuPIIjlyEny+XGg/uhnYXBxafry9FrYUJq9fwcBO9/lCqGh6Bx0/h6RQc2oO3rEcf2zh86YEhGPdsLFDeQ7PzeHgFqlWgKHA7gxM3cDVFpyZwCOBYXrawBn7If1Oa7lDhXtZTMjYEyxvwbGrxI9HJYfPakv2fVwCOBAVi8VLNb97sTfubN0WSYmI3Q0WEehUFlb4l3O6W4H1VLBEIEDszPwqg+fXURNoYPIrq65OST9GIBTQLBxamNQK0X8X227Nvb4+c+wyjGzAI92qC4wAAAABJRU5ErkJggg==","url":"https://rebang.today/","urls":{},"desc":"","rate":5,"id":1038,"breadcrumb":["My","\u4eca\u65e5\u70ed\u699c","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5373\u65f6\u70ed\u699c-\u4eca\u65e5\u70ed\u70b9,\u70ed\u641c,\u6392\u884c\u699c\u805a\u5408\u7f51\u7ad9","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFklEQVQ4jV2TX4iUZRTGn3Peb+b7vplvdmZcc9Zdt7YWI8ElI6IiEOuiCKxASiHsYm/WQLyJsCLQyboT6c+dBla49AepzbsIZa3AIoxAEOwiWdpNK52Z3fl2vr/v+54upq3J5+pw4BwOz/k9hAEJwACEABnsL31UGQ4cvGR1flxb58FaVR2KE9xhRe+nwWECLAC0mus2OQpbyc8vRmUZqa/jz2IrH8DIol9Sn8ICYWJ3rd8bzjlrCwiw7Zn6lFsuvCm5PKHZzMIU766IPagyGRPRE+zwy8UCobNiP16/N5yTJpgFYAE4fG7jTMV6l3zLz+gINxHzlGvoXV/zWLeDvKLUfrFoRJGFgp4VAQGAQ4BtPYkhR2hrmtpjPWtPbSjfuNKx8PK4tk1DHQ0CfiDs2LQQoJiL/VN09D0RBIDw8lS1XozGT6uQt5suP+LFzodhb+RnP2p8bbqFkRtZa3vSk+9cza4vTKzpq/o0lpt9w0Er948fcVx+0ZbNJ+Jan0pi4UqGkmwIqrSnq/MXnOH4nCX/qgpsQTv6oHHJgrMv69PJgkOJ2mNz+1blwtJ7uEXdfY2rcNUb5dej2eWmd8ZJ+Vlj1GvKMa9UKsmiCIiRcENF5sf5HXD6zwCkX0NnuICUqgKQyulbr6AUJ+qHoZnwJO2GIYIwUjhJyKuPnofubKtV5yfgXQ9Hi50dtVoh5lc5pssEiOmRxipAPXtcAJJm3wOHQGGR1ZgAl0M7dPThRu3p1DUrjhuMUyZRZtLHAQAZT6620G1VO2eHAEGzTytDcIVI7SRA0lQOm0T+Kmm1WTIcitvxvbXTN38CAEr5KRNj9s4mkn+QBwCwiH3bEE2366O33/bL4rWsm+00ifxOq2rL8Pn2EgC0dzWe55i2eBkd+4/8fwkGwrG7Pi8S39fW+rGNfywsdO4ZmfAD91fNeCcP7JlSIN8kyh6pzl07LAANho0EoOuAX980+QWDHsogp5SS+cTPXa+sTvpl8aKiOVE+u7RvMHD/u2BNyejkASE64Dm0OYJ+P6/oc55HVe/ibyduZWRNfwMy7XT2KrymjwAAAABJRU5ErkJggg==","url":"http://www.jsrank.cn/index.html","urls":{},"desc":"","rate":5,"id":1039,"breadcrumb":["My","\u4eca\u65e5\u70ed\u699c","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u6559\u7a0b","createdAt":"2024-04-14 07:46:39","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean","createdAt":"2024-02-09 10:49:47","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==","url":"https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7#how-to-find-your-server-s-public-ip-address","urls":{},"desc":"","rate":5,"id":1040,"breadcrumb":["My","\u6559\u7a0b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"KeePass\u5b9e\u73b0Chrome\u6d4f\u89c8\u5668\u81ea\u52a8\u586b\u5145\u5bc6\u7801\u65b9\u6cd5\u4e00 \u2013 \u5976\u7238\u5efa\u7ad9\u7b14\u8bb0","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC90lEQVQ4jYWTW0jTcRTHv+f3W3O3TJeztS2XeRldsKxWVlIWSyga6UN0I6SHlKLsIQiKbhBUTwZ2gQp8KAoaFEVQdNGU0OxCBl2R8pJOzemUWM79/f93eijJosv36Rz48jnne+BI/FtLAUwF0AGA/+MFABAAmACHxTKhesP6kuHTp87H/P6iWgCusZ5RyT8BklKdlVkZacXJ1hQkjk+ijIzMaR0dnZP6+nqv/w4QY5sfO+qyHIaFpevztGyXSl0tDynUUa8tnpvmBTCO+dckvwDoO4PCA1+0oJYl2joV6o0kkD1jmaive6wBICLivwL4yBEBAL48j2nBlAiVFOXGy9bOYY/jK61avcQ81vMniQAHJHNAzsu276it2hPj0G3m8D1+dO244s31lAcCLJlZjh08ehDinxEAADk5rvZVhXlpZDDj7oNnwabGt67fBhIA1o0WBKzxbd61ZXKqRa0/VWFYEbWmZNUMMvMAfCNm61eL7bp1bUl09oSo7tzZM1cA3Py5gCnF799bNXQvNMI7y3bwYaOTL033MReUMReU8qUZK7nCPZ8Li3fzg89xrqy6PAypLwYzEcy2Ofmb9tbNnTExcbihWll3v0mkTJ+Nt/1tMsKAFhcwqAq8zkwt1v8ZhzJnavsuVibUXT4fPVBeViATHdnzpDNnS2rnS3ZevaEr9PqEXYuJowluurOoiPoWeikci9Ky1nZKdrpF7E2jrHjaFTfbzOMiXS13xVDw9UieVsMeF1FjjoObW5q4fFDFi80nOX1qOsPo4ORjF/iERcP796+4xiW4MD1I8dbq+KfWT4pQVZUOblxA27Yup+RZboR72vF80iLkuk2EuIL+iAqDFCTz/eju7USSOxG7S5fT/u1raCg2RDoAou5lm/SwmUyS0K2TlKoOItj8CtrzWzSixvFkmgvjP3bTgBRkkJLfNQeptWeApIQgAHa9XuY77VaSej16PgTZaLRSSAOghL9/nNEGmxZBRInCnm5jTQEFQ2FWFK3hG0BvPQUTgoe9AAAAAElFTkSuQmCC","url":"https://blog.naibabiji.com/skill/keepass-chrome-mi-ma-tian-chong-1.html","urls":{},"desc":"","rate":5,"id":1041,"breadcrumb":["My","\u6559\u7a0b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u5c0f\u7ad9","createdAt":"2024-04-14 07:28:06","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u54c1\u73a9-\u6709\u54c1\u597d\u73a9\u7684\u79d1\u6280\uff0c\u4e00\u5207\u4e0e\u4f60\u6709\u5173","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACH0lEQVQ4ja2TS0iVYRCGn/m+7/9/PZLZKtCjGCJUWxcuXQslURS0l6BNdIfWQVCLLruWEUgXKwlamLSOqE0U7SK1tBKEQD36X2daeE4GCS3qXQ4z77zzzgz8I8RAOIoDkEkqgF+xSYwhPD31fUSAilKFgmT2Yytf/tbBRnvqdCQfwNoJElHoSXk8d3tLwaHeAaJoGK0yVtNpmVlq2JHuvfj2YbRYIMs+kdTeErlOSp2G2cP4/jFKScgbzx2xGyFxE7hwjzjq3uSNDtIR7uDDNaoQAQGzBhvFONZ/hVpyH+eOk8pawGyFXBUlI7LmSLJKoRVKQTAhuBqlniKWAaJwmrViifV8XGaWGgF8jiGIBQjeQEAqwAGO4Hej+oKV9Qd0dbzEAWl5UZ4tLBo4R2n5plsIVRUJGEaKmWAkoDmN8gw7apdp8wNk5aRMfb5r4ATUgeVgihDwltpYbzeifVRmCLvkyeIrEjdI4k+wUX6jyM+1FgTgkCIDUaDEqBHHN/DSiQFKbgfqgwR/C4BSL8jTr1+a3ZsEtDU9YJ0QX8IxisoqgiLmaA83SXwvefVQpuYnWtJbdxDQrEDiHNiJk2NgyzhroFRAH87tIau+kxZnf5fegsOqLRODA9XrqL7DEaNiiEBRnW+5Ln8QOF8i5ERilPqGR3NXwXvMlAhHqRPbSd8a4f3iPPvrI1gck6dzAmrlj9dI1xAAy43Nx9mm+L/gJzhY/QXbkyLLAAAAAElFTkSuQmCC","url":"https://www.pingwest.com/","urls":{},"desc":"","rate":5,"id":1042,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4ec0\u4e48\u503c\u5f97\u4e70 | \u79d1\u5b66\u6d88\u8d39 \u8ba4\u771f\u751f\u6d3b","createdAt":"2024-03-09 12:41:02","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADJUlEQVQ4jVWTQWhcVRSG/3Pufe8lk3SSTtUmmVQXaZXYgGOibaKILSoKCioaXCi0AXddNwXpRugmdeW2XWRcKYpCN0IRKrRU22BD0kaDbYaCpkksWDKTzMx77957jhsj9Vt//7/7CP+iABGg6eTE/kj0OAkOifcVFYUyL6jQXOp9tefi/MqOCwCEhwjvj0+T6CmytoTcw0cdUDaImtsACM6FB14wU/jhl7M7G1aAASC8N17lJJmRpFByqXNZKw06Mqr23LeaFveE1mbDBXCpk2imcaRSVYAUYPMpoG7yxZNGw8mw94mcP5slub1s5dY8AYB59yNQTy/ZDz82YiNpz/3sdnV1j9X7H212/rlx1abvjA2x6mlpZ6JdRYPdexhxonzsBPHYBNQ7SO4hF75Wd/UKa0fBNNNcoHp6c2zkO45MNMXGFH2rLRgaZl35Xf2NayQb63DfXwBEIPc3wAcrxP2Dqu2UnUC6gKIYTLF4PQwXVMkQTbxM4dYNkrVVyN0a7Gtvwl+7Ako6Eb89CRoeodBOSUHkgqoKDrOCKr7eAB0cJX66AjowDO19BLrdBD81At3agvvpMvxvS0CcAF4UQSn1AhE8Y0MI4CiB+WAK7vznal56haKpE9BWC+HXRVBPL9BdRFj9Azz0JIQMGAxSQIOA0U4X4r4y3KWL6r6qkipBm02Y58ahWQZ6rA8odIMHBmHKgwjbTfJra2pzB1IsWtjkOv5af9XfvqNIOpXyDFKvE2cZZP0eqLcE2tsPvzAP6i7qrulPQANlpfPnqLVSu87k0tlWHhq2UGDNnYgIcW9JKY4BMLRRhykPwgwdUC6XyY49LyZOuBnFjbx2d9Z2XFqqNY6OnilE5mzebOUIntA3wEgzjd94C+7yj3BLS8gXFylsbIg0tsLuNIsz4MzjQI0UYAKkfuTZanG7dax99HXowD6XffMlq43Z31sFBIKOTiEyUY+1+Fvpi/6bN6dARP+LafOFyjRn2amEbSn3AZko1FjECpigSIM8cKIz/cvL/8X08AEB0PsTo/uty4+r0iEJWtEgUNUFUsxlaV7dV6ut7LgA8A9TRbIkiB/PvgAAAABJRU5ErkJggg==","url":"https://www.smzdm.com/","urls":{},"desc":"","rate":5,"id":1043,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7ad9\u957f\u4e4b\u5bb6 - \u7ad9\u957f\u8d44\u8baf-\u6211\u4eec\u81f4\u529b\u4e8e\u4e3a\u4e2d\u6587\u7f51\u7ad9\u63d0\u4f9b\u52a8\u529b\uff01","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAi0lEQVQ4jZXS0Q0CIQwG4La4kMkZF3AinOPWcAncABpHcQGRe4Bw2ANT/jfg+9M0AY11MBVjXWoSQogeo0dxn2Oso7bMzOd0qcfT/XkcQCM9Ck3pUtDrUhD6hf7omDmvROKBlm9XXx/vnx2UuhSy0+h9QlcDgNCdHf7ks94mCllrC1WrCq0GAJz93htemlx/Nw7NbAAAAABJRU5ErkJggg==","url":"https://www.chinaz.com/","urls":{},"desc":"","rate":5,"id":1044,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Solo \u72ec\u7acb\u5f00\u53d1\u8005\u793e\u533a-\u94fe\u63a5\u6bcf\u4e00\u4f4d\u72ec\u7acb\u5f00\u53d1\u8005, \u4ece Solo \u5f00\u59cb","createdAt":"2024-02-07 13:25:40","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jX2Tu28kRRDGq3umH9UeM3cnj/Yxa1vy7uoYm7VkLGxE4ARhJExAQESGkLzmTyBAhM7uREaASHBCbBwQIAiIzAoHIGxHzjZAwlzifdxMz0fg2ZM5cVdSd9L9VdXX/StB/w1BRACgdnZ2esPh8DUiklmWXR4fH/8qhCjoZQFArK2tvdtsNr+P4/ivKIrKKIoQx/GThYWFn9bX1z8EEPyfVgBQ3W73sXMOSikYY6C1hrXWG2NgjMHc3Bwajca3+/v77nlxmGXZ4+piWavVTlqt1mGtVvvZWgtmLpxzubU211ojTdPvAKjKMtH29vY7zjlYayerq6t9AAEAASBst9ufMzOY2TOzt9Y+ZWZsbW19MvOtW63WiZSyXFpa+qHKTEQUVOdcr9cHWutZJ4VSytfr9d8uLi7mZf/j/sPJZLIppSRr7R9EVFRiT0SSiPIwDM8BkBCiBCCllGI8HvcODg7elpdXl6/mef6AiOjm5uYtItKVOCCikojMaDR6Q0oJALeblGWe5+Hp6WldFkUhAQRBEOD6+vrNdrv9xWAwcADE4eHh/cXFxUej0eihlLIkIimEmFmH957Cbrd7eX5+/s90On0AwA+Hw892d3ffV0r9OZ1OXx+Px10hRFnZEUII8t4LY0y5srLyNwEwaZr+qJTyzrmcmf2MAWMMmNk758DMsNaWdx7x97Ozs3tSCDFtNBpfaq2l9x5EREEQlGEYFkEQlOK2Z9BteQDwYRjKZrP51cbGxpNnIHU6na+ttaj+uXDOlXcXMxfM/FQphTRNTwDoZyBVSczy8vI3zDxD+C48pdYazjkkSXK8t7d3/0XDFPR6vY+SJPkliqKJcw7OOczPz+dJkgw6nc6nd0B7cVxdXdksy96L47gfx3F/c3Pzg6Ojo1eeG3siIvoXsuwwBwy7yPsAAAAASUVORK5CYII=","url":"https://solo.xin/","urls":{},"desc":"","rate":5,"id":1045,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"(\u3064\u30a7\u2282)\u54a6\uff0c\u53c8\u56de\u6765\u4e86!","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAADG0lEQVQ4jQEQA+/8Aff79/v9+5LhlzXkE0QjTPYZDAwEC8Xtxez97E8XT/j9+AMEBgH8/v/+/gQEBV/GXwMYWxju++1AET0EGxgaFyKk5qrV9NU3DzT15PYKFQuR1I4w/iIKDhL/BAMA/v4wETAB6/nts+KxFAgUEQIOOxg98tLTle2nBeAW4brb9kgASRkrVMkP+n1bAcjUBTMqAQYEAgDy9wQHBDQPNDEYOP0CAg/r+gWp+t3T30VWQxTWD9i24fs5JAL+/ffW2vD27P8AAAIwPlPxue/eDePBv58C5O3ZLRiow8MX+Q/Z09kS/w2vt77UHA0FBAXuYj2t7rby+vEDJ1ijzL7FAN/fO/QWGCIin6ypojSgwTzDvJjEvWK76C/nJMwe9Sr2CfUDRxxGk9iTAvbduQ0zWKC/BGa/xucN+z44OxH9EwjlBFYiGAniBAvwDC80MicLJuD54Pn8+XUsdQJ0VCPx1q8yRFf2C0BbY38NDQg8vkecjEmg7giPlT44r0I3NzYfCSDs/O78APyl3KUCHBge9ubm3MjLHycu1/IXq6uoFyUS+kIg5RINB0IqCx0GAv3+APr8QQo7qt+pJxAnBAAdAAUWB///Afz9+wwNDeHi1/Hy9/5NS7DfChIfJfy3tcGGkz4sMR0IBEhAQBoUIwT7F/r8BAAHAgz4+ff97NXr/e3+AQLY0dI6Pj/b19fz6OulANTZFgoTEBFgGEr8/fwDl4SYtuGR9e0J7dnKPBzxWFpbIyIi1NfX6Oblzc/PPDs7Tk5NzdHUrrOw9/j2OTg5AZfamBwMG8GEwgL8/y86Lf73/gEDAfwD/bCxsSwrKiQjJP79/sjNzx8aGcvNzCotLAH////w6fGFqIPhFt94JHq+6rwTBhQ6FjsBAv/9/v77+vv+Av7i5uYQGRYXCw65u7oBseGxEQkR2fbZCgILWh1Z0vPSEwcT7Pns9vz3/f78AgICOhE6AAAA/J6z/1hBBQoMAd3y3QL/AgD+ACAQIPr6+gYEBgD/AOP24/8A//7//gEAARsKGwD9/9fJubQPzl4ZY46he1piIDWyAAAAAElFTkSuQmCC","url":"https://blog.laoda.de/","urls":{},"desc":"","rate":5,"id":1046,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5c0f\u4f17\u6280\u672f\u5de5\u5177\u5e93 | \u4e13\u6ce8\u5206\u4eab\u5b9e\u7528\u8f6f\u4ef6\u548c\u7cbe\u54c1\u7f51\u7ad9","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC9ElEQVQ4jV2TTWhcZRSGn3N/MjMx5mdi0kZKI80P6kKJWmKs8S9CxYpCXYoiSC0tIroq2IUjbgrFQne6EYRQDKW40I3SdqF0EUMSTUI7JlibNNE0TTrp5M7kdu7c+7qZkdqzejk8H9853/u9Rq0kOWaW1PRQAq8qYbc5GAmricN53+yne1nv7obCsI9U6tSVudmR6clfM38vL5EoovuhXgaefPpDSRPAcTP7uX7GJJmZSdIwcO7336Y7Tp/4TMFWMQ6CEjfXVrlzJ+T++zLOW+8dcY5+dKwKfGBmX+VyOcczM4Vh2AN8t7yy0n527EyltaPL797zsLsdlllY+JOdO3fQ1trExtrNaGF+3u3r7/8yiqJrvu//6AB4nncCaD/zzdeVsdFR/+rCHwS3b9HS3GQH33zDBocGmZmaYvGvBe/7c9/GShI8zzslqQlJj8dxXJYUn/7iZPz6/heTMNhMdE8dOfROPPjIruSlvY8m+cuzVUmqVCpve8CImWUAPTP8PMFWgYnxcbr39Kq9s9NmpiZpaEhr37Mv2KWLF4i3ypRL2wIEHHCAXjMTYNn2rKWbs7o0Pmmzc3OWSqVZvL7C6NiYOQ1pSze16OjHxxh4aq8L4Pt+j1O3EpDrehrZN2QWljSfv4zrekhVos11+nd1KZfL2buHDlO7HcA1SceBz4G4miRuYfGq2uJtJ8p2aNs8yziQKQcEQYmwJZs0tz1gvuclZuYAPzjAL0AMOJ7jWOOOB2018bR+u2RBsST8Ri1vhaw7KbV3dlmD71NfGbhgklzgIvCcpKqZubc2NylsbFAOAltbXSGOKhp++RUy6TSSEjMz4AYw4JhZDHwCVGtjVbOtreb7PvMzE+rb3aXHBp5gq1gEsBrvAJ+a2Q0kObU8vF/3fDsMo3z+SlQJi7FUjReXlqr5fD4qFAp15GQ9Q9wtJO1PkmS6TgVBoI319f8+U6VSuSbpcI01ag/xvzhLagQOAq8BPTWbrwPngbNm9k89gAD/Ah/Lu7htjeb6AAAAAElFTkSuQmCC","url":"https://www.xiaozhongjishu.com/","urls":{},"desc":"","rate":5,"id":1047,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5f02\u6b21\u5143\u8f6f\u4ef6\u4e16\u754c - \u8f6f\u4ef6\u6539\u53d8\u751f\u6d3b\uff01","createdAt":"2023-12-23 14:03:21","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACWklEQVQ4jY2TX0hTcRTHP/dud07dJprTtkqLelCuhZAVQY2hJGosjKZUD9GDUQRFBr71JL0UUWC+aS8lPWhiKBGJlfhoCCZeMoSk4d9N03nT/bn708NczlLw+/SD8/2e8z3n/I7AP5j0ac7u8cD9YU/YMaNGswDsZp3/ZIFhqLYk/WmxVRpM5QvJhxqP57UMqu3dYwFX/N+sKeRa2djXWGFpMAuC928CNR7Pa+xe/jQyo8k7aLeg1C4pLe7scrMgeEWA54Nq627FAKOzmvzs42o7gDjp05xvxgJ1ACZ9lJtlemyZ0f9E+RmJmEVKxHqUoGvCq1Xp7DVNj5WFiAzgliXuOvZwviidEc8a3vXEiIpyYrS5c3EcNrGyrvF1IQZALB7PEoc94cpkFUkUWF7TUOYCtNXnUXEQDlkivKi38mMpzOLvMDph09WXaa1SnN1YVRKRWJw7vX7eKSqPXFbOFEo8eL/I7Z4VwpGt+5lXo2ni9mMS6P++TuvQEvecuZwuTGOn1eptZp3/58qmC70o8KTGzNkjJi6/nGN61cfD6lzyTTqkVP9AvkkMiacKDEOp9rMzJcoKMrjV5WVKlRiYghtdXo7a07GaDcRSrJw4YOgXvvk059XXvz4DWKQo148beasE8ai6LdX2ZUa5VGLk1WiQ5VAi1nElp1oAaB7w9/YoQdcObW4LV7HxQ3NlVpUI0FhhaSi1S8puxcdsktJ0znINQAQwC4K3xZ1dflE29u2mcmtd4g5IvcYkJuaDFzrHQw3D05pjYeOP7DXrQmX7pX63bOyQbWmdqfw/Cxne8dCeVlcAAAAASUVORK5CYII=","url":"https://www.iplaysoft.com/","urls":{},"desc":"","rate":5,"id":1048,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"tools","createdAt":"2024-04-14 07:28:38","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"Emoji\u5927\u5168 | Emoji\u8868\u60c5\u7b26\u53f7\u8bcd\u5178 \u{1f4d3} | EmojiAll\u4e2d\u6587\u5b98\u65b9\u7f51\u7ad9","createdAt":"2024-03-29 13:51:13","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADTElEQVQ4jWVTXWyTZRR+ztuvX9v9hM3BsjV6oSYaftZmSDe7tVOUAMafrqWLcfFvKu00jHhBCCYG6xX+hBDCDeNCE0KQGy+EBJkOaV032FAcTbfgqmxituzHDRi6td/3fu/xYjT+8CTn5jnnec7FeQ7hf3h6+0v+m/OLHVJaQd2h3y+IkF8uTGl220DlfZWfne850Xd3lAAwFYWxWMyeGf3jACvu8njW6g0+L9y1awAQpmfmcPlyBsNXR00hxNENazfsO3YssVTUirZEQn+8KXzm+dYYn/06aTGz5HthfdubVuG2d9gfiCRjsUQJAAEAaGwOf/pcaCfncuMFZmYpJVuWpYolTVNZpsHMzOO/ThTC0bc58ERbNwDgqW0vb/T5XzDP9aTu2aqUYlaKFTMrZjbu8qnUJdMf2GG1Rjuf1G4t3IzX19dpW7cGlVKKT35xGlJKevWVCAgEFgSMZUCzk9CImCuqEGxpsHm965DJjOzSTCmDjT4vE0gs5/M4fuJL5PMFRHc8g9LSEjAzqOcUOHkaCkSWxw99vY8bfB6MjFzboum6XlNbW00A2OVy4sjhBElpobS0ZOVWRKD23eBQB2xOHTbHCu+urSYQlWv/zoBSCo8+8vB/csHMUFU1QFUNsmMT+HNxmv2b1qz0FEMzDGNmemauAgAx/yO0LAtCiBUDaUGzazj40RFUrCon/6Y6npyaYd2hmULT7OmhoQwBsIQgnpub56WlZdhsNhARhBDQ7Bqy2Z+RHc1xNPosA6DBwWEucTkvitUVld3DV7Oy93w/hBC0d98Beu2NPdw/8ANu317EwsItfHWmFzs73+OWgI8CzT7qSw/Jsdy4qK+v6yYAaAxGDlVXrX738KH3DSKyf/zJUfppeIRdLgeUYhQKBiLh7di7J043bkwau3Z/qJeVu86d/KCrFQDE64mEs6kl+k0o0snJ7wctZubZ2Xl1IXmRk6lLfOfOX4qZ+bsLAzIUiXMoEvvlypVr7uJHAQASic+dqXTvwXx+Oe71rLM1Nz2Ghx58gEGE69d/Q1//j5TLjcPtru55q+PFzs2b/RMAqGhAABgA2tu7tvw+NfsmmLdZyloFAC6XwygrK0tv9K4/vn+/8xRR3Cxq/gZYvbxpRSw4agAAAABJRU5ErkJggg==","url":"https://www.emojiall.com/zh-hans","urls":{},"desc":"","rate":5,"id":1049,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Apple logo Icons & Symbols","createdAt":"2024-04-19 14:42:02","icon":null,"url":"https://www.flaticon.com/free-icons/apple-logo/3","urls":{},"desc":"","rate":5,"id":1050,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"MSDN, \u6211\u544a\u8bc9\u4f60 - \u505a\u4e00\u4e2a\u5b89\u9759\u7684\u5de5\u5177\u7ad9","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACD0lEQVQ4jY2STUhUYRSGn/N502szxCDmTGR1hVqUCS0EI4sSiqQSC5IWBeNCKNrkIsilkAVBRZugQEKjMsTAIELDGhdBP7QYAqPAdAJHBEknm2a07tyvRXOdm8xE7+bj/LzPOXA+IauFY1YYpAMwEYnG1y21bb0Z/wpw+XFReMnMnEfwO5pxneFM1yE+AxgA35qtOo10i4iR5VkbposNoOn23dK66dJ0t9urBEsb9AB7ABSAUqrVYwbAETkyca4iOBVKt7pmVwK7L40QzAFE224xZay6oR09gtaxH/gIpI0ZDe8yijYg6YHY2Rei4YbqqoXYaxHxa/T4WEVo365br+Juc38/RZNruJpStP/ZjicXD9C0vMGO3sjYcKi+FhgUzVQwmT7e39JS5AK+l7A5KVQ6MOoTumrmOerZJKeG60PVMd/6xsnTNdfcnH5GH0LIjWMOPVUH6XVjA2DtnfETs8Xl7RHRO9HEgGXAl19lA0FjrtZUdAD4FaPeoQpgtqTcQrRJHlmH5x6RYciNVzYpAE4GrijHHswHADA8R1ydFwA4yqCQFj1z7b+/RA7wLyXsQEHLfwG8U50VtXyASp7qEm/iRaY+UQieA2h5CYBgMJ/oCNyf2LTtwdvqjX3vL0ScvYtAFMDk5/78gFOB50A7WmaAzgRlHz84WzobzNGBe81nP71JbW9E8xCw9TBh1/YbqbqoHhHn6oAAAAAASUVORK5CYII=","url":"https://msdn.itellyou.cn/","urls":{},"desc":"","rate":5,"id":1051,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Greasy Fork - \u5b89\u5168\u3001\u5b9e\u7528\u7684\u7528\u6237\u811a\u672c\u5927\u5168","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWklEQVQ4jZWTP8rCQBDF3+KiKQxJMChoIbKVdxA8VMADeIUUdpbewBt4AFshoPinUBHRSAqLfV+Tb1HyRx2YZtn97Zs3M0A2FIAJgBWAZ5qr9Ezl3H+L6WAwoGVZBFCU09yXQoglAPb7fe52O0opyyDLzM8AGEURa7UalVLfQIwSNRwO2e122Wq1uF6vDWS73X6CKACYeJ7H0+nEdrvNZrPJzWbDSqXC8XjMw+HAarVaBJggdZi2bRtIo9Hgfr/nf8zn8yLASgLoAUAcx1BKIYoihGGITqdjDDqfz0Vd6yHts6Hats3b7UattVFwPB5Zr9fzFDxNCa/pOA4XiwVnsxkvlwu11rxer/Q8L1MCUiMKnXZdl4/Hg1pr3u93uq5LIcSbiaoMAIC+7zNJEgN5KceM9rQMIISg7/uM45gkGQRB7kgvPylxHIej0YhSyswof6WkdJle4qd1/gO5YCO0UWoSswAAAABJRU5ErkJggg==","url":"https://greasyfork.org/zh-CN","urls":{},"desc":"","rate":5,"id":1052,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"PowerPoint Templates and Themes | PPT Slide Templates | PowerPoint Slide Designs | Presentation Backgrounds | PPT Icon","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACCklEQVQ4jXWSS2tTURSF1zrnnptnE7WxTWpbK1KxtQWp4EiqFFHpyJEgOBD/iE5E/AWO+w/MUEciWgdiBUsxtqaooU9jtSTNTe4992wHfUDFrtne7LX24Ft0ZRwhQgTHJ9D6gdQpBquSHkBQ0w/vHn2tDa9+pIQceQytOfqUdptHfwAFyI9JsIJEkeGaJEpor9GV4YQiB8kAQQoBJ4QVKMBBFCmiNDwAOiEwgNtPFqADADopUIAABCiwkA48CL5UM5++d0nMhJGEiXqOReNDTVLml7o2tkzHmjAitIwPNs6fbnFjxr/95PKDyW9TF+uEimJ5NV8oz5WccHps7cbET99Q4N5Wup+9ODNz/73XUwjvXalNX6v39bRdmyopXvev2opnrbo1tTXcH7iAypdssV5b8bxGRyGJwWKrUk3DhwPgofI5fX1o8+bZ9cpiChoOgI/Fr+lSIsimoB/dQSEXld/0si1B6M1+yNeWzaW+rXwqmqvmV+spCpeW0y/fnZgc2DQ6pnsOGmw39OzrzJ+GyiXj0d6GAyBQ5MJ6Zsd6hu7cyVYuaUMLujJEQI8U+b2A5g46AuxjSRkQANC2iB1IKAAkxIoT5oYJn86S3DO0QjRDNkM6we5S7QEm6ET76L+AbBZxtMscJBRFUQ76og71LRYaKY0im6PYPc8/UocmQmLQoDiCdIbi/mP4Cxdq555GkbmfAAAAAElFTkSuQmCC","url":"https://www.slidegeeks.com/","urls":{},"desc":"","rate":5,"id":1053,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Download subtitles from Youtube, Viki, Viu, Vlive and more! - DownSub","createdAt":"2024-04-15 13:08:31","icon":null,"url":"https://downsub.com/","urls":{},"desc":"","rate":5,"id":1054,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ProcessOn - \u6211\u7684\u6587\u4ef6","createdAt":"2024-06-10 02:48:53","icon":null,"url":"https://www.processon.com/diagrams","urls":{},"desc":"","rate":5,"id":1055,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Hoarder","createdAt":"2024-06-29 08:47:08","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC","url":"http://60.205.125.139:3000/dashboard/bookmarks","urls":{},"desc":"","rate":5,"id":1056,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]},{"title":"\u4e34\u65f6\u90ae\u7bb1","createdAt":"2023-12-16 07:00:58","nav":[{"name":"\u2709 Guerrilla Mail - Disposable Temporary E-Mail Address","createdAt":"2023-12-16 07:00:58","url":"https://www.guerrillamail.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1057,"breadcrumb":["My","tools","\u4e34\u65f6\u90ae\u7bb1"],"ownVisible":false},{"name":"\u4e34\u65f6\u90ae\u7bb1\u3001\u5341\u5206\u949f\u90ae\u7bb1\uff0810\u5206\u949f)\u3001\u4e34\u65f6\u90ae\u3001\u4e34\u65f6Email\u3001\u5feb\u901f\u6ce8\u518cEmail\u300124Mail--\u67e5\u9519\u7f51","createdAt":"2023-12-16 07:00:58","url":"http://24mail.chacuo.net/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1058,"breadcrumb":["My","tools","\u4e34\u65f6\u90ae\u7bb1"],"ownVisible":false},{"name":"Attention Required! | Cloudflare","createdAt":"2023-12-16 07:00:58","url":"https://temp-mail.org/zh/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1059,"breadcrumb":["My","tools","\u4e34\u65f6\u90ae\u7bb1"],"ownVisible":false},{"name":"Moakt Email || \u4e34\u65f6\u90ae\u7bb1\u4e13\u4e1a\u670d\u52a1","createdAt":"2023-12-16 07:00:58","url":"http://www.moakt.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1060,"breadcrumb":["My","tools","\u4e34\u65f6\u90ae\u7bb1"],"ownVisible":false},{"name":"Mail1.io - Temporary Email Provider","createdAt":"2024-01-20 11:00:41","url":"https://multiscanner.org/?aid=aJn3rb6eGx","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABfklEQVQ4jZVSu04CQQCcfeADCgN3cjEUSrTBX7AzlkYt+AB74yNEjR+g8SyMBUH9CWy1g6jRH4DC3F1DAGOhwQQhwt6uxXFITjRxmt2d3dnMzC7RdAP/AfcGKaWUklJKKe3vSUD5cwLQvkApNT+fSiaTlUqlVCoDIIQASAlhSFcBBHimzOIcADTdiMYmc7lzpVS1Wt3Y2JyMT8W0uKbFz0ZGbeAJcIDTsXFNNzTd6FmilAFIJBKmeTyTnMlmc1BqemkxGh7/uL9XlkUDGTx0ut1IJLyzvTU3OyuEWF5d4aFQZ33907KCoT3cXN80m810Or22tgqgK0Q+f+Xe3i0MnKGDgnq9vrd/cHh49Pr21mg0TPMkk9mt1WrkZ61+Etpqtc4vLkvlMme8UCx6XQ95Bw/KL7RQKAJgjHnLXwV9MMaG8sEMwduG8T2B7TgPD4+27fz00CakQUjb54n3+TjnjDHXdYUQAYEh3Qmp3il5oexb8AeUV4ZvbHjoQIBBl1+HUIfoFURH2QAAAABJRU5ErkJggg==","id":1061,"breadcrumb":["My","tools","\u4e34\u65f6\u90ae\u7bb1"],"ownVisible":false}],"icon":""},{"title":"vpn","createdAt":"2023-12-16 07:01:50","nav":[{"name":"\u7389\u8c46\u5206\u4eab","createdAt":"2024-07-13 13:21:29","url":"https://www.yudou66.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB4ElEQVQ4jcXSP2gTcRjG8e8v98ekMU1CEmnSEgRxqCCUIr1m00pRcdBBtOIiKEJydCjiVAR1dBNJF3ESuzi5KHaQ6mRQqKJUKxUkkRwWsUmaNL27Xn8O0rTY2qqLz/w+H3hfXvjfEX86KHPGKTwOgQzjF5fFrcJXAHXbotl3pVxzb1pVB6VTw9euEC95GnBmW0CaxpRVdXrUtI4v5GO56IACCGqrMy1A5vpHEewDeV/kC49kznhl1d0eEVFoPxrB/eaCELhvmxDRn2+4gRw2usrfnZKiCaxFl5rj0R0N4OkQOv4TcIsO7iebzntTrZ6vJd0ufEmdT4xLQBOCYt1hprKEYksWHlewp5ssz9qkQjuur1+zBcisYYrBiXMdQ4nhRFijN9bG5wWbmaqNsgQrcx7JsD4rxl5c2wBIsy+DwC/ZH0WT08ETUeJta8j7SpPkTu2jyBf2/nrotRuMZALWvL2YxHeXfPpqY7JWbjycZ67iYssVDjx4t+nPtFbAls+SQe0pusySK90IBrSDu07GLsRDGl1BHWkag1sD+AdEvnAYVX1iCe8iA29eciw13nE6dsdzJcDZLQExNlmXI5kAoCYbe1Sy6VGyH4bEkYlLqUhgN4jXmwG/jTT7e/+q8K/5AXzmsIjgOiEFAAAAAElFTkSuQmCC","id":1062,"breadcrumb":["My","tools","vpn"],"ownVisible":false},{"name":"\u9996\u9875 \u2014 iKuuu VPN","createdAt":"2024-07-13 14:20:56","url":"https://ikuuu.pw/user","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC","id":1063,"breadcrumb":["My","tools","vpn"],"ownVisible":false}],"icon":""},{"title":"\u6fc0\u6d3b","createdAt":"2024-03-06 15:02:07","nav":[{"name":"8866-PyCharm\u6fc0\u6d3b\u7801\u6700\u65b02023\u6c38\u4e45\u514d\u8d39\u63d0\u4f9b_pycharm\u5bc6\u94a5\u6fc0\u6d3b\u7801_Intellijidea\u6fc0\u6d3b\u7801_jetbrains\u76f8\u5173\u4ea7\u54c1\u6fc0\u6d3b\u7801","createdAt":"2024-02-19 13:39:55","url":"https://vrg123.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1064,"breadcrumb":["My","tools","\u6fc0\u6d3b"],"ownVisible":false},{"name":"\u4e91\u840c Windows 10+ \u6fc0\u6d3b\u5de5\u5177 - \u9996\u9875","createdAt":"2024-03-06 15:02:07","url":"https://cmwtat.cloudmoe.com/cn.html","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1065,"breadcrumb":["My","tools","\u6fc0\u6d3b"],"ownVisible":false}],"icon":""},{"title":"\u81ea\u52a8\u53d1\u5361","createdAt":"2024-04-14 07:43:37","nav":[{"name":"\u81ea\u52a8\u53d1\u8d27\u53d1\u5361\u7cfb\u7edf\u642d\u5efa\u6559\u7a0b_\u5c0f\u7ea2\u5e3d\u6280\u672f\u7684\u6280\u672f\u535a\u5ba2_51CTO\u535a\u5ba2","createdAt":"2024-02-08 13:49:52","url":"https://blog.51cto.com/u_15274085/5820637","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1066,"breadcrumb":["My","tools","\u81ea\u52a8\u53d1\u5361"],"ownVisible":false},{"name":"Agiso \u963f\u5947\u7d22\u81ea\u52a8\u53d1\u8d27\u8f6f\u4ef6","createdAt":"2024-03-06 15:02:07","url":"https://www.agiso.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1067,"breadcrumb":["My","tools","\u81ea\u52a8\u53d1\u5361"],"ownVisible":false}],"icon":""},{"title":"\u89c6\u9891\u4e0b\u8f7d","createdAt":"2024-04-14 07:49:46","nav":[{"name":"\u8d1d\u8d1dBiliBili - B\u7ad9\u89c6\u9891\u4e0b\u8f7d","createdAt":"2024-04-14 07:49:35","url":"https://xbeibeix.com/api/bilibili/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC2klEQVQ4jQXBS2xUVRwH4N//vO6987jtMNNbSjtlhlZFKQVttG3apELkEYhoiCSQWAMutGxYuNFEVsYo6cKVCTuDBU1GmqaGEDEGSGUFCZQSaSGMMzVoC/Q1HWnnceeew/dBIkTc5oAA6mwVq48yIgAuRciSEHAAIoCIQQKKHMZKBpbNT+7b+7YXV4FZNPzy/enMzVuwCTBUBgMCAgxJgGtmEmH73ImPBkXilfn1LUKlOb2bTLmtG67/lSWjlBE+AhAUoAFujDxzZP/hchHF0p+NsW9nHzx3ZXup1OV5K5HQZP4/h7lVU2EwDKhxsNSGTQNNyUJ17UqD+nj055VoaGhkdGS96Gv7g/7dVsj5Xy9LpjjgCw5hsXiU3AJkOH325u0vjxz7pWf38IfHhn+9lm1JDo+P1dl4p7fL1yUjBGkOYzgnPbhte/Mqn5S493h6j8O3CNX6+sDx7848LTy5cOLo0Gs7V5m+nfvHZgLa58VyxW2L98TjzZa7tcV7ae5JlPEpi12dnhkf+rTv8VyQy/W81fdMyclc1iHiLoVv5PObujoHhGzLzcJLXGKhL37K/HBq8M38Uk05DzsbE4/m32vrnKgu5+cXOAiVoHrl7qTT2NCyo+PSWuGr8YvffzLU9/eCbtj448rSyfOZ3jd2pgt+LJ2cuDdFilAVYAFIw0skiPTZo+93P1sNZOhCpXp6bMwP/M8OHfjabrrvhQ9lRlgNgIECIjI6v7jY393f6zRFF5fvtNLnFzN+4DdE7IPJjavrC2vks3KNG2kjCGpAJagyZmWzjxJebHtrKvK02N7x6uZU8vSuvh35f7G5/tzc3O9TMxzGgtEcmgEwQY2ZqzMzTnt6r5t6mdQuGfKWVuoaY3/o2jejvwWBTRbIB5MghqAsDBlIzSvGHOzvPtyxrUmbNQsTudnzl689h9FCABwAgDCYTZI4hwSTFAXQTJSudx1HAeC8noSEwgsTsxoSF44BMQAAAABJRU5ErkJggg==","id":1068,"breadcrumb":["My","tools","\u89c6\u9891\u4e0b\u8f7d"],"ownVisible":false}],"icon":""}]},{"title":"game","createdAt":"2024-04-14 07:30:40","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"ZType \u2013 Typing Game - Type to Shoot","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jYVSS2hTURA9c9997yUmNomNitGFKwWlC7VFEZEWFLoRdFFBRCguqqBQP7gQRJ67LpRWgi4E0YUgJPgFhSr6qlWxtRZUVMT/B21BLdGmyXu5946LlBRR8Sxn5sycmTOESewoDyxwQnexgdECRIACIDEFBQ3AtiSFYWkse/RaPzzPEAAsynnOmrWt/dFI3TdNpgiwRQaAABgAwIABIIhhDDSZpWoi2JStX3FfAsCy1RtsVS5Yb173b8o3bivgP9hTfHSJpZPClMYRECJOKrMo0f7WD4rSpdQ8h8aevVH5xRtDMFO1Li9AG7WwrIpAVb0AgI/PnUDY9qjrWOdiEat3lq1uyC/jFzOZ+QN7xh8fARG3TZI7PvtpUwkW6ooeqSnoa2lR89lfF/9qzwgcLdySLgnLbRBSnFXlidtgpjyR3vzyal10Wry3otWZY8nlw2Am+tuO27/emxtxnV4dlA9m06vOg5na3512k/UN18F8qyfRdADMBCIWNRZ7AgC2friTcW3psw67s+lV55vZlzh0yErObLjMMAM9iaYDHrMAEU+NZBAAtI/5yc7C0NDOscFOAOjgIRsA7f4xfGVXcfg4AHjMsi2Xs/6QvWWkN9ZZGLzbWRg8CADN7MuqZY+zeyeeHP6XpQRm6nh4QkYXLM0R6FVPXeM+j33pUYva9WPoFAOtYVDZJi1MF2A22pAzra5o1Pjt7sTK7xJE7BYeLCFLpHtiyzZ47AmPWnSz70kVhi9I0KjjymYiFgyQkDzO4NYg0HkAXRIAmGALskYBwCPPVK31VB+8rr+69OlmmWwrWfsDYdvEbFLr315IzhE2VX85gbitfjtWGEBGUzKggDIM87PWQE2E7xm6fq5b3wdBKkkgGCaIKT6BWEaYqMwVskQGBvur8Um0Pc3FE+kZMW0c4xZLZM+OcqVYquWDWJTVaIkQB5woq5OJ1u8A8AvD8D79cc9ctAAAAABJRU5ErkJggg==","url":"https://zty.pe/","urls":{},"desc":"","rate":5,"id":1069,"breadcrumb":["My","game","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"python","createdAt":"2024-03-29 13:51:13","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u83ab\u70e6Python\u7f51","createdAt":"2024-03-29 13:51:13","icon":null,"url":"https://mofanpy.com/","urls":{},"desc":"","rate":5,"id":1070,"breadcrumb":["My","python","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Python Projects for Beginner to Advanced - GeeksforGeeks","createdAt":"2024-04-08 13:23:32","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=","url":"https://www.geeksforgeeks.org/python-projects-beginner-to-advanced/","urls":{},"desc":"","rate":5,"id":1071,"breadcrumb":["My","python","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Python Syntax Checker PEP8","createdAt":"2024-01-02 12:33:54","icon":null,"url":"https://www.pythonchecker.com/","urls":{},"desc":"","rate":5,"id":1072,"breadcrumb":["My","python","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"docs","createdAt":"2024-04-30 13:29:52","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"The Everything App","createdAt":"2024-04-28 14:57:35","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNUlEQVQ4jY1SQYrDMAyURG+lkJIfJIf8oqc+u59xKARKbBObXoo92oO6blh2Yediz3gk2bJYVYlIVZnZ9kTEzCY2agYi+pj+CbGl1Xm9Xi3FnjZR9tHbtl0ul23bfqWGg0Vbglrr/X6vtdpZo83AzG+3oZTinCul/ErfYaoKIKUEQP/A3kAAQgjTNHnvAZRSWmSj3vtpmkIIAISZAazrKiL8jdZ+g4is6wqAmUVVRaTv+5wzgH0HbQMg59z3vYi8rwTAOTeOY0pJVWutJlp/UkrjODrnTDxY6a7riOjxeJRSzudzu1KMMYRARF3XvWenJVuWZRiGYRjmefbee+/neTZlWZZWlq0h9tAYY875er0+n08iOh6Pt9vtdDpZTbOxvf3zkUQxxkab9TOzrcKP2d43aj/hX+p0kdT5jcFLAAAAAElFTkSuQmCC","url":"https://anytype.io/","urls":{},"desc":"","rate":5,"id":1073,"breadcrumb":["My","docs","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]}],"collapsed":false},{"title":"\u5de5\u4f5c","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"\u65b0\u4eba\u770b\u677f - \u65b0\u4eba - ByteTech","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytetech.info/bootcamp2/mentee/training","urls":{},"desc":"","rate":5,"id":1074,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6587\u6863\u7ba1\u7406-\u7ebf\u4e0a-\u706b\u79cd\u670d\u52a1\u8fd0\u8425\u5e73\u53f0","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://vsop-online.bytedance.net/doc/manage/?current=1&pageSize=10","urls":{},"desc":"","rate":5,"id":1075,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6587\u6863\u5de5\u4f5c - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytedance.larkoffice.com/docx/S7NVdBnbeoOyCDxIOJtcx1WdnSv","urls":{},"desc":"","rate":5,"id":1076,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"APIHub - \u63a5\u53e3\u7814\u53d1\u5e73\u53f0","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://apihub.bytedance.net/project/2536/branch/dev-1695712378/order/104","urls":{},"desc":"","rate":5,"id":1077,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u706b\u5c71\u8d26\u53f7\u7ba1\u7406-\u8d26\u53f7\u7ba1\u7406-Byte BABI","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://babi.bytedance.net/finance/basic/volcManage/","urls":{},"desc":"","rate":5,"id":1078,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6743\u9650\u4e2d\u53f0","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://authority.sre.bytedance.net/MyAuthority","urls":{},"desc":"","rate":5,"id":1079,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u202c\u2061\u2063\u200b\ufeff\u2064\ufeff\u200b\u2063\u2064\u202c\u200b\u2062\u200b\u200b\u200c\u200b\u2063\ufeff\ufeff\u2063\u200b\u2063\ufeff\ufeff\ufeff\u200d\u202c\u202c\ufeff\u2064\u200d\u200c\u200d\u200b\u202c\u2061\u200b\u2062\u202c\ufeff\u2062\ufeff\u5de5\u5355-\u2063\u200b\u202c\u200c\u200b\ufeff\u8fb9\u7f18\u4e91\u6587\u6863\u4f53\u9a8c\u63d0\u5347\u4e13\u9879\u8bb0\u5f55","createdAt":"2024-05-17 23:30:24","icon":null,"url":"https://bytedance.larkoffice.com/sheets/BWWTs1jPQhziX0tTN10c8pTsnIe?sheet=fc2YLy","urls":{},"desc":"","rate":5,"id":1080,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"collapsed":true,"createdAt":"2024-07-15 06:18:29"}],"collapsed":true},{"title":"\u79d1\u9510\u5c14","createdAt":"2024-03-29 13:51:13","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u200c\u200b\u2062\u2064\u200d\u2064\u2064\u2063\u2062\ufeff\u2061\u200c\u200c\u200b\u200b\u2064\u202c\u2063\u2062\u2064\u2061\u200d\u2063\u200b\ufeff\u200b\u200b\u200c\u200b\u200b\u200b\u2062\u200b\u2062\u2064\u202c\u200c\u2064\u2061\u2063\u2064\ufeff\u2064\u2063\u202c\u2063\u200c\u2064\ufeff\u2064\u79d1\u9510\u5c14\u4eba\u529b\u8d44\u6e90\u670d\u52a1\uff08\u82cf\u5dde\uff09\u6709\u9650\u516c\u53f8\u62a5\u9500 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-29 13:51:13","icon":null,"url":"https://bytedance.larkoffice.com/docx/BB4VdceyooupzPxURGpcDNEsnDf","urls":{},"desc":"","rate":5,"id":1081,"breadcrumb":["\u5de5\u4f5c","\u79d1\u9510\u5c14","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u202c\u200b\u2062\u2064\ufeff\u200c\u200b\u2064\u2063\u200b\u200b\u200c\u2061\u2063\ufeff\u200c\u200b\u200b\u2062\u200b\u2061\u2064\u2061\u2063\u2064\u200b\u200c\u2061\u2064\u200b\u200c\u200b\u2062\u2061\u2064\u2062\u2062\u200b\u200d\u200b\u200c\u2061\u200b\u2062\u200d\u200b\u200b\u202c\u2061\u5b57\u8282\u8df3\u52a8\uff08\u4e2d\u56fd\u5927\u9646\u5730\u533a\uff09\u5916\u5305\u7ba1\u7406\u89c4\u8303 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-29 13:51:13","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcnbDslcAXsEgZb39lylXGHKb","urls":{},"desc":"","rate":5,"id":1082,"breadcrumb":["\u5de5\u4f5c","\u79d1\u9510\u5c14","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5916\u5305\u8d44\u6e90\u7ba1\u7406\u7cfb\u7edf","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://rms.bytedance.com/complainApply","urls":{},"desc":"","rate":5,"id":1083,"breadcrumb":["\u5de5\u4f5c","\u79d1\u9510\u5c14","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"SD-WAN+","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u706b\u5c71\u5f15\u64ce\u63a7\u5236\u53f0BOE-SDWAN","createdAt":"2024-04-28 13:41:46","icon":null,"url":"https://v-vconsole.bytedance.net/ecw/sdwan/gateway/list","urls":{},"desc":"","rate":5,"id":1084,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"SD-WAN \u63a5\u5165\u670d\u52a1 \u66f4\u6362 Edge \u8bbe\u5907-\u64cd\u4f5c\u6307\u5357-\u6587\u6863\u4e2d\u5fc3-\u817e\u8baf\u4e91","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://cloud.tencent.com/document/product/1277/64770","urls":{},"desc":"","rate":5,"id":1085,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5982\u4f55\u91ca\u653e\u4e00\u4e2a\u4e0d\u9700\u8981\u7684SAG\u5b9e\u4f8b_\u667a\u80fd\u63a5\u5165\u7f51\u5173(SAG)-\u963f\u91cc\u4e91\u5e2e\u52a9\u4e2d\u5fc3","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://help.aliyun.com/zh/sag/user-guide/release-an-sag-instance?spm=a2c4g.11186623.0.0.3ba36758zqdP9B","urls":{},"desc":"","rate":5,"id":1086,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5b89\u88c5\u548c\u767b\u5f55EAG App\u5ba2\u6237\u7aef--\u8fb9\u7f18\u63a5\u5165\u7f51\u5173-\u706b\u5c71\u5f15\u64ce","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://www.volcengine.com/docs/21698/1110782","urls":{},"desc":"","rate":5,"id":1087,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u2062\u200b\ufeff\u200b\u200c\u200b\u200c\u2062\u2061\u2062\u2062\u202c\u200b\u202c\u200b\u2061\ufeff\u202c\u200b\u200c\u2063\u200d\u202c\u200b\u200b\u200b\u202c\u200b\u200d\u2063\u2064\ufeff\u2063\u2061\u200b\u200d\u202c\u200d\u200b\u202c\u200c\u202c\u202c\u200b\u2061\u200c\u200d\u200c\u200dSD-WAN+\u4e8c\u671fMVP\u5dee\u5f02\u90e8\u5206PRD - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytedance.larkoffice.com/docx/HoOudxKwUo9gyLx6Fsqc6ybvnre","urls":{},"desc":"","rate":5,"id":1088,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200c\u2061\u200b\u2062\u200c\u2061\ufeff\u202c\u200c\ufeff\u2063\u202c\ufeff\u200d\u2063\u202c\u202c\u2062\u200c\u200b\u2064\u2063\ufeff\u200d\ufeff\u2063\u2061\u202c\u2064\u200c\u2064\u202c\u202c\u200d\u200b\u200d\u2064\u200b\u2062\u200b\u200c\u200b\u2063\u200b\ufeff\u202c\u200b\u200b\u202cSD-WAN+\u4e8c\u671f\u4ea7\u54c1 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytedance.larkoffice.com/docx/UiIpdS2EEoet7JxmXy3cJrLsnpc","urls":{},"desc":"","rate":5,"id":1089,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u202c\ufeff\u2064\u200c\u2062\u200c\ufeff\ufeff\u2063\u200d\u200c\u2061\u2062\u2063\u2064\u2062\ufeff\u200d\u2064\u200d\u2062\u2063\u200b\u202c\u200b\u202c\u2062\u2064\ufeff\u2061\u2061\u202c\u2061\u2062\u200b\u2061\ufeff\u200c\u200d\u2063\u202c\u200c\u2063\u2063\u2062\u200c\u200d\u200dSD-WAN+\u4e8c\u671f\u6587\u6863\u95ee\u9898&\u6c42\u52a9 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytedance.larkoffice.com/docx/LBOudiC9oo0ONzxzkZBcySJjngj","urls":{},"desc":"","rate":5,"id":1090,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"SDWAN\u4e1a\u52a1\u7ebf\u9700\u6c42-\u6587\u6863 - Meego \u9879\u76ee\u7ba1\u7406\u5e73\u53f0","createdAt":"2024-03-22 13:45:19","icon":null,"url":"https://meego.feishu.cn/ecn/storyView/DIpHH9oIR?scope=workspaces&node=56515074","urls":{},"desc":"","rate":5,"id":1091,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u2061\u200b\u2063\u2063\u2063\u2064\u202c\u200b\u2061\u200b\u202c\u200b\u200d\u2064\u2064\u2063\u2064\u200b\u200b\u202c\u2061\u200b\ufeff\ufeff\u2063\ufeff\ufeff\u2064\ufeff\u2064\u2063\u2061\ufeff\u200b\u202c\ufeff\u2064\u2064\u200b\u2064\u200b\u2064\u200c\u200c\u2064\u2064\u200c\u2063\u200d\u4ea7\u54c1\u9700\u6c42 - SD-WAN\u8bbe\u5907\u9ad8\u53ef\u7528\u4e0e\u52a8\u6001\u8def\u7531 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-05-29 12:09:10","icon":null,"url":"https://bytedance.larkoffice.com/docx/CK9idUO7Zo45fKxksqzc67j4nzb","urls":{},"desc":"","rate":5,"id":1092,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u3010SD-WAN\u3011\u3010\u7aef\u3011\u5347\u7ea7/\u91cd\u542f/\u91cd\u7f6e\uff08\u672c\u5730\u63a7\u5236\u53f0\uff09 - Meego \u9879\u76ee\u7ba1\u7406\u5e73\u53f0","createdAt":"2024-05-29 12:09:10","icon":null,"url":"https://meego.larkoffice.com/ecn/story/detail/3011107035","urls":{},"desc":"","rate":5,"id":1093,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4ec0\u4e48\u662f SD-WAN+--\u8fb9\u7f18\u63a5\u5165\u7f51\u5173-\u706b\u5c71\u5f15\u64ce","createdAt":"2024-06-19 12:43:23","icon":null,"url":"https://www.volcengine.com/docs/21698/1214105","urls":{},"desc":"","rate":5,"id":1094,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u8fb9\u7f18\u667a\u80fd","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u200c\u2064\u200d\u200b\u2063\u2063\u2062\u200c\u200d\u202c\u200b\u2062\u202c\u200b\u2061\u202c\u2064\u200b\ufeff\u2064\u202c\u2063\u200c\u200b\u2064\u200d\u2063\u2064\u202c\u2063\ufeff\u200c\u2062\u200d\u2061\u200b\u2063\u202c\u200b\u2063\u2061\u2061\u200c\u2064\ufeff\u2064\u200b\u2064\u2064\u2063\u25c6 VEI \u6587\u6863\u9700\u6c42\u53ca\u53cd\u9988 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytedance.larkoffice.com/sheets/shtcnX0qElSlxMUJqZrv4bbtgEb","urls":{},"desc":"","rate":5,"id":1095,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u667a\u80fd\u8fb9\u7f18-\u63a7\u5236\u53f0BOE Stable","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://console-stable.volcanicengine.com/vei?projectId=p-2100001281-rp88g","urls":{},"desc":"","rate":5,"id":1096,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u8fb9\u7f18\u667a\u80fd\u6587\u6863","createdAt":"2024-03-22 13:45:19","icon":null,"url":"https://www.volcengine.com/docs/6893","urls":{},"desc":"","rate":5,"id":1097,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u2605 \u5f85\u6211\u5904\u7406-VEI\u8bbe\u5907\u7ba1\u7406&\u7269\u8054\u7f51 - Meego \u9879\u76ee\u7ba1\u7406\u5e73\u53f0","createdAt":"2024-03-22 13:45:19","icon":null,"url":"https://meego.feishu.cn/iec/storyView/o4NMp5ASg?scope=workspaces&node=56589639","urls":{},"desc":"","rate":5,"id":1098,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5de5\u5355\u4e2d\u5fc3-\u7ebf\u4e0a-\u706b\u79cd\u670d\u52a1\u8fd0\u8425\u5e73\u53f0","createdAt":"2024-04-18 00:15:01","icon":null,"url":"https://vsop-online.bytedance.net/ticket/list/","urls":{},"desc":"","rate":5,"id":1099,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ArcoSite-\u8fb9\u7f18\u667a\u80fd-\u8bbe\u5907\u7ba1\u7406","createdAt":"2024-06-15 00:55:06","icon":null,"url":"https://arcosite.bytedance.net/sites/1706781084484/65bb7c1ae03b3e030170b6ef/editor/65bb7c1e43a30104e924443f?docLang=zh&bv=65bb7c1be03b3e030170b6f8","urls":{},"desc":"","rate":5,"id":1100,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"IoT","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"E19-1.7-\u79df\u6237-\u821c\u5b87-veStack","createdAt":"2024-03-29 13:51:13","icon":null,"url":"https://console.auto.inspirecloud.io/login?redirect_uri=%2Fproduct%2Fvei-iot%2Fregion%3Avei-iot%2Bcn-velab-auto%2F","urls":{},"desc":"","rate":5,"id":1101,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Sheet","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://bytedance.larkoffice.com/sheets/NTf1sv0FmhGU0lt85cucaOrxnTh?sheet=47f27b","urls":{},"desc":"","rate":5,"id":1102,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u200b\u200b\u200d\u200b\u2062\u2063\u2063\u202c\u2064\u200c\u2063\u2063\u200b\u2062\u200b\u200b\u202c\u200b\u200b\u2063\ufeff\u2063\u200d\u2063\u200c\u200b\u202c\u200d\u200d\u2064\u200b\u202c\u2062\u200b\u2061\u2063\u2064\u200b\u200c\u200b\u2064\u200b\u200b\u2064\u200c\u200b\u200d\ufeff\u200b\u7269\u8054\u7f51\u5e73\u53f0IoT Arenal - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-09 12:25:35","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcnDJN3LSSnGg55GBdkptnvhf","urls":{},"desc":"","rate":5,"id":1103,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u200d\u2061\u2064\u200c\u202c\u2061\ufeff\u200c\u200b\u200d\ufeff\u200b\u2062\u2063\u2062\u200b\u2062\u2061\u2063\u202c\u200c\u2064\u200d\u200c\u2063\ufeff\u2063\u2064\u200b\u2063\u200b\u200c\u2063\u2064\u200d\ufeff\u2063\u200d\u200d\u2062\ufeff\u200d\u2064\u200b\u200d\u2062\u202c\u200d\u202c\u6570\u636e\u8f6c\u53d1\u4f7f\u7528\u6587\u6863 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-09 12:25:35","icon":null,"url":"https://bytedance.larkoffice.com/docx/S0ved7xTjo6KQDxRpPLcqcz3neh","urls":{},"desc":"","rate":5,"id":1104,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200c\u202c\u200d\u2064\u200b\u2061\ufeff\u200d\u2062\u2061\u200b\u200d\u200c\u2063\u200d\u200b\u2062\u200c\u200b\u200b\u200c\u200d\u2062\u2062\u2062\u200b\u2061\u202c\u202c\u200b\u200b\ufeff\u202c\u2062\u200c\u200d\u200d\u2061\u200c\u200b\u2064\u2064\u2062\u202c\u2064\u200b\u200d\u2062\u2062IoT\u4ea4\u63a5\u6587\u6863 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-09 12:25:35","icon":null,"url":"https://bytedance.larkoffice.com/docx/AwuAdIYvtohh5bx1tNUcHOXTnJg","urls":{},"desc":"","rate":5,"id":1105,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u200c\u200c\u200c\u2061\u200d\u2063\u200b\u2063\u200d\u200d\u200d\u2064\u2063\u2064\u200c\u2064\u2064\ufeff\u2064\u200d\u200c\u200b\u200b\u2063\u200d\u200b\ufeff\u200d\u202c\u2063\u200c\u200c\u202c\u200b\u200c\u200b\u2064\u200b\u200b\u2063\u200b\u2062\u200b\u2064\u2064\u2061\u200b\u2062\ufeff\u5907\u4efd - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-10 14:13:28","icon":null,"url":"https://bytedance.larkoffice.com/docx/YycrdhESuorX9bxvHeScQBarnfd","urls":{},"desc":"","rate":5,"id":1106,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"IoT-SDK\u8bbe\u5907\u63a5\u5165 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-10 14:13:28","icon":null,"url":"https://bytedance.larkoffice.com/docx/WzvLdKw6vo8jgIxzH4vcwRjDn6e","urls":{},"desc":"","rate":5,"id":1107,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"EMQ \u6587\u6863\u4e2d\u5fc3","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://docs.emqx.com/zh/","urls":{},"desc":"","rate":5,"id":1108,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"JetLinks \u7269\u8054\u7f51\u57fa\u7840\u5e73\u53f0","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://hanta.yuque.com/px7kg1/yfac2l","urls":{},"desc":"","rate":5,"id":1109,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7269\u8054\u7f51\u5e73\u53f0(IoT)-\u963f\u91cc\u4e91\u5e2e\u52a9\u4e2d\u5fc3","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://help.aliyun.com/zh/iot/?spm=a2c4g.11186623.0.0.59c63f42nzw9Ar","urls":{},"desc":"","rate":5,"id":1110,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7269\u8054\u7f51\u5f00\u53d1\u5e73\u53f0\u7b80\u4ecb_\u7269\u8054\u7f51\u5f00\u53d1\u5e73\u53f0\u8d2d\u4e70\u6307\u5357_\u7269\u8054\u7f51\u5f00\u53d1\u5e73\u53f0\u64cd\u4f5c\u6307\u5357-\u817e\u8baf\u4e91","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://cloud.tencent.com/document/product/1081","urls":{},"desc":"","rate":5,"id":1111,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ArcoSite-\u7269\u8054\u7f51\u5e73\u53f0\uff08\u516c\u6709\u4e91\uff09","createdAt":"2024-04-15 13:08:31","icon":null,"url":"https://arcosite.bytedance.net/sites/1706845848448/65bc66bbe42205030496fec1/editor/65bc66bdfe7d4d04d441a763?docLang=zh&bv=65bc66bde42205030496fecb","urls":{},"desc":"","rate":5,"id":1112,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6c99\u679c\u5f00\u6e90\u7269\u8054\u7f51\u7cfb\u7edf SagooIoT | SagooIoT","createdAt":"2024-04-28 15:05:51","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADCklEQVQ4jW1T32tcVRD+Zs6552bvktRNtrFNEy32hy1VyqpE8GlbBZX0QRCrhIK40oKIFEr/gCj4Iq0IIRXBvrQKYlqrPqmlUqFvagu1FdqmuDaNm2zSbdzsj3vvufeMD5utIh0YGIb55htmviHcxwSgbkzd1OfjObA+AqNKiJLfEYZFlKYX+X9AXgVJ1wEgf7w0BPJ+RF+mhFjOAupllKYX78sIAPXR0YE7xeLw7I6+fgDAn2M5nHnpTZx9rnCvaGKiSwYCIALocLTwOml+NY3C7YjjjOtb01Se/nkuu/HEi2sP+55pbQxyMreSzP1w/ej4EgAiAKg/uTWvVPZkYNQLEsdortuA+b37ET66A8b4aAnhQqsX5y9XUZ6tAXDXrI3fvvzB7nMkmzf7K/3Z073GjDWcs2wthUMP8bVjp2DX+OwigAlY2wOc+7WafPrtFfhBVidxeDeN7LO6mcuMZ5Qaa0VhoqxViCP2F/4SszSPtGcEXiySghAS4Y9KXS03LHpdw2o/k1OevKuhvbdUu+VWni7S8jO7KPfTd3Jn9x4Khx8GJwLHRAwgToBiYYPU6m1aN5DV5UrD/Xajuosaozsj0dqb+fAk6k9sJ64DogGOAIF0tkyACEGrThz0AOcvLsixM1dJc9TWjS1PobVpG7yaEwGIEkCIVm8rHUUASB3EOYFmksH8A5QP3CxTYssYfBBiqNOeSIS4C4Uw/6sWEWJJEQnYJH/TvoGvTzOH4RfGWhIHYRKo1R5udXYd1TrTEESIYI2mwFZd4dZE9YBMTbGZr0wmi5VyEIHbzJQKSESImWT9zSk8fuF5GZ75SBJF5CV1t/7WKbvz4hs8svjNe3QIM5qamK9XrhwcunT0K1V4hZs8nDqwZhtT/8L3oqMlGpj9Ejq+63qXf3F9UvZaK8mJbHnu4wkQk3R04uJPBg9IftNkHIyYUAIHsdTTuEnKhSIAjGuSNj5aqX+8xo+8M7J3un3vW0VARJDmZ1v2GOb3xcljDiCnMgBImABifTt16ZHgtUuT/328fwB47GuHDtGS+wAAAABJRU5ErkJggg==","url":"https://iotdoc.sagoo.cn/","urls":{},"desc":"","rate":5,"id":1113,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u4e91\u62e8\u6d4b","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"ArcoSite-\u4e91\u62e8\u6d4b","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://arcosite.bytedance.net/sites/1692956286931/64e876e1814dd502ace091c2/editor/64e876e348f8bf7f81ffdcfc?docLang=zh&bv=652fd8f4fb401502ea5f2aa2","urls":{},"desc":"","rate":5,"id":1114,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u706b\u5c71\u5f15\u64ce\u63a7\u5236\u53f0-\u4e91\u62e8\u6d4bBOE","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://v-vconsole.bytedance.net/cloud-detect/overview","urls":{},"desc":"","rate":5,"id":1115,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u706b\u5c71\u5f15\u64ce-\u4e91\u62e8\u6d4b\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://www.volcengine.com/docs/83571/1132368","urls":{},"desc":"","rate":5,"id":1116,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5e94\u7528\u5b9e\u65f6\u76d1\u63a7\u670d\u52a1ARMS-\u963f\u91cc\u4e91\u5e2e\u52a9\u4e2d\u5fc3","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABXklEQVQ4ja3TvU5VURCG4WfW3ptwEjDGWOglGI0WdFZEr+FcgdGAFnSGkk5iR4XReAVcg4TKzkKjsbOVwlgI5BD2z1gAxwYsPE49X9a8M+9i1kpiluw0nM8t+m5wbHDFSOUgXmshn2j0Fv0yMa+4qcRLB1DnijsqW44sWTDnqpHWR60H+Al6ixq7brinM3HkJJ/5oLcWueqzebedYPBVeCe9iW2fzvGCzFV3hcfSQ8Utczj2JfKpVOu0Nv2wETv6v3KPVa7b0FjXqYsw6Ewc2owdfS6rLw0vq2NH79CmzkQYaimkQaNA7OlyxZbGff3pElUarffxyhpoFGlAXPxa2Be+Gc5wapWwf1FrLSSK1jAdc9uLSxH2dFqDeUXIIhW1kQXrOVbFnu58WUlJSo5VU7yxyoJ1tZFU/sMZz0ViyWBO/UekeHsqUj5yTWNXcyZSccKZSLOqPPNn+tfstH4DoqinIboRo4IAAAAASUVORK5CYII=","url":"https://help.aliyun.com/zh/arms/?spm=a2c4g.11186623.0.0.30158cabxdoTMD","urls":{},"desc":"","rate":5,"id":1117,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e91\u62e8\u6d4b\u7b80\u4ecb_\u4e91\u62e8\u6d4b\u8d2d\u4e70\u6307\u5357_\u4e91\u62e8\u6d4b\u64cd\u4f5c\u6307\u5357-\u817e\u8baf\u4e91","createdAt":"2024-05-17 23:30:24","icon":null,"url":"https://cloud.tencent.com/document/product/280","urls":{},"desc":"","rate":5,"id":1118,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e91\u62e8\u6d4b-\u6587\u6863\u9700\u6c42 - Meego \u9879\u76ee\u7ba1\u7406\u5e73\u53f0","createdAt":"2024-03-22 13:45:19","icon":null,"url":"https://meego.feishu.cn/netarch_platform/storyView/fL9kPi4IR?scope=workspaces&node=55251844","urls":{},"desc":"","rate":5,"id":1119,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u200d\u2062\u2063\u200b\ufeff\u2061\u2061\u200d\u200c\u2063\u2064\u200b\u200b\u2061\ufeff\u202c\u2062\u2064\u200d\u2064\u2062\u2062\u202c\u200b\u200c\u2062\ufeff\u200c\u200b\u200b\u2062\u2061\ufeff\ufeff\u2061\u2064\u200b\u2064\u200b\u200d\u2064\u200d\u2064\u200b\u2063\u2063\u202c\u200c\u2064\u2705 \u6982\u5ff5\u660e\u786e\u548c\u6587\u6848\u7edf\u4e00\uff08\u6570\u636e\u6cbb\u7406\uff09 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://bytedance.larkoffice.com/wiki/TKYEwGoXPiNQfLkC2PDcvDIHnkf","urls":{},"desc":"","rate":5,"id":1120,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e91\u62e8\u6d4b\u5de5\u5355\u5217\u8868","createdAt":"2024-04-18 00:15:01","icon":null,"url":"https://oncall.bytedance.net/admin/review/all?tenant_id=2283¤t_page=1&page_size=10&filter_fields=%255B%257B%2522field%2522%3A%2522tenant_id%2522%2C%2522value%2522%3A%255B2283%255D%2C%2522operator%2522%3A%2522in%2522%257D%255D&extra_arguments=%255B%255D","urls":{},"desc":"","rate":5,"id":1121,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u4efb\u52a1\u65ad\u8a00","createdAt":"2024-04-08 13:23:32","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"JSONPath - JSON \u7684 XPath","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://goessner.net/articles/JsonPath/","urls":{},"desc":"","rate":5,"id":1122,"breadcrumb":["\u5de5\u4f5c","\u4efb\u52a1\u65ad\u8a00","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"XML Path Language (XPath)","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://www.w3.org/TR/1999/REC-xpath-19991116/","urls":{},"desc":"","rate":5,"id":1123,"breadcrumb":["\u5de5\u4f5c","\u4efb\u52a1\u65ad\u8a00","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"json-path/JsonPath\uff1aJava JsonPath \u5b9e\u73b0","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://github.com/json-path/JsonPath?tab=readme-ov-file","urls":{},"desc":"","rate":5,"id":1124,"breadcrumb":["\u5de5\u4f5c","\u4efb\u52a1\u65ad\u8a00","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"JSONPath\u5728\u7ebf\u9a8c\u8bc1","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://www.jsonpath.cn/","urls":{},"desc":"","rate":5,"id":1125,"breadcrumb":["\u5de5\u4f5c","\u4efb\u52a1\u65ad\u8a00","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Introduction to XPath - GeeksforGeeks","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://www.geeksforgeeks.org/introduction-to-xpath/","urls":{},"desc":"","rate":5,"id":1126,"breadcrumb":["\u5de5\u4f5c","\u4efb\u52a1\u65ad\u8a00","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u5168\u7403\u5316\u6539\u5199","createdAt":"2024-06-10 02:48:53","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u200d\u202c\u200d\u2063\u2061\u200d\ufeff\u2063\u2061\u2064\u200b\u2062\u202c\u2062\u202c\ufeff\u2061\u2064\u202c\u200d\u200d\u200d\u2061\u2062\u2061\u200b\u200b\u200b\u2063\u200d\u200b\u2061\u200d\u200c\u2062\u200b\u200c\u202c\u2061\u2062\u2061\u2063\u202c\u200d\u200b\u2061\ufeff\u200b\u2061\u2063\u5168\u7403\u5316\u5199\u4f5c - \u6587\u6863\u6539\u5199\u6392\u671f - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://bytedance.larkoffice.com/sheets/shtcnUxO5eskuKTvYMLfZVELZ2b?sheet=Qs4H6e","urls":{},"desc":"","rate":5,"id":1127,"breadcrumb":["\u5de5\u4f5c","\u5168\u7403\u5316\u6539\u5199","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u2061\u200b\u202c\u200d\u200b\u200b\u2062\u200c\ufeff\u200d\u200d\u200c\u2061\u200b\ufeff\u200b\u200c\ufeff\ufeff\u2063\u200b\u200d\u2064\u200b\u2064\u200b\u200b\u2061\u2064\ufeff\u202c\u2061\u200b\u2064\u200b\u202c\u2062\u200d\u202c\u200c\u2062\ufeff\u2064\u200b\u2062\u2061\ufeff\u202c\u200b\u5168\u7403\u5316\u5199\u4f5c\u548c\u6846\u67b6-\u8bc4\u5ba1\u8bb0\u5f55 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-05-06 13:46:37","icon":null,"url":"https://bytedance.larkoffice.com/sheets/Yiv4sErPrhsk6ttsuHqcJRx8n7d?sheet=aHoBpC","urls":{},"desc":"","rate":5,"id":1128,"breadcrumb":["\u5de5\u4f5c","\u5168\u7403\u5316\u6539\u5199","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u2064\u200c\u200b\u200b\u200b\u2063\u2063\u200b\u200b\u2061\u200b\u2063\u2064\u200c\u200c\u200c\u200b\u200b\u200b\u200b\u200d\u2062\u2062\u2061\u200b\u202c\u200c\u2064\u2062\u2061\u200d\u200d\u2061\u2064\u2061\u2063\u200d\u2062\u2063\u200d\u200b\u200b\u202c\u2061\u202c\ufeff\u5168\u7403\u5316\u6539\u5199 - \u2064\ufeff\u202c\u8fb9\u7f18\u667a\u80fd","createdAt":"2024-06-10 02:48:53","icon":null,"url":"https://bytedance.larkoffice.com/docx/NrsNdMgJCoNSCVxW7otcP3ehnjh","urls":{},"desc":"","rate":5,"id":1129,"breadcrumb":["\u5de5\u4f5c","\u5168\u7403\u5316\u6539\u5199","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"AI\u6587\u6863\u68c0\u6d4b","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://bytedance.larkoffice.com/drive/folder/XBBsfEa4LloFC7drwYCcJWDJnOc","urls":{},"desc":"","rate":5,"id":1130,"breadcrumb":["\u5de5\u4f5c","\u5168\u7403\u5316\u6539\u5199","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"MC100","createdAt":"2024-06-10 02:48:53","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u5317\u4eac\u4e3d\u660e\u79d1\u6280\u6709\u9650\u516c\u53f8","createdAt":"2024-06-10 02:48:53","icon":null,"url":"http://www.limingkeji.com/index.aspx.htm","urls":{},"desc":"","rate":5,"id":1131,"breadcrumb":["\u5de5\u4f5c","MC100","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"How To Set Up vsftpd for a User\'s Directory on Ubuntu 20.04 | DigitalOcean","createdAt":"2024-06-10 02:48:53","icon":null,"url":"https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-20-04","urls":{},"desc":"","rate":5,"id":1132,"breadcrumb":["\u5de5\u4f5c","MC100","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\ufeff\u2064\u200c\u202c\u200b\u200b\u200d\u200b\u2063\u202c\u200c\u2061\u2062\u2061\u200d\u200b\u2062\u2061\u200b\u200b\ufeff\u2064\u2063\u2063\u200c\u202c\u200c\u2061\u200c\u200c\u2064\u2062\u2061\u2063\u202c\u2061\u200b\u2061\u202c\u200b\u200b\u200c\u200d\u2062\u202c\u200c\u2061\u2062\u202c\u8fb9\u7f18\u667a\u80fd-\u5929\u82b1\u5bfc\u89c6\u9a71\u52a8\u5f00\u53d1-\u63d0\u6d4b - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-05-29 12:09:10","icon":null,"url":"https://bytedance.larkoffice.com/wiki/ONwUwxhydi5nEOkjj63cGU8wnyg","urls":{},"desc":"","rate":5,"id":1133,"breadcrumb":["\u5de5\u4f5c","MC100","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200b\u200c\u200b\u202c\u200b\u2064\u200b\u200b\u200c\u200b\u2063\u2061\u2064\u200c\u200d\u2064\ufeff\u200b\ufeff\u2062\ufeff\u2063\u202c\u200b\u2063\u200d\u2061\u200b\ufeff\u200b\u2063\u2061\u2064\u200b\u200b\ufeff\ufeff\u200b\u200b\u200d\u200b\u2064\u2064\u2061\u200b\u2061\u2062\u202c\u5168\u7403\u5316\u5199\u4f5c\u548c\u6846\u67b6-\u8bc4\u5ba1\u8bb0\u5f55 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-10 02:48:53","icon":null,"url":"https://bytedance.larkoffice.com/sheets/Yiv4sErPrhsk6ttsuHqcJRx8n7d?sheet=v2yvym","urls":{},"desc":"","rate":5,"id":1134,"breadcrumb":["\u5de5\u4f5c","MC100","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u2062\u202c\u200d\u2061\u2064\u200c\u2062\u200b\u2062\u2063\ufeff\u2063\ufeff\u200b\u200d\u2061\u200b\u2062\u200c\u2064\u2063\ufeff\u2062\u2063\u2061\u2061\u200b\u2061\u200b\u200b\u2062\u2062\u200d\u200d\u200c\u2061\u2061\u202c\u2063\u202c\u2063\u2064\u200b\u200b\u2064\u200b\u2061\u8fb9\u7f18\u667a\u80fd-\u5929\u82b1\u5bfc\u89c6\u9a71\u52a8\u5f00\u53d1 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-21 13:03:37","icon":null,"url":"https://bytedance.larkoffice.com/docx/UMPIdh1IXoh7Wzx1X4EcvetjnNe","urls":{},"desc":"","rate":5,"id":1135,"breadcrumb":["\u5de5\u4f5c","MC100","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]}],"collapsed":false,"id":0},{"title":"ljy","createdAt":"2024-06-18 13:04:19","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"\u2063\ufeff\u200b\ufeff\u2063\u200c\u200b\ufeff\ufeff\u2061\u2062\u2062\u202c\u200b\u2064\u2064\u2062\u200b\u200d\u2064\u2064\u200b\u200c\u200c\u200d\u202c\u2061\u200b\u2063\u2062\u200b\u2061\u200b\u2061\u200b\u200d\u200d\ufeff\u2063\u200c\u2063\u2062\u2061\u200d\u200b\u2064\u7efc\u5408\u79ef\u6781\u60c5\u7eea\u7597\u6cd5\u5bf9\u62a4\u7406\u4eba\u5458\u4e2d\u91cd\u5ea6\u804c\u4e1a\u5026\u6020\u7684\u5e72\u9884\u7814\u7a76 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-10 02:48:53","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==","url":"https://bytedance.larkoffice.com/docx/LV4jdx9sLoAMlSx81d2cAWornxd","urls":{},"desc":"","rate":5,"id":1136,"breadcrumb":["ljy","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u9996\u9875","createdAt":"2024-06-10 02:48:53","icon":null,"url":"https://lib.plagh.cn/s/5/137/16/172/G.http-81/newjiansuo/","urls":{},"desc":"","rate":5,"id":1137,"breadcrumb":["ljy","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"createdAt":"2024-07-15 06:18:29"}]}],"collapsed":false},{"title":"job","createdAt":"2024-06-25 14:58:28","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"\u2062\u200c\u200d\u2064\u2062\ufeff\u2062\u2064\u2063\u2063\u2063\u200c\u200b\u200c\u200b\u200d\u200b\u200b\u2063\u200d\u2064\u200b\u200d\u200d\u200c\u200c\u200b\u200c\u200d\u202c\u2062\u200b\u200c\ufeff\u202c\u202c\u2064\u202c\u202c\u202c\u2064\u202c\u2062\u2061\u2064\u200b\u2064\u5168\u7403\u5316\u5199\u4f5c - \u589e\u5f3a\u6587\u6863\u6e05\u6670\u6027 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-25 14:58:28","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==","url":"https://bytedance.larkoffice.com/docx/H52YdcPqTohSQjx7s7FcwmA7n6b","urls":{},"desc":"","rate":5,"id":1138,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u2063\u2063\u200b\u2064\u200b\u2061\u200b\u2064\u200b\u202c\u200b\u2064\u200c\u200c\u200b\ufeff\u200b\u200c\u2063\u2063\u200c\u200b\u200b\u202c\u200c\u2064\u200b\u200d\u2061\u202c\u2061\u2063\u200b\u200b\u202c\u200d\u200c\u202c\u2064\ufeff\u2062\u2061\u200b\u200b\u200b\u2061\u200b\ufeff\u2063H1 \u603b\u7ed3 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-25 14:58:28","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==","url":"https://bytedance.larkoffice.com/docx/AFbTdBr4TodFjqxxiorcwwSjnth","urls":{},"desc":"","rate":5,"id":1139,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Docs","createdAt":"2024-06-25 14:58:28","icon":null,"url":"https://bytedance.larkoffice.com/docx/YY7SdYBb9oDsunxxdXxcdbL9nnh","urls":{},"desc":"","rate":5,"id":1140,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u2062\u2061\u2064\u200d\u200d\u2064\u200b\u200c\u202c\u202c\u200d\u2062\u202c\u202c\u200d\u200b\ufeff\u2061\u2064\u2061\u200b\u2064\u2062\u202c\u2064\u200b\u200b\u200c\u2062\u2061\u2064\ufeff\u200c\ufeff\u2062\u200b\u200b\u200d\u2061\ufeff\ufeff\u200b\u202c\u2063\u2061\u200d\u200d\u2061\u200b\u6587\u6863\u4f53\u9a8c\u63d0\u5347\u4e13\u9879\uff1a\u57fa\u4e8e\u591a\u7ef4\u6570\u636e\u63d0\u5347\u7528\u6237\u7684\u6587\u6863\u4f53\u9a8c - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-26 14:11:05","icon":null,"url":"https://bytedance.larkoffice.com/docx/SXGTdgWt2ogfqmxN6W9clDhHnsS","urls":{},"desc":"","rate":5,"id":1141,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"7 Best Practices for Planning Developer Documentation","createdAt":"2024-07-02 14:01:09","icon":null,"url":"https://daily.dev/blog/7-best-practices-for-planning-developer-documentation","urls":{},"desc":"","rate":5,"id":1142,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"5 Metrics to Measure Documentation Quality","createdAt":"2024-07-02 14:01:09","icon":null,"url":"https://daily.dev/blog/5-metrics-to-measure-documentation-quality#:~:text=Measuring%20documentation%20quality%20is%20crucial%20to%20ensure%20it%20meets%20user,improvement%20and%20optimize%20your%20documentation.","urls":{},"desc":"","rate":5,"id":1143,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e91\u901f\u642d(CADT)-\u963f\u91cc\u4e91\u5e2e\u52a9\u4e2d\u5fc3","createdAt":"2024-07-02 14:01:09","icon":null,"url":"https://help.aliyun.com/zh/cadt/?spm=a2c4g.750001.0.0.378d2842f0AIa8","urls":{},"desc":"","rate":5,"id":1144,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6210\u957f\u5730\u56fe_\u4e91\u6570\u636e\u5e93 RDS","createdAt":"2024-07-02 14:01:09","icon":null,"url":"https://support.huaweicloud.com/rds/index.html","urls":{},"desc":"","rate":5,"id":1145,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\ufeff\u2063\u2061\u200c\u2064\u202c\u2063\ufeff\u2064\u200c\u200c\ufeff\ufeff\u2064\u202c\u202c\u2061\u200b\u2061\u2063\u200d\u2062\u200c\u200d\u200c\u2063\u200b\u200b\u2061\u200b\u202c\u2062\u2063\u202c\u202c\ufeff\u202c\u200b\u2064\u2061\u200d\u200c\u200b\u2064\u2064\u2062\u2062\u202c\u202cREADME - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://bytedance.larkoffice.com/docs/doccnZ8HaCrBXYHnbx5JMwlx8Gh","urls":{},"desc":"","rate":5,"id":1146,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u57fa\u672c\u6982\u5ff5--\u89c6\u9891\u70b9\u64ad-\u706b\u5c71\u5f15\u64ce","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://www.volcengine.com/docs/4/3019","urls":{},"desc":"","rate":5,"id":1147,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u202c\u2063\u200d\ufeff\u200b\u2061\u2061\u200b\u2063\u2061\u200b\u200c\ufeff\u2062\u202c\u2064\u200c\u2063\u2062\u200d\u200c\u2064\u200b\u2063\u2061\u200b\u2061\u2063\u200c\u200d\ufeff\u200c\u202c\u202c\u202c\u200d\u200c\u200d\u2062\u2062\u2062\ufeff\u202c\ufeff\u2061\u2064\u200b\u200b\u200b\u{1f310} \u5199\u597d\u4e2d\u6587\u2014\u2014\u4e3a\u7ffb\u8bd1\u800c\u5199\u4f5c - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://bytedance.larkoffice.com/docx/X81kdvE1ioCCg2xxcUFcLIKxnch","urls":{},"desc":"","rate":5,"id":1148,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u2061\u200c\u2063\u200c\u202c\u2064\u2062\u2063\u2062\ufeff\u200c\ufeff\u202c\u2063\u2061\u202c\u2064\u200b\ufeff\u2061\u2064\u2063\u2063\u2063\u2061\u200b\ufeff\u2063\u2064\ufeff\u200b\u200d\u2064\u200c\u200c\u200b\u200b\ufeff\u200d\u2062\u202c\u200c\u200d\u2064\u2064\u200c\u2061\u200c\u2063\u5f00\u53d1\u8005\u8bbf\u8c08\u5b9e\u8df5\u5206\u4eab - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcnctYIhzKWPjL8toiYIUSS5d","urls":{},"desc":"","rate":5,"id":1149,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200c\u2064\u2062\u2063\u200d\u200b\u2062\u200d\u200c\u200d\u200b\u2061\u2063\u2063\ufeff\u200c\u2064\u2061\u200c\u200c\u202c\u200b\u200b\u2061\u2061\u200b\u200b\u2062\u202c\ufeff\ufeff\u202c\u200c\u200d\u200b\u2061\u200d\ufeff\u2064\u200d\ufeff\u200d\u2061\u2064\ufeff\u2061\u200c\u2061\u200b\u6587\u6863\u5de5\u7a0b\u5e08\u804a\u5199\u4f5c Master the Craft of Writing - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcndjZPM1gOeTWjf4hTFmL7ch","urls":{},"desc":"","rate":5,"id":1150,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e00\u4e2a\u60f3\u6cd5\u503c\u591a\u5c11\u94b1\uff1f94\u5e74\u5c0f\u4f19\u628a\u5947\u601d\u5999\u60f3\u53d8\u7206\u54c1\uff0c\u4e00\u4e2a\u4eba\u5356\u4e863\u5343\u4e07 - YouTube","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://www.youtube.com/watch?v=eOyM3GJDn5Y","urls":{},"desc":"","rate":5,"id":1151,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200c\u2061\u200c\u200b\u200c\ufeff\u2062\u2062\u2064\u200d\u202c\u200d\u200d\u2064\u200d\u2062\u202c\u202c\u200b\u2061\u200c\u2062\u2061\u2062\u2062\u200b\u2061\u200c\u2061\u2063\u202c\u2064\u202c\u2063\u200b\u200b\u2061\u200b\u2063\u2061\u2063\u2061\u2061\u2061\u2064\u2064\u200b\u2062\u2062\u6211\u662f\u600e\u6837\u5b66\u5199 API \u6587\u6863\u7684 \u2014\u2014 \u4e00\u4e2a\u6587\u6863\u5c0f\u5b66\u751f\u7684\u544a\u767d\u4e66 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcn3TlDetCC9nXHLbaP9P5sjf","urls":{},"desc":"","rate":5,"id":1152,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"createdAt":"2024-07-15 06:18:29"}]}],"collapsed":false},{"title":"\u5317\u5411\u901a\u9053","createdAt":"2024-07-10 13:26:55","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"EMQ: \u8fde\u63a5\u7269\u7406\u4e16\u754c\u4e0e\u4eba\u5de5\u667a\u80fd","createdAt":"2024-07-10 13:26:56","icon":null,"url":"https://www.emqx.cn/","urls":{},"desc":"","rate":5,"id":1153,"breadcrumb":["\u5317\u5411\u901a\u9053","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"eKuiper: Lightweight data stream processing engine for IoT edge","createdAt":"2024-07-10 13:26:56","icon":null,"url":"https://ekuiper.org/","urls":{},"desc":"","rate":5,"id":1154,"breadcrumb":["\u5317\u5411\u901a\u9053","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7269\u8054\u7f51\u4e2d\u5357\u5411\u534f\u8bae\u3001\u5317\u5411\u534f\u8bae\u662f\u4ec0\u4e48\uff1f\u5357\u5411\u534f\u8bae\u3001\u5317\u5411\u534f\u8bae\u7684\u533a\u522b-CSDN\u535a\u5ba2","createdAt":"2024-07-11 14:21:29","icon":null,"url":"https://blog.csdn.net/robin__su/article/details/135752022","urls":{},"desc":"","rate":5,"id":1155,"breadcrumb":["\u5317\u5411\u901a\u9053","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7269\u8054\u7f51\uff08IoT\uff09\u7684\u5317\u5411\u548c\u5357\u5411_\u5357\u5411\u5317\u5411\u5728\u7269\u8054\u7f51\u4e2d\u7684\u4f5c\u7528-CSDN\u535a\u5ba2","createdAt":"2024-07-11 14:21:29","icon":null,"url":"https://blog.csdn.net/qq_41045651/article/details/133990708","urls":{},"desc":"","rate":5,"id":1156,"breadcrumb":["\u5317\u5411\u901a\u9053","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"createdAt":"2024-07-15 06:18:29"}]}],"collapsed":false},{"title":"\u672a\u5206\u7c7b","createdAt":"2024-07-14 14:06:18","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"how to pronounce localizaiton - Google Search","createdAt":"2024-04-15 13:08:31","icon":null,"url":"https://www.google.com/search?q=how+to+pronounce+localizaiton&newwindow=1&sca_esv=e61ceee022fb5976&hl=en&biw=1138&bih=513&sxsrf=ACQVn0-vu3DLTAsDrV27hzXf20M5bQFy_g%3A1713145301434&ei=1YUcZq2LGrPs2roP47yZgAo&ved=0ahUKEwjtyY_Ji8OFAxUztlYBHWNeBqAQ4dUDCBA&uact=5&oq=how+to+pronounce+localizaiton&gs_lp=Egxnd3Mtd2l6LXNlcnAaAhgCIh1ob3cgdG8gcHJvbm91bmNlIGxvY2FsaXphaXRvbjIHECMYsAIYJzILEAAYgAQYigUYhgMyCxAAGIAEGIoFGIYDMggQABiABBiiBDIIEAAYgAQYogRIvi9QlQJYoy1wAngBkAEAmAGfAqABhxuqAQYwLjE2LjO4AQPIAQD4AQGYAhGgAsMXwgIKEAAYRxjWBBiwA8ICDRAAGIAEGIoFGEMYsAPCAg0QLhhDGIAEGIoFGLADwgIKECMYgAQYigUYJ8ICBRAAGIAEwgIKEAAYgAQYFBiHAsICDhAAGIAEGIoFGJECGIsDwgINEAAYgAQYFBiHAhiLA8ICCBAAGIAEGIsDwgIIEAAYgAQYywHCAgYQABgWGB7CAggQABgWGB4YD8ICBRAhGKABmAMAiAYBkAYKkgcIMi4xMC40LjGgB9GAAQ&sclient=gws-wiz-serp","urls":{},"desc":"","rate":5,"id":1157,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200b\ufeff\u2064\u2062\u2063\u2061\u2064\u200c\u2064\u2064\u200b\u2064\u2061\u2062\u2062\u2061\ufeff\u200c\u2062\u2063\u200b\u200d\u2061\u200c\u2064\u2062\u2062\u200b\u202c\u200c\u202c\u200b\u2064\u200b\u200b\u200b\u200c\u200b\u200d\u202c\u200d\u200b\u200c\u200b\u200c\u202c\u2063\u2063\u2062P0 \u63a8\u8350\uff5c\u7814\u53d1 leader \u79c1\u85cf\u4e66\u5355\uff0c\u4e00\u8d77\u9003\u9038\u5e73\u5eb8\u7684\u91cd\u529b - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://bytedance.larkoffice.com/wiki/AjyFw0g2IiQKmak3mZCcEYxungh","urls":{},"desc":"","rate":5,"id":1158,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e3a\u4ec0\u4e48\u4e2d\u56fd\u7684\u8ba1\u7b97\u673a\u6559\u80b2\u8fd9\u4e48\u5dee\uff1f - \u77e5\u4e4e","createdAt":"2024-04-30 13:29:52","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=","url":"https://zhuanlan.zhihu.com/p/684961969","urls":{},"desc":"","rate":5,"id":1159,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"(5) \u4fe1\u606f\u6d41 | LinkedIn","createdAt":"2024-04-30 13:29:52","icon":null,"url":"https://www.linkedin.com/feed/","urls":{},"desc":"","rate":5,"id":1160,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u3010TEDx\u6f14\u8bb2\u3011\u5982\u4f55\u5728\u516d\u4e2a\u6708\u5185\u5b66\u4f1a\u4efb\u4f55\u4e00\u95e8\u5916\u8bed_\u54d4\u54e9\u54d4\u54e9_bilibili","createdAt":"2024-05-17 23:30:24","icon":null,"url":"https://www.bilibili.com/video/BV1Hp421Q7E7/?spm_id_from=333.1007.tianma.2-1-3.click&vd_source=2ac52f1ffa7b85c0348647d2edfbbd3d","urls":{},"desc":"","rate":5,"id":1161,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\ufeff\u200b\u2061\u2064\u2061\ufeff\u2063\u2064\u2062\u200d\ufeff\u2062\u200b\u200b\u200d\u200b\u200b\u2062\u2063\u200c\u200b\u2062\u200d\u2061\u200b\u200c\u2061\u200b\u202c\u202c\u202c\ufeff\u200c\u200c\u2061\u200b\u200c\u200b\u2063\u200b\u2063\u2063\u200c\u200c\u200b\u202c\u2063\u202c\ufeffRefresh - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-21 13:03:37","icon":null,"url":"https://bytedance.larkoffice.com/wiki/Wa84wTbVeieupqk7BPicAsU4nJd","urls":{},"desc":"","rate":5,"id":1162,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u200b\ufeff\u200b\u2063\u202c\u200d\u200b\ufeff\u2061\u200d\u2063\u2061\u200d\u200b\ufeff\u2064\u2061\u200d\u2061\ufeff\u2063\u200c\u2062\u200c\u2062\u202c\u200d\u2063\u200d\u2063\u2063\u2064\u2064\u2062\ufeff\ufeff\u200d\u200c\ufeff\u200d\u200b\ufeff\u2064\u2064\u2061\u200c\u2064\u202c\u200bAI First\u5b66\u4e60\u4e0e\u601d\u8003\u65e5\u5fd7 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-21 13:03:37","icon":null,"url":"https://bytedance.larkoffice.com/docx/M2BZdhFOGofl7Ax5KCicVbt6nHh","urls":{},"desc":"","rate":5,"id":1163,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ArcoSite","createdAt":"2024-07-08 13:39:39","icon":null,"url":"https://arcosite.bytedance.net/sites/1706781084484/65bb7c1ae03b3e030170b6ef/editor/65c0c74fb3773f0300b16caa?docLang=zh&bv=65bb7c1be03b3e030170b6f8","urls":{},"desc":"","rate":5,"id":1164,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ArcoSite","createdAt":"2024-07-08 13:39:39","icon":null,"url":"https://arcosite.bytedance.net/sites/1692956286931/64e876e1814dd502ace091c2/editor/65099093292d8302fc8549fa?docLang=zh&bv=652fd8f4fb401502ea5f2aa2","urls":{},"desc":"","rate":5,"id":1165,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"An overview of HTTP - HTTP | MDN","createdAt":"2024-07-10 13:26:55","icon":null,"url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview#basic_aspects_of_http","urls":{},"desc":"","rate":5,"id":1166,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e00\u676f\u8336\u7684\u65f6\u95f4\uff0c\u641e\u61c2 RESTful API","createdAt":"2024-07-10 13:26:55","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC40lEQVQ4jW2Tz2ucZRDHv995nuftZje7S3+m2JIsFilWqT9KKLKgOdRfF/HSggeDBylEhJDe6qXRQ3sQWi8SLJ68SKmoCC0eLJbagiWIf4CoawxoaDFu3mbf3XefZ8ZDxKbBOQ4zzAzz+RCbwnDcEZcTANjRmSPwPGNURsT57ObHP2ytAQBuJCEEFADs8TfH0Bg9BaYZMNUhClBzCBbQy8/z9qcrm3t4fzqIZ2ZPwvE0oBOaCphgCFGopRCChzoswcqzcu2TiwTs/gaTs5Pw7gI82ujlSDVfwplDWdKosFpmRktuLc9cowpDvBWHg7ns2qVFMUx5eFxEkLatrQ7SwX2pnH7Ra79PdUajMsaScW7ap8ceTv18dUAvbQb56NupKS9otbwhjiL2klacw/tviVYzat41Zs5QCZZW/zJsC3TvzYp6uhSLZIj1FuAFnRWDp6K37tKxp8CHdjMcnIA2qrThELqe05o1+kda5vbuIY61ob11Z54al5dN0BojqTSLSIcPUAANTx+ie/s1aFkYx/cCLz+L7i+/IgJITzzKpCXoDH7/fvoOOmi5Q6ZQlKaoAMKYNJx4iWg/CezageA9iktf4M98Tf3S72g6ANxAQWJnxAwJzAS973+0XlEoSAEAjO8TVEcAJ9zz+gkJlQoGV66aq1dgiIjLyya+NUbTKNKoJH63iD/mP7DC0egc//0z4Ry73a4WN27Y6KAHBiZDko0TOp043jqQQ5xrNOuD8pubbumdc7pzZpqp36eZYbj6t3U/XEDj558s2709hYBtpeq9zvXrkQBQPvfGZMjkAsTahZVYuXunzHfVnYoRRQEX+9bMXNrRrGU1rzDRWzGmuezzrxcfQFmfnz4pLp2Gl4m7vTUYdEgPuMCwveqgOvwN1HPy2dUtKG+S6d7RV8ZqO0dORbEZEa2DCSqaC9NCEe+cH/3q9v/LtFXV9RdePZJVME+aDRjfrX15ZUPn43C8jP90/geE9nH5rtBMQQAAAABJRU5ErkJggg==","url":"https://apifox.com/blog/a-cup-of-tea-time-to-understand-restful-api/?utm_source=google_search&utm_medium=g&utm_campaign=15676663585&utm_content=137784982731&utm_term=&gad_source=1&gclid=Cj0KCQjwv7O0BhDwARIsAC0sjWPgb0_YxiOjSCZ3I6Pgfvr3IMMrAFoYyjKC3EvxYA6QdwElrttmceUaAtMqEALw_wcB","urls":{},"desc":"","rate":5,"id":1167,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"createdAt":"2024-07-15 06:18:29"}]}],"collapsed":true}]'),jg=JSON.parse('[{"name":"\u7ad9\u5185","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/logo.png","placeholder":"\u7ad9\u5185\u641c\u7d22","blocked":false,"isInner":true},{"name":"\u767e\u5ea6","url":"https://www.baidu.com/s?wd=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/baidu.svg","placeholder":"\u767e\u5ea6\u4e00\u4e0b","blocked":false,"isInner":false},{"name":"Google","url":"https://www.google.com/search?q=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/google.svg","blocked":false,"isInner":false},{"name":"\u5fc5\u5e94","url":"https://cn.bing.com/search?q=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/bing.svg","blocked":false,"isInner":false},{"name":"GitHub","url":"https://github.com/search?q=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/github.svg","placeholder":"Search GitHub","blocked":false,"isInner":false},{"name":"\u77e5\u4e4e","url":"https://www.zhihu.com/search?type=content&q=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/zhihu.svg","blocked":false,"isInner":false},{"name":"\u8c46\u74e3","url":"https://search.douban.com/book/subject_search?search_text=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/douban.svg","placeholder":"\u4e66\u540d\u3001\u4f5c\u8005\u3001ISBN","blocked":false,"isInner":false}]'),Yg="data/db.json",Wi={token:"token",location:"location",s_url:"s_url",isDark:"isDark",website:"website",engine:"engine",language:"language",total:"total",authCode:"AUTH_CODE"};function j4(){return window.localStorage.getItem("token")||""}function Ug(){return window.localStorage.getItem("AUTH_CODE")||""}function BM(t){return window.localStorage.setItem("AUTH_CODE",t.trim())}function HM(){const t=Ug();window.localStorage.clear(),BM(t)}const Gi=!!j4();var pa=function(t){return t[t.All=1]="All",t[t.Title=2]="Title",t[t.Desc=3]="Desc",t[t.Url=4]="Url",t[t.Current=5]="Current",t}(pa||{});function jM(t,n){return function(){return t.apply(n,arguments)}}const{toString:OX}=Object.prototype,{getPrototypeOf:Wg}=Object,Y4=(t=>n=>{const e=OX.call(n);return t[e]||(t[e]=e.slice(8,-1).toLowerCase())})(Object.create(null)),Ur=t=>(t=t.toLowerCase(),n=>Y4(n)===t),U4=t=>n=>typeof n===t,{isArray:y1}=Array,Vu=U4("undefined"),YM=Ur("ArrayBuffer"),NX=U4("string"),br=U4("function"),UM=U4("number"),W4=t=>null!==t&&"object"==typeof t,G4=t=>{if("object"!==Y4(t))return!1;const n=Wg(t);return!(null!==n&&n!==Object.prototype&&null!==Object.getPrototypeOf(n)||Symbol.toStringTag in t||Symbol.iterator in t)},RX=Ur("Date"),LX=Ur("File"),BX=Ur("Blob"),HX=Ur("FileList"),UX=Ur("URLSearchParams"),[WX,GX,qX,QX]=["ReadableStream","Request","Response","Headers"].map(Ur);function Nu(t,n,{allOwnKeys:e=!1}={}){if(null===t||typeof t>"u")return;let i,o;if("object"!=typeof t&&(t=[t]),y1(t))for(i=0,o=t.length;i0;)if(o=e[i],n===o.toLowerCase())return o;return null}const GM=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,qM=t=>!Vu(t)&&t!==GM,nee=(t=>n=>t&&n instanceof t)(typeof Uint8Array<"u"&&Wg(Uint8Array)),ree=Ur("HTMLFormElement"),QM=(({hasOwnProperty:t})=>(n,e)=>t.call(n,e))(Object.prototype),aee=Ur("RegExp"),KM=(t,n)=>{const e=Object.getOwnPropertyDescriptors(t),i={};Nu(e,(o,r)=>{let s;!1!==(s=n(o,r,t))&&(i[r]=s||o)}),Object.defineProperties(t,i)},qg="abcdefghijklmnopqrstuvwxyz",$M="0123456789",JM={DIGIT:$M,ALPHA:qg,ALPHA_DIGIT:qg+qg.toUpperCase()+$M},mee=Ur("AsyncFunction"),$={isArray:y1,isArrayBuffer:YM,isBuffer:function PX(t){return null!==t&&!Vu(t)&&null!==t.constructor&&!Vu(t.constructor)&&br(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let n;return t&&("function"==typeof FormData&&t instanceof FormData||br(t.append)&&("formdata"===(n=Y4(t))||"object"===n&&br(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function VX(t){let n;return n=typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&YM(t.buffer),n},isString:NX,isNumber:UM,isBoolean:t=>!0===t||!1===t,isObject:W4,isPlainObject:G4,isReadableStream:WX,isRequest:GX,isResponse:qX,isHeaders:QX,isUndefined:Vu,isDate:RX,isFile:LX,isBlob:BX,isRegExp:aee,isFunction:br,isStream:t=>W4(t)&&br(t.pipe),isURLSearchParams:UX,isTypedArray:nee,isFileList:HX,forEach:Nu,merge:function Gg(){const{caseless:t}=qM(this)&&this||{},n={},e=(i,o)=>{const r=t&&WM(n,o)||o;n[r]=G4(n[r])&&G4(i)?Gg(n[r],i):G4(i)?Gg({},i):y1(i)?i.slice():i};for(let i=0,o=arguments.length;i(Nu(n,(o,r)=>{t[r]=e&&br(o)?jM(o,e):o},{allOwnKeys:i}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,n,e,i)=>{t.prototype=Object.create(n.prototype,i),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:n.prototype}),e&&Object.assign(t.prototype,e)},toFlatObject:(t,n,e,i)=>{let o,r,s;const a={};if(n=n||{},null==t)return n;do{for(o=Object.getOwnPropertyNames(t),r=o.length;r-- >0;)s=o[r],(!i||i(s,t,n))&&!a[s]&&(n[s]=t[s],a[s]=!0);t=!1!==e&&Wg(t)}while(t&&(!e||e(t,n))&&t!==Object.prototype);return n},kindOf:Y4,kindOfTest:Ur,endsWith:(t,n,e)=>{t=String(t),(void 0===e||e>t.length)&&(e=t.length);const i=t.indexOf(n,e-=n.length);return-1!==i&&i===e},toArray:t=>{if(!t)return null;if(y1(t))return t;let n=t.length;if(!UM(n))return null;const e=new Array(n);for(;n-- >0;)e[n]=t[n];return e},forEachEntry:(t,n)=>{const i=(t&&t[Symbol.iterator]).call(t);let o;for(;(o=i.next())&&!o.done;){const r=o.value;n.call(t,r[0],r[1])}},matchAll:(t,n)=>{let e;const i=[];for(;null!==(e=t.exec(n));)i.push(e);return i},isHTMLForm:ree,hasOwnProperty:QM,hasOwnProp:QM,reduceDescriptors:KM,freezeMethods:t=>{KM(t,(n,e)=>{if(br(t)&&-1!==["arguments","caller","callee"].indexOf(e))return!1;if(br(t[e])){if(n.enumerable=!1,"writable"in n)return void(n.writable=!1);n.set||(n.set=()=>{throw Error("Can not rewrite read-only method '"+e+"'")})}})},toObjectSet:(t,n)=>{const e={},i=o=>{o.forEach(r=>{e[r]=!0})};return y1(t)?i(t):i(String(t).split(n)),e},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,i,o){return i.toUpperCase()+o}),noop:()=>{},toFiniteNumber:(t,n)=>null!=t&&Number.isFinite(t=+t)?t:n,findKey:WM,global:GM,isContextDefined:qM,ALPHABET:JM,generateString:(t=16,n=JM.ALPHA_DIGIT)=>{let e="";const{length:i}=n;for(;t--;)e+=n[Math.random()*i|0];return e},isSpecCompliantForm:function pee(t){return!!(t&&br(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const n=new Array(10),e=(i,o)=>{if(W4(i)){if(n.indexOf(i)>=0)return;if(!("toJSON"in i)){n[o]=i;const r=y1(i)?[]:{};return Nu(i,(s,a)=>{const l=e(s,o+1);!Vu(l)&&(r[a]=l)}),n[o]=void 0,r}}return i};return e(t,0)},isAsyncFn:mee,isThenable:t=>t&&(W4(t)||br(t))&&br(t.then)&&br(t.catch)};function w1(t,n,e,i,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",n&&(this.code=n),e&&(this.config=e),i&&(this.request=i),o&&(this.response=o)}$.inherits(w1,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:$.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ZM=w1.prototype,XM={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{XM[t]={value:t}}),Object.defineProperties(w1,XM),Object.defineProperty(ZM,"isAxiosError",{value:!0}),w1.from=(t,n,e,i,o,r)=>{const s=Object.create(ZM);return $.toFlatObject(t,s,function(l){return l!==Error.prototype},a=>"isAxiosError"!==a),w1.call(s,t.message,n,e,i,o),s.cause=t,s.name=t.name,r&&Object.assign(s,r),s};const Bt=w1;function Qg(t){return $.isPlainObject(t)||$.isArray(t)}function tD(t){return $.endsWith(t,"[]")?t.slice(0,-2):t}function nD(t,n,e){return t?t.concat(n).map(function(o,r){return o=tD(o),!e&&r?"["+o+"]":o}).join(e?".":""):n}const vee=$.toFlatObject($,{},null,function(n){return/^is[A-Z]/.test(n)}),q4=function bee(t,n,e){if(!$.isObject(t))throw new TypeError("target must be an object");n=n||new FormData;const i=(e=$.toFlatObject(e,{metaTokens:!0,dots:!1,indexes:!1},!1,function(z,E){return!$.isUndefined(E[z])})).metaTokens,o=e.visitor||u,r=e.dots,s=e.indexes,l=(e.Blob||typeof Blob<"u"&&Blob)&&$.isSpecCompliantForm(n);if(!$.isFunction(o))throw new TypeError("visitor must be a function");function c(y){if(null===y)return"";if($.isDate(y))return y.toISOString();if(!l&&$.isBlob(y))throw new Bt("Blob is not supported. Use a Buffer instead.");return $.isArrayBuffer(y)||$.isTypedArray(y)?l&&"function"==typeof Blob?new Blob([y]):Buffer.from(y):y}function u(y,z,E){let x=y;if(y&&!E&&"object"==typeof y)if($.endsWith(z,"{}"))z=i?z:z.slice(0,-2),y=JSON.stringify(y);else if($.isArray(y)&&function gee(t){return $.isArray(t)&&!t.some(Qg)}(y)||($.isFileList(y)||$.endsWith(z,"[]"))&&(x=$.toArray(y)))return z=tD(z),x.forEach(function(ie,pe){!$.isUndefined(ie)&&null!==ie&&n.append(!0===s?nD([z],pe,r):null===s?z:z+"[]",c(ie))}),!1;return!!Qg(y)||(n.append(nD(E,z,r),c(y)),!1)}const p=[],b=Object.assign(vee,{defaultVisitor:u,convertValue:c,isVisitable:Qg});if(!$.isObject(t))throw new TypeError("data must be an object");return function _(y,z){if(!$.isUndefined(y)){if(-1!==p.indexOf(y))throw Error("Circular reference detected in "+z.join("."));p.push(y),$.forEach(y,function(x,k){!0===(!($.isUndefined(x)||null===x)&&o.call(n,x,$.isString(k)?k.trim():k,z,b))&&_(x,z?z.concat(k):[k])}),p.pop()}}(t),n};function iD(t){const n={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(i){return n[i]})}function oD(t,n){this._pairs=[],t&&q4(t,this,n)}const rD=oD.prototype;rD.append=function(n,e){this._pairs.push([n,e])},rD.toString=function(n){const e=n?function(i){return n.call(this,i,iD)}:iD;return this._pairs.map(function(o){return e(o[0])+"="+e(o[1])},"").join("&")};const sD=oD;function _ee(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function aD(t,n,e){if(!n)return t;const i=e&&e.encode||_ee,o=e&&e.serialize;let r;if(r=o?o(n,e):$.isURLSearchParams(n)?n.toString():new sD(n,e).toString(i),r){const s=t.indexOf("#");-1!==s&&(t=t.slice(0,s)),t+=(-1===t.indexOf("?")?"?":"&")+r}return t}const lD=class yee{constructor(){this.handlers=[]}use(n,e,i){return this.handlers.push({fulfilled:n,rejected:e,synchronous:!!i&&i.synchronous,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(n){this.handlers[n]&&(this.handlers[n]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(n){$.forEach(this.handlers,function(i){null!==i&&n(i)})}},cD={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},wee={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:sD,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Kg=typeof window<"u"&&typeof document<"u",Cee=(t=typeof navigator<"u"&&navigator.product,Kg&&["ReactNative","NativeScript","NS"].indexOf(t)<0),zee=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Aee=Kg&&window.location.href||"http://localhost",Wr={...X,...wee};var t;const dD=function Dee(t){function n(e,i,o,r){let s=e[r++];if("__proto__"===s)return!0;const a=Number.isFinite(+s),l=r>=e.length;return s=!s&&$.isArray(o)?o.length:s,l?(o[s]=$.hasOwnProp(o,s)?[o[s],i]:i,!a):((!o[s]||!$.isObject(o[s]))&&(o[s]=[]),n(e,i,o[s],r)&&$.isArray(o[s])&&(o[s]=function Mee(t){const n={},e=Object.keys(t);let i;const o=e.length;let r;for(i=0;i{n(function Tee(t){return $.matchAll(/\w+|\[(\w*)]/g,t).map(n=>"[]"===n[0]?"":n[1]||n[0])}(i),o,e,0)}),e}return null},$g={transitional:cD,adapter:["xhr","http","fetch"],transformRequest:[function(n,e){const i=e.getContentType()||"",o=i.indexOf("application/json")>-1,r=$.isObject(n);if(r&&$.isHTMLForm(n)&&(n=new FormData(n)),$.isFormData(n))return o?JSON.stringify(dD(n)):n;if($.isArrayBuffer(n)||$.isBuffer(n)||$.isStream(n)||$.isFile(n)||$.isBlob(n)||$.isReadableStream(n))return n;if($.isArrayBufferView(n))return n.buffer;if($.isURLSearchParams(n))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),n.toString();let a;if(r){if(i.indexOf("application/x-www-form-urlencoded")>-1)return function See(t,n){return q4(t,new Wr.classes.URLSearchParams,Object.assign({visitor:function(e,i,o,r){return Wr.isNode&&$.isBuffer(e)?(this.append(i,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},n))}(n,this.formSerializer).toString();if((a=$.isFileList(n))||i.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return q4(a?{"files[]":n}:n,l&&new l,this.formSerializer)}}return r||o?(e.setContentType("application/json",!1),function Eee(t,n,e){if($.isString(t))try{return(n||JSON.parse)(t),$.trim(t)}catch(i){if("SyntaxError"!==i.name)throw i}return(e||JSON.stringify)(t)}(n)):n}],transformResponse:[function(n){const e=this.transitional||$g.transitional,i=e&&e.forcedJSONParsing,o="json"===this.responseType;if($.isResponse(n)||$.isReadableStream(n))return n;if(n&&$.isString(n)&&(i&&!this.responseType||o)){const s=!(e&&e.silentJSONParsing)&&o;try{return JSON.parse(n)}catch(a){if(s)throw"SyntaxError"===a.name?Bt.from(a,Bt.ERR_BAD_RESPONSE,this,null,this.response):a}}return n}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Wr.classes.FormData,Blob:Wr.classes.Blob},validateStatus:function(n){return n>=200&&n<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};$.forEach(["delete","get","head","post","put","patch"],t=>{$g.headers[t]={}});const Jg=$g,xee=$.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),uD=Symbol("internals");function Fu(t){return t&&String(t).trim().toLowerCase()}function Q4(t){return!1===t||null==t?t:$.isArray(t)?t.map(Q4):String(t)}function Zg(t,n,e,i,o){if($.isFunction(i))return i.call(this,n,e);if(o&&(n=e),$.isString(n)){if($.isString(i))return-1!==n.indexOf(i);if($.isRegExp(i))return i.test(n)}}class K4{constructor(n){n&&this.set(n)}set(n,e,i){const o=this;function r(a,l,c){const u=Fu(l);if(!u)throw new Error("header name must be a non-empty string");const p=$.findKey(o,u);(!p||void 0===o[p]||!0===c||void 0===c&&!1!==o[p])&&(o[p||l]=Q4(a))}const s=(a,l)=>$.forEach(a,(c,u)=>r(c,u,l));if($.isPlainObject(n)||n instanceof this.constructor)s(n,e);else if($.isString(n)&&(n=n.trim())&&!(t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))(n))s((t=>{const n={};let e,i,o;return t&&t.split("\n").forEach(function(s){o=s.indexOf(":"),e=s.substring(0,o).trim().toLowerCase(),i=s.substring(o+1).trim(),!(!e||n[e]&&xee[e])&&("set-cookie"===e?n[e]?n[e].push(i):n[e]=[i]:n[e]=n[e]?n[e]+", "+i:i)}),n})(n),e);else if($.isHeaders(n))for(const[a,l]of n.entries())r(l,a,i);else null!=n&&r(e,n,i);return this}get(n,e){if(n=Fu(n)){const i=$.findKey(this,n);if(i){const o=this[i];if(!e)return o;if(!0===e)return function Iee(t){const n=Object.create(null),e=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=e.exec(t);)n[i[1]]=i[2];return n}(o);if($.isFunction(e))return e.call(this,o,i);if($.isRegExp(e))return e.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(n,e){if(n=Fu(n)){const i=$.findKey(this,n);return!(!i||void 0===this[i]||e&&!Zg(0,this[i],i,e))}return!1}delete(n,e){const i=this;let o=!1;function r(s){if(s=Fu(s)){const a=$.findKey(i,s);a&&(!e||Zg(0,i[a],a,e))&&(delete i[a],o=!0)}}return $.isArray(n)?n.forEach(r):r(n),o}clear(n){const e=Object.keys(this);let i=e.length,o=!1;for(;i--;){const r=e[i];(!n||Zg(0,this[r],r,n,!0))&&(delete this[r],o=!0)}return o}normalize(n){const e=this,i={};return $.forEach(this,(o,r)=>{const s=$.findKey(i,r);if(s)return e[s]=Q4(o),void delete e[r];const a=n?function Pee(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(n,e,i)=>e.toUpperCase()+i)}(r):String(r).trim();a!==r&&delete e[r],e[a]=Q4(o),i[a]=!0}),this}concat(...n){return this.constructor.concat(this,...n)}toJSON(n){const e=Object.create(null);return $.forEach(this,(i,o)=>{null!=i&&!1!==i&&(e[o]=n&&$.isArray(i)?i.join(", "):i)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([n,e])=>n+": "+e).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(n){return n instanceof this?n:new this(n)}static concat(n,...e){const i=new this(n);return e.forEach(o=>i.set(o)),i}static accessor(n){const i=(this[uD]=this[uD]={accessors:{}}).accessors,o=this.prototype;function r(s){const a=Fu(s);i[a]||(function Vee(t,n){const e=$.toCamelCase(" "+n);["get","set","has"].forEach(i=>{Object.defineProperty(t,i+e,{value:function(o,r,s){return this[i].call(this,n,o,r,s)},configurable:!0})})}(o,s),i[a]=!0)}return $.isArray(n)?n.forEach(r):r(n),this}}K4.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),$.reduceDescriptors(K4.prototype,({value:t},n)=>{let e=n[0].toUpperCase()+n.slice(1);return{get:()=>t,set(i){this[e]=i}}}),$.freezeMethods(K4);const Gr=K4;function Xg(t,n){const e=this||Jg,i=n||e,o=Gr.from(i.headers);let r=i.data;return $.forEach(t,function(a){r=a.call(e,r,o.normalize(),n?n.status:void 0)}),o.normalize(),r}function hD(t){return!(!t||!t.__CANCEL__)}function pD(t,n,e){Bt.call(this,t??"canceled",Bt.ERR_CANCELED,n,e),this.name="CanceledError"}$.inherits(pD,Bt,{__CANCEL__:!0});const Ru=pD;function fD(t,n,e){const i=e.config.validateStatus;e.status&&i&&!i(e.status)?n(new Bt("Request failed with status code "+e.status,[Bt.ERR_BAD_REQUEST,Bt.ERR_BAD_RESPONSE][Math.floor(e.status/100)-4],e.config,e.request,e)):t(e)}const $4=(t,n,e=3)=>{let i=0;const o=function Fee(t,n){t=t||10;const e=new Array(t),i=new Array(t);let s,o=0,r=0;return n=void 0!==n?n:1e3,function(l){const c=Date.now(),u=i[r];s||(s=c),e[o]=l,i[o]=c;let p=r,b=0;for(;p!==o;)b+=e[p++],p%=t;if(o=(o+1)%t,o===r&&(r=(r+1)%t),c-si)return o&&(clearTimeout(o),o=null),e=a,t.apply(null,arguments);o||(o=setTimeout(()=>(o=null,e=Date.now(),t.apply(null,arguments)),i-(a-e)))}}(r=>{const s=r.loaded,a=r.lengthComputable?r.total:void 0,l=s-i,c=o(l);i=s;const p={loaded:s,total:a,progress:a?s/a:void 0,bytes:l,rate:c||void 0,estimated:c&&a&&s<=a?(a-s)/c:void 0,event:r,lengthComputable:null!=a};p[n?"download":"upload"]=!0,t(p)},e)},Hee=Wr.hasStandardBrowserEnv?function(){const n=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let i;function o(r){let s=r;return n&&(e.setAttribute("href",s),s=e.href),e.setAttribute("href",s),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return i=o(window.location.href),function(s){const a=$.isString(s)?o(s):s;return a.protocol===i.protocol&&a.host===i.host}}():function(){return function(){return!0}}(),jee=Wr.hasStandardBrowserEnv?{write(t,n,e,i,o,r){const s=[t+"="+encodeURIComponent(n)];$.isNumber(e)&&s.push("expires="+new Date(e).toGMTString()),$.isString(i)&&s.push("path="+i),$.isString(o)&&s.push("domain="+o),!0===r&&s.push("secure"),document.cookie=s.join("; ")},read(t){const n=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function mD(t,n){return t&&!function Yee(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}(n)?function Uee(t,n){return n?t.replace(/\/?\/$/,"")+"/"+n.replace(/^\/+/,""):t}(t,n):n}const gD=t=>t instanceof Gr?{...t}:t;function ml(t,n){n=n||{};const e={};function i(c,u,p){return $.isPlainObject(c)&&$.isPlainObject(u)?$.merge.call({caseless:p},c,u):$.isPlainObject(u)?$.merge({},u):$.isArray(u)?u.slice():u}function o(c,u,p){return $.isUndefined(u)?$.isUndefined(c)?void 0:i(void 0,c,p):i(c,u,p)}function r(c,u){if(!$.isUndefined(u))return i(void 0,u)}function s(c,u){return $.isUndefined(u)?$.isUndefined(c)?void 0:i(void 0,c):i(void 0,u)}function a(c,u,p){return p in n?i(c,u):p in t?i(void 0,c):void 0}const l={url:r,method:r,data:r,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(c,u)=>o(gD(c),gD(u),!0)};return $.forEach(Object.keys(Object.assign({},t,n)),function(u){const p=l[u]||o,b=p(t[u],n[u],u);$.isUndefined(b)&&p!==a||(e[u]=b)}),e}const vD=t=>{const n=ml({},t);let l,{data:e,withXSRFToken:i,xsrfHeaderName:o,xsrfCookieName:r,headers:s,auth:a}=n;if(n.headers=s=Gr.from(s),n.url=aD(mD(n.baseURL,n.url),t.params,t.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),$.isFormData(e))if(Wr.hasStandardBrowserEnv||Wr.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(!1!==(l=s.getContentType())){const[c,...u]=l?l.split(";").map(p=>p.trim()).filter(Boolean):[];s.setContentType([c||"multipart/form-data",...u].join("; "))}if(Wr.hasStandardBrowserEnv&&(i&&$.isFunction(i)&&(i=i(n)),i||!1!==i&&Hee(n.url))){const c=o&&r&&jee.read(r);c&&s.set(o,c)}return n},Wee=typeof XMLHttpRequest<"u"&&function(t){return new Promise(function(e,i){const o=vD(t);let r=o.data;const s=Gr.from(o.headers).normalize();let l,{responseType:a}=o;function c(){o.cancelToken&&o.cancelToken.unsubscribe(l),o.signal&&o.signal.removeEventListener("abort",l)}let u=new XMLHttpRequest;function p(){if(!u)return;const _=Gr.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders());fD(function(x){e(x),c()},function(x){i(x),c()},{data:a&&"text"!==a&&"json"!==a?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:_,config:t,request:u}),u=null}u.open(o.method.toUpperCase(),o.url,!0),u.timeout=o.timeout,"onloadend"in u?u.onloadend=p:u.onreadystatechange=function(){!u||4!==u.readyState||0===u.status&&(!u.responseURL||0!==u.responseURL.indexOf("file:"))||setTimeout(p)},u.onabort=function(){u&&(i(new Bt("Request aborted",Bt.ECONNABORTED,o,u)),u=null)},u.onerror=function(){i(new Bt("Network Error",Bt.ERR_NETWORK,o,u)),u=null},u.ontimeout=function(){let y=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";o.timeoutErrorMessage&&(y=o.timeoutErrorMessage),i(new Bt(y,(o.transitional||cD).clarifyTimeoutError?Bt.ETIMEDOUT:Bt.ECONNABORTED,o,u)),u=null},void 0===r&&s.setContentType(null),"setRequestHeader"in u&&$.forEach(s.toJSON(),function(y,z){u.setRequestHeader(z,y)}),$.isUndefined(o.withCredentials)||(u.withCredentials=!!o.withCredentials),a&&"json"!==a&&(u.responseType=o.responseType),"function"==typeof o.onDownloadProgress&&u.addEventListener("progress",$4(o.onDownloadProgress,!0)),"function"==typeof o.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",$4(o.onUploadProgress)),(o.cancelToken||o.signal)&&(l=_=>{u&&(i(!_||_.type?new Ru(null,t,u):_),u.abort(),u=null)},o.cancelToken&&o.cancelToken.subscribe(l),o.signal&&(o.signal.aborted?l():o.signal.addEventListener("abort",l)));const b=function Nee(t){const n=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return n&&n[1]||""}(o.url);b&&-1===Wr.protocols.indexOf(b)?i(new Bt("Unsupported protocol "+b+":",Bt.ERR_BAD_REQUEST,t)):u.send(r||null)})},Gee=(t,n)=>{let i,e=new AbortController;const o=function(l){if(!i){i=!0,s();const c=l instanceof Error?l:this.reason;e.abort(c instanceof Bt?c:new Ru(c instanceof Error?c.message:c))}};let r=n&&setTimeout(()=>{o(new Bt(`timeout ${n} of ms exceeded`,Bt.ETIMEDOUT))},n);const s=()=>{t&&(r&&clearTimeout(r),r=null,t.forEach(l=>{l&&(l.removeEventListener?l.removeEventListener("abort",o):l.unsubscribe(o))}),t=null)};t.forEach(l=>l&&l.addEventListener&&l.addEventListener("abort",o));const{signal:a}=e;return a.unsubscribe=s,[a,()=>{r&&clearTimeout(r),r=null}]};function e5(t,n){this.v=t,this.k=n}function Lu(t){var n,e;function i(r,s){try{var a=t[r](s),l=a.value,c=l instanceof e5;Promise.resolve(c?l.v:l).then(function(u){if(c){var p="return"===r?"return":"next";if(!l.k||u.done)return i(p,u);u=t[p](u).value}o(a.done?"return":"normal",u)},function(u){i("throw",u)})}catch(u){o("throw",u)}}function o(r,s){switch(r){case"return":n.resolve({value:s,done:!0});break;case"throw":n.reject(s);break;default:n.resolve({value:s,done:!1})}(n=n.next)?i(n.key,n.arg):e=null}this._invoke=function(r,s){return new Promise(function(a,l){var c={key:r,arg:s,resolve:a,reject:l,next:null};e?e=e.next=c:(n=e=c,i(r,s))})},"function"!=typeof t.return&&(this.return=void 0)}function J4(t){return new e5(t,0)}function Qee(t){var n={},e=!1;function i(o,r){return e=!0,{done:!1,value:new e5(r=new Promise(function(s){s(t[o](r))}),1)}}return n[typeof Symbol<"u"&&Symbol.iterator||"@@iterator"]=function(){return this},n.next=function(o){return e?(e=!1,o):i("next",o)},"function"==typeof t.throw&&(n.throw=function(o){if(e)throw e=!1,o;return i("throw",o)}),"function"==typeof t.return&&(n.return=function(o){return e?(e=!1,o):i("return",o)}),n}function bD(t){var n,e,i,o=2;for(typeof Symbol<"u"&&(e=Symbol.asyncIterator,i=Symbol.iterator);o--;){if(e&&null!=(n=t[e]))return n.call(t);if(i&&null!=(n=t[i]))return new Z4(n.call(t));e="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}function Z4(t){function n(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var i=e.done;return Promise.resolve(e.value).then(function(o){return{value:o,done:i}})}return(Z4=function(i){this.s=i,this.n=i.next}).prototype={s:null,n:null,next:function(){return n(this.n.apply(this.s,arguments))},return:function(i){var o=this.s.return;return void 0===o?Promise.resolve({value:i,done:!0}):n(o.apply(this.s,arguments))},throw:function(i){var o=this.s.return;return void 0===o?Promise.reject(i):n(o.apply(this.s,arguments))}},new Z4(t)}Lu.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},Lu.prototype.next=function(t){return this._invoke("next",t)},Lu.prototype.throw=function(t){return this._invoke("throw",t)},Lu.prototype.return=function(t){return this._invoke("return",t)};const Kee=function*(t,n){let e=t.byteLength;if(!n||e{const r=$ee(t,n,o);let s=0;return new ReadableStream({type:"bytes",pull:a=>Mi(function*(){const{done:l,value:c}=yield r.next();if(l)return a.close(),void i();e&&e(s+=c.byteLength),a.enqueue(new Uint8Array(c))})(),cancel:a=>(i(a),r.return())},{highWaterMark:2})},yD=(t,n)=>{const e=null!=t;return i=>setTimeout(()=>n({lengthComputable:e,total:t,loaded:i}))},X4="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,wD=X4&&"function"==typeof ReadableStream,t5=X4&&("function"==typeof TextEncoder?(t=>n=>t.encode(n))(new TextEncoder):function(){var t=Mi(function*(n){return new Uint8Array(yield new Response(n).arrayBuffer())});return function(n){return t.apply(this,arguments)}}()),Jee=wD&&(()=>{let t=!1;const n=new Request(Wr.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!n})(),n5=wD&&!!(()=>{try{return $.isReadableStream(new Response("").body)}catch{}})(),e3={stream:n5&&(t=>t.body)};X4&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(n=>{!e3[n]&&(e3[n]=$.isFunction(t[n])?e=>e[n]():(e,i)=>{throw new Bt(`Response type '${n}' is not supported`,Bt.ERR_NOT_SUPPORT,i)})})})(new Response);const Zee=function(){var t=Mi(function*(n){return null==n?0:$.isBlob(n)?n.size:$.isSpecCompliantForm(n)?(yield new Request(n).arrayBuffer()).byteLength:$.isArrayBufferView(n)?n.byteLength:($.isURLSearchParams(n)&&(n+=""),$.isString(n)?(yield t5(n)).byteLength:void 0)});return function(e){return t.apply(this,arguments)}}(),Xee=function(){var t=Mi(function*(n,e){return $.toFiniteNumber(n.getContentLength())??Zee(e)});return function(e,i){return t.apply(this,arguments)}}(),i5={http:null,xhr:Wee,fetch:X4&&function(){var t=Mi(function*(n){let{url:e,method:i,data:o,signal:r,cancelToken:s,timeout:a,onDownloadProgress:l,onUploadProgress:c,responseType:u,headers:p,withCredentials:b="same-origin",fetchOptions:_}=vD(n);u=u?(u+"").toLowerCase():"text";let E,x,[y,z]=r||s||a?Gee([r,s],a):[];const k=()=>{!E&&setTimeout(()=>{y&&y.unsubscribe()}),E=!0};let ie;try{if(c&&Jee&&"get"!==i&&"head"!==i&&0!==(ie=yield Xee(p,o))){let Ht,dt=new Request(e,{method:"POST",body:o,duplex:"half"});$.isFormData(o)&&(Ht=dt.headers.get("content-type"))&&p.setContentType(Ht),dt.body&&(o=_D(dt.body,65536,yD(ie,$4(c)),null,t5))}$.isString(b)||(b=b?"cors":"omit"),x=new Request(e,{..._,signal:y,method:i.toUpperCase(),headers:p.normalize().toJSON(),body:o,duplex:"half",withCredentials:b});let pe=yield fetch(x);const De=n5&&("stream"===u||"response"===u);if(n5&&(l||De)){const dt={};["status","statusText","headers"].forEach(zt=>{dt[zt]=pe[zt]});const Ht=$.toFiniteNumber(pe.headers.get("content-length"));pe=new Response(_D(pe.body,65536,l&&yD(Ht,$4(l,!0)),De&&k,t5),dt)}u=u||"text";let qe=yield e3[$.findKey(e3,u)||"text"](pe,n);return!De&&k(),z&&z(),yield new Promise((dt,Ht)=>{fD(dt,Ht,{data:qe,headers:Gr.from(pe.headers),status:pe.status,statusText:pe.statusText,config:n,request:x})})}catch(pe){throw k(),pe&&"TypeError"===pe.name&&/fetch/i.test(pe.message)?Object.assign(new Bt("Network Error",Bt.ERR_NETWORK,n,x),{cause:pe.cause||pe}):Bt.from(pe,pe&&pe.code,n,x)}});return function(n){return t.apply(this,arguments)}}()};$.forEach(i5,(t,n)=>{if(t){try{Object.defineProperty(t,"name",{value:n})}catch{}Object.defineProperty(t,"adapterName",{value:n})}});const zD=t=>`- ${t}`,ete=t=>$.isFunction(t)||null===t||!1===t,AD_getAdapter=t=>{t=$.isArray(t)?t:[t];const{length:n}=t;let e,i;const o={};for(let r=0;r`adapter ${a} `+(!1===l?"is not supported by the environment":"is not available in the build"));let s=n?r.length>1?"since :\n"+r.map(zD).join("\n"):" "+zD(r[0]):"as no adapter specified";throw new Bt("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return i};function o5(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Ru(null,t)}function SD(t){return o5(t),t.headers=Gr.from(t.headers),t.data=Xg.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),AD_getAdapter(t.adapter||Jg.adapter)(t).then(function(i){return o5(t),i.data=Xg.call(t,t.transformResponse,i),i.headers=Gr.from(i.headers),i},function(i){return hD(i)||(o5(t),i&&i.response&&(i.response.data=Xg.call(t,t.transformResponse,i.response),i.response.headers=Gr.from(i.response.headers))),Promise.reject(i)})}const r5={};["object","boolean","number","function","string","symbol"].forEach((t,n)=>{r5[t]=function(i){return typeof i===t||"a"+(n<1?"n ":" ")+t}});const MD={};r5.transitional=function(n,e,i){function o(r,s){return"[Axios v1.7.2] Transitional option '"+r+"'"+s+(i?". "+i:"")}return(r,s,a)=>{if(!1===n)throw new Bt(o(s," has been removed"+(e?" in "+e:"")),Bt.ERR_DEPRECATED);return e&&!MD[s]&&(MD[s]=!0,console.warn(o(s," has been deprecated since v"+e+" and will be removed in the near future"))),!n||n(r,s,a)}};const s5={assertOptions:function tte(t,n,e){if("object"!=typeof t)throw new Bt("options must be an object",Bt.ERR_BAD_OPTION_VALUE);const i=Object.keys(t);let o=i.length;for(;o-- >0;){const r=i[o],s=n[r];if(s){const a=t[r],l=void 0===a||s(a,r,t);if(!0!==l)throw new Bt("option "+r+" must be "+l,Bt.ERR_BAD_OPTION_VALUE)}else if(!0!==e)throw new Bt("Unknown option "+r,Bt.ERR_BAD_OPTION)}},validators:r5},fa=s5.validators;class t3{constructor(n){this.defaults=n,this.interceptors={request:new lD,response:new lD}}request(n,e){var i=this;return Mi(function*(){try{return yield i._request(n,e)}catch(o){if(o instanceof Error){let r;Error.captureStackTrace?Error.captureStackTrace(r={}):r=new Error;const s=r.stack?r.stack.replace(/^.+\n/,""):"";try{o.stack?s&&!String(o.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(o.stack+="\n"+s):o.stack=s}catch{}}throw o}})()}_request(n,e){"string"==typeof n?(e=e||{}).url=n:e=n||{},e=ml(this.defaults,e);const{transitional:i,paramsSerializer:o,headers:r}=e;void 0!==i&&s5.assertOptions(i,{silentJSONParsing:fa.transitional(fa.boolean),forcedJSONParsing:fa.transitional(fa.boolean),clarifyTimeoutError:fa.transitional(fa.boolean)},!1),null!=o&&($.isFunction(o)?e.paramsSerializer={serialize:o}:s5.assertOptions(o,{encode:fa.function,serialize:fa.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let s=r&&$.merge(r.common,r[e.method]);r&&$.forEach(["delete","get","head","post","put","patch","common"],y=>{delete r[y]}),e.headers=Gr.concat(s,r);const a=[];let l=!0;this.interceptors.request.forEach(function(z){"function"==typeof z.runWhen&&!1===z.runWhen(e)||(l=l&&z.synchronous,a.unshift(z.fulfilled,z.rejected))});const c=[];this.interceptors.response.forEach(function(z){c.push(z.fulfilled,z.rejected)});let u,b,p=0;if(!l){const y=[SD.bind(this),void 0];for(y.unshift.apply(y,a),y.push.apply(y,c),b=y.length,u=Promise.resolve(e);p{if(!i._listeners)return;let r=i._listeners.length;for(;r-- >0;)i._listeners[r](o);i._listeners=null}),this.promise.then=o=>{let r;const s=new Promise(a=>{i.subscribe(a),r=a}).then(o);return s.cancel=function(){i.unsubscribe(r)},s},n(function(r,s,a){i.reason||(i.reason=new Ru(r,s,a),e(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(n){this.reason?n(this.reason):this._listeners?this._listeners.push(n):this._listeners=[n]}unsubscribe(n){if(!this._listeners)return;const e=this._listeners.indexOf(n);-1!==e&&this._listeners.splice(e,1)}static source(){let n;return{token:new a5(function(o){n=o}),cancel:n}}}const nte=a5,l5={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(l5).forEach(([t,n])=>{l5[n]=t});const rte=l5,hi=function DD(t){const n=new n3(t),e=jM(n3.prototype.request,n);return $.extend(e,n3.prototype,n,{allOwnKeys:!0}),$.extend(e,n,null,{allOwnKeys:!0}),e.create=function(o){return DD(ml(t,o))},e}(Jg);hi.Axios=n3,hi.CanceledError=Ru,hi.CancelToken=nte,hi.isCancel=hD,hi.VERSION="1.7.2",hi.toFormData=q4,hi.AxiosError=Bt,hi.Cancel=hi.CanceledError,hi.all=function(n){return Promise.all(n)},hi.spread=function ite(t){return function(e){return t.apply(null,e)}},hi.isAxiosError=function ote(t){return $.isObject(t)&&!0===t.isAxiosError},hi.mergeConfig=ml,hi.AxiosHeaders=Gr,hi.formToJSON=t=>dD($.isHTMLForm(t)?new FormData(t):t),hi.getAdapter=AD_getAdapter,hi.HttpStatusCode=rte,hi.default=hi;const ED=hi;var ste=fe(560),xD=fe.n(ste);const Ei=function ate(t){return{all:t=t||new Map,on:function(n,e){var i=t.get(n);i?i.push(e):t.set(n,[e])},off:function(n,e){var i=t.get(n);i&&(e?i.splice(i.indexOf(e)>>>0,1):t.set(n,[]))},emit:function(n,e){var i=t.get(n);i&&i.slice().map(function(o){o(e)}),(i=t.get("*"))&&i.slice().map(function(o){o(n,e)})}}}(),lte=document.title,c5=ED.create({timeout:18e4,baseURL:"Gitee"===Ns.provider?"https://gitee.com/api/v5":"https://api.github.com",headers:{}});function kD(){xD().start(),document.title="Connecting..."}function C1(){xD().done(),document.title=lte}c5.interceptors.request.use(function(t){const n=j4();return n&&(t.headers.Authorization=`token ${n}`),kD(),t},function(t){return C1(),Promise.reject(t)}),c5.interceptors.response.use(function(t){return C1(),t},function(t){return Ei.emit("NOTIFICATION",{type:"error",title:"Error\uff1a"+(t.status||t.response?.data?.status||t.code||""),content:t.response?.data?.message||t.message||""}),C1(),Promise.reject(t)});const d5=ED.create({timeout:1e4,baseURL:"https://nav-server.netlify.app"});d5.interceptors.request.use(function(t){const n=Ug();return n&&(t.headers.Authorization=n),t.data={code:n,hostname:window.location.hostname,...t.data},kD(),t},function(t){return C1(),Promise.reject(t)}),d5.interceptors.response.use(function(t){return!1===t.data?.success&&Ei.emit("MESSAGE",{type:"error",content:t.data.message}),C1(),t},function(t){return Ei.emit("NOTIFICATION",{type:"error",title:"Error\uff1a"+(t.status||t.response?.data?.status||t.code||""),content:t.response?.data?.message||t.message||""}),C1(),Promise.reject(t)});const i3=d5,gl=c5,z1="function"==typeof Buffer,PD=("function"==typeof TextDecoder&&new TextDecoder,"function"==typeof TextEncoder?new TextEncoder:void 0),Bu=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),qi=((t=>{let n={};t.forEach((e,i)=>n[e]=i)})(Bu),String.fromCharCode.bind(String)),ND=("function"==typeof Uint8Array.from&&Uint8Array.from.bind(Uint8Array),t=>t.replace(/=/g,"").replace(/[+\/]/g,n=>"+"==n?"-":"_")),u5="function"==typeof btoa?t=>btoa(t):z1?t=>Buffer.from(t,"binary").toString("base64"):t=>{let n,e,i,o,r="";const s=t.length%3;for(let a=0;a255||(i=t.charCodeAt(a++))>255||(o=t.charCodeAt(a++))>255)throw new TypeError("invalid character found");n=e<<16|i<<8|o,r+=Bu[n>>18&63]+Bu[n>>12&63]+Bu[n>>6&63]+Bu[63&n]}return s?r.slice(0,s-3)+"===".substring(s):r},h5=z1?t=>Buffer.from(t).toString("base64"):t=>{let e=[];for(let i=0,o=t.length;i{if(t.length<2)return(n=t.charCodeAt(0))<128?t:n<2048?qi(192|n>>>6)+qi(128|63&n):qi(224|n>>>12&15)+qi(128|n>>>6&63)+qi(128|63&n);var n=65536+1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320);return qi(240|n>>>18&7)+qi(128|n>>>12&63)+qi(128|n>>>6&63)+qi(128|63&n)},pte=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,BD=z1?t=>Buffer.from(t,"utf8").toString("base64"):PD?t=>h5(PD.encode(t)):t=>u5((t=>t.replace(pte,hte))(t)),ma=(t,n=!1)=>n?ND(BD(t)):BD(t),{gitRepoUrl:bte}=Ns,s3=bte.split("/"),a3=Ns.branch,qr=s3[s3.length-2],Fs=s3[s3.length-1];function l3(){return"Gitee"===Ns.provider}function $D(t){return gl.get(`/users/${qr}`,{headers:{Authorization:`token ${t.trim()}`}})}function m5(){return m5=Mi(function*(t){const n=l3()?`/repos/${qr}/${Fs}/branches`:`/repos/${qr}/${Fs}/git/refs`,e={};if(l3())e.owner=`/${qr}`,e.repo=`/${qr}/${Fs}`,e.refs=a3,e.branch_name=t;else{e.sha="c1fdab3d29df4740bb97a4ae7f24ed0eaa682557";try{const i=yield function wte(){return gl.get(`/repos/${qr}/${Fs}/commits`)}();i.data?.length>0&&(e.sha=i.data[0].sha)}catch{}e.ref=`refs/heads/${t}`}return gl.post(n,e)}),m5.apply(this,arguments)}function vl(t){return g5.apply(this,arguments)}function g5(){return g5=Mi(function*({message:t="update",content:n,path:e,branch:i=a3,isEncode:o=!0}){const r=yield function yte(t,n=a3){return gl.get(`/repos/${qr}/${Fs}/contents/${t}`,{params:{ref:n}})}(e,i);return gl.put(`/repos/${qr}/${Fs}/contents/${e}`,{message:`rebot(CI): ${t}`,branch:i,content:o?ma(n):n,sha:r.data.sha}).then(s=>(XD(),s))}),g5.apply(this,arguments)}function JD(t){return v5.apply(this,arguments)}function v5(){return v5=Mi(function*({message:t,content:n,path:e,branch:i=a3,isEncode:o=!0}){return(l3()?gl.post:gl.put)(`/repos/${qr}/${Fs}/contents/${e}`,{message:`rebot(CI): ${t}`,branch:i,content:o?ma(n):n}).then(s=>(XD(),s))}),v5.apply(this,arguments)}function b5(){return b5=Mi(function*(t){return i3.post("/api/get",t)}),b5.apply(this,arguments)}function _5(){return _5=Mi(function*(t){return i3.post("/api/save",t)}),_5.apply(this,arguments)}function y5(){return y5=Mi(function*(t){return i3.post("/api/delete",t)}),y5.apply(this,arguments)}function Ste(t){return w5.apply(this,arguments)}function w5(){return w5=Mi(function*(t){return i3.post("/api/icon",{url:t})}),w5.apply(this,arguments)}function ZD(t,n="image"){return l3()?`https://gitee.com/${qr}/${Fs}/raw/${n}/${t}`:`https://cdn.jsdelivr.net/gh/${qr}/${Fs}@${n}/${t}`}function XD(){const t=kn.actionUrl;if(t){let e=function(){n.parentNode?.removeChild(n)};const n=document.createElement("img");n.src=t,document.body.appendChild(n),n.onload=e,n.onerror=e}}const yo=function Mte(){let t=tE(AX);const n=document.querySelectorAll("script"),e=n[n.length-1].src;if(window.localStorage.getItem(Wi.s_url)!==e){const o=[Wi.token,Wi.isDark,Wi.authCode],r=window.localStorage.length;for(let s=0;s50)break;if(b.name){let k=function(){if(_.includes(E)){let De={...b};const qe=new RegExp(`(${n})`,"i");if(De.__name__=De.name,De.name=De.name.replace(qe,"$1".bold()),!l[De.url])return l[De.url]=!0,s.push(De),!0}return!1},ie=function(){if(z?.includes?.(n.toLowerCase())&&!l[b.url]||x.some(qe=>qe.includes(n))&&!l[b.url])return l[b.url]=!0,s.push(b),!0},pe=function(){if(y.includes(E)){let De={...b};const qe=new RegExp(`(${n})`,"i");if(De.__desc__=De.desc,De.desc=De.desc.replace(qe,"$1".bold()),!l[De.url])return l[De.url]=!0,s.push(De),!0}return!1};const _=b.name.toLowerCase(),y=b.desc.toLowerCase(),z=b.url.toLowerCase(),E=n.toLowerCase(),x=Object.values(b.urls||{});try{switch(r){case pa.Url:ie();break;case pa.Title:k();break;case pa.Desc:pe();break;default:k(),pe(),ie()}}catch(De){console.error(De)}}}}return r===pa.Current?c(t[i].nav[o].nav):c(),s.length<=0?[]:a}function d3(){const t=c3(255),n=c3(255),e=c3(255);return`#${t.toString(16)}${n.toString(16)}${e.toString(16)}000`.slice(0,7)}let C5;function eE(){if(u3())return;clearInterval(C5);const t="random-light-bg",n=document.getElementById(t)||document.createElement("div"),e=c3(360);n.id=t,n.style.cssText="position:fixed;top:0;left:0;right:0;bottom:0;z-index:-3;transition: 1s linear;",n.style.backgroundImage=`linear-gradient(${e}deg, ${d3()} 0%, ${d3()} 100%)`,document.body.appendChild(n),C5=setInterval(function i(){if(u3())return void clearInterval(C5);const o=`linear-gradient(${e}deg, ${d3()} 0%, ${d3()} 100%)`;n.style.opacity=".3",setTimeout(()=>{n.style.backgroundImage=o,n.style.opacity="1"},1e3)},1e4)}function pi(){const{href:t}=window.location,n=t.split("?")[1]||"",e=wX().parse(n);let i=parseInt(e.id)||0,o=parseInt(e.page)||0;if(void 0===e.id&&void 0===e.page)try{const r=window.localStorage.getItem(Wi.location);if(r){const s=JSON.parse(r);o=s.page||0,i=s.id||0}}catch{}return o>yo.length-1?(o=0,i=0):yo[o]&&!(i<=yo[o].nav.length-1)&&(i=yo[o].nav.length-1),o=o<0?0:o,i=i<0?0:i,{...e,q:e.q||"",id:i,page:o}}function tE(t){function n(e){return!(e.ownVisible&&!Gi)}t=t.filter(n);for(let e=0;e(o.collapsed=i,o)),Un(t),i}function Dte(){const{page:t,id:n}=pi();window.localStorage.setItem(Wi.location,JSON.stringify({page:t,id:n}))}function u3(){const t=window.localStorage.getItem(Wi.isDark),n=window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches;return!t&&n?n:!!Number(t)}function A5(){return A5=Mi(function*(t){try{return{...(yield Ste(t)).data}}catch{}return{status:!1}}),A5.apply(this,arguments)}function T5(t){(function n(e){for(let i=0;i0&&(Gi||!yo[n].nav[t].ownVisible)?yo[n].nav[t].nav:[]}catch{e=[]}return e}function M5(t){const n=document.querySelectorAll(t);let e=Number.MAX_SAFE_INTEGER;if(n.length<=0)return e;const o=n[0].parentNode.clientWidth;let r=0;for(let s=0;so){e=s-1;break}return e}const Pte=JSON.parse('{"favicon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/logo.png","homeUrl":"https://nav3.cn","language":"zh-CN","loading":"random","allowCollect":false,"email":"","showGithub":true,"showLanguage":true,"showRate":true,"title":"\u53d1\u73b0\u5bfc\u822a - \u7cbe\u9009\u5b9e\u7528\u5bfc\u822a\u7f51\u7ad9","description":"\u53d1\u73b0\u5bfc\u822a - \u7cbe\u9009\u5b9e\u7528\u5bfc\u822a\u7f51\u7ad9","keywords":"\u5bfc\u822a,\u524d\u7aef\u8d44\u6e90,\u793e\u533a\u7ad9\u70b9,\u8bbe\u8ba1\u5e08,\u5b9e\u7528\u5de5\u5177,\u5b66\u4e60\u8d44\u6e90,\u8fd0\u8425,\u7f51\u7edc\u5b89\u5168,node.js","theme":"Super","actionUrl":"","appTheme":"App","openSEO":true,"headerContent":"","footerContent":"
\u5171\u6536\u5f55${total}\u4e2a\u7f51\u7ad9
Copyright \xa9 2018-${year} ${hostname}, All Rights Reserved
","baiduStatisticsUrl":"https://hm.baidu.com/hm.js?4582be7af7e7c95ef75351e07c6c32ba","cnzzStatisticsUrl":"","showThemeToggle":true,"lightCardStyle":"standard","lightOverType":"overflow","simThemeImages":[{"src":"https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/nav/banner1.jpg","url":"","width":null,"height":null},{"src":"https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/nav/banner2.jpg","url":"","width":null,"height":null}],"simThemeDesc":"\u8fd9\u91cc\u6536\u5f55\u591a\u8fbe ${total} \u4e2a\u4f18\u8d28\u7f51\u7ad9\uff0c \u52a9\u60a8\u5de5\u4f5c\u3001\u5b66\u4e60\u548c\u751f\u6d3b","simCardStyle":"standard","simOverType":"overflow","simThemeHeight":0,"simThemeAutoplay":true,"simTitle":"","superCardStyle":"column","superOverType":"overflow","checkUrl":false,"superTitle":"","superImages":[],"lightImages":[],"sideTitle":"","sideCardStyle":"example","sideThemeHeight":0,"sideThemeAutoplay":true,"sideThemeImages":[{"src":"https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/nav/banner2.jpg","url":"","width":null,"height":null},{"src":"https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/nav/banner1.jpg","url":"","width":null,"height":null}],"shortcutTitle":"","shortcutThemeShowWeather":true,"shortcutThemeImages":[{"src":"https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/nav/background.jpg","url":"","width":null,"height":null}],"mirrorList":[],"spiderIcon":"NO","spiderDescription":"NO","spiderTitle":"NO","spiderQty":20,"loadingCode":"","errorUrlCount":0}'),Vte=JSON.parse('[{"id":100,"name":"\u963f\u91cc\u4e91\u76d8","createdAt":"","color":"#7a74f6","desc":"\u963f\u91cc\u4e91\u76d8","isInner":false},{"id":-1,"name":"\u4e2d\u6587","color":"#2db7f5","createdAt":"","desc":"\u7cfb\u7edf\u5185\u7f6e\u4e0d\u53ef\u5220\u9664","isInner":true},{"id":-2,"name":"\u82f1\u6587","color":"#f50","createdAt":"","desc":"\u7cfb\u7edf\u5185\u7f6e\u4e0d\u53ef\u5220\u9664","isInner":true},{"id":-3,"name":"Github","color":"#108ee9","createdAt":"","desc":"\u7cfb\u7edf\u5185\u7f6e\u4e0d\u53ef\u5220\u9664","isInner":true}]'),Nte=JSON.parse('{"userViewCount":1165,"loginViewCount":1167}'),kn={...Pte,actionUrl:""},nE={},D5=jg,h3=Vte;h3.forEach(t=>{t.id&&(nE[t.id]={...t})});const ju=nE,p3=Nte,yn=yo,E5={now:()=>(E5.delegate||Date).now(),delegate:void 0};class fi extends V{constructor(n=1/0,e=1/0,i=E5){super(),this._bufferSize=n,this._windowTime=e,this._timestampProvider=i,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=e===1/0,this._bufferSize=Math.max(1,n),this._windowTime=Math.max(1,e)}next(n){const{isStopped:e,_buffer:i,_infiniteTimeWindow:o,_timestampProvider:r,_windowTime:s}=this;e||(i.push(n),!o&&i.push(r.now()+s)),this._trimBuffer(),super.next(n)}_subscribe(n){this._throwIfClosed(),this._trimBuffer();const e=this._innerSubscribe(n),{_infiniteTimeWindow:i,_buffer:o}=this,r=o.slice();for(let s=0;s{let r=function Bte(t){return t instanceof Date&&!isNaN(t)}(t)?+t-e.now():t;r<0&&(r=0);let s=0;return e.schedule(function(){o.closed||(o.next(s++),0<=i?this.schedule(void 0,i):o.complete())},r)})}function bl(t,n=Uu){return function Lte(t){return dn((n,e)=>{let i=!1,o=null,r=null,s=!1;const a=()=>{if(r?.unsubscribe(),r=null,i){i=!1;const c=o;o=null,e.next(c)}s&&e.complete()},l=()=>{r=null,s&&e.complete()};n.subscribe(Jt(e,c=>{i=!0,o=c,r||Pi(t(c)).subscribe(r=Jt(e,a,l))},()=>{s=!0,(!i||!r||r.closed)&&e.complete()}))})}(()=>m3(t,n))}function Qi(t,n=Hn){return t=t??Hte,dn((e,i)=>{let o,r=!0;e.subscribe(Jt(i,s=>{const a=n(s);(r||!t(o,a))&&(r=!1,o=a,i.next(s))}))})}function Hte(t,n){return t===n}function Rs(t,n=0){return function Yte(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):n}function Wu(t){return Array.isArray(t)?t:[t]}function ri(t){return null==t?"":"string"==typeof t?t:`${t}px`}function Vi(t){return t instanceof Se?t.nativeElement:t}function I5(t){return yt((n,e)=>t<=e)}function g3(t,n=Uu){return dn((e,i)=>{let o=null,r=null,s=null;const a=()=>{if(o){o.unsubscribe(),o=null;const c=r;r=null,i.next(c)}};function l(){const c=s+t,u=n.now();if(u{r=c,s=n.now(),o||(o=n.schedule(l,t),i.add(o))},()=>{a(),i.complete()},void 0,()=>{r=o=null}))})}let O5;try{O5=typeof Intl<"u"&&Intl.v8BreakIterator}catch{O5=!1}let Gu,Qn=(()=>{class t{constructor(e){this._platformId=e,this.isBrowser=this._platformId?p4(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!O5)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pr))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function T1(t){return function Ute(){if(null==Gu&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Gu=!0}))}finally{Gu=Gu||!1}return Gu}()?t:!!t.capture}var ms=function(t){return t[t.NORMAL=0]="NORMAL",t[t.NEGATED=1]="NEGATED",t[t.INVERTED=2]="INVERTED",t}(ms||{});let v3,_l,P5;function rE(){if(null==_l){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return _l=!1,_l;if("scrollBehavior"in document.documentElement.style)_l=!0;else{const t=Element.prototype.scrollTo;_l=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return _l}function qu(){if("object"!=typeof document||!document)return ms.NORMAL;if(null==v3){const t=document.createElement("div"),n=t.style;t.dir="rtl",n.width="1px",n.overflow="auto",n.visibility="hidden",n.pointerEvents="none",n.position="absolute";const e=document.createElement("div"),i=e.style;i.width="2px",i.height="1px",t.appendChild(e),document.body.appendChild(t),v3=ms.NORMAL,0===t.scrollLeft&&(t.scrollLeft=1,v3=0===t.scrollLeft?ms.NEGATED:ms.INVERTED),t.remove()}return v3}function V5(t){if(function Wte(){if(null==P5){const t=typeof document<"u"?document.head:null;P5=!(!t||!t.createShadowRoot&&!t.attachShadow)}return P5}()){const n=t.getRootNode?t.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&n instanceof ShadowRoot)return n}return null}function Po(t){return t.composedPath?t.composedPath()[0]:t.target}function sE(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}const aE=new Set;let yl,N5=(()=>{class t{constructor(e,i){this._platform=e,this._nonce=i,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):Qte}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&function qte(t,n){if(!aE.has(t))try{yl||(yl=document.createElement("style"),n&&yl.setAttribute("nonce",n),yl.setAttribute("type","text/css"),document.head.appendChild(yl)),yl.sheet&&(yl.sheet.insertRule(`@media ${t} {body{ }}`,0),aE.add(t))}catch(e){console.error(e)}}(e,this._nonce),this._matchMedia(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn),R(vd,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Qte(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let Kte=(()=>{class t{constructor(e,i){this._mediaMatcher=e,this._zone=i,this._queries=new Map,this._destroySubject=new V}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return lE(Wu(e)).some(o=>this._registerQuery(o).mql.matches)}observe(e){let r=Di(lE(Wu(e)).map(s=>this._registerQuery(s).observable));return r=yu(r.pipe(io(1)),r.pipe(I5(1),g3(0))),r.pipe(Pe(s=>{const a={matches:!1,breakpoints:{}};return s.forEach(({matches:l,query:c})=>{a.matches=a.matches||l,a.breakpoints[c]=l}),a}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);const i=this._mediaMatcher.matchMedia(e),r={observable:new Wt(s=>{const a=l=>this._zone.run(()=>s.next(l));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(gn(i),Pe(({matches:s})=>({query:e,matches:s})),P(this._destroySubject)),mql:i};return this._queries.set(e,r),r}static#e=this.\u0275fac=function(i){return new(i||t)(R(N5),R(Me))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function lE(t){return t.map(n=>n.split(",")).reduce((n,e)=>n.concat(e)).map(n=>n.trim())}const F5=()=>{};let R5=(()=>{class t{constructor(e,i){this.ngZone=e,this.rendererFactory2=i,this.resizeSource$=new V,this.listeners=0,this.disposeHandle=F5,this.handler=()=>{this.ngZone.run(()=>{this.resizeSource$.next()})},this.renderer=this.rendererFactory2.createRenderer(null,null)}ngOnDestroy(){this.handler=F5}subscribe(){return this.registerListener(),this.resizeSource$.pipe(bl(16),l1(()=>this.unregisterListener()))}unsubscribe(){this.unregisterListener()}registerListener(){0===this.listeners&&this.ngZone.runOutsideAngular(()=>{this.disposeHandle=this.renderer.listen("window","resize",this.handler)}),this.listeners+=1}unregisterListener(){this.listeners-=1,0===this.listeners&&(this.disposeHandle(),this.disposeHandle=F5)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Me),R(Za))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();let cE=(()=>{class t{constructor(){this._singletonRegistry=new Map}get singletonRegistry(){return this._singletonRegistry}registerSingletonWithKey(e,i){const o=this.singletonRegistry.has(e),r=o?this.singletonRegistry.get(e):this.withNewTarget(i);o||this.singletonRegistry.set(e,r)}unregisterSingletonWithKey(e){this.singletonRegistry.has(e)&&this.singletonRegistry.delete(e)}getSingletonWithKey(e){return this.singletonRegistry.has(e)?this.singletonRegistry.get(e).target:null}withNewTarget(e){return{target:e}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var L5=function(t){return t.xxl="xxl",t.xl="xl",t.lg="lg",t.md="md",t.sm="sm",t.xs="xs",t}(L5||{});const Qu={xs:"(max-width: 575px)",sm:"(min-width: 576px)",md:"(min-width: 768px)",lg:"(min-width: 992px)",xl:"(min-width: 1200px)",xxl:"(min-width: 1600px)"},Jte={xs:"(max-width: 479.98px)",sm:"(max-width: 575.98px)",md:"(max-width: 767.98px)",lg:"(max-width: 991.98px)",xl:"(max-width: 1199.98px)",xxl:"(max-width: 1599.98px)"};let B5=(()=>{class t{constructor(e,i){this.resizeService=e,this.mediaMatcher=i,this.destroy$=new V,this.resizeService.subscribe().pipe(P(this.destroy$)).subscribe(()=>{})}ngOnDestroy(){this.destroy$.next()}subscribe(e,i){if(i){const o=()=>this.matchMedia(e,!0);return this.resizeService.subscribe().pipe(Pe(o),gn(o()),Qi((r,s)=>r[0]===s[0]),Pe(r=>r[1]))}{const o=()=>this.matchMedia(e);return this.resizeService.subscribe().pipe(Pe(o),gn(o()),Qi())}}matchMedia(e,i){let o=L5.md;const r={};return Object.keys(e).map(s=>{const a=s,l=this.mediaMatcher.matchMedia(Qu[a]).matches;r[s]=l,l&&(o=a)}),i?[o,r]:o}static#e=this.\u0275fac=function(i){return new(i||t)(R(R5),R(N5))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Vo=(()=>{class t extends V{ngOnDestroy(){this.next(),this.complete()}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const Zte=new oe("cdk-dir-doc",{providedIn:"root",factory:function Xte(){return G(Pt)}}),ene=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let Ct=(()=>{class t{constructor(e){this.value="ltr",this.change=new B,e&&(this.value=function tne(t){const n=t?.toLowerCase()||"";return"auto"===n&&typeof navigator<"u"&&navigator?.language?ene.test(navigator.language)?"rtl":"ltr":"rtl"===n?"rtl":"ltr"}((e.body?e.body.dir:null)||(e.documentElement?e.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(R(Zte,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),b3=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function dE(t,n){if(!t||!n||t.length!==n.length)return!1;const e=t.length;for(let i=0;i"u"||null===t}function H5(t){return function jte(t){return null!=t&&"false"!=`${t}`}(t)}function y3(t){return Oi(t,0)}function j5(t,n=0){return Rs(t,n)}function M1(t){return ri(t)}function uE(t){t.stopPropagation(),t.preventDefault()}function hE(t){if(!t.getClientRects().length)return{top:0,left:0};const n=t.getBoundingClientRect(),e=t.ownerDocument.defaultView;return{top:n.top+e.pageYOffset,left:n.left+e.pageXOffset}}function U5(t){return!!t&&"function"==typeof t.then&&"function"==typeof t.catch}function w3(t,n,e){return isNaN(t)||te?e:t}function fE(t){return"number"==typeof t&&isFinite(t)}function mE(t,n){return Math.round(t*Math.pow(10,n))/Math.pow(10,n)}let Q5,K5;typeof window<"u"&&window;const bE={position:"absolute",top:"-9999px",width:"50px",height:"50px"};function _E(t){return b4(t)?t:U5(t)?ni(Promise.resolve(t)):Ge(t)}function yE(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}const mne="rc-util-key";function wE({mark:t}={}){return t?t.startsWith("data-")?t:`data-${t}`:mne}function $5(t){return t.attachTo?t.attachTo:document.querySelector("head")||document.body}function CE(t,n={}){if(!yE())return null;const e=document.createElement("style");n.cspNonce&&(e.nonce=n.cspNonce),e.innerHTML=t;const i=$5(n),{firstChild:o}=i;return n.prepend&&i.prepend?i.prepend(e):n.prepend&&o?i.insertBefore(e,o):i.appendChild(e),e}const J5=new Map;function Ku(t,n,e){return{[`${t}-status-success`]:"success"===n,[`${t}-status-warning`]:"warning"===n,[`${t}-status-error`]:"error"===n,[`${t}-status-validating`]:"validating"===n,[`${t}-has-feedback`]:e}}let wl=(()=>{class t{getGutter(){const e=[null,null],i=this.nzGutter||0;return(Array.isArray(i)?i:[i,null]).forEach((r,s)=>{"object"==typeof r&&null!==r?(e[s]=null,Object.keys(Qu).map(a=>{const l=a;this.mediaMatcher.matchMedia(Qu[l]).matches&&r[l]&&(e[s]=r[l])})):e[s]=Number(r)||null}),e}setGutterStyle(){const[e,i]=this.getGutter();this.actualGutter$.next([e,i]);const o=(r,s)=>{null!==s&&this.renderer.setStyle(this.elementRef.nativeElement,r,`-${s/2}px`)};o("margin-left",e),o("margin-right",e),o("margin-top",i),o("margin-bottom",i)}constructor(e,i,o,r,s,a,l){this.elementRef=e,this.renderer=i,this.mediaMatcher=o,this.ngZone=r,this.platform=s,this.breakpointService=a,this.directionality=l,this.nzAlign=null,this.nzJustify=null,this.nzGutter=null,this.actualGutter$=new fi(1),this.dir="ltr",this.destroy$=new V}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e}),this.setGutterStyle()}ngOnChanges(e){e.nzGutter&&this.setGutterStyle()}ngAfterViewInit(){this.platform.isBrowser&&this.breakpointService.subscribe(Qu).pipe(P(this.destroy$)).subscribe(()=>{this.setGutterStyle()})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt),v(N5),v(Me),v(Qn),v(B5),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-row",""],["nz-row"],["nz-form-item"]],hostAttrs:[1,"ant-row"],hostVars:20,hostBindings:function(i,o){2&i&&Z("ant-row-top","top"===o.nzAlign)("ant-row-middle","middle"===o.nzAlign)("ant-row-bottom","bottom"===o.nzAlign)("ant-row-start","start"===o.nzJustify)("ant-row-end","end"===o.nzJustify)("ant-row-center","center"===o.nzJustify)("ant-row-space-around","space-around"===o.nzJustify)("ant-row-space-between","space-between"===o.nzJustify)("ant-row-space-evenly","space-evenly"===o.nzJustify)("ant-row-rtl","rtl"===o.dir)},inputs:{nzAlign:"nzAlign",nzJustify:"nzJustify",nzGutter:"nzGutter"},exportAs:["nzRow"],standalone:!0,features:[xe]})}return t})(),D1=(()=>{class t{setHostClassMap(){const e={"ant-col":!0,[`ant-col-${this.nzSpan}`]:_r(this.nzSpan),[`ant-col-order-${this.nzOrder}`]:_r(this.nzOrder),[`ant-col-offset-${this.nzOffset}`]:_r(this.nzOffset),[`ant-col-pull-${this.nzPull}`]:_r(this.nzPull),[`ant-col-push-${this.nzPush}`]:_r(this.nzPush),"ant-col-rtl":"rtl"===this.dir,...this.generateClass()};for(const i in this.classMap)this.classMap.hasOwnProperty(i)&&this.renderer.removeClass(this.elementRef.nativeElement,i);this.classMap={...e};for(const i in this.classMap)this.classMap.hasOwnProperty(i)&&this.classMap[i]&&this.renderer.addClass(this.elementRef.nativeElement,i)}setHostFlexStyle(){this.hostFlexStyle=this.parseFlex(this.nzFlex)}parseFlex(e){return"number"==typeof e?`${e} ${e} auto`:"string"==typeof e&&/^\d+(\.\d+)?(px|em|rem|%)$/.test(e)?`0 0 ${e}`:e}generateClass(){const i={};return["nzXs","nzSm","nzMd","nzLg","nzXl","nzXXl"].forEach(o=>{const r=o.replace("nz","").toLowerCase();if(_r(this[o]))if("number"==typeof this[o]||"string"==typeof this[o])i[`ant-col-${r}-${this[o]}`]=!0;else{const s=this[o];["span","pull","push","offset","order"].forEach(l=>{i[`ant-col-${r}${"span"===l?"-":`-${l}-`}${s[l]}`]=s&&_r(s[l])})}}),i}constructor(e,i,o,r){this.elementRef=e,this.nzRowDirective=i,this.renderer=o,this.directionality=r,this.classMap={},this.destroy$=new V,this.hostFlexStyle=null,this.dir="ltr",this.nzFlex=null,this.nzSpan=null,this.nzOrder=null,this.nzOffset=null,this.nzPush=null,this.nzPull=null,this.nzXs=null,this.nzSm=null,this.nzMd=null,this.nzLg=null,this.nzXl=null,this.nzXXl=null}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.setHostClassMap()}),this.setHostClassMap(),this.setHostFlexStyle()}ngOnChanges(e){this.setHostClassMap();const{nzFlex:i}=e;i&&this.setHostFlexStyle()}ngAfterViewInit(){this.nzRowDirective&&this.nzRowDirective.actualGutter$.pipe(P(this.destroy$)).subscribe(([e,i])=>{const o=(r,s)=>{null!==s&&this.renderer.setStyle(this.elementRef.nativeElement,r,s/2+"px")};o("padding-left",e),o("padding-right",e),o("padding-top",i),o("padding-bottom",i)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(wl,9),v(Yt),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-col",""],["nz-col"],["nz-form-control"],["nz-form-label"]],hostVars:2,hostBindings:function(i,o){2&i&&Lt("flex",o.hostFlexStyle)},inputs:{nzFlex:"nzFlex",nzSpan:"nzSpan",nzOrder:"nzOrder",nzOffset:"nzOffset",nzPush:"nzPush",nzPull:"nzPull",nzXs:"nzXs",nzSm:"nzSm",nzMd:"nzMd",nzLg:"nzLg",nzXl:"nzXl",nzXXl:"nzXXl"},exportAs:["nzCol"],standalone:!0,features:[xe]})}return t})(),AE=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();const Z5={en:{_webTitle:"Discovery Navigation",_uncategorized:"Unclassified",_modifySuccess:"Modification succeeded!",_copySuccess:"Copy succeeded!",_copyUrl:"Copy Link",_shareWeb:"Share site",_edit:"Edit",_sort:"Sort",_refresh:"Refresh",_add:"Add",_del:"Delete",_apply:"Apply",_batchDel:"Delete",_confirmDel:"Are you sure you want to delete?",_default:"Default",_title:"Title",_defaultTitle:"Default website title",_desc:"Description",_link:"Link",_current:"Current",_empty:"Sorry, we didn't find the result you want~",_goBack:"Go Back",_viewInfo:"View Info",_syncData:"Sync Data",_addData:"Add Data",_collapse:"Open",_put:"Fold",_closeDark:"Close Dark",_openDark:"Open Dark",_switchTo:"Switch To",_infoTip:"Only you can view the following information, please rest assured!",_know:"Know",_devBranch:"Deploy branch",_curVer:"Current Version",_newVer:"Latest Version",_prevDevTime:"Last build time",_unknow:"Unknow",_repeatOper:"Please do not operate frequently",_syncDataOut:"Synchronize data to remote",_confirmSync:"OK to sync",_confirmSyncTip:"Are you sure to synchronize all data to the remote end?",_syncSuccessTip:"The synchronization is successful. It takes about 5 minutes to build",_error:"Error",_syncFailTip:"Synchronization failed, please try again",_inputToken:"Please enter token",_inputTokenMsg:"Please enter your token below for login verification",_getToken:"I don't know how to get the token?",_readDoc:"Please read our guide first",_authLogin:"Please authorize login",_pleaseInputToken:"Please fill in the correct token",_tokenVerSuc:"Authorization succeeded!",_tokenVerFail:"Token validation failed",_repeatAdd:"Please do not add repeatedly",_addSuccess:"Successfully added!",_delSuccess:"Delete succeeded!",_saveSuccess:"Saved successfully!",_errorBookTip:"Error: bookmark resolution failed",_importSuccess:"Import succeeded!",_acceptPng:"Only PNG format is supported",_updateLogoSuccess:"The replacement was successful. It needs to be updated the next day due to CDN cache problems",_updateLogoFail:"Failed to replace logo, please try again!",_resetInitData:"Undo all actions",_confirmReset:"OK reset",_warnReset:"All current operations will revert to the last build state",_resetSuccess:"The data has been reset back to its initial state",_sel3:"Please select Level 3 category",_sel2:"Please select Level 2 category",_sel1:"Please select Level 1 category",_reserveOne:"At least one item is reserved. Please add it first!",_icon:"ICON",_backHome:"GO Home",_syncRemote:"Sync to remote",_uploading:"Uploading...",_addTag:"Add category",_addWeb:"Add site",_clickEdit:"Click Edit",_importChrome:"Import from Chrome bookmarks",_allContentMsg1:'1. After setting all data, click "synchronize to remote end" and drag the table to sort',_allContentMsg2:"2. Website category needs to be maintained manually,",_updateLogo:"Replace logo",_tagName:"Category name",_onlyOwnVisible:"Only Self",_createAt:"Create At",_action:"Action",_delWarn:"This will delete all data under the category. Are you sure you want to delete it?",_mgr1:"Management level 1 category",_mgr2:"Management level 2 category",_mgr3:"Management level 3 category",_mgrWeb:"Management website",_webName:"Name",_webTag:"Website category",_webDesc:"Description",_webLink:"Link",_requiredName:"Please enter a name",_requiredLink:"Please enter the website link",_uploadSuccess:"Uploaded successfully",_uploadFail:"Upload failed, please try again!",_notUpload:"Please do not upload illegal pictures",_shortcut:"Shortcut",_score:"Score",_iconAddr:"Icon Link",_copyUpload:"Support to paste screenshots or copy pictures here to upload",_upload:"Upload",_continueAdd:"Continue to add affiliate links",_moveTo:"Move to",_move:"Move",_copy:"Copy",_moveSuccess:"Moved successfully",_save:"Save",_color:"Color",_remark:"Description/Remark",_about:"About",_webInfo:"Web info",_systemSet:"Settings",_searchEngines:"Engines",_userCollect:"Collect",_bookmarkImport:"Bookmark",_tagSettings:"Tag settings",_websiteMang:"Website",_addRow:"Add",_bookImportTip:"

Supports most mainstream browsers based on the webkit kernel. If the import fails, it is temporarily not supported

",_engineName:"Engine name",_status:"Status",_isDisable:"Disable",_webLogo:"LOGO",_defLanguage:"Default Language",_pageLoad:"Page Loading",_random:"Random",_noSet:"No set",_showGithub:"Show Github",_defTheme:"Default Theme",_appTheme:"App Theme",_keywords:"Keywords",_footHtml:"Foot HTML",_headHtml:"Head HTML",_showWeather:"Show weather",_weatherTip:'Currently only the "Shortcut" theme is supported',_setSaveTip:"Note: after saving successfully, you need to wait at least 2 minutes for the build time to take effect!",_theme:"Theme",_backgroundImage:"Picture",_engineUrl:"Engine URL",_actionSuccess:"Succeeded",_jumpAddr:"Jump address",_backup:"Backup",_bannerHeight:"Banner height",_autoPlay:"Auto play",_importBackup:"Import backup",_importBackupTip:"After importing, all current website data will be cleared and imported",_showLanguage:"Display switch language",_mirrorList:"Mirror list",_mirrorAddr:"Mirror Address",_mirrorName:"Mirror Name",_showRate:"Show rate",_showCopy:"Display Card Copy",_showShare:"Show card sharing",_angleMark:"Angle Mark",_logout:"Logout Account",_cardStyle:"Card style",_tagPlaceholder:"Can be empty as a regular label",_dragSort:"Drag to sort",_checkWeb:"Last time, {count} website links were detected to be invalid. Please refer to the management website for details. If you need to check the status again, simply click Save to trigger the event.",_buildTip:"After modification, please save and wait for the build to complete. Leaving is invalid",_updateTip:"Frequent system updates, it is recommended to execute updates regularly to enjoy the latest system functions",_clickUpdate:"Click me to update",_enableSEO:"Enable SEO (loading slightly slower)",_allowCollect:"Allow users to submit indexed content",_collectMenuView:"Please refer to the user's inclusion menu for specific details",_displaySwitchTheme:"Display Switch Theme",_requestAddress:"Request Address",_requestTip:"Usually used for deploying self owned servers, when the save button is clicked, a GET request is sent to fill in the address",_followPage:"Follow Page",_bannerTip:"When the height is 0, the width and height of the image will be adaptive, and it is important to ensure that each image has the same size",_checkStatus:"Check website link status(For any of the above updates, it is recommended to enable this, as it takes the same amount of time.)",_ignore:"(This function is not very useful, it is recommended to ignore or remove it)",_standard:"Standard",_column:"Column",_simplicity:"Simplicity",_navOver:"First level navigation beyond display",_scrollBar:"Scroll bar",_ellipsis:"Ellipsis",_sidebarImg:"Sidebar image",_sidebarTitle:"Sidebar title",_defTitle4:"Default website title, recommended to be within 4 words",_inputAuthCode:"Please enter the authorization code",_payTip:"Opening user enrollment requires a payment of \uffe599 as a contribution to the stable operation of this website. Thank you for your understanding",_waitHandle:"Waiting for the stationmaster to handle",_collect:"Get",_confirmCollect:"Are you sure?",_pendingGet:"Getting...",_logoutAuthCode:"Exit authorization",_spiderRule:"Spider rule",_spiderIcon:"Spider icon",_spiderDesc:"Spider description",_spiderTitle:"Spider title",_spiderAlways:"Always update",_spiderStatus:"Spider Status",_spiderTip:"Crawling rules will be triggered every time saving, affecting the construction speed. Crawling and updating information may be necessary when necessary",_spiderQty:"Concurrent quantity",_spiderQtyTip:"",_spiderNetTip:"Due to network factors, some websites may not be accessible and can be skipped directly. For reference only",_spiderBuildTip:"After the construction is completed, the data is correct. Please go to the website management and click save once, otherwise the data will not be permanently stored"},cn:{_webTitle:"\u53d1\u73b0\u5bfc\u822a",_uncategorized:"\u672a\u5206\u7c7b",_modifySuccess:"\u4fee\u6539\u6210\u529f\uff01",_copySuccess:"\u590d\u5236\u6210\u529f",_copyUrl:"\u590d\u5236\u94fe\u63a5",_shareWeb:"\u5206\u4eab\u7f51\u7ad9",_edit:"\u7f16\u8f91",_sort:"\u6392\u5e8f",_refresh:"\u5237\u65b0",_add:"\u65b0\u589e",_del:"\u5220\u9664",_apply:"\u7533\u8bf7\u6536\u5f55",_batchDel:"\u6279\u91cf\u5220\u9664",_confirmDel:"\u60a8\u786e\u5b9a\u8981\u5220\u9664\u5417\uff1f",_default:"\u7efc\u5408",_title:"\u6807\u9898",_defaultTitle:"\u9ed8\u8ba4\u7f51\u7ad9\u6807\u9898",_desc:"\u63cf\u8ff0",_link:"\u94fe\u63a5",_current:"\u5f53\u524d",_empty:"\u5bf9\u4e0d\u8d77\uff0c\u6ca1\u6709\u627e\u5230\u60a8\u60f3\u8981\u7684\u7ed3\u679c~",_goBack:"\u8fd4\u56de\u4e0a\u4e00\u5c42",_viewInfo:"\u67e5\u770b\u4fe1\u606f",_syncData:"\u540c\u6b65\u6570\u636e",_addData:"\u65b0\u589e\u6570\u636e",_collapse:"\u5c55\u5f00",_put:"\u6298\u53e0",_closeDark:"\u5173\u95ed\u6697\u9ed1",_openDark:"\u5f00\u542f\u6697\u9ed1",_switchTo:"\u5207\u6362\u5230",_infoTip:"\u4ee5\u4e0b\u4fe1\u606f\u53ea\u6709\u60a8\u80fd\u67e5\u770b\uff0c\u8bf7\u653e\u5fc3\uff01",_know:"\u77e5\u9053\u4e86",_devBranch:"\u90e8\u7f72\u5206\u652f",_curVer:"\u5f53\u524d\u7248\u672c",_newVer:"\u6700\u65b0\u7248\u672c",_prevDevTime:"\u4e0a\u6b21\u6784\u5efa\u65f6\u95f4",_unknow:"\u672a\u77e5",_repeatOper:"\u8bf7\u4e0d\u8981\u9891\u7e41\u64cd\u4f5c",_syncDataOut:"\u540c\u6b65\u6570\u636e\u5230\u8fdc\u7aef",_confirmSync:"\u786e\u5b9a\u540c\u6b65",_confirmSyncTip:"\u786e\u5b9a\u5c06\u6240\u6709\u6570\u636e\u540c\u6b65\u5230\u8fdc\u7aef\u5417\uff1f\uff08\u6bcf\u6b21\u4fdd\u5b58\u9700\u8981\u7b49\u5f85\u6784\u5efa\u5b8c\u6210\u518d\u8fdb\u884c\u4e0b\u4e00\u6b21\u64cd\u4f5c\uff09",_syncSuccessTip:"\u540c\u6b65\u6210\u529f, \u5927\u7ea6\u9700\u89815\u5206\u949f\u6784\u5efa\u65f6\u95f4",_error:"\u9519\u8bef",_syncFailTip:"\u540c\u6b65\u5931\u8d25, \u8bf7\u91cd\u8bd5",_inputToken:"\u8bf7\u8f93\u5165TOKEN",_inputTokenMsg:"\u8bf7\u5728\u4e0b\u65b9\u8f93\u5165\u60a8\u7684TOKEN\u8fdb\u884c\u767b\u5f55\u6821\u9a8c",_getToken:"\u4e0d\u77e5\u9053Token\u5982\u4f55\u83b7\u53d6\uff1f",_readDoc:"\u8bf7\u5148\u9605\u8bfb\u6211\u4eec\u7684\u6307\u5357",_authLogin:"\u8bf7\u6388\u6743\u767b\u5f55",_pleaseInputToken:"\u8bf7\u586b\u5199\u6b63\u786e\u7684Token",_tokenVerSuc:"\u6388\u6743\u6210\u529f!",_tokenVerFail:"Token \u9a8c\u8bc1\u5931\u8d25",_repeatAdd:"\u8bf7\u4e0d\u8981\u91cd\u590d\u6dfb\u52a0",_addSuccess:"\u65b0\u589e\u6210\u529f!",_delSuccess:"\u5220\u9664\u6210\u529f!",_saveSuccess:"\u4fdd\u5b58\u6210\u529f!",_errorBookTip:"\u9519\u8bef: \u4e66\u7b7e\u89e3\u6790\u5931\u8d25",_importSuccess:"\u5bfc\u5165\u6210\u529f\uff01",_acceptPng:"\u4ec5\u652f\u6301 PNG \u683c\u5f0f",_updateLogoSuccess:"\u66f4\u6362\u6210\u529f, \u7531\u4e8eCDN\u7f13\u5b58\u95ee\u9898\u9700\u8981\u6b21\u65e5\u66f4\u65b0",_updateLogoFail:"\u66f4\u6362LOGO\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\uff01",_resetInitData:"\u64a4\u9500\u672c\u6b21\u6240\u6709\u64cd\u4f5c",_confirmReset:"\u786e\u5b9a\u91cd\u7f6e",_warnReset:"\u5f53\u524d\u6240\u6709\u64cd\u4f5c\u5c06\u8fd8\u539f\u5230\u4e0a\u6b21\u6784\u5efa\u72b6\u6001",_resetSuccess:"\u6570\u636e\u5df2\u91cd\u7f6e\u56de\u521d\u59cb\u72b6\u6001",_sel3:"\u8bf7\u9009\u62e9\u4e09\u7ea7\u5206\u7c7b",_sel2:"\u8bf7\u9009\u62e9\u4e8c\u7ea7\u5206\u7c7b",_sel1:"\u8bf7\u9009\u62e9\u4e00\u7ea7\u5206\u7c7b",_reserveOne:"\u81f3\u5c11\u4fdd\u7559\u4e00\u9879\uff0c\u8bf7\u5148\u6dfb\u52a0!",_icon:"\u56fe\u6807",_backHome:"\u8fd4\u56de\u4e3b\u9875",_syncRemote:"\u540c\u6b65\u5230\u8fdc\u7aef",_uploading:"\u4e0a\u4f20\u4e2d...",_addTag:"\u6dfb\u52a0\u5206\u7c7b",_addWeb:"\u6dfb\u52a0\u7f51\u7ad9",_clickEdit:"\u70b9\u51fb\u7f16\u8f91",_importChrome:"\u4eceChrome\u4e66\u7b7e\u5bfc\u5165",_allContentMsg1:"1\u3001\u6240\u6709\u6570\u636e\u8bbe\u7f6e\u5b8c\u6bd5\u540e\u70b9\u51fb \u201c\u540c\u6b65\u5230\u8fdc\u7aef\u201d\uff0c\u62d6\u62fd\u8868\u683c\u8fdb\u884c\u6392\u5e8f",_allContentMsg2:"2\u3001\u7f51\u7ad9\u5206\u7c7b\u9700\u624b\u52a8\u7ef4\u62a4,",_updateLogo:"\u66f4\u6362LOGO",_tagName:"\u6807\u7b7e\u540d\u79f0",_onlyOwnVisible:"\u81ea\u5df1\u53ef\u89c1",_createAt:"\u521b\u5efa\u65f6\u95f4",_action:"\u64cd\u4f5c",_delWarn:"\u8fd9\u4f1a\u5220\u9664\u5206\u7c7b\u4e0b\u7684\u6240\u6709\u6570\u636e\uff0c\u60a8\u786e\u5b9a\u8981\u5220\u9664\u5417?",_mgr1:"\u7ba1\u7406\u4e00\u7ea7\u5206\u7c7b",_mgr2:"\u7ba1\u7406\u4e8c\u7ea7\u5206\u7c7b",_mgr3:"\u7ba1\u7406\u4e09\u7ea7\u5206\u7c7b",_mgrWeb:"\u7ba1\u7406\u7f51\u7ad9",_webName:"\u7f51\u7ad9\u540d\u79f0",_webTag:"\u7f51\u7ad9\u5206\u7c7b",_webDesc:"\u7f51\u7ad9\u63cf\u8ff0",_webLink:"\u7f51\u7ad9\u94fe\u63a5",_requiredName:"\u8bf7\u8f93\u5165\u540d\u79f0",_requiredLink:"\u8bf7\u8f93\u5165\u7f51\u7ad9\u94fe\u63a5",_uploadSuccess:"\u4e0a\u4f20\u6210\u529f",_uploadFail:"\u4e0a\u4f20\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\uff01",_notUpload:"\u8bf7\u4e0d\u8981\u4e0a\u4f20\u975e\u6cd5\u56fe\u7247",_shortcut:"\u5feb\u6377\u65b9\u5f0f",_score:"\u8bc4\u5206\u7cfb\u6570",_iconAddr:"\u56fe\u6807\u5730\u5740",_copyUpload:"\u652f\u6301\u5c06\u622a\u56fe\u6216\u590d\u5236\u56fe\u7247\u7c98\u8d34\u6b64\u5904\u4e0a\u4f20",_upload:"\u4e0a\u4f20",_continueAdd:"\u7ee7\u7eed\u6dfb\u52a0\u5173\u8054\u94fe\u63a5",_moveTo:"\u79fb\u52a8\u5230",_move:"\u79fb\u52a8",_copy:"\u590d\u5236",_moveSuccess:"\u79fb\u52a8\u6210\u529f",_save:"\u4fdd \u5b58",_color:"\u989c\u8272",_remark:"\u63cf\u8ff0/\u5907\u6ce8",_about:"\u5173\u4e8e\u672c\u7ad9",_webInfo:"\u7f51\u7ad9\u4fe1\u606f",_systemSet:"\u7cfb\u7edf\u8bbe\u7f6e",_searchEngines:"\u641c\u7d22\u5f15\u64ce",_userCollect:"\u7528\u6237\u6536\u5f55",_bookmarkImport:"\u4e66\u7b7e\u5bfc\u5165",_tagSettings:"\u6807\u7b7e\u8bbe\u7f6e",_websiteMang:"\u7f51\u7ad9\u7ba1\u7406",_addRow:"\u65b0\u589e\u4e00\u6761",_bookImportTip:"

\u652f\u6301\u5927\u90e8\u5206\u4e3b\u6d41\u6d4f\u89c8\u5668\u57fa\u4e8ewebkit\u5185\u6838\uff0c\u82e5\u5bfc\u5165\u5931\u8d25\u8868\u793a\u6682\u4e0d\u652f\u6301

\u81ea\u52a8\u68c0\u6d4b\u6ee1\u8db3\u4e09\u7ea7\u5206\u7c7b\u5bfc\u822a\uff0c\u5176\u4ed6\u4e00\u5f8b\u8bbe\u4e3a\u672a\u5206\u7c7b

",_engineName:"\u5f15\u64ce\u540d\u79f0",_status:"\u72b6\u6001",_isDisable:"\u662f\u5426\u7981\u7528",_webLogo:"\u7f51\u7ad9LOGO",_defLanguage:"\u9ed8\u8ba4\u8bed\u8a00",_pageLoad:"\u9875\u9762Loading",_random:"\u968f\u673a",_noSet:"\u4e0d\u8bbe\u7f6e",_showGithub:"\u663e\u793aGithub",_defTheme:"\u9ed8\u8ba4\u4e3b\u9898",_appTheme:"App\u4e3b\u9898",_keywords:"\u7f51\u7ad9\u5173\u952e\u5b57",_footHtml:"\u5e95\u90e8HTML",_headHtml:"\u5934\u90e8HTML",_showWeather:"\u663e\u793a\u5929\u6c14",_weatherTip:'\u76ee\u524d\u53ea\u652f\u6301 "Shortcut" \u4e3b\u9898',_setSaveTip:"\u6ce8\u610f\uff1a\u4fdd\u5b58\u6210\u529f\u540e\u81f3\u5c11\u9700\u8981\u7b49\u5f852\u5206\u949f\u6784\u5efa\u65f6\u95f4\u65b9\u53ef\u751f\u6548\uff01",_theme:"\u4e3b\u9898",_backgroundImage:"\u56fe\u7247",_engineUrl:"\u5f15\u64ce\u5730\u5740",_actionSuccess:"\u64cd\u4f5c\u6210\u529f",_jumpAddr:"\u8df3\u8f6c\u5730\u5740",_backup:"\u4e0b\u8f7d\u5907\u4efd",_bannerHeight:"Banner\u9ad8\u5ea6",_autoPlay:"\u81ea\u52a8\u8f6e\u64ad",_importBackup:"\u5bfc\u5165\u5907\u4efd",_importBackupTip:"\u5bfc\u5165\u540e\u4f1a\u5c06\u5f53\u524d\u6240\u6709\u7f51\u7ad9\u6570\u636e\u6e05\u7a7a\u5e76\u5bfc\u5165",_showLanguage:"\u663e\u793a\u5207\u6362\u8bed\u8a00",_mirrorList:"\u955c\u50cf\u5217\u8868",_mirrorAddr:"\u955c\u50cf\u5730\u5740",_mirrorName:"\u955c\u50cf\u540d\u79f0",_showRate:"\u663e\u793a\u5361\u7247\u8bc4\u5206",_showCopy:"\u663e\u793a\u5361\u7247\u590d\u5236",_showShare:"\u663e\u793a\u5361\u7247\u5206\u4eab",_angleMark:"\u89d2\u6807\u8bbe\u7f6e",_logout:"\u767b\u51fa\u8d26\u53f7",_cardStyle:"\u5361\u7247\u98ce\u683c",_tagPlaceholder:"\u53ef\u4ee5\u4e3a\u7a7a\u5f53\u4f5c\u4e00\u4e2a\u666e\u901a\u6807\u7b7e",_dragSort:"\u62d6\u52a8\u53ef\u6392\u5e8f",_checkWeb:"\u4e0a\u6b21\u68c0\u6d4b\u51fa {count} \u4e2a\u7f51\u7ad9\u94fe\u63a5\u5931\u6548\uff0c\u5177\u4f53\u5230\u7ba1\u7406\u7f51\u7ad9\u67e5\u770b\uff0c\u5982\u9700\u518d\u6b21\u68c0\u6d4b\u72b6\u6001\u76f4\u63a5\u70b9\u4fdd\u5b58\u89e6\u53d1\u4e8b\u4ef6\u5373\u53ef\u3002",_buildTip:"\u4fee\u6539\u5b8c\u8bf7\u4fdd\u5b58\u5e76\u7b49\u5f85\u6784\u5efa\u5b8c\u6210\uff0c\u79bb\u5f00\u65e0\u6548",_updateTip:"\u7cfb\u7edf\u66f4\u65b0\u9891\u7e41\uff0c\u5efa\u8bae\u5b9a\u65f6\u6267\u884c\u66f4\u65b0\u4eab\u53d7\u6700\u65b0\u7cfb\u7edf\u529f\u80fd",_clickUpdate:"\u70b9\u6211\u66f4\u65b0",_enableSEO:"\u5f00\u542fSEO(\u52a0\u8f7d\u7a0d\u6162)",_allowCollect:"\u5141\u8bb8\u7528\u6237\u63d0\u4ea4\u6536\u5f55",_collectMenuView:"\u5177\u4f53\u5230\u7528\u6237\u6536\u5f55\u83dc\u5355\u67e5\u770b",_displaySwitchTheme:"\u663e\u793a\u5207\u6362\u4e3b\u9898",_requestAddress:"\u8bf7\u6c42\u5730\u5740",_requestTip:"\u901a\u5e38\u7528\u4e8e\u90e8\u7f72\u81ea\u6709\u670d\u52a1\u5668\uff0c\u5f53\u70b9\u51fb\u4fdd\u5b58\u6309\u94ae\u65f6\u4f1a\u53d1\u51faGET\u8bf7\u6c42\u586b\u5199\u7684\u5730\u5740",_followPage:"\u8ddf\u968f\u9875\u9762",_bannerTip:"\u5f53\u9ad8\u5ea6\u4e3a0\u65f6\uff0c\u56fe\u7247\u5bbd\u9ad8\u4f1a\u81ea\u9002\u5e94\uff0c\u52a1\u5fc5\u4fdd\u8bc1\u6bcf\u5f20\u56fe\u7247\u5c3a\u5bf8\u4e00\u81f4",_checkStatus:"\u68c0\u67e5\u7f51\u7ad9\u94fe\u63a5\u72b6\u6001(\u4e0a\u8ff0\u4efb\u4e00\u9879\u66f4\u65b0\uff0c\u5efa\u8bae\u6b64\u5f00\u542f\uff0c\u8017\u65f6\u76f8\u540c)",_ignore:"\uff08\u6b64\u529f\u80fd\u4f5c\u7528\u4e0d\u5927\uff0c\u5efa\u8bae\u5ffd\u7565\u6216\u5220\u9664\uff09",_standard:"\u6807\u51c6",_column:"\u680f\u76ee",_simplicity:"\u7b80\u7ea6",_navOver:"\u4e00\u7ea7\u5bfc\u822a\u8d85\u51fa\u663e\u793a",_scrollBar:"\u6eda\u52a8\u6761",_ellipsis:"\u4e09\u70b9\u5f0f",_sidebarImg:"\u4fa7\u680f\u56fe\u7247\u677f\u5757",_sidebarTitle:"\u4fa7\u680f\u6807\u9898",_defTitle4:"\u9ed8\u8ba4\u7f51\u7ad9\u6807\u9898, \u5efa\u8bae4\u5b57\u4ee5\u5185",_inputAuthCode:"\u8bf7\u8f93\u5165\u6388\u6743\u7801",_payTip:"\u5f00\u901a\u7528\u6237\u6536\u5f55\u529f\u80fd\u9700\u652f\u4ed8 \uffe599 \u4f5c\u4e3a\u672c\u7ad9\u7a33\u5b9a\u8fd0\u884c\u7684\u8d21\u732e\uff0c\u611f\u8c22\u60a8\u7684\u7406\u89e3",_waitHandle:"\u63d0\u4ea4\u6210\u529f\uff0c\u7b49\u5f85\u7ad9\u957f\u5904\u7406",_collect:"\u6536\u5f55",_confirmCollect:"\u60a8\u786e\u5b9a\u8981\u6536\u5f55\u5417\uff1f",_pendingGet:"\u6b63\u5728\u83b7\u53d6...",_logoutAuthCode:"\u9000\u51fa\u6388\u6743",_spiderRule:"\u722c\u53d6\u89c4\u5219",_spiderTitle:"\u66f4\u65b0\u6807\u9898",_spiderIcon:"\u66f4\u65b0\u56fe\u6807",_spiderDesc:"\u66f4\u65b0\u63cf\u8ff0",_notSpider:"\u4e0d\u66f4\u65b0",_spiderAlways:"\u603b\u662f\u66f4\u65b0",_spiderEmpty:"\u4e3a\u7a7a\u65f6\u66f4\u65b0",_spiderStatus:"\u722c\u53d6\u72b6\u6001",_spiderTip:"\u6bcf\u6b21\u4fdd\u5b58\u65f6\u4f1a\u89e6\u53d1\u722c\u53d6\u89c4\u5219\uff0c\u5f71\u54cd\u6784\u5efa\u901f\u5ea6\uff0c\u5728\u5fc5\u8981\u65f6\u8fdb\u884c\u722c\u53d6\u66f4\u65b0\u4fe1\u606f",_spiderQty:"\u5e76\u53d1\u6570\u91cf",_spiderQtyTip:"",_spiderNetTip:"\u7531\u4e8e\u7f51\u7edc\u56e0\u7d20\uff0c\u90e8\u5206\u7f51\u7ad9\u53ef\u80fd\u65e0\u6cd5\u8bbf\u95ee\u76f4\u63a5\u8df3\u8fc7\uff0c\u4ec5\u4f9b\u53c2\u8003",_spiderBuildTip:"\u6784\u5efa\u5b8c\u6210\u540e\u5bf9\u6570\u636e\u65e0\u8bef\uff0c\u8bf7\u5230\u7f51\u7ad9\u7ba1\u7406\u70b9\u51fb\u4e00\u6b21\u4fdd\u5b58\uff0c\u5426\u5219\u6570\u636e\u4e0d\u4f1a\u6c38\u4e45\u5b58\u50a8"}};function X5(){return window.localStorage.getItem(Wi.language)||kn.language}const vne=X5();function be(t){return"zh-CN"===vne?Z5.cn[t]:Z5.en[t]??Z5.cn[t]}class e7{attach(n){return this._attachedHost=n,n.attach(this)}detach(){let n=this._attachedHost;null!=n&&(this._attachedHost=null,n.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(n){this._attachedHost=n}}class $u extends e7{constructor(n,e,i,o,r){super(),this.component=n,this.viewContainerRef=e,this.injector=i,this.componentFactoryResolver=o,this.projectableNodes=r}}class Ju extends e7{constructor(n,e,i,o){super(),this.templateRef=n,this.viewContainerRef=e,this.context=i,this.injector=o}get origin(){return this.templateRef.elementRef}attach(n,e=this.context){return this.context=e,super.attach(n)}detach(){return this.context=void 0,super.detach()}}class bne extends e7{constructor(n){super(),this.element=n instanceof Se?n.nativeElement:n}}class t7{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(n){return n instanceof $u?(this._attachedPortal=n,this.attachComponentPortal(n)):n instanceof Ju?(this._attachedPortal=n,this.attachTemplatePortal(n)):this.attachDomPortal&&n instanceof bne?(this._attachedPortal=n,this.attachDomPortal(n)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(n){this._disposeFn=n}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class _ne extends t7{constructor(n,e,i,o,r){super(),this.outletElement=n,this._componentFactoryResolver=e,this._appRef=i,this._defaultInjector=o,this.attachDomPortal=s=>{const a=s.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=r}attachComponentPortal(n){const i=(n.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(n.component);let o;return n.viewContainerRef?(o=n.viewContainerRef.createComponent(i,n.viewContainerRef.length,n.injector||n.viewContainerRef.injector,n.projectableNodes||void 0),this.setDisposeFn(()=>o.destroy())):(o=i.create(n.injector||this._defaultInjector||tn.NULL),this._appRef.attachView(o.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(o.hostView),o.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(o)),this._attachedPortal=n,o}attachTemplatePortal(n){let e=n.viewContainerRef,i=e.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return i.rootNodes.forEach(o=>this.outletElement.appendChild(o)),i.detectChanges(),this.setDisposeFn(()=>{let o=e.indexOf(i);-1!==o&&e.remove(o)}),this._attachedPortal=n,i}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}}let Zu=(()=>{class t extends t7{constructor(e,i,o){super(),this._componentFactoryResolver=e,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new B,this.attachDomPortal=r=>{const s=r.element,a=this._document.createComment("dom-portal");r.setAttachedHost(this),s.parentNode.insertBefore(a,s),this._getRootNode().appendChild(s),this._attachedPortal=r,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(s,a)})},this._document=o}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(e){e.setAttachedHost(this);const i=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,r=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component),s=i.createComponent(r,i.length,e.injector||i.injector,e.projectableNodes||void 0);return i!==this._viewContainerRef&&this._getRootNode().appendChild(s.hostView.rootNodes[0]),super.setDisposeFn(()=>s.destroy()),this._attachedPortal=e,this._attachedRef=s,this.attached.emit(s),s}attachTemplatePortal(e){e.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=e,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}static#e=this.\u0275fac=function(i){return new(i||t)(v(Pc),v(qn),v(Pt))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[0,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],standalone:!0,features:[mt]})}return t})(),z3=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function Ki(t,n){(function yne(t){return"string"==typeof t&&-1!==t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var e=function wne(t){return"string"==typeof t&&-1!==t.indexOf("%")}(t);return t=360===n?t:Math.min(n,Math.max(0,parseFloat(t))),e&&(t=parseInt(String(t*n),10)/100),Math.abs(t-n)<1e-6?1:t=360===n?(t<0?t%n+n:t%n)/parseFloat(String(n)):t%n/parseFloat(String(n))}function A3(t){return Math.min(1,Math.max(0,t))}function SE(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function S3(t){return t<=1?"".concat(100*Number(t),"%"):t}function Cl(t){return 1===t.length?"0"+t:String(t)}function TE(t,n,e){t=Ki(t,255),n=Ki(n,255),e=Ki(e,255);var i=Math.max(t,n,e),o=Math.min(t,n,e),r=0,s=0,a=(i+o)/2;if(i===o)s=0,r=0;else{var l=i-o;switch(s=a>.5?l/(2-i-o):l/(i+o),i){case t:r=(n-e)/l+(n1&&(e-=1),e<1/6?t+6*e*(n-t):e<.5?n:e<2/3?t+(n-t)*(2/3-e)*6:t}function T3(t,n,e){t=Ki(t,255),n=Ki(n,255),e=Ki(e,255);var i=Math.max(t,n,e),o=Math.min(t,n,e),r=0,s=i,a=i-o,l=0===i?0:a/i;if(i===o)r=0;else{switch(i){case t:r=(n-e)/a+(n>16,g:(65280&t)>>8,b:255&t}}(n)),this.originalInput=n;var o=Qr(n);this.originalInput=n,this.r=o.r,this.g=o.g,this.b=o.b,this.a=o.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(i=e.format)&&void 0!==i?i:o.format,this.gradientType=e.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=o.ok}return t.prototype.isDark=function(){return this.getBrightness()<128},t.prototype.isLight=function(){return!this.isDark()},t.prototype.getBrightness=function(){var n=this.toRgb();return(299*n.r+587*n.g+114*n.b)/1e3},t.prototype.getLuminance=function(){var n=this.toRgb(),r=n.r/255,s=n.g/255,a=n.b/255;return.2126*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.7152*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.0722*(a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},t.prototype.getAlpha=function(){return this.a},t.prototype.setAlpha=function(n){return this.a=SE(n),this.roundA=Math.round(100*this.a)/100,this},t.prototype.isMonochrome=function(){return 0===this.toHsl().s},t.prototype.toHsv=function(){var n=T3(this.r,this.g,this.b);return{h:360*n.h,s:n.s,v:n.v,a:this.a}},t.prototype.toHsvString=function(){var n=T3(this.r,this.g,this.b),e=Math.round(360*n.h),i=Math.round(100*n.s),o=Math.round(100*n.v);return 1===this.a?"hsv(".concat(e,", ").concat(i,"%, ").concat(o,"%)"):"hsva(".concat(e,", ").concat(i,"%, ").concat(o,"%, ").concat(this.roundA,")")},t.prototype.toHsl=function(){var n=TE(this.r,this.g,this.b);return{h:360*n.h,s:n.s,l:n.l,a:this.a}},t.prototype.toHslString=function(){var n=TE(this.r,this.g,this.b),e=Math.round(360*n.h),i=Math.round(100*n.s),o=Math.round(100*n.l);return 1===this.a?"hsl(".concat(e,", ").concat(i,"%, ").concat(o,"%)"):"hsla(".concat(e,", ").concat(i,"%, ").concat(o,"%, ").concat(this.roundA,")")},t.prototype.toHex=function(n){return void 0===n&&(n=!1),M3(this.r,this.g,this.b,n)},t.prototype.toHexString=function(n){return void 0===n&&(n=!1),"#"+this.toHex(n)},t.prototype.toHex8=function(n){return void 0===n&&(n=!1),function Sne(t,n,e,i,o){var r=[Cl(Math.round(t).toString(16)),Cl(Math.round(n).toString(16)),Cl(Math.round(e).toString(16)),Cl(ME(i))];return o&&r[0].startsWith(r[0].charAt(1))&&r[1].startsWith(r[1].charAt(1))&&r[2].startsWith(r[2].charAt(1))&&r[3].startsWith(r[3].charAt(1))?r[0].charAt(0)+r[1].charAt(0)+r[2].charAt(0)+r[3].charAt(0):r.join("")}(this.r,this.g,this.b,this.a,n)},t.prototype.toHex8String=function(n){return void 0===n&&(n=!1),"#"+this.toHex8(n)},t.prototype.toHexShortString=function(n){return void 0===n&&(n=!1),1===this.a?this.toHexString(n):this.toHex8String(n)},t.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},t.prototype.toRgbString=function(){var n=Math.round(this.r),e=Math.round(this.g),i=Math.round(this.b);return 1===this.a?"rgb(".concat(n,", ").concat(e,", ").concat(i,")"):"rgba(".concat(n,", ").concat(e,", ").concat(i,", ").concat(this.roundA,")")},t.prototype.toPercentageRgb=function(){var n=function(e){return"".concat(Math.round(100*Ki(e,255)),"%")};return{r:n(this.r),g:n(this.g),b:n(this.b),a:this.a}},t.prototype.toPercentageRgbString=function(){var n=function(e){return Math.round(100*Ki(e,255))};return 1===this.a?"rgb(".concat(n(this.r),"%, ").concat(n(this.g),"%, ").concat(n(this.b),"%)"):"rgba(".concat(n(this.r),"%, ").concat(n(this.g),"%, ").concat(n(this.b),"%, ").concat(this.roundA,")")},t.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var n="#"+M3(this.r,this.g,this.b,!1),e=0,i=Object.entries(i7);e=0&&(n.startsWith("hex")||"name"===n)?"name"===n&&0===this.a?this.toName():this.toRgbString():("rgb"===n&&(i=this.toRgbString()),"prgb"===n&&(i=this.toPercentageRgbString()),("hex"===n||"hex6"===n)&&(i=this.toHexString()),"hex3"===n&&(i=this.toHexString(!0)),"hex4"===n&&(i=this.toHex8String(!0)),"hex8"===n&&(i=this.toHex8String()),"name"===n&&(i=this.toName()),"hsl"===n&&(i=this.toHslString()),"hsv"===n&&(i=this.toHsvString()),i||this.toHexString())},t.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},t.prototype.clone=function(){return new t(this.toString())},t.prototype.lighten=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.l+=n/100,e.l=A3(e.l),new t(e)},t.prototype.brighten=function(n){void 0===n&&(n=10);var e=this.toRgb();return e.r=Math.max(0,Math.min(255,e.r-Math.round(-n/100*255))),e.g=Math.max(0,Math.min(255,e.g-Math.round(-n/100*255))),e.b=Math.max(0,Math.min(255,e.b-Math.round(-n/100*255))),new t(e)},t.prototype.darken=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.l-=n/100,e.l=A3(e.l),new t(e)},t.prototype.tint=function(n){return void 0===n&&(n=10),this.mix("white",n)},t.prototype.shade=function(n){return void 0===n&&(n=10),this.mix("black",n)},t.prototype.desaturate=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.s-=n/100,e.s=A3(e.s),new t(e)},t.prototype.saturate=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.s+=n/100,e.s=A3(e.s),new t(e)},t.prototype.greyscale=function(){return this.desaturate(100)},t.prototype.spin=function(n){var e=this.toHsl(),i=(e.h+n)%360;return e.h=i<0?360+i:i,new t(e)},t.prototype.mix=function(n,e){void 0===e&&(e=50);var i=this.toRgb(),o=new t(n).toRgb(),r=e/100;return new t({r:(o.r-i.r)*r+i.r,g:(o.g-i.g)*r+i.g,b:(o.b-i.b)*r+i.b,a:(o.a-i.a)*r+i.a})},t.prototype.analogous=function(n,e){void 0===n&&(n=6),void 0===e&&(e=30);var i=this.toHsl(),o=360/e,r=[this];for(i.h=(i.h-(o*n>>1)+720)%360;--n;)i.h=(i.h+o)%360,r.push(new t(i));return r},t.prototype.complement=function(){var n=this.toHsl();return n.h=(n.h+180)%360,new t(n)},t.prototype.monochromatic=function(n){void 0===n&&(n=6);for(var e=this.toHsv(),i=e.h,o=e.s,r=e.v,s=[],a=1/n;n--;)s.push(new t({h:i,s:o,v:r})),r=(r+a)%1;return s},t.prototype.splitcomplement=function(){var n=this.toHsl(),e=n.h;return[this,new t({h:(e+72)%360,s:n.s,l:n.l}),new t({h:(e+216)%360,s:n.s,l:n.l})]},t.prototype.onBackground=function(n){var e=this.toRgb(),i=new t(n).toRgb(),o=e.a+i.a*(1-e.a);return new t({r:(e.r*e.a+i.r*i.a*(1-e.a))/o,g:(e.g*e.a+i.g*i.a*(1-e.a))/o,b:(e.b*e.a+i.b*i.a*(1-e.a))/o,a:o})},t.prototype.triad=function(){return this.polyad(3)},t.prototype.tetrad=function(){return this.polyad(4)},t.prototype.polyad=function(n){for(var e=this.toHsl(),i=e.h,o=[this],r=360/n,s=1;s=60&&Math.round(t.h)<=240?e?Math.round(t.h)-E3*n:Math.round(t.h)+E3*n:e?Math.round(t.h)+E3*n:Math.round(t.h)-E3*n,i<0?i+=360:i>=360&&(i-=360),i}function FE(t,n,e){if(0===t.h&&0===t.s)return t.s;let i;return i=e?t.s-IE*n:n===PE?t.s+IE:t.s+kne*n,i>1&&(i=1),e&&n===OE&&i>.1&&(i=.1),i<.06&&(i=.06),Number(i.toFixed(2))}function RE(t,n,e){let i;return i=e?t.v+Ine*n:t.v-One*n,i>1&&(i=1),Number(i.toFixed(2))}function LE(t,n={}){const e=[],i=Qr(t);for(let o=OE;o>0;o-=1){const r=VE(i),s=x3(Qr({h:NE(r,o,!0),s:FE(r,o,!0),v:RE(r,o,!0)}));e.push(s)}e.push(x3(i));for(let o=1;o<=PE;o+=1){const r=VE(i),s=x3(Qr({h:NE(r,o),s:FE(r,o),v:RE(r,o)}));e.push(s)}return"dark"===n.theme?Pne.map(({index:o,opacity:r})=>x3(function Vne(t,n,e){const i=e/100;return{r:(n.r-t.r)*i+t.r,g:(n.g-t.g)*i+t.g,b:(n.b-t.b)*i+t.b}}(Qr(n.backgroundColor||"#141414"),Qr(e[o]),100*r))):e}const k3="[NG-ZORRO]:";const Xu=(...t)=>{},jE=new oe("nz-config"),Fne=`-ant-${Date.now()}-${Math.random()}`;function YE(t,n,e){const i=function Rne(t,n){const e={},i=(s,a)=>{let l=s.clone();return l=a?.(l)||l,l.toRgbString()},o=(s,a)=>{const l=new D3(s),c=LE(l.toRgbString());e[`${a}-color`]=i(l),e[`${a}-color-disabled`]=c[1],e[`${a}-color-hover`]=c[4],e[`${a}-color-active`]=c[7],e[`${a}-color-outline`]=l.clone().setAlpha(.2).toRgbString(),e[`${a}-color-deprecated-bg`]=c[1],e[`${a}-color-deprecated-border`]=c[3]};if(n.primaryColor){o(n.primaryColor,"primary");const s=new D3(n.primaryColor),a=LE(s.toRgbString());a.forEach((c,u)=>{e[`primary-${u+1}`]=c}),e["primary-color-deprecated-l-35"]=i(s,c=>c.lighten(35)),e["primary-color-deprecated-l-20"]=i(s,c=>c.lighten(20)),e["primary-color-deprecated-t-20"]=i(s,c=>c.tint(20)),e["primary-color-deprecated-t-50"]=i(s,c=>c.tint(50)),e["primary-color-deprecated-f-12"]=i(s,c=>c.setAlpha(.12*c.getAlpha()));const l=new D3(a[0]);e["primary-color-active-deprecated-f-30"]=i(l,c=>c.setAlpha(.3*c.getAlpha())),e["primary-color-active-deprecated-d-02"]=i(l,c=>c.darken(2))}return n.successColor&&o(n.successColor,"success"),n.warningColor&&o(n.warningColor,"warning"),n.errorColor&&o(n.errorColor,"error"),n.infoColor&&o(n.infoColor,"info"),`\n :root {\n ${Object.keys(e).map(s=>`--${t}-${s}: ${e[s]};`).join("\n")}\n }\n `.trim()}(t,n);yE()&&function gne(t,n,e={}){const i=$5(e);if(!J5.has(i)){const s=CE("",e),{parentNode:a}=s;J5.set(i,a),a.removeChild(s)}const o=function zE(t,n={}){const e=$5(n);return Array.from(J5.get(e)?.children||[]).find(i=>"STYLE"===i.tagName&&i.getAttribute(wE(n))===t)}(n,e);if(o)return e.cspNonce&&o.nonce!==e.cspNonce&&(o.nonce=e.cspNonce),o.innerHTML!==t&&(o.innerHTML=t),o;const r=CE(t,e);r?.setAttribute(wE(e),n)}(i,`${Fne}-dynamic-theme`,{cspNonce:e})}const UE=function(t){return void 0!==t};let si=(()=>{class t{constructor(e,i){this.configUpdated$=new V,this.config=e||{},this.cspNonce=i,this.config.theme&&YE(this.getConfig().prefixCls?.prefixCls||"ant",this.config.theme,i)}getConfig(){return this.config}getConfigForComponent(e){return this.config[e]}getConfigChangeEventForComponent(e){return this.configUpdated$.pipe(yt(i=>i===e),hl(void 0))}set(e,i){this.config[e]={...this.config[e],...i},"theme"===e&&this.config.theme&&YE(this.getConfig().prefixCls?.prefixCls||"ant",this.config.theme,this.cspNonce),this.configUpdated$.next(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(jE,8),R(vd,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Vt(){return function(n,e,i){const o=`$$__zorroConfigDecorator__${e}`;return Object.defineProperty(n,o,{configurable:!0,writable:!0,enumerable:!1}),{get(){const r=i?.get?i.get.bind(this)():this[o],s=(this.propertyAssignCounter?.[e]||0)>1,a=this.nzConfigService.getConfigForComponent(this._nzModuleName)?.[e];return s&&UE(r)?r:UE(a)?a:r},set(r){this.propertyAssignCounter=this.propertyAssignCounter||{},this.propertyAssignCounter[e]=(this.propertyAssignCounter[e]||0)+1,i?.set?i.set.bind(this)(r):this[o]=r},configurable:!0,enumerable:!0}}}var ct=function(t){return t[t.State=0]="State",t[t.Transition=1]="Transition",t[t.Sequence=2]="Sequence",t[t.Group=3]="Group",t[t.Animate=4]="Animate",t[t.Keyframes=5]="Keyframes",t[t.Style=6]="Style",t[t.Trigger=7]="Trigger",t[t.Reference=8]="Reference",t[t.AnimateChild=9]="AnimateChild",t[t.AnimateRef=10]="AnimateRef",t[t.Query=11]="Query",t[t.Stagger=12]="Stagger",t}(ct||{});const Bs="*";function No(t,n){return{type:ct.Trigger,name:t,definitions:n,options:{}}}function an(t,n=null){return{type:ct.Animate,styles:n,timings:t}}function Ke(t){return{type:ct.Style,styles:t,offset:null}}function wo(t,n,e){return{type:ct.State,name:t,styles:n,options:e}}function un(t,n,e=null){return{type:ct.Transition,expr:t,animation:n,options:e}}function GE(t,n,e=null){return{type:ct.Query,selector:t,animation:n,options:e}}function qE(t,n){return{type:ct.Stagger,timings:t,animation:n}}class e2{constructor(n=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=n+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(n=>n()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(n){this._position=this.totalTime?n*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class QE{constructor(n){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=n;let e=0,i=0,o=0;const r=this.players.length;0==r?queueMicrotask(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++e==r&&this._onFinish()}),s.onDestroy(()=>{++i==r&&this._onDestroy()}),s.onStart(()=>{++o==r&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this.players.forEach(n=>n.init())}onStart(n){this._onStartFns.push(n)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(n=>n()),this._onStartFns=[])}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(n=>n.play())}pause(){this.players.forEach(n=>n.pause())}restart(){this.players.forEach(n=>n.restart())}finish(){this._onFinish(),this.players.forEach(n=>n.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(n=>n.destroy()),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this.players.forEach(n=>n.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(n){const e=n*this.totalTime;this.players.forEach(i=>{const o=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(o)})}getPosition(){const n=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=n?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}let $i=(()=>{class t{static#e=this.SLOW="0.3s";static#t=this.BASE="0.2s";static#n=this.FAST="0.1s"}return t})(),oo=(()=>{class t{static#e=this.EASE_BASE_OUT="cubic-bezier(0.7, 0.3, 0.1, 1)";static#t=this.EASE_BASE_IN="cubic-bezier(0.9, 0, 0.3, 0.7)";static#n=this.EASE_OUT="cubic-bezier(0.215, 0.61, 0.355, 1)";static#i=this.EASE_IN="cubic-bezier(0.55, 0.055, 0.675, 0.19)";static#o=this.EASE_IN_OUT="cubic-bezier(0.645, 0.045, 0.355, 1)";static#r=this.EASE_OUT_BACK="cubic-bezier(0.12, 0.4, 0.29, 1.46)";static#s=this.EASE_IN_BACK="cubic-bezier(0.71, -0.46, 0.88, 0.6)";static#a=this.EASE_IN_OUT_BACK="cubic-bezier(0.71, -0.46, 0.29, 1.46)";static#l=this.EASE_OUT_CIRC="cubic-bezier(0.08, 0.82, 0.17, 1)";static#c=this.EASE_IN_CIRC="cubic-bezier(0.6, 0.04, 0.98, 0.34)";static#d=this.EASE_IN_OUT_CIRC="cubic-bezier(0.78, 0.14, 0.15, 0.86)";static#u=this.EASE_OUT_QUINT="cubic-bezier(0.23, 1, 0.32, 1)";static#h=this.EASE_IN_QUINT="cubic-bezier(0.755, 0.05, 0.855, 0.06)";static#p=this.EASE_IN_OUT_QUINT="cubic-bezier(0.86, 0, 0.07, 1)"}return t})();const Une=No("collapseMotion",[wo("expanded",Ke({height:"*"})),wo("collapsed",Ke({height:0,overflow:"hidden"})),wo("hidden",Ke({height:0,overflow:"hidden",borderTopWidth:"0"})),un("expanded => collapsed",an(`150ms ${oo.EASE_IN_OUT}`)),un("expanded => hidden",an(`150ms ${oo.EASE_IN_OUT}`)),un("collapsed => expanded",an(`150ms ${oo.EASE_IN_OUT}`)),un("hidden => expanded",an(`150ms ${oo.EASE_IN_OUT}`))]),Wne=(No("treeCollapseMotion",[un("* => *",[GE("nz-tree-node:leave,nz-tree-builtin-node:leave",[Ke({overflow:"hidden"}),qE(0,[an(`150ms ${oo.EASE_IN_OUT}`,Ke({height:0,opacity:0,"padding-bottom":0}))])],{optional:!0}),GE("nz-tree-node:enter,nz-tree-builtin-node:enter",[Ke({overflow:"hidden",height:0,opacity:0,"padding-bottom":0}),qE(0,[an(`150ms ${oo.EASE_IN_OUT}`,Ke({overflow:"hidden",height:"*",opacity:"*","padding-bottom":"*"}))])],{optional:!0})])]),No("drawerMaskMotion",[un(":enter",[Ke({opacity:0}),an(`${$i.SLOW}`,Ke({opacity:1}))]),un(":leave",[Ke({opacity:1}),an(`${$i.SLOW}`,Ke({opacity:0}))])]),No("fadeMotion",[un("* => enter",[Ke({opacity:0}),an(`${$i.BASE}`,Ke({opacity:1}))]),un("* => leave, :leave",[Ke({opacity:1}),an(`${$i.BASE}`,Ke({opacity:0}))])]),No("helpMotion",[un(":enter",[Ke({opacity:0,transform:"translateY(-5px)"}),an(`${$i.SLOW} ${oo.EASE_IN_OUT}`,Ke({opacity:1,transform:"translateY(0)"}))]),un(":leave",[Ke({opacity:1,transform:"translateY(0)"}),an(`${$i.SLOW} ${oo.EASE_IN_OUT}`,Ke({opacity:0,transform:"translateY(-5px)"}))])])),Gne=No("moveUpMotion",[un("* => enter",[Ke({transformOrigin:"0 0",transform:"translateY(-100%)",opacity:0}),an(`${$i.BASE}`,Ke({transformOrigin:"0 0",transform:"translateY(0%)",opacity:1}))]),un("* => leave",[Ke({transformOrigin:"0 0",transform:"translateY(0%)",opacity:1}),an(`${$i.BASE}`,Ke({transformOrigin:"0 0",transform:"translateY(-100%)",opacity:0}))])]),qne=No("notificationMotion",[wo("enterRight",Ke({opacity:1,transform:"translateX(0)"})),un("* => enterRight",[Ke({opacity:0,transform:"translateX(5%)"}),an("100ms linear")]),wo("enterLeft",Ke({opacity:1,transform:"translateX(0)"})),un("* => enterLeft",[Ke({opacity:0,transform:"translateX(-5%)"}),an("100ms linear")]),wo("enterTop",Ke({opacity:1,transform:"translateY(0)"})),un("* => enterTop",[Ke({opacity:0,transform:"translateY(-5%)"}),an("100ms linear")]),wo("enterBottom",Ke({opacity:1,transform:"translateY(0)"})),un("* => enterBottom",[Ke({opacity:0,transform:"translateY(5%)"}),an("100ms linear")]),wo("leave",Ke({opacity:0,transform:"scaleY(0.8)",transformOrigin:"0% 0%"})),un("* => leave",[Ke({opacity:1,transform:"scaleY(1)",transformOrigin:"0% 0%"}),an("100ms linear")])]),Qne=`${$i.BASE} ${oo.EASE_OUT_QUINT}`,Kne=`${$i.BASE} ${oo.EASE_IN_QUINT}`,a7=No("slideMotion",[wo("void",Ke({opacity:0,transform:"scaleY(0.8)"})),wo("enter",Ke({opacity:1,transform:"scaleY(1)"})),un("void => *",[an(Qne)]),un("* => void",[an(Kne)])]),$ne=(No("slideAlertMotion",[un(":leave",[Ke({opacity:1,transform:"scaleY(1)",transformOrigin:"0% 0%"}),an(`${$i.SLOW} ${oo.EASE_IN_OUT_CIRC}`,Ke({opacity:0,transform:"scaleY(0)",transformOrigin:"0% 0%"}))])]),No("tabSwitchMotion",[wo("leave",Ke({display:"none"})),un("* => enter",[Ke({display:"block",opacity:0}),an($i.SLOW)]),un("* => leave, :leave",[Ke({position:"absolute",top:0,left:0,width:"100%"}),an($i.SLOW,Ke({opacity:0})),Ke({display:"none"})])])),I3=(No("thumbMotion",[wo("from",Ke({transform:"translateX({{ transform }}px)",width:"{{ width }}px"}),{params:{transform:0,width:0}}),wo("to",Ke({transform:"translateX({{ transform }}px)",width:"{{ width }}px"}),{params:{transform:100,width:0}}),un("from => to",an(`300ms ${oo.EASE_IN_OUT}`))]),No("zoomBigMotion",[un("void => active",[Ke({opacity:0,transform:"scale(0.8)"}),an(`${$i.BASE} ${oo.EASE_OUT_CIRC}`,Ke({opacity:1,transform:"scale(1)"}))]),un("active => void",[Ke({opacity:1,transform:"scale(1)"}),an(`${$i.BASE} ${oo.EASE_IN_OUT_CIRC}`,Ke({opacity:0,transform:"scale(0.8)"}))])]));No("zoomBadgeMotion",[un(":enter",[Ke({opacity:0,transform:"scale(0) translate(50%, -50%)"}),an(`${$i.SLOW} ${oo.EASE_OUT_BACK}`,Ke({opacity:1,transform:"scale(1) translate(50%, -50%)"}))]),un(":leave",[Ke({opacity:1,transform:"scale(1) translate(50%, -50%)"}),an(`${$i.SLOW} ${oo.EASE_IN_BACK}`,Ke({opacity:0,transform:"scale(0) translate(50%, -50%)"}))])]);let An=(()=>{class t{static ngTemplateContextGuard(e,i){return!0}recreateView(){this.viewContainer.clear();const e=this.nzStringTemplateOutlet instanceof qt;this.embeddedViewRef=this.viewContainer.createEmbeddedView(e?this.nzStringTemplateOutlet:this.templateRef,e?this.nzStringTemplateOutletContext:this.context)}updateContext(){const i=this.nzStringTemplateOutlet instanceof qt?this.nzStringTemplateOutletContext:this.context,o=this.embeddedViewRef.context;if(i)for(const r of Object.keys(i))o[r]=i[r]}constructor(e,i){this.viewContainer=e,this.templateRef=i,this.embeddedViewRef=null,this.context=new Jne,this.nzStringTemplateOutletContext=null,this.nzStringTemplateOutlet=null}ngOnChanges(e){const{nzStringTemplateOutletContext:i,nzStringTemplateOutlet:o}=e;o&&(this.context.$implicit=o.currentValue),(()=>{let a=!1;return o&&(a=!!o.firstChange||(o.previousValue instanceof qt||o.currentValue instanceof qt)),i&&(u=>{const p=Object.keys(u.previousValue||{}),b=Object.keys(u.currentValue||{});if(p.length===b.length){for(const _ of b)if(-1===p.indexOf(_))return!0;return!1}return!0})(i)||a})()?this.recreateView():this.updateContext()}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzStringTemplateOutlet",""]],inputs:{nzStringTemplateOutletContext:"nzStringTemplateOutletContext",nzStringTemplateOutlet:"nzStringTemplateOutlet"},exportAs:["nzStringTemplateOutlet"],standalone:!0,features:[xe]})}return t})();class Jne{}let Sn=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();var O3=2,KE=.16,Zne=.05,Xne=.05,eie=.15,$E=5,JE=4,tie=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function ZE(t){var o=T3(t.r,t.g,t.b);return{h:360*o.h,s:o.s,v:o.v}}function P3(t){return"#".concat(M3(t.r,t.g,t.b,!1))}function XE(t,n,e){var i;return(i=Math.round(t.h)>=60&&Math.round(t.h)<=240?e?Math.round(t.h)-O3*n:Math.round(t.h)+O3*n:e?Math.round(t.h)+O3*n:Math.round(t.h)-O3*n)<0?i+=360:i>=360&&(i-=360),i}function ex(t,n,e){return 0===t.h&&0===t.s?t.s:((i=e?t.s-KE*n:n===JE?t.s+KE:t.s+Zne*n)>1&&(i=1),e&&n===$E&&i>.1&&(i=.1),i<.06&&(i=.06),Number(i.toFixed(2)));var i}function tx(t,n,e){var i;return(i=e?t.v+Xne*n:t.v-eie*n)>1&&(i=1),Number(i.toFixed(2))}function l7(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=[],i=Qr(t),o=$E;o>0;o-=1){var r=ZE(i),s=P3(Qr({h:XE(r,o,!0),s:ex(r,o,!0),v:tx(r,o,!0)}));e.push(s)}e.push(P3(i));for(var a=1;a<=JE;a+=1){var l=ZE(i),c=P3(Qr({h:XE(l,a),s:ex(l,a),v:tx(l,a)}));e.push(c)}return"dark"===n.theme?tie.map(function(u){var p=u.index,b=u.opacity,_=P3(function nie(t,n,e){var i=e/100;return{r:(n.r-t.r)*i+t.r,g:(n.g-t.g)*i+t.g,b:(n.b-t.b)*i+t.b}}(Qr(n.backgroundColor||"#141414"),Qr(e[p]),100*b));return _}):e}var c7={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},Ji={},d7={};Object.keys(c7).forEach(function(t){Ji[t]=l7(c7[t]),Ji[t].primary=Ji[t][5],d7[t]=l7(c7[t],{theme:"dark",backgroundColor:"#141414"}),d7[t].primary=d7[t][5]});class u7{}class t2{}class Hs{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const o=e.slice(0,i),r=o.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(o,r),this.headers.has(r)?this.headers.get(r).push(s):this.headers.set(r,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,i)=>{this.setHeaderEntries(i,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,i])=>{this.setHeaderEntries(e,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof Hs?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){const e=new Hs;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Hs?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){const e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,e);const o=("a"===n.op?this.headers.get(e):void 0)||[];o.push(...i),this.headers.set(e,o);break;case"d":const r=n.value;if(r){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===r.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}setHeaderEntries(n,e){const i=(Array.isArray(e)?e:[e]).map(r=>r.toString()),o=n.toLowerCase();this.headers.set(o,i),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}}class iie{encodeKey(n){return nx(n)}encodeValue(n){return nx(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const rie=/%(\d[a-f0-9])/gi,sie={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function nx(t){return encodeURIComponent(t).replace(rie,(n,e)=>sie[e]??n)}function V3(t){return`${t}`}class va{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new iie,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function oie(t,n){const e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(o=>{const r=o.indexOf("="),[s,a]=-1==r?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,r)),n.decodeValue(o.slice(r+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{const i=n.fromObject[e],o=Array.isArray(i)?i.map(V3):[V3(i)];this.map.set(e,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){const e=[];return Object.keys(n).forEach(i=>{const o=n[i];Array.isArray(o)?o.forEach(r=>{e.push({param:i,value:r,op:"a"})}):e.push({param:i,value:o,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const e=new va({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const e=("a"===n.op?this.map.get(n.param):void 0)||[];e.push(V3(n.value)),this.map.set(n.param,e);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const o=i.indexOf(V3(n.value));-1!==o&&i.splice(o,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class aie{constructor(){this.map=new Map}set(n,e){return this.map.set(n,e),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function ix(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function ox(t){return typeof Blob<"u"&&t instanceof Blob}function rx(t){return typeof FormData<"u"&&t instanceof FormData}class n2{constructor(n,e,i,o){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function lie(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==i?i:null,r=o):r=i,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params),this.transferCache=r.transferCache),this.headers??=new Hs,this.context??=new aie,this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":ab.set(_,n.setHeaders[_]),c)),n.setParams&&(u=Object.keys(n.setParams).reduce((b,_)=>b.set(_,n.setParams[_]),u)),new n2(e,i,s,{params:u,headers:c,context:p,reportProgress:l,responseType:o,withCredentials:a,transferCache:r})}}var h7=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}(h7||{});class p7{constructor(n,e=200,i="OK"){this.headers=n.headers||new Hs,this.status=void 0!==n.status?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class o2 extends p7{constructor(n={}){super(n),this.type=h7.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new o2({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}function f7(t,n){return{body:n,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials,transferCache:t.transferCache}}let ax=(()=>{class t{constructor(e){this.handler=e}request(e,i,o={}){let r;if(e instanceof n2)r=e;else{let l,c;l=o.headers instanceof Hs?o.headers:new Hs(o.headers),o.params&&(c=o.params instanceof va?o.params:new va({fromObject:o.params})),r=new n2(e,i,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache})}const s=Ge(r).pipe(a1(l=>this.handler.handle(l)));if(e instanceof n2||"events"===o.observe)return s;const a=s.pipe(yt(l=>l instanceof o2));switch(o.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return a.pipe(Pe(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Pe(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Pe(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(Pe(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new va).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,o={}){return this.request("PATCH",e,f7(o,i))}post(e,i,o={}){return this.request("POST",e,f7(o,i))}put(e,i,o={}){return this.request("PUT",e,f7(o,i))}static#e=this.\u0275fac=function(i){return new(i||t)(R(u7))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();function Cx(t={}){const{connector:n=(()=>new V),resetOnError:e=!0,resetOnComplete:i=!0,resetOnRefCountZero:o=!0}=t;return r=>{let s,a,l,c=0,u=!1,p=!1;const b=()=>{a?.unsubscribe(),a=void 0},_=()=>{b(),s=l=void 0,u=p=!1},y=()=>{const z=s;_(),z?.unsubscribe()};return dn((z,E)=>{c++,!p&&!u&&b();const x=l=l??n();E.add(()=>{c--,0===c&&!p&&!u&&(a=v7(y,o))}),x.subscribe(E),!s&&c>0&&(s=new Rt({next:k=>x.next(k),error:k=>{p=!0,b(),a=v7(_,e,k),x.error(k)},complete:()=>{u=!0,b(),a=v7(_,i),x.complete()}}),Pi(z).subscribe(s))})(r)}}function v7(t,n,...e){if(!0===n)return void t();if(!1===n)return;const i=new Rt({next:()=>{i.unsubscribe(),t()}});return Pi(n(...e)).subscribe(i)}const js="[@ant-design/icons-angular]:";function Ax(t){return l7(t)[0]}function R3(t,n){switch(n){case"fill":return`${t}-fill`;case"outline":return`${t}-o`;case"twotone":return`${t}-twotone`;case void 0:return t;default:throw new Error(`${js}Theme "${n}" is not a recognized theme!`)}}function Sx(t){return"object"==typeof t&&"string"==typeof t.name&&("string"==typeof t.theme||void 0===t.theme)&&"string"==typeof t.icon}function L3(t){const n=t.split(":");switch(n.length){case 1:return[t,""];case 2:return[n[1],n[0]];default:throw new Error(`${js}The icon type ${t} is not valid!`)}}function Tx(t){return new Error(`${js}the icon ${t} does not exist or is not registered.`)}function Gie(){return new Error(`${js} tag not found.`)}const Kie=new oe("ant_icons");let Mx=(()=>{class t{set twoToneColor({primaryColor:e,secondaryColor:i}){this._twoToneColorPalette.primaryColor=e,this._twoToneColorPalette.secondaryColor=i||Ax(e)}get twoToneColor(){return{...this._twoToneColorPalette}}get _disableDynamicLoading(){return!1}constructor(e,i,o,r,s){this._rendererFactory=e,this._handler=i,this._document=o,this.sanitizer=r,this._antIcons=s,this.defaultTheme="outline",this._svgDefinitions=new Map,this._svgRenderedDefinitions=new Map,this._inProgressFetches=new Map,this._assetsUrlRoot="",this._twoToneColorPalette={primaryColor:"#333333",secondaryColor:"#E6E6E6"},this._enableJsonpLoading=!1,this._jsonpIconLoad$=new V,this._renderer=this._rendererFactory.createRenderer(null,null),this._handler&&(this._http=new ax(this._handler)),this._antIcons&&this.addIcon(...this._antIcons)}useJsonpLoading(){this._enableJsonpLoading||(this._enableJsonpLoading=!0,window.__ant_icon_load=e=>{this._jsonpIconLoad$.next(e)})}changeAssetsSource(e){this._assetsUrlRoot=e.endsWith("/")?e:e+"/"}addIcon(...e){e.forEach(i=>{this._svgDefinitions.set(R3(i.name,i.theme),i)})}addIconLiteral(e,i){const[o,r]=L3(e);if(!r)throw function Yie(){return new Error(`${js}Type should have a namespace. Try "namespace:${name}".`)}();this.addIcon({name:e,icon:i})}clear(){this._svgDefinitions.clear(),this._svgRenderedDefinitions.clear()}getRenderedContent(e,i){const o=Sx(e)?e:this._svgDefinitions.get(e)||null;if(!o&&this._disableDynamicLoading)throw Tx(e);return(o?Ge(o):this._loadIconDynamically(e)).pipe(Pe(s=>{if(!s)throw Tx(e);return this._loadSVGFromCacheOrCreateNew(s,i)}))}getCachedIcons(){return this._svgDefinitions}_loadIconDynamically(e){if(!this._http&&!this._enableJsonpLoading)return Ge(function Uie(){return function Vie(t){console.error(`${js} ${t}.`)}('you need to import "HttpClientModule" to use dynamic importing.'),null}());let i=this._inProgressFetches.get(e);if(!i){const[o,r]=L3(e),s=r?{name:e,icon:""}:function Lie(t){const n=t.split("-"),e=function Fie(t){return"o"===t?"outline":t}(n.splice(n.length-1,1)[0]);return{name:n.join("-"),theme:e,icon:""}}(o),l=(r?`${this._assetsUrlRoot}assets/${r}/${o}`:`${this._assetsUrlRoot}assets/${s.theme}/${s.name}`)+(this._enableJsonpLoading?".js":".svg"),c=this.sanitizer.sanitize(Wo.URL,l);if(!c)throw function Wie(t){return new Error(`${js}The url "${t}" is unsafe.`)}(l);i=(this._enableJsonpLoading?this._loadIconDynamicallyWithJsonp(s,c):this._http.get(c,{responseType:"text"}).pipe(Pe(p=>({...s,icon:p})))).pipe(ii(p=>this.addIcon(p)),l1(()=>this._inProgressFetches.delete(e)),ul(()=>Ge(null)),Cx()),this._inProgressFetches.set(e,i)}return i}_loadIconDynamicallyWithJsonp(e,i){return new Wt(o=>{const r=this._document.createElement("script"),s=setTimeout(()=>{a(),o.error(function qie(){return new Error(`${js}Importing timeout error.`)}())},6e3);function a(){r.parentNode.removeChild(r),clearTimeout(s)}r.src=i,this._document.body.appendChild(r),this._jsonpIconLoad$.pipe(yt(l=>l.name===e.name&&l.theme===e.theme),io(1)).subscribe(l=>{o.next(l),a()})})}_loadSVGFromCacheOrCreateNew(e,i){let o;const r=i||this._twoToneColorPalette.primaryColor,s=Ax(r)||this._twoToneColorPalette.secondaryColor,a="twotone"===e.theme?function Nie(t,n,e,i){return`${R3(t,n)}-${e}-${i}`}(e.name,e.theme,r,s):void 0===e.theme?e.name:R3(e.name,e.theme),l=this._svgRenderedDefinitions.get(a);return l?o=l.icon:(o=this._setSVGAttribute(this._colorizeSVGIcon(this._createSVGElementFromString(function jie(t){return""!==L3(t)[1]}(e.name)?e.icon:function Hie(t){return t.replace(/['"]#333['"]/g,'"primaryColor"').replace(/['"]#E6E6E6['"]/g,'"secondaryColor"').replace(/['"]#D9D9D9['"]/g,'"secondaryColor"').replace(/['"]#D8D8D8['"]/g,'"secondaryColor"')}(e.icon)),"twotone"===e.theme,r,s)),this._svgRenderedDefinitions.set(a,{...e,icon:o})),function Bie(t){return t.cloneNode(!0)}(o)}_createSVGElementFromString(e){const i=this._document.createElement("div");i.innerHTML=e;const o=i.querySelector("svg");if(!o)throw Gie;return o}_setSVGAttribute(e){return this._renderer.setAttribute(e,"width","1em"),this._renderer.setAttribute(e,"height","1em"),e}_colorizeSVGIcon(e,i,o,r){if(i){const s=e.childNodes,a=s.length;for(let l=0;l{class t{constructor(e,i,o){this._iconService=e,this._elementRef=i,this._renderer=o}ngOnChanges(e){(e.type||e.theme||e.twoToneColor)&&this._changeIcon()}_changeIcon(){return new Promise(e=>{if(!this.type)return this._clearSVGElement(),void e(null);const i=this._getSelfRenderMeta();this._iconService.getRenderedContent(this._parseIconType(this.type,this.theme),this.twoToneColor).subscribe(o=>{const r=this._getSelfRenderMeta();!function $ie(t,n){return t.type===n.type&&t.theme===n.theme&&t.twoToneColor===n.twoToneColor}(i,r)?e(null):(this._setSVGElement(o),e(o))})})}_getSelfRenderMeta(){return{type:this.type,theme:this.theme,twoToneColor:this.twoToneColor}}_parseIconType(e,i){if(Sx(e))return e;{const[o,r]=L3(e);return r?e:function Rie(t){return t.endsWith("-fill")||t.endsWith("-o")||t.endsWith("-twotone")}(o)?o:R3(o,i||this._iconService.defaultTheme)}}_setSVGElement(e){this._clearSVGElement(),this._renderer.appendChild(this._elementRef.nativeElement,e)}_clearSVGElement(){const e=this._elementRef.nativeElement,i=e.childNodes;for(let r=i.length-1;r>=0;r--){const s=i[r];"svg"===s.tagName?.toLowerCase()&&this._renderer.removeChild(e,s)}}static#e=this.\u0275fac=function(i){return new(i||t)(v(Mx),v(Se),v(Yt))};static#t=this.\u0275dir=de({type:t,selectors:[["","antIcon",""]],inputs:{type:"type",theme:"theme",twoToneColor:"twoToneColor"},features:[xe]})}return t})();const Dx={name:"check",theme:"outline",icon:''},Ex={name:"copy",theme:"outline",icon:''},xx={name:"ellipsis",theme:"outline",icon:''},kx={name:"loading",theme:"outline",icon:''},Ix={name:"star",theme:"fill",icon:''},Ox={name:"upload",theme:"outline",icon:''},Boe=[{name:"bars",theme:"outline",icon:''},{name:"calendar",theme:"outline",icon:''},{name:"caret-up",theme:"fill",icon:''},{name:"caret-up",theme:"outline",icon:''},{name:"caret-down",theme:"fill",icon:''},{name:"caret-down",theme:"outline",icon:''},{name:"check-circle",theme:"fill",icon:''},{name:"check-circle",theme:"outline",icon:''},Dx,{name:"clock-circle",theme:"outline",icon:''},{name:"close-circle",theme:"outline",icon:''},{name:"close-circle",theme:"fill",icon:''},{name:"close",theme:"outline",icon:''},Ex,{name:"delete",theme:"outline",icon:''},{name:"double-left",theme:"outline",icon:''},{name:"double-right",theme:"outline",icon:''},{name:"down",theme:"outline",icon:''},{name:"edit",theme:"outline",icon:''},xx,{name:"exclamation-circle",theme:"fill",icon:''},{name:"exclamation-circle",theme:"outline",icon:''},{name:"eye",theme:"outline",icon:''},{name:"file",theme:"fill",icon:''},{name:"file",theme:"outline",icon:''},{name:"filter",theme:"fill",icon:''},{name:"info-circle",theme:"fill",icon:''},{name:"info-circle",theme:"outline",icon:''},{name:"left",theme:"outline",icon:''},kx,{name:"paper-clip",theme:"outline",icon:''},{name:"question-circle",theme:"outline",icon:''},{name:"right",theme:"outline",icon:''},{name:"rotate-right",theme:"outline",icon:''},{name:"rotate-left",theme:"outline",icon:''},Ix,{name:"search",theme:"outline",icon:''},Ix,Ox,{name:"vertical-align-top",theme:"outline",icon:''},{name:"up",theme:"outline",icon:''},{name:"swap",theme:"outline",icon:''},{name:"swap-right",theme:"outline",icon:''},{name:"zoom-in",theme:"outline",icon:''},{name:"zoom-out",theme:"outline",icon:''}],Px=new oe("nz_icons"),Vx=(new oe("nz_icon_default_twotone_color"),"#1890ff");let Nx=(()=>{class t extends Mx{get _disableDynamicLoading(){return!this.platform.isBrowser}ngOnDestroy(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=null)}normalizeSvgElement(e){e.getAttribute("viewBox")||this._renderer.setAttribute(e,"viewBox","0 0 1024 1024"),(!e.getAttribute("width")||!e.getAttribute("height"))&&(this._renderer.setAttribute(e,"width","1em"),this._renderer.setAttribute(e,"height","1em")),e.getAttribute("fill")||this._renderer.setAttribute(e,"fill","currentColor")}fetchFromIconfont(e){const{scriptUrl:i}=e;if(this._document&&!this.iconfontCache.has(i)){const o=this._renderer.createElement("script");this._renderer.setAttribute(o,"src",i),this._renderer.setAttribute(o,"data-namespace",i.replace(/^(https?|http):/g,"")),this._renderer.appendChild(this._document.body,o),this.iconfontCache.add(i)}}createIconfontIcon(e){return this._createSVGElementFromString(``)}constructor(e,i,o,r,s,a,l){super(e,s,a,i,[...Boe,...l||[]]),this.nzConfigService=o,this.platform=r,this.configUpdated$=new V,this.iconfontCache=new Set,this.subscription=null,this.onConfigChange(),this.configDefaultTwotoneColor(),this.configDefaultTheme()}onConfigChange(){this.subscription=this.nzConfigService.getConfigChangeEventForComponent("icon").subscribe(()=>{this.configDefaultTwotoneColor(),this.configDefaultTheme(),this.configUpdated$.next()})}configDefaultTheme(){const e=this.getConfig();this.defaultTheme=e.nzTheme||"outline"}configDefaultTwotoneColor(){const i=this.getConfig().nzTwotoneColor||Vx;let o=Vx;i&&i.startsWith("#")&&(o=i),this.twoToneColor={primaryColor:o}}getConfig(){return this.nzConfigService.getConfigForComponent("icon")||{}}static#e=this.\u0275fac=function(i){return new(i||t)(R(Za),R(bu),R(si),R(Qn),R(t2,8),R(Pt,8),R(Px,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Fx=new oe("nz_icons_patch");let Rx=(()=>{class t{constructor(e,i){this.extraIcons=e,this.rootIconService=i,this.patched=!1}doPatch(){this.patched||(this.extraIcons.forEach(e=>this.rootIconService.addIcon(e)),this.patched=!0)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Fx,2),R(Nx))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),ln=(()=>{class t extends Jie{set nzSpin(e){this.spin=e}set nzType(e){this.type=e}set nzTheme(e){this.theme=e}set nzTwotoneColor(e){this.twoToneColor=e}set nzIconfont(e){this.iconfont=e}constructor(e,i,o,r,s,a){super(r,o,s),this.ngZone=e,this.changeDetectorRef=i,this.iconService=r,this.renderer=s,this.cacheClassName=null,this.nzRotate=0,this.spin=!1,this.destroy$=new V,a&&a.doPatch(),this.el=o.nativeElement}ngOnChanges(e){const{nzType:i,nzTwotoneColor:o,nzSpin:r,nzTheme:s,nzRotate:a}=e;i||o||r||s?this.changeIcon2():a?this.handleRotate(this.el.firstChild):this._setSVGElement(this.iconService.createIconfontIcon(`#${this.iconfont}`))}ngOnInit(){this.renderer.setAttribute(this.el,"class",`anticon ${this.el.className}`.trim())}ngAfterContentChecked(){if(!this.type){const e=this.el.children;let i=e.length;if(!this.type&&e.length)for(;i--;){const o=e[i];"svg"===o.tagName.toLowerCase()&&this.iconService.normalizeSvgElement(o)}}}ngOnDestroy(){this.destroy$.next()}changeIcon2(){this.setClassName(),this.ngZone.runOutsideAngular(()=>{ni(this._changeIcon()).pipe(P(this.destroy$)).subscribe({next:e=>{this.ngZone.run(()=>{this.changeDetectorRef.detectChanges(),e&&(this.setSVGData(e),this.handleSpin(e),this.handleRotate(e))})},error:Xu})})}handleSpin(e){this.spin||"loading"===this.type?this.renderer.addClass(e,"anticon-spin"):this.renderer.removeClass(e,"anticon-spin")}handleRotate(e){this.nzRotate?this.renderer.setAttribute(e,"style",`transform: rotate(${this.nzRotate}deg)`):this.renderer.removeAttribute(e,"style")}setClassName(){this.cacheClassName&&this.renderer.removeClass(this.el,this.cacheClassName),this.cacheClassName=`anticon-${this.type}`,this.renderer.addClass(this.el,this.cacheClassName)}setSVGData(e){this.renderer.setAttribute(e,"data-icon",this.type),this.renderer.setAttribute(e,"aria-hidden","true")}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(We),v(Se),v(Nx),v(Yt),v(Rx,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-icon",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("anticon",!0)},inputs:{nzSpin:[2,"nzSpin","nzSpin",I],nzRotate:[2,"nzRotate","nzRotate",Oi],nzType:"nzType",nzTheme:"nzTheme",nzTwotoneColor:"nzTwotoneColor",nzIconfont:"nzIconfont"},exportAs:["nzIcon"],standalone:!0,features:[je,mt,xe]})}return t})(),In=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:Px,useValue:e}]}}static forChild(e){return{ngModule:t,providers:[Rx,{provide:Fx,useValue:e}]}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();const Hoe=["addListener","removeListener"],joe=["addEventListener","removeEventListener"],Yoe=["on","off"];function nn(t,n,e,i){if(wt(e)&&(i=e,e=void 0),i)return nn(t,n,e).pipe(fg(i));const[o,r]=function Goe(t){return wt(t.addEventListener)&&wt(t.removeEventListener)}(t)?joe.map(s=>a=>t[s](n,a,e)):function Uoe(t){return wt(t.addListener)&&wt(t.removeListener)}(t)?Hoe.map(Lx(t,n)):function Woe(t){return wt(t.on)&&wt(t.off)}(t)?Yoe.map(Lx(t,n)):[];if(!o&&ug(t))return Yn(s=>nn(s,n,e))(Pi(t));if(!o)throw new TypeError("Invalid event target");return new Wt(s=>{const a=(...l)=>s.next(1r(a)})}function Lx(t,n){return e=>i=>t[e](n,i)}const r2={schedule(t){let n=requestAnimationFrame,e=cancelAnimationFrame;const{delegate:i}=r2;i&&(n=i.requestAnimationFrame,e=i.cancelAnimationFrame);const o=n(r=>{e=void 0,t(r)});return new Ft(()=>e?.(o))},requestAnimationFrame(...t){const{delegate:n}=r2;return(n?.requestAnimationFrame||requestAnimationFrame)(...t)},cancelAnimationFrame(...t){const{delegate:n}=r2;return(n?.cancelAnimationFrame||cancelAnimationFrame)(...t)},delegate:void 0},b7=new class Qoe extends k5{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let o;n=n||i.shift();do{if(o=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,o){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw o}}}(class qoe extends x5{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=r2.requestAnimationFrame(()=>n.flush(void 0))))}recycleAsyncId(n,e,i=0){var o;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:r}=n;null!=e&&(null===(o=r[r.length-1])||void 0===o?void 0:o.id)!==e&&(r2.cancelAnimationFrame(e),n._scheduled=void 0)}});let _7,Koe=1;const B3={};function Bx(t){return t in B3&&(delete B3[t],!0)}const $oe={setImmediate(t){const n=Koe++;return B3[n]=!0,_7||(_7=Promise.resolve()),_7.then(()=>Bx(n)&&t()),n},clearImmediate(t){Bx(t)}},{setImmediate:Joe,clearImmediate:Zoe}=$oe,H3={setImmediate(...t){const{delegate:n}=H3;return(n?.setImmediate||Joe)(...t)},clearImmediate(t){const{delegate:n}=H3;return(n?.clearImmediate||Zoe)(t)},delegate:void 0},y7=new class ere extends k5{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let o;n=n||i.shift();do{if(o=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,o){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw o}}}(class Xoe extends x5{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=H3.setImmediate(n.flush.bind(n,void 0))))}recycleAsyncId(n,e,i=0){var o;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:r}=n;null!=e&&(null===(o=r[r.length-1])||void 0===o?void 0:o.id)!==e&&(H3.clearImmediate(e),n._scheduled===e&&(n._scheduled=void 0))}});class ire{}class rre extends ire{constructor(n){super(),this._data=n}connect(){return b4(this._data)?this._data:Ge(this._data)}disconnect(){}}var _a=function(t){return t[t.REPLACED=0]="REPLACED",t[t.INSERTED=1]="INSERTED",t[t.MOVED=2]="MOVED",t[t.REMOVED=3]="REMOVED",t}(_a||{});const Hx=new oe("_ViewRepeater");class sre{constructor(){this.viewCacheSize=20,this._viewCache=[]}applyChanges(n,e,i,o,r){n.forEachOperation((s,a,l)=>{let c,u;null==s.previousIndex?(c=this._insertView(()=>i(s,a,l),l,e,o(s)),u=c?_a.INSERTED:_a.REPLACED):null==l?(this._detachAndCacheView(a,e),u=_a.REMOVED):(c=this._moveView(a,l,e,o(s)),u=_a.MOVED),r&&r({context:c?.context,operation:u,record:s})})}detach(){for(const n of this._viewCache)n.destroy();this._viewCache=[]}_insertView(n,e,i,o){const r=this._insertViewFromCache(e,i);if(r)return void(r.context.$implicit=o);const s=n();return i.createEmbeddedView(s.templateRef,s.context,s.index)}_detachAndCacheView(n,e){const i=e.detach(n);this._maybeCacheView(i,e)}_moveView(n,e,i,o){const r=i.get(n);return i.move(r,e),r.context.$implicit=o,r}_maybeCacheView(n,e){if(this._viewCache.length0?r/this._itemSize:0;if(e.end>o){const l=Math.ceil(i/this._itemSize),c=Math.max(0,Math.min(s,o-l));s!=c&&(s=c,r=c*this._itemSize,e.start=Math.floor(s)),e.end=Math.max(0,Math.min(o,e.start+l))}const a=r-e.start*this._itemSize;if(a0&&(e.end=Math.min(o,e.end+c),e.start=Math.max(0,Math.floor(s-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(e),this._viewport.setRenderedContentOffset(this._itemSize*e.start),this._scrolledIndexChange.next(Math.floor(s))}}function dre(t){return t._scrollStrategy}let Yx=(()=>{class t{constructor(){this._itemSize=20,this._minBufferPx=100,this._maxBufferPx=200,this._scrollStrategy=new cre(this.itemSize,this.minBufferPx,this.maxBufferPx)}get itemSize(){return this._itemSize}set itemSize(e){this._itemSize=Rs(e)}get minBufferPx(){return this._minBufferPx}set minBufferPx(e){this._minBufferPx=Rs(e)}get maxBufferPx(){return this._maxBufferPx}set maxBufferPx(e){this._maxBufferPx=Rs(e)}ngOnChanges(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["cdk-virtual-scroll-viewport","itemSize",""]],inputs:{itemSize:"itemSize",minBufferPx:"minBufferPx",maxBufferPx:"maxBufferPx"},standalone:!0,features:[et([{provide:jx,useFactory:dre,deps:[Gt(()=>t)]}]),xe]})}return t})(),s2=(()=>{class t{constructor(e,i,o){this._ngZone=e,this._platform=i,this._scrolled=new V,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=o}register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){const i=this.scrollContainers.get(e);i&&(i.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=20){return this._platform.isBrowser?new Wt(i=>{this._globalSubscription||this._addGlobalListener();const o=e>0?this._scrolled.pipe(bl(e)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Ge()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((e,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(e,i){const o=this.getAncestorScrollContainers(e);return this.scrolled(i).pipe(yt(r=>!r||o.indexOf(r)>-1))}getAncestorScrollContainers(e){const i=[];return this.scrollContainers.forEach((o,r)=>{this._scrollableContainsElement(r,e)&&i.push(r)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(e,i){let o=Vi(i),r=e.getElementRef().nativeElement;do{if(o==r)return!0}while(o=o.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>nn(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Me),R(Qn),R(Pt,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ux=(()=>{class t{constructor(e,i,o,r){this.elementRef=e,this.scrollDispatcher=i,this.ngZone=o,this.dir=r,this._destroyed=new V,this._elementScrolled=new Wt(s=>this.ngZone.runOutsideAngular(()=>nn(this.elementRef.nativeElement,"scroll").pipe(P(this._destroyed)).subscribe(s)))}ngOnInit(){this.scrollDispatcher.register(this)}ngOnDestroy(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(e){const i=this.elementRef.nativeElement,o=this.dir&&"rtl"==this.dir.value;null==e.left&&(e.left=o?e.end:e.start),null==e.right&&(e.right=o?e.start:e.end),null!=e.bottom&&(e.top=i.scrollHeight-i.clientHeight-e.bottom),o&&qu()!=ms.NORMAL?(null!=e.left&&(e.right=i.scrollWidth-i.clientWidth-e.left),qu()==ms.INVERTED?e.left=e.right:qu()==ms.NEGATED&&(e.left=e.right?-e.right:e.right)):null!=e.right&&(e.left=i.scrollWidth-i.clientWidth-e.right),this._applyScrollToOptions(e)}_applyScrollToOptions(e){const i=this.elementRef.nativeElement;rE()?i.scrollTo(e):(null!=e.top&&(i.scrollTop=e.top),null!=e.left&&(i.scrollLeft=e.left))}measureScrollOffset(e){const i="left",o="right",r=this.elementRef.nativeElement;if("top"==e)return r.scrollTop;if("bottom"==e)return r.scrollHeight-r.clientHeight-r.scrollTop;const s=this.dir&&"rtl"==this.dir.value;return"start"==e?e=s?o:i:"end"==e&&(e=s?i:o),s&&qu()==ms.INVERTED?e==i?r.scrollWidth-r.clientWidth-r.scrollLeft:r.scrollLeft:s&&qu()==ms.NEGATED?e==i?r.scrollLeft+r.scrollWidth-r.clientWidth:-r.scrollLeft:e==i?r.scrollLeft:r.scrollWidth-r.clientWidth-r.scrollLeft}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(s2),v(Me),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]],standalone:!0})}return t})(),a2=(()=>{class t{constructor(e,i,o){this._platform=e,this._change=new V,this._changeListener=r=>{this._change.next(r)},this._document=o,i.runOutsideAngular(()=>{if(e.isBrowser){const r=this._getWindow();r.addEventListener("resize",this._changeListener),r.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){const e=this.getViewportScrollPosition(),{width:i,height:o}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+o,right:e.left+i,height:o,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const e=this._document,i=this._getWindow(),o=e.documentElement,r=o.getBoundingClientRect();return{top:-r.top||e.body.scrollTop||i.scrollY||o.scrollTop||0,left:-r.left||e.body.scrollLeft||i.scrollX||o.scrollLeft||0}}change(e=20){return e>0?this._change.pipe(bl(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn),R(Me),R(Pt,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Wx=new oe("VIRTUAL_SCROLLABLE");let pre=(()=>{class t extends Ux{constructor(e,i,o,r){super(e,i,o,r)}measureViewportSize(e){const i=this.elementRef.nativeElement;return"horizontal"===e?i.clientWidth:i.clientHeight}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(s2),v(Me),v(Ct,8))};static#t=this.\u0275dir=de({type:t,features:[mt]})}return t})();const mre=typeof requestAnimationFrame<"u"?b7:y7;let E1=(()=>{class t extends pre{get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._orientation=e,this._calculateSpacerSize())}constructor(e,i,o,r,s,a,l,c){super(e,a,o,s),this.elementRef=e,this._changeDetectorRef=i,this._scrollStrategy=r,this.scrollable=c,this._platform=G(Qn),this._detachedSubject=new V,this._renderedRangeSubject=new V,this._orientation="vertical",this.appendOnly=!1,this.scrolledIndexChange=new Wt(u=>this._scrollStrategy.scrolledIndexChange.subscribe(p=>Promise.resolve().then(()=>this.ngZone.run(()=>u.next(p))))),this.renderedRangeStream=this._renderedRangeSubject,this._totalContentSize=0,this._totalContentWidth="",this._totalContentHeight="",this._renderedRange={start:0,end:0},this._dataLength=0,this._viewportSize=0,this._renderedContentOffset=0,this._renderedContentOffsetNeedsRewrite=!1,this._isChangeDetectionPending=!1,this._runAfterChangeDetection=[],this._viewportChanges=Ft.EMPTY,this._injector=G(tn),this._isDestroyed=!1,this._viewportChanges=l.change().subscribe(()=>{this.checkViewportSize()}),this.scrollable||(this.elementRef.nativeElement.classList.add("cdk-virtual-scrollable"),this.scrollable=this)}ngOnInit(){this._platform.isBrowser&&(this.scrollable===this&&super.ngOnInit(),this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._measureViewportSize(),this._scrollStrategy.attach(this),this.scrollable.elementScrolled().pipe(gn(null),bl(0,mre),P(this._destroyed)).subscribe(()=>this._scrollStrategy.onContentScrolled()),this._markChangeDetectionNeeded()})))}ngOnDestroy(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),this._viewportChanges.unsubscribe(),this._isDestroyed=!0,super.ngOnDestroy()}attach(e){this.ngZone.runOutsideAngular(()=>{this._forOf=e,this._forOf.dataStream.pipe(P(this._detachedSubject)).subscribe(i=>{const o=i.length;o!==this._dataLength&&(this._dataLength=o,this._scrollStrategy.onDataLengthChanged()),this._doChangeDetection()})})}detach(){this._forOf=null,this._detachedSubject.next()}getDataLength(){return this._dataLength}getViewportSize(){return this._viewportSize}getRenderedRange(){return this._renderedRange}measureBoundingClientRectWithScrollOffset(e){return this.getElementRef().nativeElement.getBoundingClientRect()[e]}setTotalContentSize(e){this._totalContentSize!==e&&(this._totalContentSize=e,this._calculateSpacerSize(),this._markChangeDetectionNeeded())}setRenderedRange(e){(function fre(t,n){return t.start==n.start&&t.end==n.end})(this._renderedRange,e)||(this.appendOnly&&(e={start:0,end:Math.max(this._renderedRange.end,e.end)}),this._renderedRangeSubject.next(this._renderedRange=e),this._markChangeDetectionNeeded(()=>this._scrollStrategy.onContentRendered()))}getOffsetToRenderedContentStart(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset}setRenderedContentOffset(e,i="to-start"){e=this.appendOnly&&"to-start"===i?0:e;const r="horizontal"==this.orientation,s=r?"X":"Y";let l=`translate${s}(${Number((r&&this.dir&&"rtl"==this.dir.value?-1:1)*e)}px)`;this._renderedContentOffset=e,"to-end"===i&&(l+=` translate${s}(-100%)`,this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=l&&(this._renderedContentTransform=l,this._markChangeDetectionNeeded(()=>{this._renderedContentOffsetNeedsRewrite?(this._renderedContentOffset-=this.measureRenderedContentSize(),this._renderedContentOffsetNeedsRewrite=!1,this.setRenderedContentOffset(this._renderedContentOffset)):this._scrollStrategy.onRenderedOffsetChanged()}))}scrollToOffset(e,i="auto"){const o={behavior:i};"horizontal"===this.orientation?o.start=e:o.top=e,this.scrollable.scrollTo(o)}scrollToIndex(e,i="auto"){this._scrollStrategy.scrollToIndex(e,i)}measureScrollOffset(e){let i;return i=this.scrollable==this?o=>super.measureScrollOffset(o):o=>this.scrollable.measureScrollOffset(o),Math.max(0,i(e??("horizontal"===this.orientation?"start":"top"))-this.measureViewportOffset())}measureViewportOffset(e){let i;const o="left",r="right",s="rtl"==this.dir?.value;i="start"==e?s?r:o:"end"==e?s?o:r:e||("horizontal"===this.orientation?"left":"top");const a=this.scrollable.measureBoundingClientRectWithScrollOffset(i);return this.elementRef.nativeElement.getBoundingClientRect()[i]-a}measureRenderedContentSize(){const e=this._contentWrapper.nativeElement;return"horizontal"===this.orientation?e.offsetWidth:e.offsetHeight}measureRangeSize(e){return this._forOf?this._forOf.measureRangeSize(e,this.orientation):0}checkViewportSize(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()}_measureViewportSize(){this._viewportSize=this.scrollable.measureViewportSize(this.orientation)}_markChangeDetectionNeeded(e){e&&this._runAfterChangeDetection.push(e),this._isChangeDetectionPending||(this._isChangeDetectionPending=!0,this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._doChangeDetection()})))}_doChangeDetection(){this._isDestroyed||this.ngZone.run(()=>{this._changeDetectorRef.markForCheck(),this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform,Xa(()=>{this._isChangeDetectionPending=!1;const e=this._runAfterChangeDetection;this._runAfterChangeDetection=[];for(const i of e)i()},{injector:this._injector})})}_calculateSpacerSize(){this._totalContentHeight="horizontal"===this.orientation?"":`${this._totalContentSize}px`,this._totalContentWidth="horizontal"===this.orientation?`${this._totalContentSize}px`:""}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(We),v(Me),v(jx,8),v(Ct,8),v(s2),v(a2),v(Wx,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["cdk-virtual-scroll-viewport"]],viewQuery:function(i,o){if(1&i&&ft(are,7),2&i){let r;ke(r=Ie())&&(o._contentWrapper=r.first)}},hostAttrs:[1,"cdk-virtual-scroll-viewport"],hostVars:4,hostBindings:function(i,o){2&i&&Z("cdk-virtual-scroll-orientation-horizontal","horizontal"===o.orientation)("cdk-virtual-scroll-orientation-vertical","horizontal"!==o.orientation)},inputs:{orientation:"orientation",appendOnly:[2,"appendOnly","appendOnly",I]},outputs:{scrolledIndexChange:"scrolledIndexChange"},standalone:!0,features:[et([{provide:Ux,useFactory:(e,i)=>e||i,deps:[[new ed,new B9(Wx)],t]}]),je,mt,me],ngContentSelectors:lre,decls:4,vars:4,consts:[["contentWrapper",""],[1,"cdk-virtual-scroll-content-wrapper"],[1,"cdk-virtual-scroll-spacer"]],template:function(i,o){1&i&&(Et(),f(0,"div",1,0),_t(2),m(),A(3,"div",2)),2&i&&(d(3),Lt("width",o._totalContentWidth)("height",o._totalContentHeight))},styles:["cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}"],encapsulation:2,changeDetection:0})}return t})();function Gx(t,n,e){if(!e.getBoundingClientRect)return 0;const o=e.getBoundingClientRect();return"horizontal"===t?"start"===n?o.left:o.right:"start"===n?o.top:o.bottom}let qx=(()=>{class t{get cdkVirtualForOf(){return this._cdkVirtualForOf}set cdkVirtualForOf(e){this._cdkVirtualForOf=e,function ore(t){return t&&"function"==typeof t.connect&&!(t instanceof vg)}(e)?this._dataSourceChanges.next(e):this._dataSourceChanges.next(new rre(b4(e)?e:Array.from(e||[])))}get cdkVirtualForTrackBy(){return this._cdkVirtualForTrackBy}set cdkVirtualForTrackBy(e){this._needsUpdate=!0,this._cdkVirtualForTrackBy=e?(i,o)=>e(i+(this._renderedRange?this._renderedRange.start:0),o):void 0}set cdkVirtualForTemplate(e){e&&(this._needsUpdate=!0,this._template=e)}get cdkVirtualForTemplateCacheSize(){return this._viewRepeater.viewCacheSize}set cdkVirtualForTemplateCacheSize(e){this._viewRepeater.viewCacheSize=Rs(e)}constructor(e,i,o,r,s,a){this._viewContainerRef=e,this._template=i,this._differs=o,this._viewRepeater=r,this._viewport=s,this.viewChange=new V,this._dataSourceChanges=new V,this.dataStream=this._dataSourceChanges.pipe(gn(null),function tre(){return dn((t,n)=>{let e,i=!1;t.subscribe(Jt(n,o=>{const r=e;e=o,i&&n.next([r,o]),i=!0}))})}(),mn(([l,c])=>this._changeDataSource(l,c)),function nre(t,n,e){let i,o=!1;return t&&"object"==typeof t?({bufferSize:i=1/0,windowTime:n=1/0,refCount:o=!1,scheduler:e}=t):i=t??1/0,Cx({connector:()=>new fi(i,n,e),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:o})}(1)),this._differ=null,this._needsUpdate=!1,this._destroyed=new V,this.dataStream.subscribe(l=>{this._data=l,this._onRenderedDataChange()}),this._viewport.renderedRangeStream.pipe(P(this._destroyed)).subscribe(l=>{this._renderedRange=l,this.viewChange.observers.length&&a.run(()=>this.viewChange.next(this._renderedRange)),this._onRenderedDataChange()}),this._viewport.attach(this)}measureRangeSize(e,i){if(e.start>=e.end)return 0;const o=e.start-this._renderedRange.start,r=e.end-e.start;let s,a;for(let l=0;l-1;l--){const c=this._viewContainerRef.get(l+o);if(c&&c.rootNodes.length){a=c.rootNodes[c.rootNodes.length-1];break}}return s&&a?Gx(i,"end",a)-Gx(i,"start",s):0}ngDoCheck(){if(this._differ&&this._needsUpdate){const e=this._differ.diff(this._renderedItems);e?this._applyChanges(e):this._updateContext(),this._needsUpdate=!1}}ngOnDestroy(){this._viewport.detach(),this._dataSourceChanges.next(void 0),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete(),this._viewRepeater.detach()}_onRenderedDataChange(){this._renderedRange&&(this._renderedItems=this._data.slice(this._renderedRange.start,this._renderedRange.end),this._differ||(this._differ=this._differs.find(this._renderedItems).create((e,i)=>this.cdkVirtualForTrackBy?this.cdkVirtualForTrackBy(e,i):i)),this._needsUpdate=!0)}_changeDataSource(e,i){return e&&e.disconnect(this),this._needsUpdate=!0,i?i.connect(this):Ge()}_updateContext(){const e=this._data.length;let i=this._viewContainerRef.length;for(;i--;){const o=this._viewContainerRef.get(i);o.context.index=this._renderedRange.start+i,o.context.count=e,this._updateComputedContextProperties(o.context),o.detectChanges()}}_applyChanges(e){this._viewRepeater.applyChanges(e,this._viewContainerRef,(r,s,a)=>this._getEmbeddedViewArgs(r,a),r=>r.item),e.forEachIdentityChange(r=>{this._viewContainerRef.get(r.currentIndex).context.$implicit=r.item});const i=this._data.length;let o=this._viewContainerRef.length;for(;o--;){const r=this._viewContainerRef.get(o);r.context.index=this._renderedRange.start+o,r.context.count=i,this._updateComputedContextProperties(r.context)}}_updateComputedContextProperties(e){e.first=0===e.index,e.last=e.index===e.count-1,e.even=e.index%2==0,e.odd=!e.even}_getEmbeddedViewArgs(e,i){return{templateRef:this._template,context:{$implicit:e.item,cdkVirtualForOf:this._cdkVirtualForOf,index:-1,count:-1,first:!1,last:!1,odd:!1,even:!1},index:i}}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt),v(K0),v(Hx),v(E1,4),v(Me))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkVirtualFor","","cdkVirtualForOf",""]],inputs:{cdkVirtualForOf:"cdkVirtualForOf",cdkVirtualForTrackBy:"cdkVirtualForTrackBy",cdkVirtualForTemplate:"cdkVirtualForTemplate",cdkVirtualForTemplateCacheSize:"cdkVirtualForTemplateCacheSize"},standalone:!0,features:[et([{provide:Hx,useClass:sre}])]})}return t})(),w7=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})(),C7=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[b3,w7,b3,w7]})}return t})();function On(...t){const n=_u(t),e=function B$(t,n){return"number"==typeof hg(t)?t.pop():n}(t,1/0),i=t;return i.length?1===i.length?Pi(i[0]):s1(e)(ni(i,n)):_o}function c2(t,...n){return n.length?n.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const Kx=rE();class kre{constructor(n,e){this._viewportRuler=n,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const n=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=n.style.left||"",this._previousHTMLStyles.top=n.style.top||"",n.style.left=ri(-this._previousScrollPosition.left),n.style.top=ri(-this._previousScrollPosition.top),n.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const n=this._document.documentElement,i=n.style,o=this._document.body.style,r=i.scrollBehavior||"",s=o.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,n.classList.remove("cdk-global-scrollblock"),Kx&&(i.scrollBehavior=o.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Kx&&(i.scrollBehavior=r,o.scrollBehavior=s)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const e=this._document.body,i=this._viewportRuler.getViewportSize();return e.scrollHeight>i.height||e.scrollWidth>i.width}}class Ire{constructor(n,e,i,o){this._scrollDispatcher=n,this._ngZone=e,this._viewportRuler=i,this._config=o,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(n){this._overlayRef=n}enable(){if(this._scrollSubscription)return;const n=this._scrollDispatcher.scrolled(0).pipe(yt(e=>!e||!this._overlayRef.overlayElement.contains(e.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=n.subscribe(()=>{const e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=n.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class $x{enable(){}disable(){}attach(){}}function z7(t,n){return n.some(e=>t.bottome.bottom||t.righte.right)}function Jx(t,n){return n.some(e=>t.tope.bottom||t.lefte.right)}class Ore{constructor(n,e,i,o){this._scrollDispatcher=n,this._viewportRuler=e,this._ngZone=i,this._config=o,this._scrollSubscription=null}attach(n){this._overlayRef=n}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:o}=this._viewportRuler.getViewportSize();z7(e,[{width:i,height:o,bottom:o,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let Pre=(()=>{class t{constructor(e,i,o,r){this._scrollDispatcher=e,this._viewportRuler=i,this._ngZone=o,this.noop=()=>new $x,this.close=s=>new Ire(this._scrollDispatcher,this._ngZone,this._viewportRuler,s),this.block=()=>new kre(this._viewportRuler,this._document),this.reposition=s=>new Ore(this._scrollDispatcher,this._viewportRuler,this._ngZone,s),this._document=r}static#e=this.\u0275fac=function(i){return new(i||t)(R(s2),R(a2),R(Me),R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();class A7{constructor(n){if(this.scrollStrategy=new $x,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,n){const e=Object.keys(n);for(const i of e)void 0!==n[i]&&(this[i]=n[i])}}}class Fn{constructor(n,e,i,o,r){this.offsetX=i,this.offsetY=o,this.panelClass=r,this.originX=n.originX,this.originY=n.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class Vre{constructor(n,e){this.connectionPair=n,this.scrollableViewProperties=e}}let Zx=(()=>{class t{constructor(e){this._attachedOverlays=[],this._document=e}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){const i=this._attachedOverlays.indexOf(e);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Nre=(()=>{class t extends Zx{constructor(e,i){super(e),this._ngZone=i,this._keydownListener=o=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){const a=r[s]._keydownEvents;this._ngZone?this._ngZone.run(()=>a.next(o)):a.next(o);break}}}add(e){super.add(e),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt),R(Me,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Fre=(()=>{class t extends Zx{constructor(e,i,o){super(e),this._platform=i,this._ngZone=o,this._cursorStyleIsSet=!1,this._pointerDownListener=r=>{this._pointerDownEventTarget=Po(r)},this._clickListener=r=>{const s=Po(r),a="click"===r.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:s;this._pointerDownEventTarget=null;const l=this._attachedOverlays.slice();for(let c=l.length-1;c>-1;c--){const u=l[c];if(u._outsidePointerEvents.observers.length<1||!u.hasAttached())continue;if(Xx(u.overlayElement,s)||Xx(u.overlayElement,a))break;const p=u._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>p.next(r)):p.next(r)}}}add(e){if(super.add(e),!this._isAttached){const i=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(i)):this._addEventListeners(i),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const e=this._document.body;e.removeEventListener("pointerdown",this._pointerDownListener,!0),e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(e){e.addEventListener("pointerdown",this._pointerDownListener,!0),e.addEventListener("click",this._clickListener,!0),e.addEventListener("auxclick",this._clickListener,!0),e.addEventListener("contextmenu",this._clickListener,!0)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt),R(Qn),R(Me,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Xx(t,n){const e=typeof ShadowRoot<"u"&&ShadowRoot;let i=n;for(;i;){if(i===t)return!0;i=e&&i instanceof ShadowRoot?i.host:i.parentNode}return!1}let ek=(()=>{class t{constructor(e,i){this._platform=i,this._document=e}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const e="cdk-overlay-container";if(this._platform.isBrowser||sE()){const o=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let r=0;rthis._backdropClick.next(b),this._backdropTransitionendHandler=b=>{this._disposeBackdrop(b.target)},this._keydownEvents=new V,this._outsidePointerEvents=new V,this._renders=new V,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy,this._afterRenderRef=Om(()=>function _w(t,n){!n&&bh();const e=n?.injector??G(tn);if(!xo(e))return bw;mo("NgAfterRender");const i=e.get(Bd),o=i.handler??=new ww,r=n?.phase??ia.MixedReadWrite,s=()=>{o.unregister(l),a()},a=e.get(yc).onDestroy(s),l=Er(e,()=>new yw(r,t));return o.register(l),{destroy:s}}(()=>{this._renders.next()},{injector:this._injector}))}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(n){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const e=this._portalOutlet.attach(n);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),Xa(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof e?.onDestroy&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const n=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){const n=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,n&&this._detachments.next(),this._detachments.complete(),this._afterRenderRef.destroy(),this._renders.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(n){n!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=n,this.hasAttached()&&(n.attach(this),this.updatePosition()))}updateSize(n){this._config={...this._config,...n},this._updateElementSize()}setDirection(n){this._config={...this._config,direction:n},this._updateElementDirection()}addPanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!0)}removePanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!1)}getDirection(){const n=this._config.direction;return n?"string"==typeof n?n:n.value:"ltr"}updateScrollStrategy(n){n!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=n,this.hasAttached()&&(n.attach(this),n.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const n=this._pane.style;n.width=ri(this._config.width),n.height=ri(this._config.height),n.minWidth=ri(this._config.minWidth),n.minHeight=ri(this._config.minHeight),n.maxWidth=ri(this._config.maxWidth),n.maxHeight=ri(this._config.maxHeight)}_togglePointerEvents(n){this._pane.style.pointerEvents=n?"":"none"}_attachBackdrop(){const n="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(n)})}):this._backdropElement.classList.add(n)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const n=this._backdropElement;if(n){if(this._animationsDisabled)return void this._disposeBackdrop(n);n.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{n.addEventListener("transitionend",this._backdropTransitionendHandler)}),n.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(n)},500))}}_toggleClasses(n,e,i){const o=Wu(e||[]).filter(r=>!!r);o.length&&(i?n.classList.add(...o):n.classList.remove(...o))}_detachContentWhenEmpty(){this._ngZone.runOutsideAngular(()=>{const n=this._renders.pipe(P(On(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),n.unsubscribe())})})}_disposeScrollStrategy(){const n=this._scrollStrategy;n&&(n.disable(),n.detach&&n.detach())}_disposeBackdrop(n){n&&(n.removeEventListener("click",this._backdropClickHandler),n.removeEventListener("transitionend",this._backdropTransitionendHandler),n.remove(),this._backdropElement===n&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const tk="cdk-overlay-connected-position-bounding-box",Rre=/([A-Za-z%]+)$/;class Lre{get positions(){return this._preferredPositions}constructor(n,e,i,o,r){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=r,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new V,this._resizeSubscription=Ft.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(n)}attach(n){this._validatePositions(),n.hostElement.classList.add(tk),this._overlayRef=n,this._boundingBox=n.hostElement,this._pane=n.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const n=this._originRect,e=this._overlayRect,i=this._viewportRect,o=this._containerRect,r=[];let s;for(let a of this._preferredPositions){let l=this._getOriginPoint(n,o,a),c=this._getOverlayPoint(l,e,a),u=this._getOverlayFit(c,e,i,a);if(u.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(a,l);this._canFitWithFlexibleDimensions(u,c,i)?r.push({position:a,origin:l,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(l,a)}):(!s||s.overlayFit.visibleAreal&&(l=u,a=c)}return this._isPushed=!1,void this._applyPosition(a.position,a.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&Al(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(tk),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const n=this._lastPosition;if(n){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const e=this._getOriginPoint(this._originRect,this._containerRect,n);this._applyPosition(n,e)}else this.apply()}withScrollableContainers(n){return this._scrollables=n,this}withPositions(n){return this._preferredPositions=n,-1===n.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(n){return this._viewportMargin=n,this}withFlexibleDimensions(n=!0){return this._hasFlexibleDimensions=n,this}withGrowAfterOpen(n=!0){return this._growAfterOpen=n,this}withPush(n=!0){return this._canPush=n,this}withLockedPosition(n=!0){return this._positionLocked=n,this}setOrigin(n){return this._origin=n,this}withDefaultOffsetX(n){return this._offsetX=n,this}withDefaultOffsetY(n){return this._offsetY=n,this}withTransformOriginOn(n){return this._transformOriginSelector=n,this}_getOriginPoint(n,e,i){let o,r;if("center"==i.originX)o=n.left+n.width/2;else{const s=this._isRtl()?n.right:n.left,a=this._isRtl()?n.left:n.right;o="start"==i.originX?s:a}return e.left<0&&(o-=e.left),r="center"==i.originY?n.top+n.height/2:"top"==i.originY?n.top:n.bottom,e.top<0&&(r-=e.top),{x:o,y:r}}_getOverlayPoint(n,e,i){let o,r;return o="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height,{x:n.x+o,y:n.y+r}}_getOverlayFit(n,e,i,o){const r=ik(e);let{x:s,y:a}=n,l=this._getOffset(o,"x"),c=this._getOffset(o,"y");l&&(s+=l),c&&(a+=c);let b=0-a,_=a+r.height-i.height,y=this._subtractOverflows(r.width,0-s,s+r.width-i.width),z=this._subtractOverflows(r.height,b,_),E=y*z;return{visibleArea:E,isCompletelyWithinViewport:r.width*r.height===E,fitsInViewportVertically:z===r.height,fitsInViewportHorizontally:y==r.width}}_canFitWithFlexibleDimensions(n,e,i){if(this._hasFlexibleDimensions){const o=i.bottom-e.y,r=i.right-e.x,s=nk(this._overlayRef.getConfig().minHeight),a=nk(this._overlayRef.getConfig().minWidth);return(n.fitsInViewportVertically||null!=s&&s<=o)&&(n.fitsInViewportHorizontally||null!=a&&a<=r)}return!1}_pushOverlayOnScreen(n,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:n.x+this._previousPushAmount.x,y:n.y+this._previousPushAmount.y};const o=ik(e),r=this._viewportRect,s=Math.max(n.x+o.width-r.width,0),a=Math.max(n.y+o.height-r.height,0),l=Math.max(r.top-i.top-n.y,0),c=Math.max(r.left-i.left-n.x,0);let u=0,p=0;return u=o.width<=r.width?c||-s:n.xy&&!this._isInitialRender&&!this._growAfterOpen&&(s=n.y-y/2)}if("end"===e.overlayX&&!o||"start"===e.overlayX&&o)b=i.width-n.x+2*this._viewportMargin,u=n.x-this._viewportMargin;else if("start"===e.overlayX&&!o||"end"===e.overlayX&&o)p=n.x,u=i.right-n.x;else{const _=Math.min(i.right-n.x+i.left,n.x),y=this._lastBoundingBoxSize.width;u=2*_,p=n.x-_,u>y&&!this._isInitialRender&&!this._growAfterOpen&&(p=n.x-y/2)}return{top:s,left:p,bottom:a,right:b,width:u,height:r}}_setBoundingBoxStyles(n,e){const i=this._calculateBoundingBoxRect(n,e);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const o={};if(this._hasExactPosition())o.top=o.left="0",o.bottom=o.right=o.maxHeight=o.maxWidth="",o.width=o.height="100%";else{const r=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;o.height=ri(i.height),o.top=ri(i.top),o.bottom=ri(i.bottom),o.width=ri(i.width),o.left=ri(i.left),o.right=ri(i.right),o.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",o.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",r&&(o.maxHeight=ri(r)),s&&(o.maxWidth=ri(s))}this._lastBoundingBoxSize=i,Al(this._boundingBox.style,o)}_resetBoundingBoxStyles(){Al(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){Al(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(n,e){const i={},o=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(o){const u=this._viewportRuler.getViewportScrollPosition();Al(i,this._getExactOverlayY(e,n,u)),Al(i,this._getExactOverlayX(e,n,u))}else i.position="static";let a="",l=this._getOffset(e,"x"),c=this._getOffset(e,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),s.maxHeight&&(o?i.maxHeight=ri(s.maxHeight):r&&(i.maxHeight="")),s.maxWidth&&(o?i.maxWidth=ri(s.maxWidth):r&&(i.maxWidth="")),Al(this._pane.style,i)}_getExactOverlayY(n,e,i){let o={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i)),"bottom"===n.overlayY?o.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":o.top=ri(r.y),o}_getExactOverlayX(n,e,i){let s,o={left:"",right:""},r=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i)),s=this._isRtl()?"end"===n.overlayX?"left":"right":"end"===n.overlayX?"right":"left","right"===s?o.right=this._document.documentElement.clientWidth-(r.x+this._overlayRect.width)+"px":o.left=ri(r.x),o}_getScrollVisibility(){const n=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(o=>o.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Jx(n,i),isOriginOutsideView:z7(n,i),isOverlayClipped:Jx(e,i),isOverlayOutsideView:z7(e,i)}}_subtractOverflows(n,...e){return e.reduce((i,o)=>i-Math.max(o,0),n)}_getNarrowedViewportRect(){const n=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+n-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:n-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(n,e){return"x"===e?null==n.offsetX?this._offsetX:n.offsetX:null==n.offsetY?this._offsetY:n.offsetY}_validatePositions(){}_addPanelClasses(n){this._pane&&Wu(n).forEach(e=>{""!==e&&-1===this._appliedPanelClasses.indexOf(e)&&(this._appliedPanelClasses.push(e),this._pane.classList.add(e))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(n=>{this._pane.classList.remove(n)}),this._appliedPanelClasses=[])}_getOriginRect(){const n=this._origin;if(n instanceof Se)return n.nativeElement.getBoundingClientRect();if(n instanceof Element)return n.getBoundingClientRect();const e=n.width||0,i=n.height||0;return{top:n.y,bottom:n.y+i,left:n.x,right:n.x+e,height:i,width:e}}}function Al(t,n){for(let e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t}function nk(t){if("number"!=typeof t&&null!=t){const[n,e]=t.split(Rre);return e&&"px"!==e?null:parseFloat(n)}return t||null}function ik(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}const ok="cdk-global-overlay-wrapper";class Hre{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(n){const e=n.getConfig();this._overlayRef=n,this._width&&!e.width&&n.updateSize({width:this._width}),this._height&&!e.height&&n.updateSize({height:this._height}),n.hostElement.classList.add(ok),this._isDisposed=!1}top(n=""){return this._bottomOffset="",this._topOffset=n,this._alignItems="flex-start",this}left(n=""){return this._xOffset=n,this._xPosition="left",this}bottom(n=""){return this._topOffset="",this._bottomOffset=n,this._alignItems="flex-end",this}right(n=""){return this._xOffset=n,this._xPosition="right",this}start(n=""){return this._xOffset=n,this._xPosition="start",this}end(n=""){return this._xOffset=n,this._xPosition="end",this}width(n=""){return this._overlayRef?this._overlayRef.updateSize({width:n}):this._width=n,this}height(n=""){return this._overlayRef?this._overlayRef.updateSize({height:n}):this._height=n,this}centerHorizontally(n=""){return this.left(n),this._xPosition="center",this}centerVertically(n=""){return this.top(n),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:o,height:r,maxWidth:s,maxHeight:a}=i,l=!("100%"!==o&&"100vw"!==o||s&&"100%"!==s&&"100vw"!==s),c=!("100%"!==r&&"100vh"!==r||a&&"100%"!==a&&"100vh"!==a),u=this._xPosition,p=this._xOffset,b="rtl"===this._overlayRef.getConfig().direction;let _="",y="",z="";l?z="flex-start":"center"===u?(z="center",b?y=p:_=p):b?"left"===u||"end"===u?(z="flex-end",_=p):("right"===u||"start"===u)&&(z="flex-start",y=p):"left"===u||"start"===u?(z="flex-start",_=p):("right"===u||"end"===u)&&(z="flex-end",y=p),n.position=this._cssPosition,n.marginLeft=l?"0":_,n.marginTop=c?"0":this._topOffset,n.marginBottom=this._bottomOffset,n.marginRight=l?"0":y,e.justifyContent=z,e.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(ok),i.justifyContent=i.alignItems=n.marginTop=n.marginBottom=n.marginLeft=n.marginRight=n.position="",this._overlayRef=null,this._isDisposed=!0}}let jre=(()=>{class t{constructor(e,i,o,r){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=r}global(){return new Hre}flexibleConnectedTo(e){return new Lre(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}static#e=this.\u0275fac=function(i){return new(i||t)(R(a2),R(Pt),R(Qn),R(ek))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Yre=0,ya=(()=>{class t{constructor(e,i,o,r,s,a,l,c,u,p,b,_){this.scrollStrategies=e,this._overlayContainer=i,this._componentFactoryResolver=o,this._positionBuilder=r,this._keyboardDispatcher=s,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=p,this._outsideClickDispatcher=b,this._animationsModuleType=_}create(e){const i=this._createHostElement(),o=this._createPaneElement(i),r=this._createPortalOutlet(o),s=new A7(e);return s.direction=s.direction||this._directionality.value,new G3(r,i,o,s,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType,this._injector.get(Li))}position(){return this._positionBuilder}_createPaneElement(e){const i=this._document.createElement("div");return i.id="cdk-overlay-"+Yre++,i.classList.add("cdk-overlay-pane"),e.appendChild(i),i}_createHostElement(){const e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}_createPortalOutlet(e){return this._appRef||(this._appRef=this._injector.get(Ko)),new _ne(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pre),R(ek),R(Pc),R(jre),R(Nre),R(tn),R(Me),R(Pt),R(Ct),R(o1),R(Fre),R(ta,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Ure=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],rk=new oe("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{const t=G(ya);return()=>t.scrollStrategies.reposition()}});let Sl=(()=>{class t{constructor(e){this.elementRef=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"],standalone:!0})}return t})(),Tl=(()=>{class t{get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}get disposeOnNavigation(){return this._disposeOnNavigation}set disposeOnNavigation(e){this._disposeOnNavigation=e}constructor(e,i,o,r,s){this._overlay=e,this._dir=s,this._backdropSubscription=Ft.EMPTY,this._attachSubscription=Ft.EMPTY,this._detachSubscription=Ft.EMPTY,this._positionSubscription=Ft.EMPTY,this._disposeOnNavigation=!1,this._ngZone=G(Me),this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.hasBackdrop=!1,this.lockPosition=!1,this.flexibleDimensions=!1,this.growAfterOpen=!1,this.push=!1,this.backdropClick=new B,this.positionChange=new B,this.attach=new B,this.detach=new B,this.overlayKeydown=new B,this.overlayOutsideClick=new B,this._templatePortal=new Ju(i,o),this._scrollStrategyFactory=r,this.scrollStrategy=this._scrollStrategyFactory()}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=Ure);const e=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=e.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=e.detachments().subscribe(()=>this.detach.emit()),e.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!c2(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{const o=this._getOriginElement(),r=Po(i);(!o||o!==r&&!o.contains(r))&&this.overlayOutsideClick.next(i)})}_buildConfig(){const e=this._position=this.positionStrategy||this._createPositionStrategy(),i=new A7({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop,disposeOnNavigation:this.disposeOnNavigation});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(e){const i=this.positions.map(o=>({originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||this.offsetX,offsetY:o.offsetY||this.offsetY,panelClass:o.panelClass||void 0}));return e.setOrigin(this._getOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const e=this._overlay.position().flexibleConnectedTo(this._getOrigin());return this._updatePositionStrategy(e),e}_getOrigin(){return this.origin instanceof Sl?this.origin.elementRef:this.origin}_getOriginElement(){return this.origin instanceof Sl?this.origin.elementRef.nativeElement:this.origin instanceof Se?this.origin.nativeElement:typeof Element<"u"&&this.origin instanceof Element?this.origin:null}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(e=>{this.backdropClick.emit(e)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(function gre(t,n=!1){return dn((e,i)=>{let o=0;e.subscribe(Jt(i,r=>{const s=t(r,o++);(s||n)&&i.next(r),!s&&i.complete()}))})}(()=>this.positionChange.observers.length>0)).subscribe(e=>{this._ngZone.run(()=>this.positionChange.emit(e)),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)(v(ya),v(qt),v(qn),v(rk),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:[0,"cdkConnectedOverlayOrigin","origin"],positions:[0,"cdkConnectedOverlayPositions","positions"],positionStrategy:[0,"cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:[0,"cdkConnectedOverlayOffsetX","offsetX"],offsetY:[0,"cdkConnectedOverlayOffsetY","offsetY"],width:[0,"cdkConnectedOverlayWidth","width"],height:[0,"cdkConnectedOverlayHeight","height"],minWidth:[0,"cdkConnectedOverlayMinWidth","minWidth"],minHeight:[0,"cdkConnectedOverlayMinHeight","minHeight"],backdropClass:[0,"cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:[0,"cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:[0,"cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:[0,"cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:[0,"cdkConnectedOverlayOpen","open"],disableClose:[0,"cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:[0,"cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:[2,"cdkConnectedOverlayHasBackdrop","hasBackdrop",I],lockPosition:[2,"cdkConnectedOverlayLockPosition","lockPosition",I],flexibleDimensions:[2,"cdkConnectedOverlayFlexibleDimensions","flexibleDimensions",I],growAfterOpen:[2,"cdkConnectedOverlayGrowAfterOpen","growAfterOpen",I],push:[2,"cdkConnectedOverlayPush","push",I],disposeOnNavigation:[2,"cdkConnectedOverlayDisposeOnNavigation","disposeOnNavigation",I]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],standalone:!0,features:[je,xe]})}return t})();const Gre={provide:rk,deps:[ya],useFactory:function Wre(t){return()=>t.scrollStrategies.reposition()}};let d2=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[ya,Gre],imports:[b3,z3,C7,C7]})}return t})();function qre(t,n){1&t&&A(0,"span",10)}function Qre(t,n){1&t&&A(0,"span",11)}function Kre(t,n){1&t&&A(0,"span",12)}function $re(t,n){1&t&&A(0,"span",13)}function Jre(t,n){1&t&&A(0,"span",14)}function Zre(t,n){if(1&t&&(Ye(0),A(1,"span",15),Ue()),2&t){const e=g();d(),h("innerHTML",e.instance.content,Gn)}}function Xre(t,n){if(1&t){const e=W();f(0,"nz-message",2),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)}let ese=0;class sk{constructor(n,e,i){this.nzSingletonService=n,this.overlay=e,this.injector=i}remove(n){this.container&&(n?this.container.remove(n):this.container.removeAll())}getInstanceId(){return`${this.componentPrefix}-${ese++}`}withContainer(n){let e=this.nzSingletonService.getSingletonWithKey(this.componentPrefix);if(e)return e;const i=this.overlay.create({hasBackdrop:!1,scrollStrategy:this.overlay.scrollStrategies.noop(),positionStrategy:this.overlay.position().global()}),o=new $u(n,null,this.injector),r=i.attach(o);return i.hostElement.style.zIndex="1010",e||(this.container=e=r.instance,this.nzSingletonService.registerSingletonWithKey(this.componentPrefix,e),this.container.afterAllInstancesRemoved.subscribe(()=>{this.container=void 0,this.nzSingletonService.unregisterSingletonWithKey(this.componentPrefix),i.dispose()})),e}}let ak=(()=>{class t{constructor(e,i){this.cdr=e,this.nzConfigService=i,this.instances=[],this._afterAllInstancesRemoved=new V,this.afterAllInstancesRemoved=this._afterAllInstancesRemoved.asObservable(),this.destroy$=new V,this.updateConfig()}ngOnInit(){this.subscribeConfigChange()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}create(e){const i=this.onCreate(e);return this.instances.length>=this.config.nzMaxStack&&(this.instances=this.instances.slice(1)),this.instances=[...this.instances,i],this.readyInstances(),i}remove(e,i=!1){this.instances.map((o,r)=>({index:r,instance:o})).filter(({instance:o})=>o.messageId===e).forEach(({index:o,instance:r})=>{this.instances.splice(o,1),this.instances=[...this.instances],this.onRemove(r,i),this.readyInstances()}),this.instances.length||this.onAllInstancesRemoved()}removeAll(){this.instances.forEach(e=>this.onRemove(e,!1)),this.instances=[],this.readyInstances(),this.onAllInstancesRemoved()}onCreate(e){return e.options=this.mergeOptions(e.options),e.onClose=new V,e}onRemove(e,i){e.onClose.next(i),e.onClose.complete()}onAllInstancesRemoved(){this._afterAllInstancesRemoved.next(),this._afterAllInstancesRemoved.complete()}readyInstances(){this.cdr.detectChanges()}mergeOptions(e){const{nzDuration:i,nzAnimate:o,nzPauseOnHover:r}=this.config;return{nzDuration:i,nzAnimate:o,nzPauseOnHover:r,...e}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(si))};static#t=this.\u0275dir=de({type:t})}return t})(),lk=(()=>{class t{constructor(e){this.cdr=e,this.destroyed=new B,this.animationStateChanged=new V,this.userAction=!1}ngOnInit(){this.options=this.instance.options,this.options.nzAnimate&&(this.instance.state="enter",this.animationStateChanged.pipe(yt(e=>"done"===e.phaseName&&"leave"===e.toState),io(1)).subscribe(()=>{clearTimeout(this.closeTimer),this.destroyed.next({id:this.instance.messageId,userAction:this.userAction})})),this.autoClose=this.options.nzDuration>0,this.autoClose&&(this.initErase(),this.startEraseTimeout())}ngOnDestroy(){this.autoClose&&this.clearEraseTimeout(),this.animationStateChanged.complete()}onEnter(){this.autoClose&&this.options.nzPauseOnHover&&(this.clearEraseTimeout(),this.updateTTL())}onLeave(){this.autoClose&&this.options.nzPauseOnHover&&this.startEraseTimeout()}destroy(e=!1){this.userAction=e,this.options.nzAnimate?(this.instance.state="leave",this.cdr.detectChanges(),this.closeTimer=setTimeout(()=>{this.closeTimer=void 0,this.destroyed.next({id:this.instance.messageId,userAction:e})},200)):this.destroyed.next({id:this.instance.messageId,userAction:e})}initErase(){this.eraseTTL=this.options.nzDuration,this.eraseTimingStart=Date.now()}updateTTL(){this.autoClose&&(this.eraseTTL-=Date.now()-this.eraseTimingStart)}startEraseTimeout(){this.eraseTTL>0?(this.clearEraseTimeout(),this.eraseTimer=setTimeout(()=>this.destroy(),this.eraseTTL),this.eraseTimingStart=Date.now()):this.destroy()}clearEraseTimeout(){null!==this.eraseTimer&&(clearTimeout(this.eraseTimer),this.eraseTimer=void 0)}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275dir=de({type:t})}return t})(),ck=(()=>{class t extends lk{constructor(e){super(e),this.destroyed=new B}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-message"]],inputs:{instance:"instance"},outputs:{destroyed:"destroyed"},exportAs:["nzMessage"],standalone:!0,features:[mt,me],decls:10,vars:9,consts:[[1,"ant-message-notice",3,"mouseenter","mouseleave"],[1,"ant-message-notice-content"],[1,"ant-message-custom-content",3,"ngClass"],[3,"ngSwitch"],["nz-icon","","nzType","check-circle",4,"ngSwitchCase"],["nz-icon","","nzType","info-circle",4,"ngSwitchCase"],["nz-icon","","nzType","exclamation-circle",4,"ngSwitchCase"],["nz-icon","","nzType","close-circle",4,"ngSwitchCase"],["nz-icon","","nzType","loading",4,"ngSwitchCase"],[4,"nzStringTemplateOutlet"],["nz-icon","","nzType","check-circle"],["nz-icon","","nzType","info-circle"],["nz-icon","","nzType","exclamation-circle"],["nz-icon","","nzType","close-circle"],["nz-icon","","nzType","loading"],[3,"innerHTML"]],template:function(i,o){1&i&&(f(0,"div",0),M("@moveUpMotion.done",function(s){return o.animationStateChanged.next(s)})("mouseenter",function(){return o.onEnter()})("mouseleave",function(){return o.onLeave()}),f(1,"div",1)(2,"div",2),Ye(3,3),C(4,qre,1,0,"span",4)(5,Qre,1,0,"span",5)(6,Kre,1,0,"span",6)(7,$re,1,0,"span",7)(8,Jre,1,0,"span",8),Ue(),C(9,Zre,2,1,"ng-container",9),m()()()),2&i&&(h("@moveUpMotion",o.instance.state),d(2),h("ngClass","ant-message-"+o.instance.type),d(),h("ngSwitch",o.instance.type),d(),h("ngSwitchCase","success"),d(),h("ngSwitchCase","info"),d(),h("ngSwitchCase","warning"),d(),h("ngSwitchCase","error"),d(),h("ngSwitchCase","loading"),d(),h("nzStringTemplateOutlet",o.instance.content))},dependencies:[Jo,cl,fu,In,ln,Sn,An],encapsulation:2,data:{animation:[Gne]},changeDetection:0})}return t})();const q3="message",tse={nzAnimate:!0,nzDuration:3e3,nzMaxStack:7,nzPauseOnHover:!0,nzTop:24,nzDirection:"ltr"};let dk=(()=>{class t extends ak{constructor(e,i){super(e,i),this.dir="ltr";const o=this.nzConfigService.getConfigForComponent(q3);this.dir=o?.nzDirection||"ltr"}subscribeConfigChange(){this.nzConfigService.getConfigChangeEventForComponent(q3).pipe(P(this.destroy$)).subscribe(()=>{this.updateConfig();const e=this.nzConfigService.getConfigForComponent(q3);if(e){const{nzDirection:i}=e;this.dir=i||this.dir}})}updateConfig(){this.config={...tse,...this.config,...this.nzConfigService.getConfigForComponent(q3)},this.top=M1(this.config.nzTop),this.cdr.markForCheck()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(si))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-message-container"]],exportAs:["nzMessageContainer"],standalone:!0,features:[mt,me],decls:2,vars:5,consts:[[1,"ant-message"],[3,"instance","destroyed",4,"ngFor","ngForOf"],[3,"destroyed","instance"]],template:function(i,o){1&i&&(f(0,"div",0),C(1,Xre,1,1,"nz-message",1),m()),2&i&&(Lt("top",o.top),Z("ant-message-rtl","rtl"===o.dir),d(),h("ngForOf",o.instances))},dependencies:[ck,zn],encapsulation:2,changeDetection:0})}return t})(),nse=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[dk,ck]})}return t})(),er=(()=>{class t extends sk{constructor(e,i,o){super(e,i,o),this.componentPrefix="message-"}success(e,i){return this.createInstance({type:"success",content:e},i)}error(e,i){return this.createInstance({type:"error",content:e},i)}info(e,i){return this.createInstance({type:"info",content:e},i)}warning(e,i){return this.createInstance({type:"warning",content:e},i)}loading(e,i){return this.createInstance({type:"loading",content:e},i)}create(e,i,o){return this.createInstance({type:e,content:i},o)}createInstance(e,i){return this.container=this.withContainer(dk),this.container.create({...e,createdAt:new Date,messageId:this.getInstanceId(),options:i})}static#e=this.\u0275fac=function(i){return new(i||t)(R(cE),R(ya),R(tn))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Kt={top:new Fn({originX:"center",originY:"top"},{overlayX:"center",overlayY:"bottom"}),topCenter:new Fn({originX:"center",originY:"top"},{overlayX:"center",overlayY:"bottom"}),topLeft:new Fn({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"}),topRight:new Fn({originX:"end",originY:"top"},{overlayX:"end",overlayY:"bottom"}),right:new Fn({originX:"end",originY:"center"},{overlayX:"start",overlayY:"center"}),rightTop:new Fn({originX:"end",originY:"top"},{overlayX:"start",overlayY:"top"}),rightBottom:new Fn({originX:"end",originY:"bottom"},{overlayX:"start",overlayY:"bottom"}),bottom:new Fn({originX:"center",originY:"bottom"},{overlayX:"center",overlayY:"top"}),bottomCenter:new Fn({originX:"center",originY:"bottom"},{overlayX:"center",overlayY:"top"}),bottomLeft:new Fn({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"top"}),bottomRight:new Fn({originX:"end",originY:"bottom"},{overlayX:"end",overlayY:"top"}),left:new Fn({originX:"start",originY:"center"},{overlayX:"end",overlayY:"center"}),leftTop:new Fn({originX:"start",originY:"top"},{overlayX:"end",overlayY:"top"}),leftBottom:new Fn({originX:"start",originY:"bottom"},{overlayX:"end",overlayY:"bottom"})},uk=[Kt.top,Kt.right,Kt.bottom,Kt.left];function Q3(t){for(const n in Kt)if(t.connectionPair.originX===Kt[n].originX&&t.connectionPair.originY===Kt[n].originY&&t.connectionPair.overlayX===Kt[n].overlayX&&t.connectionPair.overlayY===Kt[n].overlayY)return n}new Fn({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"bottom"}),new Fn({originX:"start",originY:"bottom"},{overlayX:"end",overlayY:"bottom"}),new Fn({originX:"start",originY:"bottom"},{overlayX:"end",overlayY:"top"}),new Fn({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"top"},void 0,2),new Fn({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"},void 0,-2),new Fn({originX:"end",originY:"bottom"},{overlayX:"end",overlayY:"top"},void 0,2),new Fn({originX:"end",originY:"top"},{overlayX:"end",overlayY:"bottom"},void 0,-2);let $3=(()=>{class t{constructor(e,i){this.cdkConnectedOverlay=e,this.nzDestroyService=i,this.nzArrowPointAtCenter=!1,this.cdkConnectedOverlay.backdropClass="nz-overlay-transparent-backdrop",this.cdkConnectedOverlay.positionChange.pipe(P(this.nzDestroyService)).subscribe(o=>{this.nzArrowPointAtCenter&&this.updateArrowPosition(o)})}updateArrowPosition(e){const i=this.getOriginRect(),o=Q3(e);let r=0,s=0;"topLeft"===o||"bottomLeft"===o?r=i.width/2-14:"topRight"===o||"bottomRight"===o?r=-(i.width/2-14):"leftTop"===o||"rightTop"===o?s=i.height/2-10:("leftBottom"===o||"rightBottom"===o)&&(s=-(i.height/2-10)),(this.cdkConnectedOverlay.offsetX!==r||this.cdkConnectedOverlay.offsetY!==s)&&(this.cdkConnectedOverlay.offsetY=s,this.cdkConnectedOverlay.offsetX=r,this.cdkConnectedOverlay.overlayRef.updatePosition())}getFlexibleConnectedPositionStrategyOrigin(){return this.cdkConnectedOverlay.origin instanceof Sl?this.cdkConnectedOverlay.origin.elementRef:this.cdkConnectedOverlay.origin}getOriginRect(){const e=this.getFlexibleConnectedPositionStrategyOrigin();if(e instanceof Se)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const i=e.width||0,o=e.height||0;return{top:e.y,bottom:e.y+o,left:e.x,right:e.x+i,height:o,width:i}}static#e=this.\u0275fac=function(i){return new(i||t)(v(Tl),v(Vo))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkConnectedOverlay","","nzConnectedOverlay",""]],inputs:{nzArrowPointAtCenter:[2,"nzArrowPointAtCenter","nzArrowPointAtCenter",I]},exportAs:["nzConnectedOverlay"],features:[et([Vo]),je]})}return t})(),u2=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})(),mi=(()=>{class t{setHiddenAttribute(){this.hidden?this.renderer.setAttribute(this.elementRef.nativeElement,"hidden","string"==typeof this.hidden?this.hidden:""):this.renderer.removeAttribute(this.elementRef.nativeElement,"hidden")}constructor(e,i){this.elementRef=e,this.renderer=i,this.hidden=null,this.renderer.setAttribute(this.elementRef.nativeElement,"hidden","")}ngOnChanges(){this.setHiddenAttribute()}ngAfterViewInit(){this.setHiddenAttribute()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-button",""],["nz-button-group"],["","nz-icon",""],["","nz-menu-item",""],["","nz-submenu",""],["nz-select-top-control"],["nz-select-placeholder"],["nz-input-group"]],inputs:{hidden:"hidden"},standalone:!0,features:[xe]})}return t})(),ose=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();class rse{get waveAttributeName(){return this.insertExtraNode?"ant-click-animating":"ant-click-animating-without-extra-node"}constructor(n,e,i,o,r){this.triggerElement=n,this.ngZone=e,this.insertExtraNode=i,this.platformId=o,this.cspNonce=r,this.waveTransitionDuration=400,this.styleForPseudo=null,this.extraNode=null,this.lastTime=0,this.onClick=s=>{!this.triggerElement||!this.triggerElement.getAttribute||this.triggerElement.getAttribute("disabled")||"INPUT"===s.target.tagName||this.triggerElement.className.indexOf("disabled")>=0||this.fadeOutWave()},this.platform=new Qn(this.platformId),this.clickHandler=this.onClick.bind(this),this.bindTriggerEvent()}bindTriggerEvent(){this.platform.isBrowser&&this.ngZone.runOutsideAngular(()=>{this.removeTriggerEvent(),this.triggerElement&&this.triggerElement.addEventListener("click",this.clickHandler,!0)})}removeTriggerEvent(){this.triggerElement&&this.triggerElement.removeEventListener("click",this.clickHandler,!0)}removeStyleAndExtraNode(){this.styleForPseudo&&document.body.contains(this.styleForPseudo)&&(document.body.removeChild(this.styleForPseudo),this.styleForPseudo=null),this.insertExtraNode&&this.triggerElement.contains(this.extraNode)&&this.triggerElement.removeChild(this.extraNode)}destroy(){this.removeTriggerEvent(),this.removeStyleAndExtraNode()}fadeOutWave(){const n=this.triggerElement,e=this.getWaveColor(n);n.setAttribute(this.waveAttributeName,"true"),!(Date.now(){n.removeAttribute(this.waveAttributeName),this.removeStyleAndExtraNode()},this.waveTransitionDuration))}isValidColor(n){return!!n&&"#ffffff"!==n&&"rgb(255, 255, 255)"!==n&&this.isNotGrey(n)&&!/rgba\(\d*, \d*, \d*, 0\)/.test(n)&&"transparent"!==n}isNotGrey(n){const e=n.match(/rgba?\((\d*), (\d*), (\d*)(, [\.\d]*)?\)/);return!(e&&e[1]&&e[2]&&e[3]&&e[1]===e[2]&&e[2]===e[3])}getWaveColor(n){const e=getComputedStyle(n);return e.getPropertyValue("border-top-color")||e.getPropertyValue("border-color")||e.getPropertyValue("background-color")}runTimeoutOutsideZone(n,e){this.ngZone.runOutsideAngular(()=>setTimeout(n,e))}}const sse={disabled:!1},hk=new oe("nz-wave-global-options");function ase(t){return function nd(t){return{\u0275providers:t}}([{provide:hk,useValue:t}])}let tr=(()=>{class t{get disabled(){return this.waveDisabled}get rendererRef(){return this.waveRenderer}constructor(e,i,o,r,s,a){this.ngZone=e,this.elementRef=i,this.config=o,this.animationType=r,this.platformId=s,this.cspNonce=a,this.nzWaveExtraNode=!1,this.waveDisabled=!1,this.waveDisabled=this.isConfigDisabled()}isConfigDisabled(){let e=!1;return this.config&&"boolean"==typeof this.config.disabled&&(e=this.config.disabled),"NoopAnimations"===this.animationType&&(e=!0),e}ngOnDestroy(){this.waveRenderer&&this.waveRenderer.destroy()}ngOnInit(){this.renderWaveIfEnabled()}renderWaveIfEnabled(){!this.waveDisabled&&this.elementRef.nativeElement&&(this.waveRenderer=new rse(this.elementRef.nativeElement,this.ngZone,this.nzWaveExtraNode,this.platformId,this.cspNonce))}disable(){this.waveDisabled=!0,this.waveRenderer&&(this.waveRenderer.removeTriggerEvent(),this.waveRenderer.removeStyleAndExtraNode())}enable(){this.waveDisabled=this.isConfigDisabled()||!1,this.waveRenderer&&this.waveRenderer.bindTriggerEvent()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se),v(hk,8),v(ta,8),v(Pr),v(vd,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-wave",""],["button","nz-button","",3,"nzType","link",3,"nzType","text"]],inputs:{nzWaveExtraNode:"nzWaveExtraNode"},exportAs:["nzWave"],standalone:!0})}return t})(),pk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[ase(sse)]})}return t})();const lse=["nz-button",""],cse=["*"];function dse(t,n){1&t&&A(0,"span",0)}let nr=(()=>{class t{insertSpan(e,i){e.forEach(o=>{if("#text"===o.nodeName){const r=i.createElement("span"),s=i.parentNode(o);i.insertBefore(s,r,o),i.appendChild(r,o)}})}get iconOnly(){const e=Array.from(this.elementRef?.nativeElement?.childNodes||[]),i=e.every(r=>"#text"!==r.nodeName),o=0==e.filter(r=>!("#comment"===r.nodeName||r?.attributes?.getNamedItem("nz-icon"))).length;return!!this.nzIconDirectiveElement&&o&&i}constructor(e,i,o,r,s,a){this.ngZone=e,this.elementRef=i,this.cdr=o,this.renderer=r,this.nzConfigService=s,this.directionality=a,this._nzModuleName="button",this.nzBlock=!1,this.nzGhost=!1,this.nzSearch=!1,this.nzLoading=!1,this.nzDanger=!1,this.disabled=!1,this.tabIndex=null,this.nzType=null,this.nzShape=null,this.nzSize="default",this.dir="ltr",this.destroy$=new V,this.loading$=new V,this.nzConfigService.getConfigChangeEventForComponent("button").pipe(P(this.destroy$)).subscribe(()=>{this.cdr.markForCheck()})}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value,this.ngZone.runOutsideAngular(()=>{nn(this.elementRef.nativeElement,"click",{capture:!0}).pipe(P(this.destroy$)).subscribe(e=>{(this.disabled&&"A"===e.target?.tagName||this.nzLoading)&&(e.preventDefault(),e.stopImmediatePropagation())})})}ngOnChanges(e){const{nzLoading:i}=e;i&&this.loading$.next(this.nzLoading)}ngAfterViewInit(){this.insertSpan(this.elementRef.nativeElement.childNodes,this.renderer)}ngAfterContentInit(){this.loading$.pipe(gn(this.nzLoading),yt(()=>!!this.nzIconDirectiveElement),P(this.destroy$)).subscribe(e=>{const i=this.nzIconDirectiveElement.nativeElement;e?this.renderer.setStyle(i,"display","none"):this.renderer.removeStyle(i,"display")})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se),v(We),v(Yt),v(si),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["button","nz-button",""],["a","nz-button",""]],contentQueries:function(i,o,r){if(1&i&&fn(r,ln,5,Se),2&i){let s;ke(s=Ie())&&(o.nzIconDirectiveElement=s.first)}},hostAttrs:[1,"ant-btn"],hostVars:34,hostBindings:function(i,o){2&i&&(Ot("tabindex",o.disabled?-1:null===o.tabIndex?null:o.tabIndex)("disabled",o.disabled||null),Z("ant-btn-default","default"===o.nzType)("ant-btn-primary","primary"===o.nzType)("ant-btn-dashed","dashed"===o.nzType)("ant-btn-link","link"===o.nzType)("ant-btn-text","text"===o.nzType)("ant-btn-circle","circle"===o.nzShape)("ant-btn-round","round"===o.nzShape)("ant-btn-lg","large"===o.nzSize)("ant-btn-sm","small"===o.nzSize)("ant-btn-dangerous",o.nzDanger)("ant-btn-loading",o.nzLoading)("ant-btn-background-ghost",o.nzGhost)("ant-btn-block",o.nzBlock)("ant-input-search-button",o.nzSearch)("ant-btn-rtl","rtl"===o.dir)("ant-btn-icon-only",o.iconOnly))},inputs:{nzBlock:[2,"nzBlock","nzBlock",I],nzGhost:[2,"nzGhost","nzGhost",I],nzSearch:[2,"nzSearch","nzSearch",I],nzLoading:[2,"nzLoading","nzLoading",I],nzDanger:[2,"nzDanger","nzDanger",I],disabled:[2,"disabled","disabled",I],tabIndex:"tabIndex",nzType:"nzType",nzShape:"nzShape",nzSize:"nzSize"},exportAs:["nzButton"],standalone:!0,features:[je,xe,me],attrs:lse,ngContentSelectors:cse,decls:2,vars:1,consts:[["nz-icon","","nzType","loading"]],template:function(i,o){1&i&&(Et(),C(0,dse,1,0,"span",0),_t(1)),2&i&&he(o.nzLoading?0:-1)},dependencies:[In,ln],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzSize",void 0),t})(),h2=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[nr,ose,pk]})}return t})();class Fo{static#e=this.formats={B:{max:1024},kB:{max:Math.pow(1024,2),prev:"B"},KB:{max:Math.pow(1024,2),prev:"B"},MB:{max:Math.pow(1024,3),prev:"kB"},GB:{max:Math.pow(1024,4),prev:"MB"},TB:{max:Number.MAX_SAFE_INTEGER,prev:"GB"}};transform(n,e=0,i="B",o){if(!(fE(n)&&fE(e)&&e%1==0&&e>=0))return n;let r=n,s=i;for(;"B"!==s;)r*=1024,s=Fo.formats[s].prev;if(o){const l=mE(Fo.calculateResult(Fo.formats[o],r),e);return Fo.formatResult(l,o)}for(const a in Fo.formats)if(Fo.formats.hasOwnProperty(a)){const l=Fo.formats[a];if(r{class t{transform(e,i="px"){return"number"==typeof e?`${e}${i}`:e}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275pipe=jn({name:"nzToCssUnit",type:t,pure:!0,standalone:!0})}return t})(),mk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();const gk=["moz","ms","webkit"];function vk(t){if(typeof window>"u")return null;if(window.cancelAnimationFrame)return window.cancelAnimationFrame(t);const n=gk.filter(e=>`${e}CancelAnimationFrame`in window||`${e}CancelRequestAnimationFrame`in window)[0];return n?(window[`${n}CancelAnimationFrame`]||window[`${n}CancelRequestAnimationFrame`]).call(this,t):clearTimeout(t)}const p2=function pse(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const t=gk.filter(n=>`${n}RequestAnimationFrame`in window)[0];return t?window[`${t}RequestAnimationFrame`]:function hse(){let t=0;return function(n){const e=(new Date).getTime(),i=Math.max(0,16-(e-t)),o=window.setTimeout(()=>{n(e+i)},i);return t=e+i,o}}()}();let fse=(()=>{class t{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),mse=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[fse]})}return t})();class bse{constructor(n,e){this._items=n,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new V,this._typeaheadSubscription=Ft.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=i=>i.disabled,this._pressedLetters=[],this.tabOut=new V,this.change=new V,n instanceof Wa?this._itemChangesSubscription=n.changes.subscribe(i=>this._itemsChanged(i.toArray())):_0(n)&&(this._effectRef=function SS(t,n){mo("NgSignals"),!n?.injector&&bh();const e=n?.injector??G(tn),i=!0!==n?.manualCleanup?e.get(yc):null,o=new Pq(e.get(kq),t,typeof Zone>"u"?null:Zone.current,i,e,n?.allowSignalWrites??!1),r=e.get(We,null,{optional:!0});return r&&8&r._lView[Xe]?(r._lView[yh]??=[]).push(o.watcher.notify):o.watcher.notify(),o}(()=>this._itemsChanged(n()),{injector:e}))}skipPredicate(n){return this._skipPredicateFn=n,this}withWrap(n=!0){return this._wrap=n,this}withVerticalOrientation(n=!0){return this._vertical=n,this}withHorizontalOrientation(n){return this._horizontal=n,this}withAllowedModifierKeys(n){return this._allowedModifierKeys=n,this}withTypeAhead(n=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(ii(e=>this._pressedLetters.push(e)),g3(n),yt(()=>this._pressedLetters.length>0),Pe(()=>this._pressedLetters.join(""))).subscribe(e=>{const i=this._getItemsArray();for(let o=1;o!n[r]||this._allowedModifierKeys.indexOf(r)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&o){this.setNextItemActive();break}return;case 38:if(this._vertical&&o){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&o){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&o){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&o){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&o){this.setLastItemActive();break}return;case 33:if(this._pageUpAndDown.enabled&&o){const r=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(r>0?r:0,1);break}return;case 34:if(this._pageUpAndDown.enabled&&o){const r=this._activeItemIndex+this._pageUpAndDown.delta,s=this._getItemsArray().length;this._setActiveItemByIndex(r=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],n.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._getItemsArray().length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(n){const e=this._getItemsArray(),i="number"==typeof n?n:e.indexOf(n);this._activeItem=e[i]??null,this._activeItemIndex=i}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._effectRef?.destroy(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(n){this._wrap?this._setActiveInWrapMode(n):this._setActiveInDefaultMode(n)}_setActiveInWrapMode(n){const e=this._getItemsArray();for(let i=1;i<=e.length;i++){const o=(this._activeItemIndex+n*i+e.length)%e.length;if(!this._skipPredicateFn(e[o]))return void this.setActiveItem(o)}}_setActiveInDefaultMode(n){this._setActiveItemByIndex(this._activeItemIndex+n,n)}_setActiveItemByIndex(n,e){const i=this._getItemsArray();if(i[n]){for(;this._skipPredicateFn(i[n]);)if(!i[n+=e])return;this.setActiveItem(n)}}_getItemsArray(){return _0(this._items)?this._items():this._items instanceof Wa?this._items.toArray():this._items}_itemsChanged(n){if(this._activeItem){const e=n.indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}}}class _se extends bse{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(n){return this._origin=n,this}setActiveItem(n){super.setActiveItem(n),this.activeItem&&this.activeItem.focus(this._origin)}}let yse=(()=>{class t{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return function Cse(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}isTabbable(e){if(!this._platform.isBrowser)return!1;const i=function wse(t){try{return t.frameElement}catch{return null}}(function xse(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(e));if(i&&(-1===wk(i)||!this.isVisible(i)))return!1;let o=e.nodeName.toLowerCase(),r=wk(e);return e.hasAttribute("contenteditable")?-1!==r:!("iframe"===o||"object"===o||this._platform.WEBKIT&&this._platform.IOS&&!function Dse(t){let n=t.nodeName.toLowerCase(),e="input"===n&&t.type;return"text"===e||"password"===e||"select"===n||"textarea"===n}(e))&&("audio"===o?!!e.hasAttribute("controls")&&-1!==r:"video"===o?-1!==r&&(null!==r||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}isFocusable(e,i){return function Ese(t){return!function Ase(t){return function Tse(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function zse(t){let n=t.nodeName.toLowerCase();return"input"===n||"select"===n||"button"===n||"textarea"===n}(t)||function Sse(t){return function Mse(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||yk(t))}(e)&&!this.isDisabled(e)&&(i?.ignoreVisibility||this.isVisible(e))}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function yk(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let n=t.getAttribute("tabindex");return!(!n||isNaN(parseInt(n,10)))}function wk(t){if(!yk(t))return null;const n=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}class Ck{get enabled(){return this._enabled}set enabled(n){this._enabled=n,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}constructor(n,e,i,o,r=!1,s){this._element=n,this._checker=e,this._ngZone=i,this._document=o,this._injector=s,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}destroy(){const n=this._startAnchor,e=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(n)))})}focusFirstTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(n)))})}focusLastTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(n)))})}_getRegionBoundary(n){const e=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);return"start"==n?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(n){const e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){const i=this._getFirstTabbableElement(e);return i?.focus(n),!!i}return e.focus(n),!0}return this.focusFirstTabbableElement(n)}focusFirstTabbableElement(n){const e=this._getRegionBoundary("start");return e&&e.focus(n),!!e}focusLastTabbableElement(n){const e=this._getRegionBoundary("end");return e&&e.focus(n),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(n){if(this._checker.isFocusable(n)&&this._checker.isTabbable(n))return n;const e=n.children;for(let i=0;i=0;i--){const o=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(o)return o}return null}_createAnchor(){const n=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,n),n.classList.add("cdk-visually-hidden"),n.classList.add("cdk-focus-trap-anchor"),n.setAttribute("aria-hidden","true"),n}_toggleAnchorTabIndex(n,e){n?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(n){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}_executeOnStable(n){this._injector?Xa(n,{injector:this._injector}):setTimeout(n)}}let T7=(()=>{class t{constructor(e,i,o){this._checker=e,this._ngZone=i,this._injector=G(tn),this._document=o}create(e,i=!1){return new Ck(e,this._checker,this._ngZone,this._document,i,this._injector)}static#e=this.\u0275fac=function(i){return new(i||t)(R(yse),R(Me),R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),kse=(()=>{class t{get enabled(){return this.focusTrap?.enabled||!1}set enabled(e){this.focusTrap&&(this.focusTrap.enabled=e)}constructor(e,i,o){this._elementRef=e,this._focusTrapFactory=i,this._previouslyFocusedElement=null,G(Qn).isBrowser&&(this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0))}ngOnDestroy(){this.focusTrap?.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)}ngAfterContentInit(){this.focusTrap?.attachAnchors(),this.autoCapture&&this._captureFocus()}ngDoCheck(){this.focusTrap&&!this.focusTrap.hasAttached()&&this.focusTrap.attachAnchors()}ngOnChanges(e){const i=e.autoCapture;i&&!i.firstChange&&this.autoCapture&&this.focusTrap?.hasAttached()&&this._captureFocus()}_captureFocus(){this._previouslyFocusedElement=function Gte(){let t=typeof document<"u"&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const n=t.shadowRoot.activeElement;if(n===t)break;t=n}return t}(),this.focusTrap?.focusInitialElementWhenReady()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(T7),v(Pt))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkTrapFocus",""]],inputs:{enabled:[2,"cdkTrapFocus","enabled",I],autoCapture:[2,"cdkTrapFocusAutoCapture","autoCapture",I]},exportAs:["cdkTrapFocus"],standalone:!0,features:[je,xe]})}return t})();function zk(t){return 0===t.buttons||0===t.detail}function Ak(t){const n=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!n||-1!==n.identifier||null!=n.radiusX&&1!==n.radiusX||null!=n.radiusY&&1!==n.radiusY)}const Ise=new oe("cdk-input-modality-detector-options"),Ose={ignoreKeys:[18,17,224,91,16]},I1=T1({passive:!0,capture:!0});let Pse=(()=>{class t{get mostRecentModality(){return this._modality.value}constructor(e,i,o,r){this._platform=e,this._mostRecentTarget=null,this._modality=new rt(null),this._lastTouchMs=0,this._onKeydown=s=>{this._options?.ignoreKeys?.some(a=>a===s.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=Po(s))},this._onMousedown=s=>{Date.now()-this._lastTouchMs<650||(this._modality.next(zk(s)?"keyboard":"mouse"),this._mostRecentTarget=Po(s))},this._onTouchstart=s=>{Ak(s)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Po(s))},this._options={...Ose,...r},this.modalityDetected=this._modality.pipe(I5(1)),this.modalityChanged=this.modalityDetected.pipe(Qi()),e.isBrowser&&i.runOutsideAngular(()=>{o.addEventListener("keydown",this._onKeydown,I1),o.addEventListener("mousedown",this._onMousedown,I1),o.addEventListener("touchstart",this._onTouchstart,I1)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,I1),document.removeEventListener("mousedown",this._onMousedown,I1),document.removeEventListener("touchstart",this._onTouchstart,I1))}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn),R(Me),R(Pt),R(Ise,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var J3=function(t){return t[t.IMMEDIATE=0]="IMMEDIATE",t[t.EVENTUAL=1]="EVENTUAL",t}(J3||{});const Nse=new oe("cdk-focus-monitor-default-options"),Z3=T1({passive:!0,capture:!0});let wa=(()=>{class t{constructor(e,i,o,r,s){this._ngZone=e,this._platform=i,this._inputModalityDetector=o,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new V,this._rootNodeFocusAndBlurListener=a=>{for(let c=Po(a);c;c=c.parentElement)"focus"===a.type?this._onFocus(a,c):this._onBlur(a,c)},this._document=r,this._detectionMode=s?.detectionMode||J3.IMMEDIATE}monitor(e,i=!1){const o=Vi(e);if(!this._platform.isBrowser||1!==o.nodeType)return Ge();const r=V5(o)||this._getDocument(),s=this._elementInfo.get(o);if(s)return i&&(s.checkChildren=!0),s.subject;const a={checkChildren:i,subject:new V,rootNode:r};return this._elementInfo.set(o,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(e){const i=Vi(e),o=this._elementInfo.get(i);o&&(o.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(o))}focusVia(e,i,o){const r=Vi(e);r===this._getDocument().activeElement?this._getClosestElementsInfo(r).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof r.focus&&r.focus(o))}ngOnDestroy(){this._elementInfo.forEach((e,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:e&&this._isLastInteractionFromInputLabel(e)?"mouse":"program"}_shouldBeAttributedToTouch(e){return this._detectionMode===J3.EVENTUAL||!!e?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(e,i){e.classList.toggle("cdk-focused",!!i),e.classList.toggle("cdk-touch-focused","touch"===i),e.classList.toggle("cdk-keyboard-focused","keyboard"===i),e.classList.toggle("cdk-mouse-focused","mouse"===i),e.classList.toggle("cdk-program-focused","program"===i)}_setOrigin(e,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=e,this._originFromTouchInteraction="touch"===e&&i,this._detectionMode===J3.IMMEDIATE&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(e,i){const o=this._elementInfo.get(i),r=Po(e);!o||!o.checkChildren&&i!==r||this._originChanged(i,this._getFocusOrigin(r),o)}_onBlur(e,i){const o=this._elementInfo.get(i);!o||o.checkChildren&&e.relatedTarget instanceof Node&&i.contains(e.relatedTarget)||(this._setClasses(i),this._emitOrigin(o,null))}_emitOrigin(e,i){e.subject.observers.length&&this._ngZone.run(()=>e.subject.next(i))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;const i=e.rootNode,o=this._rootNodeFocusListenerCount.get(i)||0;o||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,Z3),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,Z3)}),this._rootNodeFocusListenerCount.set(i,o+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(P(this._stopInputModalityDetector)).subscribe(r=>{this._setOrigin(r,!0)}))}_removeGlobalListeners(e){const i=e.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const o=this._rootNodeFocusListenerCount.get(i);o>1?this._rootNodeFocusListenerCount.set(i,o-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,Z3),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,Z3),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,i,o){this._setClasses(e,i),this._emitOrigin(o,i),this._lastFocusOrigin=i}_getClosestElementsInfo(e){const i=[];return this._elementInfo.forEach((o,r)=>{(r===e||o.checkChildren&&r.contains(e))&&i.push([r,o])}),i}_isLastInteractionFromInputLabel(e){const{_mostRecentTarget:i,mostRecentModality:o}=this._inputModalityDetector;if("mouse"!==o||!i||i===e||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.disabled)return!1;const r=e.labels;if(r)for(let s=0;s{class t{constructor(e,i){this._elementRef=e,this._focusMonitor=i,this._focusOrigin=null,this.cdkFocusChange=new B}get focusOrigin(){return this._focusOrigin}ngAfterViewInit(){const e=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(e,1===e.nodeType&&e.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(i=>{this._focusOrigin=i,this.cdkFocusChange.emit(i)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(wa))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"],standalone:!0})}return t})();var Ml=function(t){return t[t.NONE=0]="NONE",t[t.BLACK_ON_WHITE=1]="BLACK_ON_WHITE",t[t.WHITE_ON_BLACK=2]="WHITE_ON_BLACK",t}(Ml||{});const Tk="cdk-high-contrast-black-on-white",Mk="cdk-high-contrast-white-on-black",M7="cdk-high-contrast-active";let Rse=(()=>{class t{constructor(e,i){this._platform=e,this._document=i,this._breakpointSubscription=G(Kte).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return Ml.NONE;const e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);const i=this._document.defaultView||window,o=i&&i.getComputedStyle?i.getComputedStyle(e):null,r=(o&&o.backgroundColor||"").replace(/ /g,"");switch(e.remove(),r){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return Ml.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return Ml.BLACK_ON_WHITE}return Ml.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const e=this._document.body.classList;e.remove(M7,Tk,Mk),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();i===Ml.BLACK_ON_WHITE?e.add(M7,Tk):i===Ml.WHITE_ON_BLACK&&e.add(M7,Mk)}}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn),R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Dk=(()=>{class t{constructor(e){e._applyBodyHighContrastModeCssClasses()}static#e=this.\u0275fac=function(i){return new(i||t)(R(Rse))};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[mse]})}return t})();var Ek={locale:"en",Pagination:{items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"},DatePicker:{lang:{placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"],locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"Ok",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"},timePickerLocale:{placeholder:"Select time",rangePlaceholder:["Start time","End time"]}},TimePicker:{placeholder:"Select time",rangePlaceholder:["Start time","End time"]},Calendar:{lang:{placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"],locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"Ok",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"},timePickerLocale:{placeholder:"Select time",rangePlaceholder:["Start time","End time"]}},global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",selectNone:"Clear all data"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No Data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand"},PageHeader:{back:"Back"},Image:{preview:"Preview"},CronExpression:{cronError:"Invalid cron expression",second:"second",minute:"minute",hour:"hour",day:"day",month:"month",week:"week"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"}},D7={locale:"zh-cn",Pagination:{items_per_page:"\u6761/\u9875",jump_to:"\u8df3\u81f3",jump_to_confirm:"\u786e\u5b9a",page:"\u9875",prev_page:"\u4e0a\u4e00\u9875",next_page:"\u4e0b\u4e00\u9875",prev_5:"\u5411\u524d 5 \u9875",next_5:"\u5411\u540e 5 \u9875",prev_3:"\u5411\u524d 3 \u9875",next_3:"\u5411\u540e 3 \u9875",page_size:"\u9875\u7801"},DatePicker:{lang:{placeholder:"\u8bf7\u9009\u62e9\u65e5\u671f",yearPlaceholder:"\u8bf7\u9009\u62e9\u5e74\u4efd",quarterPlaceholder:"\u8bf7\u9009\u62e9\u5b63\u5ea6",monthPlaceholder:"\u8bf7\u9009\u62e9\u6708\u4efd",weekPlaceholder:"\u8bf7\u9009\u62e9\u5468",rangePlaceholder:["\u5f00\u59cb\u65e5\u671f","\u7ed3\u675f\u65e5\u671f"],rangeYearPlaceholder:["\u5f00\u59cb\u5e74\u4efd","\u7ed3\u675f\u5e74\u4efd"],rangeQuarterPlaceholder:["\u5f00\u59cb\u5b63\u5ea6","\u7ed3\u675f\u5b63\u5ea6"],rangeMonthPlaceholder:["\u5f00\u59cb\u6708\u4efd","\u7ed3\u675f\u6708\u4efd"],rangeWeekPlaceholder:["\u5f00\u59cb\u5468","\u7ed3\u675f\u5468"],locale:"zh_CN",today:"\u4eca\u5929",now:"\u6b64\u523b",backToToday:"\u8fd4\u56de\u4eca\u5929",ok:"\u786e\u5b9a",timeSelect:"\u9009\u62e9\u65f6\u95f4",dateSelect:"\u9009\u62e9\u65e5\u671f",weekSelect:"\u9009\u62e9\u5468",clear:"\u6e05\u9664",month:"\u6708",year:"\u5e74",previousMonth:"\u4e0a\u4e2a\u6708 (\u7ffb\u9875\u4e0a\u952e)",nextMonth:"\u4e0b\u4e2a\u6708 (\u7ffb\u9875\u4e0b\u952e)",monthSelect:"\u9009\u62e9\u6708\u4efd",yearSelect:"\u9009\u62e9\u5e74\u4efd",decadeSelect:"\u9009\u62e9\u5e74\u4ee3",yearFormat:"YYYY\u5e74",dayFormat:"D\u65e5",dateFormat:"YYYY\u5e74M\u6708D\u65e5",dateTimeFormat:"YYYY\u5e74M\u6708D\u65e5 HH\u65f6mm\u5206ss\u79d2",previousYear:"\u4e0a\u4e00\u5e74 (Control\u952e\u52a0\u5de6\u65b9\u5411\u952e)",nextYear:"\u4e0b\u4e00\u5e74 (Control\u952e\u52a0\u53f3\u65b9\u5411\u952e)",previousDecade:"\u4e0a\u4e00\u5e74\u4ee3",nextDecade:"\u4e0b\u4e00\u5e74\u4ee3",previousCentury:"\u4e0a\u4e00\u4e16\u7eaa",nextCentury:"\u4e0b\u4e00\u4e16\u7eaa"},timePickerLocale:{placeholder:"\u8bf7\u9009\u62e9\u65f6\u95f4",rangePlaceholder:["\u5f00\u59cb\u65f6\u95f4","\u7ed3\u675f\u65f6\u95f4"]}},TimePicker:{placeholder:"\u8bf7\u9009\u62e9\u65f6\u95f4",rangePlaceholder:["\u5f00\u59cb\u65f6\u95f4","\u7ed3\u675f\u65f6\u95f4"]},Calendar:{lang:{placeholder:"\u8bf7\u9009\u62e9\u65e5\u671f",yearPlaceholder:"\u8bf7\u9009\u62e9\u5e74\u4efd",quarterPlaceholder:"\u8bf7\u9009\u62e9\u5b63\u5ea6",monthPlaceholder:"\u8bf7\u9009\u62e9\u6708\u4efd",weekPlaceholder:"\u8bf7\u9009\u62e9\u5468",rangePlaceholder:["\u5f00\u59cb\u65e5\u671f","\u7ed3\u675f\u65e5\u671f"],rangeYearPlaceholder:["\u5f00\u59cb\u5e74\u4efd","\u7ed3\u675f\u5e74\u4efd"],rangeMonthPlaceholder:["\u5f00\u59cb\u6708\u4efd","\u7ed3\u675f\u6708\u4efd"],rangeWeekPlaceholder:["\u5f00\u59cb\u5468","\u7ed3\u675f\u5468"],locale:"zh_CN",today:"\u4eca\u5929",now:"\u6b64\u523b",backToToday:"\u8fd4\u56de\u4eca\u5929",ok:"\u786e\u5b9a",timeSelect:"\u9009\u62e9\u65f6\u95f4",dateSelect:"\u9009\u62e9\u65e5\u671f",weekSelect:"\u9009\u62e9\u5468",clear:"\u6e05\u9664",month:"\u6708",year:"\u5e74",previousMonth:"\u4e0a\u4e2a\u6708 (\u7ffb\u9875\u4e0a\u952e)",nextMonth:"\u4e0b\u4e2a\u6708 (\u7ffb\u9875\u4e0b\u952e)",monthSelect:"\u9009\u62e9\u6708\u4efd",yearSelect:"\u9009\u62e9\u5e74\u4efd",decadeSelect:"\u9009\u62e9\u5e74\u4ee3",yearFormat:"YYYY\u5e74",dayFormat:"D\u65e5",dateFormat:"YYYY\u5e74M\u6708D\u65e5",dateTimeFormat:"YYYY\u5e74M\u6708D\u65e5 HH\u65f6mm\u5206ss\u79d2",previousYear:"\u4e0a\u4e00\u5e74 (Control\u952e\u52a0\u5de6\u65b9\u5411\u952e)",nextYear:"\u4e0b\u4e00\u5e74 (Control\u952e\u52a0\u53f3\u65b9\u5411\u952e)",previousDecade:"\u4e0a\u4e00\u5e74\u4ee3",nextDecade:"\u4e0b\u4e00\u5e74\u4ee3",previousCentury:"\u4e0a\u4e00\u4e16\u7eaa",nextCentury:"\u4e0b\u4e00\u4e16\u7eaa"},timePickerLocale:{placeholder:"\u8bf7\u9009\u62e9\u65f6\u95f4",rangePlaceholder:["\u5f00\u59cb\u65f6\u95f4","\u7ed3\u675f\u65f6\u95f4"]}},global:{placeholder:"\u8bf7\u9009\u62e9"},Table:{filterTitle:"\u7b5b\u9009",filterConfirm:"\u786e\u5b9a",filterReset:"\u91cd\u7f6e",filterEmptyText:"\u65e0\u7b5b\u9009\u9879",selectAll:"\u5168\u9009\u5f53\u9875",selectInvert:"\u53cd\u9009\u5f53\u9875",selectionAll:"\u5168\u9009\u6240\u6709",sortTitle:"\u6392\u5e8f",expand:"\u5c55\u5f00\u884c",collapse:"\u5173\u95ed\u884c",triggerDesc:"\u70b9\u51fb\u964d\u5e8f",triggerAsc:"\u70b9\u51fb\u5347\u5e8f",cancelSort:"\u53d6\u6d88\u6392\u5e8f",filterCheckall:"\u5168\u9009",filterSearchPlaceholder:"\u5728\u7b5b\u9009\u9879\u4e2d\u641c\u7d22",selectNone:"\u6e05\u7a7a\u6240\u6709"},Modal:{okText:"\u786e\u5b9a",cancelText:"\u53d6\u6d88",justOkText:"\u77e5\u9053\u4e86"},Popconfirm:{cancelText:"\u53d6\u6d88",okText:"\u786e\u5b9a"},Transfer:{searchPlaceholder:"\u8bf7\u8f93\u5165\u641c\u7d22\u5185\u5bb9",itemUnit:"\u9879",itemsUnit:"\u9879",remove:"\u5220\u9664",selectCurrent:"\u5168\u9009\u5f53\u9875",removeCurrent:"\u5220\u9664\u5f53\u9875",selectAll:"\u5168\u9009\u6240\u6709",removeAll:"\u5220\u9664\u5168\u90e8",selectInvert:"\u53cd\u9009\u5f53\u9875"},Upload:{uploading:"\u6587\u4ef6\u4e0a\u4f20\u4e2d",removeFile:"\u5220\u9664\u6587\u4ef6",uploadError:"\u4e0a\u4f20\u9519\u8bef",previewFile:"\u9884\u89c8\u6587\u4ef6",downloadFile:"\u4e0b\u8f7d\u6587\u4ef6"},Empty:{description:"\u6682\u65e0\u6570\u636e"},Icon:{icon:"\u56fe\u6807"},Text:{edit:"\u7f16\u8f91",copy:"\u590d\u5236",copied:"\u590d\u5236\u6210\u529f",expand:"\u5c55\u5f00"},PageHeader:{back:"\u8fd4\u56de"},Image:{preview:"\u9884\u89c8"},CronExpression:{cronError:"cron \u8868\u8fbe\u5f0f\u4e0d\u5408\u6cd5",second:"\u79d2",minute:"\u5206\u949f",hour:"\u5c0f\u65f6",day:"\u65e5",month:"\u6708",week:"\u5468"},QRCode:{expired:"\u4e8c\u7ef4\u7801\u8fc7\u671f",refresh:"\u70b9\u51fb\u5237\u65b0",scanned:"\u5df2\u626b\u63cf"}};const E7=new oe("nz-i18n"),Lse=new oe("nz-date-locale");let Ys=(()=>{class t{get localeChange(){return this._change.asObservable()}constructor(e,i){this._change=new rt(this._locale),this.setLocale(e||D7),this.setDateLocale(i||null)}translate(e,i){let o=this._getObjectPath(this._locale,e);return"string"==typeof o?(i&&Object.keys(i).forEach(r=>o=o.replace(new RegExp(`%${r}%`,"g"),i[r])),o):e}setLocale(e){this._locale&&this._locale.locale===e.locale||(this._locale=e,this._change.next(e))}getLocale(){return this._locale}getLocaleId(){return this._locale?this._locale.locale:""}setDateLocale(e){this.dateLocale=e}getDateLocale(){return this.dateLocale}getLocaleData(e,i){const o=e?this._getObjectPath(this._locale,e):this._locale;return o||i||this._getObjectPath(Ek,e)||{}}_getObjectPath(e,i){let o=e;const r=i.split("."),s=r.length;let a=0;for(;o&&a{class t{constructor(e){this._locale=e}transform(e,i){return this._locale.translate(e,i)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ys,16))};static#t=this.\u0275pipe=jn({name:"nzI18n",type:t,pure:!0,standalone:!0})}return t})(),Hse=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function xk(t){const n=t.cloneNode(!0),e=n.querySelectorAll("[id]"),i=t.nodeName.toLowerCase();n.removeAttribute("id");for(let o=0;o=i&&e<=o&&n>=r&&n<=s}function f2(t,n,e){t.top+=n,t.bottom=t.top+t.height,t.left+=e,t.right=t.left+t.width}function Pk(t,n,e,i){const{top:o,right:r,bottom:s,left:a,width:l,height:c}=t,u=l*n,p=c*n;return i>o-p&&ia-u&&e{this.positions.set(e,{scrollPosition:{top:e.scrollTop,left:e.scrollLeft},clientRect:x7(e)})})}handleScroll(n){const e=Po(n),i=this.positions.get(e);if(!i)return null;const o=i.scrollPosition;let r,s;if(e===this._document){const c=this.getViewportScrollPosition();r=c.top,s=c.left}else r=e.scrollTop,s=e.scrollLeft;const a=o.top-r,l=o.left-s;return this.positions.forEach((c,u)=>{c.clientRect&&e!==u&&e.contains(u)&&f2(c.clientRect,a,l)}),o.top=r,o.left=s,{top:a,left:l}}getViewportScrollPosition(){return{top:window.scrollY,left:window.scrollX}}}function Nk(t,n){const e=t.rootNodes;if(1===e.length&&e[0].nodeType===n.ELEMENT_NODE)return e[0];const i=n.createElement("div");return e.forEach(o=>i.appendChild(o)),i}function I7(t,n,e){for(let i in n)if(n.hasOwnProperty(i)){const o=n[i];o?t.setProperty(i,o,e?.has(i)?"important":""):t.removeProperty(i)}return t}function O1(t,n){const e=n?"":"none";I7(t.style,{"touch-action":n?"":"none","-webkit-user-drag":n?"":"none","-webkit-tap-highlight-color":n?"":"transparent","user-select":e,"-ms-user-select":e,"-webkit-user-select":e,"-moz-user-select":e})}function Fk(t,n,e){I7(t.style,{position:n?"":"fixed",top:n?"":"0",opacity:n?"":"0",left:n?"":"-999em"},e)}function X3(t,n){return n&&"none"!=n?t+" "+n:t}function Rk(t,n){t.style.width=`${n.width}px`,t.style.height=`${n.height}px`,t.style.transform=ep(n.left,n.top)}function ep(t,n){return`translate3d(${Math.round(t)}px, ${Math.round(n)}px, 0)`}function Lk(t){const n=t.toLowerCase().indexOf("ms")>-1?1:1e3;return parseFloat(t)*n}function O7(t,n){return t.getPropertyValue(n).split(",").map(i=>i.trim())}const Kse=new Set(["position"]);class $se{constructor(n,e,i,o,r,s,a,l,c){this._document=n,this._rootElement=e,this._direction=i,this._initialDomRect=o,this._previewTemplate=r,this._previewClass=s,this._pickupPositionOnPage=a,this._initialTransform=l,this._zIndex=c}attach(n){this._preview=this._createPreview(),n.appendChild(this._preview),"showPopover"in this._preview&&this._preview.showPopover()}destroy(){this._preview.remove(),this._previewEmbeddedView?.destroy(),this._preview=this._previewEmbeddedView=null}setTransform(n){this._preview.style.transform=n}getBoundingClientRect(){return this._preview.getBoundingClientRect()}addClass(n){this._preview.classList.add(n)}getTransitionDuration(){return function Qse(t){const n=getComputedStyle(t),e=O7(n,"transition-property"),i=e.find(a=>"transform"===a||"all"===a);if(!i)return 0;const o=e.indexOf(i),r=O7(n,"transition-duration"),s=O7(n,"transition-delay");return Lk(r[o])+Lk(s[o])}(this._preview)}addEventListener(n,e){this._preview.addEventListener(n,e)}removeEventListener(n,e){this._preview.removeEventListener(n,e)}_createPreview(){const n=this._previewTemplate,e=this._previewClass,i=n?n.template:null;let o;if(i&&n){const r=n.matchSize?this._initialDomRect:null,s=n.viewContainer.createEmbeddedView(i,n.context);s.detectChanges(),o=Nk(s,this._document),this._previewEmbeddedView=s,n.matchSize?Rk(o,r):o.style.transform=ep(this._pickupPositionOnPage.x,this._pickupPositionOnPage.y)}else o=xk(this._rootElement),Rk(o,this._initialDomRect),this._initialTransform&&(o.style.transform=this._initialTransform);return I7(o.style,{"pointer-events":"none",margin:"0",position:"fixed",top:"0",left:"0","z-index":this._zIndex+""},Kse),O1(o,!1),o.classList.add("cdk-drag-preview"),o.setAttribute("popover","manual"),o.setAttribute("dir",this._direction),e&&(Array.isArray(e)?e.forEach(r=>o.classList.add(r)):o.classList.add(e)),o}}const Bk=T1({passive:!0}),tp=T1({passive:!1}),Hk=T1({passive:!1,capture:!0}),jk=new Set(["position"]);class Zse{get disabled(){return this._disabled||!(!this._dropContainer||!this._dropContainer.disabled)}set disabled(n){n!==this._disabled&&(this._disabled=n,this._toggleNativeDragInteractions(),this._handles.forEach(e=>O1(e,n)))}constructor(n,e,i,o,r,s){this._config=e,this._document=i,this._ngZone=o,this._viewportRuler=r,this._dragDropRegistry=s,this._passiveTransform={x:0,y:0},this._activeTransform={x:0,y:0},this._hasStartedDragging=If(!1),this._moveEvents=new V,this._pointerMoveSubscription=Ft.EMPTY,this._pointerUpSubscription=Ft.EMPTY,this._scrollSubscription=Ft.EMPTY,this._resizeSubscription=Ft.EMPTY,this._boundaryElement=null,this._nativeInteractionsEnabled=!0,this._handles=[],this._disabledHandles=new Set,this._direction="ltr",this.dragStartDelay=0,this._disabled=!1,this.beforeStarted=new V,this.started=new V,this.released=new V,this.ended=new V,this.entered=new V,this.exited=new V,this.dropped=new V,this.moved=this._moveEvents,this._pointerDown=a=>{if(this.beforeStarted.next(),this._handles.length){const l=this._getTargetHandle(a);l&&!this._disabledHandles.has(l)&&!this.disabled&&this._initializeDragSequence(l,a)}else this.disabled||this._initializeDragSequence(this._rootElement,a)},this._pointerMove=a=>{const l=this._getPointerPositionOnPage(a);if(!this._hasStartedDragging()){if(Math.abs(l.x-this._pickupPositionOnPage.x)+Math.abs(l.y-this._pickupPositionOnPage.y)>=this._config.dragStartThreshold){const _=Date.now()>=this._dragStartTime+this._getDragStartDelay(a),y=this._dropContainer;if(!_)return void this._endDragSequence(a);(!y||!y.isDragging()&&!y.isReceiving())&&(a.cancelable&&a.preventDefault(),this._hasStartedDragging.set(!0),this._ngZone.run(()=>this._startDragSequence(a)))}return}a.cancelable&&a.preventDefault();const c=this._getConstrainedPointerPosition(l);if(this._hasMoved=!0,this._lastKnownPointerPosition=l,this._updatePointerDirectionDelta(c),this._dropContainer)this._updateActiveDropContainer(c,l);else{const u=this.constrainPosition?this._initialDomRect:this._pickupPositionOnPage,p=this._activeTransform;p.x=c.x-u.x+this._passiveTransform.x,p.y=c.y-u.y+this._passiveTransform.y,this._applyRootElementTransform(p.x,p.y)}this._moveEvents.observers.length&&this._ngZone.run(()=>{this._moveEvents.next({source:this,pointerPosition:c,event:a,distance:this._getDragDistance(c),delta:this._pointerDirectionDelta})})},this._pointerUp=a=>{this._endDragSequence(a)},this._nativeDragStart=a=>{if(this._handles.length){const l=this._getTargetHandle(a);l&&!this._disabledHandles.has(l)&&!this.disabled&&a.preventDefault()}else this.disabled||a.preventDefault()},this.withRootElement(n).withParent(e.parentDragRef||null),this._parentPositions=new Vk(i),s.registerDragItem(this)}getPlaceholderElement(){return this._placeholder}getRootElement(){return this._rootElement}getVisibleElement(){return this.isDragging()?this.getPlaceholderElement():this.getRootElement()}withHandles(n){this._handles=n.map(i=>Vi(i)),this._handles.forEach(i=>O1(i,this.disabled)),this._toggleNativeDragInteractions();const e=new Set;return this._disabledHandles.forEach(i=>{this._handles.indexOf(i)>-1&&e.add(i)}),this._disabledHandles=e,this}withPreviewTemplate(n){return this._previewTemplate=n,this}withPlaceholderTemplate(n){return this._placeholderTemplate=n,this}withRootElement(n){const e=Vi(n);return e!==this._rootElement&&(this._rootElement&&this._removeRootElementListeners(this._rootElement),this._ngZone.runOutsideAngular(()=>{e.addEventListener("mousedown",this._pointerDown,tp),e.addEventListener("touchstart",this._pointerDown,Bk),e.addEventListener("dragstart",this._nativeDragStart,tp)}),this._initialTransform=void 0,this._rootElement=e),typeof SVGElement<"u"&&this._rootElement instanceof SVGElement&&(this._ownerSVGElement=this._rootElement.ownerSVGElement),this}withBoundaryElement(n){return this._boundaryElement=n?Vi(n):null,this._resizeSubscription.unsubscribe(),n&&(this._resizeSubscription=this._viewportRuler.change(10).subscribe(()=>this._containInsideBoundaryOnResize())),this}withParent(n){return this._parentDragRef=n,this}dispose(){this._removeRootElementListeners(this._rootElement),this.isDragging()&&this._rootElement?.remove(),this._anchor?.remove(),this._destroyPreview(),this._destroyPlaceholder(),this._dragDropRegistry.removeDragItem(this),this._removeListeners(),this.beforeStarted.complete(),this.started.complete(),this.released.complete(),this.ended.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this._moveEvents.complete(),this._handles=[],this._disabledHandles.clear(),this._dropContainer=void 0,this._resizeSubscription.unsubscribe(),this._parentPositions.clear(),this._boundaryElement=this._rootElement=this._ownerSVGElement=this._placeholderTemplate=this._previewTemplate=this._anchor=this._parentDragRef=null}isDragging(){return this._hasStartedDragging()&&this._dragDropRegistry.isDragging(this)}reset(){this._rootElement.style.transform=this._initialTransform||"",this._activeTransform={x:0,y:0},this._passiveTransform={x:0,y:0}}disableHandle(n){!this._disabledHandles.has(n)&&this._handles.indexOf(n)>-1&&(this._disabledHandles.add(n),O1(n,!0))}enableHandle(n){this._disabledHandles.has(n)&&(this._disabledHandles.delete(n),O1(n,this.disabled))}withDirection(n){return this._direction=n,this}_withDropContainer(n){this._dropContainer=n}getFreeDragPosition(){const n=this.isDragging()?this._activeTransform:this._passiveTransform;return{x:n.x,y:n.y}}setFreeDragPosition(n){return this._activeTransform={x:0,y:0},this._passiveTransform.x=n.x,this._passiveTransform.y=n.y,this._dropContainer||this._applyRootElementTransform(n.x,n.y),this}withPreviewContainer(n){return this._previewContainer=n,this}_sortFromLastPointerPosition(){const n=this._lastKnownPointerPosition;n&&this._dropContainer&&this._updateActiveDropContainer(this._getConstrainedPointerPosition(n),n)}_removeListeners(){this._pointerMoveSubscription.unsubscribe(),this._pointerUpSubscription.unsubscribe(),this._scrollSubscription.unsubscribe(),this._getShadowRoot()?.removeEventListener("selectstart",Uk,Hk)}_destroyPreview(){this._preview?.destroy(),this._preview=null}_destroyPlaceholder(){this._placeholder?.remove(),this._placeholderRef?.destroy(),this._placeholder=this._placeholderRef=null}_endDragSequence(n){if(this._dragDropRegistry.isDragging(this)&&(this._removeListeners(),this._dragDropRegistry.stopDragging(this),this._toggleNativeDragInteractions(),this._handles&&(this._rootElement.style.webkitTapHighlightColor=this._rootElementTapHighlight),this._hasStartedDragging()))if(this.released.next({source:this,event:n}),this._dropContainer)this._dropContainer._stopScrolling(),this._animatePreviewToPlaceholder().then(()=>{this._cleanupDragArtifacts(n),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)});else{this._passiveTransform.x=this._activeTransform.x;const e=this._getPointerPositionOnPage(n);this._passiveTransform.y=this._activeTransform.y,this._ngZone.run(()=>{this.ended.next({source:this,distance:this._getDragDistance(e),dropPoint:e,event:n})}),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)}}_startDragSequence(n){m2(n)&&(this._lastTouchEventTime=Date.now()),this._toggleNativeDragInteractions();const e=this._getShadowRoot(),i=this._dropContainer;if(e&&this._ngZone.runOutsideAngular(()=>{e.addEventListener("selectstart",Uk,Hk)}),i){const o=this._rootElement,r=o.parentNode,s=this._placeholder=this._createPlaceholderElement(),a=this._anchor=this._anchor||this._document.createComment("");r.insertBefore(a,o),this._initialTransform=o.style.transform||"",this._preview=new $se(this._document,this._rootElement,this._direction,this._initialDomRect,this._previewTemplate||null,this.previewClass||null,this._pickupPositionOnPage,this._initialTransform,this._config.zIndex||1e3),this._preview.attach(this._getPreviewInsertionPoint(r,e)),Fk(o,!1,jk),this._document.body.appendChild(r.replaceChild(s,o)),this.started.next({source:this,event:n}),i.start(),this._initialContainer=i,this._initialIndex=i.getItemIndex(this)}else this.started.next({source:this,event:n}),this._initialContainer=this._initialIndex=void 0;this._parentPositions.cache(i?i.getScrollableParents():[])}_initializeDragSequence(n,e){this._parentDragRef&&e.stopPropagation();const i=this.isDragging(),o=m2(e),r=!o&&0!==e.button,s=this._rootElement,a=Po(e),l=!o&&this._lastTouchEventTime&&this._lastTouchEventTime+800>Date.now(),c=o?Ak(e):zk(e);if(a&&a.draggable&&"mousedown"===e.type&&e.preventDefault(),i||r||l||c)return;if(this._handles.length){const b=s.style;this._rootElementTapHighlight=b.webkitTapHighlightColor||"",b.webkitTapHighlightColor="transparent"}this._hasMoved=!1,this._hasStartedDragging.set(this._hasMoved),this._removeListeners(),this._initialDomRect=this._rootElement.getBoundingClientRect(),this._pointerMoveSubscription=this._dragDropRegistry.pointerMove.subscribe(this._pointerMove),this._pointerUpSubscription=this._dragDropRegistry.pointerUp.subscribe(this._pointerUp),this._scrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(b=>this._updateOnScroll(b)),this._boundaryElement&&(this._boundaryRect=x7(this._boundaryElement));const u=this._previewTemplate;this._pickupPositionInElement=u&&u.template&&!u.matchSize?{x:0,y:0}:this._getPointerPositionInElement(this._initialDomRect,n,e);const p=this._pickupPositionOnPage=this._lastKnownPointerPosition=this._getPointerPositionOnPage(e);this._pointerDirectionDelta={x:0,y:0},this._pointerPositionAtLastDirectionChange={x:p.x,y:p.y},this._dragStartTime=Date.now(),this._dragDropRegistry.startDragging(this,e)}_cleanupDragArtifacts(n){Fk(this._rootElement,!0,jk),this._anchor.parentNode.replaceChild(this._rootElement,this._anchor),this._destroyPreview(),this._destroyPlaceholder(),this._initialDomRect=this._boundaryRect=this._previewRect=this._initialTransform=void 0,this._ngZone.run(()=>{const e=this._dropContainer,i=e.getItemIndex(this),o=this._getPointerPositionOnPage(n),r=this._getDragDistance(o),s=e._isOverContainer(o.x,o.y);this.ended.next({source:this,distance:r,dropPoint:o,event:n}),this.dropped.next({item:this,currentIndex:i,previousIndex:this._initialIndex,container:e,previousContainer:this._initialContainer,isPointerOverContainer:s,distance:r,dropPoint:o,event:n}),e.drop(this,i,this._initialIndex,this._initialContainer,s,r,o,n),this._dropContainer=this._initialContainer})}_updateActiveDropContainer({x:n,y:e},{x:i,y:o}){let r=this._initialContainer._getSiblingContainerFromPosition(this,n,e);!r&&this._dropContainer!==this._initialContainer&&this._initialContainer._isOverContainer(n,e)&&(r=this._initialContainer),r&&r!==this._dropContainer&&this._ngZone.run(()=>{this.exited.next({item:this,container:this._dropContainer}),this._dropContainer.exit(this),this._dropContainer=r,this._dropContainer.enter(this,n,e,r===this._initialContainer&&r.sortingDisabled?this._initialIndex:void 0),this.entered.next({item:this,container:r,currentIndex:r.getItemIndex(this)})}),this.isDragging()&&(this._dropContainer._startScrollingIfNecessary(i,o),this._dropContainer._sortItem(this,n,e,this._pointerDirectionDelta),this.constrainPosition?this._applyPreviewTransform(n,e):this._applyPreviewTransform(n-this._pickupPositionInElement.x,e-this._pickupPositionInElement.y))}_animatePreviewToPlaceholder(){if(!this._hasMoved)return Promise.resolve();const n=this._placeholder.getBoundingClientRect();this._preview.addClass("cdk-drag-animating"),this._applyPreviewTransform(n.left,n.top);const e=this._preview.getTransitionDuration();return 0===e?Promise.resolve():this._ngZone.runOutsideAngular(()=>new Promise(i=>{const o=s=>{(!s||Po(s)===this._preview&&"transform"===s.propertyName)&&(this._preview?.removeEventListener("transitionend",o),i(),clearTimeout(r))},r=setTimeout(o,1.5*e);this._preview.addEventListener("transitionend",o)}))}_createPlaceholderElement(){const n=this._placeholderTemplate,e=n?n.template:null;let i;return e?(this._placeholderRef=n.viewContainer.createEmbeddedView(e,n.context),this._placeholderRef.detectChanges(),i=Nk(this._placeholderRef,this._document)):i=xk(this._rootElement),i.style.pointerEvents="none",i.classList.add("cdk-drag-placeholder"),i}_getPointerPositionInElement(n,e,i){const o=e===this._rootElement?null:e,r=o?o.getBoundingClientRect():n,s=m2(i)?i.targetTouches[0]:i,a=this._getViewportScrollPosition();return{x:r.left-n.left+(s.pageX-r.left-a.left),y:r.top-n.top+(s.pageY-r.top-a.top)}}_getPointerPositionOnPage(n){const e=this._getViewportScrollPosition(),i=m2(n)?n.touches[0]||n.changedTouches[0]||{pageX:0,pageY:0}:n,o=i.pageX-e.left,r=i.pageY-e.top;if(this._ownerSVGElement){const s=this._ownerSVGElement.getScreenCTM();if(s){const a=this._ownerSVGElement.createSVGPoint();return a.x=o,a.y=r,a.matrixTransform(s.inverse())}}return{x:o,y:r}}_getConstrainedPointerPosition(n){const e=this._dropContainer?this._dropContainer.lockAxis:null;let{x:i,y:o}=this.constrainPosition?this.constrainPosition(n,this,this._initialDomRect,this._pickupPositionInElement):n;if("x"===this.lockAxis||"x"===e?o=this._pickupPositionOnPage.y-(this.constrainPosition?this._pickupPositionInElement.y:0):("y"===this.lockAxis||"y"===e)&&(i=this._pickupPositionOnPage.x-(this.constrainPosition?this._pickupPositionInElement.x:0)),this._boundaryRect){const{x:r,y:s}=this.constrainPosition?{x:0,y:0}:this._pickupPositionInElement,a=this._boundaryRect,{width:l,height:c}=this._getPreviewRect(),u=a.top+s,p=a.bottom-(c-s);i=Yk(i,a.left+r,a.right-(l-r)),o=Yk(o,u,p)}return{x:i,y:o}}_updatePointerDirectionDelta(n){const{x:e,y:i}=n,o=this._pointerDirectionDelta,r=this._pointerPositionAtLastDirectionChange,s=Math.abs(e-r.x),a=Math.abs(i-r.y);return s>this._config.pointerDirectionChangeThreshold&&(o.x=e>r.x?1:-1,r.x=e),a>this._config.pointerDirectionChangeThreshold&&(o.y=i>r.y?1:-1,r.y=i),o}_toggleNativeDragInteractions(){if(!this._rootElement||!this._handles)return;const n=this._handles.length>0||!this.isDragging();n!==this._nativeInteractionsEnabled&&(this._nativeInteractionsEnabled=n,O1(this._rootElement,n))}_removeRootElementListeners(n){n.removeEventListener("mousedown",this._pointerDown,tp),n.removeEventListener("touchstart",this._pointerDown,Bk),n.removeEventListener("dragstart",this._nativeDragStart,tp)}_applyRootElementTransform(n,e){const i=ep(n,e),o=this._rootElement.style;null==this._initialTransform&&(this._initialTransform=o.transform&&"none"!=o.transform?o.transform:""),o.transform=X3(i,this._initialTransform)}_applyPreviewTransform(n,e){const i=this._previewTemplate?.template?void 0:this._initialTransform,o=ep(n,e);this._preview.setTransform(X3(o,i))}_getDragDistance(n){const e=this._pickupPositionOnPage;return e?{x:n.x-e.x,y:n.y-e.y}:{x:0,y:0}}_cleanupCachedDimensions(){this._boundaryRect=this._previewRect=void 0,this._parentPositions.clear()}_containInsideBoundaryOnResize(){let{x:n,y:e}=this._passiveTransform;if(0===n&&0===e||this.isDragging()||!this._boundaryElement)return;const i=this._rootElement.getBoundingClientRect(),o=this._boundaryElement.getBoundingClientRect();if(0===o.width&&0===o.height||0===i.width&&0===i.height)return;const r=o.left-i.left,s=i.right-o.right,a=o.top-i.top,l=i.bottom-o.bottom;o.width>i.width?(r>0&&(n+=r),s>0&&(n-=s)):n=0,o.height>i.height?(a>0&&(e+=a),l>0&&(e-=l)):e=0,(n!==this._passiveTransform.x||e!==this._passiveTransform.y)&&this.setFreeDragPosition({y:e,x:n})}_getDragStartDelay(n){const e=this.dragStartDelay;return"number"==typeof e?e:m2(n)?e.touch:e?e.mouse:0}_updateOnScroll(n){const e=this._parentPositions.handleScroll(n);if(e){const i=Po(n);this._boundaryRect&&i!==this._boundaryElement&&i.contains(this._boundaryElement)&&f2(this._boundaryRect,e.top,e.left),this._pickupPositionOnPage.x+=e.left,this._pickupPositionOnPage.y+=e.top,this._dropContainer||(this._activeTransform.x-=e.left,this._activeTransform.y-=e.top,this._applyRootElementTransform(this._activeTransform.x,this._activeTransform.y))}}_getViewportScrollPosition(){return this._parentPositions.positions.get(this._document)?.scrollPosition||this._parentPositions.getViewportScrollPosition()}_getShadowRoot(){return void 0===this._cachedShadowRoot&&(this._cachedShadowRoot=V5(this._rootElement)),this._cachedShadowRoot}_getPreviewInsertionPoint(n,e){const i=this._previewContainer||"global";if("parent"===i)return n;if("global"===i){const o=this._document;return e||o.fullscreenElement||o.webkitFullscreenElement||o.mozFullScreenElement||o.msFullscreenElement||o.body}return Vi(i)}_getPreviewRect(){return(!this._previewRect||!this._previewRect.width&&!this._previewRect.height)&&(this._previewRect=this._preview?this._preview.getBoundingClientRect():this._initialDomRect),this._previewRect}_getTargetHandle(n){return this._handles.find(e=>n.target&&(n.target===e||e.contains(n.target)))}}function Yk(t,n,e){return Math.max(n,Math.min(e,t))}function m2(t){return"t"===t.type[0]}function Uk(t){t.preventDefault()}function Dl(t,n,e){const i=g2(n,t.length-1),o=g2(e,t.length-1);if(i===o)return;const r=t[i],s=o0)return null;const a="horizontal"===this.orientation,l=r.findIndex(E=>E.drag===n),c=r[s],p=c.clientRect,b=l>s?1:-1,_=this._getItemOffsetPx(r[l].clientRect,p,b),y=this._getSiblingOffsetPx(l,r,b),z=r.slice();return Dl(r,l,s),r.forEach((E,x)=>{if(z[x]===E)return;const k=E.drag===n,ie=k?_:y,pe=k?n.getPlaceholderElement():E.drag.getRootElement();E.offset+=ie,a?(pe.style.transform=X3(`translate3d(${Math.round(E.offset)}px, 0, 0)`,E.initialTransform),f2(E.clientRect,0,ie)):(pe.style.transform=X3(`translate3d(0, ${Math.round(E.offset)}px, 0)`,E.initialTransform),f2(E.clientRect,ie,0))}),this._previousSwap.overlaps=k7(p,e,i),this._previousSwap.drag=c.drag,this._previousSwap.delta=a?o.x:o.y,{previousIndex:l,currentIndex:s}}enter(n,e,i,o){const r=null==o||o<0?this._getItemIndexFromPointerPosition(n,e,i):o,s=this._activeDraggables,a=s.indexOf(n),l=n.getPlaceholderElement();let c=s[r];if(c===n&&(c=s[r+1]),!c&&(null==r||-1===r||r-1&&s.splice(a,1),c&&!this._dragDropRegistry.isDragging(c)){const u=c.getRootElement();u.parentElement.insertBefore(l,u),s.splice(r,0,n)}else Vi(this._element).appendChild(l),s.push(n);l.style.transform="",this._cacheItemPositions()}withItems(n){this._activeDraggables=n.slice(),this._cacheItemPositions()}withSortPredicate(n){this._sortPredicate=n}reset(){this._activeDraggables.forEach(n=>{const e=n.getRootElement();if(e){const i=this._itemPositions.find(o=>o.drag===n)?.initialTransform;e.style.transform=i||""}}),this._itemPositions=[],this._activeDraggables=[],this._previousSwap.drag=null,this._previousSwap.delta=0,this._previousSwap.overlaps=!1}getActiveItemsSnapshot(){return this._activeDraggables}getItemIndex(n){return("horizontal"===this.orientation&&"rtl"===this.direction?this._itemPositions.slice().reverse():this._itemPositions).findIndex(i=>i.drag===n)}updateOnScroll(n,e){this._itemPositions.forEach(({clientRect:i})=>{f2(i,n,e)}),this._itemPositions.forEach(({drag:i})=>{this._dragDropRegistry.isDragging(i)&&i._sortFromLastPointerPosition()})}_cacheItemPositions(){const n="horizontal"===this.orientation;this._itemPositions=this._activeDraggables.map(e=>{const i=e.getVisibleElement();return{drag:e,offset:0,initialTransform:i.style.transform||"",clientRect:x7(i)}}).sort((e,i)=>n?e.clientRect.left-i.clientRect.left:e.clientRect.top-i.clientRect.top)}_getItemOffsetPx(n,e,i){const o="horizontal"===this.orientation;let r=o?e.left-n.left:e.top-n.top;return-1===i&&(r+=o?e.width-n.width:e.height-n.height),r}_getSiblingOffsetPx(n,e,i){const o="horizontal"===this.orientation,r=e[n].clientRect,s=e[n+-1*i];let a=r[o?"width":"height"]*i;if(s){const l=o?"left":"top",c=o?"right":"bottom";-1===i?a-=s.clientRect[l]-r[c]:a+=r[l]-s.clientRect[c]}return a}_shouldEnterAsFirstChild(n,e){if(!this._activeDraggables.length)return!1;const i=this._itemPositions,o="horizontal"===this.orientation;if(i[0].drag!==this._activeDraggables[0]){const s=i[i.length-1].clientRect;return o?n>=s.right:e>=s.bottom}{const s=i[0].clientRect;return o?n<=s.left:e<=s.top}}_getItemIndexFromPointerPosition(n,e,i,o){const r="horizontal"===this.orientation,s=this._itemPositions.findIndex(({drag:a,clientRect:l})=>a!==n&&((!o||a!==this._previousSwap.drag||!this._previousSwap.overlaps||(r?o.x:o.y)!==this._previousSwap.delta)&&(r?e>=Math.floor(l.left)&&e=Math.floor(l.top)&&i!0,this.sortPredicate=()=>!0,this.beforeStarted=new V,this.entered=new V,this.exited=new V,this.dropped=new V,this.sorted=new V,this.receivingStarted=new V,this.receivingStopped=new V,this._isDragging=!1,this._draggables=[],this._siblings=[],this._activeSiblings=new Set,this._viewportScrollSubscription=Ft.EMPTY,this._verticalScrollDirection=yr.NONE,this._horizontalScrollDirection=Co.NONE,this._stopScrollTimers=new V,this._cachedShadowRoot=null,this._startScrollInterval=()=>{this._stopScrolling(),function Gse(t=0,n=Uu){return t<0&&(t=0),m3(t,t,n)}(0,b7).pipe(P(this._stopScrollTimers)).subscribe(()=>{const s=this._scrollNode,a=this.autoScrollStep;this._verticalScrollDirection===yr.UP?s.scrollBy(0,-a):this._verticalScrollDirection===yr.DOWN&&s.scrollBy(0,a),this._horizontalScrollDirection===Co.LEFT?s.scrollBy(-a,0):this._horizontalScrollDirection===Co.RIGHT&&s.scrollBy(a,0)})},this.element=Vi(n),this._document=i,this.withScrollableParents([this.element]),e.registerDropContainer(this),this._parentPositions=new Vk(i),this._sortStrategy=new Xse(this.element,e),this._sortStrategy.withSortPredicate((s,a)=>this.sortPredicate(s,a,this))}dispose(){this._stopScrolling(),this._stopScrollTimers.complete(),this._viewportScrollSubscription.unsubscribe(),this.beforeStarted.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this.sorted.complete(),this.receivingStarted.complete(),this.receivingStopped.complete(),this._activeSiblings.clear(),this._scrollNode=null,this._parentPositions.clear(),this._dragDropRegistry.removeDropContainer(this)}isDragging(){return this._isDragging}start(){this._draggingStarted(),this._notifyReceivingSiblings()}enter(n,e,i,o){this._draggingStarted(),null==o&&this.sortingDisabled&&(o=this._draggables.indexOf(n)),this._sortStrategy.enter(n,e,i,o),this._cacheParentPositions(),this._notifyReceivingSiblings(),this.entered.next({item:n,container:this,currentIndex:this.getItemIndex(n)})}exit(n){this._reset(),this.exited.next({item:n,container:this})}drop(n,e,i,o,r,s,a,l={}){this._reset(),this.dropped.next({item:n,currentIndex:e,previousIndex:i,container:this,previousContainer:o,isPointerOverContainer:r,distance:s,dropPoint:a,event:l})}withItems(n){const e=this._draggables;return this._draggables=n,n.forEach(i=>i._withDropContainer(this)),this.isDragging()&&(e.filter(o=>o.isDragging()).every(o=>-1===n.indexOf(o))?this._reset():this._sortStrategy.withItems(this._draggables)),this}withDirection(n){return this._sortStrategy.direction=n,this}connectedTo(n){return this._siblings=n.slice(),this}withOrientation(n){return this._sortStrategy.orientation=n,this}withScrollableParents(n){const e=Vi(this.element);return this._scrollableElements=-1===n.indexOf(e)?[e,...n]:n.slice(),this}getScrollableParents(){return this._scrollableElements}getItemIndex(n){return this._isDragging?this._sortStrategy.getItemIndex(n):this._draggables.indexOf(n)}isReceiving(){return this._activeSiblings.size>0}_sortItem(n,e,i,o){if(this.sortingDisabled||!this._domRect||!Pk(this._domRect,.05,e,i))return;const r=this._sortStrategy.sort(n,e,i,o);r&&this.sorted.next({previousIndex:r.previousIndex,currentIndex:r.currentIndex,container:this,item:n})}_startScrollingIfNecessary(n,e){if(this.autoScrollDisabled)return;let i,o=yr.NONE,r=Co.NONE;if(this._parentPositions.positions.forEach((s,a)=>{a===this._document||!s.clientRect||i||Pk(s.clientRect,.05,n,e)&&([o,r]=function tae(t,n,e,i,o){const r=qk(n,o),s=Qk(n,i);let a=yr.NONE,l=Co.NONE;if(r){const c=t.scrollTop;r===yr.UP?c>0&&(a=yr.UP):t.scrollHeight-c>t.clientHeight&&(a=yr.DOWN)}if(s){const c=t.scrollLeft;"rtl"===e?s===Co.RIGHT?c<0&&(l=Co.RIGHT):t.scrollWidth+c>t.clientWidth&&(l=Co.LEFT):s===Co.LEFT?c>0&&(l=Co.LEFT):t.scrollWidth-c>t.clientWidth&&(l=Co.RIGHT)}return[a,l]}(a,s.clientRect,this._sortStrategy.direction,n,e),(o||r)&&(i=a))}),!o&&!r){const{width:s,height:a}=this._viewportRuler.getViewportSize(),l={width:s,height:a,top:0,right:s,bottom:a,left:0};o=qk(l,e),r=Qk(l,n),i=window}i&&(o!==this._verticalScrollDirection||r!==this._horizontalScrollDirection||i!==this._scrollNode)&&(this._verticalScrollDirection=o,this._horizontalScrollDirection=r,this._scrollNode=i,(o||r)&&i?this._ngZone.runOutsideAngular(this._startScrollInterval):this._stopScrolling())}_stopScrolling(){this._stopScrollTimers.next()}_draggingStarted(){const n=Vi(this.element).style;this.beforeStarted.next(),this._isDragging=!0,this._initialScrollSnap=n.msScrollSnapType||n.scrollSnapType||"",n.scrollSnapType=n.msScrollSnapType="none",this._sortStrategy.start(this._draggables),this._cacheParentPositions(),this._viewportScrollSubscription.unsubscribe(),this._listenToScrollEvents()}_cacheParentPositions(){const n=Vi(this.element);this._parentPositions.cache(this._scrollableElements),this._domRect=this._parentPositions.positions.get(n).clientRect}_reset(){this._isDragging=!1;const n=Vi(this.element).style;n.scrollSnapType=n.msScrollSnapType=this._initialScrollSnap,this._siblings.forEach(e=>e._stopReceiving(this)),this._sortStrategy.reset(),this._stopScrolling(),this._viewportScrollSubscription.unsubscribe(),this._parentPositions.clear()}_isOverContainer(n,e){return null!=this._domRect&&k7(this._domRect,n,e)}_getSiblingContainerFromPosition(n,e,i){return this._siblings.find(o=>o._canReceive(n,e,i))}_canReceive(n,e,i){if(!this._domRect||!k7(this._domRect,e,i)||!this.enterPredicate(n,this))return!1;const o=this._getShadowRoot().elementFromPoint(e,i);if(!o)return!1;const r=Vi(this.element);return o===r||r.contains(o)}_startReceiving(n,e){const i=this._activeSiblings;!i.has(n)&&e.every(o=>this.enterPredicate(o,this)||this._draggables.indexOf(o)>-1)&&(i.add(n),this._cacheParentPositions(),this._listenToScrollEvents(),this.receivingStarted.next({initiator:n,receiver:this,items:e}))}_stopReceiving(n){this._activeSiblings.delete(n),this._viewportScrollSubscription.unsubscribe(),this.receivingStopped.next({initiator:n,receiver:this})}_listenToScrollEvents(){this._viewportScrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(n=>{if(this.isDragging()){const e=this._parentPositions.handleScroll(n);e&&this._sortStrategy.updateOnScroll(e.top,e.left)}else this.isReceiving()&&this._cacheParentPositions()})}_getShadowRoot(){if(!this._cachedShadowRoot){const n=V5(Vi(this.element));this._cachedShadowRoot=n||this._document}return this._cachedShadowRoot}_notifyReceivingSiblings(){const n=this._sortStrategy.getActiveItemsSnapshot().filter(e=>e.isDragging());this._siblings.forEach(e=>e._startReceiving(this,n))}}function qk(t,n){const{top:e,bottom:i,height:o}=t,r=.05*o;return n>=e-r&&n<=e+r?yr.UP:n>=i-r&&n<=i+r?yr.DOWN:yr.NONE}function Qk(t,n){const{left:e,right:i,width:o}=t,r=.05*o;return n>=e-r&&n<=e+r?Co.LEFT:n>=i-r&&n<=i+r?Co.RIGHT:Co.NONE}const np=T1({passive:!1,capture:!0}),ip=new Set;let nae=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["ng-component"]],hostAttrs:["cdk-drag-resets-container",""],standalone:!0,features:[me],decls:0,vars:0,template:function(i,o){},styles:["@layer cdk-resets{.cdk-drag-preview{background:none;border:none;padding:0;color:inherit}}"],encapsulation:2,changeDetection:0})}return t})(),iae=(()=>{class t{constructor(e,i){this._ngZone=e,this._appRef=G(Ko),this._environmentInjector=G(Li),this._dropInstances=new Set,this._dragInstances=new Set,this._activeDragInstances=If([]),this._globalListeners=new Map,this._draggingPredicate=o=>o.isDragging(),this.pointerMove=new V,this.pointerUp=new V,this.scroll=new V,this._preventDefaultWhileDragging=o=>{this._activeDragInstances().length>0&&o.preventDefault()},this._persistentTouchmoveListener=o=>{this._activeDragInstances().length>0&&(this._activeDragInstances().some(this._draggingPredicate)&&o.preventDefault(),this.pointerMove.next(o))},this._document=i}registerDropContainer(e){this._dropInstances.has(e)||this._dropInstances.add(e)}registerDragItem(e){this._dragInstances.add(e),1===this._dragInstances.size&&this._ngZone.runOutsideAngular(()=>{this._document.addEventListener("touchmove",this._persistentTouchmoveListener,np)})}removeDropContainer(e){this._dropInstances.delete(e)}removeDragItem(e){this._dragInstances.delete(e),this.stopDragging(e),0===this._dragInstances.size&&this._document.removeEventListener("touchmove",this._persistentTouchmoveListener,np)}startDragging(e,i){if(!(this._activeDragInstances().indexOf(e)>-1)&&(this._loadResets(),this._activeDragInstances.update(o=>[...o,e]),1===this._activeDragInstances().length)){const o=i.type.startsWith("touch");this._globalListeners.set(o?"touchend":"mouseup",{handler:r=>this.pointerUp.next(r),options:!0}).set("scroll",{handler:r=>this.scroll.next(r),options:!0}).set("selectstart",{handler:this._preventDefaultWhileDragging,options:np}),o||this._globalListeners.set("mousemove",{handler:r=>this.pointerMove.next(r),options:np}),this._ngZone.runOutsideAngular(()=>{this._globalListeners.forEach((r,s)=>{this._document.addEventListener(s,r.handler,r.options)})})}}stopDragging(e){this._activeDragInstances.update(i=>{const o=i.indexOf(e);return o>-1?(i.splice(o,1),[...i]):i}),0===this._activeDragInstances().length&&this._clearGlobalListeners()}isDragging(e){return this._activeDragInstances().indexOf(e)>-1}scrolled(e){const i=[this.scroll];return e&&e!==this._document&&i.push(new Wt(o=>this._ngZone.runOutsideAngular(()=>{const s=a=>{this._activeDragInstances().length&&o.next(a)};return e.addEventListener("scroll",s,!0),()=>{e.removeEventListener("scroll",s,!0)}}))),On(...i)}ngOnDestroy(){this._dragInstances.forEach(e=>this.removeDragItem(e)),this._dropInstances.forEach(e=>this.removeDropContainer(e)),this._clearGlobalListeners(),this.pointerMove.complete(),this.pointerUp.complete()}_clearGlobalListeners(){this._globalListeners.forEach((e,i)=>{this._document.removeEventListener(i,e.handler,e.options)}),this._globalListeners.clear()}_loadResets(){if(!ip.has(this._appRef)){ip.add(this._appRef);const e=function Vq(t,n){const e=Dt(t),i=n.elementInjector||vh();return new Yd(e).create(i,n.projectableNodes,n.hostElement,n.environmentInjector)}(nae,{environmentInjector:this._environmentInjector});this._appRef.onDestroy(()=>{ip.delete(this._appRef),0===ip.size&&e.destroy()})}}static#e=this.\u0275fac=function(i){return new(i||t)(R(Me),R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const oae={dragStartThreshold:5,pointerDirectionChangeThreshold:5};let P7=(()=>{class t{constructor(e,i,o,r){this._document=e,this._ngZone=i,this._viewportRuler=o,this._dragDropRegistry=r}createDrag(e,i=oae){return new Zse(e,i,this._document,this._ngZone,this._viewportRuler,this._dragDropRegistry)}createDropList(e){return new eae(e,this._dragDropRegistry,this._document,this._ngZone,this._viewportRuler)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt),R(Me),R(a2),R(iae))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const v2=new oe("CDK_DRAG_PARENT"),Kk=new oe("CdkDragHandle");let $k=(()=>{class t{get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._stateChanges.next(this)}constructor(e,i){this.element=e,this._parentDrag=i,this._stateChanges=new V,this._disabled=!1,i?._addHandle(this)}ngOnDestroy(){this._parentDrag?._removeHandle(this),this._stateChanges.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(v2,12))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkDragHandle",""]],hostAttrs:[1,"cdk-drag-handle"],inputs:{disabled:[2,"cdkDragHandleDisabled","disabled",I]},standalone:!0,features:[et([{provide:Kk,useExisting:t}]),je]})}return t})();const Jk=new oe("CDK_DRAG_CONFIG"),Zk=new oe("CdkDropList");let b2=(()=>{class t{static#e=this._dragInstances=[];get disabled(){return this._disabled||this.dropContainer&&this.dropContainer.disabled}set disabled(e){this._disabled=e,this._dragRef.disabled=this._disabled}constructor(e,i,o,r,s,a,l,c,u,p,b){this.element=e,this.dropContainer=i,this._ngZone=r,this._viewContainerRef=s,this._dir=l,this._changeDetectorRef=u,this._selfHandle=p,this._parentDrag=b,this._destroyed=new V,this._handles=new rt([]),this.started=new B,this.released=new B,this.ended=new B,this.entered=new B,this.exited=new B,this.dropped=new B,this.moved=new Wt(_=>{const y=this._dragRef.moved.pipe(Pe(z=>({source:this,pointerPosition:z.pointerPosition,event:z.event,delta:z.delta,distance:z.distance}))).subscribe(_);return()=>{y.unsubscribe()}}),this._injector=G(tn),this._dragRef=c.createDrag(e,{dragStartThreshold:a&&null!=a.dragStartThreshold?a.dragStartThreshold:5,pointerDirectionChangeThreshold:a&&null!=a.pointerDirectionChangeThreshold?a.pointerDirectionChangeThreshold:5,zIndex:a?.zIndex}),this._dragRef.data=this,t._dragInstances.push(this),a&&this._assignDefaults(a),i&&(this._dragRef._withDropContainer(i._dropListRef),i.addItem(this)),this._syncInputs(this._dragRef),this._handleEvents(this._dragRef)}getPlaceholderElement(){return this._dragRef.getPlaceholderElement()}getRootElement(){return this._dragRef.getRootElement()}reset(){this._dragRef.reset()}getFreeDragPosition(){return this._dragRef.getFreeDragPosition()}setFreeDragPosition(e){this._dragRef.setFreeDragPosition(e)}ngAfterViewInit(){Xa(()=>{this._updateRootElement(),this._setupHandlesListener(),this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)},{injector:this._injector})}ngOnChanges(e){const i=e.rootElementSelector,o=e.freeDragPosition;i&&!i.firstChange&&this._updateRootElement(),o&&!o.firstChange&&this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)}ngOnDestroy(){this.dropContainer&&this.dropContainer.removeItem(this);const e=t._dragInstances.indexOf(this);e>-1&&t._dragInstances.splice(e,1),this._ngZone.runOutsideAngular(()=>{this._handles.complete(),this._destroyed.next(),this._destroyed.complete(),this._dragRef.dispose()})}_addHandle(e){const i=this._handles.getValue();i.push(e),this._handles.next(i)}_removeHandle(e){const i=this._handles.getValue(),o=i.indexOf(e);o>-1&&(i.splice(o,1),this._handles.next(i))}_setPreviewTemplate(e){this._previewTemplate=e}_resetPreviewTemplate(e){e===this._previewTemplate&&(this._previewTemplate=null)}_setPlaceholderTemplate(e){this._placeholderTemplate=e}_resetPlaceholderTemplate(e){e===this._placeholderTemplate&&(this._placeholderTemplate=null)}_updateRootElement(){const e=this.element.nativeElement;let i=e;this.rootElementSelector&&(i=void 0!==e.closest?e.closest(this.rootElementSelector):e.parentElement?.closest(this.rootElementSelector)),this._dragRef.withRootElement(i||e)}_getBoundaryElement(){const e=this.boundaryElement;return e?"string"==typeof e?this.element.nativeElement.closest(e):Vi(e):null}_syncInputs(e){e.beforeStarted.subscribe(()=>{if(!e.isDragging()){const i=this._dir,o=this.dragStartDelay,r=this._placeholderTemplate?{template:this._placeholderTemplate.templateRef,context:this._placeholderTemplate.data,viewContainer:this._viewContainerRef}:null,s=this._previewTemplate?{template:this._previewTemplate.templateRef,context:this._previewTemplate.data,matchSize:this._previewTemplate.matchSize,viewContainer:this._viewContainerRef}:null;e.disabled=this.disabled,e.lockAxis=this.lockAxis,e.dragStartDelay="object"==typeof o&&o?o:Rs(o),e.constrainPosition=this.constrainPosition,e.previewClass=this.previewClass,e.withBoundaryElement(this._getBoundaryElement()).withPlaceholderTemplate(r).withPreviewTemplate(s).withPreviewContainer(this.previewContainer||"global"),i&&e.withDirection(i.value)}}),e.beforeStarted.pipe(io(1)).subscribe(()=>{if(this._parentDrag)return void e.withParent(this._parentDrag._dragRef);let i=this.element.nativeElement.parentElement;for(;i;){if(i.classList.contains("cdk-drag")){e.withParent(t._dragInstances.find(o=>o.element.nativeElement===i)?._dragRef||null);break}i=i.parentElement}})}_handleEvents(e){e.started.subscribe(i=>{this.started.emit({source:this,event:i.event}),this._changeDetectorRef.markForCheck()}),e.released.subscribe(i=>{this.released.emit({source:this,event:i.event})}),e.ended.subscribe(i=>{this.ended.emit({source:this,distance:i.distance,dropPoint:i.dropPoint,event:i.event}),this._changeDetectorRef.markForCheck()}),e.entered.subscribe(i=>{this.entered.emit({container:i.container.data,item:this,currentIndex:i.currentIndex})}),e.exited.subscribe(i=>{this.exited.emit({container:i.container.data,item:this})}),e.dropped.subscribe(i=>{this.dropped.emit({previousIndex:i.previousIndex,currentIndex:i.currentIndex,previousContainer:i.previousContainer.data,container:i.container.data,isPointerOverContainer:i.isPointerOverContainer,item:this,distance:i.distance,dropPoint:i.dropPoint,event:i.event})})}_assignDefaults(e){const{lockAxis:i,dragStartDelay:o,constrainPosition:r,previewClass:s,boundaryElement:a,draggingDisabled:l,rootElementSelector:c,previewContainer:u}=e;this.disabled=l??!1,this.dragStartDelay=o||0,i&&(this.lockAxis=i),r&&(this.constrainPosition=r),s&&(this.previewClass=s),a&&(this.boundaryElement=a),c&&(this.rootElementSelector=c),u&&(this.previewContainer=u)}_setupHandlesListener(){this._handles.pipe(ii(e=>{const i=e.map(o=>o.element);this._selfHandle&&this.rootElementSelector&&i.push(this.element),this._dragRef.withHandles(i)}),mn(e=>On(...e.map(i=>i._stateChanges.pipe(gn(i))))),P(this._destroyed)).subscribe(e=>{const i=this._dragRef,o=e.element.nativeElement;e.disabled?i.disableHandle(o):i.enableHandle(o)})}static#t=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Zk,12),v(Pt),v(Me),v(qn),v(Jk,8),v(Ct,8),v(P7),v(We),v(Kk,10),v(v2,12))};static#n=this.\u0275dir=de({type:t,selectors:[["","cdkDrag",""]],hostAttrs:[1,"cdk-drag"],hostVars:4,hostBindings:function(i,o){2&i&&Z("cdk-drag-disabled",o.disabled)("cdk-drag-dragging",o._dragRef.isDragging())},inputs:{data:[0,"cdkDragData","data"],lockAxis:[0,"cdkDragLockAxis","lockAxis"],rootElementSelector:[0,"cdkDragRootElement","rootElementSelector"],boundaryElement:[0,"cdkDragBoundary","boundaryElement"],dragStartDelay:[0,"cdkDragStartDelay","dragStartDelay"],freeDragPosition:[0,"cdkDragFreeDragPosition","freeDragPosition"],disabled:[2,"cdkDragDisabled","disabled",I],constrainPosition:[0,"cdkDragConstrainPosition","constrainPosition"],previewClass:[0,"cdkDragPreviewClass","previewClass"],previewContainer:[0,"cdkDragPreviewContainer","previewContainer"]},outputs:{started:"cdkDragStarted",released:"cdkDragReleased",ended:"cdkDragEnded",entered:"cdkDragEntered",exited:"cdkDragExited",dropped:"cdkDragDropped",moved:"cdkDragMoved"},exportAs:["cdkDrag"],standalone:!0,features:[et([{provide:v2,useExisting:t}]),je,xe]})}return t})();const V7=new oe("CdkDropListGroup");let aae=0,op=(()=>{class t{static#e=this._dropLists=[];get disabled(){return this._disabled||!!this._group&&this._group.disabled}set disabled(e){this._dropListRef.disabled=this._disabled=e}constructor(e,i,o,r,s,a,l){this.element=e,this._changeDetectorRef=o,this._scrollDispatcher=r,this._dir=s,this._group=a,this._destroyed=new V,this.connectedTo=[],this.id="cdk-drop-list-"+aae++,this.enterPredicate=()=>!0,this.sortPredicate=()=>!0,this.dropped=new B,this.entered=new B,this.exited=new B,this.sorted=new B,this._unsortedItems=new Set,this._dropListRef=i.createDropList(e),this._dropListRef.data=this,l&&this._assignDefaults(l),this._dropListRef.enterPredicate=(c,u)=>this.enterPredicate(c.data,u.data),this._dropListRef.sortPredicate=(c,u,p)=>this.sortPredicate(c,u.data,p.data),this._setupInputSyncSubscription(this._dropListRef),this._handleEvents(this._dropListRef),t._dropLists.push(this),a&&a._items.add(this)}addItem(e){this._unsortedItems.add(e),this._dropListRef.isDragging()&&this._syncItemsWithRef()}removeItem(e){this._unsortedItems.delete(e),this._dropListRef.isDragging()&&this._syncItemsWithRef()}getSortedItems(){return Array.from(this._unsortedItems).sort((e,i)=>e._dragRef.getVisibleElement().compareDocumentPosition(i._dragRef.getVisibleElement())&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)}ngOnDestroy(){const e=t._dropLists.indexOf(this);e>-1&&t._dropLists.splice(e,1),this._group&&this._group._items.delete(this),this._unsortedItems.clear(),this._dropListRef.dispose(),this._destroyed.next(),this._destroyed.complete()}_setupInputSyncSubscription(e){this._dir&&this._dir.change.pipe(gn(this._dir.value),P(this._destroyed)).subscribe(i=>e.withDirection(i)),e.beforeStarted.subscribe(()=>{const i=Wu(this.connectedTo).map(o=>"string"==typeof o?t._dropLists.find(s=>s.id===o):o);if(this._group&&this._group._items.forEach(o=>{-1===i.indexOf(o)&&i.push(o)}),!this._scrollableParentsResolved){const o=this._scrollDispatcher.getAncestorScrollContainers(this.element).map(r=>r.getElementRef().nativeElement);this._dropListRef.withScrollableParents(o),this._scrollableParentsResolved=!0}e.disabled=this.disabled,e.lockAxis=this.lockAxis,e.sortingDisabled=this.sortingDisabled,e.autoScrollDisabled=this.autoScrollDisabled,e.autoScrollStep=Rs(this.autoScrollStep,2),e.connectedTo(i.filter(o=>o&&o!==this).map(o=>o._dropListRef)).withOrientation(this.orientation)})}_handleEvents(e){e.beforeStarted.subscribe(()=>{this._syncItemsWithRef(),this._changeDetectorRef.markForCheck()}),e.entered.subscribe(i=>{this.entered.emit({container:this,item:i.item.data,currentIndex:i.currentIndex})}),e.exited.subscribe(i=>{this.exited.emit({container:this,item:i.item.data}),this._changeDetectorRef.markForCheck()}),e.sorted.subscribe(i=>{this.sorted.emit({previousIndex:i.previousIndex,currentIndex:i.currentIndex,container:this,item:i.item.data})}),e.dropped.subscribe(i=>{this.dropped.emit({previousIndex:i.previousIndex,currentIndex:i.currentIndex,previousContainer:i.previousContainer.data,container:i.container.data,item:i.item.data,isPointerOverContainer:i.isPointerOverContainer,distance:i.distance,dropPoint:i.dropPoint,event:i.event}),this._changeDetectorRef.markForCheck()}),On(e.receivingStarted,e.receivingStopped).subscribe(()=>this._changeDetectorRef.markForCheck())}_assignDefaults(e){const{lockAxis:i,draggingDisabled:o,sortingDisabled:r,listAutoScrollDisabled:s,listOrientation:a}=e;this.disabled=o??!1,this.sortingDisabled=r??!1,this.autoScrollDisabled=s??!1,this.orientation=a||"vertical",i&&(this.lockAxis=i)}_syncItemsWithRef(){this._dropListRef.withItems(this.getSortedItems().map(e=>e._dragRef))}static#t=this.\u0275fac=function(i){return new(i||t)(v(Se),v(P7),v(We),v(s2),v(Ct,8),v(V7,12),v(Jk,8))};static#n=this.\u0275dir=de({type:t,selectors:[["","cdkDropList",""],["cdk-drop-list"]],hostAttrs:[1,"cdk-drop-list"],hostVars:7,hostBindings:function(i,o){2&i&&(Ot("id",o.id),Z("cdk-drop-list-disabled",o.disabled)("cdk-drop-list-dragging",o._dropListRef.isDragging())("cdk-drop-list-receiving",o._dropListRef.isReceiving()))},inputs:{connectedTo:[0,"cdkDropListConnectedTo","connectedTo"],data:[0,"cdkDropListData","data"],orientation:[0,"cdkDropListOrientation","orientation"],id:"id",lockAxis:[0,"cdkDropListLockAxis","lockAxis"],disabled:[2,"cdkDropListDisabled","disabled",I],sortingDisabled:[2,"cdkDropListSortingDisabled","sortingDisabled",I],enterPredicate:[0,"cdkDropListEnterPredicate","enterPredicate"],sortPredicate:[0,"cdkDropListSortPredicate","sortPredicate"],autoScrollDisabled:[2,"cdkDropListAutoScrollDisabled","autoScrollDisabled",I],autoScrollStep:[0,"cdkDropListAutoScrollStep","autoScrollStep"]},outputs:{dropped:"cdkDropListDropped",entered:"cdkDropListEntered",exited:"cdkDropListExited",sorted:"cdkDropListSorted"},exportAs:["cdkDropList"],standalone:!0,features:[et([{provide:V7,useValue:void 0},{provide:Zk,useExisting:t}]),je]})}return t})(),uae=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[P7],imports:[w7]})}return t})();const hae=["nz-modal-close",""];function pae(t,n){if(1&t&&(Ye(0),A(1,"span",2),Ue()),2&t){const e=n.$implicit;d(),h("nzType",e)}}const Xk=["modalElement"];function fae(t,n){if(1&t){const e=W();f(0,"button",16),M("click",function(){return S(e),T(g().onCloseClick())}),m()}}function mae(t,n){if(1&t&&(Ye(0),A(1,"span",12),Ue()),2&t){const e=g();d(),h("innerHTML",e.config.nzTitle,Gn)}}function gae(t,n){}function vae(t,n){1&t&&A(0,"div",12),2&t&&h("innerHTML",g().config.nzContent,Gn)}function bae(t,n){if(1&t){const e=W();f(0,"button",17),M("click",function(){return S(e),T(g().onCancel())}),w(1),m()}if(2&t){const e=g();h("nzLoading",e.config.nzCancelLoading)("disabled",e.config.nzCancelDisabled),Ot("cdkFocusInitial","cancel"===e.config.nzAutofocus||null),d(),we(" ",e.config.nzCancelText||e.locale.cancelText," ")}}function _ae(t,n){if(1&t){const e=W();f(0,"button",18),M("click",function(){return S(e),T(g().onOk())}),w(1),m()}if(2&t){const e=g();h("nzType",e.config.nzOkType)("nzLoading",e.config.nzOkLoading)("disabled",e.config.nzOkDisabled)("nzDanger",e.config.nzOkDanger),Ot("cdkFocusInitial","ok"===e.config.nzAutofocus||null),d(),we(" ",e.config.nzOkText||e.locale.okText," ")}}const yae=["nz-modal-footer",""],wae=(t,n)=>({$implicit:t,modalRef:n});function Cae(t,n){if(1&t){const e=W();f(0,"button",3),M("click",function(){const o=S(e).$implicit;return T(g(4).onButtonClick(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=g(4);h("hidden",!i.getButtonCallableProp(e,"show"))("nzLoading",i.getButtonCallableProp(e,"loading"))("disabled",i.getButtonCallableProp(e,"disabled"))("nzType",e.type)("nzDanger",e.danger)("nzShape",e.shape)("nzSize",e.size)("nzGhost",e.ghost),d(),we(" ",e.label," ")}}function zae(t,n){1&t&&ji(0,Cae,2,9,"button",2,fr),2&t&&Yi(g(3).buttons)}function Aae(t,n){1&t&&A(0,"div",1),2&t&&h("innerHTML",g(3).config.nzFooter,Gn)}function Sae(t,n){if(1&t&&(Ye(0),C(1,zae,2,0)(2,Aae,1,1,"div",1),Ue()),2&t){const e=g(2);d(),he(e.buttonsFooter?1:2)}}function Tae(t,n){if(1&t&&C(0,Sae,3,1,"ng-container",0),2&t){const e=g();h("nzStringTemplateOutlet",e.config.nzFooter)("nzStringTemplateOutletContext",sl(2,wae,e.config.nzData,e.modalRef))}}function Mae(t,n){if(1&t){const e=W();f(0,"button",6),M("click",function(){return S(e),T(g(2).onCancel())}),w(1),m()}if(2&t){const e=g(2);h("nzLoading",e.config.nzCancelLoading)("disabled",e.config.nzCancelDisabled),Ot("cdkFocusInitial","cancel"===e.config.nzAutofocus||null),d(),we(" ",e.config.nzCancelText||e.locale.cancelText," ")}}function Dae(t,n){if(1&t){const e=W();f(0,"button",7),M("click",function(){return S(e),T(g(2).onOk())}),w(1),m()}if(2&t){const e=g(2);h("nzType",e.config.nzOkType)("nzDanger",e.config.nzOkDanger)("nzLoading",e.config.nzOkLoading)("disabled",e.config.nzOkDisabled),Ot("cdkFocusInitial","ok"===e.config.nzAutofocus||null),d(),we(" ",e.config.nzOkText||e.locale.okText," ")}}function Eae(t,n){if(1&t&&C(0,Mae,2,4,"button",4)(1,Dae,2,6,"button",5),2&t){const e=g();he(null!==e.config.nzCancelText?0:-1),d(),he(null!==e.config.nzOkText?1:-1)}}const xae=["nz-modal-title",""];function kae(t,n){if(1&t&&(Ye(0),A(1,"div",2),Ue()),2&t){const e=g();d(),h("innerHTML",e.config.nzTitle,Gn)}}function Iae(t,n){if(1&t){const e=W();f(0,"button",9),M("click",function(){return S(e),T(g().onCloseClick())}),m()}}function Oae(t,n){1&t&&A(0,"div",10),2&t&&Lt("cursor",g().config.nzDraggable?"move":"auto")}function Pae(t,n){}function Vae(t,n){1&t&&A(0,"div",7),2&t&&h("innerHTML",g().config.nzContent,Gn)}function Nae(t,n){if(1&t){const e=W();f(0,"div",11),M("cancelTriggered",function(){return S(e),T(g().onCloseClick())})("okTriggered",function(){return S(e),T(g().onOkClick())}),m()}2&t&&h("modalRef",g().modalRef)}const eI=()=>{};class El{constructor(){this.nzCentered=!1,this.nzClosable=!0,this.nzOkLoading=!1,this.nzOkDisabled=!1,this.nzCancelDisabled=!1,this.nzCancelLoading=!1,this.nzDraggable=!1,this.nzNoAnimation=!1,this.nzAutofocus="auto",this.nzKeyboard=!0,this.nzZIndex=1e3,this.nzWidth=520,this.nzCloseIcon="close",this.nzOkType="primary",this.nzOkDanger=!1,this.nzModalType="default",this.nzOnCancel=eI,this.nzOnOk=eI,this.nzIconType="question-circle"}}const rp="ant-modal-mask",sp="modal",Fae=new oe("NZ_MODAL_DATA"),tI={modalContainer:No("modalContainer",[wo("void, exit",Ke({})),wo("enter",Ke({})),un("* => enter",an(".24s",Ke({}))),un("* => void, * => exit",an(".2s",Ke({})))])};let N7=(()=>{class t{constructor(e){this.config=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(El))};static#t=this.\u0275cmp=Q({type:t,selectors:[["button","nz-modal-close",""]],hostAttrs:["aria-label","Close",1,"ant-modal-close"],exportAs:["NzModalCloseBuiltin"],standalone:!0,features:[me],attrs:hae,decls:2,vars:1,consts:[[1,"ant-modal-close-x"],[4,"nzStringTemplateOutlet"],["nz-icon","",1,"ant-modal-close-icon",3,"nzType"]],template:function(i,o){1&i&&(f(0,"span",0),C(1,pae,2,1,"ng-container",1),m()),2&i&&(d(),h("nzStringTemplateOutlet",o.config.nzCloseIcon))},dependencies:[In,ln,Sn,An],encapsulation:2,changeDetection:0})}return t})();function _2(t,n,e){return typeof t>"u"?typeof n>"u"?e:n:t}function nI(t){const{nzCentered:n,nzMask:e,nzMaskClosable:i,nzClosable:o,nzOkLoading:r,nzOkDisabled:s,nzCancelDisabled:a,nzCancelLoading:l,nzKeyboard:c,nzNoAnimation:u,nzDraggable:p,nzContent:b,nzFooter:_,nzZIndex:y,nzWidth:z,nzWrapClassName:E,nzClassName:x,nzStyle:k,nzTitle:ie,nzCloseIcon:pe,nzMaskStyle:De,nzBodyStyle:qe,nzOkText:dt,nzCancelText:Ht,nzOkType:zt,nzOkDanger:Pn,nzIconType:so,nzModalType:Kn,nzOnOk:rr,nzOnCancel:sr,nzAfterOpen:ar,nzAfterClose:Oe,nzCloseOnNavigation:$e,nzAutofocus:tt}=t;return{nzCentered:n,nzMask:e,nzMaskClosable:i,nzDraggable:p,nzClosable:o,nzOkLoading:r,nzOkDisabled:s,nzCancelDisabled:a,nzCancelLoading:l,nzKeyboard:c,nzNoAnimation:u,nzContent:b,nzFooter:_,nzZIndex:y,nzWidth:z,nzWrapClassName:E,nzClassName:x,nzStyle:k,nzTitle:ie,nzCloseIcon:pe,nzMaskStyle:De,nzBodyStyle:qe,nzOkText:dt,nzCancelText:Ht,nzOkType:zt,nzOkDanger:Pn,nzIconType:so,nzModalType:Kn,nzOnOk:rr,nzOnCancel:sr,nzAfterOpen:ar,nzAfterClose:Oe,nzCloseOnNavigation:$e,nzAutofocus:tt}}function iI(){throw Error("Attempting to attach modal content after content is already attached")}let oI=(()=>{class t extends t7{get showMask(){const e=this.nzConfigService.getConfigForComponent(sp)||{};return!!_2(this.config.nzMask,e.nzMask,!0)}get maskClosable(){const e=this.nzConfigService.getConfigForComponent(sp)||{};return!!_2(this.config.nzMaskClosable,e.nzMaskClosable,!0)}constructor(e,i,o,r,s,a,l,c,u,p){super(),this.ngZone=e,this.host=i,this.focusTrapFactory=o,this.cdr=r,this.render=s,this.overlayRef=a,this.nzConfigService=l,this.config=c,this.animationType=p,this.animationStateChanged=new B,this.containerClick=new B,this.cancelTriggered=new B,this.okTriggered=new B,this.state="enter",this.isStringContent=!1,this.dir="ltr",this.elementFocusedBeforeModalWasOpened=null,this.mouseDown=!1,this.oldMaskStyle=null,this.destroy$=new V,this.document=u,this.dir=a.getDirection(),this.isStringContent="string"==typeof c.nzContent,this.nzConfigService.getConfigChangeEventForComponent(sp).pipe(P(this.destroy$)).subscribe(()=>{this.updateMaskClassname()})}onContainerClick(e){e.target===e.currentTarget&&!this.mouseDown&&this.showMask&&this.maskClosable&&this.containerClick.emit()}onCloseClick(){this.cancelTriggered.emit()}onOkClick(){this.okTriggered.emit()}attachComponentPortal(e){return this.portalOutlet.hasAttached()&&iI(),this.savePreviouslyFocusedElement(),this.setZIndexForBackdrop(),this.portalOutlet.attachComponentPortal(e)}attachTemplatePortal(e){return this.portalOutlet.hasAttached()&&iI(),this.savePreviouslyFocusedElement(),this.setZIndexForBackdrop(),this.portalOutlet.attachTemplatePortal(e)}attachStringContent(){this.savePreviouslyFocusedElement(),this.setZIndexForBackdrop()}getNativeElement(){return this.host.nativeElement}animationDisabled(){return this.config.nzNoAnimation||"NoopAnimations"===this.animationType}setModalTransformOrigin(){const e=this.modalElementRef.nativeElement;if(this.elementFocusedBeforeModalWasOpened){const i=this.elementFocusedBeforeModalWasOpened.getBoundingClientRect(),o=hE(this.elementFocusedBeforeModalWasOpened);this.render.setStyle(e,"transform-origin",`${o.left+i.width/2-e.offsetLeft}px ${o.top+i.height/2-e.offsetTop}px 0px`)}}savePreviouslyFocusedElement(){this.focusTrap||(this.focusTrap=this.focusTrapFactory.create(this.host.nativeElement)),this.document&&(this.elementFocusedBeforeModalWasOpened=this.document.activeElement,this.host.nativeElement.focus&&this.ngZone.runOutsideAngular(()=>p2(()=>this.host.nativeElement.focus())))}trapFocus(){const e=this.host.nativeElement;if(this.config.nzAutofocus)this.focusTrap.focusInitialElementWhenReady();else{const i=this.document.activeElement;i!==e&&!e.contains(i)&&e.focus()}}restoreFocus(){const e=this.elementFocusedBeforeModalWasOpened;if(e&&"function"==typeof e.focus){const i=this.document.activeElement,o=this.host.nativeElement;(!i||i===this.document.body||i===o||o.contains(i))&&e.focus()}this.focusTrap&&this.focusTrap.destroy()}setEnterAnimationClass(){if(this.animationDisabled())return;this.setModalTransformOrigin();const e=this.modalElementRef.nativeElement,i=this.overlayRef.backdropElement;e.classList.add("ant-zoom-enter"),e.classList.add("ant-zoom-enter-active"),i&&(i.classList.add("ant-fade-enter"),i.classList.add("ant-fade-enter-active"))}setExitAnimationClass(){const e=this.modalElementRef.nativeElement;e.classList.add("ant-zoom-leave"),e.classList.add("ant-zoom-leave-active"),this.setMaskExitAnimationClass()}setMaskExitAnimationClass(e=!1){const i=this.overlayRef.backdropElement;if(i){if(this.animationDisabled()||e)return void i.classList.remove(rp);i.classList.add("ant-fade-leave"),i.classList.add("ant-fade-leave-active")}}cleanAnimationClass(){if(this.animationDisabled())return;const e=this.overlayRef.backdropElement,i=this.modalElementRef.nativeElement;e&&(e.classList.remove("ant-fade-enter"),e.classList.remove("ant-fade-enter-active")),i.classList.remove("ant-zoom-enter"),i.classList.remove("ant-zoom-enter-active"),i.classList.remove("ant-zoom-leave"),i.classList.remove("ant-zoom-leave-active")}setZIndexForBackdrop(){const e=this.overlayRef.backdropElement;e&&_r(this.config.nzZIndex)&&this.render.setStyle(e,"z-index",this.config.nzZIndex)}bindBackdropStyle(){const e=this.overlayRef.backdropElement;if(e&&(this.oldMaskStyle&&(Object.keys(this.oldMaskStyle).forEach(o=>{this.render.removeStyle(e,o)}),this.oldMaskStyle=null),this.setZIndexForBackdrop(),"object"==typeof this.config.nzMaskStyle&&Object.keys(this.config.nzMaskStyle).length)){const i={...this.config.nzMaskStyle};Object.keys(i).forEach(o=>{this.render.setStyle(e,o,i[o])}),this.oldMaskStyle=i}}updateMaskClassname(){const e=this.overlayRef.backdropElement;e&&(this.showMask?e.classList.add(rp):e.classList.remove(rp))}onAnimationDone(e){"enter"===e.toState?this.trapFocus():"exit"===e.toState&&this.restoreFocus(),this.cleanAnimationClass(),this.animationStateChanged.emit(e)}onAnimationStart(e){"enter"===e.toState?(this.setEnterAnimationClass(),this.bindBackdropStyle()):"exit"===e.toState&&this.setExitAnimationClass(),this.animationStateChanged.emit(e)}startExitAnimation(){this.state="exit",this.cdr.markForCheck()}ngOnDestroy(){this.setMaskExitAnimationClass(!0),this.destroy$.next(!0),this.destroy$.complete()}setupMouseListeners(e){this.ngZone.runOutsideAngular(()=>{nn(this.host.nativeElement,"mouseup").pipe(P(this.destroy$)).subscribe(()=>{this.mouseDown&&setTimeout(()=>{this.mouseDown=!1})}),nn(e.nativeElement,"mousedown").pipe(P(this.destroy$)).subscribe(()=>{this.mouseDown=!0})})}static#e=this.\u0275fac=function(i){W8()};static#t=this.\u0275dir=de({type:t,features:[mt]})}return t})(),rI=(()=>{class t extends oI{constructor(e,i,o,r,s,a,l,c,u,p,b){super(e,o,r,s,a,l,c,u,p,b),this.i18n=i,this.config=u,this.cancelTriggered=new B,this.okTriggered=new B,this.i18n.localeChange.pipe(P(this.destroy$)).subscribe(()=>{this.locale=this.i18n.getLocaleData("Modal")})}ngOnInit(){this.setupMouseListeners(this.modalElementRef)}onCancel(){this.cancelTriggered.emit()}onOk(){this.okTriggered.emit()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Ys),v(Se),v(T7),v(We),v(Yt),v(G3),v(si),v(El),v(Pt,8),v(ta,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-modal-confirm-container"]],viewQuery:function(i,o){if(1&i&&(ft(Zu,7),ft(Xk,7)),2&i){let r;ke(r=Ie())&&(o.portalOutlet=r.first),ke(r=Ie())&&(o.modalElementRef=r.first)}},hostAttrs:["tabindex","-1","role","dialog"],hostVars:10,hostBindings:function(i,o){1&i&&(R0("@modalContainer.start",function(s){return o.onAnimationStart(s)})("@modalContainer.done",function(s){return o.onAnimationDone(s)}),M("click",function(s){return o.onContainerClick(s)})),2&i&&(ol("@.disabled",o.config.nzNoAnimation)("@modalContainer",o.state),k0(o.config.nzWrapClassName?"ant-modal-wrap "+o.config.nzWrapClassName:"ant-modal-wrap"),Lt("z-index",o.config.nzZIndex),Z("ant-modal-wrap-rtl","rtl"===o.dir)("ant-modal-centered",o.config.nzCentered))},outputs:{cancelTriggered:"cancelTriggered",okTriggered:"okTriggered"},exportAs:["nzModalConfirmContainer"],standalone:!0,features:[mt,me],decls:17,vars:13,consts:[["modalElement",""],["role","document",1,"ant-modal",3,"ngClass","ngStyle"],[1,"ant-modal-content"],["nz-modal-close",""],[1,"ant-modal-body",3,"ngStyle"],[1,"ant-modal-confirm-body-wrapper"],[1,"ant-modal-confirm-body"],["nz-icon","",3,"nzType"],[1,"ant-modal-confirm-title"],[4,"nzStringTemplateOutlet"],[1,"ant-modal-confirm-content"],["cdkPortalOutlet",""],[3,"innerHTML"],[1,"ant-modal-confirm-btns"],["nz-button","",3,"nzLoading","disabled"],["nz-button","",3,"nzType","nzLoading","disabled","nzDanger"],["nz-modal-close","",3,"click"],["nz-button","",3,"click","nzLoading","disabled"],["nz-button","",3,"click","nzType","nzLoading","disabled","nzDanger"]],template:function(i,o){1&i&&(f(0,"div",1,0),Fr(2,"nzToCssUnit"),f(3,"div",2),C(4,fae,1,0,"button",3),f(5,"div",4)(6,"div",5)(7,"div",6),A(8,"span",7),f(9,"span",8),C(10,mae,2,1,"ng-container",9),m(),f(11,"div",10),C(12,gae,0,0,"ng-template",11)(13,vae,1,1,"div",12),m()(),f(14,"div",13),C(15,bae,2,4,"button",14)(16,_ae,2,6,"button",15),m()()()()()),2&i&&(Lt("width",Rr(2,11,null==o.config?null:o.config.nzWidth)),h("ngClass",o.config.nzClassName)("ngStyle",o.config.nzStyle),d(4),he(o.config.nzClosable?4:-1),d(),h("ngStyle",o.config.nzBodyStyle),d(3),h("nzType",o.config.nzIconType),d(2),h("nzStringTemplateOutlet",o.config.nzTitle),d(3),he(o.isStringContent?13:-1),d(2),he(null!==o.config.nzCancelText?15:-1),d(),he(null!==o.config.nzOkText?16:-1))},dependencies:[Jo,ti,mk,S7,In,ln,N7,Sn,An,z3,Zu,h2,nr,mi,tr],encapsulation:2,data:{animation:[tI.modalContainer]}})}return t})(),sI=(()=>{class t{constructor(e,i){this.i18n=e,this.config=i,this.buttonsFooter=!1,this.buttons=[],this.cancelTriggered=new B,this.okTriggered=new B,this.destroy$=new V,Array.isArray(i.nzFooter)&&(this.buttonsFooter=!0,this.buttons=i.nzFooter.map(Lae)),this.i18n.localeChange.pipe(P(this.destroy$)).subscribe(()=>{this.locale=this.i18n.getLocaleData("Modal")})}onCancel(){this.cancelTriggered.emit()}onOk(){this.okTriggered.emit()}getButtonCallableProp(e,i){const o=e[i],r=this.modalRef.getContentComponent();return"function"==typeof o?o.apply(e,r&&[r]):o}onButtonClick(e){if(!this.getButtonCallableProp(e,"loading")){const o=this.getButtonCallableProp(e,"onClick");e.autoLoading&&U5(o)&&(e.loading=!0,o.then(()=>e.loading=!1).catch(r=>{throw e.loading=!1,r}))}}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ys),v(El))};static#t=this.\u0275cmp=Q({type:t,selectors:[["div","nz-modal-footer",""]],hostAttrs:[1,"ant-modal-footer"],inputs:{modalRef:"modalRef"},outputs:{cancelTriggered:"cancelTriggered",okTriggered:"okTriggered"},exportAs:["NzModalFooterBuiltin"],standalone:!0,features:[me],attrs:yae,decls:2,vars:1,consts:[[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],[3,"innerHTML"],["nz-button","",3,"hidden","nzLoading","disabled","nzType","nzDanger","nzShape","nzSize","nzGhost"],["nz-button","",3,"click","hidden","nzLoading","disabled","nzType","nzDanger","nzShape","nzSize","nzGhost"],["nz-button","",3,"nzLoading","disabled"],["nz-button","",3,"nzType","nzDanger","nzLoading","disabled"],["nz-button","",3,"click","nzLoading","disabled"],["nz-button","",3,"click","nzType","nzDanger","nzLoading","disabled"]],template:function(i,o){1&i&&C(0,Tae,1,5,"ng-container")(1,Eae,2,2),2&i&&he(o.config.nzFooter?0:1)},dependencies:[Sn,An,h2,nr,mi,tr],encapsulation:2})}return t})();function Lae(t){return{type:null,size:"default",autoLoading:!0,show:!0,loading:!1,disabled:!1,...t}}let aI=(()=>{class t{constructor(e){this.config=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(El))};static#t=this.\u0275cmp=Q({type:t,selectors:[["div","nz-modal-title",""]],hostAttrs:[1,"ant-modal-header"],exportAs:["NzModalTitleBuiltin"],standalone:!0,features:[me],attrs:xae,decls:2,vars:1,consts:[[1,"ant-modal-title"],[4,"nzStringTemplateOutlet"],[3,"innerHTML"]],template:function(i,o){1&i&&(f(0,"div",0),C(1,kae,2,1,"ng-container",1),m()),2&i&&(d(),h("nzStringTemplateOutlet",o.config.nzTitle))},dependencies:[Sn,An],encapsulation:2,changeDetection:0})}return t})(),lI=(()=>{class t extends oI{constructor(e,i,o,r,s,a,l,c,u,p){super(e,i,o,r,s,a,l,c,u,p),this.config=c}ngOnInit(){this.setupMouseListeners(this.modalElementRef)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se),v(T7),v(We),v(Yt),v(G3),v(si),v(El),v(Pt,8),v(ta,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-modal-container"]],viewQuery:function(i,o){if(1&i&&(ft(Zu,7),ft(Xk,7)),2&i){let r;ke(r=Ie())&&(o.portalOutlet=r.first),ke(r=Ie())&&(o.modalElementRef=r.first)}},hostAttrs:["tabindex","-1","role","dialog"],hostVars:10,hostBindings:function(i,o){1&i&&(R0("@modalContainer.start",function(s){return o.onAnimationStart(s)})("@modalContainer.done",function(s){return o.onAnimationDone(s)}),M("click",function(s){return o.onContainerClick(s)})),2&i&&(ol("@.disabled",o.config.nzNoAnimation)("@modalContainer",o.state),k0(o.config.nzWrapClassName?"ant-modal-wrap "+o.config.nzWrapClassName:"ant-modal-wrap"),Lt("z-index",o.config.nzZIndex),Z("ant-modal-wrap-rtl","rtl"===o.dir)("ant-modal-centered",o.config.nzCentered))},exportAs:["nzModalContainer"],standalone:!0,features:[mt,me],decls:10,vars:12,consts:[["modalElement",""],["cdkDrag","","cdkDragBoundary",".cdk-overlay-container","role","document",1,"ant-modal",3,"cdkDragDisabled","ngClass","ngStyle"],[1,"ant-modal-content"],["nz-modal-close",""],["nz-modal-title","","cdkDragHandle","",3,"cursor"],[1,"ant-modal-body",3,"ngStyle"],["cdkPortalOutlet",""],[3,"innerHTML"],["nz-modal-footer","",3,"modalRef"],["nz-modal-close","",3,"click"],["nz-modal-title","","cdkDragHandle",""],["nz-modal-footer","",3,"cancelTriggered","okTriggered","modalRef"]],template:function(i,o){1&i&&(f(0,"div",1,0),Fr(2,"nzToCssUnit"),f(3,"div",2),C(4,Iae,1,0,"button",3)(5,Oae,1,2,"div",4),f(6,"div",5),C(7,Pae,0,0,"ng-template",6)(8,Vae,1,1,"div",7),m(),C(9,Nae,1,1,"div",8),m()()),2&i&&(Lt("width",Rr(2,10,null==o.config?null:o.config.nzWidth)),h("cdkDragDisabled",!o.config.nzDraggable)("ngClass",o.config.nzClassName)("ngStyle",o.config.nzStyle),d(4),he(o.config.nzClosable?4:-1),d(),he(o.config.nzTitle?5:-1),d(),h("ngStyle",o.config.nzBodyStyle),d(2),he(o.isStringContent?8:-1),d(),he(null!==o.config.nzFooter?9:-1))},dependencies:[Jo,ti,N7,aI,z3,Zu,sI,mk,S7,b2,$k],encapsulation:2,data:{animation:[tI.modalContainer]}})}return t})();class ap{constructor(n,e,i){this.overlayRef=n,this.config=e,this.containerInstance=i,this.componentInstance=null,this.componentRef=null,this.state=0,this.afterClose=new V,this.afterOpen=new V,this.destroy$=new V,i.animationStateChanged.pipe(yt(o=>"done"===o.phaseName&&"enter"===o.toState),io(1)).subscribe(()=>{this.afterOpen.next(),this.afterOpen.complete(),e.nzAfterOpen instanceof B&&e.nzAfterOpen.emit()}),i.animationStateChanged.pipe(yt(o=>"done"===o.phaseName&&"exit"===o.toState),io(1)).subscribe(()=>{clearTimeout(this.closeTimeout),this._finishDialogClose()}),i.containerClick.pipe(P(this.destroy$)).subscribe(()=>{!this.config.nzCancelLoading&&!this.config.nzOkLoading&&this.trigger("cancel")}),n.keydownEvents().pipe(yt(o=>this.config.nzKeyboard&&!this.config.nzCancelLoading&&!this.config.nzOkLoading&&27===o.keyCode&&!c2(o))).subscribe(o=>{o.preventDefault(),this.trigger("cancel")}),i.cancelTriggered.pipe(P(this.destroy$)).subscribe(()=>this.trigger("cancel")),i.okTriggered.pipe(P(this.destroy$)).subscribe(()=>this.trigger("ok")),n.detachments().subscribe(()=>{this.afterClose.next(this.result),this.afterClose.complete(),e.nzAfterClose instanceof B&&e.nzAfterClose.emit(this.result),this.componentInstance=null,this.componentRef=null,this.overlayRef.dispose()})}getContentComponent(){return this.componentInstance}getContentComponentRef(){return this.componentRef}getElement(){return this.containerInstance.getNativeElement()}destroy(n){this.close(n)}triggerOk(){return this.trigger("ok")}triggerCancel(){return this.trigger("cancel")}close(n){0===this.state&&(this.result=n,this.containerInstance.animationStateChanged.pipe(yt(e=>"start"===e.phaseName),io(1)).subscribe(e=>{this.overlayRef.detachBackdrop(),this.closeTimeout=setTimeout(()=>{this._finishDialogClose()},e.totalTime+100)}),this.containerInstance.startExitAnimation(),this.state=1)}updateConfig(n){Object.assign(this.config,n),this.containerInstance.bindBackdropStyle(),this.containerInstance.cdr.markForCheck()}getState(){return this.state}getConfig(){return this.config}getBackdropElement(){return this.overlayRef.backdropElement}trigger(n){var e=this;return Mi(function*(){if(1===e.state)return;const i={ok:e.config.nzOnOk,cancel:e.config.nzOnCancel}[n],o={ok:"nzOkLoading",cancel:"nzCancelLoading"}[n];if(!e.config[o])if(i instanceof B)i.emit(e.getContentComponent());else if("function"==typeof i){const s=i(e.getContentComponent());if(U5(s)){e.config[o]=!0;let a=!1;try{a=yield s}finally{e.config[o]=!1,e.closeWhitResult(a)}}else e.closeWhitResult(s)}})()}closeWhitResult(n){!1!==n&&this.close(n)}_finishDialogClose(){this.state=2,this.overlayRef.dispose(),this.destroy$.next()}}let za=(()=>{class t{get openModals(){return this.parentModal?this.parentModal.openModals:this.openModalsAtThisLevel}get _afterAllClosed(){const e=this.parentModal;return e?e._afterAllClosed:this.afterAllClosedAtThisLevel}constructor(e,i,o,r,s){this.overlay=e,this.injector=i,this.nzConfigService=o,this.parentModal=r,this.directionality=s,this.openModalsAtThisLevel=[],this.afterAllClosedAtThisLevel=new V,this.afterAllClose=mg(()=>this.openModals.length?this._afterAllClosed:this._afterAllClosed.pipe(gn(void 0)))}create(e){return this.open(e.nzContent,e)}closeAll(){this.closeModals(this.openModals)}confirm(e={},i="confirm"){return"nzWidth"in e||(e.nzWidth=416),"nzMaskClosable"in e||(e.nzMaskClosable=!1),e.nzModalType="confirm",e.nzClassName=`ant-modal-confirm ant-modal-confirm-${i} ${e.nzClassName||""}`,this.create(e)}info(e={}){return this.confirmFactory(e,"info")}success(e={}){return this.confirmFactory(e,"success")}error(e={}){return this.confirmFactory(e,"error")}warning(e={}){return this.confirmFactory(e,"warning")}open(e,i){const o=function Rae(t,n){return{...n,...t}}(i||{},new El),r=this.createOverlay(o),s=this.attachModalContainer(r,o),a=this.attachModalContent(e,s,r,o);return s.modalRef=a,function ise(t,n){n&&(t._host.style.zIndex=`${n}`)}(r,i?.nzZIndex),this.openModals.push(a),a.afterClose.subscribe(()=>this.removeOpenModal(a)),a}removeOpenModal(e){const i=this.openModals.indexOf(e);i>-1&&(this.openModals.splice(i,1),this.openModals.length||this._afterAllClosed.next())}closeModals(e){let i=e.length;for(;i--;)e[i].close(),this.openModals.length||this._afterAllClosed.next()}createOverlay(e){const i=this.nzConfigService.getConfigForComponent(sp)||{},o=new A7({hasBackdrop:!0,scrollStrategy:this.overlay.scrollStrategies.block(),positionStrategy:this.overlay.position().global(),disposeOnNavigation:_2(e.nzCloseOnNavigation,i.nzCloseOnNavigation,!0),direction:_2(e.nzDirection,i.nzDirection,this.directionality.value)});return _2(e.nzMask,i.nzMask,!0)&&(o.backdropClass=rp),this.overlay.create(o)}attachModalContainer(e,i){const r=tn.create({parent:i&&i.nzViewContainerRef&&i.nzViewContainerRef.injector||this.injector,providers:[{provide:G3,useValue:e},{provide:El,useValue:i}]}),a=new $u("confirm"===i.nzModalType?rI:lI,i.nzViewContainerRef,r);return e.attach(a).instance}attachModalContent(e,i,o,r){const s=new ap(o,r,i);if(e instanceof qt)i.attachTemplatePortal(new Ju(e,null,{$implicit:r.nzData,modalRef:s}));else if(_r(e)&&"string"!=typeof e){const a=this.createInjector(s,r),l=i.attachComponentPortal(new $u(e,r.nzViewContainerRef,a));s.componentRef=l,s.componentInstance=l.instance}else i.attachStringContent();return s}createInjector(e,i){return tn.create({parent:i&&i.nzViewContainerRef&&i.nzViewContainerRef.injector||this.injector,providers:[{provide:ap,useValue:e},{provide:Fae,useValue:i.nzData}]})}confirmFactory(e={},i){return"nzIconType"in e||(e.nzIconType={info:"info-circle",success:"check-circle",error:"close-circle",warning:"exclamation-circle"}[i]),"nzCancelText"in e||(e.nzCancelText=null),this.confirm(e,i)}ngOnDestroy(){this.closeModals(this.openModalsAtThisLevel),this.afterAllClosedAtThisLevel.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(R(ya),R(tn),R(si),R(t,12),R(Ct,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),y2=(()=>{class t{constructor(e){this.templateRef=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzModalContent",""]],exportAs:["nzModalContent"],standalone:!0})}return t})(),Bae=(()=>{class t{constructor(e,i){this.nzModalRef=e,this.templateRef=i,this.nzModalRef&&this.nzModalRef.updateConfig({nzFooter:this.templateRef})}static#e=this.\u0275fac=function(i){return new(i||t)(v(ap,8),v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzModalFooter",""]],exportAs:["nzModalFooter"],standalone:!0})}return t})(),Hae=(()=>{class t{constructor(e,i){this.nzModalRef=e,this.templateRef=i,this.nzModalRef&&this.nzModalRef.updateConfig({nzTitle:this.templateRef})}static#e=this.\u0275fac=function(i){return new(i||t)(v(ap,8),v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzModalTitle",""]],exportAs:["nzModalTitle"],standalone:!0})}return t})(),lp=(()=>{class t{set modalTitle(e){e&&this.setTitleWithTemplate(e)}set modalFooter(e){e&&this.setFooterWithTemplate(e)}get afterOpen(){return this.nzAfterOpen.asObservable()}get afterClose(){return this.nzAfterClose.asObservable()}constructor(e,i,o){this.cdr=e,this.modal=i,this.viewContainerRef=o,this.nzVisible=!1,this.nzClosable=!0,this.nzOkLoading=!1,this.nzOkDisabled=!1,this.nzCancelDisabled=!1,this.nzCancelLoading=!1,this.nzKeyboard=!0,this.nzNoAnimation=!1,this.nzCentered=!1,this.nzDraggable=!1,this.nzZIndex=1e3,this.nzWidth=520,this.nzCloseIcon="close",this.nzOkType="primary",this.nzOkDanger=!1,this.nzIconType="question-circle",this.nzModalType="default",this.nzAutofocus="auto",this.nzOnOk=new B,this.nzOnCancel=new B,this.nzAfterOpen=new B,this.nzAfterClose=new B,this.nzVisibleChange=new B,this.modalRef=null,this.destroy$=new V}open(){if(this.nzVisible||(this.nzVisible=!0,this.nzVisibleChange.emit(!0)),!this.modalRef){const e=this.getConfig();this.modalRef=this.modal.create(e),this.modalRef.afterClose.asObservable().pipe(P(this.destroy$)).subscribe(()=>{this.close()})}}close(e){this.nzVisible&&(this.nzVisible=!1,this.nzVisibleChange.emit(!1)),this.modalRef&&(this.modalRef.close(e),this.modalRef=null)}destroy(e){this.close(e)}triggerOk(){this.modalRef?.triggerOk()}triggerCancel(){this.modalRef?.triggerCancel()}getContentComponent(){return this.modalRef?.getContentComponent()}getElement(){return this.modalRef?.getElement()}getModalRef(){return this.modalRef}setTitleWithTemplate(e){this.nzTitle=e,this.modalRef&&Promise.resolve().then(()=>{this.modalRef.updateConfig({nzTitle:this.nzTitle})})}setFooterWithTemplate(e){this.nzFooter=e,this.modalRef&&Promise.resolve().then(()=>{this.modalRef.updateConfig({nzFooter:this.nzFooter})}),this.cdr.markForCheck()}getConfig(){const e=nI(this);return e.nzViewContainerRef=this.viewContainerRef,e.nzContent=this.nzContent||this.contentFromContentChild,e}ngOnChanges(e){const{nzVisible:i,...o}=e;Object.keys(o).length&&this.modalRef&&this.modalRef.updateConfig(nI(this)),i&&(this.nzVisible?this.open():this.close())}ngOnDestroy(){this.modalRef?._finishDialogClose(),this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(za),v(qn))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-modal"]],contentQueries:function(i,o,r){if(1&i&&(fn(r,Hae,7,qt),fn(r,y2,7,qt),fn(r,Bae,7,qt)),2&i){let s;ke(s=Ie())&&(o.modalTitle=s.first),ke(s=Ie())&&(o.contentFromContentChild=s.first),ke(s=Ie())&&(o.modalFooter=s.first)}},inputs:{nzMask:[2,"nzMask","nzMask",I],nzMaskClosable:[2,"nzMaskClosable","nzMaskClosable",I],nzCloseOnNavigation:[2,"nzCloseOnNavigation","nzCloseOnNavigation",I],nzVisible:[2,"nzVisible","nzVisible",I],nzClosable:[2,"nzClosable","nzClosable",I],nzOkLoading:[2,"nzOkLoading","nzOkLoading",I],nzOkDisabled:[2,"nzOkDisabled","nzOkDisabled",I],nzCancelDisabled:[2,"nzCancelDisabled","nzCancelDisabled",I],nzCancelLoading:[2,"nzCancelLoading","nzCancelLoading",I],nzKeyboard:[2,"nzKeyboard","nzKeyboard",I],nzNoAnimation:[2,"nzNoAnimation","nzNoAnimation",I],nzCentered:[2,"nzCentered","nzCentered",I],nzDraggable:[2,"nzDraggable","nzDraggable",I],nzContent:"nzContent",nzFooter:"nzFooter",nzZIndex:[2,"nzZIndex","nzZIndex",Oi],nzWidth:"nzWidth",nzWrapClassName:"nzWrapClassName",nzClassName:"nzClassName",nzStyle:"nzStyle",nzTitle:"nzTitle",nzCloseIcon:"nzCloseIcon",nzMaskStyle:"nzMaskStyle",nzBodyStyle:"nzBodyStyle",nzOkText:"nzOkText",nzCancelText:"nzCancelText",nzOkType:"nzOkType",nzOkDanger:[2,"nzOkDanger","nzOkDanger",I],nzIconType:"nzIconType",nzModalType:"nzModalType",nzAutofocus:"nzAutofocus",nzOnOk:"nzOnOk",nzOnCancel:"nzOnCancel"},outputs:{nzOnOk:"nzOnOk",nzOnCancel:"nzOnCancel",nzAfterOpen:"nzAfterOpen",nzAfterClose:"nzAfterClose",nzVisibleChange:"nzVisibleChange"},exportAs:["nzModal"],standalone:!0,features:[je,xe,me],decls:0,vars:0,template:function(i,o){},encapsulation:2,changeDetection:0})}return t})(),jae=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[za],imports:[N7,sI,aI,lI,rI]})}return t})(),zo=(()=>{class t{constructor(){this.animationType=G(ta,{optional:!0}),this.nzNoAnimation=!1}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nzNoAnimation",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("nz-animate-disabled",o.nzNoAnimation||"NoopAnimations"===o.animationType)},inputs:{nzNoAnimation:[2,"nzNoAnimation","nzNoAnimation",I]},exportAs:["nzNoAnimation"],standalone:!0,features:[je]})}return t})();const Yae=["nz-menu-item",""],cI=["*"],Uae=["nz-submenu-inline-child",""];function Wae(t,n){}const Gae=["nz-submenu-none-inline-child",""];function qae(t,n){}const Qae=["nz-submenu-title",""];function Kae(t,n){1&t&&A(0,"span",0),2&t&&h("nzType",g().nzIcon)}function $ae(t,n){if(1&t&&(Ye(0),f(1,"span",4),w(2),m(),Ue()),2&t){const e=g();d(2),D(e.nzTitle)}}function Jae(t,n){1&t&&A(0,"span",5)}function Zae(t,n){1&t&&A(0,"span",6)}function Xae(t,n){if(1&t&&(f(0,"span",2),C(1,Jae,1,0,"span",5)(2,Zae,1,0,"span",6),m()),2&t){let e;const i=g();d(),he("rtl"===(e=i.dir)?1:2)}}function ele(t,n){1&t&&A(0,"span",3)}const tle=["nz-submenu",""],nle=[[["","title",""]],"*"],ile=["[title]","*"];function ole(t,n){1&t&&_t(0)}function rle(t,n){if(1&t&&A(0,"div",3),2&t){const e=g(),i=Be(6);h("mode",e.mode)("nzOpen",e.nzOpen)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)("menuClass",e.nzMenuClassName)("templateOutlet",i)}}function sle(t,n){if(1&t){const e=W();f(0,"div",6),M("subMenuMouseState",function(o){return S(e),T(g(2).setMouseEnterState(o))}),m()}if(2&t){const e=g(2),i=Be(6);h("theme",e.theme)("mode",e.mode)("nzOpen",e.nzOpen)("position",e.position)("nzDisabled",e.nzDisabled)("isMenuInsideDropDown",e.isMenuInsideDropDown)("templateOutlet",i)("menuClass",e.nzMenuClassName)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)}}function ale(t,n){if(1&t){const e=W();C(0,sle,1,10,"ng-template",5),M("positionChange",function(o){return S(e),T(g().onPositionChange(o))})}if(2&t){const e=g(),i=Be(1);h("cdkConnectedOverlayPositions",e.overlayPositions)("cdkConnectedOverlayOrigin",i)("cdkConnectedOverlayWidth",e.triggerWidth)("cdkConnectedOverlayOpen",e.nzOpen)("cdkConnectedOverlayTransformOriginOn",".ant-menu-submenu")}}function lle(t,n){1&t&&_t(0,1)}const cle=["titleElement"],dle=["nz-menu-group",""],ule=["*",[["","title",""]]],hle=["*","[title]"];function ple(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.nzTitle)}}function fle(t,n){1&t&&_t(0,1)}const gs=new oe("NzIsInDropDownMenuToken"),dI=new oe("NzMenuServiceLocalToken");let Us=(()=>{class t{constructor(){this.descendantMenuItemClick$=new V,this.childMenuItemClick$=new V,this.theme$=new rt("light"),this.mode$=new rt("vertical"),this.inlineIndent$=new rt(24),this.isChildSubMenuOpen$=new rt(!1)}onDescendantMenuItemClick(e){this.descendantMenuItemClick$.next(e)}onChildMenuItemClick(e){this.childMenuItemClick$.next(e)}setMode(e){this.mode$.next(e)}setTheme(e){this.theme$.next(e)}setInlineIndent(e){this.inlineIndent$.next(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),F7=(()=>{class t{onChildMenuItemClick(e){this.childMenuItemClick$.next(e)}setOpenStateWithoutDebounce(e){this.isCurrentSubMenuOpen$.next(e)}setMouseEnterTitleOrOverlayState(e){this.isMouseEnterTitleOrOverlay$.next(e)}constructor(e,i,o){this.nzHostSubmenuService=e,this.nzMenuService=i,this.isMenuInsideDropDown=o,this.mode$=this.nzMenuService.mode$.pipe(Pe(l=>"inline"===l?"inline":"vertical"===l||this.nzHostSubmenuService?"vertical":"horizontal")),this.level=1,this.isCurrentSubMenuOpen$=new rt(!1),this.isChildSubMenuOpen$=new rt(!1),this.isMouseEnterTitleOrOverlay$=new V,this.childMenuItemClick$=new V,this.destroy$=new V,this.nzHostSubmenuService&&(this.level=this.nzHostSubmenuService.level+1);const r=this.childMenuItemClick$.pipe(Yn(()=>this.mode$),yt(l=>"inline"!==l||this.isMenuInsideDropDown),hl(!1)),s=On(this.isMouseEnterTitleOrOverlay$,r);Di([this.isChildSubMenuOpen$,s]).pipe(Pe(([l,c])=>l||c),bl(150),Qi(),P(this.destroy$)).pipe(Qi()).subscribe(l=>{this.setOpenStateWithoutDebounce(l),this.nzHostSubmenuService?this.nzHostSubmenuService.isChildSubMenuOpen$.next(l):this.nzMenuService.isChildSubMenuOpen$.next(l)})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(R(t,12),R(Us),R(gs))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),Ws=(()=>{class t{clickMenuItem(e){this.nzDisabled?(e.preventDefault(),e.stopPropagation()):(this.nzMenuService.onDescendantMenuItemClick(this),this.nzSubmenuService?this.nzSubmenuService.onChildMenuItemClick(this):this.nzMenuService.onChildMenuItemClick(this))}setSelectedState(e){this.nzSelected=e,this.selected$.next(e)}updateRouterActive(){!this.listOfRouterLink||!this.router||!this.router.navigated||!this.nzMatchRouter||Promise.resolve().then(()=>{const e=this.hasActiveLinks();this.nzSelected!==e&&(this.nzSelected=e,this.setSelectedState(this.nzSelected),this.cdr.markForCheck())})}hasActiveLinks(){const e=this.isLinkActive(this.router);return this.routerLink&&e(this.routerLink)||this.listOfRouterLink.some(e)}isLinkActive(e){return i=>e.isActive(i.urlTree||"",{paths:this.nzMatchRouterExact?"exact":"subset",queryParams:this.nzMatchRouterExact?"exact":"subset",fragment:"ignored",matrixParams:"ignored"})}constructor(e,i,o,r,s,a,l){this.nzMenuService=e,this.cdr=i,this.nzSubmenuService=o,this.isMenuInsideDropDown=r,this.directionality=s,this.routerLink=a,this.router=l,this.destroy$=new V,this.level=this.nzSubmenuService?this.nzSubmenuService.level+1:1,this.selected$=new V,this.inlinePaddingLeft=null,this.dir="ltr",this.nzDisabled=!1,this.nzSelected=!1,this.nzDanger=!1,this.nzMatchRouterExact=!1,this.nzMatchRouter=!1,l&&this.router.events.pipe(P(this.destroy$),yt(c=>c instanceof Hr)).subscribe(()=>{this.updateRouterActive()})}ngOnInit(){Di([this.nzMenuService.mode$,this.nzMenuService.inlineIndent$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{this.inlinePaddingLeft="inline"===e?this.level*i:null}),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngAfterContentInit(){this.listOfRouterLink.changes.pipe(P(this.destroy$)).subscribe(()=>this.updateRouterActive()),this.updateRouterActive()}ngOnChanges(e){e.nzSelected&&this.setSelectedState(this.nzSelected)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Us),v(We),v(F7,8),v(gs),v(Ct,8),v(_1,8),v(oi,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-menu-item",""]],contentQueries:function(i,o,r){if(1&i&&fn(r,_1,5),2&i){let s;ke(s=Ie())&&(o.listOfRouterLink=s)}},hostVars:20,hostBindings:function(i,o){1&i&&M("click",function(s){return o.clickMenuItem(s)}),2&i&&(Lt("padding-left","rtl"===o.dir?null:o.nzPaddingLeft||o.inlinePaddingLeft,"px")("padding-right","rtl"===o.dir?o.nzPaddingLeft||o.inlinePaddingLeft:null,"px"),Z("ant-dropdown-menu-item",o.isMenuInsideDropDown)("ant-dropdown-menu-item-selected",o.isMenuInsideDropDown&&o.nzSelected)("ant-dropdown-menu-item-danger",o.isMenuInsideDropDown&&o.nzDanger)("ant-dropdown-menu-item-disabled",o.isMenuInsideDropDown&&o.nzDisabled)("ant-menu-item",!o.isMenuInsideDropDown)("ant-menu-item-selected",!o.isMenuInsideDropDown&&o.nzSelected)("ant-menu-item-danger",!o.isMenuInsideDropDown&&o.nzDanger)("ant-menu-item-disabled",!o.isMenuInsideDropDown&&o.nzDisabled))},inputs:{nzPaddingLeft:[2,"nzPaddingLeft","nzPaddingLeft",y3],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzSelected:[2,"nzSelected","nzSelected",I],nzDanger:[2,"nzDanger","nzDanger",I],nzMatchRouterExact:[2,"nzMatchRouterExact","nzMatchRouterExact",I],nzMatchRouter:[2,"nzMatchRouter","nzMatchRouter",I]},exportAs:["nzMenuItem"],standalone:!0,features:[je,xe,me],attrs:Yae,ngContentSelectors:cI,decls:2,vars:0,consts:[[1,"ant-menu-title-content"]],template:function(i,o){1&i&&(Et(),f(0,"span",0),_t(1),m())},encapsulation:2,changeDetection:0})}return t})(),mle=(()=>{class t{constructor(e,i,o){this.elementRef=e,this.renderer=i,this.directionality=o,this.templateOutlet=null,this.menuClass="",this.mode="vertical",this.nzOpen=!1,this.listOfCacheClassName=[],this.expandState="collapsed",this.dir="ltr",this.destroy$=new V}calcMotionState(){this.expandState=this.nzOpen?"expanded":"collapsed"}ngOnInit(){this.calcMotionState(),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngOnChanges(e){const{mode:i,nzOpen:o,menuClass:r}=e;(i||o)&&this.calcMotionState(),r&&(this.listOfCacheClassName.length&&this.listOfCacheClassName.filter(s=>!!s).forEach(s=>{this.renderer.removeClass(this.elementRef.nativeElement,s)}),this.menuClass&&(this.listOfCacheClassName=this.menuClass.split(" "),this.listOfCacheClassName.filter(s=>!!s).forEach(s=>{this.renderer.addClass(this.elementRef.nativeElement,s)})))}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-submenu-inline-child",""]],hostAttrs:[1,"ant-menu","ant-menu-inline","ant-menu-sub"],hostVars:3,hostBindings:function(i,o){2&i&&(ol("@collapseMotion",o.expandState),Z("ant-menu-rtl","rtl"===o.dir))},inputs:{templateOutlet:"templateOutlet",menuClass:"menuClass",mode:"mode",nzOpen:"nzOpen"},exportAs:["nzSubmenuInlineChild"],standalone:!0,features:[xe,me],attrs:Uae,decls:1,vars:1,consts:[[3,"ngTemplateOutlet"]],template:function(i,o){1&i&&C(0,Wae,0,0,"ng-template",0),2&i&&h("ngTemplateOutlet",o.templateOutlet)},dependencies:[Nn],encapsulation:2,data:{animation:[Une]},changeDetection:0})}return t})(),gle=(()=>{class t{constructor(e){this.directionality=e,this.menuClass="",this.theme="light",this.templateOutlet=null,this.isMenuInsideDropDown=!1,this.mode="vertical",this.position="right",this.nzDisabled=!1,this.nzOpen=!1,this.subMenuMouseState=new B,this.expandState="collapsed",this.dir="ltr",this.destroy$=new V}setMouseState(e){this.nzDisabled||this.subMenuMouseState.next(e)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}calcMotionState(){this.nzOpen?"horizontal"===this.mode?this.expandState="bottom":"vertical"===this.mode&&(this.expandState="active"):this.expandState="collapsed"}ngOnInit(){this.calcMotionState(),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngOnChanges(e){const{mode:i,nzOpen:o}=e;(i||o)&&this.calcMotionState()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-submenu-none-inline-child",""]],hostAttrs:[1,"ant-menu-submenu","ant-menu-submenu-popup"],hostVars:14,hostBindings:function(i,o){1&i&&M("mouseenter",function(){return o.setMouseState(!0)})("mouseleave",function(){return o.setMouseState(!1)}),2&i&&(ol("@slideMotion",o.expandState)("@zoomBigMotion",o.expandState),Z("ant-menu-light","light"===o.theme)("ant-menu-dark","dark"===o.theme)("ant-menu-submenu-placement-bottom","horizontal"===o.mode)("ant-menu-submenu-placement-right","vertical"===o.mode&&"right"===o.position)("ant-menu-submenu-placement-left","vertical"===o.mode&&"left"===o.position)("ant-menu-submenu-rtl","rtl"===o.dir))},inputs:{menuClass:"menuClass",theme:"theme",templateOutlet:"templateOutlet",isMenuInsideDropDown:"isMenuInsideDropDown",mode:"mode",position:"position",nzDisabled:"nzDisabled",nzOpen:"nzOpen"},outputs:{subMenuMouseState:"subMenuMouseState"},exportAs:["nzSubmenuNoneInlineChild"],standalone:!0,features:[xe,me],attrs:Gae,decls:2,vars:16,consts:[[3,"ngClass"],[3,"ngTemplateOutlet"]],template:function(i,o){1&i&&(f(0,"div",0),C(1,qae,0,0,"ng-template",1),m()),2&i&&(Z("ant-dropdown-menu",o.isMenuInsideDropDown)("ant-menu",!o.isMenuInsideDropDown)("ant-dropdown-menu-vertical",o.isMenuInsideDropDown)("ant-menu-vertical",!o.isMenuInsideDropDown)("ant-dropdown-menu-sub",o.isMenuInsideDropDown)("ant-menu-sub",!o.isMenuInsideDropDown)("ant-menu-rtl","rtl"===o.dir),h("ngClass",o.menuClass),d(),h("ngTemplateOutlet",o.templateOutlet))},dependencies:[Jo,Nn],encapsulation:2,data:{animation:[I3,a7]},changeDetection:0})}return t})(),uI=(()=>{class t{constructor(e,i){this.cdr=e,this.directionality=i,this.nzIcon=null,this.nzTitle=null,this.isMenuInsideDropDown=!1,this.nzDisabled=!1,this.paddingLeft=null,this.mode="vertical",this.toggleSubMenu=new B,this.subMenuMouseState=new B,this.dir="ltr",this.destroy$=new V}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}setMouseState(e){this.nzDisabled||this.subMenuMouseState.next(e)}clickTitle(){"inline"===this.mode&&!this.nzDisabled&&this.toggleSubMenu.emit()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-submenu-title",""]],hostVars:8,hostBindings:function(i,o){1&i&&M("click",function(){return o.clickTitle()})("mouseenter",function(){return o.setMouseState(!0)})("mouseleave",function(){return o.setMouseState(!1)}),2&i&&(Lt("padding-left","rtl"===o.dir?null:o.paddingLeft,"px")("padding-right","rtl"===o.dir?o.paddingLeft:null,"px"),Z("ant-dropdown-menu-submenu-title",o.isMenuInsideDropDown)("ant-menu-submenu-title",!o.isMenuInsideDropDown))},inputs:{nzIcon:"nzIcon",nzTitle:"nzTitle",isMenuInsideDropDown:"isMenuInsideDropDown",nzDisabled:"nzDisabled",paddingLeft:"paddingLeft",mode:"mode"},outputs:{toggleSubMenu:"toggleSubMenu",subMenuMouseState:"subMenuMouseState"},exportAs:["nzSubmenuTitle"],standalone:!0,features:[me],attrs:Qae,ngContentSelectors:cI,decls:5,vars:3,consts:[["nz-icon","",3,"nzType"],[4,"nzStringTemplateOutlet"],[1,"ant-dropdown-menu-submenu-expand-icon"],[1,"ant-menu-submenu-arrow"],[1,"ant-menu-title-content"],["nz-icon","","nzType","left",1,"ant-dropdown-menu-submenu-arrow-icon"],["nz-icon","","nzType","right",1,"ant-dropdown-menu-submenu-arrow-icon"]],template:function(i,o){1&i&&(Et(),C(0,Kae,1,1,"span",0)(1,$ae,3,1,"ng-container",1),_t(2),C(3,Xae,3,1,"span",2)(4,ele,1,0,"span",3)),2&i&&(he(o.nzIcon?0:-1),d(),h("nzStringTemplateOutlet",o.nzTitle),d(2),he(o.isMenuInsideDropDown?3:4))},dependencies:[In,ln,Sn,An],encapsulation:2,changeDetection:0})}return t})();const hI=[Kt.rightTop,Kt.right,Kt.rightBottom,Kt.leftTop,Kt.left,Kt.leftBottom],vle=[Kt.bottomLeft,Kt.bottomRight,Kt.topRight,Kt.topLeft];let cp=(()=>{class t{setOpenStateWithoutDebounce(e){this.nzSubmenuService.setOpenStateWithoutDebounce(e)}toggleSubMenu(){this.setOpenStateWithoutDebounce(!this.nzOpen)}setMouseEnterState(e){this.isActive=e,"inline"!==this.mode&&this.nzSubmenuService.setMouseEnterTitleOrOverlayState(e)}setTriggerWidth(){"horizontal"===this.mode&&this.platform.isBrowser&&this.cdkOverlayOrigin&&"bottomLeft"===this.nzPlacement&&(this.triggerWidth=this.cdkOverlayOrigin.nativeElement.getBoundingClientRect().width)}onPositionChange(e){const i=Q3(e);"rightTop"===i||"rightBottom"===i||"right"===i?this.position="right":("leftTop"===i||"leftBottom"===i||"left"===i)&&(this.position="left")}constructor(e,i,o,r,s,a,l){this.nzMenuService=e,this.cdr=i,this.nzSubmenuService=o,this.platform=r,this.isMenuInsideDropDown=s,this.directionality=a,this.noAnimation=l,this.nzMenuClassName="",this.nzPaddingLeft=null,this.nzTitle=null,this.nzIcon=null,this.nzOpen=!1,this.nzDisabled=!1,this.nzPlacement="bottomLeft",this.nzOpenChange=new B,this.cdkOverlayOrigin=null,this.listOfNzSubMenuComponent=null,this.listOfNzMenuItemDirective=null,this.level=this.nzSubmenuService.level,this.destroy$=new V,this.position="right",this.triggerWidth=null,this.theme="light",this.mode="vertical",this.inlinePaddingLeft=null,this.overlayPositions=hI,this.isSelected=!1,this.isActive=!1,this.dir="ltr"}ngOnInit(){this.nzMenuService.theme$.pipe(P(this.destroy$)).subscribe(e=>{this.theme=e,this.cdr.markForCheck()}),this.nzSubmenuService.mode$.pipe(P(this.destroy$)).subscribe(e=>{this.mode=e,"horizontal"===e?this.overlayPositions=[Kt[this.nzPlacement],...vle]:"vertical"===e&&(this.overlayPositions=hI),this.cdr.markForCheck()}),Di([this.nzSubmenuService.mode$,this.nzMenuService.inlineIndent$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{this.inlinePaddingLeft="inline"===e?this.level*i:null,this.cdr.markForCheck()}),this.nzSubmenuService.isCurrentSubMenuOpen$.pipe(P(this.destroy$)).subscribe(e=>{this.isActive=e,e!==this.nzOpen&&(this.setTriggerWidth(),this.nzOpen=e,this.nzOpenChange.emit(this.nzOpen),this.cdr.markForCheck())}),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.markForCheck()})}ngAfterContentInit(){this.setTriggerWidth();const e=this.listOfNzMenuItemDirective,i=e.changes,o=On(i,...e.map(r=>r.selected$));i.pipe(gn(e),mn(()=>o),gn(!0),Pe(()=>e.some(r=>r.nzSelected)),P(this.destroy$)).subscribe(r=>{this.isSelected=r,this.cdr.markForCheck()})}ngOnChanges(e){const{nzOpen:i}=e;i&&(this.nzSubmenuService.setOpenStateWithoutDebounce(this.nzOpen),this.setTriggerWidth())}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Us),v(We),v(F7),v(Qn),v(gs),v(Ct,8),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-submenu",""]],contentQueries:function(i,o,r){if(1&i&&(fn(r,t,5),fn(r,Ws,5)),2&i){let s;ke(s=Ie())&&(o.listOfNzSubMenuComponent=s),ke(s=Ie())&&(o.listOfNzMenuItemDirective=s)}},viewQuery:function(i,o){if(1&i&&ft(Sl,7,Se),2&i){let r;ke(r=Ie())&&(o.cdkOverlayOrigin=r.first)}},hostVars:34,hostBindings:function(i,o){2&i&&Z("ant-dropdown-menu-submenu",o.isMenuInsideDropDown)("ant-dropdown-menu-submenu-disabled",o.isMenuInsideDropDown&&o.nzDisabled)("ant-dropdown-menu-submenu-open",o.isMenuInsideDropDown&&o.nzOpen)("ant-dropdown-menu-submenu-selected",o.isMenuInsideDropDown&&o.isSelected)("ant-dropdown-menu-submenu-vertical",o.isMenuInsideDropDown&&"vertical"===o.mode)("ant-dropdown-menu-submenu-horizontal",o.isMenuInsideDropDown&&"horizontal"===o.mode)("ant-dropdown-menu-submenu-inline",o.isMenuInsideDropDown&&"inline"===o.mode)("ant-dropdown-menu-submenu-active",o.isMenuInsideDropDown&&o.isActive)("ant-menu-submenu",!o.isMenuInsideDropDown)("ant-menu-submenu-disabled",!o.isMenuInsideDropDown&&o.nzDisabled)("ant-menu-submenu-open",!o.isMenuInsideDropDown&&o.nzOpen)("ant-menu-submenu-selected",!o.isMenuInsideDropDown&&o.isSelected)("ant-menu-submenu-vertical",!o.isMenuInsideDropDown&&"vertical"===o.mode)("ant-menu-submenu-horizontal",!o.isMenuInsideDropDown&&"horizontal"===o.mode)("ant-menu-submenu-inline",!o.isMenuInsideDropDown&&"inline"===o.mode)("ant-menu-submenu-active",!o.isMenuInsideDropDown&&o.isActive)("ant-menu-submenu-rtl","rtl"===o.dir)},inputs:{nzMenuClassName:"nzMenuClassName",nzPaddingLeft:"nzPaddingLeft",nzTitle:"nzTitle",nzIcon:"nzIcon",nzOpen:[2,"nzOpen","nzOpen",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzPlacement:"nzPlacement"},outputs:{nzOpenChange:"nzOpenChange"},exportAs:["nzSubmenu"],standalone:!0,features:[et([F7]),je,xe,me],attrs:tle,ngContentSelectors:ile,decls:7,vars:8,consts:[["origin","cdkOverlayOrigin"],["subMenuTemplate",""],["nz-submenu-title","","cdkOverlayOrigin","",3,"subMenuMouseState","toggleSubMenu","nzIcon","nzTitle","mode","nzDisabled","isMenuInsideDropDown","paddingLeft"],["nz-submenu-inline-child","",3,"mode","nzOpen","nzNoAnimation","menuClass","templateOutlet"],["cdkConnectedOverlay","",3,"cdkConnectedOverlayPositions","cdkConnectedOverlayOrigin","cdkConnectedOverlayWidth","cdkConnectedOverlayOpen","cdkConnectedOverlayTransformOriginOn"],["cdkConnectedOverlay","",3,"positionChange","cdkConnectedOverlayPositions","cdkConnectedOverlayOrigin","cdkConnectedOverlayWidth","cdkConnectedOverlayOpen","cdkConnectedOverlayTransformOriginOn"],["nz-submenu-none-inline-child","",3,"subMenuMouseState","theme","mode","nzOpen","position","nzDisabled","isMenuInsideDropDown","templateOutlet","menuClass","nzNoAnimation"]],template:function(i,o){if(1&i){const r=W();Et(nle),f(0,"div",2,0),M("subMenuMouseState",function(a){return S(r),T(o.setMouseEnterState(a))})("toggleSubMenu",function(){return S(r),T(o.toggleSubMenu())}),C(2,ole,1,0),m(),C(3,rle,1,6,"div",3)(4,ale,1,5,null,4)(5,lle,1,0,"ng-template",null,1,ot)}2&i&&(h("nzIcon",o.nzIcon)("nzTitle",o.nzTitle)("mode",o.mode)("nzDisabled",o.nzDisabled)("isMenuInsideDropDown",o.isMenuInsideDropDown)("paddingLeft",o.nzPaddingLeft||o.inlinePaddingLeft),d(2),he(o.nzTitle?-1:2),d(),he("inline"===o.mode?3:4))},dependencies:[uI,mle,zo,gle,d2,Tl,Sl],encapsulation:2,changeDetection:0})}return t})();function ble(){const t=G(Us,{skipSelf:!0,optional:!0}),n=G(dI);return t??n}function _le(){return G(gs,{skipSelf:!0,optional:!0})??!1}let Aa=(()=>{class t{setInlineCollapsed(e){this.nzInlineCollapsed=e,this.inlineCollapsed$.next(e)}updateInlineCollapse(){this.listOfNzMenuItemDirective&&(this.nzInlineCollapsed?(this.listOfOpenedNzSubMenuComponent=this.listOfNzSubMenuComponent.filter(e=>e.nzOpen),this.listOfNzSubMenuComponent.forEach(e=>e.setOpenStateWithoutDebounce(!1))):(this.listOfOpenedNzSubMenuComponent.forEach(e=>e.setOpenStateWithoutDebounce(!0)),this.listOfOpenedNzSubMenuComponent=[]))}constructor(e,i,o,r){this.nzMenuService=e,this.isMenuInsideDropDown=i,this.cdr=o,this.directionality=r,this.nzInlineIndent=24,this.nzTheme="light",this.nzMode="vertical",this.nzInlineCollapsed=!1,this.nzSelectable=!this.isMenuInsideDropDown,this.nzClick=new B,this.actualMode="vertical",this.dir="ltr",this.inlineCollapsed$=new rt(this.nzInlineCollapsed),this.mode$=new rt(this.nzMode),this.destroy$=new V,this.listOfOpenedNzSubMenuComponent=[]}ngOnInit(){Di([this.inlineCollapsed$,this.mode$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{this.actualMode=e?"vertical":i,this.nzMenuService.setMode(this.actualMode),this.cdr.markForCheck()}),this.nzMenuService.descendantMenuItemClick$.pipe(P(this.destroy$)).subscribe(e=>{this.nzClick.emit(e),this.nzSelectable&&!e.nzMatchRouter&&this.listOfNzMenuItemDirective.forEach(i=>i.setSelectedState(i===e))}),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.nzMenuService.setMode(this.actualMode),this.cdr.markForCheck()})}ngAfterContentInit(){this.inlineCollapsed$.pipe(P(this.destroy$)).subscribe(()=>{this.updateInlineCollapse(),this.cdr.markForCheck()})}ngOnChanges(e){const{nzInlineCollapsed:i,nzInlineIndent:o,nzTheme:r,nzMode:s}=e;i&&this.inlineCollapsed$.next(this.nzInlineCollapsed),o&&this.nzMenuService.setInlineIndent(this.nzInlineIndent),r&&this.nzMenuService.setTheme(this.nzTheme),s&&(this.mode$.next(this.nzMode),!e.nzMode.isFirstChange()&&this.listOfNzSubMenuComponent&&this.listOfNzSubMenuComponent.forEach(a=>a.setOpenStateWithoutDebounce(!1)))}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Us),v(gs),v(We),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-menu",""]],contentQueries:function(i,o,r){if(1&i&&(fn(r,Ws,5),fn(r,cp,5)),2&i){let s;ke(s=Ie())&&(o.listOfNzMenuItemDirective=s),ke(s=Ie())&&(o.listOfNzSubMenuComponent=s)}},hostVars:34,hostBindings:function(i,o){2&i&&Z("ant-dropdown-menu",o.isMenuInsideDropDown)("ant-dropdown-menu-root",o.isMenuInsideDropDown)("ant-dropdown-menu-light",o.isMenuInsideDropDown&&"light"===o.nzTheme)("ant-dropdown-menu-dark",o.isMenuInsideDropDown&&"dark"===o.nzTheme)("ant-dropdown-menu-vertical",o.isMenuInsideDropDown&&"vertical"===o.actualMode)("ant-dropdown-menu-horizontal",o.isMenuInsideDropDown&&"horizontal"===o.actualMode)("ant-dropdown-menu-inline",o.isMenuInsideDropDown&&"inline"===o.actualMode)("ant-dropdown-menu-inline-collapsed",o.isMenuInsideDropDown&&o.nzInlineCollapsed)("ant-menu",!o.isMenuInsideDropDown)("ant-menu-root",!o.isMenuInsideDropDown)("ant-menu-light",!o.isMenuInsideDropDown&&"light"===o.nzTheme)("ant-menu-dark",!o.isMenuInsideDropDown&&"dark"===o.nzTheme)("ant-menu-vertical",!o.isMenuInsideDropDown&&"vertical"===o.actualMode)("ant-menu-horizontal",!o.isMenuInsideDropDown&&"horizontal"===o.actualMode)("ant-menu-inline",!o.isMenuInsideDropDown&&"inline"===o.actualMode)("ant-menu-inline-collapsed",!o.isMenuInsideDropDown&&o.nzInlineCollapsed)("ant-menu-rtl","rtl"===o.dir)},inputs:{nzInlineIndent:"nzInlineIndent",nzTheme:"nzTheme",nzMode:"nzMode",nzInlineCollapsed:[2,"nzInlineCollapsed","nzInlineCollapsed",I],nzSelectable:[2,"nzSelectable","nzSelectable",I]},outputs:{nzClick:"nzClick"},exportAs:["nzMenu"],standalone:!0,features:[et([{provide:dI,useClass:Us},{provide:Us,useFactory:ble},{provide:gs,useFactory:_le}]),je,xe]})}return t})();function yle(){return G(gs,{optional:!0,skipSelf:!0})??!1}let wle=(()=>{class t{constructor(e,i,o){this.elementRef=e,this.renderer=i,this.isMenuInsideDropDown=o,this.renderer.addClass(e.nativeElement,this.isMenuInsideDropDown?"ant-dropdown-menu-item-group":"ant-menu-item-group")}ngAfterViewInit(){const e=this.titleElement.nativeElement.nextElementSibling;e&&this.renderer.addClass(e,this.isMenuInsideDropDown?"ant-dropdown-menu-item-group-list":"ant-menu-item-group-list")}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt),v(gs))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-menu-group",""]],viewQuery:function(i,o){if(1&i&&ft(cle,5),2&i){let r;ke(r=Ie())&&(o.titleElement=r.first)}},inputs:{nzTitle:"nzTitle"},exportAs:["nzMenuGroup"],standalone:!0,features:[et([{provide:gs,useFactory:yle}]),me],attrs:dle,ngContentSelectors:hle,decls:5,vars:6,consts:[["titleElement",""],[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&(Et(ule),f(0,"div",null,0),C(2,ple,2,1,"ng-container",1)(3,fle,1,0),m(),_t(4)),2&i&&(Z("ant-menu-item-group-title",!o.isMenuInsideDropDown)("ant-dropdown-menu-item-group-title",o.isMenuInsideDropDown),d(2),h("nzStringTemplateOutlet",o.nzTitle),d(),he(o.nzTitle?-1:3))},dependencies:[Sn,An],encapsulation:2,changeDetection:0})}return t})(),R7=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[cp,wle,uI]})}return t})();const Cle=["*"];function zle(t,n){if(1&t){const e=W();f(0,"div",0),M("@slideMotion.done",function(o){return S(e),T(g().onAnimationEvent(o))})("mouseenter",function(){return S(e),T(g().setMouseState(!0))})("mouseleave",function(){return S(e),T(g().setMouseState(!1))}),_t(1),m()}if(2&t){const e=g();Z("ant-dropdown-rtl","rtl"===e.dir),h("ngClass",e.nzOverlayClassName)("ngStyle",e.nzOverlayStyle)("@slideMotion",void 0)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)}}const Sle=[Kt.bottomLeft,Kt.bottomRight,Kt.topRight,Kt.topLeft];let V1=(()=>{class t{setDropdownMenuValue(e,i){this.nzDropdownMenu&&this.nzDropdownMenu.setValue(e,i)}constructor(e,i,o,r,s,a){this.nzConfigService=e,this.elementRef=i,this.overlay=o,this.renderer=r,this.viewContainerRef=s,this.platform=a,this._nzModuleName="dropDown",this.overlayRef=null,this.destroy$=new V,this.positionStrategy=this.overlay.position().flexibleConnectedTo(this.elementRef.nativeElement).withLockedPosition().withTransformOriginOn(".ant-dropdown"),this.inputVisible$=new rt(!1),this.nzTrigger$=new rt("hover"),this.overlayClose$=new V,this.nzDropdownMenu=null,this.nzTrigger="hover",this.nzMatchWidthElement=null,this.nzBackdrop=!1,this.nzClickHide=!0,this.nzDisabled=!1,this.nzVisible=!1,this.nzOverlayClassName="",this.nzOverlayStyle={},this.nzPlacement="bottomLeft",this.nzVisibleChange=new B}ngAfterViewInit(){if(this.nzDropdownMenu){const e=this.elementRef.nativeElement,i=On(nn(e,"mouseenter").pipe(hl(!0)),nn(e,"mouseleave").pipe(hl(!1))),r=On(this.nzDropdownMenu.mouseState$,i),s=nn(e,"click").pipe(Pe(()=>!this.nzVisible)),c=On(this.nzTrigger$.pipe(mn(p=>"hover"===p?r:"click"===p?s:_o)),this.nzDropdownMenu.descendantMenuItemClick$.pipe(yt(()=>this.nzClickHide),hl(!1)),this.overlayClose$).pipe(yt(()=>!this.nzDisabled));Di([On(this.inputVisible$,c),this.nzDropdownMenu.isChildSubMenuOpen$]).pipe(Pe(([p,b])=>p||b),bl(150),Qi(),yt(()=>this.platform.isBrowser),P(this.destroy$)).subscribe(p=>{const _=(this.nzMatchWidthElement?this.nzMatchWidthElement.nativeElement:e).getBoundingClientRect().width;this.nzVisible!==p&&this.nzVisibleChange.emit(p),this.nzVisible=p,p?(this.overlayRef?this.overlayRef.getConfig().minWidth=_:(this.overlayRef=this.overlay.create({positionStrategy:this.positionStrategy,minWidth:_,disposeOnNavigation:!0,hasBackdrop:this.nzBackdrop&&"click"===this.nzTrigger,scrollStrategy:this.overlay.scrollStrategies.reposition()}),On(this.overlayRef.backdropClick(),this.overlayRef.detachments(),this.overlayRef.outsidePointerEvents().pipe(yt(y=>!this.elementRef.nativeElement.contains(y.target))),this.overlayRef.keydownEvents().pipe(yt(y=>27===y.keyCode&&!c2(y)))).pipe(P(this.destroy$)).subscribe(()=>{this.overlayClose$.next(!1)})),this.positionStrategy.withPositions([Kt[this.nzPlacement],...Sle]),(!this.portal||this.portal.templateRef!==this.nzDropdownMenu.templateRef)&&(this.portal=new Ju(this.nzDropdownMenu.templateRef,this.viewContainerRef)),this.overlayRef.attach(this.portal)):this.overlayRef&&this.overlayRef.detach()}),this.nzDropdownMenu.animationStateChange$.pipe(P(this.destroy$)).subscribe(p=>{"void"===p.toState&&(this.overlayRef&&this.overlayRef.dispose(),this.overlayRef=null)})}}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete(),this.overlayRef&&(this.overlayRef.dispose(),this.overlayRef=null)}ngOnChanges(e){const{nzVisible:i,nzDisabled:o,nzOverlayClassName:r,nzOverlayStyle:s,nzTrigger:a}=e;if(a&&this.nzTrigger$.next(this.nzTrigger),i&&this.inputVisible$.next(this.nzVisible),o){const l=this.elementRef.nativeElement;this.nzDisabled?(this.renderer.setAttribute(l,"disabled",""),this.inputVisible$.next(!1)):this.renderer.removeAttribute(l,"disabled")}r&&this.setDropdownMenuValue("nzOverlayClassName",this.nzOverlayClassName),s&&this.setDropdownMenuValue("nzOverlayStyle",this.nzOverlayStyle)}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Se),v(ya),v(Yt),v(qn),v(Qn))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-dropdown",""]],hostAttrs:[1,"ant-dropdown-trigger"],inputs:{nzDropdownMenu:"nzDropdownMenu",nzTrigger:"nzTrigger",nzMatchWidthElement:"nzMatchWidthElement",nzBackdrop:[2,"nzBackdrop","nzBackdrop",I],nzClickHide:[2,"nzClickHide","nzClickHide",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzVisible:[2,"nzVisible","nzVisible",I],nzOverlayClassName:"nzOverlayClassName",nzOverlayStyle:"nzOverlayStyle",nzPlacement:"nzPlacement"},outputs:{nzVisibleChange:"nzVisibleChange"},exportAs:["nzDropdown"],standalone:!0,features:[je,xe]})}return xt([Vt()],t.prototype,"nzBackdrop",void 0),t})(),Tle=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})(),w2=(()=>{class t{onAnimationEvent(e){this.animationStateChange$.emit(e)}setMouseState(e){this.mouseState$.next(e)}setValue(e,i){this[e]=i,this.cdr.markForCheck()}constructor(e,i,o,r,s,a,l){this.cdr=e,this.elementRef=i,this.renderer=o,this.viewContainerRef=r,this.nzMenuService=s,this.directionality=a,this.noAnimation=l,this.mouseState$=new rt(!1),this.isChildSubMenuOpen$=this.nzMenuService.isChildSubMenuOpen$,this.descendantMenuItemClick$=this.nzMenuService.descendantMenuItemClick$,this.animationStateChange$=new B,this.nzOverlayClassName="",this.nzOverlayStyle={},this.dir="ltr",this.destroy$=new V}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngAfterContentInit(){this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement),this.elementRef.nativeElement)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Se),v(Yt),v(qn),v(Us),v(Ct,8),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-dropdown-menu"]],viewQuery:function(i,o){if(1&i&&ft(qt,7),2&i){let r;ke(r=Ie())&&(o.templateRef=r.first)}},exportAs:["nzDropdownMenu"],standalone:!0,features:[et([Us,{provide:gs,useValue:!0}]),me],ngContentSelectors:Cle,decls:1,vars:0,consts:[[1,"ant-dropdown",3,"mouseenter","mouseleave","ngClass","ngStyle","nzNoAnimation"]],template:function(i,o){1&i&&(Et(),C(0,zle,2,7,"ng-template"))},dependencies:[Jo,ti,zo],encapsulation:2,data:{animation:[a7]},changeDetection:0})}return t})(),dp=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Tle,R7]})}return t})();function pI(t,n){return n?e=>yu(n.pipe(io(1),function Mle(){return dn((t,n)=>{t.subscribe(Jt(n,Qs))})}()),e.pipe(pI(t))):Yn((e,i)=>Pi(t(e,i)).pipe(io(1),hl(e)))}function C2(t,n=Uu){const e=m3(t,n);return pI(()=>e)}new Fn({originX:"start",originY:"top"},{overlayX:"start",overlayY:"top"}),new Fn({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"}),new Fn({originX:"start",originY:"top"},{overlayX:"end",overlayY:"bottom"}),new Fn({originX:"start",originY:"top"},{overlayX:"end",overlayY:"top"});const Dle=["overlay"];function Ele(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.nzTitle)}}function xle(t,n){if(1&t&&(f(0,"div",2)(1,"div",3)(2,"div",4),A(3,"span",5),m(),f(4,"div",6),C(5,Ele,2,1,"ng-container",7),m()()()),2&t){const e=g();Z("ant-tooltip-rtl","rtl"===e.dir),h("ngClass",e._classMap)("ngStyle",e.nzOverlayStyle)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)("@zoomBigMotion","active"),d(3),h("ngStyle",e._contentStyleMap),d(),h("ngStyle",e._contentStyleMap),d(),h("nzStringTemplateOutlet",e.nzTitle)("nzStringTemplateOutletContext",e.nzTitleContext)}}let L7=(()=>{class t{get _title(){return this.title||this.directiveTitle||null}get _content(){return this.content||this.directiveContent||null}get _trigger(){return typeof this.trigger<"u"?this.trigger:"hover"}get _placement(){const e=this.placement;return Array.isArray(e)&&e.length>0?e:"string"==typeof e&&e?[e]:["top"]}get _visible(){return(typeof this.visible<"u"?this.visible:this.internalVisible)||!1}get _mouseEnterDelay(){return this.mouseEnterDelay||.15}get _mouseLeaveDelay(){return this.mouseLeaveDelay||.1}get _overlayClassName(){return this.overlayClassName||null}get _overlayStyle(){return this.overlayStyle||null}getProxyPropertyMap(){return{noAnimation:["noAnimation",()=>!!this.noAnimation]}}constructor(e){this.componentType=e,this.visibleChange=new B,this.internalVisible=!1,this.destroy$=new V,this.triggerDisposables=[],this.elementRef=G(Se),this.hostView=G(qn),this.renderer=G(Yt),this.noAnimation=G(zo,{host:!0,optional:!0}),this.nzConfigService=G(si),this.platformId=G(Pr)}ngAfterViewInit(){p4(this.platformId)&&(this.createComponent(),this.registerTriggers())}ngOnChanges(e){const{trigger:i}=e;i&&!i.isFirstChange()&&this.registerTriggers(),this.component&&this.updatePropertiesByChanges(e)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.clearTogglingTimer(),this.removeTriggerListeners()}show(){this.component?.show()}hide(){this.component?.hide()}updatePosition(){this.component&&this.component.updatePosition()}createComponent(){const e=this.hostView.createComponent(this.componentType);this.component=e.instance,this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement),e.location.nativeElement),this.component.setOverlayOrigin(this.origin||this.elementRef),this.initProperties();const i=this.component.nzVisibleChange.pipe(Qi());i.pipe(P(this.destroy$)).subscribe(o=>{this.internalVisible=o,this.visibleChange.emit(o)}),i.pipe(yt(o=>o),C2(0,y7),yt(()=>!!this.component?.overlay?.overlayRef),P(this.destroy$)).subscribe(()=>{this.component?.updatePosition()})}registerTriggers(){const e=this.elementRef.nativeElement,i=this.trigger;if(this.removeTriggerListeners(),"hover"===i){let o;this.triggerDisposables.push(this.renderer.listen(e,"mouseenter",()=>{this.delayEnterLeave(!0,!0,this._mouseEnterDelay)})),this.triggerDisposables.push(this.renderer.listen(e,"mouseleave",()=>{this.delayEnterLeave(!0,!1,this._mouseLeaveDelay),this.component?.overlay.overlayRef&&!o&&(o=this.component.overlay.overlayRef.overlayElement,this.triggerDisposables.push(this.renderer.listen(o,"mouseenter",()=>{this.delayEnterLeave(!1,!0,this._mouseEnterDelay)})),this.triggerDisposables.push(this.renderer.listen(o,"mouseleave",()=>{this.delayEnterLeave(!1,!1,this._mouseLeaveDelay)})))}))}else"focus"===i?(this.triggerDisposables.push(this.renderer.listen(e,"focusin",()=>this.show())),this.triggerDisposables.push(this.renderer.listen(e,"focusout",()=>this.hide()))):"click"===i&&this.triggerDisposables.push(this.renderer.listen(e,"click",o=>{o.preventDefault(),this.show()}))}updatePropertiesByChanges(e){this.updatePropertiesByKeys(Object.keys(e))}updatePropertiesByKeys(e){const i={title:["nzTitle",()=>this._title],directiveTitle:["nzTitle",()=>this._title],content:["nzContent",()=>this._content],directiveContent:["nzContent",()=>this._content],trigger:["nzTrigger",()=>this._trigger],placement:["nzPlacement",()=>this._placement],visible:["nzVisible",()=>this._visible],mouseEnterDelay:["nzMouseEnterDelay",()=>this._mouseEnterDelay],mouseLeaveDelay:["nzMouseLeaveDelay",()=>this._mouseLeaveDelay],overlayClassName:["nzOverlayClassName",()=>this._overlayClassName],overlayStyle:["nzOverlayStyle",()=>this._overlayStyle],arrowPointAtCenter:["nzArrowPointAtCenter",()=>this.arrowPointAtCenter],cdkConnectedOverlayPush:["cdkConnectedOverlayPush",()=>this.cdkConnectedOverlayPush],...this.getProxyPropertyMap()};(e||Object.keys(i).filter(o=>!o.startsWith("directive"))).forEach(o=>{if(i[o]){const[r,s]=i[o];this.updateComponentValue(r,s())}}),this.component?.updateByDirective()}initProperties(){this.updatePropertiesByKeys()}updateComponentValue(e,i){typeof i<"u"&&(this.component[e]=i)}delayEnterLeave(e,i,o=-1){this.delayTimer?this.clearTogglingTimer():o>0?this.delayTimer=setTimeout(()=>{this.delayTimer=void 0,i?this.show():this.hide()},1e3*o):i&&e?this.show():this.hide()}removeTriggerListeners(){this.triggerDisposables.forEach(e=>e()),this.triggerDisposables.length=0}clearTogglingTimer(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=void 0)}static#e=this.\u0275fac=function(i){return new(i||t)(v(R6))};static#t=this.\u0275dir=de({type:t,features:[xe]})}return t})(),kle=(()=>{class t{set nzVisible(e){const i=H5(e);this._visible!==i&&(this._visible=i,this.nzVisibleChange.next(i))}get nzVisible(){return this._visible}set nzTrigger(e){this._trigger=e}get nzTrigger(){return this._trigger}set nzPlacement(e){const i=e.map(o=>Kt[o]);this._positions=[...i,...uk]}constructor(e,i,o){this.cdr=e,this.directionality=i,this.noAnimation=o,this.nzTitle=null,this.nzContent=null,this.nzArrowPointAtCenter=!1,this.nzOverlayStyle={},this.nzBackdrop=!1,this.cdkConnectedOverlayPush=!0,this.nzVisibleChange=new V,this._visible=!1,this._trigger="hover",this.preferredPlacement="top",this.dir="ltr",this._classMap={},this._prefix="ant-tooltip",this._positions=[...uk],this.destroy$=new V}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnDestroy(){this.nzVisibleChange.complete(),this.destroy$.next(),this.destroy$.complete()}show(){this.nzVisible||(this.isEmpty()||(this.nzVisible=!0,this.nzVisibleChange.next(!0),this.cdr.detectChanges()),this.origin&&this.overlay&&this.overlay.overlayRef&&"rtl"===this.overlay.overlayRef.getDirection()&&this.overlay.overlayRef.setDirection("ltr"))}hide(){this.nzVisible&&(this.nzVisible=!1,this.nzVisibleChange.next(!1),this.cdr.detectChanges())}updateByDirective(){this.updateStyles(),this.cdr.detectChanges(),Promise.resolve().then(()=>{this.updatePosition(),this.updateVisibilityByTitle()})}updatePosition(){this.origin&&this.overlay&&this.overlay.overlayRef&&this.overlay.overlayRef.updatePosition()}onPositionChange(e){this.preferredPlacement=Q3(e),this.updateStyles(),this.cdr.detectChanges()}setOverlayOrigin(e){this.origin=e,this.cdr.markForCheck()}onClickOutside(e){const i=Po(e);!this.origin.nativeElement.contains(i)&&null!==this.nzTrigger&&this.hide()}updateVisibilityByTitle(){this.isEmpty()&&this.hide()}updateStyles(){this._classMap={[this.nzOverlayClassName]:!0,[`${this._prefix}-placement-${this.preferredPlacement}`]:!0}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Ct,8),v(zo))};static#t=this.\u0275dir=de({type:t,viewQuery:function(i,o){if(1&i&&ft(Dle,5),2&i){let r;ke(r=Ie())&&(o.overlay=r.first)}}})}return t})();function B7(t){return!(t instanceof qt||""!==t&&_r(t))}let Sa=(()=>{class t extends L7{constructor(){super(up),this.titleContext=null,this.trigger="hover",this.placement="top",this.cdkConnectedOverlayPush=!0,this.visibleChange=new B}getProxyPropertyMap(){return{...super.getProxyPropertyMap(),nzTooltipColor:["nzColor",()=>this.nzTooltipColor],titleContext:["nzTitleContext",()=>this.titleContext]}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-tooltip",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-tooltip-open",o.visible)},inputs:{title:[0,"nzTooltipTitle","title"],titleContext:[0,"nzTooltipTitleContext","titleContext"],directiveTitle:[0,"nz-tooltip","directiveTitle"],trigger:[0,"nzTooltipTrigger","trigger"],placement:[0,"nzTooltipPlacement","placement"],origin:[0,"nzTooltipOrigin","origin"],visible:[0,"nzTooltipVisible","visible"],mouseEnterDelay:[0,"nzTooltipMouseEnterDelay","mouseEnterDelay"],mouseLeaveDelay:[0,"nzTooltipMouseLeaveDelay","mouseLeaveDelay"],overlayClassName:[0,"nzTooltipOverlayClassName","overlayClassName"],overlayStyle:[0,"nzTooltipOverlayStyle","overlayStyle"],arrowPointAtCenter:[2,"nzTooltipArrowPointAtCenter","arrowPointAtCenter",I],cdkConnectedOverlayPush:[2,"cdkConnectedOverlayPush","cdkConnectedOverlayPush",I],nzTooltipColor:"nzTooltipColor"},outputs:{visibleChange:"nzTooltipVisibleChange"},exportAs:["nzTooltip"],standalone:!0,features:[je,mt]})}return t})(),up=(()=>{class t extends kle{constructor(e,i,o){super(e,i,o),this.nzTitle=null,this.nzTitleContext=null,this._contentStyleMap={}}isEmpty(){return B7(this.nzTitle)}updateStyles(){const e=this.nzColor&&kE(this.nzColor);this._classMap={[this.nzOverlayClassName]:!0,[`${this._prefix}-placement-${this.preferredPlacement}`]:!0,[`${this._prefix}-${this.nzColor}`]:e},this._contentStyleMap={backgroundColor:this.nzColor&&!e?this.nzColor:null,"--antd-arrow-background-color":this.nzColor}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Ct,8),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tooltip"]],exportAs:["nzTooltipComponent"],standalone:!0,features:[mt,me],decls:2,vars:5,consts:[["overlay","cdkConnectedOverlay"],["cdkConnectedOverlay","","nzConnectedOverlay","",3,"overlayOutsideClick","detach","positionChange","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayPush","nzArrowPointAtCenter"],[1,"ant-tooltip",3,"ngClass","ngStyle","nzNoAnimation"],[1,"ant-tooltip-content"],[1,"ant-tooltip-arrow"],[1,"ant-tooltip-arrow-content",3,"ngStyle"],[1,"ant-tooltip-inner",3,"ngStyle"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"]],template:function(i,o){if(1&i){const r=W();C(0,xle,6,11,"ng-template",1,0,ot),M("overlayOutsideClick",function(a){return S(r),T(o.onClickOutside(a))})("detach",function(){return S(r),T(o.hide())})("positionChange",function(a){return S(r),T(o.onPositionChange(a))})}2&i&&h("cdkConnectedOverlayOrigin",o.origin)("cdkConnectedOverlayOpen",o._visible)("cdkConnectedOverlayPositions",o._positions)("cdkConnectedOverlayPush",o.cdkConnectedOverlayPush)("nzArrowPointAtCenter",o.nzArrowPointAtCenter)},dependencies:[d2,Tl,Jo,ti,zo,Sn,An,u2,$3],encapsulation:2,data:{animation:[I3]},changeDetection:0})}return t})(),H7=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[up]})}return t})();function Ile(t,n){1&t&&(f(0,"div",13),A(1,"img",14),m()),2&t&&(g(),h("nzDropdownMenu",Be(3)))}function Ole(t,n){if(1&t){const e=W();f(0,"li",15),M("click",function(){const o=S(e).$implicit;return T(g().toggleTheme(o))}),w(1),m()}if(2&t){const e=n.$implicit;d(),we(" ",e.name," ")}}function Ple(t,n){if(1&t){const e=W();f(0,"span",7)(1,"div",8),M("click",function(){return S(e),T(g().handleSync())}),A(2,"i",16),m()()}if(2&t){const e=g();h("nzTooltipTitle",e.$t("_syncData")),d(),Z("rotate",e.syncLoading)}}function Vle(t,n){if(1&t){const e=W();f(0,"span",7)(1,"div",8),M("click",function(){return S(e),T(g().goSystemPage())}),A(2,"i",17),m()()}2&t&&h("nzTooltipTitle",g().$t("_addData"))}function Nle(t,n){if(1&t){const e=W();f(0,"span",7)(1,"div",8),M("click",function(){return S(e),T(g().collapse())}),A(2,"i",18),m()()}if(2&t){const e=g();h("nzTooltipTitle",e.$t(e.collapsed?"_collapse":"_put")),d(2),Z("active",e.collapsed)}}function Fle(t,n){1&t&&A(0,"i",19)}function Rle(t,n){1&t&&A(0,"img",20)}function Lle(t,n){if(1&t&&(f(0,"li",24)(1,"a",25),w(2),m()()),2&t){const e=n.$implicit;d(),h("href",e.url,It),d(),we(" ",e.name," ")}}function Ble(t,n){if(1&t&&(f(0,"div")(1,"div",21),A(2,"img",22),m(),f(3,"nz-dropdown-menu",null,1)(5,"ul",4),C(6,Lle,3,2,"li",23),m()()()),2&t){const e=Be(4),i=g();d(),h("nzDropdownMenu",e),d(5),h("ngForOf",i.settings.mirrorList)}}function Hle(t,n){1&t&&A(0,"img",28)}function jle(t,n){1&t&&A(0,"img",29)}function Yle(t,n){if(1&t){const e=W();f(0,"span")(1,"div",8),M("click",function(){return S(e),T(g().toggleLocale())}),C(2,Hle,1,0,"img",26)(3,jle,1,0,"img",27),m()()}if(2&t){const e=g();d(2),h("ngIf","zh-CN"===e.language),d(),h("ngIf",!e.language||"en"===e.language)}}let z2=(()=>{class t{constructor(e,i,o,r){this.message=e,this.modal=i,this.router=o,this.activatedRoute=r,this.showCollapse=!0,this.collapsed=!1,this.selector="",this.onCollapse=new B,this.$t=be,this.settings=kn,this.language=X5(),this.websiteList=yn,this.isDark=u3(),this.syncLoading=!1,this.isLogin=Gi,this.themeList=[{name:be("_switchTo")+" Super",url:"/super"},{name:be("_switchTo")+" Light",url:"/light"},{name:be("_switchTo")+" Sim",url:"/sim"},{name:be("_switchTo")+" Side",url:"/side"},{name:be("_switchTo")+" Shortcut",url:"/shortcut"},{name:be("_switchTo")+" App",url:"/app"}],this.isDark&&document.documentElement.classList.add("dark-container");const s=this.router.url.split("?")[0];this.themeList=this.themeList.filter(a=>a.url!==s)}ngOnInit(){}toggleTheme(e){this.router.navigate([e.url],{queryParams:pi()}),this.removeBackground()}goTop(){if(this.selector){const e=document.querySelector(this.selector);e&&(e.scrollTop=0)}else window.scrollTo({top:0,behavior:"smooth"})}collapse(){this.onCollapse.emit()}removeBackground(){const e=document.getElementById("random-light-bg");e?.parentNode?.removeChild?.(e)}toggleMode(){if(this.isDark=!this.isDark,Ei.emit("EVENT_DARK",this.isDark),window.localStorage.setItem(Wi.isDark,String(Number(this.isDark))),document.documentElement.classList.toggle("dark-container"),this.isDark)this.removeBackground();else{const{data:e}=this.activatedRoute.snapshot;e.renderLinear&&eE()}}goSystemPage(){this.router.navigate(["system"])}handleSync(){this.syncLoading?this.message.warning(be("_repeatOper")):this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{this.syncLoading=!0,vl({message:"update db",content:JSON.stringify(this.websiteList),path:Yg}).then(()=>{this.message.success(be("_syncSuccessTip"))}).finally(()=>{this.syncLoading=!1})}})}toggleLocale(){window.localStorage.setItem(Wi.language,"en"===this.language?"zh-CN":"en"),window.location.reload()}static#e=this.\u0275fac=function(i){return new(i||t)(v(er),v(za),v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-fixbar"]],inputs:{showCollapse:"showCollapse",collapsed:"collapsed",selector:"selector"},outputs:{onCollapse:"onCollapse"},decls:17,vars:10,consts:[["menu","nzDropdownMenu"],["menuMirror","nzDropdownMenu"],[1,"fixbar"],["class","wrapper dark-bg dark-border-color dark-action-hover","nz-dropdown","","nzPlacement","topLeft",3,"nzDropdownMenu",4,"ngIf"],["nz-menu","","nzSelectable",""],["nz-menu-item","",3,"click",4,"ngFor","ngForOf"],["nz-tooltip","",3,"nzTooltipTitle",4,"ngIf"],["nz-tooltip","",3,"nzTooltipTitle"],[1,"wrapper","dark-bg","dark-border-color","dark-action-hover",3,"click"],["class","iconfont icondark dark",4,"ngIf"],["class","iconfont icondark","src","assets/img/light.svg",4,"ngIf"],[4,"ngIf"],[1,"iconfont","iconjiantouarrow483","arrow"],["nz-dropdown","","nzPlacement","topLeft",1,"wrapper","dark-bg","dark-border-color","dark-action-hover",3,"nzDropdownMenu"],["src","assets/img/theme.svg"],["nz-menu-item","",3,"click"],[1,"iconfont","iconwinfo-icon-tongbu"],[1,"iconfont","iconchuangjian"],[1,"iconfont","iconweibiaoti25","collapse"],[1,"iconfont","icondark","dark"],["src","assets/img/light.svg",1,"iconfont","icondark"],["nz-dropdown","","nzPlacement","topRight",1,"wrapper","dark-bg","dark-border-color","dark-action-hover",3,"nzDropdownMenu"],["src","assets/img/mirror.svg"],["nz-menu-item","",4,"ngFor","ngForOf"],["nz-menu-item",""],[3,"href"],["class","iconfont","src","assets/img/china.svg",4,"ngIf"],["class","iconfont","src","assets/img/ua.svg",4,"ngIf"],["src","assets/img/china.svg",1,"iconfont"],["src","assets/img/ua.svg",1,"iconfont"]],template:function(i,o){if(1&i){const r=W();f(0,"div",2),C(1,Ile,2,1,"div",3),f(2,"nz-dropdown-menu",null,0)(4,"ul",4),C(5,Ole,2,1,"li",5),m()(),C(6,Ple,3,3,"span",6)(7,Vle,3,1,"span",6)(8,Nle,3,3,"span",6),f(9,"span",7)(10,"div",8),M("click",function(){return S(r),T(o.toggleMode())}),C(11,Fle,1,0,"i",9)(12,Rle,1,0,"img",10),m()(),C(13,Ble,7,2,"div",11)(14,Yle,4,2,"span",11),f(15,"div",8),M("click",function(){return S(r),T(o.goTop())}),A(16,"i",12),m()()}2&i&&(d(),h("ngIf",o.settings.showThemeToggle),d(4),h("ngForOf",o.themeList),d(),h("ngIf",o.isLogin),d(),h("ngIf",o.isLogin),d(),h("ngIf",o.showCollapse),d(),h("nzTooltipTitle",o.$t(o.isDark?"_closeDark":"_openDark")),d(2),h("ngIf",!o.isDark),d(),h("ngIf",o.isDark),d(),h("ngIf",o.settings.mirrorList.length>0),d(),h("ngIf",o.settings.showLanguage))},dependencies:[zn,St,mi,Aa,Ws,V1,w2,Sa],styles:[".fixbar[_ngcontent-%COMP%]{z-index:9;position:fixed;bottom:30px;right:15px;-webkit-user-select:none;user-select:none}.fixbar[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]{width:40px;height:40px;margin-top:10px;transition:.1s linear;display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:50%;background-color:#fff;box-shadow:0 0 5px #00000026}.fixbar[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]:hover{box-shadow:0 0 5px #00000026;transform:scale(1.2)}.fixbar[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:25px;height:25px}.fixbar[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{transition:.1s linear;display:inline-block;font-size:20px;color:#999}.fixbar[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{transform:rotate(180deg);cursor:pointer;font-weight:700}.fixbar[_ngcontent-%COMP%] .collapse[_ngcontent-%COMP%]{transform:rotate(-270deg)}.fixbar[_ngcontent-%COMP%] .collapse.active[_ngcontent-%COMP%]{transform:rotate(-360deg)}"],changeDetection:0})}return t})(),Ule=(()=>{class t{constructor(e){this.sanitized=e}transform(e){return this.sanitized.bypassSecurityTrustHtml(e)}static#e=this.\u0275fac=function(i){return new(i||t)(v(bu,16))};static#t=this.\u0275pipe=jn({name:"safeHtml",type:t,pure:!0})}return t})();function Wle(t,n){1&t&&(A(0,"div",2),Fr(1,"safeHtml")),2&t&&h("innerHTML",Rr(1,1,g().footerContent),Gn)}let A2=(()=>{class t{constructor(){this.footerContent=kn.footerContent.replace("${total}",String(Gi?p3.loginViewCount:p3.userViewCount)).replace("${hostname}",window.location.hostname).replace("${year}",String((new Date).getFullYear())),this.className=""}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-footer"]],inputs:{className:"className"},decls:2,vars:3,consts:[["id","app-footer",1,"footer","dark-text","xie-jiahe"],["class","copyright dark-text",3,"innerHTML",4,"ngIf"],[1,"copyright","dark-text",3,"innerHTML"]],template:function(i,o){1&i&&(f(0,"footer",0),C(1,Wle,2,3,"div",1),m()),2&i&&(k0(o.className),d(),h("ngIf",o.footerContent))},dependencies:[St,Ule],styles:[".footer[_ngcontent-%COMP%]{text-align:center;margin-top:5px;color:#fff}.footer[_ngcontent-%COMP%] .copyright[_ngcontent-%COMP%]{color:#fff;margin-bottom:5px}"]})}return t})();function Gle(t,n){if(1&t&&(Ye(0),A(1,"img",4),Ue()),2&t){const e=g(2);d(),h("src",e.nzNotFoundImage,It)("alt",e.isContentString?e.nzNotFoundContent:"empty")}}function qle(t,n){1&t&&C(0,Gle,2,2,"ng-container",3),2&t&&h("nzStringTemplateOutlet",g().nzNotFoundImage)}function Qle(t,n){1&t&&A(0,"nz-empty-simple")}function Kle(t,n){1&t&&A(0,"nz-empty-default")}function $le(t,n){1&t&&C(0,Qle,1,0,"nz-empty-simple")(1,Kle,1,0,"nz-empty-default"),2&t&&he("simple"===g().nzNotFoundImage?0:1)}function Jle(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),we(" ",e.isContentString?e.nzNotFoundContent:e.locale.description," ")}}function Zle(t,n){if(1&t&&(f(0,"p",1),C(1,Jle,2,1,"ng-container",3),m()),2&t){const e=g();d(),h("nzStringTemplateOutlet",e.nzNotFoundContent)}}function Xle(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),we(" ",e.nzNotFoundFooter," ")}}function ece(t,n){if(1&t&&(f(0,"div",2),C(1,Xle,2,1,"ng-container",3),m()),2&t){const e=g();d(),h("nzStringTemplateOutlet",e.nzNotFoundFooter)}}function tce(t,n){1&t&&w(0),2&t&&we(" ",g(2).content," ")}function nce(t,n){}function ice(t,n){1&t&&C(0,nce,0,0,"ng-template",0),2&t&&h("cdkPortalOutlet",g(2).contentPortal)}function oce(t,n){1&t&&C(0,tce,1,1)(1,ice,1,1,null,0),2&t&&he("string"===g().contentType?0:1)}function rce(t,n){1&t&&A(0,"nz-empty",1)}function sce(t,n){1&t&&A(0,"nz-empty",2)}function ace(t,n){1&t&&A(0,"nz-empty")}function lce(t,n){if(1&t&&C(0,rce,1,0,"nz-empty",1)(1,sce,1,0,"nz-empty",2)(2,ace,1,0,"nz-empty"),2&t){let e;he("normal"===(e=g(2).size)?0:"small"===e?1:2)}}function cce(t,n){1&t&&C(0,lce,3,1),2&t&&he(null!==g().specificContent?0:-1)}const dce=new oe("nz-empty-component-name");let uce=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-empty-default"]],exportAs:["nzEmptyDefault"],standalone:!0,features:[me],decls:12,vars:0,consts:[["width","184","height","152","viewBox","0 0 184 152","xmlns","http://www.w3.org/2000/svg",1,"ant-empty-img-default"],["fill","none","fill-rule","evenodd"],["transform","translate(24 31.67)"],["cx","67.797","cy","106.89","rx","67.797","ry","12.668",1,"ant-empty-img-default-ellipse"],["d","M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",1,"ant-empty-img-default-path-1"],["d","M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z","transform","translate(13.56)",1,"ant-empty-img-default-path-2"],["d","M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",1,"ant-empty-img-default-path-3"],["d","M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",1,"ant-empty-img-default-path-4"],["d","M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",1,"ant-empty-img-default-path-5"],["transform","translate(149.65 15.383)",1,"ant-empty-img-default-g"],["cx","20.654","cy","3.167","rx","2.849","ry","2.815"],["d","M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"]],template:function(i,o){1&i&&(Dh(),f(0,"svg",0)(1,"g",1)(2,"g",2),A(3,"ellipse",3)(4,"path",4)(5,"path",5)(6,"path",6)(7,"path",7),m(),A(8,"path",8),f(9,"g",9),A(10,"ellipse",10)(11,"path",11),m()()())},encapsulation:2,changeDetection:0})}return t})(),hce=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-empty-simple"]],exportAs:["nzEmptySimple"],standalone:!0,features:[me],decls:6,vars:0,consts:[["width","64","height","41","viewBox","0 0 64 41","xmlns","http://www.w3.org/2000/svg",1,"ant-empty-img-simple"],["transform","translate(0 1)","fill","none","fill-rule","evenodd"],["cx","32","cy","33","rx","32","ry","7",1,"ant-empty-img-simple-ellipse"],["fill-rule","nonzero",1,"ant-empty-img-simple-g"],["d","M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"],["d","M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",1,"ant-empty-img-simple-path"]],template:function(i,o){1&i&&(Dh(),f(0,"svg",0)(1,"g",1),A(2,"ellipse",2),f(3,"g",3),A(4,"path",4)(5,"path",5),m()()())},encapsulation:2,changeDetection:0})}return t})();const pce=["default","simple"];let j7=(()=>{class t{constructor(e,i){this.i18n=e,this.cdr=i,this.nzNotFoundImage="default",this.isContentString=!1,this.isImageBuildIn=!0,this.destroy$=new V}ngOnChanges(e){const{nzNotFoundContent:i,nzNotFoundImage:o}=e;if(i&&(this.isContentString="string"==typeof i.currentValue),o){const r=o.currentValue||"default";this.isImageBuildIn=pce.findIndex(s=>s===r)>-1}}ngOnInit(){this.i18n.localeChange.pipe(P(this.destroy$)).subscribe(()=>{this.locale=this.i18n.getLocaleData("Empty"),this.cdr.markForCheck()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ys),v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-empty"]],hostAttrs:[1,"ant-empty"],inputs:{nzNotFoundImage:"nzNotFoundImage",nzNotFoundContent:"nzNotFoundContent",nzNotFoundFooter:"nzNotFoundFooter"},exportAs:["nzEmpty"],standalone:!0,features:[xe,me],decls:5,vars:3,consts:[[1,"ant-empty-image"],[1,"ant-empty-description"],[1,"ant-empty-footer"],[4,"nzStringTemplateOutlet"],[3,"src","alt"]],template:function(i,o){1&i&&(f(0,"div",0),C(1,qle,1,1,"ng-container")(2,$le,2,1),m(),C(3,Zle,2,1,"p",1)(4,ece,2,1,"div",2)),2&i&&(d(),he(o.isImageBuildIn?2:1),d(2),he(null!==o.nzNotFoundContent?3:-1),d(),he(o.nzNotFoundFooter?4:-1))},dependencies:[Sn,An,uce,hce],encapsulation:2,changeDetection:0})}return t})(),Y7=(()=>{class t{constructor(e,i,o,r){this.configService=e,this.viewContainerRef=i,this.cdr=o,this.injector=r,this.contentType="string",this.size="",this.destroy$=new V}ngOnChanges(e){e.nzComponentName&&(this.size=function fce(t){switch(t){case"table":case"list":return"normal";case"select":case"tree-select":case"cascader":case"transfer":return"small";default:return""}}(e.nzComponentName.currentValue)),e.specificContent&&!e.specificContent.isFirstChange()&&(this.content=e.specificContent.currentValue,this.renderEmpty())}ngOnInit(){this.subscribeDefaultEmptyContentChange()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}renderEmpty(){const e=this.content;if("string"==typeof e)this.contentType="string";else if(e instanceof qt){const i={$implicit:this.nzComponentName};this.contentType="template",this.contentPortal=new Ju(e,this.viewContainerRef,i)}else if(e instanceof R6){const i=tn.create({parent:this.injector,providers:[{provide:dce,useValue:this.nzComponentName}]});this.contentType="component",this.contentPortal=new $u(e,this.viewContainerRef,i)}else this.contentType="string",this.contentPortal=void 0;this.cdr.detectChanges()}subscribeDefaultEmptyContentChange(){this.configService.getConfigChangeEventForComponent("empty").pipe(gn(!0),P(this.destroy$)).subscribe(()=>{this.content=this.specificContent||this.getUserDefaultEmptyContent(),this.renderEmpty()})}getUserDefaultEmptyContent(){return(this.configService.getConfigForComponent("empty")||{}).nzDefaultEmptyContent}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(qn),v(We),v(tn))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-embed-empty"]],inputs:{nzComponentName:"nzComponentName",specificContent:"specificContent"},exportAs:["nzEmbedEmpty"],standalone:!0,features:[xe,me],decls:2,vars:1,consts:[[3,"cdkPortalOutlet"],["nzNotFoundImage","simple",1,"ant-empty-normal"],["nzNotFoundImage","simple",1,"ant-empty-small"]],template:function(i,o){1&i&&C(0,oce,2,1)(1,cce,1,1),2&i&&he(o.content?0:1)},dependencies:[j7,z3,Zu],encapsulation:2,changeDetection:0})}return t})(),U7=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[j7,Y7]})}return t})(),hp=(()=>{class t{constructor(){this.$t=be,this.goBack=()=>{history.go(-1)}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-no-data"]],decls:5,vars:2,consts:[[1,"no-result","dark-text"],[3,"nzNotFoundContent"],[1,"back"],["nz-button","","nzType","primary",3,"click"]],template:function(i,o){1&i&&(f(0,"div",0),A(1,"nz-empty",1),f(2,"div",2)(3,"button",3),M("click",function(){return o.goBack()}),w(4),m()()()),2&i&&(d(),h("nzNotFoundContent",o.$t("_empty")),d(3),D(o.$t("_goBack")))},dependencies:[j7,nr,mi,tr],styles:[".no-result[_ngcontent-%COMP%]{padding:80px 0;text-align:center}.no-result[_ngcontent-%COMP%] .back[_ngcontent-%COMP%]{margin-top:30px}.no-result[_ngcontent-%COMP%] .back[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer}"]})}return t})();function mce(t,n){1&t&&A(0,"span",1),2&t&&h("nzType",g().iconType)}let xl=(()=>{class t{constructor(){this.formStatusChanges=new fi(1)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),pp=(()=>{class t{constructor(){this.noFormStatus=new rt(!1)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const gce={error:"close-circle-fill",validating:"loading",success:"check-circle-fill",warning:"exclamation-circle-fill"};let W7=(()=>{class t{constructor(e){this.cdr=e,this.status="",this.iconType=null}ngOnChanges(e){this.updateIcon()}updateIcon(){this.iconType=this.status?gce[this.status]:null,this.cdr.markForCheck()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-form-item-feedback-icon"]],hostAttrs:[1,"ant-form-item-feedback-icon"],hostVars:8,hostBindings:function(i,o){2&i&&Z("ant-form-item-feedback-icon-error","error"===o.status)("ant-form-item-feedback-icon-warning","warning"===o.status)("ant-form-item-feedback-icon-success","success"===o.status)("ant-form-item-feedback-icon-validating","validating"===o.status)},inputs:{status:"status"},exportAs:["nzFormFeedbackIcon"],features:[xe],decls:1,vars:1,consts:[["nz-icon","",3,"nzType",4,"ngIf"],["nz-icon","",3,"nzType"]],template:function(i,o){1&i&&C(0,mce,1,1,"span",0),2&i&&h("ngIf",o.iconType)},dependencies:[St,ln],encapsulation:2,changeDetection:0})}return t})(),fI=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[WS,In]})}return t})(),mI=(()=>{class t{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Yt),v(Se))};static#t=this.\u0275dir=de({type:t})}return t})(),kl=(()=>{class t extends mI{static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275dir=de({type:t,features:[mt]})}return t})();const Ni=new oe(""),bce={provide:Ni,useExisting:Gt(()=>G7),multi:!0};let G7=(()=>{class t extends kl{writeValue(e){this.setProperty("checked",e)}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275dir=de({type:t,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,o){1&i&&M("change",function(s){return o.onChange(s.target.checked)})("blur",function(){return o.onTouched()})},features:[et([bce]),mt]})}return t})();const _ce={provide:Ni,useExisting:Gt(()=>wr),multi:!0},gI=new oe("");let wr=(()=>{class t extends mI{constructor(e,i,o){super(e,i),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function yce(){const t=da()?da().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Yt),v(Se),v(gI,8))};static#t=this.\u0275dir=de({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,o){1&i&&M("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[et([_ce]),mt]})}return t})();function Ta(t){return null==t||("string"==typeof t||Array.isArray(t))&&0===t.length}function vI(t){return null!=t&&"number"==typeof t.length}const ro=new oe(""),Ma=new oe(""),wce=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class q7{static min(n){return function bI(t){return n=>{if(Ta(n.value)||Ta(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e{if(Ta(n.value)||Ta(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e>t?{max:{max:t,actual:n.value}}:null}}(n)}static required(n){return function yI(t){return Ta(t.value)?{required:!0}:null}(n)}static requiredTrue(n){return function wI(t){return!0===t.value?null:{required:!0}}(n)}static email(n){return function CI(t){return Ta(t.value)||wce.test(t.value)?null:{email:!0}}(n)}static minLength(n){return function zI(t){return n=>Ta(n.value)||!vI(n.value)?null:n.value.length{if(Ta(i.value))return null;const o=i.value;return n.test(o)?null:{pattern:{requiredPattern:e,actualValue:o}}}}(n)}static nullValidator(n){return null}static compose(n){return kI(n)}static composeAsync(n){return II(n)}}function AI(t){return n=>vI(n.value)&&n.value.length>t?{maxlength:{requiredLength:t,actualLength:n.value.length}}:null}function fp(t){return null}function TI(t){return null!=t}function MI(t){return lu(t)?ni(t):t}function DI(t){let n={};return t.forEach(e=>{n=null!=e?{...n,...e}:n}),0===Object.keys(n).length?null:n}function EI(t,n){return n.map(e=>e(t))}function xI(t){return t.map(n=>function Cce(t){return!t.validate}(n)?n:e=>n.validate(e))}function kI(t){if(!t)return null;const n=t.filter(TI);return 0==n.length?null:function(e){return DI(EI(e,n))}}function Q7(t){return null!=t?kI(xI(t)):null}function II(t){if(!t)return null;const n=t.filter(TI);return 0==n.length?null:function(e){return function vce(...t){const n=pg(t),{args:e,keys:i}=PT(t),o=new Wt(r=>{const{length:s}=e;if(!s)return void r.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{p||(p=!0,c--),a[u]=b},()=>l--,void 0,()=>{(!l||!p)&&(c||r.next(i?VT(i,a):a),r.complete())}))}});return n?o.pipe(fg(n)):o}(EI(e,n).map(MI)).pipe(Pe(DI))}}function K7(t){return null!=t?II(xI(t)):null}function OI(t,n){return null===t?[n]:Array.isArray(t)?[...t,n]:[t,n]}function PI(t){return t._rawValidators}function VI(t){return t._rawAsyncValidators}function $7(t){return t?Array.isArray(t)?t:[t]:[]}function mp(t,n){return Array.isArray(t)?t.includes(n):t===n}function NI(t,n){const e=$7(n);return $7(t).forEach(o=>{mp(e,o)||e.push(o)}),e}function FI(t,n){return $7(n).filter(e=>!mp(t,e))}class RI{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Q7(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=K7(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,e){return!!this.control&&this.control.hasError(n,e)}getError(n,e){return this.control?this.control.getError(n,e):null}}class Ao extends RI{get formDirective(){return null}get path(){return null}}class vs extends RI{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class LI{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Zi=(()=>{class t extends LI{constructor(e){super(e)}static#e=this.\u0275fac=function(i){return new(i||t)(v(vs,2))};static#t=this.\u0275dir=de({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,o){2&i&&Z("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[mt]})}return t})(),gp=(()=>{class t extends LI{constructor(e){super(e)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ao,10))};static#t=this.\u0275dir=de({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,o){2&i&&Z("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[mt]})}return t})();const S2="VALID",bp="INVALID",N1="PENDING",T2="DISABLED";class F1{}class HI extends F1{constructor(n,e){super(),this.value=n,this.source=e}}class X7 extends F1{constructor(n,e){super(),this.pristine=n,this.source=e}}class ev extends F1{constructor(n,e){super(),this.touched=n,this.source=e}}class _p extends F1{constructor(n,e){super(),this.status=n,this.source=e}}class Mce extends F1{constructor(n){super(),this.source=n}}class Dce extends F1{constructor(n){super(),this.source=n}}function tv(t){return(yp(t)?t.validators:t)||null}function nv(t,n){return(yp(n)?n.asyncValidators:t)||null}function yp(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}function jI(t,n,e){const i=t.controls;if(!(n?Object.keys(i):i).length)throw new j(1e3,"");if(!i[e])throw new j(1001,"")}function YI(t,n,e){t._forEachChild((i,o)=>{if(void 0===e[o])throw new j(1002,"")})}class M2{constructor(n,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=null,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._events=new V,this.events=this._events.asObservable(),this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===S2}get invalid(){return this.status===bp}get pending(){return this.status==N1}get disabled(){return this.status===T2}get enabled(){return this.status!==T2}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(NI(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(NI(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(FI(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(FI(n,this._rawAsyncValidators))}hasValidator(n){return mp(this._rawValidators,n)}hasAsyncValidator(n){return mp(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){const e=!1===this.touched;this.touched=!0;const i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched({...n,sourceControl:i}),e&&!1!==n.emitEvent&&this._events.next(new ev(!0,i))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(n))}markAsUntouched(n={}){const e=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const i=n.sourceControl??this;this._forEachChild(o=>{o.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:i})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,i),e&&!1!==n.emitEvent&&this._events.next(new ev(!1,i))}markAsDirty(n={}){const e=!0===this.pristine;this.pristine=!1;const i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty({...n,sourceControl:i}),e&&!1!==n.emitEvent&&this._events.next(new X7(!1,i))}markAsPristine(n={}){const e=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const i=n.sourceControl??this;this._forEachChild(o=>{o.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,i),e&&!1!==n.emitEvent&&this._events.next(new X7(!0,i))}markAsPending(n={}){this.status=N1;const e=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new _p(this.status,e)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending({...n,sourceControl:e})}disable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=T2,this.errors=null,this._forEachChild(o=>{o.disable({...n,onlySelf:!0})}),this._updateValue();const i=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new HI(this.value,i)),this._events.next(new _p(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:e},this),this._onDisabledChange.forEach(o=>o(!0))}enable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=S2,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:e},this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n,e){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},e),this._parent._updateTouched({},e))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===S2||this.status===N1)&&this._runAsyncValidator(i,n.emitEvent)}const e=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new HI(this.value,e)),this._events.next(new _p(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity({...n,sourceControl:e})}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?T2:S2}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,e){if(this.asyncValidator){this.status=N1,this._hasOwnPendingAsyncValidator={emitEvent:!1!==e};const i=MI(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(o=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(o,{emitEvent:e,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const n=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(!1!==e.emitEvent,this,e.shouldHaveEmitted)}get(n){let e=n;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,o)=>i&&i._find(o),this)}getError(n,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[n]:null}hasError(n,e){return!!this.getError(n,e)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n,e,i){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||i)&&this._events.next(new _p(this.status,e)),this._parent&&this._parent._updateControlsErrors(n,e,i)}_initObservables(){this.valueChanges=new B,this.statusChanges=new B}_calculateStatus(){return this._allControlsDisabled()?T2:this.errors?bp:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(N1)?N1:this._anyControlsHaveStatus(bp)?bp:S2}_anyControlsHaveStatus(n){return this._anyControls(e=>e.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n,e){const i=!this._anyControlsDirty(),o=this.pristine!==i;this.pristine=i,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,e),o&&this._events.next(new X7(this.pristine,e))}_updateTouched(n={},e){this.touched=this._anyControlsTouched(),this._events.next(new ev(this.touched,e)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,e)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){yp(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function Ece(t){return Array.isArray(t)?Q7(t):t||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function xce(t){return Array.isArray(t)?K7(t):t||null}(this._rawAsyncValidators)}}class D2 extends M2{constructor(n,e,i){super(tv(e),nv(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,e){return this.controls[n]?this.controls[n]:(this.controls[n]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(n,e,i={}){this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],e&&this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,e={}){YI(this,0,n),Object.keys(n).forEach(i=>{jI(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(Object.keys(n).forEach(i=>{const o=this.controls[i];o&&o.patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,o)=>{i.reset(n?n[o]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(n,e,i)=>(n[i]=e.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&n(i,e)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,o)=>((i.enabled||this.disabled)&&(e[o]=i.value),e))}_reduceChildren(n,e){let i=n;return this._forEachChild((o,r)=>{i=e(i,o,r)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}class UI extends D2{}const Il=new oe("CallSetDisabledState",{providedIn:"root",factory:()=>E2}),E2="always";function wp(t,n){return[...n.path,t]}function x2(t,n,e=E2){iv(t,n),n.valueAccessor.writeValue(t.value),(t.disabled||"always"===e)&&n.valueAccessor.setDisabledState?.(t.disabled),function Ice(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&WI(t,n)})}(t,n),function Pce(t,n){const e=(i,o)=>{n.valueAccessor.writeValue(i),o&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}(t,n),function Oce(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&WI(t,n),"submit"!==t.updateOn&&t.markAsTouched()})}(t,n),function kce(t,n){if(n.valueAccessor.setDisabledState){const e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}(t,n)}function Cp(t,n,e=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Ap(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function zp(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function iv(t,n){const e=PI(t);null!==n.validator?t.setValidators(OI(e,n.validator)):"function"==typeof e&&t.setValidators([e]);const i=VI(t);null!==n.asyncValidator?t.setAsyncValidators(OI(i,n.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const o=()=>t.updateValueAndValidity();zp(n._rawValidators,o),zp(n._rawAsyncValidators,o)}function Ap(t,n){let e=!1;if(null!==t){if(null!==n.validator){const o=PI(t);if(Array.isArray(o)&&o.length>0){const r=o.filter(s=>s!==n.validator);r.length!==o.length&&(e=!0,t.setValidators(r))}}if(null!==n.asyncValidator){const o=VI(t);if(Array.isArray(o)&&o.length>0){const r=o.filter(s=>s!==n.asyncValidator);r.length!==o.length&&(e=!0,t.setAsyncValidators(r))}}}const i=()=>{};return zp(n._rawValidators,i),zp(n._rawAsyncValidators,i),e}function WI(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function rv(t,n){if(!t.hasOwnProperty("model"))return!1;const e=t.model;return!!e.isFirstChange()||!Object.is(n,e.currentValue)}function sv(t,n){if(!n)return null;let e,i,o;return Array.isArray(n),n.forEach(r=>{r.constructor===wr?e=r:function Fce(t){return Object.getPrototypeOf(t.constructor)===kl}(r)?i=r:o=r}),o||i||e||null}function QI(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function KI(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}Promise.resolve();const I2=class extends M2{constructor(n=null,e,i){super(tv(e),nv(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),yp(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=KI(n)?n.value:n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(n,e={}){this.setValue(n,e)}reset(n=this.defaultValue,e={}){this._applyFormState(n),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){QI(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){QI(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){KI(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}};let $I=(()=>{class t extends Ao{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return wp(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275dir=de({type:t,features:[mt]})}return t})();const jce={provide:vs,useExisting:Gt(()=>Xi)},ZI=Promise.resolve();let Xi=(()=>{class t extends vs{constructor(e,i,o,r,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new I2,this._registered=!1,this.name="",this.update=new B,this._parent=e,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=sv(0,r)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){const i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),rv(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){x2(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(e){ZI.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){const i=e.isDisabled.currentValue,o=0!==i&&I(i);ZI.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?wp(e,this._parent):[e]}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ao,9),v(ro,10),v(Ma,10),v(Ni,10),v(We,8),v(Il,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[et([jce]),mt,xe]})}return t})(),Sp=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return t})();const Yce={provide:Ni,useExisting:Gt(()=>lv),multi:!0};let lv=(()=>{class t extends kl{writeValue(e){this.setProperty("value",e??"")}registerOnChange(e){this.onChange=i=>{e(""==i?null:parseFloat(i))}}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275dir=de({type:t,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,o){1&i&&M("input",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},features:[et([Yce]),mt]})}return t})();const cv=new oe(""),qce={provide:vs,useExisting:Gt(()=>dv)};let dv=(()=>{class t extends vs{set isDisabled(e){}static#e=this._ngModelWarningSentOnce=!1;constructor(e,i,o,r,s){super(),this._ngModelWarningConfig=r,this.callSetDisabledState=s,this.update=new B,this._ngModelWarningSent=!1,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=sv(0,o)}ngOnChanges(e){if(this._isControlChanged(e)){const i=e.form.previousValue;i&&Cp(i,this,!1),x2(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}rv(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&Cp(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}static#t=this.\u0275fac=function(i){return new(i||t)(v(ro,10),v(Ma,10),v(Ni,10),v(cv,8),v(Il,8))};static#n=this.\u0275dir=de({type:t,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[et([qce]),mt,xe]})}return t})();const Qce={provide:Ao,useExisting:Gt(()=>R1)};let R1=(()=>{class t extends Ao{constructor(e,i,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new B,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Ap(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return x2(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){Cp(e.control||null,e,!1),function Rce(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,function qI(t,n){t._syncPendingControls(),n.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(e),this.form._events.next(new Mce(this.control)),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1,this.form._events.next(new Dce(this.form))}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,o=this.form.get(e.path);i!==o&&(Cp(i||null,e),(t=>t instanceof I2)(o)&&(x2(o,e,this.callSetDisabledState),e.control=o))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);(function GI(t,n){iv(t,n)})(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function Vce(t,n){return Ap(t,n)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){iv(this.form,this),this._oldForm&&Ap(this._oldForm,this)}_checkFormPresent(){}static#e=this.\u0275fac=function(i){return new(i||t)(v(ro,10),v(Ma,10),v(Il,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","formGroup",""]],hostBindings:function(i,o){1&i&&M("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[et([Qce]),mt,xe]})}return t})();const Kce={provide:Ao,useExisting:Gt(()=>Tp)};let Tp=(()=>{class t extends $I{constructor(e,i,o){super(),this.name=null,this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}_checkParentType(){tO(this._parent)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ao,13),v(ro,10),v(Ma,10))};static#t=this.\u0275dir=de({type:t,selectors:[["","formGroupName",""]],inputs:{name:[0,"formGroupName","name"]},features:[et([Kce]),mt]})}return t})();const $ce={provide:Ao,useExisting:Gt(()=>Mp)};let Mp=(()=>{class t extends Ao{constructor(e,i,o){super(),this.name=null,this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return wp(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){tO(this._parent)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ao,13),v(ro,10),v(Ma,10))};static#t=this.\u0275dir=de({type:t,selectors:[["","formArrayName",""]],inputs:{name:[0,"formArrayName","name"]},features:[et([$ce]),mt]})}return t})();function tO(t){return!(t instanceof Tp||t instanceof R1||t instanceof Mp)}const Jce={provide:vs,useExisting:Gt(()=>L1)};let L1=(()=>{class t extends vs{set isDisabled(e){}static#e=this._ngModelWarningSentOnce=!1;constructor(e,i,o,r,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.name=null,this.update=new B,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=sv(0,r)}ngOnChanges(e){this._added||this._setUpControl(),rv(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return wp(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static#t=this.\u0275fac=function(i){return new(i||t)(v(Ao,13),v(ro,10),v(Ma,10),v(Ni,10),v(cv,8))};static#n=this.\u0275dir=de({type:t,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[et([Jce]),mt,xe]})}return t})();let Ol=(()=>{class t{constructor(){this._validator=fp}ngOnChanges(e){if(this.inputName in e){const i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):fp,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return null!=e}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,features:[xe]})}return t})();const d1e={provide:ro,useExisting:Gt(()=>O2),multi:!0};let O2=(()=>{class t extends Ol{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=e=>function oO(t){return"number"==typeof t?t:parseInt(t,10)}(e),this.createValidator=e=>AI(e)}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275dir=de({type:t,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(i,o){2&i&&Ot("maxlength",o._enabled?o.maxlength:null)},inputs:{maxlength:"maxlength"},features:[et([d1e]),mt]})}return t})(),hO=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();class pO extends M2{constructor(n,e,i){super(tv(e),nv(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[this._adjustIndex(n)]}push(n,e={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(n,e,i={}){this.controls.splice(n,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,e={}){let i=this._adjustIndex(n);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(n,e,i={}){let o=this._adjustIndex(n);o<0&&(o=0),this.controls[o]&&this.controls[o]._registerOnCollectionChange(()=>{}),this.controls.splice(o,1),e&&(this.controls.splice(o,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,e={}){YI(this,0,n),n.forEach((i,o)=>{jI(this,!1,o),this.at(o).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(n.forEach((i,o)=>{this.at(o)&&this.at(o).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n=[],e={}){this._forEachChild((i,o)=>{i.reset(n[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(n=>n.getRawValue())}clear(n={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:n.emitEvent}))}_adjustIndex(n){return n<0?n+this.length:n}_syncPendingControls(){let n=this.controls.reduce((e,i)=>!!i._syncPendingControls()||e,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((e,i)=>{n(e,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(e=>e.enabled&&n(e))}_setUpControls(){this._forEachChild(n=>this._registerControl(n))}_allControlsDisabled(){for(const n of this.controls)if(n.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(n){n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)}_find(n){return this.at(n)??null}}function fO(t){return!!t&&(void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn)}let fv=(()=>{class t{constructor(){this.useNonNullable=!1}get nonNullable(){const e=new t;return e.useNonNullable=!0,e}group(e,i=null){const o=this._reduceControls(e);let r={};return fO(i)?r=i:null!==i&&(r.validators=i.validator,r.asyncValidators=i.asyncValidator),new D2(o,r)}record(e,i=null){const o=this._reduceControls(e);return new UI(o,i)}control(e,i,o){let r={};return this.useNonNullable?(fO(i)?r=i:(r.validators=i,r.asyncValidators=o),new I2(e,{...r,nonNullable:!0})):new I2(e,i,o)}array(e,i,o){const r=e.map(s=>this._createControl(s));return new pO(r,i,o)}_reduceControls(e){const i={};return Object.keys(e).forEach(o=>{i[o]=this._createControl(e[o])}),i}_createControl(e){return e instanceof I2||e instanceof M2?e:Array.isArray(e)?this.control(e[0],e.length>1?e[1]:null,e.length>2?e[2]:null):this.control(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Pl=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:Il,useValue:e.callSetDisabledState??E2}]}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[hO]})}return t})(),h1e=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:cv,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:Il,useValue:e.callSetDisabledState??E2}]}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[hO]})}return t})();const p1e=["nz-input-group-slot",""],mO=["*"];function f1e(t,n){1&t&&A(0,"span",0),2&t&&h("nzType",g().icon)}function m1e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.template)}}function g1e(t,n){if(1&t&&A(0,"span",3),2&t){const e=g(2);h("icon",e.nzAddOnBeforeIcon)("template",e.nzAddOnBefore)}}function v1e(t,n){}function b1e(t,n){if(1&t&&(f(0,"span",6),C(1,v1e,0,0,"ng-template",5),m()),2&t){const e=g(2),i=Be(3);Z("ant-input-affix-wrapper-disabled",e.disabled)("ant-input-affix-wrapper-sm",e.isSmall)("ant-input-affix-wrapper-lg",e.isLarge)("ant-input-affix-wrapper-focused",e.focused),h("ngClass",e.affixInGroupStatusCls),d(),h("ngTemplateOutlet",i)}}function _1e(t,n){}function y1e(t,n){1&t&&C(0,_1e,0,0,"ng-template",5),2&t&&(g(2),h("ngTemplateOutlet",Be(5)))}function w1e(t,n){if(1&t&&A(0,"span",3),2&t){const e=g(2);h("icon",e.nzAddOnAfterIcon)("template",e.nzAddOnAfter)}}function C1e(t,n){if(1&t&&(f(0,"span",2),C(1,g1e,1,2,"span",3)(2,b1e,2,10,"span",4)(3,y1e,1,1,null,5)(4,w1e,1,2,"span",3),m()),2&t){const e=g();d(),he(e.nzAddOnBefore||e.nzAddOnBeforeIcon?1:-1),d(),he(e.isAffix||e.hasFeedback?2:3),d(2),he(e.nzAddOnAfter||e.nzAddOnAfterIcon?4:-1)}}function z1e(t,n){}function A1e(t,n){1&t&&C(0,z1e,0,0,"ng-template",5),2&t&&(g(2),h("ngTemplateOutlet",Be(3)))}function S1e(t,n){}function T1e(t,n){1&t&&C(0,S1e,0,0,"ng-template",5),2&t&&(g(2),h("ngTemplateOutlet",Be(5)))}function M1e(t,n){1&t&&C(0,A1e,1,1,null,5)(1,T1e,1,1,null,5),2&t&&he(g().isAffix?0:1)}function D1e(t,n){if(1&t&&A(0,"span",7),2&t){const e=g(2);h("icon",e.nzPrefixIcon)("template",e.nzPrefix)}}function E1e(t,n){}function x1e(t,n){1&t&&A(0,"nz-form-item-feedback-icon",9),2&t&&h("status",g(3).status)}function k1e(t,n){if(1&t&&(f(0,"span",8),C(1,x1e,1,1,"nz-form-item-feedback-icon",9),m()),2&t){const e=g(2);h("icon",e.nzSuffixIcon)("template",e.nzSuffix),d(),he(e.isFeedback?1:-1)}}function I1e(t,n){if(1&t&&C(0,D1e,1,2,"span",7)(1,E1e,0,0,"ng-template",5)(2,k1e,2,3,"span",8),2&t){const e=g(),i=Be(5);he(e.nzPrefix||e.nzPrefixIcon?0:-1),d(),h("ngTemplateOutlet",i),d(),he(e.nzSuffix||e.nzSuffixIcon||e.isFeedback?2:-1)}}function O1e(t,n){if(1&t&&(f(0,"span",10),A(1,"nz-form-item-feedback-icon",9),m()),2&t){const e=g(2);d(),h("status",e.status)}}function P1e(t,n){if(1&t&&(_t(0),C(1,O1e,2,1,"span",10)),2&t){const e=g();d(),he(e.isAddOn||e.isAffix||!e.isFeedback?-1:1)}}let gO=(()=>{class t{constructor(){this.icon=null,this.type=null,this.template=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-input-group-slot",""]],hostVars:6,hostBindings:function(i,o){2&i&&Z("ant-input-group-addon","addon"===o.type)("ant-input-prefix","prefix"===o.type)("ant-input-suffix","suffix"===o.type)},inputs:{icon:"icon",type:"type",template:"template"},standalone:!0,features:[me],attrs:p1e,ngContentSelectors:mO,decls:3,vars:2,consts:[["nz-icon","",3,"nzType"],[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&(Et(),C(0,f1e,1,1,"span",0)(1,m1e,2,1,"ng-container",1),_t(2)),2&i&&(he(o.icon?0:-1),d(),h("nzStringTemplateOutlet",o.template))},dependencies:[In,ln,Sn,An],encapsulation:2,changeDetection:0})}return t})(),Gs=(()=>{class t{get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(e){this._disabled=e}constructor(e,i,o,r,s,a,l){this.ngControl=e,this.renderer=i,this.elementRef=o,this.hostView=r,this.directionality=s,this.nzFormStatusService=a,this.nzFormNoStatusService=l,this.nzBorderless=!1,this.nzSize="default",this.nzStepperless=!0,this.nzStatus="",this._disabled=!1,this.disabled$=new V,this.dir="ltr",this.prefixCls="ant-input",this.status="",this.statusCls={},this.hasFeedback=!1,this.feedbackRef=null,this.components=[],this.destroy$=new V}ngOnInit(){this.nzFormStatusService?.formStatusChanges.pipe(Qi((e,i)=>e.status===i.status&&e.hasFeedback===i.hasFeedback),P(this.destroy$)).subscribe(({status:e,hasFeedback:i})=>{this.setStatusStyles(e,i)}),this.ngControl&&this.ngControl.statusChanges?.pipe(yt(()=>null!==this.ngControl.disabled),P(this.destroy$)).subscribe(()=>{this.disabled$.next(this.ngControl.disabled)}),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngOnChanges(e){const{disabled:i,nzStatus:o}=e;i&&this.disabled$.next(this.disabled),o&&this.setStatusStyles(this.nzStatus,this.hasFeedback)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}setStatusStyles(e,i){this.status=e,this.hasFeedback=i,this.renderFeedbackIcon(),this.statusCls=Ku(this.prefixCls,e,i),Object.keys(this.statusCls).forEach(o=>{this.statusCls[o]?this.renderer.addClass(this.elementRef.nativeElement,o):this.renderer.removeClass(this.elementRef.nativeElement,o)})}renderFeedbackIcon(){if(!this.status||!this.hasFeedback||this.nzFormNoStatusService)return this.hostView.clear(),void(this.feedbackRef=null);this.feedbackRef=this.feedbackRef||this.hostView.createComponent(W7),this.feedbackRef.location.nativeElement.classList.add("ant-input-suffix"),this.feedbackRef.instance.status=this.status,this.feedbackRef.instance.updateIcon()}static#e=this.\u0275fac=function(i){return new(i||t)(v(vs,10),v(Yt),v(Se),v(qn),v(Ct,8),v(xl,8),v(pp,8))};static#t=this.\u0275dir=de({type:t,selectors:[["input","nz-input",""],["textarea","nz-input",""]],hostAttrs:[1,"ant-input"],hostVars:13,hostBindings:function(i,o){2&i&&(Ot("disabled",o.disabled||null),Z("ant-input-disabled",o.disabled)("ant-input-borderless",o.nzBorderless)("ant-input-lg","large"===o.nzSize)("ant-input-sm","small"===o.nzSize)("ant-input-rtl","rtl"===o.dir)("ant-input-stepperless",o.nzStepperless))},inputs:{nzBorderless:[2,"nzBorderless","nzBorderless",I],nzSize:"nzSize",nzStepperless:[2,"nzStepperless","nzStepperless",I],nzStatus:"nzStatus",disabled:[2,"disabled","disabled",I]},exportAs:["nzInput"],standalone:!0,features:[je,xe]})}return t})(),vO=(()=>{class t{constructor(e){this.elementRef=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["nz-input-group","nzSuffix",""],["nz-input-group","nzPrefix",""]],standalone:!0})}return t})(),Dp=(()=>{class t{constructor(e,i,o,r,s,a,l){this.focusMonitor=e,this.elementRef=i,this.renderer=o,this.cdr=r,this.directionality=s,this.nzFormStatusService=a,this.nzFormNoStatusService=l,this.nzAddOnBeforeIcon=null,this.nzAddOnAfterIcon=null,this.nzPrefixIcon=null,this.nzSuffixIcon=null,this.nzStatus="",this.nzSize="default",this.nzSearch=!1,this.nzCompact=!1,this.isLarge=!1,this.isSmall=!1,this.isAffix=!1,this.isAddOn=!1,this.isFeedback=!1,this.focused=!1,this.disabled=!1,this.dir="ltr",this.prefixCls="ant-input",this.affixStatusCls={},this.groupStatusCls={},this.affixInGroupStatusCls={},this.status="",this.hasFeedback=!1,this.destroy$=new V}updateChildrenInputSize(){this.listOfNzInputDirective&&this.listOfNzInputDirective.forEach(e=>e.nzSize=this.nzSize)}ngOnInit(){this.nzFormStatusService?.formStatusChanges.pipe(Qi((e,i)=>e.status===i.status&&e.hasFeedback===i.hasFeedback),P(this.destroy$)).subscribe(({status:e,hasFeedback:i})=>{this.setStatusStyles(e,i)}),this.focusMonitor.monitor(this.elementRef,!0).pipe(P(this.destroy$)).subscribe(e=>{this.focused=!!e,this.cdr.markForCheck()}),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngAfterContentInit(){this.updateChildrenInputSize();const e=this.listOfNzInputDirective.changes.pipe(gn(this.listOfNzInputDirective));e.pipe(mn(i=>On(e,...i.map(o=>o.disabled$))),Yn(()=>e),Pe(i=>i.some(o=>o.disabled)),P(this.destroy$)).subscribe(i=>{this.disabled=i,this.cdr.markForCheck()})}ngOnChanges(e){const{nzSize:i,nzSuffix:o,nzPrefix:r,nzPrefixIcon:s,nzSuffixIcon:a,nzAddOnAfter:l,nzAddOnBefore:c,nzAddOnAfterIcon:u,nzAddOnBeforeIcon:p,nzStatus:b}=e;i&&(this.updateChildrenInputSize(),this.isLarge="large"===this.nzSize,this.isSmall="small"===this.nzSize),(o||r||s||a)&&(this.isAffix=!!(this.nzSuffix||this.nzPrefix||this.nzPrefixIcon||this.nzSuffixIcon)),(l||c||u||p)&&(this.isAddOn=!!(this.nzAddOnAfter||this.nzAddOnBefore||this.nzAddOnAfterIcon||this.nzAddOnBeforeIcon),this.nzFormNoStatusService?.noFormStatus?.next(this.isAddOn)),b&&this.setStatusStyles(this.nzStatus,this.hasFeedback)}ngOnDestroy(){this.focusMonitor.stopMonitoring(this.elementRef),this.destroy$.next(),this.destroy$.complete()}setStatusStyles(e,i){this.status=e,this.hasFeedback=i,this.isFeedback=!!e&&i,this.isAffix=!!(this.nzSuffix||this.nzPrefix||this.nzPrefixIcon||this.nzSuffixIcon)||!this.isAddOn&&i,this.affixInGroupStatusCls=this.isAffix||this.isFeedback?this.affixStatusCls=Ku(`${this.prefixCls}-affix-wrapper`,e,i):{},this.cdr.markForCheck(),this.affixStatusCls=Ku(`${this.prefixCls}-affix-wrapper`,this.isAddOn?"":e,!this.isAddOn&&i),this.groupStatusCls=Ku(`${this.prefixCls}-group-wrapper`,this.isAddOn?e:"",!!this.isAddOn&&i);const r={...this.affixStatusCls,...this.groupStatusCls};Object.keys(r).forEach(s=>{r[s]?this.renderer.addClass(this.elementRef.nativeElement,s):this.renderer.removeClass(this.elementRef.nativeElement,s)})}static#e=this.\u0275fac=function(i){return new(i||t)(v(wa),v(Se),v(Yt),v(We),v(Ct,8),v(xl,8),v(pp,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-input-group"]],contentQueries:function(i,o,r){if(1&i&&fn(r,Gs,4),2&i){let s;ke(s=Ie())&&(o.listOfNzInputDirective=s)}},hostVars:40,hostBindings:function(i,o){2&i&&Z("ant-input-group-compact",o.nzCompact)("ant-input-search-enter-button",o.nzSearch)("ant-input-search",o.nzSearch)("ant-input-search-rtl","rtl"===o.dir)("ant-input-search-sm",o.nzSearch&&o.isSmall)("ant-input-search-large",o.nzSearch&&o.isLarge)("ant-input-group-wrapper",o.isAddOn)("ant-input-group-wrapper-rtl","rtl"===o.dir)("ant-input-group-wrapper-lg",o.isAddOn&&o.isLarge)("ant-input-group-wrapper-sm",o.isAddOn&&o.isSmall)("ant-input-affix-wrapper",o.isAffix&&!o.isAddOn)("ant-input-affix-wrapper-rtl","rtl"===o.dir)("ant-input-affix-wrapper-focused",o.isAffix&&o.focused)("ant-input-affix-wrapper-disabled",o.isAffix&&o.disabled)("ant-input-affix-wrapper-lg",o.isAffix&&!o.isAddOn&&o.isLarge)("ant-input-affix-wrapper-sm",o.isAffix&&!o.isAddOn&&o.isSmall)("ant-input-group",!o.isAffix&&!o.isAddOn)("ant-input-group-rtl","rtl"===o.dir)("ant-input-group-lg",!o.isAffix&&!o.isAddOn&&o.isLarge)("ant-input-group-sm",!o.isAffix&&!o.isAddOn&&o.isSmall)},inputs:{nzAddOnBeforeIcon:"nzAddOnBeforeIcon",nzAddOnAfterIcon:"nzAddOnAfterIcon",nzPrefixIcon:"nzPrefixIcon",nzSuffixIcon:"nzSuffixIcon",nzAddOnBefore:"nzAddOnBefore",nzAddOnAfter:"nzAddOnAfter",nzPrefix:"nzPrefix",nzStatus:"nzStatus",nzSuffix:"nzSuffix",nzSize:"nzSize",nzSearch:[2,"nzSearch","nzSearch",I],nzCompact:[2,"nzCompact","nzCompact",I]},exportAs:["nzInputGroup"],standalone:!0,features:[et([pp]),je,xe,me],ngContentSelectors:mO,decls:6,vars:1,consts:[["affixTemplate",""],["contentTemplate",""],[1,"ant-input-wrapper","ant-input-group"],["nz-input-group-slot","","type","addon",3,"icon","template"],[1,"ant-input-affix-wrapper",3,"ant-input-affix-wrapper-disabled","ant-input-affix-wrapper-sm","ant-input-affix-wrapper-lg","ant-input-affix-wrapper-focused","ngClass"],[3,"ngTemplateOutlet"],[1,"ant-input-affix-wrapper",3,"ngClass"],["nz-input-group-slot","","type","prefix",3,"icon","template"],["nz-input-group-slot","","type","suffix",3,"icon","template"],[3,"status"],["nz-input-group-slot","","type","suffix"]],template:function(i,o){1&i&&(Et(),C(0,C1e,5,3,"span",2)(1,M1e,2,1)(2,I1e,3,3,"ng-template",null,0,ot)(4,P1e,2,1,"ng-template",null,1,ot)),2&i&&he(o.isAddOn?0:1)},dependencies:[gO,Jo,Nn,fI,W7],encapsulation:2,changeDetection:0})}return t})(),bO=(()=>{class t{set nzAutosize(e){var o;"string"==typeof e||!0===e?this.autosize=!0:"string"!=typeof(o=e)&&"boolean"!=typeof o&&(o.maxRows||o.minRows)&&(this.autosize=!0,this.minRows=e.minRows,this.maxRows=e.maxRows,this.maxHeight=this.setMaxHeight(),this.minHeight=this.setMinHeight())}resizeToFitContent(e=!1){if(this.cacheTextareaLineHeight(),!this.cachedLineHeight)return;const i=this.el,o=i.value;if(!e&&this.minRows===this.previousMinRows&&o===this.previousValue)return;const r=i.placeholder;i.classList.add("nz-textarea-autosize-measuring"),i.placeholder="";let s=Math.round((i.scrollHeight-this.inputGap)/this.cachedLineHeight)*this.cachedLineHeight+this.inputGap;null!==this.maxHeight&&s>this.maxHeight&&(s=this.maxHeight),null!==this.minHeight&&srequestAnimationFrame(()=>{const{selectionStart:a,selectionEnd:l}=i;!this.destroy$.isStopped&&document.activeElement===i&&i.setSelectionRange(a,l)})),this.previousValue=o,this.previousMinRows=this.minRows}cacheTextareaLineHeight(){if(this.cachedLineHeight>=0||!this.el.parentNode)return;const e=this.el.cloneNode(!1);e.rows=1,e.style.position="absolute",e.style.visibility="hidden",e.style.border="none",e.style.padding="0",e.style.height="",e.style.minHeight="",e.style.maxHeight="",e.style.overflow="hidden",this.el.parentNode.appendChild(e),this.cachedLineHeight=e.clientHeight-this.inputGap,this.el.parentNode.removeChild(e),this.maxHeight=this.setMaxHeight(),this.minHeight=this.setMinHeight()}setMinHeight(){const e=this.minRows&&this.cachedLineHeight?this.minRows*this.cachedLineHeight+this.inputGap:null;return null!==e&&(this.el.style.minHeight=`${e}px`),e}setMaxHeight(){const e=this.maxRows&&this.cachedLineHeight?this.maxRows*this.cachedLineHeight+this.inputGap:null;return null!==e&&(this.el.style.maxHeight=`${e}px`),e}noopInputHandler(){}constructor(e,i,o,r){this.elementRef=e,this.ngZone=i,this.platform=o,this.resizeService=r,this.autosize=!1,this.el=this.elementRef.nativeElement,this.maxHeight=null,this.minHeight=null,this.destroy$=new V,this.inputGap=10}ngAfterViewInit(){this.autosize&&this.platform.isBrowser&&(this.resizeToFitContent(),this.resizeService.subscribe().pipe(P(this.destroy$)).subscribe(()=>this.resizeToFitContent(!0)))}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}ngDoCheck(){this.autosize&&this.platform.isBrowser&&this.resizeToFitContent()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Me),v(Qn),v(R5))};static#t=this.\u0275dir=de({type:t,selectors:[["textarea","nzAutosize",""]],hostAttrs:["rows","1"],hostBindings:function(i,o){1&i&&M("input",function(){return o.noopInputHandler()})},inputs:{nzAutosize:"nzAutosize"},exportAs:["nzAutosize"],standalone:!0})}return t})(),V1e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Dp,gO]})}return t})();const _O=["*"];function F1e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.nzLabel)}}function R1e(t,n){}function L1e(t,n){1&t&&C(0,R1e,0,0,"ng-template",4),2&t&&h("ngTemplateOutlet",g().template)}function B1e(t,n){1&t&&w(0),2&t&&D(g().label)}function H1e(t,n){1&t&&A(0,"span",7)}function j1e(t,n){if(1&t&&(f(0,"div",5),C(1,H1e,1,0,"span",6),m()),2&t){const e=g();d(),h("ngIf",!e.icon)("ngIfElse",e.icon)}}function Y1e(t,n){if(1&t&&(f(0,"div",4),A(1,"nz-embed-empty",5),m()),2&t){const e=g();d(),h("specificContent",e.notFoundContent)}}function U1e(t,n){1&t&&A(0,"nz-option-item-group",9),2&t&&h("nzLabel",g().$implicit.groupLabel)}function W1e(t,n){if(1&t){const e=W();f(0,"nz-option-item",10),M("itemHover",function(o){return S(e),T(g(2).onItemHover(o))})("itemClick",function(o){return S(e),T(g(2).onItemClick(o))}),m()}if(2&t){const e=g().$implicit,i=g();h("icon",i.menuItemSelectedIcon)("customContent",e.nzCustomContent)("template",e.template)("grouped",!!e.groupLabel)("disabled",e.nzDisabled||i.isMaxLimitReached&&!i.listOfSelectedValue.includes(e.nzValue))("showState","tags"===i.mode||"multiple"===i.mode)("title",e.nzTitle)("label",e.nzLabel)("compareWith",i.compareWith)("activatedValue",i.activatedValue)("listOfSelectedValue",i.listOfSelectedValue)("value",e.nzValue)}}function G1e(t,n){1&t&&(Ye(0,6),C(1,U1e,1,1,"nz-option-item-group",7)(2,W1e,1,12,"nz-option-item",8),Ue()),2&t&&(h("ngSwitch",n.$implicit.type),d(),h("ngSwitchCase","group"),d(),h("ngSwitchCase","item"))}function q1e(t,n){}function Q1e(t,n){1&t&&_t(0)}function K1e(t,n){if(1&t&&(Ye(0),f(1,"span"),w(2),m(),Ue()),2&t){const e=g();d(2),la("",e.listOfValue.length," / ",e.nzMaxMultipleCount,"")}}function $1e(t,n){1&t&&A(0,"span",5)}function J1e(t,n){1&t&&A(0,"span",9)}function Z1e(t,n){1&t&&A(0,"span",10)}function X1e(t,n){if(1&t&&(Ye(0),C(1,J1e,1,0,"span",7)(2,Z1e,1,0,"span",8),Ue()),2&t){const e=g(2);d(),h("ngIf",!e.search),d(),h("ngIf",e.search)}}function ede(t,n){1&t&&A(0,"span",12),2&t&&h("nzType",g().$implicit)}function tde(t,n){if(1&t&&(Ye(0),C(1,ede,1,1,"span",11),Ue()),2&t){const e=n.$implicit;d(),h("ngIf",e)}}function nde(t,n){1&t&&C(0,tde,2,1,"ng-container",4),2&t&&h("nzStringTemplateOutlet",g(2).suffixIcon)}function ide(t,n){if(1&t&&C(0,X1e,3,2,"ng-container",6)(1,nde,1,1,"ng-template",null,1,ot),2&t){const e=Be(2),i=g();h("ngIf",i.showArrow&&!i.suffixIcon)("ngIfElse",e)}}function ode(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.feedbackIcon)}}function rde(t,n){1&t&&A(0,"span",1)}const sde=t=>({$implicit:t});function ade(t,n){if(1&t&&(f(0,"div",4),w(1),m()),2&t){const e=g(2);d(),D(e.label)}}function lde(t,n){1&t&&w(0),2&t&&D(g(2).label)}function cde(t,n){if(1&t&&(Ye(0),C(1,ade,2,1,"div",3)(2,lde,1,1,"ng-template",null,0,ot),Ue()),2&t){const e=Be(3),i=g();d(),h("ngIf",i.deletable)("ngIfElse",e)}}function dde(t,n){1&t&&A(0,"span",7)}function ude(t,n){if(1&t){const e=W();f(0,"span",5),M("click",function(o){return S(e),T(g().onDelete(o))}),C(1,dde,1,0,"span",6),m()}if(2&t){const e=g();d(),h("ngIf",!e.removeIcon)("ngIfElse",e.removeIcon)}}function hde(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),we(" ",e.placeholder," ")}}const pde=["inputElement"],fde=["mirrorElement"];function mde(t,n){1&t&&A(0,"span",4,1)}function gde(t,n){if(1&t&&A(0,"nz-select-item",6),2&t){const e=g(2);h("deletable",!1)("disabled",!1)("removeIcon",e.removeIcon)("label",e.listOfTopItem[0].nzLabel)("contentTemplateOutlet",e.customTemplate)("contentTemplateOutletContext",e.listOfTopItem[0])}}function vde(t,n){if(1&t){const e=W();Ye(0),f(1,"nz-select-search",4),M("isComposingChange",function(o){return S(e),T(g().isComposingChange(o))})("valueChange",function(o){return S(e),T(g().onInputValueChange(o))}),m(),C(2,gde,1,6,"nz-select-item",5),Ue()}if(2&t){const e=g();d(),h("nzId",e.nzId)("disabled",e.disabled)("value",e.inputValue)("showInput",e.showSearch)("mirrorSync",!1)("autofocus",e.autofocus)("focusTrigger",e.open),d(),h("ngIf",e.isShowSingleLabel)}}function bde(t,n){if(1&t){const e=W();f(0,"nz-select-item",9),M("delete",function(){const o=S(e).$implicit;return T(g(2).onDeleteItem(o.contentTemplateOutletContext))}),m()}if(2&t){const e=n.$implicit,i=g(2);h("removeIcon",i.removeIcon)("label",e.nzLabel)("disabled",e.nzDisabled||i.disabled)("contentTemplateOutlet",e.contentTemplateOutlet)("deletable",!0)("contentTemplateOutletContext",e.contentTemplateOutletContext)}}function _de(t,n){if(1&t){const e=W();Ye(0),C(1,bde,1,6,"nz-select-item",7),f(2,"nz-select-search",8),M("isComposingChange",function(o){return S(e),T(g().isComposingChange(o))})("valueChange",function(o){return S(e),T(g().onInputValueChange(o))}),m(),Ue()}if(2&t){const e=g();d(),h("ngForOf",e.listOfSlicedItem)("ngForTrackBy",e.trackValue),d(),h("nzId",e.nzId)("disabled",e.disabled)("value",e.inputValue)("autofocus",e.autofocus)("showInput",!0)("mirrorSync",!0)("focusTrigger",e.open)}}function yde(t,n){1&t&&A(0,"nz-select-placeholder",10),2&t&&h("placeholder",g().placeHolder)}function wde(t,n){1&t&&A(0,"nz-form-item-feedback-icon",8),2&t&&h("status",g(3).status)}function Cde(t,n){if(1&t&&C(0,wde,1,1,"nz-form-item-feedback-icon",7),2&t){const e=g(2);h("ngIf",e.hasFeedback&&!!e.status)}}function zde(t,n){if(1&t&&(f(0,"nz-select-arrow",6),C(1,Cde,1,1,"ng-template",null,1,ot),m()),2&t){const e=Be(2),i=g();h("showArrow",i.nzShowArrow)("loading",i.nzLoading)("search",i.nzOpen&&i.nzShowSearch)("suffixIcon",i.nzSuffixIcon)("feedbackIcon",e)("nzMaxMultipleCount",i.nzMaxMultipleCount)("listOfValue",i.listOfValue)("isMaxTagCountSet",i.isMaxTagCountSet)}}function Ade(t,n){if(1&t){const e=W();f(0,"nz-select-clear",9),M("clear",function(){return S(e),T(g().onClearSelection())}),m()}2&t&&h("clearIcon",g().nzClearIcon)}function Sde(t,n){if(1&t){const e=W();f(0,"nz-option-container",10),M("keydown",function(o){return S(e),T(g().onKeyDown(o))})("itemClick",function(o){return S(e),T(g().onItemClick(o))})("scrollToBottom",function(){return S(e),T(g().nzScrollToBottom.emit())}),m()}if(2&t){const e=g();Z("ant-select-dropdown-placement-bottomLeft","bottomLeft"===e.dropDownPosition)("ant-select-dropdown-placement-topLeft","topLeft"===e.dropDownPosition)("ant-select-dropdown-placement-bottomRight","bottomRight"===e.dropDownPosition)("ant-select-dropdown-placement-topRight","topRight"===e.dropDownPosition),h("ngStyle",e.nzDropdownStyle)("itemSize",e.nzOptionHeightPx)("maxItemLength",e.nzOptionOverflowSize)("matchWidth",e.nzDropdownMatchSelectWidth)("@slideMotion","enter")("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)("listOfContainerItem",e.listOfContainerItem)("menuItemSelectedIcon",e.nzMenuItemSelectedIcon)("notFoundContent",e.nzNotFoundContent)("activatedValue",e.activatedValue)("listOfSelectedValue",e.listOfValue)("dropdownRender",e.nzDropdownRender)("compareWith",e.compareWith)("mode",e.nzMode)("isMaxLimitReached",e.isMaxLimitReached)}}let mv=(()=>{class t{constructor(){this.nzLabel=null,this.changes=new V}ngOnChanges(){this.changes.next()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-option-group"]],inputs:{nzLabel:"nzLabel"},exportAs:["nzOptionGroup"],standalone:!0,features:[xe,me],ngContentSelectors:_O,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})(),yO=(()=>{class t{constructor(){this.nzLabel=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-option-item-group"]],hostAttrs:[1,"ant-select-item","ant-select-item-group"],inputs:{nzLabel:"nzLabel"},standalone:!0,features:[me],decls:1,vars:1,consts:[[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&C(0,F1e,2,1,"ng-container",0),2&i&&h("nzStringTemplateOutlet",o.nzLabel)},dependencies:[Sn,An],encapsulation:2,changeDetection:0})}return t})(),wO=(()=>{class t{constructor(e,i,o){this.elementRef=e,this.ngZone=i,this.destroy$=o,this.selected=!1,this.activated=!1,this.grouped=!1,this.customContent=!1,this.template=null,this.disabled=!1,this.showState=!1,this.label=null,this.value=null,this.activatedValue=null,this.listOfSelectedValue=[],this.icon=null,this.itemClick=new B,this.itemHover=new B}ngOnChanges(e){const{value:i,activatedValue:o,listOfSelectedValue:r}=e;(i||r)&&(this.selected=this.listOfSelectedValue.some(s=>this.compareWith(s,this.value))),(i||o)&&(this.activated=this.compareWith(this.activatedValue,this.value))}ngOnInit(){this.ngZone.runOutsideAngular(()=>{nn(this.elementRef.nativeElement,"click").pipe(P(this.destroy$)).subscribe(()=>{this.disabled||this.ngZone.run(()=>this.itemClick.emit(this.value))}),nn(this.elementRef.nativeElement,"mouseenter").pipe(P(this.destroy$)).subscribe(()=>{this.disabled||this.ngZone.run(()=>this.itemHover.emit(this.value))})})}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Me),v(Vo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-option-item"]],hostAttrs:[1,"ant-select-item","ant-select-item-option"],hostVars:9,hostBindings:function(i,o){2&i&&(Ot("title",o.title),Z("ant-select-item-option-grouped",o.grouped)("ant-select-item-option-selected",o.selected&&!o.disabled)("ant-select-item-option-disabled",o.disabled)("ant-select-item-option-active",o.activated&&!o.disabled))},inputs:{grouped:"grouped",customContent:"customContent",template:"template",disabled:"disabled",showState:"showState",title:"title",label:"label",value:"value",activatedValue:"activatedValue",listOfSelectedValue:"listOfSelectedValue",icon:"icon",compareWith:"compareWith"},outputs:{itemClick:"itemClick",itemHover:"itemHover"},standalone:!0,features:[et([Vo]),xe,me],decls:5,vars:3,consts:[["noCustomContent",""],[1,"ant-select-item-option-content"],[3,"ngIf","ngIfElse"],["class","ant-select-item-option-state","style","user-select: none","unselectable","on",4,"ngIf"],[3,"ngTemplateOutlet"],["unselectable","on",1,"ant-select-item-option-state",2,"user-select","none"],["nz-icon","","nzType","check","class","ant-select-selected-icon",4,"ngIf","ngIfElse"],["nz-icon","","nzType","check",1,"ant-select-selected-icon"]],template:function(i,o){if(1&i&&(f(0,"div",1),C(1,L1e,1,1,"ng-template",2)(2,B1e,1,1,"ng-template",null,0,ot),m(),C(4,j1e,2,2,"div",3)),2&i){const r=Be(3);d(),h("ngIf",o.customContent)("ngIfElse",r),d(3),h("ngIf",o.showState&&o.selected)}},dependencies:[St,Nn,In,ln],encapsulation:2,changeDetection:0})}return t})(),CO=(()=>{class t{constructor(){this.notFoundContent=void 0,this.menuItemSelectedIcon=null,this.dropdownRender=null,this.activatedValue=null,this.listOfSelectedValue=[],this.mode="default",this.matchWidth=!0,this.itemSize=32,this.maxItemLength=8,this.isMaxLimitReached=!1,this.listOfContainerItem=[],this.itemClick=new B,this.scrollToBottom=new B,this.scrolledIndex=0,this.ngZone=G(Me),this.platformId=G(Pr)}onItemClick(e){this.itemClick.emit(e)}onItemHover(e){this.activatedValue=e}trackValue(e,i){return i.key}onScrolledIndexChange(e){this.scrolledIndex=e,e===this.listOfContainerItem.length-this.maxItemLength-1&&this.scrollToBottom.emit()}scrollToActivatedValue(){const e=this.listOfContainerItem.findIndex(i=>this.compareWith(i.key,this.activatedValue));(e=this.scrolledIndex+this.maxItemLength)&&this.cdkVirtualScrollViewport.scrollToIndex(e||0)}ngOnChanges(e){const{listOfContainerItem:i,activatedValue:o}=e;(i||o)&&this.scrollToActivatedValue()}ngAfterViewInit(){p4(this.platformId)&&this.ngZone.runOutsideAngular(()=>setTimeout(()=>this.scrollToActivatedValue()))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-option-container"]],viewQuery:function(i,o){if(1&i&&ft(E1,7),2&i){let r;ke(r=Ie())&&(o.cdkVirtualScrollViewport=r.first)}},hostAttrs:[1,"ant-select-dropdown"],inputs:{notFoundContent:"notFoundContent",menuItemSelectedIcon:"menuItemSelectedIcon",dropdownRender:"dropdownRender",activatedValue:"activatedValue",listOfSelectedValue:"listOfSelectedValue",compareWith:"compareWith",mode:"mode",matchWidth:"matchWidth",itemSize:"itemSize",maxItemLength:"maxItemLength",isMaxLimitReached:"isMaxLimitReached",listOfContainerItem:"listOfContainerItem"},outputs:{itemClick:"itemClick",scrollToBottom:"scrollToBottom"},exportAs:["nzOptionContainer"],standalone:!0,features:[xe,me],decls:5,vars:14,consts:[["class","ant-select-item-empty",4,"ngIf"],[3,"scrolledIndexChange","itemSize","maxBufferPx","minBufferPx"],["cdkVirtualFor","",3,"cdkVirtualForOf","cdkVirtualForTrackBy","cdkVirtualForTemplateCacheSize"],[3,"ngTemplateOutlet"],[1,"ant-select-item-empty"],["nzComponentName","select",3,"specificContent"],[3,"ngSwitch"],[3,"nzLabel",4,"ngSwitchCase"],[3,"icon","customContent","template","grouped","disabled","showState","title","label","compareWith","activatedValue","listOfSelectedValue","value","itemHover","itemClick",4,"ngSwitchCase"],[3,"nzLabel"],[3,"itemHover","itemClick","icon","customContent","template","grouped","disabled","showState","title","label","compareWith","activatedValue","listOfSelectedValue","value"]],template:function(i,o){1&i&&(f(0,"div"),C(1,Y1e,2,1,"div",0),f(2,"cdk-virtual-scroll-viewport",1),M("scrolledIndexChange",function(s){return o.onScrolledIndexChange(s)}),C(3,G1e,3,3,"ng-template",2),m(),C(4,q1e,0,0,"ng-template",3),m()),2&i&&(d(),h("ngIf",0===o.listOfContainerItem.length),d(),Lt("height",o.listOfContainerItem.length*o.itemSize,"px")("max-height",o.itemSize*o.maxItemLength,"px"),Z("full-width",!o.matchWidth),h("itemSize",o.itemSize)("maxBufferPx",o.itemSize*o.maxItemLength)("minBufferPx",o.itemSize*o.maxItemLength),d(),h("cdkVirtualForOf",o.listOfContainerItem)("cdkVirtualForTrackBy",o.trackValue)("cdkVirtualForTemplateCacheSize",0),d(),h("ngTemplateOutlet",o.dropdownRender))},dependencies:[U7,Y7,St,cl,yO,fu,wO,Nn,d2,Yx,qx,E1,u2],encapsulation:2,changeDetection:0})}return t})(),Vl=(()=>{class t{constructor(e,i){this.nzOptionGroupComponent=e,this.destroy$=i,this.changes=new V,this.groupLabel=null,this.nzLabel=null,this.nzValue=null,this.nzDisabled=!1,this.nzHide=!1,this.nzCustomContent=!1}ngOnInit(){this.nzOptionGroupComponent&&this.nzOptionGroupComponent.changes.pipe(gn(!0),P(this.destroy$)).subscribe(()=>{this.groupLabel=this.nzOptionGroupComponent.nzLabel})}ngOnChanges(){this.changes.next()}static#e=this.\u0275fac=function(i){return new(i||t)(v(mv,8),v(Vo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-option"]],viewQuery:function(i,o){if(1&i&&ft(qt,7),2&i){let r;ke(r=Ie())&&(o.template=r.first)}},inputs:{nzTitle:"nzTitle",nzLabel:"nzLabel",nzValue:"nzValue",nzKey:"nzKey",nzDisabled:[2,"nzDisabled","nzDisabled",I],nzHide:[2,"nzHide","nzHide",I],nzCustomContent:[2,"nzCustomContent","nzCustomContent",I]},exportAs:["nzOption"],standalone:!0,features:[et([Vo]),je,xe,me],ngContentSelectors:_O,decls:1,vars:0,template:function(i,o){1&i&&(Et(),C(0,Q1e,1,0,"ng-template"))},encapsulation:2,changeDetection:0})}return t})(),zO=(()=>{class t{constructor(){this.listOfValue=[],this.loading=!1,this.search=!1,this.showArrow=!1,this.isMaxTagCountSet=!1,this.suffixIcon=null,this.feedbackIcon=null,this.nzMaxMultipleCount=1/0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-arrow"]],hostAttrs:[1,"ant-select-arrow"],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-select-arrow-loading",o.loading)},inputs:{listOfValue:"listOfValue",loading:"loading",search:"search",showArrow:"showArrow",isMaxTagCountSet:"isMaxTagCountSet",suffixIcon:"suffixIcon",feedbackIcon:"feedbackIcon",nzMaxMultipleCount:[2,"nzMaxMultipleCount","nzMaxMultipleCount",Oi]},standalone:!0,features:[je,me],decls:5,vars:4,consts:[["defaultArrow",""],["suffixTemplate",""],[4,"ngIf"],["nz-icon","","nzType","loading",4,"ngIf","ngIfElse"],[4,"nzStringTemplateOutlet"],["nz-icon","","nzType","loading"],[4,"ngIf","ngIfElse"],["nz-icon","","nzType","down",4,"ngIf"],["nz-icon","","nzType","search",4,"ngIf"],["nz-icon","","nzType","down"],["nz-icon","","nzType","search"],["nz-icon","",3,"nzType",4,"ngIf"],["nz-icon","",3,"nzType"]],template:function(i,o){if(1&i&&C(0,K1e,3,2,"ng-container",2)(1,$1e,1,0,"span",3)(2,ide,3,2,"ng-template",null,0,ot)(4,ode,2,1,"ng-container",4),2&i){const r=Be(3);h("ngIf",o.isMaxTagCountSet),d(),h("ngIf",o.loading)("ngIfElse",r),d(3),h("nzStringTemplateOutlet",o.feedbackIcon)}},dependencies:[In,ln,St,Sn,An],encapsulation:2,changeDetection:0})}return t})(),AO=(()=>{class t{constructor(){this.clearIcon=null,this.clear=new B}onClick(e){e.preventDefault(),e.stopPropagation(),this.clear.emit(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-clear"]],hostAttrs:[1,"ant-select-clear"],hostBindings:function(i,o){1&i&&M("click",function(s){return o.onClick(s)})},inputs:{clearIcon:"clearIcon"},outputs:{clear:"clear"},standalone:!0,features:[me],decls:1,vars:2,consts:[["nz-icon","","nzType","close-circle","nzTheme","fill","class","ant-select-close-icon",4,"ngIf","ngIfElse"],["nz-icon","","nzType","close-circle","nzTheme","fill",1,"ant-select-close-icon"]],template:function(i,o){1&i&&C(0,rde,1,0,"span",0),2&i&&h("ngIf",!o.clearIcon)("ngIfElse",o.clearIcon)},dependencies:[In,ln,St],encapsulation:2,changeDetection:0})}return t})(),SO=(()=>{class t{constructor(){this.disabled=!1,this.label=null,this.deletable=!1,this.removeIcon=null,this.contentTemplateOutletContext=null,this.contentTemplateOutlet=null,this.delete=new B}onDelete(e){e.preventDefault(),e.stopPropagation(),this.disabled||this.delete.next(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-item"]],hostAttrs:[1,"ant-select-selection-item"],hostVars:3,hostBindings:function(i,o){2&i&&(Ot("title",o.label),Z("ant-select-selection-item-disabled",o.disabled))},inputs:{disabled:"disabled",label:"label",deletable:"deletable",removeIcon:"removeIcon",contentTemplateOutletContext:"contentTemplateOutletContext",contentTemplateOutlet:"contentTemplateOutlet"},outputs:{delete:"delete"},standalone:!0,features:[me],decls:2,vars:5,consts:[["labelTemplate",""],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],["class","ant-select-selection-item-remove",3,"click",4,"ngIf"],["class","ant-select-selection-item-content",4,"ngIf","ngIfElse"],[1,"ant-select-selection-item-content"],[1,"ant-select-selection-item-remove",3,"click"],["nz-icon","","nzType","close",4,"ngIf","ngIfElse"],["nz-icon","","nzType","close"]],template:function(i,o){1&i&&C(0,cde,4,2,"ng-container",1)(1,ude,2,2,"span",2),2&i&&(h("nzStringTemplateOutlet",o.contentTemplateOutlet)("nzStringTemplateOutletContext",mr(3,sde,o.contentTemplateOutletContext)),d(),h("ngIf",o.deletable&&!o.disabled))},dependencies:[Sn,An,St,In,ln],encapsulation:2,changeDetection:0})}return t})(),TO=(()=>{class t{constructor(){this.placeholder=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-placeholder"]],hostAttrs:[1,"ant-select-selection-placeholder"],inputs:{placeholder:"placeholder"},standalone:!0,features:[me],decls:1,vars:1,consts:[[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&C(0,hde,2,1,"ng-container",0),2&i&&h("nzStringTemplateOutlet",o.placeholder)},dependencies:[Sn,An],encapsulation:2,changeDetection:0})}return t})(),gv=(()=>{class t{setCompositionState(e){this.isComposingChange.next(e)}onValueChange(e){this.value=e,this.valueChange.next(e),this.mirrorSync&&this.syncMirrorWidth()}clearInputValue(){this.inputElement.nativeElement.value="",this.onValueChange("")}syncMirrorWidth(){const e=this.mirrorElement.nativeElement,i=this.elementRef.nativeElement,o=this.inputElement.nativeElement;this.renderer.removeStyle(i,"width"),this.renderer.setProperty(e,"textContent",`${o.value}\xa0`),this.renderer.setStyle(i,"width",`${e.scrollWidth}px`)}focus(){this.focusMonitor.focusVia(this.inputElement,"keyboard")}blur(){this.inputElement.nativeElement.blur()}constructor(e,i,o){this.elementRef=e,this.renderer=i,this.focusMonitor=o,this.nzId=null,this.disabled=!1,this.mirrorSync=!1,this.showInput=!0,this.focusTrigger=!1,this.value="",this.autofocus=!1,this.valueChange=new B,this.isComposingChange=new B}ngOnChanges(e){const i=this.inputElement.nativeElement,{focusTrigger:o,showInput:r}=e;r&&(this.showInput?this.renderer.removeAttribute(i,"readonly"):this.renderer.setAttribute(i,"readonly","readonly")),o&&!0===o.currentValue&&!1===o.previousValue&&i.focus()}ngAfterViewInit(){this.mirrorSync&&this.syncMirrorWidth(),this.autofocus&&this.focus()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt),v(wa))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-search"]],viewQuery:function(i,o){if(1&i&&(ft(pde,7),ft(fde,5)),2&i){let r;ke(r=Ie())&&(o.inputElement=r.first),ke(r=Ie())&&(o.mirrorElement=r.first)}},hostAttrs:[1,"ant-select-selection-search"],inputs:{nzId:"nzId",disabled:"disabled",mirrorSync:"mirrorSync",showInput:"showInput",focusTrigger:"focusTrigger",value:"value",autofocus:"autofocus"},outputs:{valueChange:"valueChange",isComposingChange:"isComposingChange"},standalone:!0,features:[et([{provide:gI,useValue:!1}]),xe,me],decls:3,vars:7,consts:[["inputElement",""],["mirrorElement",""],["autocomplete","off",1,"ant-select-selection-search-input",3,"ngModelChange","compositionstart","compositionend","ngModel","disabled"],["class","ant-select-selection-search-mirror",4,"ngIf"],[1,"ant-select-selection-search-mirror"]],template:function(i,o){if(1&i){const r=W();f(0,"input",2,0),M("ngModelChange",function(a){return S(r),T(o.onValueChange(a))})("compositionstart",function(){return S(r),T(o.setCompositionState(!0))})("compositionend",function(){return S(r),T(o.setCompositionState(!1))}),m(),C(2,mde,2,0,"span",3)}2&i&&(Lt("opacity",o.showInput?null:0),h("ngModel",o.value)("disabled",o.disabled),Ot("id",o.nzId)("autofocus",o.autofocus?"autofocus":null),d(2),h("ngIf",o.mirrorSync))},dependencies:[Pl,wr,Zi,Xi,St],encapsulation:2,changeDetection:0})}return t})(),Ep=(()=>{class t{updateTemplateVariable(){const e=0===this.listOfTopItem.length;this.isShowPlaceholder=e&&!this.isComposing&&!this.inputValue,this.isShowSingleLabel=!e&&!this.isComposing&&!this.inputValue}isComposingChange(e){this.isComposing=e,this.updateTemplateVariable()}onInputValueChange(e){e!==this.inputValue&&(this.inputValue=e,this.updateTemplateVariable(),this.inputValueChange.emit(e),this.tokenSeparate(e,this.tokenSeparators))}tokenSeparate(e,i){if(e&&e.length&&i.length&&"default"!==this.mode&&((s,a)=>{for(let l=0;l0)return!0;return!1})(e,i)){const s=((s,a)=>{const l=new RegExp(`[${a.join()}]`),c=s.split(l).filter(u=>u);return[...new Set(c)]})(e,i);this.tokenize.next(s)}}clearInputValue(){this.nzSelectSearchComponent&&this.nzSelectSearchComponent.clearInputValue()}focus(){this.nzSelectSearchComponent&&this.nzSelectSearchComponent.focus()}blur(){this.nzSelectSearchComponent&&this.nzSelectSearchComponent.blur()}trackValue(e,i){return i.nzValue}onDeleteItem(e){!this.disabled&&!e.nzDisabled&&this.deleteItem.next(e)}constructor(e,i,o){this.elementRef=e,this.ngZone=i,this.noAnimation=o,this.nzId=null,this.showSearch=!1,this.placeHolder=null,this.open=!1,this.maxTagCount=1/0,this.autofocus=!1,this.disabled=!1,this.mode="default",this.customTemplate=null,this.maxTagPlaceholder=null,this.removeIcon=null,this.listOfTopItem=[],this.tokenSeparators=[],this.tokenize=new B,this.inputValueChange=new B,this.deleteItem=new B,this.listOfSlicedItem=[],this.isShowPlaceholder=!0,this.isShowSingleLabel=!1,this.isComposing=!1,this.inputValue=null,this.destroy$=new V}ngOnChanges(e){const{listOfTopItem:i,maxTagCount:o,customTemplate:r,maxTagPlaceholder:s}=e;if(i&&this.updateTemplateVariable(),i||o||r||s){const a=this.listOfTopItem.slice(0,this.maxTagCount).map(l=>({nzLabel:l.nzLabel,nzValue:l.nzValue,nzDisabled:l.nzDisabled,contentTemplateOutlet:this.customTemplate,contentTemplateOutletContext:l}));if(this.listOfTopItem.length>this.maxTagCount){const l=`+ ${this.listOfTopItem.length-this.maxTagCount} ...`,c=this.listOfTopItem.map(p=>p.nzValue),u={nzLabel:l,nzValue:"$$__nz_exceeded_item",nzDisabled:!0,contentTemplateOutlet:this.maxTagPlaceholder,contentTemplateOutletContext:c.slice(this.maxTagCount)};a.push(u)}this.listOfSlicedItem=a}}ngOnInit(){this.ngZone.runOutsideAngular(()=>{nn(this.elementRef.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>{e.target!==this.nzSelectSearchComponent.inputElement.nativeElement&&this.nzSelectSearchComponent.focus()}),nn(this.elementRef.nativeElement,"keydown").pipe(P(this.destroy$)).subscribe(e=>{e.target instanceof HTMLInputElement&&8===e.keyCode&&"default"!==this.mode&&!e.target.value&&this.listOfTopItem.length>0&&(e.preventDefault(),this.ngZone.run(()=>this.onDeleteItem(this.listOfTopItem[this.listOfTopItem.length-1])))})})}ngOnDestroy(){this.destroy$.next()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Me),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-top-control"]],viewQuery:function(i,o){if(1&i&&ft(gv,5),2&i){let r;ke(r=Ie())&&(o.nzSelectSearchComponent=r.first)}},hostAttrs:[1,"ant-select-selector"],inputs:{nzId:"nzId",showSearch:"showSearch",placeHolder:"placeHolder",open:"open",maxTagCount:[2,"maxTagCount","maxTagCount",Oi],autofocus:"autofocus",disabled:"disabled",mode:"mode",customTemplate:"customTemplate",maxTagPlaceholder:"maxTagPlaceholder",removeIcon:"removeIcon",listOfTopItem:"listOfTopItem",tokenSeparators:"tokenSeparators"},outputs:{tokenize:"tokenize",inputValueChange:"inputValueChange",deleteItem:"deleteItem"},exportAs:["nzSelectTopControl"],standalone:!0,features:[je,xe,me],decls:4,vars:3,consts:[[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"placeholder",4,"ngIf"],[3,"isComposingChange","valueChange","nzId","disabled","value","showInput","mirrorSync","autofocus","focusTrigger"],[3,"deletable","disabled","removeIcon","label","contentTemplateOutlet","contentTemplateOutletContext",4,"ngIf"],[3,"deletable","disabled","removeIcon","label","contentTemplateOutlet","contentTemplateOutletContext"],[3,"removeIcon","label","disabled","contentTemplateOutlet","deletable","contentTemplateOutletContext","delete",4,"ngFor","ngForOf","ngForTrackBy"],[3,"isComposingChange","valueChange","nzId","disabled","value","autofocus","showInput","mirrorSync","focusTrigger"],[3,"delete","removeIcon","label","disabled","contentTemplateOutlet","deletable","contentTemplateOutletContext"],[3,"placeholder"]],template:function(i,o){1&i&&(Ye(0,0),C(1,vde,3,8,"ng-container",1)(2,_de,3,9,"ng-container",2),Ue(),C(3,yde,1,1,"nz-select-placeholder",3)),2&i&&(h("ngSwitch",o.mode),d(),h("ngSwitchCase","default"),d(2),h("ngIf",o.isShowPlaceholder))},dependencies:[cl,gv,fu,SO,St,qm,zn,TO],encapsulation:2,changeDetection:0})}return t})();const Tde=(t,n)=>!(!n||!n.nzLabel)&&n.nzLabel.toString().toLowerCase().indexOf(t.toLowerCase())>-1;let Nl=(()=>{class t{set nzShowArrow(e){this._nzShowArrow=e}get nzShowArrow(){return void 0===this._nzShowArrow?"default"===this.nzMode:this._nzShowArrow}get isMaxTagCountSet(){return this.nzMaxMultipleCount!==1/0}generateTagItem(e){return{nzValue:e,nzLabel:e,type:"item"}}onItemClick(e){if(this.activatedValue=e,"default"===this.nzMode)(0===this.listOfValue.length||!this.compareWith(this.listOfValue[0],e))&&this.updateListOfValue([e]),this.setOpenState(!1);else{const i=this.listOfValue.findIndex(o=>this.compareWith(o,e));if(-1!==i){const o=this.listOfValue.filter((r,s)=>s!==i);this.updateListOfValue(o)}else if(this.listOfValue.length!this.compareWith(o,e.nzValue));this.updateListOfValue(i),this.clearInput()}updateListOfContainerItem(){let e=this.listOfTagAndTemplateItem.filter(r=>!r.nzHide).filter(r=>!(!this.nzServerSearch&&this.searchValue)||this.nzFilterOption(this.searchValue,r));if("tags"===this.nzMode&&this.searchValue){const r=this.listOfTagAndTemplateItem.find(s=>s.nzLabel===this.searchValue);if(r)this.activatedValue=r.nzValue;else{const s=this.generateTagItem(this.searchValue);e=[s,...e],this.activatedValue=s.nzValue}}const i=e.find(r=>r.nzLabel===this.searchValue)||e.find(r=>this.compareWith(r.nzValue,this.activatedValue))||e.find(r=>this.compareWith(r.nzValue,this.listOfValue[0]))||e[0];this.activatedValue=i&&i.nzValue||null;let o=[];this.isReactiveDriven?o=[...new Set(this.nzOptions.filter(r=>r.groupLabel).map(r=>r.groupLabel))]:this.listOfNzOptionGroupComponent&&(o=this.listOfNzOptionGroupComponent.map(r=>r.nzLabel)),o.forEach(r=>{const s=e.findIndex(a=>r===a.groupLabel);s>-1&&e.splice(s,0,{groupLabel:r,type:"group",key:r})}),this.listOfContainerItem=[...e],this.updateCdkConnectedOverlayPositions()}clearInput(){this.nzSelectTopControlComponent.clearInputValue()}updateListOfValue(e){const o=((r,s)=>"default"===this.nzMode?r.length>0?r[0]:null:r)(e);this.value!==o&&(this.listOfValue=e,this.listOfValue$.next(e),this.value=o,this.onChange(this.value)),this.isMaxLimitReached=this.nzMaxMultipleCount!==1/0&&this.listOfValue.length===this.nzMaxMultipleCount}onTokenSeparate(e){const i=this.listOfTagAndTemplateItem.filter(o=>-1!==e.findIndex(r=>r===o.nzLabel)).map(o=>o.nzValue).filter(o=>-1===this.listOfValue.findIndex(r=>this.compareWith(r,o)));if("multiple"===this.nzMode)this.updateListOfValue([...this.listOfValue,...i]);else if("tags"===this.nzMode){const o=e.filter(r=>-1===this.listOfTagAndTemplateItem.findIndex(s=>s.nzLabel===r));this.updateListOfValue([...this.listOfValue,...i,...o])}this.clearInput()}onKeyDown(e){if(this.nzDisabled)return;const i=this.listOfContainerItem.filter(r=>"item"===r.type).filter(r=>!r.nzDisabled),o=i.findIndex(r=>this.compareWith(r.nzValue,this.activatedValue));switch(e.keyCode){case 38:e.preventDefault(),this.nzOpen&&i.length>0&&(this.activatedValue=i[o>0?o-1:i.length-1].nzValue);break;case 40:e.preventDefault(),this.nzOpen&&i.length>0?this.activatedValue=i[o{this.triggerWidth=this.originElement.nativeElement.getBoundingClientRect().width,e!==this.triggerWidth&&this.cdr.detectChanges()})}}updateCdkConnectedOverlayPositions(){p2(()=>{this.cdkConnectedOverlay?.overlayRef?.updatePosition()})}constructor(e,i,o,r,s,a,l,c,u,p,b,_){this.ngZone=e,this.destroy$=i,this.nzConfigService=o,this.cdr=r,this.host=s,this.renderer=a,this.platform=l,this.focusMonitor=c,this.directionality=u,this.noAnimation=p,this.nzFormStatusService=b,this.nzFormNoStatusService=_,this._nzModuleName="select",this.nzId=null,this.nzSize="default",this.nzStatus="",this.nzOptionHeightPx=32,this.nzOptionOverflowSize=8,this.nzDropdownClassName=null,this.nzDropdownMatchSelectWidth=!0,this.nzDropdownStyle=null,this.nzNotFoundContent=void 0,this.nzPlaceHolder=null,this.nzPlacement=null,this.nzMaxTagCount=1/0,this.nzDropdownRender=null,this.nzCustomTemplate=null,this.nzSuffixIcon=null,this.nzClearIcon=null,this.nzRemoveIcon=null,this.nzMenuItemSelectedIcon=null,this.nzTokenSeparators=[],this.nzMaxTagPlaceholder=null,this.nzMaxMultipleCount=1/0,this.nzMode="default",this.nzFilterOption=Tde,this.compareWith=(y,z)=>y===z,this.nzAllowClear=!1,this.nzBorderless=!1,this.nzShowSearch=!1,this.nzLoading=!1,this.nzAutoFocus=!1,this.nzAutoClearSearchValue=!0,this.nzServerSearch=!1,this.nzDisabled=!1,this.nzOpen=!1,this.nzSelectOnTab=!1,this.nzBackdrop=!1,this.nzOptions=[],this.nzOnSearch=new B,this.nzScrollToBottom=new B,this.nzOpenChange=new B,this.nzBlur=new B,this.nzFocus=new B,this.listOfValue$=new rt([]),this.listOfTemplateItem$=new rt([]),this.listOfTagAndTemplateItem=[],this.searchValue="",this.isReactiveDriven=!1,this.requestId=-1,this.isNzDisableFirstChange=!0,this.onChange=()=>{},this.onTouched=()=>{},this.dropDownPosition="bottomLeft",this.triggerWidth=null,this.listOfContainerItem=[],this.listOfTopItem=[],this.activatedValue=null,this.listOfValue=[],this.focused=!1,this.dir="ltr",this.positions=[],this.isMaxLimitReached=!1,this.prefixCls="ant-select",this.statusCls={},this.status="",this.hasFeedback=!1}writeValue(e){if(this.value!==e){this.value=e;const o=((r,s)=>null==r?[]:"default"===this.nzMode?[r]:r)(e);this.listOfValue=o,this.listOfValue$.next(o),this.cdr.markForCheck()}}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.nzDisabled&&this.setOpenState(!1),this.cdr.markForCheck()}ngOnChanges(e){const{nzOpen:i,nzDisabled:o,nzOptions:r,nzStatus:s,nzPlacement:a}=e;if(i&&this.onOpenChange(),o&&this.nzDisabled&&this.setOpenState(!1),r){this.isReactiveDriven=!0;const c=(this.nzOptions||[]).map(u=>({template:u.label instanceof qt?u.label:null,nzTitle:this.getTitle(u.title,u.label),nzLabel:"string"==typeof u.label||"number"==typeof u.label?u.label:null,nzValue:u.value,nzDisabled:u.disabled||!1,nzHide:u.hide||!1,nzCustomContent:u.label instanceof qt,groupLabel:u.groupLabel||null,type:"item",key:void 0===u.key?u.value:u.key}));this.listOfTemplateItem$.next(c)}if(s&&this.setStatusStyles(this.nzStatus,this.hasFeedback),a){const{currentValue:l}=a;this.dropDownPosition=l;const c=["bottomLeft","topLeft","bottomRight","topRight"];this.positions=l&&c.includes(l)?[Kt[l]]:c.map(u=>Kt[u])}}ngOnInit(){this.nzFormStatusService?.formStatusChanges.pipe(Qi((e,i)=>e.status===i.status&&e.hasFeedback===i.hasFeedback),function N1e(...t){const n=pg(t);return dn((e,i)=>{const o=t.length,r=new Array(o);let s=t.map(()=>!1),a=!1;for(let l=0;l{r[l]=c,!a&&!s[l]&&(s[l]=!0,(a=s.every(Hn))&&(s=null))},Qs));e.subscribe(Jt(i,l=>{if(a){const c=[l,...r];i.next(n?n(...c):c)}}))})}(this.nzFormNoStatusService?this.nzFormNoStatusService.noFormStatus:Ge(!1)),Pe(([{status:e,hasFeedback:i},o])=>({status:o?"":e,hasFeedback:i})),P(this.destroy$)).subscribe(({status:e,hasFeedback:i})=>{this.setStatusStyles(e,i)}),this.focusMonitor.monitor(this.host,!0).pipe(P(this.destroy$)).subscribe(e=>{e?(this.focused=!0,this.cdr.markForCheck(),this.nzFocus.emit()):(this.focused=!1,this.cdr.markForCheck(),this.nzBlur.emit(),Promise.resolve().then(()=>{this.onTouched()}))}),Di([this.listOfValue$,this.listOfTemplateItem$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{const o=e.filter(()=>"tags"===this.nzMode).filter(r=>-1===i.findIndex(s=>this.compareWith(s.nzValue,r))).map(r=>this.listOfTopItem.find(s=>this.compareWith(s.nzValue,r))||this.generateTagItem(r));this.listOfTagAndTemplateItem=[...i,...o],this.listOfTopItem=this.listOfValue.map(r=>[...this.listOfTagAndTemplateItem,...this.listOfTopItem].find(s=>this.compareWith(r,s.nzValue))).filter(r=>!!r),this.updateListOfContainerItem()}),this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.nzConfigService.getConfigChangeEventForComponent("select").pipe(P(this.destroy$)).subscribe(()=>{this.cdr.markForCheck()}),this.dir=this.directionality.value,this.ngZone.runOutsideAngular(()=>nn(this.host.nativeElement,"click").pipe(P(this.destroy$)).subscribe(()=>{this.nzOpen&&this.nzShowSearch||this.nzDisabled||this.ngZone.run(()=>this.setOpenState(!this.nzOpen))})),this.cdkConnectedOverlay.overlayKeydown.pipe(P(this.destroy$)).subscribe(e=>{27===e.keyCode&&this.setOpenState(!1)})}ngAfterContentInit(){this.isReactiveDriven||On(this.listOfNzOptionGroupComponent.changes,this.listOfNzOptionComponent.changes).pipe(gn(!0),mn(()=>On(this.listOfNzOptionComponent.changes,this.listOfNzOptionGroupComponent.changes,...this.listOfNzOptionComponent.map(e=>e.changes),...this.listOfNzOptionGroupComponent.map(e=>e.changes)).pipe(gn(!0))),P(this.destroy$)).subscribe(()=>{const e=this.listOfNzOptionComponent.toArray().map(i=>{const{template:o,nzLabel:r,nzValue:s,nzKey:a,nzDisabled:l,nzHide:c,nzCustomContent:u,groupLabel:p}=i;return{template:o,nzLabel:r,nzValue:s,nzDisabled:l,nzHide:c,nzCustomContent:u,groupLabel:p,nzTitle:this.getTitle(i.nzTitle,i.nzLabel),type:"item",key:void 0===a?s:a}});this.listOfTemplateItem$.next(e),this.cdr.markForCheck()})}ngOnDestroy(){vk(this.requestId),this.focusMonitor.stopMonitoring(this.host)}setStatusStyles(e,i){this.status=e,this.hasFeedback=i,this.cdr.markForCheck(),this.statusCls=Ku(this.prefixCls,e,i),Object.keys(this.statusCls).forEach(o=>{this.statusCls[o]?this.renderer.addClass(this.host.nativeElement,o):this.renderer.removeClass(this.host.nativeElement,o)})}getTitle(e,i){let o;return void 0===e?("string"==typeof i||"number"==typeof i)&&(o=i.toString()):("string"==typeof e||"number"==typeof e)&&(o=e.toString()),o}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Vo),v(si),v(We),v(Se),v(Yt),v(Qn),v(wa),v(Ct,8),v(zo,9),v(xl,8),v(pp,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select"]],contentQueries:function(i,o,r){if(1&i&&(fn(r,Vl,5),fn(r,mv,5)),2&i){let s;ke(s=Ie())&&(o.listOfNzOptionComponent=s),ke(s=Ie())&&(o.listOfNzOptionGroupComponent=s)}},viewQuery:function(i,o){if(1&i&&(ft(Sl,7,Se),ft(Tl,7),ft(Ep,7),ft(mv,7,Se),ft(Ep,7,Se)),2&i){let r;ke(r=Ie())&&(o.originElement=r.first),ke(r=Ie())&&(o.cdkConnectedOverlay=r.first),ke(r=Ie())&&(o.nzSelectTopControlComponent=r.first),ke(r=Ie())&&(o.nzOptionGroupComponentElement=r.first),ke(r=Ie())&&(o.nzSelectTopControlComponentElement=r.first)}},hostAttrs:[1,"ant-select"],hostVars:26,hostBindings:function(i,o){2&i&&Z("ant-select-in-form-item",!!o.nzFormStatusService)("ant-select-lg","large"===o.nzSize)("ant-select-sm","small"===o.nzSize)("ant-select-show-arrow",o.nzShowArrow)("ant-select-disabled",o.nzDisabled)("ant-select-show-search",(o.nzShowSearch||"default"!==o.nzMode)&&!o.nzDisabled)("ant-select-allow-clear",o.nzAllowClear)("ant-select-borderless",o.nzBorderless)("ant-select-open",o.nzOpen)("ant-select-focused",o.nzOpen||o.focused)("ant-select-single","default"===o.nzMode)("ant-select-multiple","default"!==o.nzMode)("ant-select-rtl","rtl"===o.dir)},inputs:{nzId:"nzId",nzSize:"nzSize",nzStatus:"nzStatus",nzOptionHeightPx:"nzOptionHeightPx",nzOptionOverflowSize:"nzOptionOverflowSize",nzDropdownClassName:"nzDropdownClassName",nzDropdownMatchSelectWidth:"nzDropdownMatchSelectWidth",nzDropdownStyle:"nzDropdownStyle",nzNotFoundContent:"nzNotFoundContent",nzPlaceHolder:"nzPlaceHolder",nzPlacement:"nzPlacement",nzMaxTagCount:"nzMaxTagCount",nzDropdownRender:"nzDropdownRender",nzCustomTemplate:"nzCustomTemplate",nzSuffixIcon:"nzSuffixIcon",nzClearIcon:"nzClearIcon",nzRemoveIcon:"nzRemoveIcon",nzMenuItemSelectedIcon:"nzMenuItemSelectedIcon",nzTokenSeparators:"nzTokenSeparators",nzMaxTagPlaceholder:"nzMaxTagPlaceholder",nzMaxMultipleCount:"nzMaxMultipleCount",nzMode:"nzMode",nzFilterOption:"nzFilterOption",compareWith:"compareWith",nzAllowClear:[2,"nzAllowClear","nzAllowClear",I],nzBorderless:[2,"nzBorderless","nzBorderless",I],nzShowSearch:[2,"nzShowSearch","nzShowSearch",I],nzLoading:[2,"nzLoading","nzLoading",I],nzAutoFocus:[2,"nzAutoFocus","nzAutoFocus",I],nzAutoClearSearchValue:[2,"nzAutoClearSearchValue","nzAutoClearSearchValue",I],nzServerSearch:[2,"nzServerSearch","nzServerSearch",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzOpen:[2,"nzOpen","nzOpen",I],nzSelectOnTab:[2,"nzSelectOnTab","nzSelectOnTab",I],nzBackdrop:[2,"nzBackdrop","nzBackdrop",I],nzOptions:"nzOptions",nzShowArrow:[2,"nzShowArrow","nzShowArrow",I]},outputs:{nzOnSearch:"nzOnSearch",nzScrollToBottom:"nzScrollToBottom",nzOpenChange:"nzOpenChange",nzBlur:"nzBlur",nzFocus:"nzFocus"},exportAs:["nzSelect"],standalone:!0,features:[et([Vo,{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,xe,me],decls:5,vars:25,consts:[["origin","cdkOverlayOrigin"],["feedbackIconTpl",""],["cdkOverlayOrigin","",3,"inputValueChange","tokenize","deleteItem","keydown","nzId","open","disabled","mode","nzNoAnimation","maxTagPlaceholder","removeIcon","placeHolder","maxTagCount","customTemplate","tokenSeparators","showSearch","autofocus","listOfTopItem"],[3,"showArrow","loading","search","suffixIcon","feedbackIcon","nzMaxMultipleCount","listOfValue","isMaxTagCountSet",4,"ngIf"],[3,"clearIcon","clear",4,"ngIf"],["cdkConnectedOverlay","","nzConnectedOverlay","",3,"overlayOutsideClick","detach","positionChange","cdkConnectedOverlayHasBackdrop","cdkConnectedOverlayMinWidth","cdkConnectedOverlayWidth","cdkConnectedOverlayOrigin","cdkConnectedOverlayTransformOriginOn","cdkConnectedOverlayPanelClass","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions"],[3,"showArrow","loading","search","suffixIcon","feedbackIcon","nzMaxMultipleCount","listOfValue","isMaxTagCountSet"],[3,"status",4,"ngIf"],[3,"status"],[3,"clear","clearIcon"],[3,"keydown","itemClick","scrollToBottom","ngStyle","itemSize","maxItemLength","matchWidth","nzNoAnimation","listOfContainerItem","menuItemSelectedIcon","notFoundContent","activatedValue","listOfSelectedValue","dropdownRender","compareWith","mode","isMaxLimitReached"]],template:function(i,o){if(1&i){const r=W();f(0,"nz-select-top-control",2,0),M("inputValueChange",function(a){return S(r),T(o.onInputValueChange(a))})("tokenize",function(a){return S(r),T(o.onTokenSeparate(a))})("deleteItem",function(a){return S(r),T(o.onItemDelete(a))})("keydown",function(a){return S(r),T(o.onKeyDown(a))}),m(),C(2,zde,3,8,"nz-select-arrow",3)(3,Ade,1,1,"nz-select-clear",4)(4,Sde,1,24,"ng-template",5),M("overlayOutsideClick",function(a){return S(r),T(o.onClickOutside(a))})("detach",function(){return S(r),T(o.setOpenState(!1))})("positionChange",function(a){return S(r),T(o.onPositionChange(a))})}if(2&i){const r=Be(1);h("nzId",o.nzId)("open",o.nzOpen)("disabled",o.nzDisabled)("mode",o.nzMode)("@.disabled",!(null==o.noAnimation||!o.noAnimation.nzNoAnimation))("nzNoAnimation",null==o.noAnimation?null:o.noAnimation.nzNoAnimation)("maxTagPlaceholder",o.nzMaxTagPlaceholder)("removeIcon",o.nzRemoveIcon)("placeHolder",o.nzPlaceHolder)("maxTagCount",o.nzMaxTagCount)("customTemplate",o.nzCustomTemplate)("tokenSeparators",o.nzTokenSeparators)("showSearch",o.nzShowSearch)("autofocus",o.nzAutoFocus)("listOfTopItem",o.listOfTopItem),d(2),h("ngIf",o.nzShowArrow||o.hasFeedback&&!!o.status||o.isMaxTagCountSet),d(),h("ngIf",o.nzAllowClear&&!o.nzDisabled&&o.listOfValue.length),d(),h("cdkConnectedOverlayHasBackdrop",o.nzBackdrop)("cdkConnectedOverlayMinWidth",o.nzDropdownMatchSelectWidth?null:o.triggerWidth)("cdkConnectedOverlayWidth",o.nzDropdownMatchSelectWidth?o.triggerWidth:null)("cdkConnectedOverlayOrigin",r)("cdkConnectedOverlayTransformOriginOn",".ant-select-dropdown")("cdkConnectedOverlayPanelClass",o.nzDropdownClassName)("cdkConnectedOverlayOpen",o.nzOpen)("cdkConnectedOverlayPositions",o.positions)}},dependencies:[Ep,Sl,zo,zO,St,fI,W7,AO,Tl,u2,$3,CO,ti],encapsulation:2,data:{animation:[a7]},changeDetection:0})}return xt([Vt()],t.prototype,"nzOptionHeightPx",void 0),xt([Vt()],t.prototype,"nzSuffixIcon",void 0),xt([Vt()],t.prototype,"nzBorderless",void 0),xt([Vt()],t.prototype,"nzBackdrop",void 0),t})(),MO=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Nl,CO,wO,Ep,gv,SO,AO,zO,TO,yO]})}return t})();const Dde=(t,n)=>({width:t,height:n}),Ede=(t,n,e)=>({"background-color":t,width:n,height:e});function xde(t,n){if(1&t){const e=W();f(0,"img",2),M("error",function(){return S(e),T(g().onError())}),m()}if(2&t){const e=g();h("src",e.url,It)("ngStyle",sl(2,Dde,e.size+"px",e.size+"px"))}}function kde(t,n){if(1&t&&(f(0,"div",3),w(1),m()),2&t){const e=g();h("ngStyle",tA(2,Ede,e.colour,e.size+"px",e.size+"px")),d(),we(" ",e.name?e.name[0]:""," ")}}let Fl=(()=>{class t{constructor(){this.src="",this.name="",this.colour="#1890ff",this.size=35,this.check=!0,this.hasError=!1}ngOnInit(){}get url(){return this.src?.startsWith("nav-")?ZD(this.src):this.src}onError(){this.hasError=!0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-logo"]],inputs:{src:"src",name:"name",colour:"colour",size:"size",check:"check"},decls:3,vars:2,consts:[["noSrc",""],["class","icon dark-border-color","draggable","false",3,"src","ngStyle","error",4,"ngIf","ngIfElse"],["draggable","false",1,"icon","dark-border-color",3,"error","src","ngStyle"],[1,"circle",3,"ngStyle"]],template:function(i,o){if(1&i&&C(0,xde,1,5,"img",1)(1,kde,2,6,"ng-template",null,0,ot),2&i){const r=Be(2);h("ngIf",o.url&&!o.hasError)("ngIfElse",r)}},dependencies:[St,ti],styles:[".icon[_ngcontent-%COMP%]{display:inline-block;vertical-align:middle;pointer-events:none;background-color:#eee;border-radius:3px}.circle[_ngcontent-%COMP%]{color:#fff;display:flex;justify-content:center;align-items:center;border-radius:50%}"]})}return t})();const Ide=t=>({"background-image":t});function Ode(t,n){if(1&t){const e=W();f(0,"div",9),M("click",function(o){return S(e),T(g(2).toggleEngine(o))}),m()}if(2&t){const e=g(2);h("ngStyle",mr(1,Ide,"url("+e.currentEngine.icon+")"))}}function Pde(t,n){if(1&t){const e=W();f(0,"i",10),M("click",function(){return S(e),T(g(2).triggerSearch())}),m()}}function Vde(t,n){if(1&t){const e=W();f(0,"nz-select",12),Ii("ngModelChange",function(o){S(e);const r=g(3);return Ui(r.searchTypeValue,o)||(r.searchTypeValue=o),T(o)}),A(1,"nz-option",13)(2,"nz-option",13)(3,"nz-option",13)(4,"nz-option",13)(5,"nz-option",13),m()}if(2&t){const e=g(3);ki("ngModel",e.searchTypeValue),d(),h("nzLabel",e.$t("_default"))("nzValue",e.SearchType.All),d(),h("nzLabel",e.$t("_title"))("nzValue",e.SearchType.Title),d(),h("nzLabel",e.$t("_desc"))("nzValue",e.SearchType.Desc),d(),h("nzLabel",e.$t("_link"))("nzValue",e.SearchType.Url),d(),h("nzLabel",e.$t("_current"))("nzValue",e.SearchType.Current)}}function Nde(t,n){1&t&&C(0,Vde,6,11,"nz-select",11),2&t&&h("ngIf",!g(2).currentEngine.url)}function Fde(t,n){if(1&t){const e=W();f(0,"div",16),M("click",function(){const o=S(e).index;return T(g(3).clickEngineItem(o))}),A(1,"app-logo",17),f(2,"span",18),w(3),m()()}if(2&t){const e=n.$implicit;d(),h("src",e.icon||"")("size",20)("check",!1),d(2),D(e.name)}}function Rde(t,n){if(1&t&&(f(0,"div",14),C(1,Fde,4,4,"div",15),m()),2&t){const e=g(2);d(),h("ngForOf",e.searchEngineList)}}function Lde(t,n){if(1&t){const e=W();f(0,"div",4)(1,"div",5)(2,"nz-input-group",6)(3,"input",7),Ii("ngModelChange",function(o){S(e);const r=g();return Ui(r.keyword,o)||(r.keyword=o),T(o)}),M("keyup",function(o){return S(e),T(g().onKey(o))}),m()(),C(4,Ode,1,3,"ng-template",null,0,ot)(6,Pde,1,0,"ng-template",null,1,ot)(8,Nde,1,1,"ng-template",null,2,ot),m(),C(10,Rde,2,1,"div",8),m()}if(2&t){const e=Be(5),i=Be(7),o=Be(9),r=g();Z("small","small"===r.size),d(),Z("removeAddon",r.currentEngine.url),d(),h("nzPrefix",e)("nzSuffix",i)("nzSize",r.size)("nzAddOnBefore",o),d(),h("placeholder",r.currentEngine.placeholder||""),ki("ngModel",r.keyword),d(7),h("ngIf",r.showEngine)}}let B1=(()=>{class t{constructor(e){this.router=e,this.size="default",this.$t=be,this.searchEngineList=jg,this.currentEngine=function Ete(){let t=Tte[0]||{};try{const n=window.localStorage.getItem(Wi.engine);n&&(t=JSON.parse(n))}catch{}return t}(),this.SearchType=pa,this.searchTypeValue=pa.All,this.showEngine=!1,this.keyword=pi().q}inputFocus(){setTimeout(()=>{document.getElementById("search-engine-input")?.focus?.()},100)}ngAfterViewInit(){this.inputFocus(),document.addEventListener("click",()=>{this.toggleEngine(null,!1)})}toggleEngine(e,i){this.searchEngineList.length<=1||(e&&e.stopPropagation(),this.showEngine=typeof i>"u"?!this.showEngine:i)}clickEngineItem(e){this.currentEngine=this.searchEngineList[e],this.toggleEngine(),this.inputFocus(),function xte(t){window.localStorage.setItem(Wi.engine,JSON.stringify(t))}(this.currentEngine)}triggerSearch(){this.currentEngine.url&&window.open(this.currentEngine.url+this.keyword);const e=pi();this.router.navigate([this.router.url.split("?")[0]],{queryParams:{...e,q:this.keyword,type:this.searchTypeValue}})}onKey(e){"Enter"===e.code&&this.triggerSearch()}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-search-engine"]],inputs:{size:"size"},decls:1,vars:1,consts:[["prefixIcon",""],["suffixIcon",""],["addOnBeforeTemplate",""],["class","search-engine",3,"small",4,"ngIf"],[1,"search-engine"],[1,"input-wrapper","dark-bg","dark-border-color"],[3,"nzPrefix","nzSuffix","nzSize","nzAddOnBefore"],["type","text","nz-input","","autofocus","","id","search-engine-input","autocomplete","off",3,"ngModelChange","keyup","placeholder","ngModel"],["class","engine-main dark-bg dark-border-color dark-shadow",4,"ngIf"],[1,"left-icon",3,"click","ngStyle"],[1,"search-icon","iconfont","iconsousuo","dark-text",3,"click"],[3,"ngModel","ngModelChange",4,"ngIf"],[3,"ngModelChange","ngModel"],[3,"nzLabel","nzValue"],[1,"engine-main","dark-bg","dark-border-color","dark-shadow"],["class","item dark-bg-gary dark-item-hover",3,"click",4,"ngFor","ngForOf"],[1,"item","dark-bg-gary","dark-item-hover",3,"click"],[3,"src","size","check"],[1,"name2","dark-text"]],template:function(i,o){1&i&&C(0,Lde,11,11,"div",3),2&i&&h("ngIf",o.searchEngineList&&o.searchEngineList.length>0)},dependencies:[zn,St,ti,Gs,Dp,vO,Vl,Nl,mi,wr,Zi,Xi,Fl],styles:['@media (max-width: 768px){.engine-main[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{width:100%!important;margin-right:0!important}}.search-engine[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center;padding:10px 0}.search-engine.small[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{width:300px}.search-engine[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{position:relative;width:500px;background:#fff;border-radius:5px;overflow:hidden}.search-engine[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding-left:10px;padding-right:10px}.search-engine[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:-webkit-autofill-selected{background-color:transparent!important;box-shadow:inset 0 0 0 500px transparent!important}.search-engine[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .left-icon[_ngcontent-%COMP%]{width:20px;height:20px;background-repeat:no-repeat;background-size:20px 20px;cursor:pointer}.search-engine[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{cursor:pointer}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%]{z-index:20;position:absolute;top:65px;left:50%;width:500px;max-width:90vw;padding:15px 15px 0;background:#fff;transform:translate(-50%);box-shadow:0 1px 5px #ccc;border-radius:5px;display:flex;flex-wrap:wrap}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%]:after{content:"";position:absolute;top:-11px;left:50%;width:0;height:0;transform:translate(-50%);border-style:solid;border-width:0 10px 20px 10px;border-color:transparent transparent #ffffff transparent}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{width:calc(33.33% - 10px);padding:6px;display:flex;background:#f6f6f6;cursor:pointer;margin-bottom:15px;border-radius:3px;transition:.1s linear;box-sizing:border-box;border:1px solid transparent}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover{background-color:#eee}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:not(:nth-child(3n)){margin-right:15px}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .name2[_ngcontent-%COMP%]{margin-left:10px;font-size:15px;align-self:center}.search-engine[_ngcontent-%COMP%] .removeAddon .ant-input-group-addon{display:none!important}@media screen and (max-width: 768px){.input-wrapper[_ngcontent-%COMP%]{width:90%!important}}']})}return t})();function Bde(t,n){1&t&&A(0,"i",7),2&t&&Z("active",g(2).dataSource.collapsed)}function Hde(t,n){1&t&&A(0,"i",7),2&t&&Z("active",g(2).dataSource.collapsed)}function jde(t,n){if(1&t){const e=W();f(0,"i",8),M("click",function(){return S(e),T(g(2).openCreateWebModal())}),m()}}function Yde(t,n){if(1&t){const e=W();f(0,"div",2)(1,"span",3),M("click",function(){return S(e),T(g().onCollapse.emit())}),C(2,Bde,1,2,"i",4)(3,Hde,1,2,"ng-template",null,0,ot),f(5,"span",5),w(6),m()(),C(7,jde,1,0,"i",6),m()}if(2&t){const e=Be(4),i=g();d(2),h("ngIf","1"===i.arrowType)("ngIfElse",e),d(4),la(" ",i.dataSource.title," x ",i.dataSource.nav.length," "),d(),h("ngIf",i.isLogin||i.settings.allowCollect)}}let vv=(()=>{class t{constructor(){this.index=0,this.arrowType="1",this.onCollapse=new B,this.isLogin=Gi,this.websiteList=yn,this.settings=kn}ngOnInit(){}openCreateWebModal(){Ei.emit("CREATE_WEB",{threeIndex:this.index})}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-toolbar-title"]],inputs:{index:"index",dataSource:"dataSource",arrowType:"arrowType"},outputs:{onCollapse:"onCollapse"},decls:1,vars:1,consts:[["type",""],["class","title tool-title dark-primary dark-border-color",4,"ngIf"],[1,"title","tool-title","dark-primary","dark-border-color"],[1,"cursor-pointer",3,"click"],["class","iconfont iconjiantouarrow483 down-arrow",3,"active",4,"ngIf","ngIfElse"],[2,"margin-left","10px","align-self","center","vertical-align","middle"],["nz-icon","","nzType","plus","nzTheme","outline","class","add-icon",3,"click",4,"ngIf"],[1,"iconfont","iconjiantouarrow483","down-arrow"],["nz-icon","","nzType","plus","nzTheme","outline",1,"add-icon",3,"click"]],template:function(i,o){1&i&&C(0,Yde,8,5,"div",1),2&i&&h("ngIf",o.dataSource&&o.dataSource.title)},dependencies:[St,mi,ln],styles:[".title[_ngcontent-%COMP%]{position:relative;font-size:16px;border-bottom:1px solid rgba(0,0,0,.05);padding:10px 0 10px 5px;color:#3f51b5;font-weight:500;display:flex;margin-bottom:15px;-webkit-user-select:none;user-select:none;margin-top:10px}.title[_ngcontent-%COMP%] .add-icon[_ngcontent-%COMP%]{position:absolute;top:50%;right:20px;transform:translateY(-50%);cursor:pointer;color:#666}"]})}return t})();const Ude=["okBtn"],Wde=["cancelBtn"];function Gde(t,n){1&t&&(f(0,"div",6),A(1,"span",14),m())}function qde(t,n){if(1&t&&(Ye(0),f(1,"span",16),A(2,"span",17),m(),Ue()),2&t){const e=n.$implicit;d(2),h("nzType",e||"exclamation-circle")}}function Qde(t,n){if(1&t&&(Ye(0),C(1,qde,3,1,"ng-container",10),f(2,"div",15),w(3),m(),Ue()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzIcon),d(2),D(e.nzTitle)}}function Kde(t,n){1&t&&w(0),2&t&&we(" ",g(2).nzCancelText," ")}function $de(t,n){1&t&&(w(0),Fr(1,"nzI18n")),2&t&&we(" ",Rr(1,1,"Modal.cancelText")," ")}function Jde(t,n){1&t&&w(0),2&t&&we(" ",g(2).nzOkText," ")}function Zde(t,n){1&t&&(w(0),Fr(1,"nzI18n")),2&t&&we(" ",Rr(1,1,"Modal.okText")," ")}function Xde(t,n){if(1&t){const e=W();f(0,"div",4)(1,"div",5),C(2,Gde,2,0,"div",6),f(3,"div",7)(4,"div")(5,"div",8)(6,"div",9),C(7,Qde,4,2,"ng-container",10),m(),f(8,"div",11)(9,"button",12,1),M("click",function(){return S(e),T(g().onCancel())}),C(11,Kde,1,1)(12,$de,2,3),m(),f(13,"button",13,2),M("click",function(){return S(e),T(g().onConfirm())}),C(15,Jde,1,1)(16,Zde,2,3),m()()()()()()()}if(2&t){const e=g();Z("ant-popover-rtl","rtl"===e.dir),h("cdkTrapFocusAutoCapture",null!==e.nzAutoFocus)("ngClass",e._classMap)("ngStyle",e.nzOverlayStyle)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)("@zoomBigMotion","active"),d(2),he(e.nzPopconfirmShowArrow?2:-1),d(5),h("nzStringTemplateOutlet",e.nzTitle),d(2),h("nzSize","small"),Ot("cdkFocusInitial","cancel"===e.nzAutoFocus||null),d(2),he(e.nzCancelText?11:12),d(2),h("nzSize","small")("nzType","danger"!==e.nzOkType?e.nzOkType:"primary")("nzDanger",e.nzOkDanger||"danger"===e.nzOkType)("nzLoading",e.confirmLoading)("disabled",e.nzOkDisabled),Ot("cdkFocusInitial","ok"===e.nzAutoFocus||null),d(2),he(e.nzOkText?15:16)}}let H1=(()=>{class t extends L7{getProxyPropertyMap(){return{nzOkText:["nzOkText",()=>this.nzOkText],nzOkType:["nzOkType",()=>this.nzOkType],nzOkDanger:["nzOkDanger",()=>this.nzOkDanger],nzOkDisabled:["nzOkDisabled",()=>this.nzOkDisabled],nzCancelText:["nzCancelText",()=>this.nzCancelText],nzBeforeConfirm:["nzBeforeConfirm",()=>this.nzBeforeConfirm],nzCondition:["nzCondition",()=>this.nzCondition],nzIcon:["nzIcon",()=>this.nzIcon],nzPopconfirmShowArrow:["nzPopconfirmShowArrow",()=>this.nzPopconfirmShowArrow],nzPopconfirmBackdrop:["nzBackdrop",()=>this.nzPopconfirmBackdrop],nzAutoFocus:["nzAutoFocus",()=>this.nzAutofocus],...super.getProxyPropertyMap()}}constructor(){super(DO),this._nzModuleName="popconfirm",this.trigger="click",this.placement="top",this.nzCondition=!1,this.nzPopconfirmShowArrow=!0,this.nzPopconfirmBackdrop=!1,this.nzAutofocus=null,this.visibleChange=new B,this.nzOnCancel=new B,this.nzOnConfirm=new B}createComponent(){super.createComponent(),this.component.nzOnCancel.pipe(P(this.destroy$)).subscribe(()=>{this.nzOnCancel.emit()}),this.component.nzOnConfirm.pipe(P(this.destroy$)).subscribe(()=>{this.nzOnConfirm.emit()})}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-popconfirm",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-popover-open",o.visible)},inputs:{arrowPointAtCenter:[2,"nzPopconfirmArrowPointAtCenter","arrowPointAtCenter",I],title:[0,"nzPopconfirmTitle","title"],directiveTitle:[0,"nz-popconfirm","directiveTitle"],trigger:[0,"nzPopconfirmTrigger","trigger"],placement:[0,"nzPopconfirmPlacement","placement"],origin:[0,"nzPopconfirmOrigin","origin"],mouseEnterDelay:[0,"nzPopconfirmMouseEnterDelay","mouseEnterDelay"],mouseLeaveDelay:[0,"nzPopconfirmMouseLeaveDelay","mouseLeaveDelay"],overlayClassName:[0,"nzPopconfirmOverlayClassName","overlayClassName"],overlayStyle:[0,"nzPopconfirmOverlayStyle","overlayStyle"],visible:[0,"nzPopconfirmVisible","visible"],nzOkText:"nzOkText",nzOkType:"nzOkType",nzOkDisabled:[2,"nzOkDisabled","nzOkDisabled",I],nzOkDanger:[2,"nzOkDanger","nzOkDanger",I],nzCancelText:"nzCancelText",nzBeforeConfirm:"nzBeforeConfirm",nzIcon:"nzIcon",nzCondition:[2,"nzCondition","nzCondition",I],nzPopconfirmShowArrow:[2,"nzPopconfirmShowArrow","nzPopconfirmShowArrow",I],nzPopconfirmBackdrop:"nzPopconfirmBackdrop",nzAutofocus:"nzAutofocus"},outputs:{visibleChange:"nzPopconfirmVisibleChange",nzOnCancel:"nzOnCancel",nzOnConfirm:"nzOnConfirm"},exportAs:["nzPopconfirm"],standalone:!0,features:[je,mt]})}return xt([Vt()],t.prototype,"nzPopconfirmBackdrop",void 0),xt([Vt()],t.prototype,"nzAutofocus",void 0),t})(),DO=(()=>{class t extends up{constructor(e,i,o,r,s){super(e,o,s),this.elementRef=i,this.nzCondition=!1,this.nzPopconfirmShowArrow=!0,this.nzOkType="primary",this.nzOkDanger=!1,this.nzOkDisabled=!1,this.nzAutoFocus=null,this.nzBeforeConfirm=null,this.nzOnCancel=new V,this.nzOnConfirm=new V,this._trigger="click",this.elementFocusedBeforeModalWasOpened=null,this._prefix="ant-popover",this.confirmLoading=!1,this.document=r}ngOnDestroy(){super.ngOnDestroy(),this.nzOnCancel.complete(),this.nzOnConfirm.complete()}show(){this.nzCondition?this.onConfirm():(this.capturePreviouslyFocusedElement(),super.show())}hide(){super.hide(),this.restoreFocus()}handleConfirm(){this.nzOnConfirm.next(),super.hide()}onCancel(){this.nzOnCancel.next(),super.hide()}onConfirm(){if(this.nzBeforeConfirm){const e=_E(this.nzBeforeConfirm()).pipe(Vs());this.confirmLoading=!0,e.pipe(l1(()=>{this.confirmLoading=!1,this.cdr.markForCheck()}),P(this.nzVisibleChange),P(this.destroy$)).subscribe(i=>{i&&this.handleConfirm()})}else this.handleConfirm()}capturePreviouslyFocusedElement(){this.document&&(this.elementFocusedBeforeModalWasOpened=this.document.activeElement)}restoreFocus(){const e=this.elementFocusedBeforeModalWasOpened;if(e&&"function"==typeof e.focus){const i=this.document.activeElement,o=this.elementRef.nativeElement;(!i||i===this.document.body||i===o||o.contains(i))&&e.focus()}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Se),v(Ct,8),v(Pt,8),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-popconfirm"]],viewQuery:function(i,o){if(1&i&&(ft(Ude,5,Se),ft(Wde,5,Se)),2&i){let r;ke(r=Ie())&&(o.okBtn=r),ke(r=Ie())&&(o.cancelBtn=r)}},exportAs:["nzPopconfirmComponent"],standalone:!0,features:[mt,me],decls:2,vars:6,consts:[["overlay","cdkConnectedOverlay"],["cancelBtn",""],["okBtn",""],["cdkConnectedOverlay","","nzConnectedOverlay","",3,"overlayOutsideClick","detach","positionChange","cdkConnectedOverlayHasBackdrop","cdkConnectedOverlayOrigin","cdkConnectedOverlayPositions","cdkConnectedOverlayOpen","cdkConnectedOverlayPush","nzArrowPointAtCenter"],["cdkTrapFocus","",1,"ant-popover",3,"cdkTrapFocusAutoCapture","ngClass","ngStyle","nzNoAnimation"],[1,"ant-popover-content"],[1,"ant-popover-arrow"],[1,"ant-popover-inner"],[1,"ant-popover-inner-content"],[1,"ant-popover-message"],[4,"nzStringTemplateOutlet"],[1,"ant-popover-buttons"],["nz-button","",3,"click","nzSize"],["nz-button","",3,"click","nzSize","nzType","nzDanger","nzLoading","disabled"],[1,"ant-popover-arrow-content"],[1,"ant-popover-message-title"],[1,"ant-popover-message-icon"],["nz-icon","","nzTheme","fill",3,"nzType"]],template:function(i,o){if(1&i){const r=W();C(0,Xde,17,20,"ng-template",3,0,ot),M("overlayOutsideClick",function(a){return S(r),T(o.onClickOutside(a))})("detach",function(){return S(r),T(o.hide())})("positionChange",function(a){return S(r),T(o.onPositionChange(a))})}2&i&&h("cdkConnectedOverlayHasBackdrop",o.nzBackdrop)("cdkConnectedOverlayOrigin",o.origin)("cdkConnectedOverlayPositions",o._positions)("cdkConnectedOverlayOpen",o._visible)("cdkConnectedOverlayPush",o.cdkConnectedOverlayPush)("nzArrowPointAtCenter",o.nzArrowPointAtCenter)},dependencies:[d2,Tl,u2,$3,Dk,kse,Jo,ti,zo,Sn,An,In,ln,h2,nr,mi,tr,Hse,Bse],encapsulation:2,data:{animation:[I3]},changeDetection:0})}return t})(),tue=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[DO]})}return t})();const nue=["nz-rate-item",""],EO=t=>({$implicit:t});function iue(t,n){}function oue(t,n){}function rue(t,n){1&t&&A(0,"span",4)}const sue=["ulElement"];function aue(t,n){if(1&t){const e=W();f(0,"li",2)(1,"div",3),M("itemHover",function(o){const r=S(e).$index;return T(g().onItemHover(r,o))})("itemClick",function(o){const r=S(e).$index;return T(g().onItemClick(r,o))}),m()()}if(2&t){const e=n.$index,i=g();h("ngClass",i.starStyleArray[e]||"")("nzTooltipTitle",i.nzTooltips[e]),d(),h("allowHalf",i.nzAllowHalf)("character",i.nzCharacter)("index",e)}}let xO=(()=>{class t{constructor(){this.index=0,this.allowHalf=!1,this.itemHover=new B,this.itemClick=new B}hoverRate(e){this.itemHover.next(e&&this.allowHalf)}clickRate(e){this.itemClick.next(e&&this.allowHalf)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-rate-item",""]],inputs:{character:"character",index:"index",allowHalf:[2,"allowHalf","allowHalf",I]},outputs:{itemHover:"itemHover",itemClick:"itemClick"},exportAs:["nzRateItem"],standalone:!0,features:[je,me],attrs:nue,decls:6,vars:8,consts:[["defaultCharacter",""],[1,"ant-rate-star-second",3,"mouseover","click"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ant-rate-star-first",3,"mouseover","click"],["nz-icon","","nzType","star","nzTheme","fill"]],template:function(i,o){if(1&i){const r=W();f(0,"div",1),M("mouseover",function(a){return S(r),o.hoverRate(!1),T(a.stopPropagation())})("click",function(){return S(r),T(o.clickRate(!1))}),C(1,iue,0,0,"ng-template",2),m(),f(2,"div",3),M("mouseover",function(a){return S(r),o.hoverRate(!0),T(a.stopPropagation())})("click",function(){return S(r),T(o.clickRate(!0))}),C(3,oue,0,0,"ng-template",2),m(),C(4,rue,1,0,"ng-template",null,0,ot)}if(2&i){const r=Be(5);d(),h("ngTemplateOutlet",o.character||r)("ngTemplateOutletContext",mr(4,EO,o.index)),d(2),h("ngTemplateOutlet",o.character||r)("ngTemplateOutletContext",mr(6,EO,o.index))}},dependencies:[Nn,In,ln],encapsulation:2,changeDetection:0})}return t})(),bv=(()=>{class t{get nzValue(){return this._value}set nzValue(e){this._value!==e&&(this._value=e,this.hasHalf=!Number.isInteger(e)&&this.nzAllowHalf,this.hoverValue=Math.ceil(e))}constructor(e,i,o,r,s,a){this.nzConfigService=e,this.ngZone=i,this.renderer=o,this.cdr=r,this.directionality=s,this.destroy$=a,this._nzModuleName="rate",this.nzAllowClear=!0,this.nzAllowHalf=!1,this.nzDisabled=!1,this.nzAutoFocus=!1,this.nzCount=5,this.nzTooltips=[],this.nzOnBlur=new B,this.nzOnFocus=new B,this.nzOnHoverChange=new B,this.nzOnKeyDown=new B,this.classMap={},this.starArray=[],this.starStyleArray=[],this.dir="ltr",this.hasHalf=!1,this.hoverValue=0,this.isFocused=!1,this._value=0,this.isNzDisableFirstChange=!0,this.onChange=()=>null,this.onTouched=()=>null}ngOnChanges(e){const{nzAutoFocus:i,nzCount:o,nzValue:r}=e;if(i&&!i.isFirstChange()){const s=this.ulElement.nativeElement;this.nzAutoFocus&&!this.nzDisabled?this.renderer.setAttribute(s,"autofocus","autofocus"):this.renderer.removeAttribute(s,"autofocus")}o&&this.updateStarArray(),r&&this.updateStarStyle()}ngOnInit(){this.nzConfigService.getConfigChangeEventForComponent("rate").pipe(P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()),this.directionality.change.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value,this.ngZone.runOutsideAngular(()=>{nn(this.ulElement.nativeElement,"focus").pipe(P(this.destroy$)).subscribe(e=>{this.isFocused=!0,this.nzOnFocus.observers.length&&this.ngZone.run(()=>this.nzOnFocus.emit(e))}),nn(this.ulElement.nativeElement,"blur").pipe(P(this.destroy$)).subscribe(e=>{this.isFocused=!1,this.nzOnBlur.observers.length&&this.ngZone.run(()=>this.nzOnBlur.emit(e))})})}onItemClick(e,i){if(this.nzDisabled)return;this.hoverValue=e+1;const o=i?e+.5:e+1;this.nzValue===o?this.nzAllowClear&&(this.nzValue=0,this.onChange(this.nzValue)):(this.nzValue=o,this.onChange(this.nzValue)),this.updateStarStyle()}onItemHover(e,i){this.nzDisabled||((this.hoverValue!==e+1||i!==this.hasHalf)&&(this.hoverValue=e+1,this.hasHalf=i,this.updateStarStyle()),this.nzOnHoverChange.emit(this.hoverValue))}onRateLeave(){this.hasHalf=!Number.isInteger(this.nzValue),this.hoverValue=Math.ceil(this.nzValue),this.nzOnHoverChange.emit(this.hoverValue),this.updateStarStyle()}focus(){this.ulElement.nativeElement.focus()}blur(){this.ulElement.nativeElement.blur()}onKeyDown(e){const i=this.nzValue;39===e.keyCode&&this.nzValue0&&(this.nzValue-=this.nzAllowHalf?.5:1),i!==this.nzValue&&(this.onChange(this.nzValue),this.nzOnKeyDown.emit(e),this.updateStarStyle(),this.cdr.markForCheck())}updateStarArray(){this.starArray=Array(this.nzCount).fill(0).map((e,i)=>i),this.updateStarStyle()}updateStarStyle(){this.starStyleArray=this.starArray.map(e=>{const i="ant-rate-star",o=e+1;return{[`${i}-full`]:othis.hoverValue,[`${i}-focused`]:this.hasHalf&&o===this.hoverValue&&this.isFocused}})}writeValue(e){this.nzValue=e||0,this.updateStarArray(),this.cdr.markForCheck()}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Me),v(Yt),v(We),v(Ct,8),v(Vo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-rate"]],viewQuery:function(i,o){if(1&i&&ft(sue,7),2&i){let r;ke(r=Ie())&&(o.ulElement=r.first)}},inputs:{nzAllowClear:[2,"nzAllowClear","nzAllowClear",I],nzAllowHalf:[2,"nzAllowHalf","nzAllowHalf",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzAutoFocus:[2,"nzAutoFocus","nzAutoFocus",I],nzCharacter:"nzCharacter",nzCount:[2,"nzCount","nzCount",Oi],nzTooltips:"nzTooltips"},outputs:{nzOnBlur:"nzOnBlur",nzOnFocus:"nzOnFocus",nzOnHoverChange:"nzOnHoverChange",nzOnKeyDown:"nzOnKeyDown"},exportAs:["nzRate"],standalone:!0,features:[et([Vo,{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,xe,me],decls:4,vars:6,consts:[["ulElement",""],[1,"ant-rate",3,"keydown","mouseleave","ngClass","tabindex"],["nz-tooltip","",1,"ant-rate-star",3,"ngClass","nzTooltipTitle"],["nz-rate-item","",3,"itemHover","itemClick","allowHalf","character","index"]],template:function(i,o){if(1&i){const r=W();f(0,"ul",1,0),M("keydown",function(a){return S(r),o.onKeyDown(a),T(a.preventDefault())})("mouseleave",function(a){return S(r),o.onRateLeave(),T(a.stopPropagation())}),ji(2,aue,2,5,"li",2,fr),m()}2&i&&(Z("ant-rate-disabled",o.nzDisabled)("ant-rate-rtl","rtl"===o.dir),h("ngClass",o.classMap)("tabindex",o.nzDisabled?-1:1),d(2),Yi(o.starArray))},dependencies:[Jo,H7,Sa,xO],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzAllowClear",void 0),xt([Vt()],t.prototype,"nzAllowHalf",void 0),t})(),lue=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[bv,xO]})}return t})();const IO=()=>({});function cue(t,n){1&t&&A(0,"span",21)}function due(t,n){1&t&&(f(0,"span",25),w(1,"/"),m())}function uue(t,n){if(1&t&&(f(0,"span"),w(1),C(2,due,2,0,"span",24),m()),2&t){const e=n.$implicit,i=n.index,o=g(3);d(),D(e),d(),h("ngIf",i!==o.dataSource.breadcrumb.length-1)}}function hue(t,n){if(1&t&&(f(0,"div",22),C(1,uue,3,2,"span",23),m()),2&t){const e=g(2);d(),h("ngForOf",e.dataSource.breadcrumb)}}function pue(t,n){if(1&t){const e=W();f(0,"div",26)(1,"nz-rate",27),M("ngModelChange",function(o){return S(e),T(g(2).onRateChange(o))}),m()()}if(2&t){const e=g(2);d(),h("ngModel",e.dataSource.rate)("nzDisabled",!e.isLogin)}}function fue(t,n){if(1&t&&(f(0,"div",28)(1,"a",29),w(2),m()()),2&t){const e=n.$implicit,i=g(2);Qo("background-color: "+(i.tagMap[e]&&i.tagMap[e].color||"#1890ff")),d(),h("href",(null==i.dataSource.urls?null:i.dataSource.urls[e])||"javascript:void(0)",It)("target",null!=i.dataSource.urls&&i.dataSource.urls[e]?"_blank":""),d(),D(i.tagMap[e]&&i.tagMap[e].name)}}function mue(t,n){if(1&t){const e=W();f(0,"div",17)(1,"i",30),M("click",function(){return S(e),T(g(2).openEditWebMoal())}),m()()}2&t&&h("nzTooltipTitle",g(2).$t("_edit"))}function gue(t,n){if(1&t){const e=W();f(0,"div",17)(1,"i",31),M("click",function(){return S(e),T(g(2).openMoveWebModal())}),m()()}2&t&&h("nzTooltipTitle",g(2).$t("_move"))}function vue(t,n){if(1&t){const e=W();f(0,"div",32),M("nzOnConfirm",function(){return S(e),T(g(2).confirmDel())}),A(1,"i",33),m()}2&t&&h("nzPopconfirmTitle",g(2).$t("_confirmDel"))}function bue(t,n){if(1&t){const e=W();f(0,"div",4),C(1,cue,1,0,"span",5)(2,hue,2,1,"div",6)(3,pue,2,2,"div",7),f(4,"a",8)(5,"div",9),A(6,"app-logo",10)(7,"div",11),m()(),f(8,"div",12)(9,"a",8),A(10,"pre",13),m(),f(11,"div",14),C(12,fue,3,5,"div",15),m()(),f(13,"div",16)(14,"div",17)(15,"i",18),M("click",function(o){return S(e),T(g().copyUrl(o,2))})("mouseout",function(){return S(e),T(g().copyMouseout())}),m()(),f(16,"div",17)(17,"i",18),M("click",function(o){return S(e),T(g().copyUrl(o,1))})("mouseout",function(){return S(e),T(g().copyMouseout())}),m()(),C(18,mue,2,1,"div",19)(19,gue,2,1,"div",19)(20,vue,2,1,"div",20),m()()}if(2&t){const e=g();d(),h("ngIf",e.isLogin&&!1===e.dataSource.ok),d(),h("ngIf",e.searchKeyword&&(null==e.dataSource?null:e.dataSource.breadcrumb)),d(),h("ngIf",e.settings.showRate),d(),h("href",e.dataSource.url,It),d(2),h("src",e.dataSource.icon||"")("name",e.dataSource.name),d(),h("innerHTML",e.dataSource.name,Gn)("title",e.dataSource.__name__||e.dataSource.name),d(2),h("href",e.dataSource.url,It),d(),h("innerHTML",e.dataSource.desc,Gn)("title",e.dataSource.__desc__||e.dataSource.desc),d(2),h("ngForOf",e.objectKeys(e.dataSource.urls||Si(19,IO))),d(2),h("nzTooltipTitle",e.$t(e.copyUrlDone?"_copySuccess":"_copyUrl")),d(),h("nzType",e.copyUrlDone?"check":"copy"),d(),h("nzTooltipTitle",e.$t(e.copyPathDone?"_copySuccess":"_shareWeb")),d(),h("nzType",e.copyPathDone?"check":"share-alt"),d(),h("ngIf",e.isLogin),d(),h("ngIf",e.isLogin&&4===e.indexs.length),d(),h("ngIf",e.isLogin)}}function _ue(t,n){1&t&&A(0,"span",21)}function yue(t,n){1&t&&(f(0,"span",25),w(1,"/"),m())}function wue(t,n){if(1&t&&(f(0,"span"),w(1),C(2,yue,2,0,"span",24),m()),2&t){const e=n.$implicit,i=n.index,o=g(3);d(),D(e),d(),h("ngIf",i!==o.dataSource.breadcrumb.length-1)}}function Cue(t,n){if(1&t&&(f(0,"div",22),C(1,wue,3,2,"span",23),m()),2&t){const e=g(2);d(),h("ngForOf",e.dataSource.breadcrumb)}}function zue(t,n){if(1&t&&(f(0,"a",34),C(1,_ue,1,0,"span",5)(2,Cue,2,1,"div",6),f(3,"div",35),A(4,"app-logo",10),f(5,"div",36),A(6,"div",37)(7,"pre",38),m()()()),2&t){const e=g();h("href",e.dataSource.url,It),d(),h("ngIf",e.isLogin&&!1===e.dataSource.ok),d(),h("ngIf",e.searchKeyword&&(null==e.dataSource?null:e.dataSource.breadcrumb)),d(2),h("src",e.dataSource.icon||"")("name",e.dataSource.name),d(),h("title",e.dataSource.__desc__||e.dataSource.desc),d(),h("innerHTML",e.dataSource.name,Gn),d(),h("innerHTML",e.dataSource.desc,Gn)}}function Aue(t,n){1&t&&A(0,"span",21)}function Sue(t,n){1&t&&(f(0,"span",25),w(1,"/"),m())}function Tue(t,n){if(1&t&&(f(0,"span"),w(1),C(2,Sue,2,0,"span",24),m()),2&t){const e=n.$implicit,i=n.index,o=g(3);d(),D(e),d(),h("ngIf",i!==o.dataSource.breadcrumb.length-1)}}function Mue(t,n){if(1&t&&(f(0,"div",22),C(1,Tue,3,2,"span",23),m()),2&t){const e=g(2);d(),h("ngForOf",e.dataSource.breadcrumb)}}function Due(t,n){if(1&t&&(f(0,"div",46),w(1),m()),2&t){const e=g(2);d(),D(e.getRate)}}function Eue(t,n){if(1&t&&(f(0,"div",28)(1,"a",29),w(2),m()()),2&t){const e=n.$implicit,i=g(2);Qo("background-color: "+(i.tagMap[e]&&i.tagMap[e].color||"#1890ff")),d(),h("href",(null==i.dataSource.urls?null:i.dataSource.urls[e])||"javascript:void(0)",It)("target",null!=i.dataSource.urls&&i.dataSource.urls[e]?"_blank":""),d(),D(i.tagMap[e]&&i.tagMap[e].name)}}function xue(t,n){if(1&t){const e=W();f(0,"span",47),M("click",function(){return S(e),T(g(2).openEditWebMoal())}),w(1),m()}if(2&t){const e=g(2);d(),D(e.$t("_edit"))}}function kue(t,n){if(1&t){const e=W();f(0,"span",47),M("click",function(){return S(e),T(g(2).openMoveWebModal())}),w(1),m()}if(2&t){const e=g(2);d(),D(e.$t("_move"))}}function Iue(t,n){if(1&t){const e=W();f(0,"div",48),M("nzOnConfirm",function(){return S(e),T(g(2).confirmDel())}),f(1,"span",49),w(2),m()()}if(2&t){const e=g(2);h("nzPopconfirmTitle",e.$t("_confirmDel")),d(2),D(e.$t("_del"))}}function Oue(t,n){if(1&t&&(f(0,"div",39),C(1,Aue,1,0,"span",5)(2,Mue,2,1,"div",6),f(3,"a",8)(4,"div",40),A(5,"app-logo",41)(6,"div",37),m(),f(7,"div",36),A(8,"pre",38),m()(),f(9,"div",42)(10,"div",14),C(11,Due,2,1,"div",43)(12,Eue,3,5,"div",15)(13,xue,2,1,"span",44)(14,kue,2,1,"span",44)(15,Iue,3,2,"div",45),m()()()),2&t){const e=g();d(),h("ngIf",e.isLogin&&!1===e.dataSource.ok),d(),h("ngIf",e.searchKeyword&&(null==e.dataSource?null:e.dataSource.breadcrumb)),d(),h("href",e.dataSource.url,It),d(2),h("src",e.dataSource.icon||"")("name",e.dataSource.name)("size",26),d(),h("innerHTML",e.dataSource.name,Gn),d(),h("title",e.dataSource.__desc__||e.dataSource.desc),d(),h("innerHTML",e.dataSource.desc,Gn),d(3),h("ngIf",e.settings.showRate),d(),h("ngForOf",e.objectKeys(e.dataSource.urls||Si(14,IO))),d(),h("ngIf",e.isLogin),d(),h("ngIf",e.isLogin&&4===e.indexs.length),d(),h("ngIf",e.isLogin)}}let xp=(()=>{class t{constructor(e){this.message=e,this.searchKeyword="",this.dataSource={},this.indexs=[],this.cardStyle="standard",this.$t=be,this.objectKeys=Object.keys,this.settings=kn,this.websiteList=yn,this.isLogin=Gi,this.copyUrlDone=!1,this.copyPathDone=!1,this.tagMap=ju}ngOnInit(){}copyUrl(e,i){var o=this;return Mi(function*(){const r=o.dataSource,{origin:s,hash:a,pathname:l}=window.location,c=`${s}${l}${a}?q=${r.name}&url=${encodeURIComponent(r.url)}`,u=yield function Ite(t,n){const e=t.target,i=`copy-${Date.now()}`;return e.id=i,e.setAttribute("data-clipboard-text",n),new Promise(o=>{const r=new(zX())(`#${i}`);r.on("success",function(){r.destroy(),o(!0)}),r.on("error",function(){r.destroy(),o(!1)})})}(e,1===i?c:r.url);1===i?o.copyPathDone=u:o.copyUrlDone=u})()}copyMouseout(){this.copyUrlDone=!1,this.copyPathDone=!1}openEditWebMoal(){Ei.emit("CREATE_WEB",{detail:this.dataSource})}onRateChange(e){this.dataSource.rate=e,Un(this.websiteList)}confirmDel(){T5({...this.dataSource,name:fs(this.dataSource.name),desc:fs(this.dataSource.desc)})}openMoveWebModal(){Ei.emit("MOVE_WEB",{indexs:this.indexs,data:[this.dataSource]})}get getRate(){if(!this.dataSource.rate)return null;const e=Number(this.dataSource.rate);return e?e.toFixed(1)+"\u5206":null}static#e=this.\u0275fac=function(i){return new(i||t)(v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-card"]],inputs:{searchKeyword:"searchKeyword",dataSource:"dataSource",indexs:"indexs",cardStyle:"cardStyle"},decls:4,vars:3,consts:[[3,"ngSwitch"],["class","container standard dark-border-color",4,"ngSwitchCase"],["target","_blank","rel","noreferer noopener","class","container example2 dark-bg dark-white dark-shadow",3,"href",4,"ngSwitchCase"],["class","container column2 ellipsis dark-bg dark-white dark-border-color dark-shadow dark-hover",4,"ngSwitchDefault"],[1,"container","standard","dark-border-color"],["nz-icon","","nzType","stop","nzTheme","outline","class","stop-icon","title","\u7591\u4f3c\u5f02\u5e38",4,"ngIf"],["class","breadcrumb1 ellipsis",4,"ngIf"],["class","rate",4,"ngIf"],["target","_blank","rel","noreferer noopener",3,"href"],[1,"top"],[3,"src","name"],[1,"title","ellipsis2","dark-white",3,"innerHTML","title"],[1,"middle"],[1,"desc","dark-text","ellipsis3",3,"innerHTML","title"],[1,"tagbox"],["class","tag-item",3,"style",4,"ngFor","ngForOf"],[1,"actionbar","dark-border-color"],["nz-tooltip","",1,"action-item","dark-border-color",3,"nzTooltipTitle"],["nz-icon","","nzTheme","outline",3,"click","mouseout","nzType"],["class","action-item dark-border-color","nz-tooltip","",3,"nzTooltipTitle",4,"ngIf"],["class","action-item dark-border-color","nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzPopconfirmTitle","nzOnConfirm",4,"ngIf"],["nz-icon","","nzType","stop","nzTheme","outline","title","\u7591\u4f3c\u5f02\u5e38",1,"stop-icon"],[1,"breadcrumb1","ellipsis"],[4,"ngFor","ngForOf"],["class","slash",4,"ngIf"],[1,"slash"],[1,"rate"],["nzAllowHalf","",3,"ngModelChange","ngModel","nzDisabled"],[1,"tag-item"],[3,"href","target"],["nz-icon","","nzType","edit","nzTheme","outline",3,"click"],["nz-icon","","nzType","swap","nzTheme","outline",3,"click"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",1,"action-item","dark-border-color",3,"nzOnConfirm","nzPopconfirmTitle"],["nz-icon","","nzType","delete","nzTheme","outline"],["target","_blank","rel","noreferer noopener",1,"container","example2","dark-bg","dark-white","dark-shadow",3,"href"],[1,"wrapper","ellipsis"],[1,"right-box",3,"title"],[1,"title","ellipsis",3,"innerHTML"],[1,"desc","dark-text","ellipsis",3,"innerHTML"],[1,"container","column2","ellipsis","dark-bg","dark-white","dark-border-color","dark-shadow","dark-hover"],[1,"title-bar"],[3,"src","name","size"],[1,"bottom-bar"],["class","rate2",4,"ngIf"],["class","action-btn dark-text dark-hover-text",3,"click",4,"ngIf"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzPopconfirmTitle","nzOnConfirm",4,"ngIf"],[1,"rate2"],[1,"action-btn","dark-text","dark-hover-text",3,"click"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"],[1,"action-btn","dark-text","dark-hover-text"]],template:function(i,o){1&i&&(Ye(0,0),C(1,bue,21,20,"div",1)(2,zue,8,8,"a",2)(3,Oue,16,15,"div",3),Ue()),2&i&&(h("ngSwitch",o.cardStyle),d(),h("ngSwitchCase","standard"),d(),h("ngSwitchCase","example"))},dependencies:[zn,St,cl,fu,qm,mi,Zi,H1,Sa,ln,bv,Xi,Fl],styles:[".container[_ngcontent-%COMP%]{position:relative;height:100%}.container[_ngcontent-%COMP%] .breadcrumb1[_ngcontent-%COMP%]{padding:0 0 0 8px;font-size:12px;color:#666}.container[_ngcontent-%COMP%] .breadcrumb1[_ngcontent-%COMP%] .slash[_ngcontent-%COMP%]{margin:0 4px}.container[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%]{color:#00000073;word-break:break-all;white-space:pre-wrap}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{white-space:normal;word-break:break-all}.container[_ngcontent-%COMP%] .stop-icon[_ngcontent-%COMP%]{z-index:3;color:red;font-weight:700;position:absolute;top:12px;right:12px}.standard[_ngcontent-%COMP%]{box-shadow:0 1px 5px #0000001a;border-radius:4px;border:1px solid #eee;display:flex;flex-direction:column;padding-top:5px;transition:all .2s ease-out}.standard[_ngcontent-%COMP%]:hover{transform:translateY(-3px)}.standard[_ngcontent-%COMP%] .rate[_ngcontent-%COMP%]{padding:0 8px}.standard[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%]{flex:1}.standard[_ngcontent-%COMP%] .top[_ngcontent-%COMP%]{margin-top:5px;display:flex;align-items:center;padding:0 8px}.standard[_ngcontent-%COMP%] .top[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-left:8px;font-weight:500;color:#000}.standard[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%]{padding:8px 8px 0;margin-bottom:5px}.standard[_ngcontent-%COMP%] .tagbox[_ngcontent-%COMP%]{display:flex;padding:0 8px;flex-wrap:wrap}.standard[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]{margin:6px 6px 0 0;padding:0 6px;border-radius:2px;font-size:12px;display:flex;align-items:center;transition:all .1s linear;color:#fff}.standard[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:currentColor}.standard[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]:hover{opacity:.8}.standard[_ngcontent-%COMP%] .actionbar[_ngcontent-%COMP%]{display:flex;border-top:1px solid #eee;padding:8px 0;margin-top:10px}.standard[_ngcontent-%COMP%] .actionbar[_ngcontent-%COMP%] .action-item[_ngcontent-%COMP%]{flex:1;text-align:center;font-size:16px;color:#999;cursor:pointer}.standard[_ngcontent-%COMP%] .actionbar[_ngcontent-%COMP%] .action-item[_ngcontent-%COMP%]:hover{color:#1890ff}.standard[_ngcontent-%COMP%] .actionbar[_ngcontent-%COMP%] .action-item[_ngcontent-%COMP%]:not(:nth-last-child(1)){border-right:1px solid #eee}.example2[_ngcontent-%COMP%]{background-color:#fff;padding:8px;border-radius:8px;cursor:pointer;box-shadow:0 0 3px #0000001a,0 1px 2px -1px #0000001a;border:1px solid transparent;transition:all .15s linear;color:#000;display:block}.example2[_ngcontent-%COMP%]:hover{border:1px solid #78b7fa;transform:translateY(-3px)}.example2[_ngcontent-%COMP%]:hover .title[_ngcontent-%COMP%]{color:#007bff}.example2[_ngcontent-%COMP%] .breadcrumb1[_ngcontent-%COMP%]{padding:0 0 4px}.example2[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]{display:flex}.example2[_ngcontent-%COMP%] .right-box[_ngcontent-%COMP%]{flex:1;width:0;margin-left:12px}.example2[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%]{margin:0;font-size:12px} .column-border .column2{border:1px solid transparent!important;box-shadow:0 1px 5px #0000001a;border-radius:4px}.column2[_ngcontent-%COMP%]{background-color:#fff;padding:8px 12px;border-bottom:1px solid #eee;transition:all .15s linear;color:#000;display:block}.column2[_ngcontent-%COMP%] .breadcrumb1[_ngcontent-%COMP%]{padding:0 0 4px}.column2[_ngcontent-%COMP%]:hover{background-color:#f2f3f5}.column2[_ngcontent-%COMP%]:hover .action-btn[_ngcontent-%COMP%]{display:block}.column2[_ngcontent-%COMP%] .title-bar[_ngcontent-%COMP%]{display:flex;align-items:center}.column2[_ngcontent-%COMP%] .right-box[_ngcontent-%COMP%]{margin-top:6px}.column2[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:700;margin-left:10px;font-size:15px}.column2[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%]{margin:0;font-size:12px}.column2[_ngcontent-%COMP%] .bottom-bar[_ngcontent-%COMP%]{display:flex;margin-top:4px}.column2[_ngcontent-%COMP%] .tagbox[_ngcontent-%COMP%]{display:flex;flex:1;justify-content:flex-start;align-items:center;flex-wrap:wrap;row-gap:5px}.column2[_ngcontent-%COMP%] .tagbox[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#fff}.column2[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]{margin-right:6px;padding:0 6px;border-radius:2px;font-size:12px;display:flex;align-items:center;transition:all .1s linear}.column2[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]:hover{opacity:.8}.column2[_ngcontent-%COMP%] .rate2[_ngcontent-%COMP%]{color:#8a919f;margin-right:10px}.column2[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{margin-right:4px;color:#8a919f;font-size:12px;display:none;cursor:pointer}.column2[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:hover{color:#666} .gutter-row .ant-card{height:100%;display:flex;flex-direction:column;justify-content:space-between}"]})}return t})();function Pue(t,n){if(1&t){const e=W();f(0,"li",4),M("click",function(){const o=S(e).index,r=g();return T(r.handleCilck(r.index+o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g();Z("moreActive",o.page===o.index+i)("dark-text-active",o.page===o.index+i),d(),we(" ",e.title," ")}}let _v=(()=>{class t{constructor(){this.index=0,this.data=[],this.page=0,this.onClick=new B}ngOnInit(){}handleCilck(e){this.onClick?.emit?.(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-web-more-menu"]],inputs:{index:"index",data:"data",page:"page"},outputs:{onClick:"onClick"},decls:5,vars:2,consts:[["menu","nzDropdownMenu"],["nz-dropdown","","nzPlacement","bottomRight",1,"more-btn","dark-white","iconfont","icongengduo",2,"color","#08c",3,"nzDropdownMenu"],["nz-menu",""],["nzMenuClassName","navpopover","nz-menu-item","","class","navpopover over-item dark-text dark-hover",3,"moreActive","dark-text-active","click",4,"ngFor","ngForOf"],["nzMenuClassName","navpopover","nz-menu-item","",1,"navpopover","over-item","dark-text","dark-hover",3,"click"]],template:function(i,o){1&i&&(A(0,"span",1),f(1,"nz-dropdown-menu",null,0)(3,"ul",2),C(4,Pue,2,5,"li",3),m()()),2&i&&(h("nzDropdownMenu",Be(2)),d(4),h("ngForOf",o.data))},dependencies:[zn,mi,Aa,Ws,V1,w2],styles:[".over-item[_ngcontent-%COMP%]{cursor:pointer;margin:0;padding:7px 16px;text-align:center}.over-item.moreActive[_ngcontent-%COMP%]{font-weight:700!important;color:#08c}.more-btn[_ngcontent-%COMP%]{z-index:11;position:relative;cursor:pointer}"]})}return t})();const Vue=()=>[16,16],Nue=(t,n,e,i)=>[t,n,e,i];function Fue(t,n){if(1&t){const e=W();f(0,"span",15),M("click",function(){const o=S(e).index;return T(g().handleCilckTopNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g();Z("active",o.page===i)("dark-text-active",o.page===i),d(),we(" ",e.title," ")}}function Rue(t,n){if(1&t){const e=W();f(0,"app-web-more-menu",16),M("onClick",function(o){return S(e),T(g().handleCilckTopNav(o))}),m()}if(2&t){const e=g();h("data",e.websiteList.slice(e.overIndex,9999))("index",e.overIndex)("page",e.page)}}function Lue(t,n){if(1&t){const e=W();f(0,"div",18),M("click",function(){const o=S(e).index;return T(g(2).handleSidebarNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);Z("active",o.id===i)("dark-item-active",o.id===i),d(),we(" ",e.title," ")}}function Bue(t,n){if(1&t&&(f(0,"div"),C(1,Lue,2,5,"div",17),m()),2&t){const e=g();d(),h("ngForOf",e.websiteList[e.page].nav)("ngForTrackBy",e.trackByItem)}}function Hue(t,n){if(1&t&&(f(0,"div",23),A(1,"app-card",24),m()),2&t){const e=n.$implicit,i=n.index,o=g().index,r=g(2);h("nzSpan",8)("nzSm",12)("nzMd",8)("nzXs",24),d(),h("cardStyle",r.settings.lightCardStyle)("dataSource",e)("indexs",nu(8,Nue,r.page,r.id,o,i))("searchKeyword",r.searchKeyword)}}function jue(t,n){if(1&t){const e=W();f(0,"div")(1,"app-toolbar-title",20),M("onCollapse",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).onCollapse(r,s))}),m(),f(2,"div",21),C(3,Hue,2,13,"div",22),m()()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);d(),h("dataSource",e)("index",i),d(),Lt("display",e.collapsed?"none":""),h("nzGutter",Si(7,Vue)),d(),h("ngForOf",e.nav)("ngForTrackBy",o.trackByItemWeb)}}function Yue(t,n){if(1&t&&(f(0,"div"),C(1,jue,4,8,"div",19),m()),2&t){const e=g();d(),h("ngForOf",e.currentList.slice(0,e.sliceMax))("ngForTrackBy",e.trackByItem)}}function Uue(t,n){1&t&&A(0,"app-no-data")}function Wue(t,n){if(1&t&&(f(0,"div",27)(1,"a",28),A(2,"img",29),m()()),2&t){const e=n.$implicit;d(),h("href",e.url||"javascript:void(0)",It)("target",e.url?"_blank":"_self"),d(),h("src",e.src,It)}}function Gue(t,n){if(1&t&&(f(0,"div",25),C(1,Wue,3,3,"div",26),m()),2&t){const e=g();d(),h("ngForOf",e.settings.lightImages)}}let que=(()=>{class t{constructor(e,i){this.router=e,this.activatedRoute=i,this.websiteList=yn,this.currentList=[],this.id=0,this.page=0,this.isLogin=Gi,this.sliceMax=1,this.settings=kn,this.overIndex=Number.MAX_SAFE_INTEGER,this.searchKeyword="",this.onCollapse=(o,r)=>{o.collapsed=!o.collapsed,this.websiteList[this.page].nav[this.id].nav[r]=o,Un(this.websiteList)},this.onCollapseAll=()=>{z5(this.websiteList)}}ngOnInit(){eE(),this.activatedRoute.queryParams.subscribe(()=>{const{id:e,page:i,q:o}=pi();this.page=i,this.id=e,this.searchKeyword=o,this.sliceMax=1,this.currentList=o?A1(this.websiteList,o):Hu(),setTimeout(()=>{this.sliceMax=Number.MAX_SAFE_INTEGER},100)})}trackByItem(e,i){return i.title}trackByItemWeb(e,i){return i.id}collapsed(){try{return!!yn[this.page].nav[this.id].collapsed}catch{return!1}}handleCilckTopNav(e){const i=this.websiteList[e].id||0;this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:e,id:i,_:Date.now()}})}handleSidebarNav(e){const{page:i}=pi();this.websiteList[i].id=e,this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:i,id:e,_:Date.now()}})}ngAfterViewInit(){"ellipsis"===this.settings.lightOverType&&queueMicrotask(()=>{const e=M5(".top-nav .over-item");this.overIndex!==e&&(this.overIndex=e)})}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-light"]],decls:18,vars:10,consts:[["noData",""],[1,"index-wrapper"],[1,"light-box"],[1,"homepage","dark-border-color","dark-bg"],["selector",".main",3,"onCollapse","collapsed"],[1,"top-nav","dark-scrollbar","dark-border-color","dark-bg"],["class","over-item ripple-btn dark-text",3,"active","dark-text-active","click",4,"ngFor","ngForOf","ngForTrackBy"],[3,"data","index","page","onClick",4,"ngIf"],[1,"index-section","user-select-none","dark-bg"],["id","sidebar",1,"sidebar","dark-bg","dark-border-color"],[4,"ngIf"],[1,"main","dark-scrollbar"],[4,"ngIf","ngIfElse"],["class","right dark-scrollbar",4,"ngIf"],[1,"layer-bg","dark-bg"],[1,"over-item","ripple-btn","dark-text",3,"click"],[3,"onClick","data","index","page"],["class","tag dark-text",3,"active","dark-item-active","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"tag","dark-text",3,"click"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"onCollapse","dataSource","index"],["nz-row","",2,"padding","0 10px",3,"nzGutter"],["class","gutter-row","nz-col","",3,"nzSpan","nzSm","nzMd","nzXs",4,"ngFor","ngForOf","ngForTrackBy"],["nz-col","",1,"gutter-row",3,"nzSpan","nzSm","nzMd","nzXs"],[1,"column-border",3,"cardStyle","dataSource","indexs","searchKeyword"],[1,"right","dark-scrollbar"],["class","aditem",4,"ngFor","ngForOf"],[1,"aditem"],[3,"href","target"],[1,"adsimg",3,"src"]],template:function(i,o){if(1&i){const r=W();f(0,"div",1)(1,"div",2)(2,"main",3)(3,"app-fixbar",4),M("onCollapse",function(){return S(r),T(o.onCollapseAll())}),m(),f(4,"nav",5),C(5,Fue,2,5,"span",6)(6,Rue,1,3,"app-web-more-menu",7),m(),f(7,"section",8)(8,"aside",9),C(9,Bue,2,2,"div",10),m(),f(10,"div",11),A(11,"app-search-engine"),C(12,Yue,2,2,"div",12)(13,Uue,1,0,"ng-template",null,0,ot),m()()(),C(15,Gue,2,1,"div",13),m(),A(16,"app-footer"),m(),A(17,"div",14)}if(2&i){const r=Be(14);Z("noimg",o.settings.lightImages.length<=0),d(3),h("collapsed",o.collapsed()),d(2),h("ngForOf",o.websiteList.slice(0,o.overIndex))("ngForTrackBy",o.trackByItem),d(),h("ngIf",o.overIndex0)("ngIfElse",r),d(3),h("ngIf",o.settings.lightImages.length>0)}},dependencies:[zn,St,D1,wl,z2,A2,hp,B1,vv,xp,_v],styles:['.layer-bg[_ngcontent-%COMP%]{z-index:-1;position:fixed;inset:0}@media (max-width: 1280px){.index-wrapper[_ngcontent-%COMP%]{--width: 800px;--rightWidth: 200px}.index-wrapper.noimg[_ngcontent-%COMP%]{--width: 1000px}}@media (max-width: 1080px){.index-wrapper[_ngcontent-%COMP%]{--width: 800px !important}.right[_ngcontent-%COMP%]{display:none}}@media (max-width: 1000px){.light-box[_ngcontent-%COMP%]{width:100%!important}}@media (max-width: 810px){.index-wrapper[_ngcontent-%COMP%]{--top: 0}}.index-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100vh;padding-top:var(--top, 15px)}.index-wrapper[_ngcontent-%COMP%] .light-box[_ngcontent-%COMP%]{display:flex;justify-content:center;height:100%;margin:0 auto;column-gap:20px}.index-wrapper[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{width:var(--rightWidth, 230px);min-width:var(--rightWidth, 230px);max-height:calc(100vh - 50px);overflow:hidden;overflow-y:auto}.index-wrapper[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .adsimg[_ngcontent-%COMP%]{display:block;width:100%;border-radius:4px}.index-wrapper[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .aditem[_ngcontent-%COMP%]{margin-bottom:20px;border-radius:4px;overflow:hidden}.homepage[_ngcontent-%COMP%]{width:var(--width, 1000px);height:100%;position:relative;background:#fbfbfb;border-radius:5px;overflow:hidden;transition:.1s linear;border:1px solid transparent}.homepage[_ngcontent-%COMP%] .top-nav[_ngcontent-%COMP%]{padding:10px 0;overflow:none;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #eee;text-align:center;-webkit-user-select:none;user-select:none}.homepage[_ngcontent-%COMP%] .top-nav[_ngcontent-%COMP%] .more-btn, .homepage[_ngcontent-%COMP%] .top-nav[_ngcontent-%COMP%] .ripple-btn[_ngcontent-%COMP%]{height:40px;position:relative;padding:0 15px;color:#000;cursor:pointer;border-radius:5px;overflow:hidden;display:inline-flex;align-items:center}.homepage[_ngcontent-%COMP%] .top-nav[_ngcontent-%COMP%] .more-btn.active:after, .homepage[_ngcontent-%COMP%] .top-nav[_ngcontent-%COMP%] .ripple-btn.active[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:3px;border-radius:2px;background-color:#108ee9}.index-section[_ngcontent-%COMP%]{position:relative;height:calc(100% - 52px);overflow:hidden}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%]{position:relative;width:80px;height:100%;text-align:center;border-right:1px solid #eee;overflow-y:auto}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag[_ngcontent-%COMP%]{position:relative;cursor:pointer;padding:11px 0}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag.active[_ngcontent-%COMP%]{color:#1890ff}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag.active[_ngcontent-%COMP%]:after, .index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag.active[_ngcontent-%COMP%]:before{content:"";position:absolute;left:0;width:100%}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag.active[_ngcontent-%COMP%]:after{top:0;border-top:1px dashed #ccc}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag.active[_ngcontent-%COMP%]:before{content:"";bottom:0;border-bottom:1px dashed #ccc}.index-section[_ngcontent-%COMP%] .main[_ngcontent-%COMP%]{width:calc(100% - 80px);position:absolute;top:0;left:80px;bottom:30px;padding-bottom:50px;overflow:hidden;overflow-y:auto}']})}return t})();const Que=(t,n,e,i)=>[t,n,e,i];function Kue(t,n){if(1&t){const e=W();f(0,"div",22),M("click",function(){const o=S(e).index;return T(g().handleCilckTopMenu(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g();Z("active",o.page===i)("dark-text-active",o.page===i),d(),we(" ",e.title," ")}}function $ue(t,n){if(1&t){const e=W();f(0,"app-web-more-menu",23),M("onClick",function(o){return S(e),T(g().handleCilckTopMenu(o))}),m()}if(2&t){const e=g();h("data",e.websiteList.slice(e.overIndex,9999))("index",e.overIndex)("page",e.page)}}function Jue(t,n){1&t&&A(0,"img",29),2&t&&h("src",g().$implicit.icon,It)}function Zue(t,n){if(1&t){const e=W();f(0,"div",26),M("click",function(){const o=S(e).index;return T(g(2).handleSidebarNav(o))}),C(1,Jue,1,1,"img",27),f(2,"span",28),w(3),m()()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);Z("active",o.id===i)("dark-item-active",o.id===i),d(),h("ngIf",e.icon),d(2),D(e.title)}}function Xue(t,n){if(1&t&&(f(0,"div",24),C(1,Zue,4,6,"div",25),m()),2&t){const e=g();d(),h("ngForOf",e.websiteList[e.page].nav)("ngForTrackBy",e.trackByItem)}}function e2e(t,n){if(1&t){const e=W();f(0,"div",30),M("click",function(){const o=S(e).index;return T(g().handleCheckThree(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index;Z("active",g().selectedIndex===i)("none",!e.title),d(),we(" ",e.title," ")}}function t2e(t,n){if(1&t&&A(0,"app-card",32),2&t){const e=n.$implicit,i=n.index,o=g(2);h("indexs",nu(4,Que,o.page,o.id,o.selectedIndex,i))("cardStyle",o.settings.superCardStyle)("dataSource",e)("searchKeyword",o.searchKeyword)}}function n2e(t,n){if(1&t&&(f(0,"div"),C(1,t2e,1,9,"app-card",31),m()),2&t){const e=g();d(),h("ngForOf",e.currentList[e.selectedIndex].nav)("ngForTrackBy",e.trackByItemWeb)}}function i2e(t,n){1&t&&A(0,"app-no-data")}function o2e(t,n){if(1&t){const e=W();f(0,"div",33)(1,"span",34),M("click",function(){return S(e),T(g().openCreateWebModal())}),w(2),m()()}if(2&t){const e=g();d(2),D(e.$t(e.isLogin?"_add":"_apply"))}}function r2e(t,n){if(1&t&&(f(0,"div",37)(1,"a",38),A(2,"img",39),m()()),2&t){const e=n.$implicit;d(),h("href",e.url||"javascript:void(0)",It)("target",e.url?"_blank":"_self"),d(),h("src",e.src,It)}}function s2e(t,n){if(1&t&&(f(0,"div",35),C(1,r2e,3,3,"div",36),m()),2&t){const e=g();d(),h("ngForOf",e.settings.superImages)}}let a2e=(()=>{class t{constructor(e,i){this.router=e,this.activatedRoute=i,this.$t=be,this.LOGO_CDN=kn.favicon,this.websiteList=yn,this.currentList=[],this.id=0,this.page=0,this.selectedIndex=0,this.title=kn.title.trim().split(/\s/)[0],this.searchEngineList=D5,this.isLogin=Gi,this.settings=kn,this.overIndex=Number.MAX_SAFE_INTEGER,this.searchKeyword=""}ngOnInit(){this.activatedRoute.queryParams.subscribe(()=>{const{id:e,page:i,q:o}=pi();this.page=i,this.id=e,this.searchKeyword=o,this.handleCheckThree(0),this.currentList=o?A1(this.websiteList,o):Hu()})}ngAfterViewInit(){"ellipsis"===this.settings.superOverType&&queueMicrotask(()=>{const e=M5(".topnav .over-item");this.overIndex!==e&&(this.overIndex=e)})}handleCilckTopMenu(e){const i=this.websiteList[e].id||0;this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:e,id:i,_:Date.now()}})}handleSidebarNav(e){const{page:i}=pi();this.websiteList[i].id=e,this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:i,id:e,_:Date.now()}})}handleCheckThree(e){this.selectedIndex=e}trackByItem(e,i){return i.title}trackByItemWeb(e,i){return i.id}openCreateWebModal(){Ei.emit("CREATE_WEB",{threeIndex:this.selectedIndex})}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-side"]],decls:24,vars:15,consts:[["noData",""],[1,"super-xjh","dark-bg"],[1,"sheader","dark-bg"],[1,"headerbox"],[1,"hitem"],[1,"logo",3,"src"],[1,"title","dark-white"],[1,"topnav","dark-scrollbar"],["class","hitem over-item dark-text",3,"active","dark-text-active","click",4,"ngFor","ngForOf","ngForTrackBy"],["class","flex-center",3,"data","index","page","onClick",4,"ngIf"],[1,"main-box"],["class","left dark-bg dark-border-color dark-scrollbar",4,"ngIf"],[1,"middle","dark-bg"],[1,"search-t","dark-border-color"],["size","small"],[1,"bar","dark-scrollbar"],["class","bar-item",3,"active","none","click",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngIf","ngIfElse"],["class","apply",4,"ngIf"],["class","right dark-scrollbar",4,"ngIf"],[2,"color","#ccc"],[3,"showCollapse"],[1,"hitem","over-item","dark-text",3,"click"],[1,"flex-center",3,"onClick","data","index","page"],[1,"left","dark-bg","dark-border-color","dark-scrollbar"],["class","bar-item dark-text dark-hover ellipsis",3,"active","dark-item-active","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"bar-item","dark-text","dark-hover","ellipsis",3,"click"],["class","sideicon",3,"src",4,"ngIf"],[1,"ellipsis"],[1,"sideicon",3,"src"],[1,"bar-item",3,"click"],[3,"indexs","cardStyle","dataSource","searchKeyword",4,"ngFor","ngForOf","ngForTrackBy"],[3,"indexs","cardStyle","dataSource","searchKeyword"],[1,"apply"],[1,"appbtn",3,"click"],[1,"right","dark-scrollbar"],["class","aditem",4,"ngFor","ngForOf"],[1,"aditem"],[3,"href","target"],[1,"adsimg",3,"src"]],template:function(i,o){if(1&i&&(f(0,"section",1)(1,"header",2)(2,"div",3)(3,"div",4),A(4,"img",5),f(5,"span",6),w(6),m()(),f(7,"div",7),C(8,Kue,2,5,"div",8)(9,$ue,1,3,"app-web-more-menu",9),m()()(),f(10,"div",10),C(11,Xue,2,2,"div",11),f(12,"div",12)(13,"div",13),A(14,"app-search-engine",14),f(15,"div",15),C(16,e2e,2,5,"div",16),m()(),C(17,n2e,2,2,"div",17)(18,i2e,1,0,"ng-template",null,0,ot)(20,o2e,3,1,"div",18),m(),C(21,s2e,2,1,"div",19),m(),A(22,"app-footer",20)(23,"app-fixbar",21),m()),2&i){const r=Be(19);d(4),h("src",o.LOGO_CDN,It),d(2),D(o.settings.superTitle||o.title),d(2),h("ngForOf",o.websiteList.slice(0,o.overIndex))("ngForTrackBy",o.trackByItem),d(),h("ngIf",o.overIndex0),d(2),h("showCollapse",!1)}},dependencies:[zn,St,z2,A2,hp,B1,xp,_v],styles:['@media (max-width: 1200px){.super-xjh[_ngcontent-%COMP%]{--width: 960px;--leftWidth: 180px;--rightWidth: 200px}}@media (max-width: 998px){.super-xjh[_ngcontent-%COMP%]{--width: 100%;--leftWidth: 150px;--rightWidth: 160px}}@media (max-width: 768px){.super-xjh[_ngcontent-%COMP%]{--width: 100%;--leftWidth: 100%;--rightWidth: 100%}.main-box[_ngcontent-%COMP%]{flex-direction:column;row-gap:20px}.sheader[_ngcontent-%COMP%]{z-index:3;position:sticky;top:0;left:0}.right[_ngcontent-%COMP%], .left[_ngcontent-%COMP%]{position:initial!important;max-height:initial!important}.right[_ngcontent-%COMP%]{padding:0 20px;background-color:#fff}}@media (min-width: 1200px){.super-xjh[_ngcontent-%COMP%]{--width: 1150px;--leftWidth: 180px;--rightWidth: 250px}}.super-xjh[_ngcontent-%COMP%]{--stickyTop: 20px;background-color:#f2f3f5;min-height:100vh;display:flex;flex-direction:column}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%]{display:flex;align-items:center;background-color:#fff;height:70px;box-shadow:0 1px 5px #00000017}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .headerbox[_ngcontent-%COMP%]{width:var(--width);overflow:hidden;overflow-x:auto;margin:0 auto;display:flex}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:40px;height:40px}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#000;margin-left:4px;-webkit-user-select:none;user-select:none;margin-right:8px}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .hitem[_ngcontent-%COMP%]{display:flex;align-items:center;font-weight:700;font-size:18px;margin-left:10px;white-space:nowrap}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .hitem[_ngcontent-%COMP%]:hover{color:#000}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .more-btn, .super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .over-item[_ngcontent-%COMP%]{color:#515767;font-weight:400;font-size:14px;margin-left:0;padding:0 10px;cursor:pointer}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .more-btn.active, .super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .over-item.active[_ngcontent-%COMP%]{font-weight:700;color:#1e80ff}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .topnav[_ngcontent-%COMP%]{display:flex;overflow:hidden;overflow-x:auto}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%]{width:var(--width);margin:24px auto 0;display:flex;flex:1;column-gap:20px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{position:sticky;top:var(--stickyTop);width:var(--leftWidth);min-width:var(--leftWidth);text-align:left;background-color:#fff;padding:8px;font-size:16px;border-radius:4px;overflow:hidden;overflow-y:auto;max-height:calc(100vh - 100px);border:1px solid transparent}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .bar-item[_ngcontent-%COMP%]{padding:10px 17px;cursor:pointer;border-radius:4px;display:flex;align-items:center;color:#515767}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .bar-item[_ngcontent-%COMP%]:hover{background-color:#f7f8fa}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .bar-item.active[_ngcontent-%COMP%]{font-weight:700;color:#1e80ff;background-color:#eaf2ff}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .sideicon[_ngcontent-%COMP%]{width:20px;height:20px;margin-right:12px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%]{position:relative;background:#fff;flex:1;border-radius:4px;overflow:hidden}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle.noads[_ngcontent-%COMP%]{width:initial}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .search-t[_ngcontent-%COMP%]{padding:8px 12px 0;border-bottom:1px solid #eee;margin-bottom:12px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar[_ngcontent-%COMP%]{margin-top:10px;display:flex;overflow:hidden;overflow-x:auto;padding-bottom:8px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar-item[_ngcontent-%COMP%]{position:relative;padding:0 10px;white-space:nowrap;cursor:pointer;color:#515767}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar-item[_ngcontent-%COMP%]:hover{color:#1e80ff}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar-item.active[_ngcontent-%COMP%]{font-weight:700}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar-item.active[_ngcontent-%COMP%]:after{content:"";display:block;position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:40%;height:3px;background-color:#1e80ff;border-radius:2px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar-item.none[_ngcontent-%COMP%]{display:none}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .apply[_ngcontent-%COMP%]{text-align:center;padding:20px 0}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .appbtn[_ngcontent-%COMP%]{cursor:pointer;color:#1890ff;-webkit-user-select:none;user-select:none;font-size:12px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{position:sticky;top:var(--stickyTop);width:var(--rightWidth);min-width:var(--rightWidth);max-height:calc(100vh - 100px);overflow:hidden;overflow-y:auto}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .adsimg[_ngcontent-%COMP%]{display:block;width:100%;border-radius:4px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .aditem[_ngcontent-%COMP%]{margin-bottom:20px;border-radius:4px;overflow:hidden}.super-xjh[_ngcontent-%COMP%] .standard{margin-bottom:15px}.super-xjh[_ngcontent-%COMP%] #app-footer{margin-top:40px}.super-xjh[_ngcontent-%COMP%] #app-footer, .super-xjh[_ngcontent-%COMP%] #app-footer .copyright{margin-bottom:10px;color:#666}']})}return t})();const l2e=["*"],c2e=t=>({height:t});function d2e(t,n){if(1&t&&(f(0,"div",4)(1,"a",5),A(2,"img",6),m()()),2&t){const e=n.$implicit,i=g();d(),h("href",e.url||"javascript:void(0)",It)("target",e.url?"_blank":""),d(),Z("height100",i.height>0),h("src",e.src,It)}}let OO=(()=>{class t{constructor(){this.images=[],this.autoplay=!0,this.height=300,this.mySwiper=null,this.swiperId="swiper",this.swiperId="swiper"+parseInt(String(1e3*Math.random()))}ngAfterViewInit(){this.initSwiper()}ngOnDestroy(){this.destroySwiper()}initSwiper(){this.destroySwiper();const e=document.getElementById(this.swiperId);e&&Swiper?this.mySwiper=new Swiper(e,{autoplay:!!this.autoplay&&{delay:5e3},pagination:{el:".swiper-pagination",clickable:!0}}):console.log("swiper not found")}destroySwiper(){this.mySwiper&&(this.mySwiper?.destroy?.(),this.mySwiper=null)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-swiper"]],inputs:{images:"images",autoplay:"autoplay",height:"height"},ngContentSelectors:l2e,decls:5,vars:5,consts:[[1,"swiper",3,"id","ngStyle"],[1,"swiper-wrapper"],["class","swiper-slide",4,"ngFor","ngForOf"],[1,"swiper-pagination"],[1,"swiper-slide"],[3,"href","target"],["draggable","false",1,"bgimg",3,"src"]],template:function(i,o){1&i&&(Et(),f(0,"div",0)(1,"div",1),C(2,d2e,3,5,"div",2),m(),A(3,"div",3),_t(4),m()),2&i&&(h("id",o.swiperId)("ngStyle",mr(3,c2e,o.height<=0?"":o.height+"px")),d(2),h("ngForOf",o.images))},dependencies:[zn,ti],styles:[".swiper[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}.swiper[_ngcontent-%COMP%] .swiper-pagination-bullet{cursor:pointer}.swiper[_ngcontent-%COMP%] .swiper-pagination-bullet-active{background-color:#fff!important}.swiper[_ngcontent-%COMP%] .bgimg[_ngcontent-%COMP%]{width:100%;object-fit:cover}"]})}return t})();const u2e=()=>[16,16],h2e=(t,n,e,i)=>[t,n,e,i];function p2e(t,n){if(1&t&&(f(0,"div",14),A(1,"app-swiper",15),f(2,"div",16)(3,"h1",17),w(4),m(),A(5,"pre",18)(6,"app-search-engine"),m()()),2&t){const e=g();Z("bootstrap",e.settings.simThemeHeight<260),d(),h("images",e.settings.simThemeImages)("autoplay",e.settings.simThemeAutoplay)("height",e.settings.simThemeHeight),d(3),we(" ",e.settings.simTitle||e.settings.title," "),d(),h("innerHTML",e.description,Gn)}}function f2e(t,n){if(1&t){const e=W();f(0,"span",19),M("click",function(){const o=S(e).index;return T(g().handleCilckTopNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g();Z("active",o.page===i)("dark-text-active",o.page===i),d(),we(" ",e.title," ")}}function m2e(t,n){if(1&t){const e=W();f(0,"app-web-more-menu",20),M("onClick",function(o){return S(e),T(g().handleCilckTopNav(o))}),m()}if(2&t){const e=g();h("data",e.websiteList.slice(e.overIndex,9999))("index",e.overIndex)("page",e.page)}}function g2e(t,n){if(1&t){const e=W();f(0,"div",23),M("click",function(){const o=S(e).index;return T(g(2).handleSidebarNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);Z("active",o.id===i)("dark-item-active",o.id===i),d(),we(" ",e.title," ")}}function v2e(t,n){if(1&t&&(f(0,"nav",21),C(1,g2e,2,5,"div",22),m()),2&t){const e=g();d(),h("ngForOf",e.websiteList[e.page].nav)("ngForTrackBy",e.trackByItem)}}function b2e(t,n){if(1&t&&(f(0,"div",29),A(1,"app-card",30),m()),2&t){const e=n.$implicit,i=n.index,o=g().index,r=g(2);h("nzSpan",8)("nzSm",12)("nzMd",12)("nzLg",8)("nzXs",24),d(),h("cardStyle","example")("dataSource",e)("indexs",nu(9,h2e,r.page,r.id,o,i))("searchKeyword",r.searchKeyword)}}function _2e(t,n){if(1&t){const e=W();f(0,"div")(1,"div",25)(2,"app-toolbar-title",26),M("onCollapse",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).onCollapse(r,s))}),m(),f(3,"div",27),C(4,b2e,2,14,"div",28),m()()()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);d(2),h("dataSource",e)("index",i),d(),Lt("display",e.collapsed?"none":""),h("nzGutter",Si(7,u2e)),d(),h("ngForOf",e.nav)("ngForTrackBy",o.trackByItemWeb)}}function y2e(t,n){if(1&t&&(f(0,"div"),C(1,_2e,5,8,"div",24),m()),2&t){const e=g();d(),h("ngForOf",e.currentList.slice(0,e.sliceMax))("ngForTrackBy",e.trackByItem)}}function w2e(t,n){1&t&&A(0,"app-no-data")}let C2e=(()=>{class t{constructor(e,i){this.router=e,this.activatedRoute=i,this.websiteList=yn,this.currentList=[],this.id=0,this.page=0,this.settings=kn,this.description=kn.simThemeDesc.replace("${total}",String(Gi?p3.loginViewCount:p3.userViewCount)),this.isLogin=Gi,this.sliceMax=1,this.overIndex=Number.MAX_SAFE_INTEGER,this.searchKeyword="",this.onCollapse=(o,r)=>{o.collapsed=!o.collapsed,this.websiteList[this.page].nav[this.id].nav[r]=o,Un(this.websiteList)},this.onCollapseAll=()=>{z5(this.websiteList)}}ngOnInit(){this.activatedRoute.queryParams.subscribe(()=>{const{id:e,page:i,q:o}=pi();this.page=i,this.id=e,this.searchKeyword=o,this.sliceMax=1,this.currentList=o?A1(this.websiteList,o):Hu(),setTimeout(()=>{this.sliceMax=Number.MAX_SAFE_INTEGER},100)})}ngOnDestroy(){}ngAfterViewInit(){"ellipsis"===this.settings.simOverType&&queueMicrotask(()=>{const e=M5(".top-nav .over-item");this.overIndex!==e&&(this.overIndex=e)})}handleSidebarNav(e){const{page:i}=pi();this.websiteList[i].id=e,this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:i,id:e,_:Date.now()}})}handleCilckTopNav(e){const i=this.websiteList[e].id||0;this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:e,id:i,_:Date.now()}})}collapsed(){try{return!!yn[this.page].nav[this.id].collapsed}catch{return!1}}trackByItem(e,i){return i.title}trackByItemWeb(e,i){return i.id}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-sim"]],decls:15,vars:8,consts:[["noData",""],[1,"sim"],["class","wallpaper",3,"bootstrap",4,"ngIf"],[1,"hidden","search-sm"],[1,"top-nav","dark-border-color","dark-scrollbar","dark-bg"],["class","over-item dark-text",3,"active","dark-text-active","click",4,"ngFor","ngForOf","ngForTrackBy"],[3,"data","index","page","onClick",4,"ngIf"],[1,"wrapper"],["class","sidebar dark-bg","id","sidebar",4,"ngIf"],[1,"site-box","dark-bg"],[4,"ngIf","ngIfElse"],["className","sim-footer"],[3,"onCollapse","collapsed"],[1,"sim-bg","dark-bg"],[1,"wallpaper"],[3,"images","autoplay","height"],[1,"bar"],[1,"title","dark-white"],[1,"description","dark-white",3,"innerHTML"],[1,"over-item","dark-text",3,"click"],[3,"onClick","data","index","page"],["id","sidebar",1,"sidebar","dark-bg"],["class","ripple-btn dark-text dark-hover",3,"active","dark-item-active","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"ripple-btn","dark-text","dark-hover",3,"click"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"nav-wrapper"],[3,"onCollapse","dataSource","index"],["nz-row","",3,"nzGutter"],["class","gutter-row","nz-col","",3,"nzSpan","nzSm","nzMd","nzLg","nzXs",4,"ngFor","ngForOf","ngForTrackBy"],["nz-col","",1,"gutter-row",3,"nzSpan","nzSm","nzMd","nzLg","nzXs"],[1,"column-border",3,"cardStyle","dataSource","indexs","searchKeyword"]],template:function(i,o){if(1&i){const r=W();f(0,"div",1),C(1,p2e,7,7,"div",2),A(2,"app-search-engine",3),f(3,"nav",4),C(4,f2e,2,5,"span",5)(5,m2e,1,3,"app-web-more-menu",6),m(),f(6,"div",7),C(7,v2e,2,2,"nav",8),f(8,"aside",9),C(9,y2e,2,2,"div",10)(10,w2e,1,0,"ng-template",null,0,ot),m()()(),A(12,"app-footer",11),f(13,"app-fixbar",12),M("onCollapse",function(){return S(r),T(o.onCollapseAll())}),m(),A(14,"div",13)}if(2&i){const r=Be(11);d(),h("ngIf",o.settings.simThemeImages.length>0),d(3),h("ngForOf",o.websiteList.slice(0,o.overIndex))("ngForTrackBy",o.trackByItem),d(),h("ngIf",o.overIndex0)("ngIfElse",r),d(4),h("collapsed",o.collapsed())}},dependencies:[zn,St,D1,wl,OO,z2,A2,hp,B1,vv,xp,_v],styles:['@media (max-width: 1280px){.sim[_ngcontent-%COMP%]{--width: 1000px !important}}@media (max-width: 1080px){.sim[_ngcontent-%COMP%]{--width: 900px !important}.sim[_ngcontent-%COMP%] .bootstrap[_ngcontent-%COMP%]{--titleSize: 32px;--textSize: 14px}}@media (max-width: 980px){.sim[_ngcontent-%COMP%]{--width: 768px !important}.sim[_ngcontent-%COMP%] .bootstrap[_ngcontent-%COMP%]{--titleSize: 26px;--textSize: 12px}}@media (max-width: 800px){.bar[_ngcontent-%COMP%]{display:none}.search-sm[_ngcontent-%COMP%]{display:block;margin-top:10px}.wrapper[_ngcontent-%COMP%]{flex-direction:column}.top-nav[_ngcontent-%COMP%]{z-index:9;background-color:#fff;position:sticky;top:0;left:0;-webkit-user-select:none;user-select:none}.sidebar[_ngcontent-%COMP%]{position:relative!important;top:0!important;width:100%!important}.sim[_ngcontent-%COMP%]{--width: 100% !important}}.sim-bg[_ngcontent-%COMP%]{z-index:-1;position:fixed;inset:0;background:#f0f2f5}.top-nav[_ngcontent-%COMP%]{max-width:var(--width);width:100%;margin:10px auto;padding:10px;overflow:none;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #eee;text-align:center}.top-nav[_ngcontent-%COMP%] .more-btn, .top-nav[_ngcontent-%COMP%] .over-item[_ngcontent-%COMP%]{position:relative;display:inline-block;padding:10px 15px;color:#666;cursor:pointer;overflow:hidden}.top-nav[_ngcontent-%COMP%] .more-btn.active:after, .top-nav[_ngcontent-%COMP%] .over-item.active[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:3px;border-radius:2px;background-color:#108ee9}.top-nav[_ngcontent-%COMP%] .over-item[_ngcontent-%COMP%]:hover{color:#000}.sim[_ngcontent-%COMP%]{--width: 1200px;display:flex;flex-direction:column;min-height:100vh}.sim[_ngcontent-%COMP%] .wallpaper[_ngcontent-%COMP%]{position:relative;background-color:#fff}.sim[_ngcontent-%COMP%] .wallpaper[_ngcontent-%COMP%] .bar[_ngcontent-%COMP%]{z-index:10;position:absolute;max-width:600px;top:50%;left:50%;transform:translate(-50%,-50%)}.sim[_ngcontent-%COMP%] .wallpaper[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;margin-bottom:10px;font-size:var(--titleSize, 36px);text-align:center;line-height:1.3;-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap}.sim[_ngcontent-%COMP%] .wallpaper[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{text-align:center;color:#fff;margin-bottom:10px;font-weight:700;font-size:var(--textSize, 16px);white-space:pre-wrap;-webkit-user-select:none;user-select:none;pointer-events:none}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]{flex:1;position:relative;width:var(--width);padding-bottom:50px;margin:0 auto;display:flex;column-gap:30px;row-gap:20px}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%]{position:sticky;top:20px;left:0;width:180px;height:min-content;padding:10px 0;text-align:center;background-color:#fff;box-shadow:0 0 1px #ccc;max-height:calc(100vh - 50px);overflow-y:auto;border-radius:4px}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .ripple-btn[_ngcontent-%COMP%]{padding:14px 0;cursor:pointer;border-radius:5px;transition:.1s linear;-webkit-user-select:none;user-select:none;font-weight:500}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .ripple-btn[_ngcontent-%COMP%]:hover{background-color:#00000008}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .ripple-btn.active[_ngcontent-%COMP%]{color:#409eff;background-color:#e7f1fd}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .site-box[_ngcontent-%COMP%]{flex:1;position:relative;background-color:#fff;padding:15px;border-radius:4px}.sim[_ngcontent-%COMP%] .search-engine .input-wrapper{width:330px!important} #app-footer, #app-footer .copyright{margin-bottom:10px;color:#666}']})}return t})();const yv=["*"],z2e=["nz-sider-trigger",""];function A2e(t,n){}function S2e(t,n){if(1&t&&C(0,A2e,0,0,"ng-template",2),2&t){const e=g(),i=Be(5);h("ngTemplateOutlet",e.nzZeroTrigger||i)}}function T2e(t,n){}function M2e(t,n){if(1&t&&C(0,T2e,0,0,"ng-template",2),2&t){const e=g(),i=Be(3);h("ngTemplateOutlet",e.nzTrigger||i)}}function D2e(t,n){1&t&&A(0,"span",3),2&t&&h("nzType",g(2).nzCollapsed?"left":"right")}function E2e(t,n){1&t&&A(0,"span",3),2&t&&h("nzType",g(2).nzCollapsed?"right":"left")}function x2e(t,n){1&t&&C(0,D2e,1,1,"span",3)(1,E2e,1,1,"span",3),2&t&&he(g().nzReverseArrow?0:1)}function k2e(t,n){1&t&&A(0,"span",4)}function I2e(t,n){if(1&t){const e=W();f(0,"div",2),M("click",function(){S(e);const o=g();return T(o.setCollapsed(!o.nzCollapsed))}),m()}if(2&t){const e=g();h("matchBreakPoint",e.matchBreakPoint)("nzCollapsedWidth",e.nzCollapsedWidth)("nzCollapsed",e.nzCollapsed)("nzBreakpoint",e.nzBreakpoint)("nzReverseArrow",e.nzReverseArrow)("nzTrigger",e.nzTrigger)("nzZeroTrigger",e.nzZeroTrigger)("siderWidth",e.widthSetting)}}let PO=(()=>{class t{constructor(e,i){this.elementRef=e,this.renderer=i,this.renderer.addClass(this.elementRef.nativeElement,"ant-layout-content")}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-content"]],exportAs:["nzContent"],standalone:!0,features:[me],ngContentSelectors:yv,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})(),VO=(()=>{class t{constructor(){this.nzCollapsed=!1,this.nzReverseArrow=!1,this.nzZeroTrigger=null,this.nzTrigger=void 0,this.matchBreakPoint=!1,this.nzCollapsedWidth=null,this.siderWidth=null,this.nzBreakpoint=null,this.isZeroTrigger=!1,this.isNormalTrigger=!1}updateTriggerType(){this.isZeroTrigger=0===this.nzCollapsedWidth&&(this.nzBreakpoint&&this.matchBreakPoint||!this.nzBreakpoint),this.isNormalTrigger=0!==this.nzCollapsedWidth}ngOnInit(){this.updateTriggerType()}ngOnChanges(){this.updateTriggerType()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-sider-trigger",""]],hostVars:10,hostBindings:function(i,o){2&i&&(Lt("width",o.isNormalTrigger?o.siderWidth:null),Z("ant-layout-sider-trigger",o.isNormalTrigger)("ant-layout-sider-zero-width-trigger",o.isZeroTrigger)("ant-layout-sider-zero-width-trigger-right",o.isZeroTrigger&&o.nzReverseArrow)("ant-layout-sider-zero-width-trigger-left",o.isZeroTrigger&&!o.nzReverseArrow))},inputs:{nzCollapsed:"nzCollapsed",nzReverseArrow:"nzReverseArrow",nzZeroTrigger:"nzZeroTrigger",nzTrigger:"nzTrigger",matchBreakPoint:"matchBreakPoint",nzCollapsedWidth:"nzCollapsedWidth",siderWidth:"siderWidth",nzBreakpoint:"nzBreakpoint"},exportAs:["nzSiderTrigger"],standalone:!0,features:[xe,me],attrs:z2e,decls:6,vars:2,consts:[["defaultTrigger",""],["defaultZeroTrigger",""],[3,"ngTemplateOutlet"],["nz-icon","",3,"nzType"],["nz-icon","","nzType","bars"]],template:function(i,o){1&i&&C(0,S2e,1,1,null,2)(1,M2e,1,1,null,2)(2,x2e,2,1,"ng-template",null,0,ot)(4,k2e,1,0,"ng-template",null,1,ot),2&i&&(he(o.isZeroTrigger?0:-1),d(),he(o.isNormalTrigger?1:-1))},dependencies:[Nn,In,ln],encapsulation:2,changeDetection:0})}return t})(),wv=(()=>{class t{updateStyleMap(){this.widthSetting=this.nzCollapsed?`${this.nzCollapsedWidth}px`:M1(this.nzWidth),this.flexSetting=`0 0 ${this.widthSetting}`,this.cdr.markForCheck()}updateMenuInlineCollapsed(){this.nzMenuDirective&&"inline"===this.nzMenuDirective.nzMode&&0!==this.nzCollapsedWidth&&this.nzMenuDirective.setInlineCollapsed(this.nzCollapsed)}setCollapsed(e){e!==this.nzCollapsed&&(this.nzCollapsed=e,this.nzCollapsedChange.emit(e),this.updateMenuInlineCollapsed(),this.updateStyleMap(),this.cdr.markForCheck())}constructor(e,i,o){this.platform=e,this.cdr=i,this.breakpointService=o,this.destroy$=new V,this.nzMenuDirective=null,this.nzCollapsedChange=new B,this.nzWidth=200,this.nzTheme="dark",this.nzCollapsedWidth=80,this.nzBreakpoint=null,this.nzZeroTrigger=null,this.nzTrigger=void 0,this.nzReverseArrow=!1,this.nzCollapsible=!1,this.nzCollapsed=!1,this.matchBreakPoint=!1,this.flexSetting=null,this.widthSetting=null}ngOnInit(){this.updateStyleMap(),this.platform.isBrowser&&this.breakpointService.subscribe(Jte,!0).pipe(P(this.destroy$)).subscribe(e=>{const i=this.nzBreakpoint;i&&function fne(){const t=new V;return Promise.resolve().then(()=>t.next()),t.pipe(io(1))}().subscribe(()=>{this.matchBreakPoint=!e[i],this.setCollapsed(this.matchBreakPoint),this.cdr.markForCheck()})})}ngOnChanges(e){const{nzCollapsed:i,nzCollapsedWidth:o,nzWidth:r}=e;(i||o||r)&&this.updateStyleMap(),i&&this.updateMenuInlineCollapsed()}ngAfterContentInit(){this.updateMenuInlineCollapsed()}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Qn),v(We),v(B5))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-sider"]],contentQueries:function(i,o,r){if(1&i&&fn(r,Aa,5),2&i){let s;ke(s=Ie())&&(o.nzMenuDirective=s.first)}},hostAttrs:[1,"ant-layout-sider"],hostVars:18,hostBindings:function(i,o){2&i&&(Lt("flex",o.flexSetting)("max-width",o.widthSetting)("min-width",o.widthSetting)("width",o.widthSetting),Z("ant-layout-sider-zero-width",o.nzCollapsed&&0===o.nzCollapsedWidth)("ant-layout-sider-light","light"===o.nzTheme)("ant-layout-sider-dark","dark"===o.nzTheme)("ant-layout-sider-collapsed",o.nzCollapsed)("ant-layout-sider-has-trigger",o.nzCollapsible&&null!==o.nzTrigger))},inputs:{nzWidth:"nzWidth",nzTheme:"nzTheme",nzCollapsedWidth:"nzCollapsedWidth",nzBreakpoint:"nzBreakpoint",nzZeroTrigger:"nzZeroTrigger",nzTrigger:"nzTrigger",nzReverseArrow:[2,"nzReverseArrow","nzReverseArrow",I],nzCollapsible:[2,"nzCollapsible","nzCollapsible",I],nzCollapsed:[2,"nzCollapsed","nzCollapsed",I]},outputs:{nzCollapsedChange:"nzCollapsedChange"},exportAs:["nzSider"],standalone:!0,features:[je,xe,me],ngContentSelectors:yv,decls:3,vars:1,consts:[[1,"ant-layout-sider-children"],["nz-sider-trigger","",3,"matchBreakPoint","nzCollapsedWidth","nzCollapsed","nzBreakpoint","nzReverseArrow","nzTrigger","nzZeroTrigger","siderWidth"],["nz-sider-trigger","",3,"click","matchBreakPoint","nzCollapsedWidth","nzCollapsed","nzBreakpoint","nzReverseArrow","nzTrigger","nzZeroTrigger","siderWidth"]],template:function(i,o){1&i&&(Et(),f(0,"div",0),_t(1),m(),C(2,I2e,1,8,"div",1)),2&i&&(d(2),he(o.nzCollapsible&&null!==o.nzTrigger?2:-1))},dependencies:[VO],encapsulation:2,changeDetection:0})}return t})(),NO=(()=>{class t{constructor(e){this.directionality=e,this.dir="ltr",this.destroy$=new V}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-layout"]],contentQueries:function(i,o,r){if(1&i&&fn(r,wv,4),2&i){let s;ke(s=Ie())&&(o.listOfNzSiderComponent=s)}},hostAttrs:[1,"ant-layout"],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-layout-rtl","rtl"===o.dir)("ant-layout-has-sider",o.listOfNzSiderComponent.length>0)},exportAs:["nzLayout"],standalone:!0,features:[me],ngContentSelectors:yv,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})(),O2e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[wv,VO]})}return t})();function P2e(t,n){if(1&t){const e=W();Ye(0),f(1,"p"),w(2),m(),f(3,"input",2),Ii("ngModelChange",function(o){S(e);const r=g();return Ui(r.token,o)||(r.token=o),T(o)}),m(),f(4,"p",3),w(5),f(6,"a",4),w(7),m()(),Ue()}if(2&t){const e=g();d(2),D(e.$t("_inputTokenMsg")),d(),h("placeholder",e.$t("_inputToken")),ki("ngModel",e.token),d(2),we(" ",e.$t("_getToken"),""),d(2),we(" ",e.$t("_readDoc"),"")}}let V2e=(()=>{class t{constructor(e){this.message=e,this.visible=!1,this.onCancel=new B,this.$t=be,this.token="",this.submiting=!1}ngOnInit(){}hanldeCancel(){this.onCancel.emit()}login(){if(!this.token)return this.message.error(be("_pleaseInputToken"));const e=this.token.trim();this.submiting=!0,$D(e).then(()=>{(function xX(t){window.localStorage.setItem("token",t)})(e),vl({message:"auth",path:".navauth",content:"OK"}).then(()=>{(function _te(t){return m5.apply(this,arguments)})("image").finally(()=>{this.message.success(be("_tokenVerSuc")),function IX(){window.localStorage.removeItem("website")}(),setTimeout(()=>window.location.reload(),2e3)})}).catch(()=>{(function kX(){window.localStorage.removeItem("token")})(),this.submiting=!1})}).catch(()=>{this.submiting=!1})}static#e=this.\u0275fac=function(i){return new(i||t)(v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-login"]],inputs:{visible:"visible"},outputs:{onCancel:"onCancel"},decls:2,vars:3,consts:[[3,"nzVisibleChange","nzOnCancel","nzOnOk","nzVisible","nzTitle","nzOkLoading"],[4,"nzModalContent"],["nz-input","","autofocus","",3,"ngModelChange","placeholder","ngModel"],[2,"margin-top","15px"],["href","https://github.com/xjh22222228/nav#%E9%83%A8%E7%BD%B2","target","_blank"]],template:function(i,o){1&i&&(f(0,"nz-modal",0),Ii("nzVisibleChange",function(s){return Ui(o.visible,s)||(o.visible=s),s}),M("nzOnCancel",function(){return o.hanldeCancel()})("nzOnOk",function(){return o.login()}),C(1,P2e,8,5,"ng-container",1),m()),2&i&&(ki("nzVisible",o.visible),h("nzTitle",o.$t("_authLogin"))("nzOkLoading",o.submiting))},dependencies:[lp,y2,Gs,wr,Zi,Xi],styles:[".prefix-icon[_ngcontent-%COMP%]{width:20px;height:20px;pointer-events:none}"]})}return t})();function N2e(t,n){if(1&t){const e=W();f(0,"nz-layout",2)(1,"nz-layout")(2,"nz-sider",3)(3,"ul",4)(4,"li",5)(5,"ul")(6,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/web"))}),w(7),m(),f(8,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/tag"))}),w(9),m(),f(10,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/bookmark"))}),w(11),m(),f(12,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/search"))}),w(13),m(),f(14,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/collect"))}),w(15),m(),f(16,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/setting"))}),w(17),m(),f(18,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/info"))}),w(19),m(),f(20,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/about"))}),w(21),m()()()()(),f(22,"nz-layout",7)(23,"nz-content",8)(24,"div")(25,"button",9),M("click",function(){return S(e),T(g().goBack())}),w(26),m(),f(27,"button",10),M("click",function(){return S(e),T(g().logout())}),w(28),m()(),A(29,"router-outlet"),m()()()()}if(2&t){const e=g();d(6),h("nzSelected","web"===e.currentMenu),d(),we(" ",e.$t("_websiteMang")," "),d(),h("nzSelected","tag"===e.currentMenu),d(),we(" ",e.$t("_tagSettings")," "),d(),h("nzSelected","bookmark"===e.currentMenu),d(),we(" ",e.$t("_bookmarkImport")," "),d(),h("nzSelected","search"===e.currentMenu),d(),we(" ",e.$t("_searchEngines")," "),d(),h("nzSelected","collect"===e.currentMenu),d(),we(" ",e.$t("_userCollect")," "),d(),h("nzSelected","setting"===e.currentMenu),d(),we(" ",e.$t("_systemSet")," "),d(),h("nzSelected","info"===e.currentMenu),d(),we(" ",e.$t("_webInfo")," "),d(),h("nzSelected","about"===e.currentMenu),d(),we(" ",e.$t("_about")," "),d(5),we(" ",e.$t("_backHome")," "),d(2),we(" ",e.$t("_logout")," ")}}let F2e=(()=>{class t{constructor(e){this.router=e,this.$t=be,this.isLogin=Gi,this.showLoginModal=!Gi,this.currentMenu=""}ngOnInit(){const e=window.location.href.split("/");if(this.currentMenu=e[e.length-1],"localhost"!==window.location.hostname){const i=window.sessionStorage.getItem("reload");window.sessionStorage.removeItem("reload"),i||(window.sessionStorage.setItem("reload","1"),window.location.reload())}}goBack(){this.router.navigate(["/"])}goRoute(e){this.router.navigate([e])}logout(){HM(),this.router.navigate(["/"]),setTimeout(()=>{location.reload()},26)}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-system"]],decls:2,vars:2,consts:[["class","system-layout",4,"ngIf"],[3,"visible"],[1,"system-layout"],["nzWidth","150px","nzTheme","light",1,"sidebar"],["nz-menu","","nzMode","inline",1,"sider-menu"],["nz-submenu","","nzOpen","","nzTitle","\u8d85\u7ea7\u7cfb\u7edf"],["nz-menu-item","",3,"click","nzSelected"],[1,"inner-layout"],[1,"content"],["nz-button","",2,"margin-bottom","15px",3,"click"],["nz-button","",2,"margin-left","15px",3,"click"]],template:function(i,o){1&i&&(C(0,N2e,30,18,"nz-layout",0),A(1,"app-login",1)),2&i&&(h("ngIf",o.isLogin),d(),h("visible",o.showLoginModal))},dependencies:[St,nr,mi,tr,Aa,Ws,cp,NO,PO,wv,P4,V2e],styles:[".system-layout[_ngcontent-%COMP%]{min-height:100vh}.system-layout[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:30px;background-color:#fff}.system-layout[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%]{z-index:3;position:fixed;top:0;left:0;bottom:0;background-color:#fff}.system-layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%]{margin-left:170px}"]})}return t})(),R2e=(()=>{class t{constructor(){this.$t=be,this.token=j4(),this.config=Ns,this.date=document.getElementById("META-NAV")?.dataset?.date||be("_unknow"),this.currentVersionSrc="https://img.shields.io/badge/release-v8.4.0-red.svg?longCache=true&style=flat-square"}ngOnInit(){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-info"]],decls:17,vars:10,consts:[[3,"src"],["src","https://img.shields.io/github/v/release/xjh22222228/nav"],["href","https://github.com/xjh22222228/nav?tab=readme-ov-file#%E5%8D%87%E7%BA%A7","target","_blank"]],template:function(i,o){1&i&&(f(0,"div")(1,"p"),w(2),m(),f(3,"p"),w(4),m(),f(5,"p"),w(6),m(),f(7,"p"),w(8),A(9,"img",0),m(),f(10,"p"),w(11),A(12,"img",1),m(),f(13,"p"),w(14),f(15,"a",2),w(16),m()()()),2&i&&(d(2),we("TOKEN: ",o.token,""),d(2),la("",o.$t("_devBranch"),": ",o.config.branch,""),d(2),la("",o.$t("_prevDevTime"),": ",o.date,""),d(2),we("",o.$t("_curVer"),": "),d(),h("src",o.currentVersionSrc,It),d(2),we(" ",o.$t("_newVer"),": "),d(3),we(" ",o.$t("_updateTip")," "),d(2),D(o.$t("_clickUpdate")))}})}return t})(),FO=-Date.now();function j1(t){const n=(new Date).toString();if(!t)return n;const e=t.getAttribute("add_date");return e?new Date(1e3*Number(e)).toString():n}function P2(t){return t.textContent||""}function RO(t){return t.getAttribute("href")||""}function LO(t){return t.getAttribute("icon")||null}const kp=j1();function Cv(t){const n=[];for(let e=0;e({$implicit:t,data:n}),H2e=t=>({$implicit:t});function j2e(t,n){}function Y2e(t,n){if(1&t&&C(0,j2e,0,0,"ng-template",1),2&t){const e=g();h("ngTemplateOutlet",e.instance.template)("ngTemplateOutletContext",sl(2,B2e,e,null==e.instance.options?null:e.instance.options.nzData))}}function U2e(t,n){1&t&&A(0,"span",6)}function W2e(t,n){1&t&&A(0,"span",7)}function G2e(t,n){1&t&&A(0,"span",8)}function q2e(t,n){1&t&&A(0,"span",9)}function Q2e(t,n){if(1&t&&(Ye(0),A(1,"div",14),Ue()),2&t){const e=g(2);d(),h("innerHTML",e.instance.title,Gn)}}function K2e(t,n){if(1&t&&(Ye(0),A(1,"div",14),Ue()),2&t){const e=g(2);d(),h("innerHTML",e.instance.content,Gn)}}function $2e(t,n){}function J2e(t,n){if(1&t&&(f(0,"span",13),C(1,$2e,0,0,"ng-template",1),m()),2&t){const e=g(2);d(),h("ngTemplateOutlet",n)("ngTemplateOutletContext",mr(2,H2e,e))}}function Z2e(t,n){if(1&t&&(f(0,"div",2)(1,"div",2)(2,"div"),C(3,U2e,1,0,"span",6)(4,W2e,1,0,"span",7)(5,G2e,1,0,"span",8)(6,q2e,1,0,"span",9),f(7,"div",10),C(8,Q2e,2,1,"ng-container",11),m(),f(9,"div",12),C(10,K2e,2,1,"ng-container",11),m(),C(11,J2e,2,4,"span",13),m()()()),2&t){let e,i;const o=g();d(2),Z("ant-notification-notice-with-icon","blank"!==o.instance.type),d(),he("success"===(e=o.instance.type)?3:"info"===e?4:"warning"===e?5:"error"===e?6:-1),d(5),h("nzStringTemplateOutlet",o.instance.title),d(2),h("nzStringTemplateOutlet",o.instance.content),d(),he((i=null==o.instance.options?null:o.instance.options.nzButton)?11:-1,i)}}function X2e(t,n){if(1&t&&(Ye(0),A(1,"span",15),Ue()),2&t){const e=n.$implicit;d(),h("nzType",e)}}function ehe(t,n){if(1&t&&C(0,X2e,2,1,"ng-container",11),2&t){const e=g();h("nzStringTemplateOutlet",null==e.instance.options?null:e.instance.options.nzCloseIcon)}}function the(t,n){1&t&&A(0,"span",5)}function nhe(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","topLeft")}function ihe(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","topRight")}function ohe(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","bottomLeft")}function rhe(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","bottomRight")}function she(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","top")}function ahe(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","bottom")}let BO=(()=>{class t extends lk{constructor(e){super(e),this.destroyed=new B}ngOnDestroy(){super.ngOnDestroy(),this.instance.onClick.complete()}onClick(e){this.instance.onClick.next(e)}close(){this.destroy(!0)}get state(){if("enter"!==this.instance.state)return this.instance.state;switch(this.placement){case"topLeft":case"bottomLeft":return"enterLeft";case"topRight":case"bottomRight":default:return"enterRight";case"top":return"enterTop";case"bottom":return"enterBottom"}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-notification"]],inputs:{instance:"instance",index:"index",placement:"placement"},outputs:{destroyed:"destroyed"},exportAs:["nzNotification"],standalone:!0,features:[mt,me],decls:7,vars:5,consts:[[1,"ant-notification-notice","ant-notification-notice-closable",3,"click","mouseenter","mouseleave","ngStyle","ngClass"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ant-notification-notice-content"],["tabindex","0",1,"ant-notification-notice-close",3,"click"],[1,"ant-notification-notice-close-x"],["nz-icon","","nzType","close",1,"ant-notification-close-icon"],["nz-icon","","nzType","check-circle",1,"ant-notification-notice-icon","ant-notification-notice-icon-success"],["nz-icon","","nzType","info-circle",1,"ant-notification-notice-icon","ant-notification-notice-icon-info"],["nz-icon","","nzType","exclamation-circle",1,"ant-notification-notice-icon","ant-notification-notice-icon-warning"],["nz-icon","","nzType","close-circle",1,"ant-notification-notice-icon","ant-notification-notice-icon-error"],[1,"ant-notification-notice-message"],[4,"nzStringTemplateOutlet"],[1,"ant-notification-notice-description"],[1,"ant-notification-notice-btn"],[3,"innerHTML"],["nz-icon","",3,"nzType"]],template:function(i,o){1&i&&(f(0,"div",0),M("@notificationMotion.done",function(s){return o.animationStateChanged.next(s)})("click",function(s){return o.onClick(s)})("mouseenter",function(){return o.onEnter()})("mouseleave",function(){return o.onLeave()}),C(1,Y2e,1,5,null,1)(2,Z2e,12,6,"div",2),f(3,"a",3),M("click",function(){return o.close()}),f(4,"span",4),C(5,ehe,1,1,"ng-container")(6,the,1,0,"span",5),m()()()),2&i&&(h("ngStyle",(null==o.instance.options?null:o.instance.options.nzStyle)||null)("ngClass",(null==o.instance.options?null:o.instance.options.nzClass)||"")("@notificationMotion",o.state),d(),he(o.instance.template?1:2),d(4),he(null!=o.instance.options&&o.instance.options.nzCloseIcon?5:6))},dependencies:[ti,Jo,In,ln,Sn,An,Nn],encapsulation:2,data:{animation:[qne]}})}return t})();const Ip="notification",lhe={nzTop:"24px",nzBottom:"24px",nzPlacement:"topRight",nzDuration:4500,nzMaxStack:8,nzPauseOnHover:!0,nzAnimate:!0,nzDirection:"ltr"};let HO=(()=>{class t extends ak{constructor(e,i){super(e,i),this.dir="ltr",this.instances=[],this.topLeftInstances=[],this.topRightInstances=[],this.bottomLeftInstances=[],this.bottomRightInstances=[],this.topInstances=[],this.bottomInstances=[];const o=this.nzConfigService.getConfigForComponent(Ip);this.dir=o?.nzDirection||"ltr"}create(e){const i=this.onCreate(e),o=i.options.nzKey,r=this.instances.find(s=>s.options.nzKey===e.options.nzKey);return o&&r?this.replaceNotification(r,i):(this.instances.length>=this.config.nzMaxStack&&(this.instances=this.instances.slice(1)),this.instances=[...this.instances,i]),this.readyInstances(),i}onCreate(e){return e.options=this.mergeOptions(e.options),e.onClose=new V,e.onClick=new V,e}subscribeConfigChange(){this.nzConfigService.getConfigChangeEventForComponent(Ip).pipe(P(this.destroy$)).subscribe(()=>{this.updateConfig();const e=this.nzConfigService.getConfigForComponent(Ip);if(e){const{nzDirection:i}=e;this.dir=i||this.dir}})}updateConfig(){this.config={...lhe,...this.config,...this.nzConfigService.getConfigForComponent(Ip)},this.top=M1(this.config.nzTop),this.bottom=M1(this.config.nzBottom),this.cdr.markForCheck()}replaceNotification(e,i){e.title=i.title,e.content=i.content,e.template=i.template,e.type=i.type,e.options=i.options}readyInstances(){const e={topLeft:[],topRight:[],bottomLeft:[],bottomRight:[],top:[],bottom:[]};this.instances.forEach(i=>{switch(i.options.nzPlacement){case"topLeft":e.topLeft.unshift(i);break;case"topRight":default:e.topRight.unshift(i);break;case"bottomLeft":e.bottomLeft.unshift(i);break;case"bottomRight":e.bottomRight.unshift(i);break;case"top":e.top.unshift(i);break;case"bottom":e.bottom.unshift(i)}}),this.topLeftInstances=e.topLeft,this.topRightInstances=e.topRight,this.bottomLeftInstances=e.bottomLeft,this.bottomRightInstances=e.bottomRight,this.topInstances=e.top,this.bottomInstances=e.bottom,this.cdr.detectChanges()}mergeOptions(e){const{nzDuration:i,nzAnimate:o,nzPauseOnHover:r,nzPlacement:s}=this.config;return{nzDuration:i,nzAnimate:o,nzPauseOnHover:r,nzPlacement:s,...e}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(si))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-notification-container"]],exportAs:["nzNotificationContainer"],standalone:!0,features:[mt,me],decls:18,vars:40,consts:[[1,"ant-notification","ant-notification-topLeft"],[3,"instance","placement"],[1,"ant-notification","ant-notification-topRight"],[1,"ant-notification","ant-notification-bottomLeft"],[1,"ant-notification","ant-notification-bottomRight"],[1,"ant-notification","ant-notification-top"],[1,"ant-notification","ant-notification-bottom"],[3,"destroyed","instance","placement"]],template:function(i,o){1&i&&(f(0,"div",0),ji(1,nhe,1,2,"nz-notification",1,fr),m(),f(3,"div",2),ji(4,ihe,1,2,"nz-notification",1,fr),m(),f(6,"div",3),ji(7,ohe,1,2,"nz-notification",1,fr),m(),f(9,"div",4),ji(10,rhe,1,2,"nz-notification",1,fr),m(),f(12,"div",5),ji(13,she,1,2,"nz-notification",1,fr),m(),f(15,"div",6),ji(16,ahe,1,2,"nz-notification",1,fr),m()),2&i&&(Lt("top",o.top)("left","0px"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.topLeftInstances),d(2),Lt("top",o.top)("right","0px"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.topRightInstances),d(2),Lt("bottom",o.bottom)("left","0px"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.bottomLeftInstances),d(2),Lt("bottom",o.bottom)("right","0px"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.bottomRightInstances),d(2),Lt("top",o.top)("left","50%")("transform","translateX(-50%)"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.topInstances),d(2),Lt("bottom",o.bottom)("left","50%")("transform","translateX(-50%)"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.bottomInstances))},dependencies:[BO],encapsulation:2,changeDetection:0})}return t})(),che=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[BO,HO]})}return t})(),dhe=0,Op=(()=>{class t extends sk{constructor(e,i,o){super(e,i,o),this.componentPrefix="notification-"}success(e,i,o){return this.create("success",e,i,o)}error(e,i,o){return this.create("error",e,i,o)}info(e,i,o){return this.create("info",e,i,o)}warning(e,i,o){return this.create("warning",e,i,o)}blank(e,i,o){return this.create("blank",e,i,o)}create(e,i,o,r){return this.createInstance({type:e,title:i,content:o},r)}template(e,i){return this.createInstance({template:e},i)}generateMessageId(){return`${this.componentPrefix}-${dhe++}`}createInstance(e,i){return this.container=this.withContainer(HO),this.container.create({...e,createdAt:new Date,messageId:i?.nzKey||this.generateMessageId(),options:i})}static#e=this.\u0275fac=function(i){return new(i||t)(R(cE),R(ya),R(tn))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),uhe=(()=>{class t{constructor(e,i){this.message=e,this.notification=i,this.$t=be,this.websiteList=yn}ngOnInit(){}onBookChange(e){const i=this,{files:o}=e.target;if(o.length<=0)return;const r=o[0],s=new FileReader;s.readAsText(r),s.onload=function(){const l=function L2e(t){const n=JSON.parse(JSON.stringify(yn)),e=[],i=document.createElement("div");i.innerHTML=t;const o=i.querySelector("dl dl");if(!o)return{message:"\u672a\u627e\u5230dl dl\u8282\u70b9"};let r=0,s=0,a=0;try{for(let u=0;u0&&(s++,e[r-1].nav.push({createdAt:kp,title:be("_uncategorized"),nav:[{title:be("_uncategorized"),nav:E}]}));for(let x=0;x0&&(a++,e[r-1].nav[s-1].nav.push({createdAt:kp,title:be("_uncategorized"),nav:dt}));for(let Ht=0;Ht0&&e.push({title:be("_uncategorized"),createdAt:kp,nav:[{createdAt:kp,title:be("_uncategorized"),nav:[{title:be("_uncategorized"),nav:c}]}]})}catch(c){return console.log(c),c}return function l(c,u){for(let p=0;p(z.title||z.name)===_);-1!==y?Array.isArray(b.nav)&&l(b.nav,u[y].nav):u.push(b)}}(e,n),n}(this.result);Array.isArray(l)?(i.message.success(be("_importSuccess")),i.websiteList=l,Un(i.websiteList),setTimeout(()=>window.location.reload(),2e3)):i.notification.error(be("_errorBookTip"),`${l?.message??""}`)}}static#e=this.\u0275fac=function(i){return new(i||t)(v(er),v(Op))};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-bookmark"]],decls:7,vars:2,consts:[[1,"book-wrapper"],[3,"innerHTML"],["id","file"],["src","assets/img/bookmark.svg","draggable","false",1,"logo"],[2,"white-space","nowrap","margin-top","5px"],["type","file","name","file","accept","text/html",3,"change"]],template:function(i,o){1&i&&(f(0,"div",0),A(1,"div",1),f(2,"label",2),A(3,"img",3),f(4,"p",4),w(5),m(),f(6,"input",5),M("change",function(s){return o.onBookChange(s)}),m()()()),2&i&&(d(),h("innerHTML",o.$t("_bookImportTip"),Gn),d(4),D(o.$t("_importChrome")))},styles:[".book-wrapper[_ngcontent-%COMP%]{text-align:center}.book-wrapper[_ngcontent-%COMP%] input[type=file][_ngcontent-%COMP%]{display:none}.book-wrapper[_ngcontent-%COMP%] #file[_ngcontent-%COMP%]{cursor:pointer}"]})}return t})(),hhe=(()=>{class t{constructor(){this.$t=be}ngOnInit(){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-about"]],decls:11,vars:0,consts:[["href","https://github.com/xjh22222228/nav","target","_blank"],["src","https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/img/32.png","width","600"]],template:function(i,o){1&i&&(f(0,"p")(1,"a",0),w(2,"\u5f00\u6e90\u9879\u76ee"),m(),w(3,"\uff0c\u672a\u7ecf\u4f5c\u8005\u540c\u610f\uff0c\u4e0d\u5f97\u4ee5\u6284\u88ad/\u590d\u5236\u4ee3\u7801/\u4fee\u6539\u6e90\u4ee3\u7801\u7248\u6743\u4fe1\u606f\uff0c\u5141\u8bb8\u5546\u4e1a\u9014\u5f84\u3002\n"),m(),f(4,"p"),w(5,"\u5982\u679c\u8fd9\u4e2a\u9879\u76ee\u80fd\u5e2e\u5230\u60a8\uff0c\u652f\u6301\u4e00\u4e0b\u4f5c\u8005\uff01\u6211\u4f1a\u52aa\u529b\u7ef4\u62a4\uff01"),m(),f(6,"p"),w(7,"\u8054\u7cfb\u65b9\u5f0f: xjh22222228@gmail.com"),m(),f(8,"p"),w(9,"\u5728\u4f7f\u7528\u8fc7\u7a0b\u9047\u5230\u4efb\u4f55\u95ee\u9898\u53ef\u53d1\u9001\u90ae\u4ef6\u5bfb\u6c42\u5e2e\u52a9"),m(),A(10,"img",1))}})}return t})();const jO=["*"],phe=["inputElement"],fhe=["nz-checkbox",""],mhe=(t,n)=>n.value;function ghe(t,n){if(1&t){const e=W();f(0,"label",1),M("nzCheckedChange",function(o){const r=S(e).$implicit;return T(g().onCheckedChange(r,o))}),f(1,"span"),w(2),m()()}if(2&t){const e=n.$implicit,i=g();h("nzDisabled",e.disabled||i.nzDisabled)("nzChecked",e.checked),d(2),D(e.label)}}let vhe=(()=>{class t{constructor(){this.nzOnChange=new B,this.checkboxList=[]}addCheckbox(e){this.checkboxList.push(e)}removeCheckbox(e){this.checkboxList.splice(this.checkboxList.indexOf(e),1)}onChange(){const e=this.checkboxList.filter(i=>i.nzChecked).map(i=>i.nzValue);this.nzOnChange.emit(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-checkbox-wrapper"]],hostAttrs:[1,"ant-checkbox-group"],outputs:{nzOnChange:"nzOnChange"},exportAs:["nzCheckboxWrapper"],standalone:!0,features:[me],ngContentSelectors:jO,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})(),Rl=(()=>{class t{innerCheckedChange(e){this.nzDisabled||(this.nzChecked=e,this.onChange(this.nzChecked),this.nzCheckedChange.emit(this.nzChecked),this.nzCheckboxWrapperComponent&&this.nzCheckboxWrapperComponent.onChange())}writeValue(e){this.nzChecked=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}focus(){this.focusMonitor.focusVia(this.inputElement,"keyboard")}blur(){this.inputElement.nativeElement.blur()}constructor(e,i,o,r,s,a,l){this.ngZone=e,this.elementRef=i,this.nzCheckboxWrapperComponent=o,this.cdr=r,this.focusMonitor=s,this.directionality=a,this.nzFormStatusService=l,this.dir="ltr",this.destroy$=new V,this.isNzDisableFirstChange=!0,this.onChange=()=>{},this.onTouched=()=>{},this.nzCheckedChange=new B,this.nzValue=null,this.nzAutoFocus=!1,this.nzDisabled=!1,this.nzIndeterminate=!1,this.nzChecked=!1,this.nzId=null}ngOnInit(){this.focusMonitor.monitor(this.elementRef,!0).pipe(P(this.destroy$)).subscribe(e=>{e||Promise.resolve().then(()=>this.onTouched())}),this.nzCheckboxWrapperComponent&&this.nzCheckboxWrapperComponent.addCheckbox(this),this.directionality.change.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value,this.ngZone.runOutsideAngular(()=>{nn(this.elementRef.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>{e.preventDefault(),this.focus(),!this.nzDisabled&&this.ngZone.run(()=>{this.innerCheckedChange(!this.nzChecked),this.cdr.markForCheck()})}),nn(this.inputElement.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>e.stopPropagation())})}ngAfterViewInit(){this.nzAutoFocus&&this.focus()}ngOnDestroy(){this.focusMonitor.stopMonitoring(this.elementRef),this.nzCheckboxWrapperComponent&&this.nzCheckboxWrapperComponent.removeCheckbox(this),this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se),v(vhe,8),v(We),v(wa),v(Ct,8),v(xl,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-checkbox",""]],viewQuery:function(i,o){if(1&i&&ft(phe,7),2&i){let r;ke(r=Ie())&&(o.inputElement=r.first)}},hostAttrs:[1,"ant-checkbox-wrapper"],hostVars:6,hostBindings:function(i,o){2&i&&Z("ant-checkbox-wrapper-in-form-item",!!o.nzFormStatusService)("ant-checkbox-wrapper-checked",o.nzChecked)("ant-checkbox-rtl","rtl"===o.dir)},inputs:{nzValue:"nzValue",nzAutoFocus:[2,"nzAutoFocus","nzAutoFocus",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzIndeterminate:[2,"nzIndeterminate","nzIndeterminate",I],nzChecked:[2,"nzChecked","nzChecked",I],nzId:"nzId"},outputs:{nzCheckedChange:"nzCheckedChange"},exportAs:["nzCheckbox"],standalone:!0,features:[et([{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,me],attrs:fhe,ngContentSelectors:jO,decls:6,vars:11,consts:[["inputElement",""],[1,"ant-checkbox"],["type","checkbox",1,"ant-checkbox-input",3,"ngModelChange","checked","ngModel","disabled"],[1,"ant-checkbox-inner"]],template:function(i,o){if(1&i){const r=W();Et(),f(0,"span",1)(1,"input",2,0),M("ngModelChange",function(a){return S(r),T(o.innerCheckedChange(a))}),m(),A(3,"span",3),m(),f(4,"span"),_t(5),m()}2&i&&(Z("ant-checkbox-checked",o.nzChecked&&!o.nzIndeterminate)("ant-checkbox-disabled",o.nzDisabled)("ant-checkbox-indeterminate",o.nzIndeterminate),d(),h("checked",o.nzChecked)("ngModel",o.nzChecked)("disabled",o.nzDisabled),Ot("autofocus",o.nzAutoFocus?"autofocus":null)("id",o.nzId))},dependencies:[Pl,G7,Zi,Xi],encapsulation:2,changeDetection:0})}return t})(),bhe=(()=>{class t{onCheckedChange(e,i){e.checked=i,this.onChange(this.options)}constructor(e,i,o,r){this.elementRef=e,this.focusMonitor=i,this.cdr=o,this.directionality=r,this.onChange=()=>{},this.onTouched=()=>{},this.options=[],this.nzDisabled=!1,this.dir="ltr",this.destroy$=new V,this.isNzDisableFirstChange=!0}ngOnInit(){this.focusMonitor.monitor(this.elementRef,!0).pipe(P(this.destroy$)).subscribe(e=>{e||Promise.resolve().then(()=>this.onTouched())}),this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnDestroy(){this.focusMonitor.stopMonitoring(this.elementRef),this.destroy$.next(),this.destroy$.complete()}writeValue(e){this.options=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(wa),v(We),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-checkbox-group"]],hostAttrs:[1,"ant-checkbox-group"],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-checkbox-group-rtl","rtl"===o.dir)},inputs:{nzDisabled:[2,"nzDisabled","nzDisabled",I]},exportAs:["nzCheckboxGroup"],standalone:!0,features:[et([{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,me],decls:2,vars:0,consts:[["nz-checkbox","",1,"ant-checkbox-group-item",3,"nzDisabled","nzChecked"],["nz-checkbox","",1,"ant-checkbox-group-item",3,"nzCheckedChange","nzDisabled","nzChecked"]],template:function(i,o){1&i&&ji(0,ghe,3,3,"label",0,mhe),2&i&&Yi(o.options)},dependencies:[Rl],encapsulation:2})}return t})(),Pp=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Rl,bhe]})}return t})();const YO=["*"],_he=["inputElement"],yhe=["nz-radio",""];let zv=(()=>{class t{constructor(){this.selected$=new fi(1),this.touched$=new V,this.disabled$=new fi(1),this.name$=new fi(1)}touch(){this.touched$.next()}select(e){this.selected$.next(e)}setDisabled(e){this.disabled$.next(e)}setName(e){this.name$.next(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),whe=(()=>{class t{constructor(e,i,o){this.cdr=e,this.nzRadioService=i,this.directionality=o,this.value=null,this.destroy$=new V,this.isNzDisableFirstChange=!0,this.onChange=()=>{},this.onTouched=()=>{},this.nzDisabled=!1,this.nzButtonStyle="outline",this.nzSize="default",this.nzName=null,this.dir="ltr"}ngOnInit(){this.nzRadioService.selected$.pipe(P(this.destroy$)).subscribe(e=>{this.value!==e&&(this.value=e,this.onChange(this.value))}),this.nzRadioService.touched$.pipe(P(this.destroy$)).subscribe(()=>{Promise.resolve().then(()=>this.onTouched())}),this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnChanges(e){const{nzDisabled:i,nzName:o}=e;i&&this.nzRadioService.setDisabled(this.nzDisabled),o&&this.nzRadioService.setName(this.nzName)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}writeValue(e){this.value=e,this.nzRadioService.select(e),this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.nzRadioService.setDisabled(this.nzDisabled),this.cdr.markForCheck()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(zv),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-radio-group"]],hostAttrs:[1,"ant-radio-group"],hostVars:8,hostBindings:function(i,o){2&i&&Z("ant-radio-group-large","large"===o.nzSize)("ant-radio-group-small","small"===o.nzSize)("ant-radio-group-solid","solid"===o.nzButtonStyle)("ant-radio-group-rtl","rtl"===o.dir)},inputs:{nzDisabled:[2,"nzDisabled","nzDisabled",I],nzButtonStyle:"nzButtonStyle",nzSize:"nzSize",nzName:"nzName"},exportAs:["nzRadioGroup"],standalone:!0,features:[et([zv,{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,xe,me],ngContentSelectors:YO,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})(),UO=(()=>{class t{focus(){this.focusMonitor.focusVia(this.inputElement,"keyboard")}blur(){this.inputElement.nativeElement.blur()}constructor(e,i,o,r,s,a,l){this.ngZone=e,this.elementRef=i,this.cdr=o,this.focusMonitor=r,this.directionality=s,this.nzRadioService=a,this.nzFormStatusService=l,this.isNgModel=!1,this.destroy$=new V,this.isNzDisableFirstChange=!0,this.isChecked=!1,this.name=null,this.onChange=()=>{},this.onTouched=()=>{},this.nzValue=null,this.nzDisabled=!1,this.nzAutoFocus=!1,this.isRadioButton=!1,this.dir="ltr"}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}writeValue(e){this.isChecked=e,this.cdr.markForCheck()}registerOnChange(e){this.isNgModel=!0,this.onChange=e}registerOnTouched(e){this.onTouched=e}ngOnInit(){this.nzRadioService&&(this.nzRadioService.name$.pipe(P(this.destroy$)).subscribe(e=>{this.name=e,this.cdr.markForCheck()}),this.nzRadioService.disabled$.pipe(P(this.destroy$)).subscribe(e=>{this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}),this.nzRadioService.selected$.pipe(P(this.destroy$)).subscribe(e=>{const i=this.isChecked;this.isChecked=this.nzValue===e,this.isNgModel&&i!==this.isChecked&&!1===this.isChecked&&this.onChange(!1),this.cdr.markForCheck()})),this.focusMonitor.monitor(this.elementRef,!0).pipe(P(this.destroy$)).subscribe(e=>{e||(Promise.resolve().then(()=>this.onTouched()),this.nzRadioService&&this.nzRadioService.touch())}),this.directionality.change.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value,this.setupClickListener()}ngAfterViewInit(){this.nzAutoFocus&&this.focus()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.focusMonitor.stopMonitoring(this.elementRef)}setupClickListener(){this.ngZone.runOutsideAngular(()=>{nn(this.elementRef.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>{e.stopPropagation(),e.preventDefault(),!this.nzDisabled&&!this.isChecked&&this.ngZone.run(()=>{this.focus(),this.nzRadioService?.select(this.nzValue),this.isNgModel&&(this.isChecked=!0,this.onChange(!0)),this.cdr.markForCheck()})})})}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se),v(We),v(wa),v(Ct,8),v(zv,8),v(xl,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-radio",""],["","nz-radio-button",""]],viewQuery:function(i,o){if(1&i&&ft(_he,7),2&i){let r;ke(r=Ie())&&(o.inputElement=r.first)}},hostVars:18,hostBindings:function(i,o){2&i&&Z("ant-radio-wrapper-in-form-item",!!o.nzFormStatusService)("ant-radio-wrapper",!o.isRadioButton)("ant-radio-button-wrapper",o.isRadioButton)("ant-radio-wrapper-checked",o.isChecked&&!o.isRadioButton)("ant-radio-button-wrapper-checked",o.isChecked&&o.isRadioButton)("ant-radio-wrapper-disabled",o.nzDisabled&&!o.isRadioButton)("ant-radio-button-wrapper-disabled",o.nzDisabled&&o.isRadioButton)("ant-radio-wrapper-rtl",!o.isRadioButton&&"rtl"===o.dir)("ant-radio-button-wrapper-rtl",o.isRadioButton&&"rtl"===o.dir)},inputs:{nzValue:"nzValue",nzDisabled:[2,"nzDisabled","nzDisabled",I],nzAutoFocus:[2,"nzAutoFocus","nzAutoFocus",I],isRadioButton:[2,"nz-radio-button","isRadioButton",I]},exportAs:["nzRadio"],standalone:!0,features:[et([{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,me],attrs:yhe,ngContentSelectors:YO,decls:6,vars:24,consts:[["inputElement",""],["type","radio",3,"disabled","checked"]],template:function(i,o){1&i&&(Et(),f(0,"span"),A(1,"input",1,0)(3,"span"),m(),f(4,"span"),_t(5),m()),2&i&&(Z("ant-radio",!o.isRadioButton)("ant-radio-checked",o.isChecked&&!o.isRadioButton)("ant-radio-disabled",o.nzDisabled&&!o.isRadioButton)("ant-radio-button",o.isRadioButton)("ant-radio-button-checked",o.isChecked&&o.isRadioButton)("ant-radio-button-disabled",o.nzDisabled&&o.isRadioButton),d(),Z("ant-radio-input",!o.isRadioButton)("ant-radio-button-input",o.isRadioButton),h("disabled",o.nzDisabled)("checked",o.isChecked),Ot("autofocus",o.nzAutoFocus?"autofocus":null)("name",o.name),d(2),Z("ant-radio-inner",!o.isRadioButton)("ant-radio-button-inner",o.isRadioButton))},encapsulation:2,changeDetection:0})}return t})(),Che=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})(),zhe=(()=>{class t{create(e){return typeof ResizeObserver>"u"?null:new ResizeObserver(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Av=(()=>{class t{constructor(e){this.nzResizeObserverFactory=e,this.observedElements=new Map}ngOnDestroy(){this.observedElements.forEach((e,i)=>this.cleanupObserver(i))}observe(e){const i=Vi(e);return new Wt(o=>{const s=this.observeElement(i).subscribe(o);return()=>{s.unsubscribe(),this.unobserveElement(i)}})}observeElement(e){if(this.observedElements.has(e))this.observedElements.get(e).count++;else{const i=new V,o=this.nzResizeObserverFactory.create(r=>i.next(r));o&&o.observe(e),this.observedElements.set(e,{observer:o,stream:i,count:1})}return this.observedElements.get(e).stream}unobserveElement(e){this.observedElements.has(e)&&(this.observedElements.get(e).count--,this.observedElements.get(e).count||this.cleanupObserver(e))}cleanupObserver(e){if(this.observedElements.has(e)){const{observer:i,stream:o}=this.observedElements.get(e);i&&i.disconnect(),o.complete(),this.observedElements.delete(e)}}static#e=this.\u0275fac=function(i){return new(i||t)(R(zhe))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Ahe=["nz-pagination-item",""],She=(t,n)=>({$implicit:t,page:n});function The(t,n){if(1&t&&(f(0,"a"),w(1),m()),2&t){const e=g().page;d(),D(e)}}function Mhe(t,n){1&t&&A(0,"span",4)}function Dhe(t,n){1&t&&A(0,"span",5)}function Ehe(t,n){if(1&t&&(f(0,"button",2),C(1,Mhe,1,0,"span",4)(2,Dhe,1,0,"span",5),m()),2&t){const e=g(2);h("disabled",e.disabled),Ot("title",e.locale.prev_page),d(),he("rtl"===e.direction?1:2)}}function xhe(t,n){1&t&&A(0,"span",5)}function khe(t,n){1&t&&A(0,"span",4)}function Ihe(t,n){if(1&t&&(f(0,"button",2),C(1,xhe,1,0,"span",5)(2,khe,1,0,"span",4),m()),2&t){const e=g(2);h("disabled",e.disabled),Ot("title",e.locale.next_page),d(),he("rtl"===e.direction?1:2)}}function Ohe(t,n){1&t&&A(0,"span",8)}function Phe(t,n){1&t&&A(0,"span",9)}function Vhe(t,n){1&t&&C(0,Ohe,1,0,"span",8)(1,Phe,1,0,"span",9),2&t&&he("rtl"===g(3).direction?0:1)}function Nhe(t,n){1&t&&A(0,"span",9)}function Fhe(t,n){1&t&&A(0,"span",8)}function Rhe(t,n){1&t&&C(0,Nhe,1,0,"span",9)(1,Fhe,1,0,"span",8),2&t&&he("rtl"===g(3).direction?0:1)}function Lhe(t,n){if(1&t&&(f(0,"a",3)(1,"div",6),C(2,Vhe,2,1)(3,Rhe,2,1),f(4,"span",7),w(5,"\u2022\u2022\u2022"),m()()()),2&t){let e;const i=g().$implicit;d(2),he("prev_5"===(e=i)?2:"next_5"===e?3:-1)}}function Bhe(t,n){if(1&t&&C(0,The,2,1,"a")(1,Ehe,3,3,"button",2)(2,Ihe,3,3,"button",2)(3,Lhe,6,1,"a",3),2&t){let e;he("page"===(e=n.$implicit)?0:"prev"===e?1:"next"===e?2:3)}}function Hhe(t,n){}const jhe=["nz-pagination-options",""],Yhe=(t,n)=>n.value;function Uhe(t,n){if(1&t&&A(0,"nz-option",3),2&t){const e=n.$implicit;h("nzLabel",e.label)("nzValue",e.value)}}function Whe(t,n){if(1&t){const e=W();f(0,"nz-select",2),M("ngModelChange",function(o){return S(e),T(g().onPageSizeChange(o))}),ji(1,Uhe,1,2,"nz-option",3,Yhe),m()}if(2&t){const e=g();h("nzDisabled",e.disabled)("nzSize",e.nzSize)("ngModel",e.pageSize),d(),Yi(e.listOfPageSizeOption)}}function Ghe(t,n){if(1&t){const e=W();f(0,"div",1),w(1),f(2,"input",4),M("keydown.enter",function(o){return S(e),T(g().jumpToPageViaInput(o))}),m(),w(3),m()}if(2&t){const e=g();d(),we(" ",e.locale.jump_to," "),d(),h("disabled",e.disabled),d(),we(" ",e.locale.page," ")}}const WO=["containerTemplate"];function qhe(t,n){return this.trackByPageItem}const Qhe=(t,n)=>({$implicit:t,range:n});function Khe(t,n){}function $he(t,n){if(1&t&&(f(0,"li",1),C(1,Khe,0,0,"ng-template",4),m()),2&t){const e=g(2);d(),h("ngTemplateOutlet",e.showTotal)("ngTemplateOutletContext",sl(2,Qhe,e.total,e.ranges))}}function Jhe(t,n){if(1&t){const e=W();f(0,"li",5),M("gotoIndex",function(o){return S(e),T(g(2).jumpPage(o))})("diffIndex",function(o){return S(e),T(g(2).jumpDiff(o))}),m()}if(2&t){const e=n.$implicit,i=g(2);h("locale",i.locale)("type",e.type)("index",e.index)("disabled",!!e.disabled)("itemRender",i.itemRender)("active",i.pageIndex===e.index)("direction",i.dir)}}function Zhe(t,n){if(1&t){const e=W();f(0,"li",6),M("pageIndexChange",function(o){return S(e),T(g(2).onPageIndexChange(o))})("pageSizeChange",function(o){return S(e),T(g(2).onPageSizeChange(o))}),m()}if(2&t){const e=g(2);h("total",e.total)("locale",e.locale)("disabled",e.disabled)("nzSize",e.nzSize)("showSizeChanger",e.showSizeChanger)("showQuickJumper",e.showQuickJumper)("pageIndex",e.pageIndex)("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)}}function Xhe(t,n){if(1&t&&(f(0,"ul"),C(1,$he,2,5,"li",1),ji(2,Jhe,1,7,"li",2,qhe,!0),C(4,Zhe,1,9,"li",3),m()),2&t){const e=g();d(),he(e.showTotal?1:-1),d(),Yi(e.listOfPageItem),d(2),he(e.showQuickJumper||e.showSizeChanger?4:-1)}}function e0e(t,n){if(1&t){const e=W();f(0,"ul")(1,"li",1),M("click",function(){return S(e),T(g().prePage())}),m(),f(2,"li",2)(3,"input",3),M("keydown.enter",function(o){return S(e),T(g().jumpToPageViaInput(o))}),m(),f(4,"span",4),w(5,"/"),m(),w(6),m(),f(7,"li",5),M("click",function(){return S(e),T(g().nextPage())}),m()()}if(2&t){const e=g();d(),h("locale",e.locale)("disabled",e.isFirstIndex)("direction",e.dir)("itemRender",e.itemRender),Ot("title",e.locale.prev_page),d(),Ot("title",e.pageIndex+"/"+e.lastIndex),d(),h("disabled",e.disabled)("value",e.pageIndex),d(3),we(" ",e.lastIndex," "),d(),h("locale",e.locale)("disabled",e.isLastIndex)("direction",e.dir)("itemRender",e.itemRender),Ot("title",null==e.locale?null:e.locale.next_page)}}function t0e(t,n){}function n0e(t,n){1&t&&C(0,t0e,0,0,"ng-template",4),2&t&&(g(2),h("ngTemplateOutlet",Be(2).template))}function i0e(t,n){}function o0e(t,n){1&t&&C(0,i0e,0,0,"ng-template",4),2&t&&(g(2),h("ngTemplateOutlet",Be(4).template))}function r0e(t,n){1&t&&C(0,n0e,1,1,null,4)(1,o0e,1,1,null,4),2&t&&he(g().nzSimple?0:1)}let Sv=(()=>{class t{constructor(){this.active=!1,this.index=null,this.disabled=!1,this.direction="ltr",this.type=null,this.itemRender=null,this.diffIndex=new B,this.gotoIndex=new B,this.title=null}clickItem(){this.disabled||("page"===this.type?this.gotoIndex.emit(this.index):this.diffIndex.emit({next:1,prev:-1,prev_5:-5,next_5:5}[this.type]))}ngOnChanges(e){const{locale:i,index:o,type:r}=e;(i||o||r)&&(this.title={page:`${this.index}`,next:this.locale?.next_page,prev:this.locale?.prev_page,prev_5:this.locale?.prev_5,next_5:this.locale?.next_5}[this.type])}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["li","nz-pagination-item",""]],hostVars:19,hostBindings:function(i,o){1&i&&M("click",function(){return o.clickItem()}),2&i&&(Ot("title",o.title),Z("ant-pagination-prev","prev"===o.type)("ant-pagination-next","next"===o.type)("ant-pagination-item","page"===o.type)("ant-pagination-jump-prev","prev_5"===o.type)("ant-pagination-jump-prev-custom-icon","prev_5"===o.type)("ant-pagination-jump-next","next_5"===o.type)("ant-pagination-jump-next-custom-icon","next_5"===o.type)("ant-pagination-disabled",o.disabled)("ant-pagination-item-active",o.active))},inputs:{active:"active",locale:"locale",index:"index",disabled:"disabled",direction:"direction",type:"type",itemRender:"itemRender"},outputs:{diffIndex:"diffIndex",gotoIndex:"gotoIndex"},standalone:!0,features:[xe,me],attrs:Ahe,decls:3,vars:5,consts:[["renderItemTemplate",""],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["type","button",1,"ant-pagination-item-link",3,"disabled"],[1,"ant-pagination-item-link"],["nz-icon","","nzType","right"],["nz-icon","","nzType","left"],[1,"ant-pagination-item-container"],[1,"ant-pagination-item-ellipsis"],["nz-icon","","nzType","double-right",1,"ant-pagination-item-link-icon"],["nz-icon","","nzType","double-left",1,"ant-pagination-item-link-icon"]],template:function(i,o){if(1&i&&C(0,Bhe,4,1,"ng-template",null,0,ot)(2,Hhe,0,0,"ng-template",1),2&i){const r=Be(1);d(2),h("ngTemplateOutlet",o.itemRender||r)("ngTemplateOutletContext",sl(2,She,o.type,o.index))}},dependencies:[In,ln,Nn],encapsulation:2,changeDetection:0})}return t})(),GO=(()=>{class t{constructor(){this.nzSize="default",this.disabled=!1,this.showSizeChanger=!1,this.showQuickJumper=!1,this.total=0,this.pageIndex=1,this.pageSize=10,this.pageSizeOptions=[],this.pageIndexChange=new B,this.pageSizeChange=new B,this.listOfPageSizeOption=[]}onPageSizeChange(e){this.pageSize!==e&&this.pageSizeChange.next(e)}jumpToPageViaInput(e){const i=e.target,o=Math.floor(j5(i.value,this.pageIndex));this.pageIndexChange.next(o),i.value=""}ngOnChanges(e){const{pageSize:i,pageSizeOptions:o,locale:r}=e;(i||o||r)&&(this.listOfPageSizeOption=[...new Set([...this.pageSizeOptions,this.pageSize])].map(s=>({value:s,label:`${s} ${this.locale.items_per_page}`})))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["li","nz-pagination-options",""]],hostAttrs:[1,"ant-pagination-options"],inputs:{nzSize:"nzSize",disabled:"disabled",showSizeChanger:"showSizeChanger",showQuickJumper:"showQuickJumper",locale:"locale",total:"total",pageIndex:"pageIndex",pageSize:"pageSize",pageSizeOptions:"pageSizeOptions"},outputs:{pageIndexChange:"pageIndexChange",pageSizeChange:"pageSizeChange"},standalone:!0,features:[xe,me],attrs:jhe,decls:2,vars:2,consts:[[1,"ant-pagination-options-size-changer",3,"nzDisabled","nzSize","ngModel"],[1,"ant-pagination-options-quick-jumper"],[1,"ant-pagination-options-size-changer",3,"ngModelChange","nzDisabled","nzSize","ngModel"],[3,"nzLabel","nzValue"],[3,"keydown.enter","disabled"]],template:function(i,o){1&i&&C(0,Whe,3,3,"nz-select",0)(1,Ghe,4,3,"div",1),2&i&&(he(o.showSizeChanger?0:-1),d(),he(o.showQuickJumper?1:-1))},dependencies:[MO,Vl,Nl,Pl,Zi,Xi],encapsulation:2,changeDetection:0})}return t})(),qO=(()=>{class t{constructor(e,i,o,r){this.cdr=e,this.renderer=i,this.elementRef=o,this.directionality=r,this.nzSize="default",this.itemRender=null,this.showTotal=null,this.disabled=!1,this.showSizeChanger=!1,this.showQuickJumper=!1,this.total=0,this.pageIndex=1,this.pageSize=10,this.pageSizeOptions=[10,20,30,40],this.pageIndexChange=new B,this.pageSizeChange=new B,this.ranges=[0,0],this.listOfPageItem=[],this.dir="ltr",this.destroy$=new V,i.removeChild(i.parentNode(o.nativeElement),o.nativeElement)}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.updateRtlStyle(),this.cdr.detectChanges()}),this.dir=this.directionality.value,this.updateRtlStyle()}updateRtlStyle(){"rtl"===this.dir?this.renderer.addClass(this.elementRef.nativeElement,"ant-pagination-rtl"):this.renderer.removeClass(this.elementRef.nativeElement,"ant-pagination-rtl")}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}jumpPage(e){this.onPageIndexChange(e)}jumpDiff(e){this.jumpPage(this.pageIndex+e)}trackByPageItem(e,i){return`${i.type}-${i.index}`}onPageIndexChange(e){this.pageIndexChange.next(e)}onPageSizeChange(e){this.pageSizeChange.next(e)}getLastIndex(e,i){return Math.ceil(e/i)}buildIndexes(){const e=this.getLastIndex(this.total,this.pageSize);this.listOfPageItem=this.getListOfPageItem(this.pageIndex,e)}getListOfPageItem(e,i){const r=(s,a)=>{const l=[];for(let c=s;c<=a;c++)l.push({index:c,type:"page"});return l};return s=i<=9?r(1,i):((a,l)=>{let c=[];const u={type:"prev_5"},p={type:"next_5"},b=r(1,1),_=r(i,i);return c=a<5?[...r(2,4===a?6:5),p]:a{class t{constructor(e,i,o,r){this.cdr=e,this.renderer=i,this.elementRef=o,this.directionality=r,this.itemRender=null,this.disabled=!1,this.total=0,this.pageIndex=1,this.pageSize=10,this.pageIndexChange=new B,this.lastIndex=0,this.isFirstIndex=!1,this.isLastIndex=!1,this.dir="ltr",this.destroy$=new V,i.removeChild(i.parentNode(o.nativeElement),o.nativeElement)}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.updateRtlStyle(),this.cdr.detectChanges()}),this.dir=this.directionality.value,this.updateRtlStyle()}updateRtlStyle(){"rtl"===this.dir?this.renderer.addClass(this.elementRef.nativeElement,"ant-pagination-rtl"):this.renderer.removeClass(this.elementRef.nativeElement,"ant-pagination-rtl")}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}jumpToPageViaInput(e){const i=e.target,o=j5(i.value,this.pageIndex);this.onPageIndexChange(o),i.value=`${this.pageIndex}`}prePage(){this.onPageIndexChange(this.pageIndex-1)}nextPage(){this.onPageIndexChange(this.pageIndex+1)}onPageIndexChange(e){this.pageIndexChange.next(e)}updateBindingValue(){this.lastIndex=Math.ceil(this.total/this.pageSize),this.isFirstIndex=1===this.pageIndex,this.isLastIndex=this.pageIndex===this.lastIndex}ngOnChanges(e){const{pageIndex:i,total:o,pageSize:r}=e;(i||o||r)&&this.updateBindingValue()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Yt),v(Se),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-pagination-simple"]],viewQuery:function(i,o){if(1&i&&ft(WO,7),2&i){let r;ke(r=Ie())&&(o.template=r.first)}},inputs:{itemRender:"itemRender",disabled:"disabled",locale:"locale",total:"total",pageIndex:"pageIndex",pageSize:"pageSize"},outputs:{pageIndexChange:"pageIndexChange"},standalone:!0,features:[xe,me],decls:2,vars:0,consts:[["containerTemplate",""],["nz-pagination-item","","type","prev",3,"click","locale","disabled","direction","itemRender"],[1,"ant-pagination-simple-pager"],["size","3",3,"keydown.enter","disabled","value"],[1,"ant-pagination-slash"],["nz-pagination-item","","type","next",3,"click","locale","disabled","direction","itemRender"]],template:function(i,o){1&i&&C(0,e0e,8,14,"ng-template",null,0,ot)},dependencies:[Sv],encapsulation:2,changeDetection:0})}return t})(),KO=(()=>{class t{validatePageIndex(e,i){return e>i?i:e<1?1:e}onPageIndexChange(e){const i=this.getLastIndex(this.nzTotal,this.nzPageSize),o=this.validatePageIndex(e,i);o!==this.nzPageIndex&&!this.nzDisabled&&(this.nzPageIndex=o,this.nzPageIndexChange.emit(this.nzPageIndex))}onPageSizeChange(e){this.nzPageSize=e,this.nzPageSizeChange.emit(e);const i=this.getLastIndex(this.nzTotal,this.nzPageSize);this.nzPageIndex>i&&this.onPageIndexChange(i)}onTotalChange(e){const i=this.getLastIndex(e,this.nzPageSize);this.nzPageIndex>i&&Promise.resolve().then(()=>{this.onPageIndexChange(i),this.cdr.markForCheck()})}getLastIndex(e,i){return Math.ceil(e/i)}constructor(e,i,o,r,s){this.i18n=e,this.cdr=i,this.breakpointService=o,this.nzConfigService=r,this.directionality=s,this._nzModuleName="pagination",this.nzPageSizeChange=new B,this.nzPageIndexChange=new B,this.nzShowTotal=null,this.nzItemRender=null,this.nzSize="default",this.nzPageSizeOptions=[10,20,30,40],this.nzShowSizeChanger=!1,this.nzShowQuickJumper=!1,this.nzSimple=!1,this.nzDisabled=!1,this.nzResponsive=!1,this.nzHideOnSinglePage=!1,this.nzTotal=0,this.nzPageIndex=1,this.nzPageSize=10,this.showPagination=!0,this.size="default",this.dir="ltr",this.destroy$=new V,this.total$=new fi(1)}ngOnInit(){this.i18n.localeChange.pipe(P(this.destroy$)).subscribe(()=>{this.locale=this.i18n.getLocaleData("Pagination"),this.cdr.markForCheck()}),this.total$.pipe(P(this.destroy$)).subscribe(e=>{this.onTotalChange(e)}),this.breakpointService.subscribe(Qu).pipe(P(this.destroy$)).subscribe(e=>{this.nzResponsive&&(this.size=e===L5.xs?"small":"default",this.cdr.markForCheck())}),this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}ngOnChanges(e){const{nzHideOnSinglePage:i,nzTotal:o,nzPageSize:r,nzSize:s}=e;o&&this.total$.next(this.nzTotal),(i||o||r)&&(this.showPagination=this.nzHideOnSinglePage&&this.nzTotal>this.nzPageSize||this.nzTotal>0&&!this.nzHideOnSinglePage),s&&(this.size=s.currentValue)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ys),v(We),v(B5),v(si),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-pagination"]],hostAttrs:[1,"ant-pagination"],hostVars:8,hostBindings:function(i,o){2&i&&Z("ant-pagination-simple",o.nzSimple)("ant-pagination-disabled",o.nzDisabled)("ant-pagination-mini",!o.nzSimple&&"small"===o.size)("ant-pagination-rtl","rtl"===o.dir)},inputs:{nzShowTotal:"nzShowTotal",nzItemRender:"nzItemRender",nzSize:"nzSize",nzPageSizeOptions:"nzPageSizeOptions",nzShowSizeChanger:[2,"nzShowSizeChanger","nzShowSizeChanger",I],nzShowQuickJumper:[2,"nzShowQuickJumper","nzShowQuickJumper",I],nzSimple:[2,"nzSimple","nzSimple",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzResponsive:[2,"nzResponsive","nzResponsive",I],nzHideOnSinglePage:[2,"nzHideOnSinglePage","nzHideOnSinglePage",I],nzTotal:[2,"nzTotal","nzTotal",Oi],nzPageIndex:[2,"nzPageIndex","nzPageIndex",Oi],nzPageSize:[2,"nzPageSize","nzPageSize",Oi]},outputs:{nzPageSizeChange:"nzPageSizeChange",nzPageIndexChange:"nzPageIndexChange"},exportAs:["nzPagination"],standalone:!0,features:[je,xe,me],decls:5,vars:18,consts:[["simplePagination",""],["defaultPagination",""],[3,"pageIndexChange","disabled","itemRender","locale","pageSize","total","pageIndex"],[3,"pageIndexChange","pageSizeChange","nzSize","itemRender","showTotal","disabled","locale","showSizeChanger","showQuickJumper","total","pageIndex","pageSize","pageSizeOptions"],[3,"ngTemplateOutlet"]],template:function(i,o){if(1&i){const r=W();C(0,r0e,2,1),f(1,"nz-pagination-simple",2,0),M("pageIndexChange",function(a){return S(r),T(o.onPageIndexChange(a))}),m(),f(3,"nz-pagination-default",3,1),M("pageIndexChange",function(a){return S(r),T(o.onPageIndexChange(a))})("pageSizeChange",function(a){return S(r),T(o.onPageSizeChange(a))}),m()}2&i&&(he(o.showPagination?0:-1),d(),h("disabled",o.nzDisabled)("itemRender",o.nzItemRender)("locale",o.locale)("pageSize",o.nzPageSize)("total",o.nzTotal)("pageIndex",o.nzPageIndex),d(2),h("nzSize",o.size)("itemRender",o.nzItemRender)("showTotal",o.nzShowTotal)("disabled",o.nzDisabled)("locale",o.locale)("showSizeChanger",o.nzShowSizeChanger)("showQuickJumper",o.nzShowQuickJumper)("total",o.nzTotal)("pageIndex",o.nzPageIndex)("pageSize",o.nzPageSize)("pageSizeOptions",o.nzPageSizeOptions))},dependencies:[Nn,QO,qO],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzSize",void 0),xt([Vt()],t.prototype,"nzPageSizeOptions",void 0),xt([Vt()],t.prototype,"nzShowSizeChanger",void 0),xt([Vt()],t.prototype,"nzShowQuickJumper",void 0),xt([Vt()],t.prototype,"nzSimple",void 0),t})(),a0e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[KO,QO,GO,Sv,qO]})}return t})();const c0e=["*"];function d0e(t,n){1&t&&(f(0,"span",3),A(1,"i",4)(2,"i",4)(3,"i",4)(4,"i",4),m())}function u0e(t,n){}function h0e(t,n){if(1&t&&(f(0,"div",8),w(1),m()),2&t){const e=g(2);d(),D(e.nzTip)}}function p0e(t,n){if(1&t&&(f(0,"div")(1,"div",5),C(2,u0e,0,0,"ng-template",6)(3,h0e,2,1,"div",7),m()()),2&t){const e=g(),i=Be(1);d(),Z("ant-spin-rtl","rtl"===e.dir)("ant-spin-spinning",e.isLoading)("ant-spin-lg","large"===e.nzSize)("ant-spin-sm","small"===e.nzSize)("ant-spin-show-text",e.nzTip),d(),h("ngTemplateOutlet",e.nzIndicator||i),d(),h("ngIf",e.nzTip)}}function f0e(t,n){1&t&&(f(0,"div",9),_t(1),m()),2&t&&Z("ant-spin-blur",g().isLoading)}let JO=(()=>{class t{constructor(e,i,o){this.nzConfigService=e,this.cdr=i,this.directionality=o,this._nzModuleName="spin",this.nzIndicator=null,this.nzSize="default",this.nzTip=null,this.nzDelay=0,this.nzSimple=!1,this.nzSpinning=!0,this.destroy$=new V,this.spinning$=new rt(this.nzSpinning),this.delay$=new fi(1),this.isLoading=!1,this.dir="ltr"}ngOnInit(){this.delay$.pipe(gn(this.nzDelay),Qi(),mn(i=>0===i?this.spinning$:this.spinning$.pipe(function l0e(t){return dn((n,e)=>{let i=!1,o=null,r=null;const s=()=>{if(r?.unsubscribe(),r=null,i){i=!1;const a=o;o=null,e.next(a)}};n.subscribe(Jt(e,a=>{r?.unsubscribe(),i=!0,o=a,r=Jt(e,s,Qs),Pi(t(a)).subscribe(r)},()=>{s(),e.complete()},void 0,()=>{o=r=null}))})}(o=>m3(o?i:0)))),P(this.destroy$)).subscribe(i=>{this.isLoading=i,this.cdr.markForCheck()}),this.nzConfigService.getConfigChangeEventForComponent("spin").pipe(P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()),this.directionality.change?.pipe(P(this.destroy$)).subscribe(i=>{this.dir=i,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnChanges(e){const{nzSpinning:i,nzDelay:o}=e;i&&this.spinning$.next(this.nzSpinning),o&&this.delay$.next(this.nzDelay)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(We),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-spin"]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-spin-nested-loading",!o.nzSimple)},inputs:{nzIndicator:"nzIndicator",nzSize:"nzSize",nzTip:"nzTip",nzDelay:[2,"nzDelay","nzDelay",Oi],nzSimple:[2,"nzSimple","nzSimple",I],nzSpinning:[2,"nzSpinning","nzSpinning",I]},exportAs:["nzSpin"],standalone:!0,features:[je,xe,me],ngContentSelectors:c0e,decls:4,vars:2,consts:[["defaultTemplate",""],[4,"ngIf"],["class","ant-spin-container",3,"ant-spin-blur",4,"ngIf"],[1,"ant-spin-dot","ant-spin-dot-spin"],[1,"ant-spin-dot-item"],[1,"ant-spin"],[3,"ngTemplateOutlet"],["class","ant-spin-text",4,"ngIf"],[1,"ant-spin-text"],[1,"ant-spin-container"]],template:function(i,o){1&i&&(Et(),C(0,d0e,5,0,"ng-template",null,0,ot)(2,p0e,4,12,"div",1)(3,f0e,2,2,"div",2)),2&i&&(d(2),h("ngIf",o.isLoading),d(),h("ngIf",!o.nzSimple))},dependencies:[St,Nn],encapsulation:2})}return xt([Vt()],t.prototype,"nzIndicator",void 0),t})(),m0e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();const Ll=["*"],g0e=(t,n)=>n.value;function v0e(t,n){}function b0e(t,n){if(1&t){const e=W();f(0,"label",14),M("ngModelChange",function(){S(e);const o=g().$implicit;return T(g(2).check(o))}),m()}2&t&&h("ngModel",g().$implicit.checked)}function _0e(t,n){if(1&t){const e=W();f(0,"label",15),M("ngModelChange",function(){S(e);const o=g().$implicit;return T(g(2).check(o))}),m()}2&t&&h("ngModel",g().$implicit.checked)}function y0e(t,n){if(1&t){const e=W();f(0,"li",11),M("click",function(){const o=S(e).$implicit;return T(g(2).check(o))}),C(1,b0e,1,1,"label",12)(2,_0e,1,1,"label",13),f(3,"span"),w(4),m()()}if(2&t){const e=n.$implicit,i=g(2);h("nzSelected",e.checked),d(),he(i.filterMultiple?2:1),d(3),D(e.text)}}function w0e(t,n){if(1&t){const e=W();f(0,"nz-filter-trigger",3),M("nzVisibleChange",function(o){return S(e),T(g().onVisibleChange(o))}),A(1,"span",4),m(),f(2,"nz-dropdown-menu",null,0)(4,"div",5)(5,"ul",6),ji(6,y0e,5,3,"li",7,g0e),m(),f(8,"div",8)(9,"button",9),M("click",function(){return S(e),T(g().reset())}),w(10),m(),f(11,"button",10),M("click",function(){return S(e),T(g().confirm())}),w(12),m()()()()}if(2&t){const e=Be(3),i=g();h("nzVisible",i.isVisible)("nzActive",i.isChecked)("nzDropdownMenu",e),d(6),Yi(i.listOfParsedFilter),d(3),h("disabled",!i.isChecked),d(),we(" ",i.locale.filterReset," "),d(2),D(i.locale.filterConfirm)}}function C0e(t,n){1&t&&P0(0,2),2&t&&h("ngTemplateOutlet",g().extraTemplate)}function z0e(t,n){if(1&t){const e=W();f(0,"label",3),M("ngModelChange",function(o){return S(e),T(g().onCheckedChange(o))}),m()}if(2&t){const e=g();Z("ant-table-selection-select-all-custom",e.showRowSelection),h("ngModel",e.checked)("nzDisabled",e.disabled)("nzIndeterminate",e.indeterminate),Ot("aria-label",e.label)}}function A0e(t,n){if(1&t){const e=W();f(0,"li",8),M("click",function(){return T(S(e).$implicit.onSelect())}),w(1),m()}if(2&t){const e=n.$implicit;d(),we(" ",e.text," ")}}function S0e(t,n){if(1&t&&(f(0,"div",2)(1,"span",4),A(2,"span",5),m(),f(3,"nz-dropdown-menu",null,0)(5,"ul",6),ji(6,A0e,2,1,"li",7,fr),m()()()),2&t){const e=Be(4),i=g();d(),h("nzDropdownMenu",e),d(5),Yi(i.listOfSelections)}}function T0e(t,n){}function M0e(t,n){1&t&&A(0,"span",6),2&t&&Z("active","ascend"===g().sortOrder)}function D0e(t,n){1&t&&A(0,"span",7),2&t&&Z("active","descend"===g().sortOrder)}const E0e=["nzChecked",""];function x0e(t,n){}function k0e(t,n){1&t&&C(0,x0e,0,0,"ng-template",2),2&t&&h("ngTemplateOutlet",g(2).nzExpandIcon)}function I0e(t,n){if(1&t){const e=W();f(0,"button",4),M("expandChange",function(o){return S(e),T(g(2).onExpandChange(o))}),m()}if(2&t){const e=g(2);h("expand",e.nzExpand)("spaceMode",!e.nzShowExpand)}}function O0e(t,n){if(1&t&&(A(0,"nz-row-indent",1),C(1,k0e,1,1,null,2)(2,I0e,1,2,"button",3)),2&t){const e=g();h("indentSize",e.nzIndentSize),d(),he(e.nzExpandIcon?1:2)}}function P0e(t,n){if(1&t){const e=W();f(0,"label",5),M("ngModelChange",function(o){return S(e),T(g().onCheckedChange(o))}),m()}if(2&t){const e=g();h("nzDisabled",e.nzDisabled)("ngModel",e.nzChecked)("nzIndeterminate",e.nzIndeterminate),Ot("aria-label",e.nzLabel)}}const V0e=["nzColumnKey",""],N0e=[[["","nz-th-extra",""]],[["nz-filter-trigger"]],"*"],F0e=["[nz-th-extra]","nz-filter-trigger","*"];function R0e(t,n){if(1&t){const e=W();f(0,"nz-table-filter",6),M("filterChange",function(o){return S(e),T(g().onFilterValueChange(o))}),m()}if(2&t){const e=g(),i=Be(3),o=Be(5);h("contentTemplate",i)("extraTemplate",o)("customFilter",e.nzCustomFilter)("filterMultiple",e.nzFilterMultiple)("listOfFilter",e.nzFilters)}}function L0e(t,n){1&t&&P0(0,5),2&t&&(g(),h("ngTemplateOutlet",Be(3)))}function B0e(t,n){}function H0e(t,n){if(1&t&&C(0,B0e,0,0,"ng-template",5),2&t){const e=g(),i=Be(7),o=Be(9);h("ngTemplateOutlet",e.nzShowSort?i:o)}}function j0e(t,n){1&t&&(_t(0),_t(1,1))}function Y0e(t,n){if(1&t&&A(0,"nz-table-sorters",7),2&t){const e=g(),i=Be(9);h("sortOrder",e.sortOrder)("sortDirections",e.sortDirections)("contentTemplate",i)}}function U0e(t,n){1&t&&_t(0,2)}const W0e=["nzSelections",""],G0e=["nz-table-content",""];function q0e(t,n){if(1&t&&A(0,"col"),2&t){const e=n.$implicit;Lt("width",e)("min-width",e)}}function Q0e(t,n){}function K0e(t,n){if(1&t&&(f(0,"thead",1),C(1,Q0e,0,0,"ng-template",2),m()),2&t){const e=g();d(),h("ngTemplateOutlet",e.theadTemplate)}}function $0e(t,n){}const ZO=["tdElement"],J0e=["nz-table-fixed-row",""],XO=["*","*"];function Z0e(t,n){1&t&&(f(0,"div",3),Fr(1,"async"),_t(2),m()),2&t&&Lt("width",Rr(1,2,g().hostWidth$),"px")}function X0e(t,n){1&t&&_t(0,1)}const e4e=["nz-table-measure-row",""];function t4e(t,n){1&t&&A(0,"td",1,0)}function n4e(t,n){if(1&t){const e=W();f(0,"tr",2),M("listOfAutoWidth",function(o){return S(e),T(g(2).onListOfAutoWidthChange(o))}),m()}2&t&&h("listOfMeasureColumn",g())}function i4e(t,n){1&t&&C(0,n4e,1,1,"tr",1),2&t&&he(g().isInsideTable&&n.length?0:-1)}function o4e(t,n){if(1&t&&(f(0,"tr",0),A(1,"nz-embed-empty",3),Fr(2,"async"),m()),2&t){const e=g();d(),h("specificContent",Rr(2,1,e.noResult$))}}const r4e=["tableHeaderElement"],s4e=["tableBodyElement"],a4e=(t,n)=>({$implicit:t,index:n});function l4e(t,n){if(1&t&&(f(0,"div",5,1),A(2,"table",7),m()),2&t){const e=g(2);h("ngStyle",e.bodyStyleMap),d(2),h("scrollX",e.scrollX)("listOfColWidth",e.listOfColWidth)("contentTemplate",e.contentTemplate)}}function c4e(t,n){}function d4e(t,n){if(1&t&&(Ye(0),C(1,c4e,0,0,"ng-template",11),Ue()),2&t){const e=n.$implicit,i=n.index,o=g(3);d(),h("ngTemplateOutlet",o.virtualTemplate)("ngTemplateOutletContext",sl(2,a4e,e,i))}}function u4e(t,n){if(1&t&&(f(0,"cdk-virtual-scroll-viewport",8,1)(2,"table",9)(3,"tbody"),C(4,d4e,2,5,"ng-container",10),m()()()),2&t){const e=g(2);Lt("height",e.data.length?e.scrollY:e.noDataVirtualHeight),h("itemSize",e.virtualItemSize)("maxBufferPx",e.virtualMaxBufferPx)("minBufferPx",e.virtualMinBufferPx),d(2),h("scrollX",e.scrollX)("listOfColWidth",e.listOfColWidth),d(2),h("cdkVirtualForOf",e.data)("cdkVirtualForTrackBy",e.virtualForTrackBy)}}function h4e(t,n){if(1&t&&(f(0,"div",3,0),A(2,"table",4),m(),C(3,l4e,3,4,"div",5)(4,u4e,5,9,"cdk-virtual-scroll-viewport",6)),2&t){const e=g();h("ngStyle",e.headerStyleMap),d(2),h("scrollX",e.scrollX)("listOfColWidth",e.listOfColWidth)("theadTemplate",e.theadTemplate),d(),he(e.virtualTemplate?4:3)}}function p4e(t,n){if(1&t&&(f(0,"div",2,1),A(2,"table",12),m()),2&t){const e=g();h("ngStyle",e.bodyStyleMap),d(2),h("scrollX",e.scrollX)("listOfColWidth",e.listOfColWidth)("theadTemplate",e.theadTemplate)("contentTemplate",e.contentTemplate)}}function f4e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.title)}}function m4e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.footer)}}function g4e(t,n){}function v4e(t,n){1&t&&C(0,g4e,0,0,"ng-template",4),2&t&&(g(),h("ngTemplateOutlet",Be(10)))}function b4e(t,n){1&t&&A(0,"nz-table-title-footer",6),2&t&&h("title",g().nzTitle)}function _4e(t,n){if(1&t&&A(0,"nz-table-inner-scroll",7),2&t){const e=g(),i=Be(3),o=Be(12);h("data",e.data)("scrollX",e.scrollX)("scrollY",e.scrollY)("contentTemplate",o)("listOfColWidth",e.listOfAutoColWidth)("theadTemplate",e.theadTemplate)("verticalScrollBarWidth",e.verticalScrollBarWidth)("virtualTemplate",e.nzVirtualScrollDirective?e.nzVirtualScrollDirective.templateRef:null)("virtualItemSize",e.nzVirtualItemSize)("virtualMaxBufferPx",e.nzVirtualMaxBufferPx)("virtualMinBufferPx",e.nzVirtualMinBufferPx)("tableMainElement",i)("virtualForTrackBy",e.nzVirtualForTrackBy)("noDataVirtualHeight",e.noDataVirtualHeight)}}function y4e(t,n){if(1&t&&A(0,"nz-table-inner-default",8),2&t){const e=g(),i=Be(12);h("tableLayout",e.nzTableLayout)("listOfColWidth",e.listOfManualColWidth)("theadTemplate",e.theadTemplate)("contentTemplate",i)}}function w4e(t,n){1&t&&A(0,"nz-table-title-footer",9),2&t&&h("footer",g().nzFooter)}function C4e(t,n){}function z4e(t,n){1&t&&C(0,C4e,0,0,"ng-template",4),2&t&&(g(),h("ngTemplateOutlet",Be(10)))}function A4e(t,n){if(1&t){const e=W();f(0,"nz-pagination",11),M("nzPageSizeChange",function(o){return S(e),T(g(2).onPageSizeChange(o))})("nzPageIndexChange",function(o){return S(e),T(g(2).onPageIndexChange(o))}),m()}if(2&t){const e=g(2);h("hidden",!e.showPagination)("nzShowSizeChanger",e.nzShowSizeChanger)("nzPageSizeOptions",e.nzPageSizeOptions)("nzItemRender",e.nzItemRender)("nzShowQuickJumper",e.nzShowQuickJumper)("nzHideOnSinglePage",e.nzHideOnSinglePage)("nzShowTotal",e.nzShowTotal)("nzSize","small"===e.nzPaginationType?"small":"default"===e.nzSize?"default":"small")("nzPageSize",e.nzPageSize)("nzTotal",e.nzTotal)("nzSimple",e.nzSimple)("nzPageIndex",e.nzPageIndex)}}function S4e(t,n){if(1&t&&C(0,A4e,1,12,"nz-pagination",10),2&t){const e=g();he(e.nzShowPagination&&e.data.length?0:-1)}}function T4e(t,n){1&t&&_t(0)}const M4e=["contentTemplate"];function D4e(t,n){1&t&&_t(0)}function E4e(t,n){}function x4e(t,n){1&t&&C(0,E4e,0,0,"ng-template",1),2&t&&(g(),h("ngTemplateOutlet",Be(1)))}let eP=(()=>{class t{onVisibleChange(e){this.nzVisible=e,this.nzVisibleChange.next(e)}hide(){this.nzVisible=!1,this.cdr.markForCheck()}show(){this.nzVisible=!0,this.cdr.markForCheck()}constructor(e,i,o,r){this.nzConfigService=e,this.ngZone=i,this.cdr=o,this.destroy$=r,this._nzModuleName="filterTrigger",this.nzActive=!1,this.nzVisible=!1,this.nzBackdrop=!1,this.nzVisibleChange=new B}ngOnInit(){this.ngZone.runOutsideAngular(()=>{nn(this.nzDropdown.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>{e.stopPropagation()})})}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Me),v(We),v(Vo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-filter-trigger"]],viewQuery:function(i,o){if(1&i&&ft(V1,7,Se),2&i){let r;ke(r=Ie())&&(o.nzDropdown=r.first)}},inputs:{nzActive:"nzActive",nzDropdownMenu:"nzDropdownMenu",nzVisible:"nzVisible",nzBackdrop:[2,"nzBackdrop","nzBackdrop",I]},outputs:{nzVisibleChange:"nzVisibleChange"},exportAs:["nzFilterTrigger"],standalone:!0,features:[et([Vo]),je,me],ngContentSelectors:Ll,decls:2,vars:8,consts:[["nz-dropdown","","nzTrigger","click","nzPlacement","bottomRight",1,"ant-table-filter-trigger",3,"nzVisibleChange","nzBackdrop","nzClickHide","nzDropdownMenu","nzVisible"]],template:function(i,o){1&i&&(Et(),f(0,"span",0),M("nzVisibleChange",function(s){return o.onVisibleChange(s)}),_t(1),m()),2&i&&(Z("active",o.nzActive)("ant-table-filter-open",o.nzVisible),h("nzBackdrop",o.nzBackdrop)("nzClickHide",!1)("nzDropdownMenu",o.nzDropdownMenu)("nzVisible",o.nzVisible))},dependencies:[dp,V1],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzBackdrop",void 0),t})(),tP=(()=>{class t{check(e){this.filterMultiple?(this.listOfParsedFilter=this.listOfParsedFilter.map(i=>i===e?{...i,checked:!e.checked}:i),e.checked=!e.checked):this.listOfParsedFilter=this.listOfParsedFilter.map(i=>({...i,checked:i===e})),this.isChecked=this.getCheckedStatus(this.listOfParsedFilter)}confirm(){this.isVisible=!1,this.emitFilterData()}reset(){this.isVisible=!1,this.listOfParsedFilter=this.parseListOfFilter(this.listOfFilter,!0),this.isChecked=this.getCheckedStatus(this.listOfParsedFilter),this.emitFilterData()}onVisibleChange(e){this.isVisible=e,e?this.listOfChecked=this.listOfParsedFilter.filter(i=>i.checked).map(i=>i.value):this.emitFilterData()}emitFilterData(){const e=this.listOfParsedFilter.filter(i=>i.checked).map(i=>i.value);dE(this.listOfChecked,e)||this.filterChange.emit(this.filterMultiple?e:e.length>0?e[0]:null)}parseListOfFilter(e,i){return e.map(o=>({text:o.text,value:o.value,checked:!i&&!!o.byDefault}))}getCheckedStatus(e){return e.some(i=>i.checked)}constructor(e,i){this.cdr=e,this.i18n=i,this.contentTemplate=null,this.customFilter=!1,this.extraTemplate=null,this.filterMultiple=!0,this.listOfFilter=[],this.filterChange=new B,this.destroy$=new V,this.isChecked=!1,this.isVisible=!1,this.listOfParsedFilter=[],this.listOfChecked=[]}ngOnInit(){this.i18n.localeChange.pipe(P(this.destroy$)).subscribe(()=>{this.locale=this.i18n.getLocaleData("Table"),this.cdr.markForCheck()})}ngOnChanges(e){const{listOfFilter:i}=e;i&&this.listOfFilter&&this.listOfFilter.length&&(this.listOfParsedFilter=this.parseListOfFilter(this.listOfFilter),this.isChecked=this.getCheckedStatus(this.listOfParsedFilter))}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Ys))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-filter"]],hostAttrs:[1,"ant-table-filter-column"],inputs:{contentTemplate:"contentTemplate",customFilter:"customFilter",extraTemplate:"extraTemplate",filterMultiple:"filterMultiple",listOfFilter:"listOfFilter"},outputs:{filterChange:"filterChange"},standalone:!0,features:[xe,me],decls:4,vars:2,consts:[["filterMenu","nzDropdownMenu"],[1,"ant-table-column-title"],[3,"ngTemplateOutlet"],[3,"nzVisibleChange","nzVisible","nzActive","nzDropdownMenu"],["nz-icon","","nzType","filter","nzTheme","fill"],[1,"ant-table-filter-dropdown"],["nz-menu",""],["nz-menu-item","",3,"nzSelected"],[1,"ant-table-filter-dropdown-btns"],["nz-button","","nzType","link","nzSize","small",3,"click","disabled"],["nz-button","","nzType","primary","nzSize","small",3,"click"],["nz-menu-item","",3,"click","nzSelected"],["nz-radio","",3,"ngModel"],["nz-checkbox","",3,"ngModel"],["nz-radio","",3,"ngModelChange","ngModel"],["nz-checkbox","",3,"ngModelChange","ngModel"]],template:function(i,o){1&i&&(f(0,"span",1),C(1,v0e,0,0,"ng-template",2),m(),C(2,w0e,13,6)(3,C0e,1,1,"ng-container",2)),2&i&&(d(),h("ngTemplateOutlet",o.contentTemplate),d(),he(o.customFilter?3:2))},dependencies:[Nn,eP,In,ln,dp,Aa,Ws,w2,UO,Pp,Rl,Pl,Zi,Xi,h2,nr,mi,tr],encapsulation:2,changeDetection:0})}return t})(),I4e=(()=>{class t{constructor(){this.expand=!1,this.spaceMode=!1,this.expandChange=new B}onHostClick(){this.spaceMode||(this.expand=!this.expand,this.expandChange.next(this.expand))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["button","nz-row-expand-button",""]],hostAttrs:[1,"ant-table-row-expand-icon"],hostVars:7,hostBindings:function(i,o){1&i&&M("click",function(){return o.onHostClick()}),2&i&&(em("type","button"),Z("ant-table-row-expand-icon-expanded",!o.spaceMode&&!0===o.expand)("ant-table-row-expand-icon-collapsed",!o.spaceMode&&!1===o.expand)("ant-table-row-expand-icon-spaced",o.spaceMode))},inputs:{expand:"expand",spaceMode:"spaceMode"},outputs:{expandChange:"expandChange"},standalone:!0})}return t})(),O4e=(()=>{class t{constructor(){this.indentSize=0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["nz-row-indent"]],hostAttrs:[1,"ant-table-row-indent"],hostVars:2,hostBindings:function(i,o){2&i&&Lt("padding-left",o.indentSize,"px")},inputs:{indentSize:"indentSize"},standalone:!0})}return t})(),nP=(()=>{class t{constructor(){this.listOfSelections=[],this.checked=!1,this.disabled=!1,this.indeterminate=!1,this.label=null,this.showCheckbox=!1,this.showRowSelection=!1,this.checkedChange=new B}onCheckedChange(e){this.checked=e,this.checkedChange.emit(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-selection"]],hostAttrs:[1,"ant-table-selection"],inputs:{listOfSelections:"listOfSelections",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",label:"label",showCheckbox:"showCheckbox",showRowSelection:"showRowSelection"},outputs:{checkedChange:"checkedChange"},standalone:!0,features:[me],decls:2,vars:2,consts:[["selectionMenu","nzDropdownMenu"],["nz-checkbox","",3,"ant-table-selection-select-all-custom","ngModel","nzDisabled","nzIndeterminate"],[1,"ant-table-selection-extra"],["nz-checkbox","",3,"ngModelChange","ngModel","nzDisabled","nzIndeterminate"],["nz-dropdown","","nzPlacement","bottomLeft",1,"ant-table-selection-down",3,"nzDropdownMenu"],["nz-icon","","nzType","down"],["nz-menu","",1,"ant-table-selection-menu"],["nz-menu-item",""],["nz-menu-item","",3,"click"]],template:function(i,o){1&i&&C(0,z0e,1,6,"label",1)(1,S0e,8,1,"div",2),2&i&&(he(o.showCheckbox?0:-1),d(),he(o.showRowSelection?1:-1))},dependencies:[Pl,Zi,Xi,Pp,Rl,dp,Aa,Ws,V1,w2,In,ln],encapsulation:2,changeDetection:0})}return t})(),iP=(()=>{class t{constructor(){this.sortDirections=["ascend","descend",null],this.sortOrder=null,this.contentTemplate=null,this.isUp=!1,this.isDown=!1}ngOnChanges(e){const{sortDirections:i}=e;i&&(this.isUp=-1!==this.sortDirections.indexOf("ascend"),this.isDown=-1!==this.sortDirections.indexOf("descend"))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-sorters"]],hostAttrs:[1,"ant-table-column-sorters"],inputs:{sortDirections:"sortDirections",sortOrder:"sortOrder",contentTemplate:"contentTemplate"},standalone:!0,features:[xe,me],decls:6,vars:5,consts:[[1,"ant-table-column-title"],[3,"ngTemplateOutlet"],[1,"ant-table-column-sorter"],[1,"ant-table-column-sorter-inner"],["nz-icon","","nzType","caret-up",1,"ant-table-column-sorter-up",3,"active"],["nz-icon","","nzType","caret-down",1,"ant-table-column-sorter-down",3,"active"],["nz-icon","","nzType","caret-up",1,"ant-table-column-sorter-up"],["nz-icon","","nzType","caret-down",1,"ant-table-column-sorter-down"]],template:function(i,o){1&i&&(f(0,"span",0),C(1,T0e,0,0,"ng-template",1),m(),f(2,"span",2)(3,"span",3),C(4,M0e,1,2,"span",4)(5,D0e,1,2,"span",5),m()()),2&i&&(d(),h("ngTemplateOutlet",o.contentTemplate),d(),Z("ant-table-column-sorter-full",o.isDown&&o.isUp),d(2),he(o.isUp?4:-1),d(),he(o.isDown?5:-1))},dependencies:[In,ln,Nn],encapsulation:2,changeDetection:0})}return t})(),P4e=(()=>{class t{setAutoLeftWidth(e){this.renderer.setStyle(this.elementRef.nativeElement,"left",e)}setAutoRightWidth(e){this.renderer.setStyle(this.elementRef.nativeElement,"right",e)}setIsFirstRight(e){this.setFixClass(e,"ant-table-cell-fix-right-first")}setIsLastLeft(e){this.setFixClass(e,"ant-table-cell-fix-left-last")}setFixClass(e,i){this.renderer.removeClass(this.elementRef.nativeElement,i),e&&this.renderer.addClass(this.elementRef.nativeElement,i)}constructor(e,i){this.renderer=e,this.elementRef=i,this.nzRight=!1,this.nzLeft=!1,this.colspan=null,this.colSpan=null,this.changes$=new V,this.isAutoLeft=!1,this.isAutoRight=!1,this.isFixedLeft=!1,this.isFixedRight=!1,this.isFixed=!1}ngOnChanges(){this.setIsFirstRight(!1),this.setIsLastLeft(!1),this.isAutoLeft=""===this.nzLeft||!0===this.nzLeft,this.isAutoRight=""===this.nzRight||!0===this.nzRight,this.isFixedLeft=!1!==this.nzLeft,this.isFixedRight=!1!==this.nzRight,this.isFixed=this.isFixedLeft||this.isFixedRight;const e=i=>"string"==typeof i&&""!==i?i:null;this.setAutoLeftWidth(e(this.nzLeft)),this.setAutoRightWidth(e(this.nzRight)),this.changes$.next()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Yt),v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["td","nzRight",""],["th","nzRight",""],["td","nzLeft",""],["th","nzLeft",""]],hostVars:6,hostBindings:function(i,o){2&i&&(Lt("position",o.isFixed?"sticky":null),Z("ant-table-cell-fix-right",o.isFixedRight)("ant-table-cell-fix-left",o.isFixedLeft))},inputs:{nzRight:"nzRight",nzLeft:"nzLeft",colspan:"colspan",colSpan:"colSpan"},standalone:!0,features:[xe]})}return t})(),Bl=(()=>{class t{setTheadTemplate(e){this.theadTemplate$.next(e)}setHasFixLeft(e){this.hasFixLeft$.next(e)}setHasFixRight(e){this.hasFixRight$.next(e)}setTableWidthConfig(e){this.tableWidthConfigPx$.next(e)}setListOfTh(e){let i=0;e.forEach(r=>{i+=r.colspan&&+r.colspan||r.colSpan&&+r.colSpan||1});const o=e.map(r=>r.nzWidth);this.columnCount$.next(i),this.listOfThWidthConfigPx$.next(o)}setListOfMeasureColumn(e){const i=[];e.forEach(o=>{const r=o.colspan&&+o.colspan||o.colSpan&&+o.colSpan||1;for(let s=0;s`${i}px`))}setShowEmpty(e){this.showEmpty$.next(e)}setNoResult(e){this.noResult$.next(e)}setScroll(e,i){const o=!(!e&&!i);o||this.setListOfAutoWidth([]),this.enableAutoMeasure$.next(o)}constructor(){this.theadTemplate$=new fi(1),this.hasFixLeft$=new fi(1),this.hasFixRight$=new fi(1),this.hostWidth$=new fi(1),this.columnCount$=new fi(1),this.showEmpty$=new fi(1),this.noResult$=new fi(1),this.listOfThWidthConfigPx$=new rt([]),this.tableWidthConfigPx$=new rt([]),this.manualWidthConfigPx$=Di([this.tableWidthConfigPx$,this.listOfThWidthConfigPx$]).pipe(Pe(([e,i])=>e.length?e:i)),this.listOfAutoWidthPx$=new fi(1),this.listOfListOfThWidthPx$=On(this.manualWidthConfigPx$,Di([this.listOfAutoWidthPx$,this.manualWidthConfigPx$]).pipe(Pe(([e,i])=>e.length===i.length?e.map((o,r)=>"0px"===o?i[r]||null:i[r]||o):i))),this.listOfMeasureColumn$=new fi(1),this.listOfListOfThWidth$=this.listOfAutoWidthPx$.pipe(Pe(e=>e.map(i=>parseInt(i,10)))),this.enableAutoMeasure$=new fi(1)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),V2=(()=>{class t{constructor(e){this.isInsideTable=!1,this.isInsideTable=!!e}static#e=this.\u0275fac=function(i){return new(i||t)(v(Bl,8))};static#t=this.\u0275dir=de({type:t,selectors:[["th",9,"nz-disable-th",3,"mat-cell",""],["td",9,"nz-disable-td",3,"mat-cell",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-table-cell",o.isInsideTable)},standalone:!0})}return t})(),Tv=(()=>{class t{updatePageSize(e){this.pageSize$.next(e)}updateFrontPagination(e){this.frontPagination$.next(e)}updatePageIndex(e){this.pageIndex$.next(e)}updateListOfData(e){this.listOfData$.next(e)}updateListOfCustomColumn(e){this.listOfCustomColumn$.next(e)}constructor(){this.destroy$=new V,this.pageIndex$=new rt(1),this.frontPagination$=new rt(!0),this.pageSize$=new rt(10),this.listOfData$=new rt([]),this.listOfCustomColumn$=new rt([]),this.pageIndexDistinct$=this.pageIndex$.pipe(Qi()),this.pageSizeDistinct$=this.pageSize$.pipe(Qi()),this.listOfCalcOperator$=new rt([]),this.queryParams$=Di([this.pageIndexDistinct$,this.pageSizeDistinct$,this.listOfCalcOperator$]).pipe(g3(0),I5(1),Pe(([e,i,o])=>({pageIndex:e,pageSize:i,sort:o.filter(r=>r.sortFn).map(r=>({key:r.key,value:r.sortOrder})),filter:o.filter(r=>r.filterFn).map(r=>({key:r.key,value:r.filterValue}))}))),this.listOfDataAfterCalc$=Di([this.listOfData$,this.listOfCalcOperator$]).pipe(Pe(([e,i])=>{let o=[...e];const r=i.filter(a=>{const{filterValue:l,filterFn:c}=a;return!(null==l||Array.isArray(l)&&0===l.length)&&"function"==typeof c});for(const a of r){const{filterFn:l,filterValue:c}=a;o=o.filter(u=>l(c,u))}const s=i.filter(a=>null!==a.sortOrder&&"function"==typeof a.sortFn).sort((a,l)=>+l.sortPriority-+a.sortPriority);return i.length&&o.sort((a,l)=>{for(const c of s){const{sortFn:u,sortOrder:p}=c;if(u&&p){const b=u(a,l,p);if(0!==b)return"ascend"===p?b:-b}}return 0}),o})),this.listOfFrontEndCurrentPageData$=Di([this.pageIndexDistinct$,this.pageSizeDistinct$,this.listOfDataAfterCalc$]).pipe(P(this.destroy$),yt(e=>{const[i,o,r]=e;return i<=(Math.ceil(r.length/o)||1)}),Pe(([e,i,o])=>o.slice((e-1)*i,e*i))),this.listOfCurrentPageData$=this.frontPagination$.pipe(mn(e=>e?this.listOfFrontEndCurrentPageData$:this.listOfDataAfterCalc$)),this.total$=this.frontPagination$.pipe(mn(e=>e?this.listOfDataAfterCalc$:this.listOfData$),Pe(e=>e.length),Qi())}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),oP=(()=>{class t{constructor(){this.nzChecked=!1,this.nzDisabled=!1,this.nzIndeterminate=!1,this.nzLabel=null,this.nzIndentSize=0,this.nzShowExpand=!1,this.nzShowCheckbox=!1,this.nzExpand=!1,this.nzExpandIcon=null,this.nzCheckedChange=new B,this.nzExpandChange=new B,this.isNzShowExpandChanged=!1,this.isNzShowCheckboxChanged=!1}onCheckedChange(e){this.nzChecked=e,this.nzCheckedChange.emit(e)}onExpandChange(e){this.nzExpand=e,this.nzExpandChange.emit(e)}ngOnChanges(e){const i=l=>l&&l.firstChange&&void 0!==l.currentValue,{nzExpand:o,nzChecked:r,nzShowExpand:s,nzShowCheckbox:a}=e;s&&(this.isNzShowExpandChanged=!0),a&&(this.isNzShowCheckboxChanged=!0),i(o)&&!this.isNzShowExpandChanged&&(this.nzShowExpand=!0),i(r)&&!this.isNzShowCheckboxChanged&&(this.nzShowCheckbox=!0)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["td","nzChecked",""],["td","nzDisabled",""],["td","nzIndeterminate",""],["td","nzIndentSize",""],["td","nzExpand",""],["td","nzShowExpand",""],["td","nzShowCheckbox",""]],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-table-cell-with-append",o.nzShowExpand||o.nzIndentSize>0)("ant-table-selection-column",o.nzShowCheckbox)},inputs:{nzChecked:"nzChecked",nzDisabled:"nzDisabled",nzIndeterminate:"nzIndeterminate",nzLabel:"nzLabel",nzIndentSize:"nzIndentSize",nzShowExpand:[2,"nzShowExpand","nzShowExpand",I],nzShowCheckbox:[2,"nzShowCheckbox","nzShowCheckbox",I],nzExpand:[2,"nzExpand","nzExpand",I],nzExpandIcon:"nzExpandIcon"},outputs:{nzCheckedChange:"nzCheckedChange",nzExpandChange:"nzExpandChange"},standalone:!0,features:[je,xe,me],attrs:E0e,ngContentSelectors:Ll,decls:3,vars:2,consts:[["nz-checkbox","",3,"nzDisabled","ngModel","nzIndeterminate"],[3,"indentSize"],[3,"ngTemplateOutlet"],["nz-row-expand-button","",3,"expand","spaceMode"],["nz-row-expand-button","",3,"expandChange","expand","spaceMode"],["nz-checkbox","",3,"ngModelChange","nzDisabled","ngModel","nzIndeterminate"]],template:function(i,o){1&i&&(Et(),C(0,O0e,3,2)(1,P0e,1,4,"label",0),_t(2)),2&i&&(he(o.nzShowExpand||o.nzIndentSize>0?0:-1),d(),he(o.nzShowCheckbox?1:-1))},dependencies:[O4e,I4e,Nn,Pp,Rl,Pl,Zi,Xi],encapsulation:2,changeDetection:0})}return t})(),rP=(()=>{class t{getNextSortDirection(e,i){const o=e.indexOf(i);return o===e.length-1?e[0]:e[o+1]}setSortOrder(e){this.sortOrderChange$.next(e)}clearSortOrder(){null!==this.sortOrder&&this.setSortOrder(null)}onFilterValueChange(e){this.nzFilterChange.emit(e),this.nzFilterValue=e,this.updateCalcOperator()}updateCalcOperator(){this.calcOperatorChange$.next()}constructor(e,i,o,r){this.host=e,this.cdr=i,this.ngZone=o,this.destroy$=r,this.manualClickOrder$=new V,this.calcOperatorChange$=new V,this.nzFilterValue=null,this.sortOrder=null,this.sortDirections=["ascend","descend",null],this.sortOrderChange$=new V,this.isNzShowSortChanged=!1,this.isNzShowFilterChanged=!1,this.nzFilterMultiple=!0,this.nzSortOrder=null,this.nzSortPriority=!1,this.nzSortDirections=["ascend","descend",null],this.nzFilters=[],this.nzSortFn=null,this.nzFilterFn=null,this.nzShowSort=!1,this.nzShowFilter=!1,this.nzCustomFilter=!1,this.nzCheckedChange=new B,this.nzSortOrderChange=new B,this.nzFilterChange=new B}ngOnInit(){this.ngZone.runOutsideAngular(()=>nn(this.host.nativeElement,"click").pipe(yt(()=>this.nzShowSort),P(this.destroy$)).subscribe(()=>{const e=this.getNextSortDirection(this.sortDirections,this.sortOrder);this.ngZone.run(()=>{this.setSortOrder(e),this.manualClickOrder$.next(this)})})),this.sortOrderChange$.pipe(P(this.destroy$)).subscribe(e=>{this.sortOrder!==e&&(this.sortOrder=e,this.nzSortOrderChange.emit(e)),this.updateCalcOperator(),this.cdr.markForCheck()})}ngOnChanges(e){const{nzSortDirections:i,nzFilters:o,nzSortOrder:r,nzSortFn:s,nzFilterFn:a,nzSortPriority:l,nzFilterMultiple:c,nzShowSort:u,nzShowFilter:p}=e;i&&this.nzSortDirections&&this.nzSortDirections.length&&(this.sortDirections=this.nzSortDirections),r&&(this.sortOrder=this.nzSortOrder,this.setSortOrder(this.nzSortOrder)),u&&(this.isNzShowSortChanged=!0),p&&(this.isNzShowFilterChanged=!0);const b=_=>_&&_.firstChange&&void 0!==_.currentValue;if((b(r)||b(s))&&!this.isNzShowSortChanged&&(this.nzShowSort=!0),b(o)&&!this.isNzShowFilterChanged&&(this.nzShowFilter=!0),(o||c)&&this.nzShowFilter){const _=this.nzFilters.filter(y=>y.byDefault).map(y=>y.value);this.nzFilterValue=this.nzFilterMultiple?_:_[0]||null}(s||a||l||o)&&this.updateCalcOperator()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(We),v(Me),v(Vo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["th","nzColumnKey",""],["th","nzSortFn",""],["th","nzSortOrder",""],["th","nzFilters",""],["th","nzShowSort",""],["th","nzShowFilter",""],["th","nzCustomFilter",""]],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-table-column-has-sorters",o.nzShowSort)("ant-table-column-sort","descend"===o.sortOrder||"ascend"===o.sortOrder)},inputs:{nzColumnKey:"nzColumnKey",nzFilterMultiple:"nzFilterMultiple",nzSortOrder:"nzSortOrder",nzSortPriority:"nzSortPriority",nzSortDirections:"nzSortDirections",nzFilters:"nzFilters",nzSortFn:"nzSortFn",nzFilterFn:"nzFilterFn",nzShowSort:[2,"nzShowSort","nzShowSort",I],nzShowFilter:[2,"nzShowFilter","nzShowFilter",I],nzCustomFilter:[2,"nzCustomFilter","nzCustomFilter",I]},outputs:{nzCheckedChange:"nzCheckedChange",nzSortOrderChange:"nzSortOrderChange",nzFilterChange:"nzFilterChange"},standalone:!0,features:[et([Vo]),je,xe,me],attrs:V0e,ngContentSelectors:F0e,decls:10,vars:1,consts:[["notFilterTemplate",""],["extraTemplate",""],["sortTemplate",""],["contentTemplate",""],[3,"contentTemplate","extraTemplate","customFilter","filterMultiple","listOfFilter"],[3,"ngTemplateOutlet"],[3,"filterChange","contentTemplate","extraTemplate","customFilter","filterMultiple","listOfFilter"],[3,"sortOrder","sortDirections","contentTemplate"]],template:function(i,o){1&i&&(Et(N0e),C(0,R0e,1,5,"nz-table-filter",4)(1,L0e,1,1,"ng-container",5)(2,H0e,1,1,"ng-template",null,0,ot)(4,j0e,2,0,"ng-template",null,1,ot)(6,Y0e,1,3,"ng-template",null,2,ot)(8,U0e,1,0,"ng-template",null,3,ot)),2&i&&he(o.nzShowFilter||o.nzCustomFilter?0:1)},dependencies:[tP,Nn,iP],encapsulation:2,changeDetection:0})}return t})(),Y1=(()=>{class t{constructor(e,i){this.renderer=e,this.elementRef=i,this.changes$=new V,this.nzWidth=null,this.colspan=null,this.colSpan=null,this.rowspan=null,this.rowSpan=null}ngOnChanges(e){const{nzWidth:i,colspan:o,rowspan:r,colSpan:s,rowSpan:a}=e;if(o||s){const l=this.colspan||this.colSpan;_3(l)?this.renderer.removeAttribute(this.elementRef.nativeElement,"colspan"):this.renderer.setAttribute(this.elementRef.nativeElement,"colspan",`${l}`)}if(r||a){const l=this.rowspan||this.rowSpan;_3(l)?this.renderer.removeAttribute(this.elementRef.nativeElement,"rowspan"):this.renderer.setAttribute(this.elementRef.nativeElement,"rowspan",`${l}`)}(i||o)&&this.changes$.next()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Yt),v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["th"]],inputs:{nzWidth:"nzWidth",colspan:"colspan",colSpan:"colSpan",rowspan:"rowspan",rowSpan:"rowSpan"},standalone:!0,features:[xe]})}return t})(),sP=(()=>{class t{constructor(){this.nzSelections=[],this.nzChecked=!1,this.nzDisabled=!1,this.nzIndeterminate=!1,this.nzLabel=null,this.nzShowCheckbox=!1,this.nzShowRowSelection=!1,this.nzCheckedChange=new B,this.isNzShowExpandChanged=!1,this.isNzShowCheckboxChanged=!1}onCheckedChange(e){this.nzChecked=e,this.nzCheckedChange.emit(e)}ngOnChanges(e){const i=l=>l&&l.firstChange&&void 0!==l.currentValue,{nzChecked:o,nzSelections:r,nzShowExpand:s,nzShowCheckbox:a}=e;s&&(this.isNzShowExpandChanged=!0),a&&(this.isNzShowCheckboxChanged=!0),i(r)&&!this.isNzShowExpandChanged&&(this.nzShowRowSelection=!0),i(o)&&!this.isNzShowCheckboxChanged&&(this.nzShowCheckbox=!0)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["th","nzSelections",""],["th","nzChecked",""],["th","nzShowCheckbox",""],["th","nzShowRowSelection",""]],hostAttrs:[1,"ant-table-selection-column"],inputs:{nzSelections:"nzSelections",nzChecked:[2,"nzChecked","nzChecked",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzIndeterminate:"nzIndeterminate",nzLabel:"nzLabel",nzShowCheckbox:[2,"nzShowCheckbox","nzShowCheckbox",I],nzShowRowSelection:[2,"nzShowRowSelection","nzShowRowSelection",I]},outputs:{nzCheckedChange:"nzCheckedChange"},standalone:!0,features:[je,xe,me],attrs:W0e,ngContentSelectors:Ll,decls:2,vars:7,consts:[[3,"checkedChange","checked","disabled","indeterminate","label","listOfSelections","showCheckbox","showRowSelection"]],template:function(i,o){1&i&&(Et(),f(0,"nz-table-selection",0),M("checkedChange",function(s){return o.onCheckedChange(s)}),m(),_t(1)),2&i&&h("checked",o.nzChecked)("disabled",o.nzDisabled)("indeterminate",o.nzIndeterminate)("label",o.nzLabel)("listOfSelections",o.nzSelections)("showCheckbox",o.nzShowCheckbox)("showRowSelection",o.nzShowRowSelection)},dependencies:[nP],encapsulation:2,changeDetection:0})}return t})(),aP=(()=>{class t{constructor(){this.tableLayout="auto",this.theadTemplate=null,this.contentTemplate=null,this.listOfColWidth=[],this.scrollX=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["table","nz-table-content",""]],hostVars:8,hostBindings:function(i,o){2&i&&(Lt("table-layout",o.tableLayout)("width",o.scrollX)("min-width",o.scrollX?"100%":null),Z("ant-table-fixed",o.scrollX))},inputs:{tableLayout:"tableLayout",theadTemplate:"theadTemplate",contentTemplate:"contentTemplate",listOfColWidth:"listOfColWidth",scrollX:"scrollX"},standalone:!0,features:[me],attrs:G0e,ngContentSelectors:Ll,decls:5,vars:2,consts:[[3,"width","minWidth"],[1,"ant-table-thead"],[3,"ngTemplateOutlet"]],template:function(i,o){1&i&&(Et(),ji(0,q0e,1,4,"col",0,fr),C(2,K0e,2,1,"thead",1)(3,$0e,0,0,"ng-template",2),_t(4)),2&i&&(Yi(o.listOfColWidth),d(2),he(o.theadTemplate?2:-1),d(),h("ngTemplateOutlet",o.contentTemplate))},dependencies:[Nn],encapsulation:2,changeDetection:0})}return t})(),V4e=(()=>{class t{constructor(e,i){this.nzTableStyleService=e,this.renderer=i,this.hostWidth$=new rt(null),this.enableAutoMeasure$=new rt(!1),this.destroy$=new V}ngOnInit(){if(this.nzTableStyleService){const{enableAutoMeasure$:e,hostWidth$:i}=this.nzTableStyleService;e.pipe(P(this.destroy$)).subscribe(this.enableAutoMeasure$),i.pipe(P(this.destroy$)).subscribe(this.hostWidth$)}}ngAfterViewInit(){this.nzTableStyleService.columnCount$.pipe(P(this.destroy$)).subscribe(e=>{this.renderer.setAttribute(this.tdElement.nativeElement,"colspan",`${e}`)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Bl),v(Yt))};static#t=this.\u0275cmp=Q({type:t,selectors:[["tr","nz-table-fixed-row",""],["tr","nzExpand",""]],viewQuery:function(i,o){if(1&i&&ft(ZO,7),2&i){let r;ke(r=Ie())&&(o.tdElement=r.first)}},standalone:!0,features:[me],attrs:J0e,ngContentSelectors:XO,decls:5,vars:3,consts:[["tdElement",""],[1,"nz-disable-td","ant-table-cell"],[1,"ant-table-expanded-row-fixed",2,"position","sticky","left","0","overflow","hidden",3,"width"],[1,"ant-table-expanded-row-fixed",2,"position","sticky","left","0","overflow","hidden"]],template:function(i,o){1&i&&(Et(XO),f(0,"td",1,0),C(2,Z0e,3,4,"div",2),Fr(3,"async"),C(4,X0e,1,0),m()),2&i&&(d(2),he(Rr(3,1,o.enableAutoMeasure$)?2:4))},dependencies:[Qm],encapsulation:2,changeDetection:0})}return t})(),N4e=(()=>{class t{constructor(){this.tableLayout="auto",this.listOfColWidth=[],this.theadTemplate=null,this.contentTemplate=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-inner-default"]],hostAttrs:[1,"ant-table-container"],inputs:{tableLayout:"tableLayout",listOfColWidth:"listOfColWidth",theadTemplate:"theadTemplate",contentTemplate:"contentTemplate"},standalone:!0,features:[me],decls:2,vars:4,consts:[[1,"ant-table-content"],["nz-table-content","",3,"contentTemplate","tableLayout","listOfColWidth","theadTemplate"]],template:function(i,o){1&i&&(f(0,"div",0),A(1,"table",1),m()),2&i&&(d(),h("contentTemplate",o.contentTemplate)("tableLayout",o.tableLayout)("listOfColWidth",o.listOfColWidth)("theadTemplate",o.theadTemplate))},dependencies:[aP],encapsulation:2,changeDetection:0})}return t})(),F4e=(()=>{class t{constructor(e,i){this.nzResizeObserver=e,this.ngZone=i,this.listOfMeasureColumn=[],this.listOfAutoWidth=new B,this.destroy$=new V}ngAfterViewInit(){this.listOfTdElement.changes.pipe(gn(this.listOfTdElement)).pipe(mn(e=>Di(e.toArray().map(i=>this.nzResizeObserver.observe(i).pipe(Pe(([o])=>{const{width:r}=o.target.getBoundingClientRect();return Math.floor(r)}))))),g3(16),P(this.destroy$)).subscribe(e=>{this.ngZone instanceof Me&&Me.isInAngularZone()?this.listOfAutoWidth.next(e):this.ngZone.run(()=>this.listOfAutoWidth.next(e))})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Av),v(Me))};static#t=this.\u0275cmp=Q({type:t,selectors:[["tr","nz-table-measure-row",""]],viewQuery:function(i,o){if(1&i&&ft(ZO,5),2&i){let r;ke(r=Ie())&&(o.listOfTdElement=r)}},hostAttrs:[1,"ant-table-measure-now"],inputs:{listOfMeasureColumn:"listOfMeasureColumn"},outputs:{listOfAutoWidth:"listOfAutoWidth"},standalone:!0,features:[me],attrs:e4e,decls:2,vars:0,consts:[["tdElement",""],[1,"nz-disable-td",2,"padding","0","border","0","height","0"]],template:function(i,o){1&i&&ji(0,t4e,2,0,"td",1,fr),2&i&&Yi(o.listOfMeasureColumn)},encapsulation:2,changeDetection:0})}return t})(),Hl=(()=>{class t{constructor(e){if(this.nzTableStyleService=e,this.isInsideTable=!1,this.showEmpty$=new rt(!1),this.noResult$=new rt(void 0),this.listOfMeasureColumn$=new rt([]),this.destroy$=new V,this.isInsideTable=!!this.nzTableStyleService,this.nzTableStyleService){const{showEmpty$:i,noResult$:o,listOfMeasureColumn$:r}=this.nzTableStyleService;o.pipe(P(this.destroy$)).subscribe(this.noResult$),r.pipe(P(this.destroy$)).subscribe(this.listOfMeasureColumn$),i.pipe(P(this.destroy$)).subscribe(this.showEmpty$)}}onListOfAutoWidthChange(e){this.nzTableStyleService.setListOfAutoWidth(e)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Bl,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["tbody"]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-table-tbody",o.isInsideTable)},standalone:!0,features:[me],ngContentSelectors:Ll,decls:5,vars:6,consts:[["nz-table-fixed-row","",1,"ant-table-placeholder"],["nz-table-measure-row","",3,"listOfMeasureColumn"],["nz-table-measure-row","",3,"listOfAutoWidth","listOfMeasureColumn"],["nzComponentName","table",3,"specificContent"]],template:function(i,o){if(1&i&&(Et(),C(0,i4e,1,1),Fr(1,"async"),_t(2),C(3,o4e,3,3,"tr",0),Fr(4,"async")),2&i){let r;he((r=Rr(1,2,o.listOfMeasureColumn$))?0:-1,r),d(3),he(Rr(4,4,o.showEmpty$)?3:-1)}},dependencies:[Qm,F4e,V4e,U7,Y7],encapsulation:2,changeDetection:0})}return t})(),Mv=(()=>{class t{setScrollPositionClassName(e=!1){const{scrollWidth:i,scrollLeft:o,clientWidth:r}=this.tableBodyElement.nativeElement,s="ant-table-ping-left",a="ant-table-ping-right";i===r&&0!==i||e?(this.renderer.removeClass(this.tableMainElement,s),this.renderer.removeClass(this.tableMainElement,a)):0===o?(this.renderer.removeClass(this.tableMainElement,s),this.renderer.addClass(this.tableMainElement,a)):i===o+r?(this.renderer.removeClass(this.tableMainElement,a),this.renderer.addClass(this.tableMainElement,s)):(this.renderer.addClass(this.tableMainElement,s),this.renderer.addClass(this.tableMainElement,a))}constructor(e,i,o,r){this.renderer=e,this.ngZone=i,this.platform=o,this.resizeService=r,this.data=[],this.scrollX=null,this.scrollY=null,this.contentTemplate=null,this.widthConfig=[],this.listOfColWidth=[],this.theadTemplate=null,this.virtualTemplate=null,this.virtualItemSize=0,this.virtualMaxBufferPx=200,this.virtualMinBufferPx=100,this.virtualForTrackBy=s=>s,this.headerStyleMap={},this.bodyStyleMap={},this.verticalScrollBarWidth=0,this.noDataVirtualHeight="182px",this.data$=new V,this.scroll$=new V,this.destroy$=new V}ngOnChanges(e){const{scrollX:i,scrollY:o,data:r}=e;(i||o)&&(this.headerStyleMap={overflowX:"hidden",overflowY:this.scrollY&&0!==this.verticalScrollBarWidth?"scroll":"hidden"},this.bodyStyleMap={overflowY:this.scrollY?"scroll":"hidden",overflowX:this.scrollX?"auto":null,maxHeight:this.scrollY},this.ngZone.runOutsideAngular(()=>this.scroll$.next())),r&&this.ngZone.runOutsideAngular(()=>this.data$.next())}ngAfterViewInit(){this.platform.isBrowser&&this.ngZone.runOutsideAngular(()=>{const e=this.scroll$.pipe(gn(null),C2(0),mn(()=>nn(this.tableBodyElement.nativeElement,"scroll").pipe(gn(!0))),P(this.destroy$));On(e,this.resizeService.subscribe().pipe(P(this.destroy$)),this.data$.pipe(P(this.destroy$)),this.scroll$).pipe(gn(!0),C2(0),P(this.destroy$)).subscribe(()=>this.setScrollPositionClassName()),e.pipe(yt(()=>!!this.scrollY)).subscribe(()=>this.tableHeaderElement.nativeElement.scrollLeft=this.tableBodyElement.nativeElement.scrollLeft)})}ngOnDestroy(){this.setScrollPositionClassName(!0),this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Yt),v(Me),v(Qn),v(R5))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-inner-scroll"]],viewQuery:function(i,o){if(1&i&&(ft(r4e,5,Se),ft(s4e,5,Se),ft(E1,5,E1)),2&i){let r;ke(r=Ie())&&(o.tableHeaderElement=r.first),ke(r=Ie())&&(o.tableBodyElement=r.first),ke(r=Ie())&&(o.cdkVirtualScrollViewport=r.first)}},hostAttrs:[1,"ant-table-container"],inputs:{data:"data",scrollX:"scrollX",scrollY:"scrollY",contentTemplate:"contentTemplate",widthConfig:"widthConfig",listOfColWidth:"listOfColWidth",theadTemplate:"theadTemplate",virtualTemplate:"virtualTemplate",virtualItemSize:"virtualItemSize",virtualMaxBufferPx:"virtualMaxBufferPx",virtualMinBufferPx:"virtualMinBufferPx",tableMainElement:"tableMainElement",virtualForTrackBy:"virtualForTrackBy",verticalScrollBarWidth:"verticalScrollBarWidth",noDataVirtualHeight:"noDataVirtualHeight"},standalone:!0,features:[xe,me],decls:2,vars:1,consts:[["tableHeaderElement",""],["tableBodyElement",""],[1,"ant-table-content",3,"ngStyle"],[1,"ant-table-header","nz-table-hide-scrollbar",3,"ngStyle"],["nz-table-content","","tableLayout","fixed",3,"scrollX","listOfColWidth","theadTemplate"],[1,"ant-table-body",3,"ngStyle"],[3,"itemSize","maxBufferPx","minBufferPx","height"],["nz-table-content","","tableLayout","fixed",3,"scrollX","listOfColWidth","contentTemplate"],[3,"itemSize","maxBufferPx","minBufferPx"],["nz-table-content","","tableLayout","fixed",3,"scrollX","listOfColWidth"],[4,"cdkVirtualFor","cdkVirtualForOf","cdkVirtualForTrackBy"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["nz-table-content","","tableLayout","fixed",3,"scrollX","listOfColWidth","theadTemplate","contentTemplate"]],template:function(i,o){1&i&&C(0,h4e,5,5)(1,p4e,3,5,"div",2),2&i&&he(o.scrollY?0:1)},dependencies:[aP,ti,C7,Yx,qx,E1,Nn,Hl],encapsulation:2,changeDetection:0})}return t})(),R4e=(()=>{class t{constructor(e){this.templateRef=e}static ngTemplateContextGuard(e,i){return!0}static#e=this.\u0275fac=function(i){return new(i||t)(v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-virtual-scroll",""]],exportAs:["nzVirtualScroll"],standalone:!0})}return t})(),lP=(()=>{class t{constructor(){this.title=null,this.footer=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-title-footer"]],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-table-title",null!==o.title)("ant-table-footer",null!==o.footer)},inputs:{title:"title",footer:"footer"},standalone:!0,features:[me],decls:2,vars:2,consts:[[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&C(0,f4e,2,1,"ng-container",0)(1,m4e,2,1,"ng-container",0),2&i&&(h("nzStringTemplateOutlet",o.title),d(),h("nzStringTemplateOutlet",o.footer))},dependencies:[Sn,An],encapsulation:2,changeDetection:0})}return t})(),U1=(()=>{class t{onPageSizeChange(e){this.nzTableDataService.updatePageSize(e)}onPageIndexChange(e){this.nzTableDataService.updatePageIndex(e)}constructor(e,i,o,r,s,a,l){this.elementRef=e,this.nzResizeObserver=i,this.nzConfigService=o,this.cdr=r,this.nzTableStyleService=s,this.nzTableDataService=a,this.directionality=l,this._nzModuleName="table",this.nzTableLayout="auto",this.nzShowTotal=null,this.nzItemRender=null,this.nzTitle=null,this.nzFooter=null,this.nzNoResult=void 0,this.nzPageSizeOptions=[10,20,30,40,50],this.nzVirtualItemSize=0,this.nzVirtualMaxBufferPx=200,this.nzVirtualMinBufferPx=100,this.nzVirtualForTrackBy=c=>c,this.nzLoadingDelay=0,this.nzPageIndex=1,this.nzPageSize=10,this.nzTotal=0,this.nzWidthConfig=[],this.nzData=[],this.nzCustomColumn=[],this.nzPaginationPosition="bottom",this.nzScroll={x:null,y:null},this.noDataVirtualHeight="182px",this.nzPaginationType="default",this.nzFrontPagination=!0,this.nzTemplateMode=!1,this.nzShowPagination=!0,this.nzLoading=!1,this.nzOuterBordered=!1,this.nzLoadingIndicator=null,this.nzBordered=!1,this.nzSize="default",this.nzShowSizeChanger=!1,this.nzHideOnSinglePage=!1,this.nzShowQuickJumper=!1,this.nzSimple=!1,this.nzPageSizeChange=new B,this.nzPageIndexChange=new B,this.nzQueryParams=new B,this.nzCurrentPageDataChange=new B,this.nzCustomColumnChange=new B,this.data=[],this.scrollX=null,this.scrollY=null,this.theadTemplate=null,this.listOfAutoColWidth=[],this.listOfManualColWidth=[],this.hasFixLeft=!1,this.hasFixRight=!1,this.showPagination=!0,this.destroy$=new V,this.templateMode$=new rt(!1),this.dir="ltr",this.verticalScrollBarWidth=0,this.nzConfigService.getConfigChangeEventForComponent("table").pipe(P(this.destroy$)).subscribe(()=>{this.cdr.markForCheck()})}ngOnInit(){const{pageIndexDistinct$:e,pageSizeDistinct$:i,listOfCurrentPageData$:o,total$:r,queryParams$:s,listOfCustomColumn$:a}=this.nzTableDataService,{theadTemplate$:l,hasFixLeft$:c,hasFixRight$:u}=this.nzTableStyleService;this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(p=>{this.dir=p,this.cdr.detectChanges()}),s.pipe(P(this.destroy$)).subscribe(this.nzQueryParams),e.pipe(P(this.destroy$)).subscribe(p=>{p!==this.nzPageIndex&&(this.nzPageIndex=p,this.nzPageIndexChange.next(p))}),i.pipe(P(this.destroy$)).subscribe(p=>{p!==this.nzPageSize&&(this.nzPageSize=p,this.nzPageSizeChange.next(p))}),r.pipe(P(this.destroy$),yt(()=>this.nzFrontPagination)).subscribe(p=>{p!==this.nzTotal&&(this.nzTotal=p,this.cdr.markForCheck())}),o.pipe(P(this.destroy$)).subscribe(p=>{this.data=p,this.nzCurrentPageDataChange.next(p),this.cdr.markForCheck()}),a.pipe(P(this.destroy$)).subscribe(p=>{this.nzCustomColumn=p,this.nzCustomColumnChange.next(p),this.cdr.markForCheck()}),l.pipe(P(this.destroy$)).subscribe(p=>{this.theadTemplate=p,this.cdr.markForCheck()}),c.pipe(P(this.destroy$)).subscribe(p=>{this.hasFixLeft=p,this.cdr.markForCheck()}),u.pipe(P(this.destroy$)).subscribe(p=>{this.hasFixRight=p,this.cdr.markForCheck()}),Di([r,this.templateMode$]).pipe(Pe(([p,b])=>0===p&&!b),P(this.destroy$)).subscribe(p=>{this.nzTableStyleService.setShowEmpty(p)}),this.verticalScrollBarWidth=function pne(t="vertical",n="ant"){if(typeof document>"u"||typeof window>"u")return 0;const e="vertical"===t;if(e&&Q5)return Q5;if(!e&&K5)return K5;const i=document.createElement("div");Object.keys(bE).forEach(r=>{i.style[r]=bE[r]}),i.className=`${n}-hide-scrollbar scroll-div-append-to-body`,e?i.style.overflowY="scroll":i.style.overflowX="scroll",document.body.appendChild(i);let o=0;return e?(o=i.offsetWidth-i.clientWidth,Q5=o):(o=i.offsetHeight-i.clientHeight,K5=o),document.body.removeChild(i),o}("vertical"),this.nzTableStyleService.listOfListOfThWidthPx$.pipe(P(this.destroy$)).subscribe(p=>{this.listOfAutoColWidth=p,this.cdr.markForCheck()}),this.nzTableStyleService.manualWidthConfigPx$.pipe(P(this.destroy$)).subscribe(p=>{this.listOfManualColWidth=p,this.cdr.markForCheck()})}ngOnChanges(e){const{nzScroll:i,nzPageIndex:o,nzPageSize:r,nzFrontPagination:s,nzData:a,nzCustomColumn:l,nzWidthConfig:c,nzNoResult:u,nzTemplateMode:p}=e;o&&this.nzTableDataService.updatePageIndex(this.nzPageIndex),r&&this.nzTableDataService.updatePageSize(this.nzPageSize),a&&(this.nzData=this.nzData||[],this.nzTableDataService.updateListOfData(this.nzData)),l&&(this.nzCustomColumn=this.nzCustomColumn||[],this.nzTableDataService.updateListOfCustomColumn(this.nzCustomColumn)),s&&this.nzTableDataService.updateFrontPagination(this.nzFrontPagination),i&&this.setScrollOnChanges(),c&&this.nzTableStyleService.setTableWidthConfig(this.nzWidthConfig),p&&this.templateMode$.next(this.nzTemplateMode),u&&this.nzTableStyleService.setNoResult(this.nzNoResult),this.updateShowPagination()}ngAfterViewInit(){this.nzResizeObserver.observe(this.elementRef).pipe(Pe(([e])=>{const{width:i}=e.target.getBoundingClientRect();return Math.floor(i-(this.scrollY?this.verticalScrollBarWidth:0))}),P(this.destroy$)).subscribe(this.nzTableStyleService.hostWidth$),this.nzTableInnerScrollComponent&&this.nzTableInnerScrollComponent.cdkVirtualScrollViewport&&(this.cdkVirtualScrollViewport=this.nzTableInnerScrollComponent.cdkVirtualScrollViewport)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}setScrollOnChanges(){this.scrollX=this.nzScroll&&this.nzScroll.x||null,this.scrollY=this.nzScroll&&this.nzScroll.y||null,this.nzTableStyleService.setScroll(this.scrollX,this.scrollY)}updateShowPagination(){this.showPagination=this.nzHideOnSinglePage&&this.nzData.length>this.nzPageSize||this.nzData.length>0&&!this.nzHideOnSinglePage||!this.nzFrontPagination&&this.nzTotal>this.nzPageSize}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Av),v(si),v(We),v(Bl),v(Tv),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table"]],contentQueries:function(i,o,r){if(1&i&&fn(r,R4e,5),2&i){let s;ke(s=Ie())&&(o.nzVirtualScrollDirective=s.first)}},viewQuery:function(i,o){if(1&i&&ft(Mv,5),2&i){let r;ke(r=Ie())&&(o.nzTableInnerScrollComponent=r.first)}},hostAttrs:[1,"ant-table-wrapper"],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-table-wrapper-rtl","rtl"===o.dir)("ant-table-custom-column",o.nzCustomColumn.length)},inputs:{nzTableLayout:"nzTableLayout",nzShowTotal:"nzShowTotal",nzItemRender:"nzItemRender",nzTitle:"nzTitle",nzFooter:"nzFooter",nzNoResult:"nzNoResult",nzPageSizeOptions:"nzPageSizeOptions",nzVirtualItemSize:"nzVirtualItemSize",nzVirtualMaxBufferPx:"nzVirtualMaxBufferPx",nzVirtualMinBufferPx:"nzVirtualMinBufferPx",nzVirtualForTrackBy:"nzVirtualForTrackBy",nzLoadingDelay:"nzLoadingDelay",nzPageIndex:"nzPageIndex",nzPageSize:"nzPageSize",nzTotal:"nzTotal",nzWidthConfig:"nzWidthConfig",nzData:"nzData",nzCustomColumn:"nzCustomColumn",nzPaginationPosition:"nzPaginationPosition",nzScroll:"nzScroll",noDataVirtualHeight:"noDataVirtualHeight",nzPaginationType:"nzPaginationType",nzFrontPagination:[2,"nzFrontPagination","nzFrontPagination",I],nzTemplateMode:[2,"nzTemplateMode","nzTemplateMode",I],nzShowPagination:[2,"nzShowPagination","nzShowPagination",I],nzLoading:[2,"nzLoading","nzLoading",I],nzOuterBordered:[2,"nzOuterBordered","nzOuterBordered",I],nzLoadingIndicator:"nzLoadingIndicator",nzBordered:[2,"nzBordered","nzBordered",I],nzSize:"nzSize",nzShowSizeChanger:[2,"nzShowSizeChanger","nzShowSizeChanger",I],nzHideOnSinglePage:[2,"nzHideOnSinglePage","nzHideOnSinglePage",I],nzShowQuickJumper:[2,"nzShowQuickJumper","nzShowQuickJumper",I],nzSimple:[2,"nzSimple","nzSimple",I]},outputs:{nzPageSizeChange:"nzPageSizeChange",nzPageIndexChange:"nzPageIndexChange",nzQueryParams:"nzQueryParams",nzCurrentPageDataChange:"nzCurrentPageDataChange",nzCustomColumnChange:"nzCustomColumnChange"},exportAs:["nzTable"],standalone:!0,features:[et([Bl,Tv]),je,xe,me],ngContentSelectors:Ll,decls:13,vars:26,consts:[["tableMainElement",""],["paginationTemplate",""],["contentTemplate",""],[3,"nzDelay","nzSpinning","nzIndicator"],[3,"ngTemplateOutlet"],[1,"ant-table"],[3,"title"],[3,"data","scrollX","scrollY","contentTemplate","listOfColWidth","theadTemplate","verticalScrollBarWidth","virtualTemplate","virtualItemSize","virtualMaxBufferPx","virtualMinBufferPx","tableMainElement","virtualForTrackBy","noDataVirtualHeight"],[3,"tableLayout","listOfColWidth","theadTemplate","contentTemplate"],[3,"footer"],[1,"ant-table-pagination","ant-table-pagination-right",3,"hidden","nzShowSizeChanger","nzPageSizeOptions","nzItemRender","nzShowQuickJumper","nzHideOnSinglePage","nzShowTotal","nzSize","nzPageSize","nzTotal","nzSimple","nzPageIndex"],[1,"ant-table-pagination","ant-table-pagination-right",3,"nzPageSizeChange","nzPageIndexChange","hidden","nzShowSizeChanger","nzPageSizeOptions","nzItemRender","nzShowQuickJumper","nzHideOnSinglePage","nzShowTotal","nzSize","nzPageSize","nzTotal","nzSimple","nzPageIndex"]],template:function(i,o){1&i&&(Et(),f(0,"nz-spin",3),C(1,v4e,1,1,null,4),f(2,"div",5,0),C(4,b4e,1,1,"nz-table-title-footer",6)(5,_4e,1,14,"nz-table-inner-scroll",7)(6,y4e,1,4,"nz-table-inner-default",8)(7,w4e,1,1,"nz-table-title-footer",9),m(),C(8,z4e,1,1,null,4),m(),C(9,S4e,1,1,"ng-template",null,1,ot)(11,T4e,1,0,"ng-template",null,2,ot)),2&i&&(h("nzDelay",o.nzLoadingDelay)("nzSpinning",o.nzLoading)("nzIndicator",o.nzLoadingIndicator),d(),he("both"===o.nzPaginationPosition||"top"===o.nzPaginationPosition?1:-1),d(),Z("ant-table-rtl","rtl"===o.dir)("ant-table-fixed-header",o.nzData.length&&o.scrollY)("ant-table-fixed-column",o.scrollX)("ant-table-has-fix-left",o.hasFixLeft)("ant-table-has-fix-right",o.hasFixRight)("ant-table-bordered",o.nzBordered)("nz-table-out-bordered",o.nzOuterBordered&&!o.nzBordered)("ant-table-middle","middle"===o.nzSize)("ant-table-small","small"===o.nzSize),d(2),he(o.nzTitle?4:-1),d(),he(o.scrollY||o.scrollX?5:6),d(2),he(o.nzFooter?7:-1),d(),he("both"===o.nzPaginationPosition||"bottom"===o.nzPaginationPosition?8:-1))},dependencies:[JO,Nn,lP,Mv,N4e,a0e,KO],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzLoadingIndicator",void 0),xt([Vt()],t.prototype,"nzBordered",void 0),xt([Vt()],t.prototype,"nzSize",void 0),xt([Vt()],t.prototype,"nzShowSizeChanger",void 0),xt([Vt()],t.prototype,"nzHideOnSinglePage",void 0),xt([Vt()],t.prototype,"nzShowQuickJumper",void 0),xt([Vt()],t.prototype,"nzSimple",void 0),t})(),W1=(()=>{class t{constructor(e){this.nzTableStyleService=e,this.destroy$=new V,this.listOfFixedColumns$=new fi(1),this.listOfColumns$=new fi(1),this.listOfFixedColumnsChanges$=this.listOfFixedColumns$.pipe(mn(i=>On(this.listOfFixedColumns$,...i.map(o=>o.changes$)).pipe(Yn(()=>this.listOfFixedColumns$))),P(this.destroy$)),this.listOfFixedLeftColumnChanges$=this.listOfFixedColumnsChanges$.pipe(Pe(i=>i.filter(o=>!1!==o.nzLeft))),this.listOfFixedRightColumnChanges$=this.listOfFixedColumnsChanges$.pipe(Pe(i=>i.filter(o=>!1!==o.nzRight))),this.listOfColumnsChanges$=this.listOfColumns$.pipe(mn(i=>On(this.listOfColumns$,...i.map(o=>o.changes$)).pipe(Yn(()=>this.listOfColumns$))),P(this.destroy$)),this.isInsideTable=!1,this.isInsideTable=!!e}ngAfterContentInit(){this.nzTableStyleService&&(this.listOfCellFixedDirective.changes.pipe(gn(this.listOfCellFixedDirective),P(this.destroy$)).subscribe(this.listOfFixedColumns$),this.listOfNzThDirective.changes.pipe(gn(this.listOfNzThDirective),P(this.destroy$)).subscribe(this.listOfColumns$),this.listOfFixedLeftColumnChanges$.subscribe(e=>{e.forEach(i=>i.setIsLastLeft(i===e[e.length-1]))}),this.listOfFixedRightColumnChanges$.subscribe(e=>{e.forEach(i=>i.setIsFirstRight(i===e[0]))}),Di([this.nzTableStyleService.listOfListOfThWidth$,this.listOfFixedLeftColumnChanges$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{i.forEach((o,r)=>{if(o.isAutoLeft){const a=i.slice(0,r).reduce((c,u)=>c+(u.colspan||u.colSpan||1),0),l=e.slice(0,a).reduce((c,u)=>c+u,0);o.setAutoLeftWidth(`${l}px`)}})}),Di([this.nzTableStyleService.listOfListOfThWidth$,this.listOfFixedRightColumnChanges$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{i.forEach((o,r)=>{const s=i[i.length-r-1];if(s.isAutoRight){const l=i.slice(i.length-r,i.length).reduce((u,p)=>u+(p.colspan||p.colSpan||1),0),c=e.slice(e.length-l,e.length).reduce((u,p)=>u+p,0);s.setAutoRightWidth(`${c}px`)}})}))}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Bl,8))};static#t=this.\u0275dir=de({type:t,selectors:[["tr",3,"mat-row","",3,"mat-header-row","",3,"nz-table-measure-row","",3,"nzExpand","",3,"nz-table-fixed-row",""]],contentQueries:function(i,o,r){if(1&i&&(fn(r,Y1,4),fn(r,P4e,4)),2&i){let s;ke(s=Ie())&&(o.listOfNzThDirective=s),ke(s=Ie())&&(o.listOfCellFixedDirective=s)}},hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-table-row",o.isInsideTable)},standalone:!0})}return t})(),N2=(()=>{class t{constructor(e,i,o,r){this.elementRef=e,this.renderer=i,this.nzTableStyleService=o,this.nzTableDataService=r,this.destroy$=new V,this.isInsideTable=!1,this.nzSortOrderChange=new B,this.isInsideTable=!!this.nzTableStyleService}ngOnInit(){this.nzTableStyleService&&this.nzTableStyleService.setTheadTemplate(this.templateRef)}ngAfterContentInit(){if(this.nzTableStyleService){const e=this.listOfNzTrDirective.changes.pipe(gn(this.listOfNzTrDirective),Pe(s=>s&&s.first)),i=e.pipe(mn(s=>s?s.listOfColumnsChanges$:_o),P(this.destroy$));i.subscribe(s=>this.nzTableStyleService.setListOfTh(s)),this.nzTableStyleService.enableAutoMeasure$.pipe(mn(s=>s?i:Ge([]))).pipe(P(this.destroy$)).subscribe(s=>this.nzTableStyleService.setListOfMeasureColumn(s));const o=e.pipe(mn(s=>s?s.listOfFixedLeftColumnChanges$:_o),P(this.destroy$)),r=e.pipe(mn(s=>s?s.listOfFixedRightColumnChanges$:_o),P(this.destroy$));o.subscribe(s=>{this.nzTableStyleService.setHasFixLeft(0!==s.length)}),r.subscribe(s=>{this.nzTableStyleService.setHasFixRight(0!==s.length)})}if(this.nzTableDataService){const e=this.listOfNzThAddOnComponent.changes.pipe(gn(this.listOfNzThAddOnComponent));e.pipe(mn(()=>On(...this.listOfNzThAddOnComponent.map(r=>r.manualClickOrder$))),P(this.destroy$)).subscribe(r=>{this.nzSortOrderChange.emit({key:r.nzColumnKey,value:r.sortOrder}),r.nzSortFn&&!1===r.nzSortPriority&&this.listOfNzThAddOnComponent.filter(a=>a!==r).forEach(a=>a.clearSortOrder())}),e.pipe(mn(r=>On(e,...r.map(s=>s.calcOperatorChange$)).pipe(Yn(()=>e))),Pe(r=>r.filter(s=>!!s.nzSortFn||!!s.nzFilterFn).map(s=>{const{nzSortFn:a,sortOrder:l,nzFilterFn:c,nzFilterValue:u,nzSortPriority:p,nzColumnKey:b}=s;return{key:b,sortFn:a,sortPriority:p,sortOrder:l,filterFn:c,filterValue:u}})),C2(0),P(this.destroy$)).subscribe(r=>{this.nzTableDataService.listOfCalcOperator$.next(r)})}}ngAfterViewInit(){this.nzTableStyleService&&this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement),this.elementRef.nativeElement)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt),v(Bl,8),v(Tv,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["thead",9,"ant-table-thead"]],contentQueries:function(i,o,r){if(1&i&&(fn(r,W1,5),fn(r,rP,5)),2&i){let s;ke(s=Ie())&&(o.listOfNzTrDirective=s),ke(s=Ie())&&(o.listOfNzThAddOnComponent=s)}},viewQuery:function(i,o){if(1&i&&ft(M4e,7),2&i){let r;ke(r=Ie())&&(o.templateRef=r.first)}},outputs:{nzSortOrderChange:"nzSortOrderChange"},standalone:!0,features:[me],ngContentSelectors:Ll,decls:3,vars:1,consts:[["contentTemplate",""],[3,"ngTemplateOutlet"]],template:function(i,o){1&i&&(Et(),C(0,D4e,1,0,"ng-template",null,0,ot)(2,x4e,1,1,null,1)),2&i&&(d(2),he(o.isInsideTable?-1:2))},dependencies:[Nn],encapsulation:2,changeDetection:0})}return t})(),L4e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[U1,rP,oP,Hl,lP,Mv,iP,tP,nP,eP,sP]})}return t})();function B4e(t,n){if(1&t&&(f(0,"div"),w(1),m()),2&t){const e=g().$implicit;d(),D(e.desc)}}function H4e(t,n){if(1&t){const e=W();f(0,"input",14),Ii("ngModelChange",function(o){S(e);const r=g().$implicit;return Ui(r.desc,o)||(r.desc=o),T(o)}),m()}2&t&&ki("ngModel",g().$implicit.desc)}function j4e(t,n){if(1&t){const e=W();f(0,"div")(1,"a",15),M("nzOnConfirm",function(){S(e);const o=g().index;return T(g().handleDelete(o))}),f(2,"a"),w(3),m()()()}if(2&t){const e=g(2);d(),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(2),D(e.$t("_del"))}}function Y4e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",6)(2,"input",7),Ii("ngModelChange",function(o){const r=S(e).$implicit;return Ui(r.name,o)||(r.name=o),T(o)}),m()(),f(3,"td",8)(4,"input",9),M("change",function(o){const r=S(e).index;return T(g().onColorChange(o,r))}),m(),w(5),m(),f(6,"td",10),w(7),m(),f(8,"td",11),C(9,B4e,2,1,"div",12)(10,H4e,1,1,"input",13),m(),f(11,"td"),C(12,j4e,4,2,"div",12),m()()}if(2&t){const e=n.$implicit;d(2),ki("ngModel",e.name),d(2),h("value",e.color),d(),we(" - ",e.color," "),d(2),D(e.createdAt),d(2),h("ngIf",e.isInner),d(),h("ngIf",!e.isInner),d(2),h("ngIf",!e.isInner)}}let U4e=(()=>{class t{constructor(e,i){this.message=e,this.modal=i,this.$t=be,this.tagList=h3,this.submitting=!1,this.incrementId=Math.max(...h3.map(o=>o.id))+100}ngOnInit(){}onColorChange(e,i){this.tagList[i].color=e.target.value}handleAdd(){this.incrementId+=1,this.tagList.unshift({id:this.incrementId,name:"",createdAt:"",color:"#f50000",desc:"",isInner:!1})}handleDelete(e){this.tagList.splice(e,1)}handleSubmit(){if(this.submitting)return;const e={};this.tagList.forEach(i=>{i.name?.trim?.()&&(e[i.name]={...i,name:void 0})}),Object.keys(e).length===this.tagList.length?this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{this.submitting=!0,vl({message:"Update Tag",content:JSON.stringify(this.tagList),path:"data/tag.json"}).then(()=>{this.message.success(be("_saveSuccess"))}).finally(()=>{this.submitting=!1})}}):this.message.error(be("_repeatAdd"))}trackByItem(e,i){return i.id}static#e=this.\u0275fac=function(i){return new(i||t)(v(er),v(za))};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-tag"]],decls:23,vars:13,consts:[["basicTable",""],["nz-button","",1,"add-btn",3,"click","nzLoading"],["nz-button","","nzType","primary",3,"click","nzLoading"],[1,"mb12"],[3,"nzData"],[4,"ngFor","ngForOf","ngForTrackBy"],["width","150px"],["nz-input","","maxlength","10",3,"ngModelChange","ngModel"],["width","160px"],["type","color",3,"change","value"],["width","220px"],["width","200px"],[4,"ngIf"],["nz-input","","maxlength","20",3,"ngModel","ngModelChange",4,"ngIf"],["nz-input","","maxlength","20",3,"ngModelChange","ngModel"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"]],template:function(i,o){if(1&i){const r=W();f(0,"button",1),M("click",function(){return S(r),T(o.handleAdd())}),w(1),m(),f(2,"button",2),M("click",function(){return S(r),T(o.handleSubmit())}),w(3),m(),f(4,"div",3)(5,"b"),w(6),m()(),f(7,"nz-table",4,0)(9,"thead")(10,"tr")(11,"th"),w(12),m(),f(13,"th"),w(14),m(),f(15,"th"),w(16),m(),f(17,"th"),w(18),m(),f(19,"th"),w(20),m()()(),f(21,"tbody"),C(22,Y4e,13,7,"tr",5),m()()}2&i&&(h("nzLoading",o.submitting),d(),we(" ",o.$t("_addRow"),"\n"),d(),h("nzLoading",o.submitting),d(),we(" ",o.$t("_save"),"\n"),d(3),D(o.$t("_buildTip")),d(),h("nzData",o.tagList),d(5),D(o.$t("_tagName")),d(2),D(o.$t("_color")),d(2),D(o.$t("_createAt")),d(2),D(o.$t("_remark")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.tagList)("ngForTrackBy",o.trackByItem))},dependencies:[zn,St,Gs,nr,mi,tr,wr,Zi,O2,H1,U1,V2,Y1,N2,Hl,W1,Xi],styles:[".add-btn[_ngcontent-%COMP%]{margin-bottom:20px;margin-right:20px}"]})}return t})();const W4e=["switchElement"];function G4e(t,n){1&t&&A(0,"span",8)}function q4e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.nzCheckedChildren)}}function Q4e(t,n){if(1&t&&(Ye(0),C(1,q4e,2,1,"ng-container",9),Ue()),2&t){const e=g();d(),h("nzStringTemplateOutlet",e.nzCheckedChildren)}}function K4e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.nzUnCheckedChildren)}}function $4e(t,n){1&t&&C(0,K4e,2,1,"ng-container",9),2&t&&h("nzStringTemplateOutlet",g().nzUnCheckedChildren)}let Vp=(()=>{class t{updateValue(e){this.isChecked!==e&&(this.isChecked=e,this.onChange(this.isChecked))}focus(){this.focusMonitor.focusVia(this.switchElement.nativeElement,"keyboard")}blur(){this.switchElement.nativeElement.blur()}constructor(e,i,o,r,s,a){this.nzConfigService=e,this.host=i,this.ngZone=o,this.cdr=r,this.focusMonitor=s,this.directionality=a,this._nzModuleName="switch",this.isChecked=!1,this.onChange=()=>{},this.onTouched=()=>{},this.nzLoading=!1,this.nzDisabled=!1,this.nzControl=!1,this.nzCheckedChildren=null,this.nzUnCheckedChildren=null,this.nzSize="default",this.nzId=null,this.dir="ltr",this.destroy$=new V,this.isNzDisableFirstChange=!0}ngOnInit(){this.directionality.change.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value,this.ngZone.runOutsideAngular(()=>{nn(this.host.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>{e.preventDefault(),!(this.nzControl||this.nzDisabled||this.nzLoading)&&this.ngZone.run(()=>{this.updateValue(!this.isChecked),this.cdr.markForCheck()})}),nn(this.switchElement.nativeElement,"keydown").pipe(P(this.destroy$)).subscribe(e=>{if(this.nzControl||this.nzDisabled||this.nzLoading)return;const{keyCode:i}=e;37!==i&&39!==i&&32!==i&&13!==i||(e.preventDefault(),this.ngZone.run(()=>{37===i?this.updateValue(!1):39===i?this.updateValue(!0):(32===i||13===i)&&this.updateValue(!this.isChecked),this.cdr.markForCheck()}))})})}ngAfterViewInit(){this.focusMonitor.monitor(this.switchElement.nativeElement,!0).pipe(P(this.destroy$)).subscribe(e=>{e||Promise.resolve().then(()=>this.onTouched())})}ngOnDestroy(){this.focusMonitor.stopMonitoring(this.switchElement.nativeElement),this.destroy$.next(),this.destroy$.complete()}writeValue(e){this.isChecked=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Se),v(Me),v(We),v(wa),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-switch"]],viewQuery:function(i,o){if(1&i&&ft(W4e,7),2&i){let r;ke(r=Ie())&&(o.switchElement=r.first)}},inputs:{nzLoading:[2,"nzLoading","nzLoading",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzControl:[2,"nzControl","nzControl",I],nzCheckedChildren:"nzCheckedChildren",nzUnCheckedChildren:"nzUnCheckedChildren",nzSize:"nzSize",nzId:"nzId"},exportAs:["nzSwitch"],standalone:!0,features:[et([{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,me],decls:9,vars:16,consts:[["switchElement",""],["uncheckTemplate",""],["nz-wave","","type","button",1,"ant-switch",3,"disabled","nzWaveExtraNode"],[1,"ant-switch-handle"],["nz-icon","","nzType","loading","class","ant-switch-loading-icon",4,"ngIf"],[1,"ant-switch-inner"],[4,"ngIf","ngIfElse"],[1,"ant-click-animating-node"],["nz-icon","","nzType","loading",1,"ant-switch-loading-icon"],[4,"nzStringTemplateOutlet"]],template:function(i,o){if(1&i&&(f(0,"button",2,0)(2,"span",3),C(3,G4e,1,0,"span",4),m(),f(4,"span",5),C(5,Q4e,2,1,"ng-container",6)(6,$4e,1,1,"ng-template",null,1,ot),m(),A(8,"div",7),m()),2&i){const r=Be(7);Z("ant-switch-checked",o.isChecked)("ant-switch-loading",o.nzLoading)("ant-switch-disabled",o.nzDisabled)("ant-switch-small","small"===o.nzSize)("ant-switch-rtl","rtl"===o.dir),h("disabled",o.nzDisabled)("nzWaveExtraNode",!0),Ot("id",o.nzId),d(3),h("ngIf",o.nzLoading),d(2),h("ngIf",o.isChecked)("ngIfElse",r)}},dependencies:[pk,tr,In,ln,St,Sn,An],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzSize",void 0),t})(),Z4e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Vp]})}return t})();function X4e(t,n){1&t&&A(0,"i",4),2&t&&h("title",g().$t("_upload"))}function e3e(t,n){1&t&&A(0,"i",5),2&t&&h("nzType","loading")}let dP=(()=>{class t{constructor(e){this.message=e,this.onChange=new B,this.$t=be,this.uploading=!1,this.id=`f${Date.now()}`}onChangeFile(e){if(this.uploading)return;const{files:i}=e.target;if(i.length<=0)return;const o=i[0];if(!o.type.startsWith("image"))return this.message.error(be("_notUpload"));this.onUpload(o).finally(()=>{e.target.value=""})}onUpload(e){const i=this;return new Promise((o,r)=>{const s=new FileReader;s.readAsDataURL(e),s.onerror=r,s.onload=function(){i.uploading=!0;const l=this.result.split(",")[1],c=`nav-${Date.now()}-${e.name}`;JD({branch:"image",message:"create image",content:l,isEncode:!1,path:c}).then(()=>{const u={rawPath:c,cdn:ZD(c)};i.onChange.emit(u),i.message.success(be("_uploadSuccess")),o(u)}).catch(r).finally(()=>{i.uploading=!1})}})}static#e=this.\u0275fac=function(i){return new(i||t)(v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-upload"]],outputs:{onChange:"onChange"},decls:4,vars:4,consts:[[1,"file",3,"id"],["nz-icon","","nzType","upload","nzTheme","outline","class","cursor-pointer",3,"title",4,"ngIf"],["nz-icon","",3,"nzType",4,"ngIf"],["type","file","accept","image/*",1,"file-upload",3,"change","name"],["nz-icon","","nzType","upload","nzTheme","outline",1,"cursor-pointer",3,"title"],["nz-icon","",3,"nzType"]],template:function(i,o){1&i&&(f(0,"label",0),C(1,X4e,1,1,"i",1)(2,e3e,1,1,"i",2),f(3,"input",3),M("change",function(s){return o.onChangeFile(s)}),m()()),2&i&&(h("id",o.id),d(),h("ngIf",!o.uploading),d(),h("ngIf",o.uploading),d(),h("name",o.id))},dependencies:[St,mi,ln],styles:[".file[_ngcontent-%COMP%] .file-upload[_ngcontent-%COMP%]{display:none}"]})}return t})();function t3e(t,n){if(1&t){const e=W();f(0,"input",20),Ii("ngModelChange",function(o){S(e);const r=g().$implicit;return Ui(r.url,o)||(r.url=o),T(o)}),m()}2&t&&ki("ngModel",g().$implicit.url)}function n3e(t,n){1&t&&A(0,"img",21),2&t&&h("src",g().$implicit.icon,It)}function i3e(t,n){if(1&t){const e=W();f(0,"div")(1,"a",22),M("nzOnConfirm",function(){S(e);const o=g().index;return T(g().handleDelete(o))}),f(2,"a"),w(3),m()()()}if(2&t){const e=g(2);d(),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(2),D(e.$t("_del"))}}function o3e(t,n){if(1&t){const e=W();f(0,"tr",7)(1,"td",8)(2,"input",9),Ii("ngModelChange",function(o){const r=S(e).$implicit;return Ui(r.name,o)||(r.name=o),T(o)}),m()(),f(3,"td",10),C(4,t3e,1,1,"input",11),m(),f(5,"td",12),C(6,n3e,1,1,"img",13),f(7,"input",14),Ii("ngModelChange",function(o){const r=S(e).$implicit;return Ui(r.icon,o)||(r.icon=o),T(o)}),m(),f(8,"app-upload",15),M("onChange",function(o){const r=S(e).index;return T(g().onChangeUpload(o,r))}),m()(),f(9,"td",10)(10,"input",16),Ii("ngModelChange",function(o){const r=S(e).$implicit;return Ui(r.placeholder,o)||(r.placeholder=o),T(o)}),m()(),f(11,"td",17)(12,"nz-switch",18),Ii("ngModelChange",function(o){const r=S(e).$implicit;return Ui(r.blocked,o)||(r.blocked=o),T(o)}),m()(),f(13,"td"),C(14,i3e,4,2,"div",19),m()()}if(2&t){const e=n.$implicit;d(2),ki("ngModel",e.name),d(2),h("ngIf",!e.isInner),d(2),h("ngIf",e.icon),d(),ki("ngModel",e.icon),d(3),ki("ngModel",e.placeholder),d(2),ki("ngModel",e.blocked),d(2),h("ngIf",!e.isInner)}}let r3e=(()=>{class t{constructor(e,i){this.message=e,this.modal=i,this.$t=be,this.searchList=D5,this.submitting=!1}handleAdd(){this.searchList.unshift({name:"",url:"",icon:"",placeholder:"",blocked:!1,isInner:!1})}handleDelete(e){this.searchList.splice(e,1)}handleSubmit(){this.submitting||this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{const e={};this.searchList.forEach(i=>{i.name.trim()&&(e[i.name]=null)}),Object.keys(e).length===this.searchList.length?(this.submitting=!0,vl({message:"Update Search",content:JSON.stringify(this.searchList,null,2),path:"data/search.json"}).then(()=>{this.message.success(be("_saveSuccess"))}).finally(()=>{this.submitting=!1})):this.message.error(be("_repeatAdd"))}})}onChangeUpload(e,i){this.searchList[i].icon=e.cdn}onDrop(e){Dl(this.searchList,e.previousIndex,e.currentIndex)}static#e=this.\u0275fac=function(i){return new(i||t)(v(er),v(za))};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-tag"]],decls:25,vars:13,consts:[["basicTable",""],["nz-button","",1,"add-btn",3,"click","nzLoading"],["nz-button","","nzType","primary",3,"click","nzLoading"],[1,"mb12"],[3,"nzData"],["cdkDropList","",3,"cdkDropListDropped"],["cdkDrag","",4,"ngFor","ngForOf"],["cdkDrag",""],["width","150px"],["nz-input","","maxlength","10",3,"ngModelChange","ngModel"],["width","220px"],["nz-input","",3,"ngModel","ngModelChange",4,"ngIf"],["width","260px",1,"nowrap"],["class","icon",3,"src",4,"ngIf"],["nz-input","","type","text",2,"width","180px",3,"ngModelChange","ngModel"],[3,"onChange"],["nz-input","","maxlength","50",3,"ngModelChange","ngModel"],["width","100px"],[3,"ngModelChange","ngModel"],[4,"ngIf"],["nz-input","",3,"ngModelChange","ngModel"],[1,"icon",3,"src"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"]],template:function(i,o){if(1&i){const r=W();f(0,"button",1),M("click",function(){return S(r),T(o.handleAdd())}),w(1),m(),f(2,"button",2),M("click",function(){return S(r),T(o.handleSubmit())}),w(3),m(),f(4,"div",3)(5,"b"),w(6),m()(),f(7,"nz-table",4,0)(9,"thead")(10,"tr")(11,"th"),w(12),m(),f(13,"th"),w(14),m(),f(15,"th"),w(16),m(),f(17,"th"),w(18),m(),f(19,"th"),w(20),m(),f(21,"th"),w(22),m()()(),f(23,"tbody",5),M("cdkDropListDropped",function(a){return S(r),T(o.onDrop(a))}),C(24,o3e,15,7,"tr",6),m()()}2&i&&(h("nzLoading",o.submitting),d(),we(" ",o.$t("_addRow"),"\n"),d(),h("nzLoading",o.submitting),d(),we(" ",o.$t("_save"),"\n"),d(3),D(o.$t("_buildTip")),d(),h("nzData",o.searchList),d(5),D(o.$t("_engineName")),d(2),D(o.$t("_engineUrl")),d(2),D(o.$t("_icon")),d(2),D(o.$t("_desc")),d(2),D(o.$t("_isDisable")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.searchList))},dependencies:[zn,St,Gs,nr,mi,tr,wr,Zi,O2,H1,U1,V2,Y1,N2,Hl,W1,Vp,op,b2,Xi,dP],styles:[".add-btn[_ngcontent-%COMP%]{margin-bottom:20px;margin-right:20px}.icon[_ngcontent-%COMP%]{width:30px;height:30px;margin-right:10px;object-fit:cover} #file{vertical-align:middle;margin-left:10px} #file .anticon{font-size:20px}"]})}return t})();const Dv=["*"],s3e=t=>[t],a3e=t=>({$implicit:t});function l3e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.innerTip)}}function c3e(t,n){if(1&t&&(f(0,"div",2)(1,"div",4),C(2,l3e,2,1,"ng-container",5),m()()),2&t){const e=g();h("@helpMotion",void 0),d(),h("ngClass",mr(4,s3e,"ant-form-item-explain-"+e.status)),d(),h("nzStringTemplateOutlet",e.innerTip)("nzStringTemplateOutletContext",mr(6,a3e,e.validateControl))}}function d3e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.nzExtra)}}function u3e(t,n){if(1&t&&(f(0,"div",3),C(1,d3e,2,1,"ng-container",6),m()),2&t){const e=g();d(),h("nzStringTemplateOutlet",e.nzExtra)}}function h3e(t,n){if(1&t&&(Ye(0),A(1,"span",2),Ue()),2&t){const e=n.$implicit,i=g(2);d(),h("nzType",e)("nzTheme",i.tooltipIcon.theme)}}function p3e(t,n){if(1&t&&(f(0,"span",0),C(1,h3e,2,2,"ng-container",1),m()),2&t){const e=g();h("nzTooltipTitle",e.nzTooltipTitle),d(),h("nzStringTemplateOutlet",e.tooltipIcon.type)}}let Np=(()=>{class t{setWithHelpViaTips(e){this.withHelpClass=e,this.cdr.markForCheck()}setStatus(e){this.status=e,this.cdr.markForCheck()}setHasFeedback(e){this.hasFeedback=e,this.cdr.markForCheck()}constructor(e){this.cdr=e,this.status="",this.hasFeedback=!1,this.withHelpClass=!1,this.destroy$=new V}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-form-item"]],hostAttrs:[1,"ant-form-item"],hostVars:12,hostBindings:function(i,o){2&i&&Z("ant-form-item-has-success","success"===o.status)("ant-form-item-has-warning","warning"===o.status)("ant-form-item-has-error","error"===o.status)("ant-form-item-is-validating","validating"===o.status)("ant-form-item-has-feedback",o.hasFeedback&&o.status)("ant-form-item-with-help",o.withHelpClass)},exportAs:["nzFormItem"],standalone:!0,features:[me],ngContentSelectors:Dv,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})();const Ev={type:"question-circle",theme:"outline"};let F2=(()=>{class t{getInputObservable(e){return this.inputChanges$.pipe(yt(i=>e in i),Pe(i=>i[e]))}constructor(e,i){this.nzConfigService=e,this.directionality=i,this._nzModuleName="form",this.nzLayout="horizontal",this.nzNoColon=!1,this.nzAutoTips={},this.nzDisableAutoTips=!1,this.nzTooltipIcon=Ev,this.nzLabelAlign="right",this.nzLabelWrap=!1,this.dir="ltr",this.destroy$=new V,this.inputChanges$=new V,this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(o=>{this.dir=o})}ngOnChanges(e){this.inputChanges$.next(e)}ngOnDestroy(){this.inputChanges$.complete(),this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-form",""]],hostAttrs:[1,"ant-form"],hostVars:8,hostBindings:function(i,o){2&i&&Z("ant-form-horizontal","horizontal"===o.nzLayout)("ant-form-vertical","vertical"===o.nzLayout)("ant-form-inline","inline"===o.nzLayout)("ant-form-rtl","rtl"===o.dir)},inputs:{nzLayout:"nzLayout",nzNoColon:[2,"nzNoColon","nzNoColon",I],nzAutoTips:"nzAutoTips",nzDisableAutoTips:[2,"nzDisableAutoTips","nzDisableAutoTips",I],nzTooltipIcon:"nzTooltipIcon",nzLabelAlign:"nzLabelAlign",nzLabelWrap:[2,"nzLabelWrap","nzLabelWrap",I]},exportAs:["nzForm"],standalone:!0,features:[je,xe]})}return xt([Vt()],t.prototype,"nzNoColon",void 0),xt([Vt()],t.prototype,"nzAutoTips",void 0),xt([Vt()],t.prototype,"nzTooltipIcon",void 0),xt([Vt()],t.prototype,"nzLabelWrap",void 0),t})(),Fp=(()=>{class t{get disableAutoTips(){return void 0!==this.nzDisableAutoTips?H5(this.nzDisableAutoTips):this.nzFormDirective?.nzDisableAutoTips}set nzHasFeedback(e){this._hasFeedback=e,this.nzFormStatusService.formStatusChanges.next({status:this.status,hasFeedback:this._hasFeedback}),this.nzFormItemComponent&&this.nzFormItemComponent.setHasFeedback(this._hasFeedback)}get nzHasFeedback(){return this._hasFeedback}set nzValidateStatus(e){e instanceof M2||e instanceof Xi?(this.validateControl=e,this.validateString=null,this.watchControl()):e instanceof L1?(this.validateControl=e.control,this.validateString=null,this.watchControl()):(this.validateString=e,this.validateControl=null,this.setStatus())}watchControl(){this.validateChanges.unsubscribe(),this.validateControl&&this.validateControl.statusChanges&&(this.validateChanges=this.validateControl.statusChanges.pipe(gn(null),P(this.destroyed$)).subscribe(()=>{this.disableAutoTips||this.updateAutoErrorTip(),this.setStatus(),this.cdr.markForCheck()}))}setStatus(){this.status=this.getControlStatus(this.validateString),this.innerTip=this.getInnerTip(this.status),this.nzFormStatusService.formStatusChanges.next({status:this.status,hasFeedback:this.nzHasFeedback}),this.nzFormItemComponent&&(this.nzFormItemComponent.setWithHelpViaTips(!!this.innerTip),this.nzFormItemComponent.setStatus(this.status))}getControlStatus(e){let i;return i="warning"===e||this.validateControlStatus("INVALID","warning")?"warning":"error"===e||this.validateControlStatus("INVALID")?"error":"validating"===e||"pending"===e||this.validateControlStatus("PENDING")?"validating":"success"===e||this.validateControlStatus("VALID")?"success":"",i}validateControlStatus(e,i){if(this.validateControl){const{dirty:o,touched:r,status:s}=this.validateControl;return(!!o||!!r)&&(i?this.validateControl.hasError(i):s===e)}return!1}getInnerTip(e){switch(e){case"error":return!this.disableAutoTips&&this.autoErrorTip||this.nzErrorTip||null;case"validating":return this.nzValidatingTip||null;case"success":return this.nzSuccessTip||null;case"warning":return this.nzWarningTip||null;default:return null}}updateAutoErrorTip(){if(this.validateControl){const e=this.validateControl.errors||{};let i="";for(const o in e)if(e.hasOwnProperty(o)&&(i=e[o]?.[this.localeId]??this.nzAutoTips?.[this.localeId]?.[o]??this.nzAutoTips.default?.[o]??this.nzFormDirective?.nzAutoTips?.[this.localeId]?.[o]??this.nzFormDirective?.nzAutoTips.default?.[o]),i)break;this.autoErrorTip=i}}subscribeAutoTips(e){e?.pipe(P(this.destroyed$)).subscribe(()=>{this.disableAutoTips||(this.updateAutoErrorTip(),this.setStatus(),this.cdr.markForCheck())})}constructor(e,i,o,r,s){this.nzFormItemComponent=e,this.cdr=i,this.nzFormDirective=r,this.nzFormStatusService=s,this._hasFeedback=!1,this.validateChanges=Ft.EMPTY,this.validateString=null,this.destroyed$=new V,this.status="",this.validateControl=null,this.innerTip=null,this.nzAutoTips={},this.subscribeAutoTips(o.localeChange.pipe(ii(a=>this.localeId=a.locale))),this.subscribeAutoTips(this.nzFormDirective?.getInputObservable("nzAutoTips")),this.subscribeAutoTips(this.nzFormDirective?.getInputObservable("nzDisableAutoTips").pipe(yt(()=>void 0===this.nzDisableAutoTips)))}ngOnChanges(e){const{nzDisableAutoTips:i,nzAutoTips:o,nzSuccessTip:r,nzWarningTip:s,nzErrorTip:a,nzValidatingTip:l}=e;i||o?(this.updateAutoErrorTip(),this.setStatus()):(r||s||a||l)&&this.setStatus()}ngOnInit(){this.setStatus()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}ngAfterContentInit(){!this.validateControl&&!this.validateString&&(this.nzValidateStatus=this.defaultValidateControl instanceof dv?this.defaultValidateControl.control:this.defaultValidateControl)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Np,9),v(We),v(Ys),v(F2,8),v(xl))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-form-control"]],contentQueries:function(i,o,r){if(1&i&&fn(r,vs,5),2&i){let s;ke(s=Ie())&&(o.defaultValidateControl=s.first)}},hostAttrs:[1,"ant-form-item-control"],inputs:{nzSuccessTip:"nzSuccessTip",nzWarningTip:"nzWarningTip",nzErrorTip:"nzErrorTip",nzValidatingTip:"nzValidatingTip",nzExtra:"nzExtra",nzAutoTips:"nzAutoTips",nzDisableAutoTips:[2,"nzDisableAutoTips","nzDisableAutoTips",I],nzHasFeedback:[2,"nzHasFeedback","nzHasFeedback",I],nzValidateStatus:"nzValidateStatus"},exportAs:["nzFormControl"],standalone:!0,features:[et([xl]),je,xe,me],ngContentSelectors:Dv,decls:5,vars:2,consts:[[1,"ant-form-item-control-input"],[1,"ant-form-item-control-input-content"],[1,"ant-form-item-explain","ant-form-item-explain-connected"],[1,"ant-form-item-extra"],["role","alert",3,"ngClass"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&(Et(),f(0,"div",0)(1,"div",1),_t(2),m()(),C(3,c3e,3,8,"div",2)(4,u3e,2,1,"div",3)),2&i&&(d(3),he(o.innerTip?3:-1),d(),he(o.nzExtra?4:-1))},dependencies:[Jo,Sn,An],encapsulation:2,data:{animation:[Wne]},changeDetection:0})}return t})();function uP(t){return{...Ev,..."string"==typeof t?{type:t}:t}}let Rp=(()=>{class t{set nzNoColon(e){this.noColon=e}get nzNoColon(){return"default"!==this.noColon?this.noColon:this.nzFormDirective?.nzNoColon}set nzTooltipIcon(e){this._tooltipIcon=uP(e)}get tooltipIcon(){return"default"!==this._tooltipIcon?this._tooltipIcon:uP(this.nzFormDirective?.nzTooltipIcon||Ev)}set nzLabelAlign(e){this.labelAlign=e}get nzLabelAlign(){return"default"!==this.labelAlign?this.labelAlign:this.nzFormDirective?.nzLabelAlign||"right"}set nzLabelWrap(e){this.labelWrap=e}get nzLabelWrap(){return"default"!==this.labelWrap?this.labelWrap:this.nzFormDirective?.nzLabelWrap}constructor(e,i){this.cdr=e,this.nzFormDirective=i,this.nzRequired=!1,this.noColon="default",this._tooltipIcon="default",this.labelAlign="default",this.labelWrap="default",this.destroy$=new V,this.nzFormDirective&&(this.nzFormDirective.getInputObservable("nzNoColon").pipe(yt(()=>"default"===this.noColon),P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()),this.nzFormDirective.getInputObservable("nzTooltipIcon").pipe(yt(()=>"default"===this._tooltipIcon),P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()),this.nzFormDirective.getInputObservable("nzLabelAlign").pipe(yt(()=>"default"===this.labelAlign),P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()),this.nzFormDirective.getInputObservable("nzLabelWrap").pipe(yt(()=>"default"===this.labelWrap),P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()))}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(F2,12))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-form-label"]],hostAttrs:[1,"ant-form-item-label"],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-form-item-label-left","left"===o.nzLabelAlign)("ant-form-item-label-wrap",o.nzLabelWrap)},inputs:{nzFor:"nzFor",nzRequired:[2,"nzRequired","nzRequired",I],nzNoColon:[2,"nzNoColon","nzNoColon",I],nzTooltipTitle:"nzTooltipTitle",nzTooltipIcon:"nzTooltipIcon",nzLabelAlign:"nzLabelAlign",nzLabelWrap:[2,"nzLabelWrap","nzLabelWrap",I]},exportAs:["nzFormLabel"],standalone:!0,features:[je,me],ngContentSelectors:Dv,decls:3,vars:6,consts:[["nz-tooltip","",1,"ant-form-item-tooltip",3,"nzTooltipTitle"],[4,"nzStringTemplateOutlet"],["nz-icon","",3,"nzType","nzTheme"]],template:function(i,o){1&i&&(Et(),f(0,"label"),_t(1),C(2,p3e,2,2,"span",0),m()),2&i&&(Z("ant-form-item-no-colon",o.nzNoColon)("ant-form-item-required",o.nzRequired),Ot("for",o.nzFor),d(2),he(o.nzTooltipTitle?2:-1))},dependencies:[Sn,An,Sa,In,ln],encapsulation:2,changeDetection:0})}return t})(),m3e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Rp,Fp,AE]})}return t})();function g3e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(3);d(),D(e.nzTitle)}}function v3e(t,n){if(1&t&&(f(0,"div",7),C(1,g3e,2,1,"ng-container",9),m()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzTitle)}}function b3e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.nzContent)}}function _3e(t,n){if(1&t&&(f(0,"div",2)(1,"div",3)(2,"div",4),A(3,"span",5),m(),f(4,"div",6)(5,"div"),C(6,v3e,2,1,"div",7),f(7,"div",8),C(8,b3e,2,1,"ng-container",9),m()()()()()),2&t){const e=g();Z("ant-popover-rtl","rtl"===e.dir),h("ngClass",e._classMap)("ngStyle",e.nzOverlayStyle)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)("@zoomBigMotion","active"),d(6),he(e.nzTitle?6:-1),d(2),h("nzStringTemplateOutlet",e.nzContent)}}let w3e=(()=>{class t extends L7{getProxyPropertyMap(){return{nzPopoverBackdrop:["nzBackdrop",()=>this.nzPopoverBackdrop],...super.getProxyPropertyMap()}}constructor(){super(hP),this._nzModuleName="popover",this.trigger="hover",this.placement="top",this.nzPopoverBackdrop=!1,this.visibleChange=new B}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-popover",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-popover-open",o.visible)},inputs:{arrowPointAtCenter:[2,"nzPopoverArrowPointAtCenter","arrowPointAtCenter",I],title:[0,"nzPopoverTitle","title"],content:[0,"nzPopoverContent","content"],directiveTitle:[0,"nz-popover","directiveTitle"],trigger:[0,"nzPopoverTrigger","trigger"],placement:[0,"nzPopoverPlacement","placement"],origin:[0,"nzPopoverOrigin","origin"],visible:[0,"nzPopoverVisible","visible"],mouseEnterDelay:[0,"nzPopoverMouseEnterDelay","mouseEnterDelay"],mouseLeaveDelay:[0,"nzPopoverMouseLeaveDelay","mouseLeaveDelay"],overlayClassName:[0,"nzPopoverOverlayClassName","overlayClassName"],overlayStyle:[0,"nzPopoverOverlayStyle","overlayStyle"],nzPopoverBackdrop:"nzPopoverBackdrop"},outputs:{visibleChange:"nzPopoverVisibleChange"},exportAs:["nzPopover"],standalone:!0,features:[je,mt]})}return xt([Vt()],t.prototype,"nzPopoverBackdrop",void 0),t})(),hP=(()=>{class t extends up{constructor(e,i,o){super(e,i,o),this._prefix="ant-popover"}get hasBackdrop(){return"click"===this.nzTrigger&&this.nzBackdrop}isEmpty(){return B7(this.nzTitle)&&B7(this.nzContent)}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Ct,8),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-popover"]],exportAs:["nzPopoverComponent"],standalone:!0,features:[mt,me],decls:2,vars:6,consts:[["overlay","cdkConnectedOverlay"],["cdkConnectedOverlay","","nzConnectedOverlay","",3,"overlayOutsideClick","detach","positionChange","cdkConnectedOverlayHasBackdrop","cdkConnectedOverlayOrigin","cdkConnectedOverlayPositions","cdkConnectedOverlayOpen","cdkConnectedOverlayPush","nzArrowPointAtCenter"],[1,"ant-popover",3,"ngClass","ngStyle","nzNoAnimation"],[1,"ant-popover-content"],[1,"ant-popover-arrow"],[1,"ant-popover-arrow-content"],["role","tooltip",1,"ant-popover-inner"],[1,"ant-popover-title"],[1,"ant-popover-inner-content"],[4,"nzStringTemplateOutlet"]],template:function(i,o){if(1&i){const r=W();C(0,_3e,9,9,"ng-template",1,0,ot),M("overlayOutsideClick",function(a){return S(r),T(o.onClickOutside(a))})("detach",function(){return S(r),T(o.hide())})("positionChange",function(a){return S(r),T(o.onPositionChange(a))})}2&i&&h("cdkConnectedOverlayHasBackdrop",o.hasBackdrop)("cdkConnectedOverlayOrigin",o.origin)("cdkConnectedOverlayPositions",o._positions)("cdkConnectedOverlayOpen",o._visible)("cdkConnectedOverlayPush",o.cdkConnectedOverlayPush)("nzArrowPointAtCenter",o.nzArrowPointAtCenter)},dependencies:[d2,Tl,u2,$3,Jo,ti,zo,Sn,An],encapsulation:2,data:{animation:[I3]},changeDetection:0})}return t})(),C3e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[hP]})}return t})();const z3e=["handle"],A3e=t=>({$implicit:t});function S3e(t,n){if(1&t&&A(0,"span",1),2&t){const e=n.$implicit;Z("ant-slider-mark-active",e.active),h("ngStyle",e.style)("innerHTML",e.label,Gn)}}function T3e(t,n){if(1&t&&A(0,"span",1),2&t){const e=n.$implicit;Z("ant-slider-dot-active",e.active),h("ngStyle",e.style)}}function M3e(t,n){if(1&t&&A(0,"nz-slider-step",4),2&t){const e=g();h("vertical",e.nzVertical)("min",e.nzMin)("max",e.nzMax)("lowerBound",e.bounds.lower)("upperBound",e.bounds.upper)("marksArray",e.marksArray)("included",e.nzIncluded)("reverse",e.nzReverse)}}function D3e(t,n){if(1&t){const e=W();f(0,"nz-slider-handle",5),M("focusin",function(){const o=S(e).index;return T(g().onHandleFocusIn(o))}),m()}if(2&t){const e=n.$implicit,i=g();h("vertical",i.nzVertical)("reverse",i.nzReverse)("offset",e.offset)("value",e.value)("active",e.active)("tooltipFormatter",i.nzTipFormatter)("tooltipVisible",i.nzTooltipVisible)("tooltipPlacement",i.nzTooltipPlacement)("dir",i.dir)}}function E3e(t,n){if(1&t&&A(0,"nz-slider-marks",4),2&t){const e=g();h("vertical",e.nzVertical)("min",e.nzMin)("max",e.nzMax)("lowerBound",e.bounds.lower)("upperBound",e.bounds.upper)("marksArray",e.marksArray)("included",e.nzIncluded)("reverse",e.nzReverse)}}let xv=(()=>{class t{constructor(){this.isDragging=!1}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),kv=(()=>{class t{constructor(e,i){this.sliderService=e,this.cdr=i,this.tooltipVisible="default",this.active=!1,this.dir="ltr",this.style={},this.enterHandle=()=>{this.sliderService.isDragging||(this.toggleTooltip(!0),this.updateTooltipPosition(),this.cdr.detectChanges())},this.leaveHandle=()=>{this.sliderService.isDragging||(this.toggleTooltip(!1),this.cdr.detectChanges())}}ngOnChanges(e){const{offset:i,value:o,active:r,tooltipVisible:s,reverse:a,dir:l}=e;(i||a||l)&&this.updateStyle(),o&&(this.updateTooltipTitle(),this.updateTooltipPosition()),r&&this.toggleTooltip(!!r.currentValue),"always"===s?.currentValue&&Promise.resolve().then(()=>this.toggleTooltip(!0,!0))}focus(){this.handleEl?.nativeElement.focus()}toggleTooltip(e,i=!1){!i&&("default"!==this.tooltipVisible||!this.tooltip)||(e?this.tooltip?.show():this.tooltip?.hide())}updateTooltipTitle(){this.tooltipTitle=this.tooltipFormatter?"function"==typeof this.tooltipFormatter?this.tooltipFormatter(this.value):this.tooltipFormatter:`${this.value}`}updateTooltipPosition(){this.tooltip&&Promise.resolve().then(()=>this.tooltip?.updatePosition())}updateStyle(){const i=this.reverse,o=this.offset,r=this.vertical?{[i?"top":"bottom"]:`${o}%`,[i?"bottom":"top"]:"auto",transform:i?null:"translateY(+50%)"}:{...this.getHorizontalStylePosition(),transform:`translateX(${i?"rtl"===this.dir?"-":"+":"rtl"===this.dir?"+":"-"}50%)`};this.style=r,this.cdr.markForCheck()}getHorizontalStylePosition(){let e=this.reverse?"auto":`${this.offset}%`,i=this.reverse?`${this.offset}%`:"auto";if("rtl"===this.dir){const o=e;e=i,i=o}return{left:e,right:i}}static#e=this.\u0275fac=function(i){return new(i||t)(v(xv),v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-slider-handle"]],viewQuery:function(i,o){if(1&i&&(ft(z3e,5),ft(Sa,5)),2&i){let r;ke(r=Ie())&&(o.handleEl=r.first),ke(r=Ie())&&(o.tooltip=r.first)}},hostBindings:function(i,o){1&i&&M("mouseenter",function(){return o.enterHandle()})("mouseleave",function(){return o.leaveHandle()})},inputs:{vertical:[2,"vertical","vertical",I],reverse:[2,"reverse","reverse",I],offset:[2,"offset","offset",y3],value:[2,"value","value",y3],tooltipVisible:"tooltipVisible",tooltipPlacement:"tooltipPlacement",tooltipFormatter:"tooltipFormatter",active:[2,"active","active",I],dir:"dir"},exportAs:["nzSliderHandle"],standalone:!0,features:[je,xe,me],decls:2,vars:7,consts:[["handle",""],["tabindex","0","nz-tooltip","",1,"ant-slider-handle",3,"ngStyle","nzTooltipTitle","nzTooltipTitleContext","nzTooltipTrigger","nzTooltipPlacement"]],template:function(i,o){1&i&&A(0,"div",1,0),2&i&&h("ngStyle",o.style)("nzTooltipTitle",null===o.tooltipFormatter||"never"===o.tooltipVisible?null:o.tooltipTitle)("nzTooltipTitleContext",mr(5,A3e,o.value))("nzTooltipTrigger",null)("nzTooltipPlacement",o.tooltipPlacement)},dependencies:[H7,Sa,ti],encapsulation:2,changeDetection:0})}return t})(),x3e=(()=>{class t{constructor(){this.lowerBound=null,this.upperBound=null,this.marksArray=[],this.vertical=!1,this.included=!1,this.marks=[]}ngOnChanges(e){const{marksArray:i,lowerBound:o,upperBound:r,reverse:s}=e;(i||s)&&this.buildMarks(),(i||o||r||s)&&this.togglePointActive()}trackById(e,i){return i.value}buildMarks(){const e=this.max-this.min;this.marks=this.marksArray.map(i=>{const{value:o,offset:r,config:s}=i,a=this.getMarkStyles(o,e,s);return{label:pP(s)?s.label:s,offset:r,style:a,value:o,config:s,active:!1}})}getMarkStyles(e,i,o){let r;const s=this.reverse?this.max+this.min-e:e;return r=this.vertical?{marginBottom:"-50%",bottom:(s-this.min)/i*100+"%"}:{transform:"translate3d(-50%, 0, 0)",left:(s-this.min)/i*100+"%"},pP(o)&&o.style&&(r={...r,...o.style}),r}togglePointActive(){this.marks&&null!==this.lowerBound&&null!==this.upperBound&&this.marks.forEach(e=>{const i=e.value;e.active=!this.included&&i===this.upperBound||this.included&&i<=this.upperBound&&i>=this.lowerBound})}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-slider-marks"]],hostAttrs:[1,"ant-slider-mark"],inputs:{lowerBound:"lowerBound",upperBound:"upperBound",marksArray:"marksArray",min:[2,"min","min",Oi],max:[2,"max","max",Oi],vertical:[2,"vertical","vertical",I],included:[2,"included","included",I],reverse:[2,"reverse","reverse",I]},exportAs:["nzSliderMarks"],standalone:!0,features:[je,xe,me],decls:1,vars:2,consts:[["class","ant-slider-mark-text",3,"ant-slider-mark-active","ngStyle","innerHTML",4,"ngFor","ngForOf","ngForTrackBy"],[1,"ant-slider-mark-text",3,"ngStyle","innerHTML"]],template:function(i,o){1&i&&C(0,S3e,1,4,"span",0),2&i&&h("ngForOf",o.marks)("ngForTrackBy",o.trackById)},dependencies:[ti,zn],encapsulation:2,changeDetection:0})}return t})();function pP(t){return"string"!=typeof t}let k3e=(()=>{class t{constructor(){this.lowerBound=null,this.upperBound=null,this.marksArray=[],this.vertical=!1,this.included=!1,this.steps=[]}ngOnChanges(e){const{marksArray:i,lowerBound:o,upperBound:r,reverse:s}=e;(i||s)&&this.buildSteps(),(i||o||r||s)&&this.togglePointActive()}trackById(e,i){return i.value}buildSteps(){const e=this.vertical?"bottom":"left";this.steps=this.marksArray.map(i=>{const{value:o,config:r}=i;let s=i.offset;return this.reverse&&(s=(this.max-o)/(this.max-this.min)*100),{value:o,offset:s,config:r,active:!1,style:{[e]:`${s}%`,transform:this.vertical?"translateY(50%)":"translateX(-50%)"}}})}togglePointActive(){this.steps&&null!==this.lowerBound&&null!==this.upperBound&&this.steps.forEach(e=>{const i=e.value;e.active=!this.included&&i===this.upperBound||this.included&&i<=this.upperBound&&i>=this.lowerBound})}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-slider-step"]],hostAttrs:[1,"ant-slider-step"],inputs:{lowerBound:"lowerBound",upperBound:"upperBound",marksArray:"marksArray",min:[2,"min","min",Oi],max:[2,"max","max",Oi],vertical:[2,"vertical","vertical",I],included:[2,"included","included",I],reverse:[2,"reverse","reverse",I]},exportAs:["nzSliderStep"],standalone:!0,features:[je,xe,me],decls:1,vars:2,consts:[["class","ant-slider-dot",3,"ant-slider-dot-active","ngStyle",4,"ngFor","ngForOf","ngForTrackBy"],[1,"ant-slider-dot",3,"ngStyle"]],template:function(i,o){1&i&&C(0,T3e,1,3,"span",0),2&i&&h("ngForOf",o.steps)("ngForTrackBy",o.trackById)},dependencies:[ti,zn],encapsulation:2,changeDetection:0})}return t})(),I3e=(()=>{class t{constructor(){this.offset=0,this.reverse=!1,this.dir="ltr",this.length=0,this.vertical=!1,this.included=!1,this.style={}}ngOnChanges(){const i=this.reverse,o=this.included?"visible":"hidden",r=this.offset,s=this.length,a=this.vertical?{[i?"top":"bottom"]:`${r}%`,[i?"bottom":"top"]:"auto",height:`${s}%`,visibility:o}:{...this.getHorizontalStylePosition(),width:`${s}%`,visibility:o};this.style=a}getHorizontalStylePosition(){let e=this.reverse?"auto":`${this.offset}%`,i=this.reverse?`${this.offset}%`:"auto";if("rtl"===this.dir){const o=e;e=i,i=o}return{left:e,right:i}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-slider-track"]],inputs:{offset:[2,"offset","offset",Oi],reverse:[2,"reverse","reverse",I],dir:"dir",length:[2,"length","length",Oi],vertical:[2,"vertical","vertical",I],included:[2,"included","included",I]},exportAs:["nzSliderTrack"],standalone:!0,features:[je,xe,me],decls:1,vars:1,consts:[[1,"ant-slider-track",3,"ngStyle"]],template:function(i,o){1&i&&A(0,"div",0),2&i&&h("ngStyle",o.style)},dependencies:[ti],encapsulation:2,changeDetection:0})}return t})(),fP=(()=>{class t{constructor(e,i,o,r,s){this.slider=e,this.sliderService=i,this.cdr=o,this.platform=r,this.directionality=s,this.nzDisabled=!1,this.nzDots=!1,this.nzIncluded=!0,this.nzRange=!1,this.nzVertical=!1,this.nzReverse=!1,this.nzMarks=null,this.nzMax=100,this.nzMin=0,this.nzStep=1,this.nzTooltipVisible="default",this.nzTooltipPlacement="top",this.nzOnAfterChange=new B,this.value=null,this.cacheSliderStart=null,this.cacheSliderLength=null,this.activeValueIndex=void 0,this.track={offset:null,length:null},this.handles=[],this.marksArray=null,this.bounds={lower:null,upper:null},this.dir="ltr",this.destroy$=new V,this.isNzDisableFirstChange=!0}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges(),this.updateTrackAndHandles(),this.onValueChange(this.getValue(!0))}),this.handles=mP(this.nzRange?2:1),this.marksArray=this.nzMarks?this.generateMarkItems(this.nzMarks):null,this.bindDraggingHandlers(),this.toggleDragDisabled(this.nzDisabled),null===this.getValue()&&this.setValue(this.formatValue(null))}ngOnChanges(e){const{nzDisabled:i,nzMarks:o,nzRange:r}=e;i&&!i.firstChange?this.toggleDragDisabled(i.currentValue):o&&!o.firstChange?this.marksArray=this.nzMarks?this.generateMarkItems(this.nzMarks):null:r&&!r.firstChange&&(this.handles=mP(r.currentValue?2:1),this.setValue(this.formatValue(null)))}ngOnDestroy(){this.unsubscribeDrag(),this.destroy$.next(!0),this.destroy$.complete()}writeValue(e){this.setValue(e,!0)}onValueChange(e){}onTouched(){}registerOnChange(e){this.onValueChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.toggleDragDisabled(this.nzDisabled),this.cdr.markForCheck()}onKeyDown(e){if(this.nzDisabled)return;const i=e.keyCode,r=37===i||40===i;if(39!==i&&38!==i&&!r)return;e.preventDefault();let s=(r?-this.nzStep:this.nzStep)*(this.nzReverse?-1:1);s="rtl"===this.dir?-1*s:s,this.setActiveValue(w3(this.nzRange?this.value[this.activeValueIndex]+s:this.value+s,this.nzMin,this.nzMax)),this.nzOnAfterChange.emit(this.getValue(!0))}onHandleFocusIn(e){this.activeValueIndex=e}setValue(e,i=!1){i?(this.value=this.formatValue(e),this.updateTrackAndHandles()):function N3e(t,n){return typeof t==typeof n&&(Ro(t)&&Ro(n)?dE(t,n):t===n)}(this.value,e)||(this.value=e,this.updateTrackAndHandles(),this.onValueChange(this.getValue(!0)))}getValue(e=!1){return e&&this.value&&Ro(this.value)?[...this.value].sort((i,o)=>i-o):this.value}getValueToOffset(e){let i=e;return typeof i>"u"&&(i=this.getValue(!0)),Ro(i)?i.map(o=>this.valueToOffset(o)):this.valueToOffset(i)}setActiveValueIndex(e){const i=this.getValue();if(Ro(i)){let r,o=null,s=-1;i.forEach((a,l)=>{r=Math.abs(e-a),(null===o||r{l.offset=Ro(i)?i[c]:i,l.value=Ro(e)?e[c]:e||0}),[this.bounds.lower,this.bounds.upper]=s,[this.track.offset,this.track.length]=a,this.cdr.markForCheck()}onDragStart(e){this.toggleDragMoving(!0),this.cacheSliderProperty(),this.setActiveValueIndex(this.getLogicalValue(e)),this.setActiveValue(this.getLogicalValue(e)),this.showHandleTooltip(this.nzRange?this.activeValueIndex:0)}onDragMove(e){this.setActiveValue(this.getLogicalValue(e)),this.cdr.markForCheck()}getLogicalValue(e){return this.nzReverse?this.nzVertical||"rtl"!==this.dir?this.nzMax-e+this.nzMin:e:this.nzVertical||"rtl"!==this.dir?e:this.nzMax-e+this.nzMin}onDragEnd(){this.nzOnAfterChange.emit(this.getValue(!0)),this.toggleDragMoving(!1),this.cacheSliderProperty(!0),this.hideAllHandleTooltip(),this.cdr.markForCheck()}bindDraggingHandlers(){if(!this.platform.isBrowser)return;const e=a=>l=>a.reduce((c,u)=>c[u]||c,l),i=this.slider.nativeElement,o=this.nzVertical?"pageY":"pageX",r={start:"mousedown",move:"mousemove",end:"mouseup",pluckKey:[o]},s={start:"touchstart",move:"touchmove",end:"touchend",pluckKey:["touches","0",o],filter:a=>a instanceof TouchEvent};[r,s].forEach(a=>{const{start:l,move:c,end:u,pluckKey:p,filter:b=(()=>!0)}=a;a.startPlucked$=nn(i,l).pipe(yt(b),ii(uE),Pe(e(p)),Pe(_=>this.findClosestValue(_))),a.end$=nn(document,u),a.moveResolved$=nn(document,c).pipe(yt(b),ii(uE),Pe(e(p)),Qi(),Pe(_=>this.findClosestValue(_)),Qi(),P(a.end$))}),this.dragStart$=On(r.startPlucked$,s.startPlucked$),this.dragMove$=On(r.moveResolved$,s.moveResolved$),this.dragEnd$=On(r.end$,s.end$)}subscribeDrag(e=["start","move","end"]){-1!==e.indexOf("start")&&this.dragStart$&&!this.dragStart_&&(this.dragStart_=this.dragStart$.subscribe(this.onDragStart.bind(this))),-1!==e.indexOf("move")&&this.dragMove$&&!this.dragMove_&&(this.dragMove_=this.dragMove$.subscribe(this.onDragMove.bind(this))),-1!==e.indexOf("end")&&this.dragEnd$&&!this.dragEnd_&&(this.dragEnd_=this.dragEnd$.subscribe(this.onDragEnd.bind(this)))}unsubscribeDrag(e=["start","move","end"]){-1!==e.indexOf("start")&&this.dragStart_&&(this.dragStart_.unsubscribe(),this.dragStart_=null),-1!==e.indexOf("move")&&this.dragMove_&&(this.dragMove_.unsubscribe(),this.dragMove_=null),-1!==e.indexOf("end")&&this.dragEnd_&&(this.dragEnd_.unsubscribe(),this.dragEnd_=null)}toggleDragMoving(e){const i=["move","end"];e?(this.sliderService.isDragging=!0,this.subscribeDrag(i)):(this.sliderService.isDragging=!1,this.unsubscribeDrag(i))}toggleDragDisabled(e){e?this.unsubscribeDrag():this.subscribeDrag(["start"])}findClosestValue(e){const r=w3((e-this.getSliderStartPosition())/this.getSliderLength(),0,1),s=(this.nzMax-this.nzMin)*(this.nzVertical?1-r:r)+this.nzMin,a=null===this.nzMarks?[]:Object.keys(this.nzMarks).map(parseFloat).sort((u,p)=>u-p);if(0!==this.nzStep&&!this.nzDots){const u=Math.round(s/this.nzStep)*this.nzStep;a.push(u)}const l=a.map(u=>Math.abs(s-u)),c=a[l.indexOf(Math.min(...l))];return 0===this.nzStep?c:parseFloat(c.toFixed(function rne(t){const n=t.toString(),e=n.indexOf(".");return e>=0?n.length-e-1:0}(this.nzStep)))}valueToOffset(e){return function one(t,n,e){return(e-t)/(n-t)*100}(this.nzMin,this.nzMax,e)}getSliderStartPosition(){if(null!==this.cacheSliderStart)return this.cacheSliderStart;const e=hE(this.slider.nativeElement);return this.nzVertical?e.top:e.left}getSliderLength(){if(null!==this.cacheSliderLength)return this.cacheSliderLength;const e=this.slider.nativeElement;return this.nzVertical?e.clientHeight:e.clientWidth}cacheSliderProperty(e=!1){this.cacheSliderStart=e?null:this.getSliderStartPosition(),this.cacheSliderLength=e?null:this.getSliderLength()}formatValue(e){return _3(e)?this.nzRange?[this.nzMin,this.nzMax]:this.nzMin:function P3e(t,n){return!(!Ro(t)&&isNaN(t)||Ro(t)&&t.some(e=>isNaN(e)))&&function V3e(t,n=!1){if(Ro(t)!==n)throw function O3e(){return new Error('The "nzRange" can\'t match the "ngModel"\'s type, please check these properties: "nzRange", "ngModel", "nzDefaultValue".')}();return!0}(t,n)}(e,this.nzRange)?Ro(e)?e.map(i=>w3(i,this.nzMin,this.nzMax)):w3(e,this.nzMin,this.nzMax):this.nzDefaultValue?this.nzDefaultValue:this.nzRange?[this.nzMin,this.nzMax]:this.nzMin}showHandleTooltip(e=0){this.handles.forEach((i,o)=>{i.active=o===e})}hideAllHandleTooltip(){this.handles.forEach(e=>e.active=!1)}generateMarkItems(e){const i=[];for(const o in e)if(e.hasOwnProperty(o)){const r=e[o],s="number"==typeof o?o:parseFloat(o);s>=this.nzMin&&s<=this.nzMax&&i.push({value:s,offset:this.valueToOffset(s),config:r})}return i.length?i:null}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(xv),v(We),v(Qn),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-slider"]],viewQuery:function(i,o){if(1&i&&ft(kv,5),2&i){let r;ke(r=Ie())&&(o.handlerComponents=r)}},hostAttrs:[1,"ant-slider"],hostVars:8,hostBindings:function(i,o){1&i&&M("keydown",function(s){return o.onKeyDown(s)}),2&i&&Z("ant-slider-rtl","rtl"===o.dir)("ant-slider-disabled",o.nzDisabled)("ant-slider-vertical",o.nzVertical)("ant-slider-with-marks",o.marksArray)},inputs:{nzDisabled:[2,"nzDisabled","nzDisabled",I],nzDots:[2,"nzDots","nzDots",I],nzIncluded:[2,"nzIncluded","nzIncluded",I],nzRange:[2,"nzRange","nzRange",I],nzVertical:[2,"nzVertical","nzVertical",I],nzReverse:[2,"nzReverse","nzReverse",I],nzDefaultValue:"nzDefaultValue",nzMarks:"nzMarks",nzMax:[2,"nzMax","nzMax",Oi],nzMin:[2,"nzMin","nzMin",Oi],nzStep:[2,"nzStep","nzStep",y3],nzTooltipVisible:"nzTooltipVisible",nzTooltipPlacement:"nzTooltipPlacement",nzTipFormatter:"nzTipFormatter"},outputs:{nzOnAfterChange:"nzOnAfterChange"},exportAs:["nzSlider"],standalone:!0,features:[et([{provide:Ni,useExisting:Gt(()=>t),multi:!0},xv]),je,xe,me],decls:5,vars:9,consts:[[1,"ant-slider-rail"],[3,"vertical","included","offset","length","reverse","dir"],[3,"vertical","min","max","lowerBound","upperBound","marksArray","included","reverse",4,"ngIf"],[3,"vertical","reverse","offset","value","active","tooltipFormatter","tooltipVisible","tooltipPlacement","dir","focusin",4,"ngFor","ngForOf"],[3,"vertical","min","max","lowerBound","upperBound","marksArray","included","reverse"],[3,"focusin","vertical","reverse","offset","value","active","tooltipFormatter","tooltipVisible","tooltipPlacement","dir"]],template:function(i,o){1&i&&(A(0,"div",0)(1,"nz-slider-track",1),C(2,M3e,1,8,"nz-slider-step",2)(3,D3e,1,9,"nz-slider-handle",3)(4,E3e,1,8,"nz-slider-marks",2)),2&i&&(d(),h("vertical",o.nzVertical)("included",o.nzIncluded)("offset",o.track.offset)("length",o.track.length)("reverse",o.nzReverse)("dir",o.dir),d(),h("ngIf",o.marksArray),d(),h("ngForOf",o.handles),d(),h("ngIf",o.marksArray))},dependencies:[I3e,k3e,kv,zn,x3e,St],encapsulation:2,changeDetection:0})}return t})();function Ro(t){return t instanceof Array&&2===t.length}function mP(t){return Array(t).fill(0).map(()=>({offset:null,value:null,active:!1}))}let F3e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[fP,kv]})}return t})();const Lp=()=>({minRows:3,maxRows:5});function R3e(t,n){1&t&&A(0,"img",90)}function L3e(t,n){1&t&&A(0,"img",91)}function B3e(t,n){1&t&&A(0,"img",92)}function H3e(t,n){1&t&&A(0,"img",93)}function j3e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",94),A(2,"img",95),f(3,"input",96),M("change",function(o){const r=S(e).index;return T(g().onChangeLightBannerUrl(o,r))}),m(),f(4,"app-upload",10),M("onChange",function(o){const r=S(e).index;return T(g().onLightBannerChange(o,r))}),m()(),f(5,"td")(6,"input",97),M("change",function(o){const r=S(e).index;return T(g().onChangeLightJumpUrl(o,r))}),m()(),f(7,"td")(8,"a",98),M("nzOnConfirm",function(){const o=S(e).index;return T(g().onDeleteLightBanner(o))}),f(9,"a"),w(10),m()()()()}if(2&t){const e=n.$implicit,i=g();d(2),h("src",e.src,It),d(),h("value",e.src),d(3),h("value",e.url),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),we(" ",i.$t("_del")," ")}}function Y3e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",94),A(2,"img",95),f(3,"input",96),M("change",function(o){const r=S(e).index;return T(g().onChangeSuperBannerUrl(o,r))}),m(),f(4,"app-upload",10),M("onChange",function(o){const r=S(e).index;return T(g().onSuperBannerChange(o,r))}),m()(),f(5,"td")(6,"input",97),M("change",function(o){const r=S(e).index;return T(g().onChangeSuperJumpUrl(o,r))}),m()(),f(7,"td")(8,"a",98),M("nzOnConfirm",function(){const o=S(e).index;return T(g().onDeleteSuperBanner(o))}),f(9,"a"),w(10),m()()()()}if(2&t){const e=n.$implicit,i=g();d(2),h("src",e.src,It),d(),h("value",e.src),d(3),h("value",e.url),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),we(" ",i.$t("_del")," ")}}function U3e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",94),A(2,"img",95),f(3,"input",96),M("change",function(o){const r=S(e).index;return T(g().onChangeSimBannerUrl(o,r))}),m(),f(4,"app-upload",10),M("onChange",function(o){const r=S(e).index;return T(g().onSimBannerChange(o,r))}),m()(),f(5,"td")(6,"input",97),M("change",function(o){const r=S(e).index;return T(g().onChangeSimJumpUrl(o,r))}),m()(),f(7,"td")(8,"a",98),M("nzOnConfirm",function(){const o=S(e).index;return T(g().onDeleteSimBanner(o))}),f(9,"a"),w(10),m()()()()}if(2&t){const e=n.$implicit,i=g();d(2),h("src",e.src,It),d(),h("value",e.src),d(3),h("value",e.url),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),we(" ",i.$t("_del")," ")}}function W3e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",94),A(2,"img",95),f(3,"input",96),M("change",function(o){const r=S(e).index;return T(g().onChangeSideBannerUrl(o,r))}),m(),f(4,"app-upload",10),M("onChange",function(o){const r=S(e).index;return T(g().onSideBannerChange(o,r))}),m()(),f(5,"td")(6,"input",97),M("change",function(o){const r=S(e).index;return T(g().onChangeSideJumpUrl(o,r))}),m()(),f(7,"td")(8,"a",98),M("nzOnConfirm",function(){const o=S(e).index;return T(g().onDeleteSideBanner(o))}),f(9,"a"),w(10),m()()()()}if(2&t){const e=n.$implicit,i=g();d(2),h("src",e.src,It),d(),h("value",e.src),d(3),h("value",e.url),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),we(" ",i.$t("_del")," ")}}function G3e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",99)(2,"input",100),M("change",function(o){const r=S(e).index;return T(g().onChangeMirrorUrl(o,r))}),m()(),f(3,"td",101)(4,"input",97),M("change",function(o){const r=S(e).index;return T(g().onChangeMirrorName(o,r))}),m()(),f(5,"td")(6,"a",98),M("nzOnConfirm",function(){const o=S(e).index;return T(g().onDelMirror(o))}),f(7,"a"),w(8),m()()()()}if(2&t){const e=n.$implicit,i=g();d(2),h("value",e.url),d(2),h("value",e.name),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),we(" ",i.$t("_del")," ")}}let q3e=(()=>{class t{constructor(e,i,o){this.fb=e,this.message=i,this.modal=o,this.$t=be,this.submitting=!1,this.settings=kn,this.validateForm=this.fb.group({...kn})}ngOnInit(){}onLogoChange(e){this.settings.favicon=e.cdn||e.target?.value||""}onSimBannerChange(e,i){this.settings.simThemeImages[i].src=e.cdn}onChangeSimBannerUrl(e,i){const o=e.target.value.trim();this.settings.simThemeImages[i].src=o}onChangeSimJumpUrl(e,i){const o=e.target.value.trim();this.settings.simThemeImages[i].url=o}onDeleteSimBanner(e){this.settings.simThemeImages.splice(e,1)}onAddSimBanner(){this.settings.simThemeImages.push({src:"",url:""})}onSuperBannerChange(e,i){this.settings.superImages[i].src=e.cdn}onChangeSuperBannerUrl(e,i){const o=e.target.value.trim();this.settings.superImages[i].src=o}onChangeSuperJumpUrl(e,i){const o=e.target.value.trim();this.settings.superImages[i].url=o}onDeleteSuperBanner(e){this.settings.superImages.splice(e,1)}onAddSuperBanner(){this.settings.superImages.push({src:"",url:""})}onLightBannerChange(e,i){this.settings.lightImages[i].src=e.cdn}onChangeLightBannerUrl(e,i){const o=e.target.value.trim();this.settings.lightImages[i].src=o}onChangeLightJumpUrl(e,i){const o=e.target.value.trim();this.settings.lightImages[i].url=o}onDeleteLightBanner(e){this.settings.lightImages.splice(e,1)}onAddLightBanner(){this.settings.lightImages.push({src:"",url:""})}onSideBannerChange(e,i){this.settings.sideThemeImages[i].src=e.cdn}onChangeSideBannerUrl(e,i){const o=e.target.value.trim();this.settings.sideThemeImages[i].src=o}onChangeSideJumpUrl(e,i){const o=e.target.value.trim();this.settings.sideThemeImages[i].src=o}onDeleteSideBanner(e){this.settings.sideThemeImages.splice(e,1)}onAddSideBanner(){this.settings.sideThemeImages.push({src:"",url:""})}onMirrorBannerChange(e,i){this.settings.sideThemeImages[i].src=e.cdn}onAddMirror(){this.settings.mirrorList.push({url:"",icon:"",name:""})}onDelMirror(e){this.settings.mirrorList.splice(e,1)}onChangeMirrorUrl(e,i){const o=e.target.value.trim();this.settings.mirrorList[i].url=o}onChangeMirrorName(e,i){const o=e.target.value.trim();this.settings.mirrorList[i].name=o}onShortcutImgChange(e){let i=e?.target?.value?.trim()||e.cdn;i||(i=""),this.settings.shortcutThemeImages[0].src=i}handleSubmit(){this.submitting||this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{function e(o){return o.src}const i={...this.validateForm.value,favicon:this.settings.favicon,simThemeImages:this.settings.simThemeImages.filter(e),shortcutThemeImages:this.settings.shortcutThemeImages.filter(e),sideThemeImages:this.settings.sideThemeImages.filter(e),superImages:this.settings.superImages.filter(e),lightImages:this.settings.lightImages.filter(e),mirrorList:this.settings.mirrorList.filter(o=>o.url&&o.name)};this.submitting=!0,vl({message:"Update settings",content:JSON.stringify(i),path:"data/settings.json"}).then(()=>{this.message.success(be("_saveSuccess"))}).finally(()=>{this.submitting=!1})}})}static#e=this.\u0275fac=function(i){return new(i||t)(v(fv),v(er),v(za))};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-setting"]],decls:451,vars:262,consts:[["loading1",""],["loading2",""],["loading3",""],["loading4",""],["basicTable",""],["nz-form","",3,"formGroup"],[3,"nzSpan"],["id","file"],[1,"logo",3,"src"],[2,"white-space","nowrap","margin-top","5px"],[3,"onChange"],["nz-input","",1,"logo-input",3,"change","value"],["nzRequired","",3,"nzSpan"],["nz-input","","formControlName","title"],["nz-input","","formControlName","description"],["nz-input","","formControlName","keywords"],["formControlName","language"],["nzValue","zh-CN","nzLabel","\u7b80\u4f53\u4e2d\u6587"],["nzValue","en","nzLabel","English"],["nz-input","","formControlName","email","placeholder","\u7528\u6237\u63d0\u4ea4\u6536\u5f55\u901a\u77e5"],["formControlName","loading"],["nz-radio","","nzValue","random"],["nz-radio","","nzValue","null"],["nz-radio","","nzValue","loading1","nz-popover","","nzPopoverPlacement","bottom",3,"nzPopoverContent"],["nz-radio","","nzValue","loading2","nz-popover","","nzPopoverPlacement","bottom",3,"nzPopoverContent"],["nz-radio","","nzValue","loading3","nz-popover","","nzPopoverPlacement","bottom",3,"nzPopoverContent"],["nz-radio","","nzValue","loading4","nz-popover","","nzPopoverPlacement","bottom",3,"nzPopoverContent"],["nz-input","","formControlName","loadingCode","placeholder","
Loading...
",3,"nzAutosize"],[3,"nzSpan","nzNoColon"],["nz-checkbox","","formControlName","allowCollect"],["nz-checkbox","","formControlName","openSEO"],["nz-checkbox","","formControlName","showGithub"],["nz-checkbox","","formControlName","showLanguage"],["nz-checkbox","","formControlName","showRate"],["nz-checkbox","","formControlName","showThemeToggle"],["formControlName","theme"],["nz-radio","","nzValue","Light"],["nz-radio","","nzValue","Super"],["nz-radio","","nzValue","Sim"],["nz-radio","","nzValue","Side"],["nz-radio","","nzValue","App"],["nz-radio","","nzValue","Shortcut"],["formControlName","appTheme"],["nz-radio","","nzValue","Current"],["nz-input","","formControlName","headerContent","placeholder","\u4f4d\u4e8e head \u6807\u7b7e\u5c3e\u90e8\uff0c\u4f60\u53ef\u4ee5\u5728\u8fd9\u91cc\u63d2\u5165\u811a\u672c\u4ee3\u7801\u6216\u5404\u79cd\u6837\u5f0f\u7f51\u7ad9\u7edf\u8ba1\u7b49",3,"nzAutosize"],["nz-input","","formControlName","footerContent","placeholder","\u73b0\u6709\u53d8\u91cf\uff1a${total} = \u7f51\u7ad9\u6570\u91cf\uff1b ${hostname} = \u57df\u540d\uff1b ${year} = \u4eca\u5e74\u5e74\u4efd",3,"nzAutosize"],["nz-input","","formControlName","actionUrl",3,"placeholder"],[1,"divider"],[1,"title"],[1,"mb10"],["formControlName","spiderTitle"],["nz-radio","","nzValue","NO"],["nz-radio","","nzValue","EMPTY"],["nz-radio","","nzValue","ALWAYS"],["formControlName","spiderIcon"],["formControlName","spiderDescription"],["nz-checkbox","","formControlName","checkUrl"],["formControlName","spiderQty",3,"nzMin","nzMax"],["formControlName","lightCardStyle"],["nz-radio","","nzValue","standard"],["nz-radio","","nzValue","column"],["nz-radio","","nzValue","example"],["formControlName","lightOverType"],["nz-radio","","nzValue","overflow"],["nz-radio","","nzValue","ellipsis"],[1,"sim-ban"],[3,"nzData","nzShowPagination"],[4,"ngFor","ngForOf"],[1,"mt10","display-block",3,"click"],["nz-input","","formControlName","superTitle",3,"placeholder"],["formControlName","superCardStyle"],["formControlName","superOverType"],["nz-input","","formControlName","simTitle",3,"placeholder"],["formControlName","simCardStyle"],["formControlName","simOverType"],["nz-checkbox","","formControlName","simThemeAutoplay"],["formControlName","simThemeHeight",3,"nzMin","nzMax"],["nz-input","","formControlName","simThemeDesc",3,"nzAutosize"],["nz-input","","formControlName","sideTitle",3,"placeholder"],["formControlName","sideCardStyle"],["nz-checkbox","","formControlName","sideThemeAutoplay"],["formControlName","sideThemeHeight",3,"nzMin","nzMax"],["nz-input","","formControlName","shortcutTitle",3,"placeholder"],["nz-checkbox","","formControlName","shortcutThemeShowWeather"],[3,"src"],["nz-input","","type","text",2,"width","300px","margin-top","10px",3,"change","value"],[3,"click"],[1,"bottom-bar"],["nz-button","","nzType","primary",2,"margin-right","20px",3,"click","nzLoading"],[1,"save-tip"],["src","assets/img/loading1.png",1,"preview"],["src","assets/img/loading2.png",1,"preview"],["src","assets/img/loading3.png",1,"preview"],["src","assets/img/loading4.png",1,"preview"],["width","260px",1,"nowrap"],[1,"icon",3,"src"],["nz-input","","type","text",2,"width","180px","margin-right","10px",3,"change","value"],["nz-input","","maxlength","200",3,"change","value"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"],[1,"nowrap"],["nz-input","","type","text",2,"width","100%","margin-right","10px",3,"change","value"],["width","400px"]],template:function(i,o){if(1&i){const r=W();f(0,"form",5)(1,"nz-form-item")(2,"nz-form-label",6),w(3),m(),f(4,"nz-form-control",6)(5,"label",7),A(6,"img",8),f(7,"span",9),w(8),m(),f(9,"app-upload",10),M("onChange",function(a){return S(r),T(o.onLogoChange(a))}),m(),f(10,"div")(11,"input",11),M("change",function(a){return S(r),T(o.onLogoChange(a))}),m()()()()(),f(12,"nz-form-item")(13,"nz-form-label",12),w(14),m(),f(15,"nz-form-control",6),A(16,"input",13),m()(),f(17,"nz-form-item")(18,"nz-form-label",6),w(19),m(),f(20,"nz-form-control",6),A(21,"input",14),m()(),f(22,"nz-form-item")(23,"nz-form-label",6),w(24),m(),f(25,"nz-form-control",6),A(26,"input",15),m()(),f(27,"nz-form-item")(28,"nz-form-label",6),w(29),m(),f(30,"nz-form-control",6)(31,"nz-select",16),A(32,"nz-option",17)(33,"nz-option",18),m()()(),f(34,"nz-form-item")(35,"nz-form-label",6),w(36,"Email"),m(),f(37,"nz-form-control",6),A(38,"input",19),m()(),f(39,"nz-form-item")(40,"nz-form-label",6),w(41),m(),f(42,"nz-form-control",6)(43,"nz-radio-group",20)(44,"label",21),w(45),m(),f(46,"label",22),w(47),m(),f(48,"label",23),w(49," loading1 "),m(),C(50,R3e,1,0,"ng-template",null,0,ot),f(52,"label",24),w(53," loading2 "),m(),C(54,L3e,1,0,"ng-template",null,1,ot),f(56,"label",25),w(57," loading3 "),m(),C(58,B3e,1,0,"ng-template",null,2,ot),f(60,"label",26),w(61," loading4 "),m(),C(62,H3e,1,0,"ng-template",null,3,ot),m()()(),f(64,"nz-form-item")(65,"nz-form-label",6),w(66,"DIY Loading code"),m(),f(67,"nz-form-control",6),A(68,"textarea",27),m()(),f(69,"nz-form-item")(70,"nz-form-label",28),w(71),m(),f(72,"nz-form-control",6),A(73,"label",29),m()(),f(74,"nz-form-item")(75,"nz-form-label",28),w(76),m(),f(77,"nz-form-control",6),A(78,"label",30),m()(),f(79,"nz-form-item")(80,"nz-form-label",28),w(81),m(),f(82,"nz-form-control",6),A(83,"label",31),m()(),f(84,"nz-form-item")(85,"nz-form-label",28),w(86),m(),f(87,"nz-form-control",6),A(88,"label",32),m()(),f(89,"nz-form-item")(90,"nz-form-label",28),w(91),m(),f(92,"nz-form-control",6),A(93,"label",33),m()(),f(94,"nz-form-item")(95,"nz-form-label",28),w(96),m(),f(97,"nz-form-control",6),A(98,"label",34),m()(),f(99,"nz-form-item")(100,"nz-form-label",28),w(101),m(),f(102,"nz-form-control",6)(103,"nz-radio-group",35)(104,"label",36),w(105,"Light"),m(),f(106,"label",37),w(107,"Super"),m(),f(108,"label",38),w(109,"Sim"),m(),f(110,"label",39),w(111,"Side"),m(),f(112,"label",40),w(113,"App"),m(),f(114,"label",41),w(115,"Shortcut"),m()()()(),f(116,"nz-form-item")(117,"nz-form-label",28),w(118),m(),f(119,"nz-form-control",6)(120,"nz-radio-group",42)(121,"label",43),w(122),m(),f(123,"label",40),w(124,"App"),m(),f(125,"label",36),w(126,"Light"),m(),f(127,"label",38),w(128,"Sim"),m(),f(129,"label",39),w(130,"Side"),m(),f(131,"label",41),w(132,"Shortcut"),m()()()(),f(133,"nz-form-item")(134,"nz-form-label",6),w(135),m(),f(136,"nz-form-control",6),A(137,"textarea",44),m()(),f(138,"nz-form-item")(139,"nz-form-label",6),w(140),m(),f(141,"nz-form-control",6),A(142,"textarea",45),m()(),f(143,"nz-form-item")(144,"nz-form-label",6),w(145),m(),f(146,"nz-form-control",6),A(147,"input",46),m()(),A(148,"div",47),f(149,"h2",48),w(150),m(),f(151,"div",49)(152,"b"),w(153),m()(),f(154,"div",49)(155,"b"),w(156),m()(),f(157,"div",49)(158,"b"),w(159),m()(),f(160,"nz-form-item")(161,"nz-form-label",28),w(162),m(),f(163,"nz-form-control",6)(164,"nz-radio-group",50)(165,"label",51),w(166),m(),f(167,"label",52),w(168),m(),f(169,"label",53),w(170),m()()()(),f(171,"nz-form-item")(172,"nz-form-label",28),w(173),m(),f(174,"nz-form-control",6)(175,"nz-radio-group",54)(176,"label",51),w(177),m(),f(178,"label",52),w(179),m(),f(180,"label",53),w(181),m()()()(),f(182,"nz-form-item")(183,"nz-form-label",28),w(184),m(),f(185,"nz-form-control",6)(186,"nz-radio-group",55)(187,"label",51),w(188),m(),f(189,"label",52),w(190),m(),f(191,"label",53),w(192),m()()()(),f(193,"nz-form-item")(194,"nz-form-label",28),w(195),m(),f(196,"nz-form-control",6)(197,"label",56),w(198),m()()(),f(199,"nz-form-item")(200,"nz-form-label",6),w(201),m(),f(202,"nz-form-control",6),A(203,"nz-slider",57),f(204,"div"),w(205),m()()(),A(206,"div",47),f(207,"h2",48),w(208),m(),f(209,"nz-form-item")(210,"nz-form-label",6),w(211),m(),f(212,"nz-form-control",6)(213,"nz-radio-group",58)(214,"label",59),w(215),m(),f(216,"label",60),w(217),m(),f(218,"label",61),w(219),m()()()(),f(220,"nz-form-item")(221,"nz-form-label",6),w(222),m(),f(223,"nz-form-control",6)(224,"nz-radio-group",62)(225,"label",63),w(226),m(),f(227,"label",64),w(228),m()()()(),f(229,"nz-form-item",65)(230,"nz-form-label",6),w(231),m(),f(232,"nz-form-control",6)(233,"nz-table",66,4)(235,"thead")(236,"tr")(237,"th"),w(238),m(),f(239,"th"),w(240),m(),f(241,"th"),w(242),m()()(),f(243,"tbody"),C(244,j3e,11,5,"tr",67),m()(),f(245,"a",68),M("click",function(){return S(r),T(o.onAddLightBanner())}),w(246),m()()(),A(247,"div",47),f(248,"h2",48),w(249),m(),f(250,"nz-form-item")(251,"nz-form-label",6),w(252),m(),f(253,"nz-form-control",6),A(254,"input",69),m()(),f(255,"nz-form-item")(256,"nz-form-label",6),w(257),m(),f(258,"nz-form-control",6)(259,"nz-radio-group",70)(260,"label",59),w(261),m(),f(262,"label",60),w(263),m(),f(264,"label",61),w(265),m()()()(),f(266,"nz-form-item")(267,"nz-form-label",6),w(268),m(),f(269,"nz-form-control",6)(270,"nz-radio-group",71)(271,"label",63),w(272),m(),f(273,"label",64),w(274),m()()()(),f(275,"nz-form-item",65)(276,"nz-form-label",6),w(277),m(),f(278,"nz-form-control",6)(279,"nz-table",66,4)(281,"thead")(282,"tr")(283,"th"),w(284),m(),f(285,"th"),w(286),m(),f(287,"th"),w(288),m()()(),f(289,"tbody"),C(290,Y3e,11,5,"tr",67),m()(),f(291,"a",68),M("click",function(){return S(r),T(o.onAddSuperBanner())}),w(292),m()()(),A(293,"div",47),f(294,"h2",48),w(295),m(),f(296,"nz-form-item")(297,"nz-form-label",6),w(298),m(),f(299,"nz-form-control",6),A(300,"input",72),m()(),f(301,"nz-form-item")(302,"nz-form-label",6),w(303),m(),f(304,"nz-form-control",6)(305,"nz-radio-group",73)(306,"label",59),w(307),m(),f(308,"label",60),w(309),m(),f(310,"label",61),w(311),m()()()(),f(312,"nz-form-item")(313,"nz-form-label",6),w(314),m(),f(315,"nz-form-control",6)(316,"nz-radio-group",74)(317,"label",63),w(318),m(),f(319,"label",64),w(320),m()()()(),f(321,"nz-form-item",65)(322,"nz-form-label",6),w(323,"Banner"),m(),f(324,"nz-form-control",6)(325,"nz-table",66,4)(327,"thead")(328,"tr")(329,"th"),w(330),m(),f(331,"th"),w(332),m(),f(333,"th"),w(334),m()()(),f(335,"tbody"),C(336,U3e,11,5,"tr",67),m()(),f(337,"a",68),M("click",function(){return S(r),T(o.onAddSimBanner())}),w(338),m()()(),f(339,"nz-form-item")(340,"nz-form-label",6),w(341),m(),f(342,"nz-form-control",6),A(343,"label",75),m()(),f(344,"nz-form-item")(345,"nz-form-label",6),w(346),m(),f(347,"nz-form-control",6),A(348,"nz-slider",76),f(349,"div"),w(350),m()()(),f(351,"nz-form-item")(352,"nz-form-label",6),w(353),m(),f(354,"nz-form-control",6),A(355,"textarea",77),m()(),A(356,"div",47),f(357,"h2",48),w(358),m(),f(359,"nz-form-item")(360,"nz-form-label",6),w(361),m(),f(362,"nz-form-control",6),A(363,"input",78),m()(),f(364,"nz-form-item")(365,"nz-form-label",6),w(366),m(),f(367,"nz-form-control",6)(368,"nz-radio-group",79)(369,"label",59),w(370),m(),f(371,"label",60),w(372),m(),f(373,"label",61),w(374),m()()()(),f(375,"nz-form-item",65)(376,"nz-form-label",6),w(377,"Banner"),m(),f(378,"nz-form-control",6)(379,"nz-table",66,4)(381,"thead")(382,"tr")(383,"th"),w(384),m(),f(385,"th"),w(386),m(),f(387,"th"),w(388),m()()(),f(389,"tbody"),C(390,W3e,11,5,"tr",67),m()(),f(391,"a",68),M("click",function(){return S(r),T(o.onAddSideBanner())}),w(392),m()()(),f(393,"nz-form-item")(394,"nz-form-label",6),w(395),m(),f(396,"nz-form-control",6),A(397,"label",80),m()(),f(398,"nz-form-item")(399,"nz-form-label",6),w(400),m(),f(401,"nz-form-control",6),A(402,"nz-slider",81),f(403,"div"),w(404),m()()(),A(405,"div",47),f(406,"h2",48),w(407),m(),f(408,"nz-form-item")(409,"nz-form-label",6),w(410),m(),f(411,"nz-form-control",6),A(412,"input",82),m()(),f(413,"nz-form-item")(414,"nz-form-label",28),w(415),m(),f(416,"nz-form-control",6),A(417,"label",83),m()(),f(418,"nz-form-item",65)(419,"nz-form-label",6),w(420),m(),f(421,"nz-form-control",6),A(422,"img",84),f(423,"app-upload",10),M("onChange",function(a){return S(r),T(o.onShortcutImgChange(a))}),m(),f(424,"input",85),M("change",function(a){return S(r),T(o.onShortcutImgChange(a))}),m()()(),A(425,"div",47),f(426,"h2",48),w(427),m(),f(428,"nz-form-item",65)(429,"nz-form-label",6),w(430),m(),f(431,"nz-form-control",6)(432,"nz-table",66,4)(434,"thead")(435,"tr")(436,"th"),w(437),m(),f(438,"th"),w(439),m(),f(440,"th"),w(441),m()()(),f(442,"tbody"),C(443,G3e,9,4,"tr",67),m()(),f(444,"a",86),M("click",function(){return S(r),T(o.onAddMirror())}),w(445),m()()(),f(446,"div",87)(447,"button",88),M("click",function(){return S(r),T(o.handleSubmit())}),w(448),m(),f(449,"p",89),w(450),m()()()}if(2&i){const r=Be(51),s=Be(55),a=Be(59),l=Be(63);h("formGroup",o.validateForm),d(2),h("nzSpan",4),d(),D(o.$t("_webLogo")),d(),h("nzSpan",20),d(2),h("src",o.settings.favicon,It),d(2),we(" ",o.$t("_updateLogo")," "),d(3),h("value",o.settings.favicon),d(2),h("nzSpan",4),d(),D(o.$t("_title")),d(),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_webDesc")),d(),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_keywords")),d(),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_defLanguage")),d(),h("nzSpan",10),d(5),h("nzSpan",4),d(2),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_pageLoad")),d(),h("nzSpan",20),d(3),D(o.$t("_random")),d(2),D(o.$t("_noSet")),d(),h("nzPopoverContent",r),d(4),h("nzPopoverContent",s),d(4),h("nzPopoverContent",a),d(4),h("nzPopoverContent",l),d(5),h("nzSpan",4),d(2),h("nzSpan",10),d(),h("nzAutosize",Si(258,Lp)),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_allowCollect")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_enableSEO")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_showGithub")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_showLanguage")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_showRate")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_displaySwitchTheme")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_defTheme")),d(),h("nzSpan",20),d(15),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_appTheme")),d(),h("nzSpan",20),d(3),D(o.$t("_followPage")),d(12),h("nzSpan",4),d(),D(o.$t("_headHtml")),d(),h("nzSpan",10),d(),h("nzAutosize",Si(259,Lp)),d(2),h("nzSpan",4),d(),D(o.$t("_footHtml")),d(),h("nzSpan",10),d(),h("nzAutosize",Si(260,Lp)),d(2),h("nzSpan",4),d(),D(o.$t("_requestAddress")),d(),h("nzSpan",10),d(),h("placeholder",o.$t("_requestTip")),d(3),D(o.$t("_spiderRule")),d(3),D(o.$t("_spiderTip")),d(3),D(o.$t("_spiderNetTip")),d(3),D(o.$t("_spiderBuildTip")),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_spiderTitle")),d(),h("nzSpan",20),d(3),D(o.$t("_notSpider")),d(2),D(o.$t("_spiderEmpty")),d(2),D(o.$t("_spiderAlways")),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_spiderIcon")),d(),h("nzSpan",20),d(3),D(o.$t("_notSpider")),d(2),D(o.$t("_spiderEmpty")),d(2),D(o.$t("_spiderAlways")),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_spiderDesc")),d(),h("nzSpan",20),d(3),D(o.$t("_notSpider")),d(2),D(o.$t("_spiderEmpty")),d(2),D(o.$t("_spiderAlways")),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_spiderStatus")),d(),h("nzSpan",20),d(2),D(o.$t("_checkStatus")),d(2),h("nzSpan",4),d(),D(o.$t("_spiderQty")),d(),h("nzSpan",10),d(),h("nzMin",0)("nzMax",200),d(2),D(o.$t("_spiderQtyTip")),d(3),we("Light ",o.$t("_theme"),""),d(2),h("nzSpan",4),d(),D(o.$t("_cardStyle")),d(),h("nzSpan",10),d(3),D(o.$t("_standard")),d(2),D(o.$t("_column")),d(2),D(o.$t("_simplicity")),d(2),h("nzSpan",4),d(),D(o.$t("_navOver")),d(),h("nzSpan",10),d(3),D(o.$t("_scrollBar")),d(2),D(o.$t("_ellipsis")),d(2),h("nzSpan",4),d(),D(o.$t("_sidebarImg")),d(),h("nzSpan",20),d(),h("nzData",o.settings.lightImages)("nzShowPagination",!1),d(5),D(o.$t("_backgroundImage")),d(2),D(o.$t("_jumpAddr")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.settings.lightImages),d(2),D(o.$t("_add")),d(3),we("Super ",o.$t("_theme"),""),d(2),h("nzSpan",4),d(),D(o.$t("_title")),d(),h("nzSpan",10),d(),h("placeholder",o.$t("_defTitle4")),d(2),h("nzSpan",4),d(),D(o.$t("_cardStyle")),d(),h("nzSpan",10),d(3),D(o.$t("_standard")),d(2),D(o.$t("_column")),d(2),D(o.$t("_simplicity")),d(2),h("nzSpan",4),d(),D(o.$t("_navOver")),d(),h("nzSpan",10),d(3),D(o.$t("_scrollBar")),d(2),D(o.$t("_ellipsis")),d(2),h("nzSpan",4),d(),D(o.$t("_sidebarImg")),d(),h("nzSpan",20),d(),h("nzData",o.settings.superImages)("nzShowPagination",!1),d(5),D(o.$t("_backgroundImage")),d(2),D(o.$t("_jumpAddr")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.settings.superImages),d(2),D(o.$t("_add")),d(3),we("Sim ",o.$t("_theme"),""),d(2),h("nzSpan",4),d(),D(o.$t("_title")),d(),h("nzSpan",10),d(),h("placeholder",o.$t("_defaultTitle")),d(2),h("nzSpan",4),d(),D(o.$t("_cardStyle")),d(),h("nzSpan",10),d(3),D(o.$t("_standard")),d(2),D(o.$t("_column")),d(2),D(o.$t("_simplicity")),d(2),h("nzSpan",4),d(),D(o.$t("_navOver")),d(),h("nzSpan",10),d(3),D(o.$t("_scrollBar")),d(2),D(o.$t("_ellipsis")),d(2),h("nzSpan",4),d(2),h("nzSpan",20),d(),h("nzData",o.settings.simThemeImages)("nzShowPagination",!1),d(5),D(o.$t("_backgroundImage")),d(2),D(o.$t("_jumpAddr")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.settings.simThemeImages),d(2),D(o.$t("_add")),d(2),h("nzSpan",4),d(),D(o.$t("_autoPlay")),d(),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_bannerHeight")),d(),h("nzSpan",10),d(),h("nzMin",0)("nzMax",1e3),d(2),D(o.$t("_bannerTip")),d(2),h("nzSpan",4),d(),D(o.$t("_desc")),d(),h("nzSpan",10),d(),h("nzAutosize",Si(261,Lp)),d(3),we("Side ",o.$t("_theme"),""),d(2),h("nzSpan",4),d(),D(o.$t("_sidebarTitle")),d(),h("nzSpan",10),d(),h("placeholder",o.$t("_defTitle4")),d(2),h("nzSpan",4),d(),D(o.$t("_cardStyle")),d(),h("nzSpan",10),d(3),D(o.$t("_standard")),d(2),D(o.$t("_column")),d(2),D(o.$t("_simplicity")),d(2),h("nzSpan",4),d(2),h("nzSpan",20),d(),h("nzData",o.settings.sideThemeImages)("nzShowPagination",!1),d(5),D(o.$t("_backgroundImage")),d(2),D(o.$t("_jumpAddr")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.settings.sideThemeImages),d(2),D(o.$t("_add")),d(2),h("nzSpan",4),d(),D(o.$t("_autoPlay")),d(),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_bannerHeight")),d(),h("nzSpan",10),d(),h("nzMin",0)("nzMax",1e3),d(2),D(o.$t("_bannerTip")),d(3),we("Shortcut ",o.$t("_theme"),""),d(2),h("nzSpan",4),d(),D(o.$t("_title")),d(),h("nzSpan",10),d(),h("placeholder",o.$t("_defaultTitle")),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_showWeather")),d(),h("nzSpan",20),d(3),h("nzSpan",4),d(),D(o.$t("_backgroundImage")),d(),h("nzSpan",10),d(),h("src",o.settings.shortcutThemeImages[0].src,It),d(2),h("value",o.settings.shortcutThemeImages[0].src),d(3),la("",o.$t("_mirrorList"),"",o.$t("_ignore"),""),d(2),h("nzSpan",4),d(),D(o.$t("_mirrorList")),d(),h("nzSpan",20),d(),h("nzData",o.settings.mirrorList)("nzShowPagination",!1),d(5),D(o.$t("_mirrorAddr")),d(2),D(o.$t("_mirrorName")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.settings.mirrorList),d(2),D(o.$t("_add")),d(2),h("nzLoading",o.submitting),d(),we(" ",o.$t("_save")," "),d(2),D(o.$t("_setSaveTip"))}},dependencies:[zn,Gs,bO,UO,whe,Vl,Nl,D1,wl,F2,Np,Rp,Fp,nr,mi,tr,Sp,wr,Zi,gp,R1,L1,H1,U1,V2,Y1,N2,Hl,W1,Rl,w3e,fP,dP],styles:["#file[_ngcontent-%COMP%]{cursor:pointer}#file[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{display:none}#file[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:50px;height:50px}.preview[_ngcontent-%COMP%]{width:300px}.save-tip[_ngcontent-%COMP%]{margin-top:10px;color:#f50;font-weight:700}.divider[_ngcontent-%COMP%]{height:1px;width:100%;margin:20px 0;background-color:#eee}.title[_ngcontent-%COMP%]{margin-bottom:20px}.sim-ban[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;width:100px;min-height:60px;object-fit:cover;margin-right:20px;border:1px solid #eee}.sim-ban[_ngcontent-%COMP%] .anticon{font-size:30px}.logo-input[_ngcontent-%COMP%]{display:block!important;width:518px;margin-top:5px}.bottom-bar[_ngcontent-%COMP%]{z-index:3;position:sticky;bottom:0;left:0;padding:10px 0 10px 200px;background-color:#fff;box-shadow:0 0 10px #ccc;margin-top:80px;border-radius:8px;display:flex;align-items:center}"]})}return t})();var Q3e=fe(578);function K3e(t,n){if(1&t&&(Ye(0),A(1,"span",1),Ue()),2&t){const e=n.$implicit;d(),h("nzType",e)}}const $3e=()=>({minWidth:"46px"}),J3e=()=>({visible:!1});function Z3e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g().$implicit;d(),we(" ",e.tab.label," ")}}function X3e(t,n){if(1&t){const e=W();f(0,"li",8),M("click",function(){const o=S(e).$implicit;return T(g(2).onSelect(o))})("contextmenu",function(o){const r=S(e).$implicit;return T(g(2).onContextmenu(r,o))}),C(1,Z3e,2,1,"ng-container",9),m()}if(2&t){const e=n.$implicit;Z("ant-tabs-dropdown-menu-item-disabled",e.disabled),h("nzSelected",e.active)("nzDisabled",e.disabled),d(),h("nzStringTemplateOutlet",e.tab.label)("nzStringTemplateOutletContext",Si(6,J3e))}}function epe(t,n){if(1&t&&(f(0,"ul",6),C(1,X3e,2,7,"li",7),m()),2&t){const e=g();d(),h("ngForOf",e.items)}}function tpe(t,n){if(1&t){const e=W();f(0,"button",10),M("click",function(){return S(e),T(g().addClicked.emit())}),m()}2&t&&h("addIcon",g().addIcon)}const npe=["navWarp"],ipe=["navList"],ope=["*"];function rpe(t,n){if(1&t){const e=W();f(0,"button",8),M("click",function(){return S(e),T(g().addClicked.emit())}),m()}2&t&&(h("addIcon",g().addIcon),Ot("tabindex",-1))}function spe(t,n){}function ape(t,n){if(1&t&&(f(0,"div",9),C(1,spe,0,0,"ng-template",10),m()),2&t){const e=g();d(),h("ngTemplateOutlet",e.extraTemplate)}}const lpe=["nz-tab-body",""];function cpe(t,n){}function dpe(t,n){if(1&t&&(Ye(0),C(1,cpe,0,0,"ng-template",1),Ue()),2&t){const e=g();d(),h("ngTemplateOutlet",e.content)}}function upe(t,n){if(1&t&&(Ye(0),A(1,"span",1),Ue()),2&t){const e=n.$implicit;d(),h("nzType",e)}}const hpe=["contentTemplate"],ppe=[[["","nz-tab-link",""]],"*"],fpe=["[nz-tab-link]","*"];function mpe(t,n){1&t&&_t(0)}function gpe(t,n){1&t&&_t(0,1)}const vpe=()=>({visible:!0});function bpe(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g().$implicit;d(),D(e.label)}}function _pe(t,n){if(1&t){const e=W();f(0,"button",10),M("click",function(o){S(e);const r=g().index;return T(g(2).onClose(r,o))}),m()}2&t&&h("closeIcon",g().$implicit.nzCloseIcon)}function ype(t,n){if(1&t){const e=W();f(0,"div",6),M("click",function(o){const r=S(e),s=r.$implicit,a=r.index;return T(g(2).clickNavItem(s,a,o))})("contextmenu",function(o){const r=S(e).$implicit;return T(g(2).contextmenuNavItem(r,o))}),f(1,"button",7),C(2,bpe,2,1,"ng-container",8)(3,_pe,1,1,"button",9),m()()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);Lt("margin-right","horizontal"===o.position?o.nzTabBarGutter:null,"px")("margin-bottom","vertical"===o.position?o.nzTabBarGutter:null,"px"),Z("ant-tabs-tab-active",o.nzSelectedIndex===i)("ant-tabs-tab-disabled",e.nzDisabled),d(),h("id",o.getTabContentId(i))("disabled",e.nzDisabled)("tab",e)("active",o.nzSelectedIndex===i),Ot("tabIndex",o.getTabIndex(e,i))("aria-disabled",e.nzDisabled)("aria-selected",o.nzSelectedIndex===i&&!o.nzHideAll)("aria-controls",o.getTabContentId(i)),d(),h("nzStringTemplateOutlet",e.label)("nzStringTemplateOutletContext",Si(19,vpe)),d(),h("ngIf",e.nzClosable&&o.closable&&!e.nzDisabled)}}function wpe(t,n){if(1&t){const e=W();f(0,"nz-tabs-nav",4),M("tabScroll",function(o){return S(e),T(g().nzTabListScroll.emit(o))})("selectFocusedIndex",function(o){return S(e),T(g().setSelectedIndex(o))})("addClicked",function(){return S(e),T(g().onAdd())}),C(1,ype,4,20,"div",5),m()}if(2&t){const e=g();h("ngStyle",e.nzTabBarStyle)("selectedIndex",e.nzSelectedIndex||0)("inkBarAnimated",e.inkBarAnimated)("addable",e.addable)("addIcon",e.nzAddIcon)("hideBar",e.nzHideAll)("position",e.position)("extraTemplate",e.nzTabBarExtraContent),d(),h("ngForOf",e.tabs)}}function Cpe(t,n){if(1&t&&A(0,"div",11),2&t){const e=n.$implicit,i=n.index,o=g();h("id",o.getTabContentId(i))("active",o.nzSelectedIndex===i&&!o.nzHideAll)("content",e.content)("forceRender",e.nzForceRender)("animated",o.tabPaneAnimated),Ot("aria-labelledby",o.getTabContentId(i))}}let R2=(()=>{class t{constructor(e){this.elementRef=e,this.addIcon="plus",this.element=this.elementRef.nativeElement}getElementWidth(){return this.element?.offsetWidth||0}getElementHeight(){return this.element?.offsetHeight||0}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tab-add-button"],["button","nz-tab-add-button",""]],hostAttrs:["aria-label","Add tab","type","button",1,"ant-tabs-nav-add"],inputs:{addIcon:"addIcon"},standalone:!0,features:[me],decls:1,vars:1,consts:[[4,"nzStringTemplateOutlet"],["nz-icon","","nzTheme","outline",3,"nzType"]],template:function(i,o){1&i&&C(0,K3e,2,1,"ng-container",0),2&i&&h("nzStringTemplateOutlet",o.addIcon)},dependencies:[Sn,An,In,ln],encapsulation:2})}return t})(),Iv=(()=>{class t{get _animated(){return"NoopAnimations"!==this.animationMode&&this.animated}constructor(e,i,o){this.elementRef=e,this.ngZone=i,this.animationMode=o,this.position="horizontal",this.animated=!0}alignToElement(e){this.ngZone.runOutsideAngular(()=>{p2(()=>this.setStyles(e))})}setStyles(e){const i=this.elementRef.nativeElement;"horizontal"===this.position?(i.style.top="",i.style.height="",i.style.left=this.getLeftPosition(e),i.style.width=this.getElementWidth(e)):(i.style.left="",i.style.width="",i.style.top=this.getTopPosition(e),i.style.height=this.getElementHeight(e))}getLeftPosition(e){return e?`${e.offsetLeft||0}px`:"0"}getElementWidth(e){return e?`${e.offsetWidth||0}px`:"0"}getTopPosition(e){return e?`${e.offsetTop||0}px`:"0"}getElementHeight(e){return e?`${e.offsetHeight||0}px`:"0"}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Me),v(ta,8))};static#t=this.\u0275dir=de({type:t,selectors:[["nz-tabs-ink-bar"],["","nz-tabs-ink-bar",""]],hostAttrs:[1,"ant-tabs-ink-bar"],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-tabs-ink-bar-animated",o._animated)},inputs:{position:"position",animated:"animated"},standalone:!0})}return t})(),Ov=(()=>{class t{constructor(e){this.elementRef=e,this.disabled=!1,this.active=!1,this.el=e.nativeElement,this.parentElement=this.el.parentElement}focus(){this.el.focus()}get width(){return this.parentElement.offsetWidth}get height(){return this.parentElement.offsetHeight}get left(){return this.parentElement.offsetLeft}get top(){return this.parentElement.offsetTop}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzTabNavItem",""]],inputs:{disabled:[2,"disabled","disabled",I],tab:"tab",active:[2,"active","active",I]},standalone:!0,features:[je]})}return t})(),Bp=(()=>{class t{constructor(e,i){this.cdr=e,this.elementRef=i,this.items=[],this.addable=!1,this.addIcon="plus",this.addClicked=new B,this.selected=new B,this.menuOpened=!1,this.element=this.elementRef.nativeElement}onSelect(e){e.disabled||(e.tab.nzClick.emit(),this.selected.emit(e))}onContextmenu(e,i){e.disabled||e.tab.nzContextmenu.emit(i)}showItems(){clearTimeout(this.closeAnimationWaitTimeoutId),this.menuOpened=!0,this.cdr.markForCheck()}menuVisChange(e){e||(this.closeAnimationWaitTimeoutId=setTimeout(()=>{this.menuOpened=!1,this.cdr.markForCheck()},150))}getElementWidth(){return this.element?.offsetWidth||0}getElementHeight(){return this.element?.offsetHeight||0}ngOnDestroy(){clearTimeout(this.closeAnimationWaitTimeoutId)}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Se))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tab-nav-operation"]],hostAttrs:[1,"ant-tabs-nav-operations"],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-tabs-nav-operations-hidden",0===o.items.length)},inputs:{items:"items",addable:[2,"addable","addable",I],addIcon:"addIcon"},outputs:{addClicked:"addClicked",selected:"selected"},exportAs:["nzTabNavOperation"],standalone:!0,features:[je,me],decls:7,vars:6,consts:[["dropdownTrigger","nzDropdown"],["menu","nzDropdownMenu"],["nz-dropdown","","type","button","tabindex","-1","aria-hidden","true","nzOverlayClassName","nz-tabs-dropdown",1,"ant-tabs-nav-more",3,"nzVisibleChange","mouseenter","nzDropdownMenu","nzOverlayStyle","nzMatchWidthElement"],["nz-icon","","nzType","ellipsis"],["nz-menu","",4,"ngIf"],["nz-tab-add-button","",3,"addIcon","click",4,"ngIf"],["nz-menu",""],["nz-menu-item","","class","ant-tabs-dropdown-menu-item",3,"ant-tabs-dropdown-menu-item-disabled","nzSelected","nzDisabled","click","contextmenu",4,"ngFor","ngForOf"],["nz-menu-item","",1,"ant-tabs-dropdown-menu-item",3,"click","contextmenu","nzSelected","nzDisabled"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],["nz-tab-add-button","",3,"click","addIcon"]],template:function(i,o){if(1&i){const r=W();f(0,"button",2,0),M("nzVisibleChange",function(a){return S(r),T(o.menuVisChange(a))})("mouseenter",function(){return S(r),T(o.showItems())}),A(2,"span",3),m(),f(3,"nz-dropdown-menu",null,1),C(5,epe,2,1,"ul",4),m(),C(6,tpe,1,1,"button",5)}2&i&&(h("nzDropdownMenu",Be(4))("nzOverlayStyle",Si(5,$3e))("nzMatchWidthElement",null),d(5),h("ngIf",o.menuOpened),d(),h("ngIf",o.addable))},dependencies:[In,ln,St,zn,Sn,An,R2,w2,R7,Aa,Ws,V1],encapsulation:2,changeDetection:0})}return t})();const vP=.995**20;let bP=(()=>{class t{constructor(e,i){this.ngZone=e,this.elementRef=i,this.lastWheelDirection=null,this.lastWheelTimestamp=0,this.lastTimestamp=0,this.lastTimeDiff=0,this.lastMixedWheel=0,this.lastWheelPrevent=!1,this.touchPosition=null,this.lastOffset=null,this.motion=-1,this.unsubscribe=()=>{},this.offsetChange=new B,this.tabScroll=new B,this.onTouchEnd=o=>{if(!this.touchPosition)return;const r=this.lastOffset,s=this.lastTimeDiff;if(this.lastOffset=this.touchPosition=null,r){const a=r.x/s,l=r.y/s,c=Math.abs(a),u=Math.abs(l);if(Math.max(c,u)<.1)return;let p=a,b=l;this.motion=window.setInterval(()=>{Math.abs(p)<.01&&Math.abs(b)<.01?window.clearInterval(this.motion):(p*=vP,b*=vP,this.onOffset(20*p,20*b,o))},20)}},this.onTouchMove=o=>{if(!this.touchPosition)return;o.preventDefault();const{screenX:r,screenY:s}=o.touches[0],a=r-this.touchPosition.x,l=s-this.touchPosition.y;this.onOffset(a,l,o);const c=Date.now();this.lastTimeDiff=c-this.lastTimestamp,this.lastTimestamp=c,this.lastOffset={x:a,y:l},this.touchPosition={x:r,y:s}},this.onTouchStart=o=>{const{screenX:r,screenY:s}=o.touches[0];this.touchPosition={x:r,y:s},window.clearInterval(this.motion)},this.onWheel=o=>{const{deltaX:r,deltaY:s}=o;let a;const l=Math.abs(r),c=Math.abs(s);l===c?a="x"===this.lastWheelDirection?r:s:l>c?(a=r,this.lastWheelDirection="x"):(a=s,this.lastWheelDirection="y");const u=Date.now(),p=Math.abs(a);(u-this.lastWheelTimestamp>100||p-this.lastMixedWheel>10)&&(this.lastWheelPrevent=!1),this.onOffset(-a,-a,o),(o.defaultPrevented||this.lastWheelPrevent)&&(this.lastWheelPrevent=!0),this.lastWheelTimestamp=u,this.lastMixedWheel=p}}ngOnInit(){this.unsubscribe=this.ngZone.runOutsideAngular(()=>{const e=this.elementRef.nativeElement,i=nn(e,"wheel"),o=nn(e,"touchstart"),r=nn(e,"touchmove"),s=nn(e,"touchend"),a=new Ft;return a.add(this.subscribeWrap("wheel",i,this.onWheel)),a.add(this.subscribeWrap("touchstart",o,this.onTouchStart)),a.add(this.subscribeWrap("touchmove",r,this.onTouchMove)),a.add(this.subscribeWrap("touchend",s,this.onTouchEnd)),()=>{a.unsubscribe()}})}subscribeWrap(e,i,o){return i.subscribe(r=>{this.tabScroll.emit({type:e,event:r}),r.defaultPrevented||o(r)})}onOffset(e,i,o){this.ngZone.run(()=>{this.offsetChange.emit({x:e,y:i,event:o})})}ngOnDestroy(){this.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzTabScrollList",""]],outputs:{offsetChange:"offsetChange",tabScroll:"tabScroll"},standalone:!0})}return t})();const Ape=typeof requestAnimationFrame<"u"?b7:y7;let jp=(()=>{class t{get selectedIndex(){return this._selectedIndex}set selectedIndex(e){const i=Rs(e);this._selectedIndex!==i&&(this._selectedIndex=e,this.selectedIndexChanged=!0,this.keyManager&&this.keyManager.updateActiveItem(e))}get focusIndex(){return this.keyManager?this.keyManager.activeItemIndex:0}set focusIndex(e){!this.isValidIndex(e)||this.focusIndex===e||!this.keyManager||this.keyManager.setActiveItem(e)}get showAddButton(){return 0===this.hiddenItems.length&&this.addable}constructor(e,i,o,r,s){this.cdr=e,this.ngZone=i,this.viewportRuler=o,this.nzResizeObserver=r,this.dir=s,this.indexFocused=new B,this.selectFocusedIndex=new B,this.addClicked=new B,this.tabScroll=new B,this.position="horizontal",this.addable=!1,this.hideBar=!1,this.addIcon="plus",this.inkBarAnimated=!0,this.translate=null,this.transformX=0,this.transformY=0,this.pingLeft=!1,this.pingRight=!1,this.pingTop=!1,this.pingBottom=!1,this.hiddenItems=[],this.destroy$=new V,this._selectedIndex=0,this.wrapperWidth=0,this.wrapperHeight=0,this.scrollListWidth=0,this.scrollListHeight=0,this.operationWidth=0,this.operationHeight=0,this.addButtonWidth=0,this.addButtonHeight=0,this.selectedIndexChanged=!1}ngAfterViewInit(){const e=this.dir?this.dir.change.asObservable():Ge(null),i=this.viewportRuler.change(150),o=()=>{this.updateScrollListPosition(),this.alignInkBarToSelectedTab()};this.keyManager=new _se(this.items).withHorizontalOrientation(this.getLayoutDirection()).withWrap(),this.keyManager.updateActiveItem(this.selectedIndex),p2(o),On(this.nzResizeObserver.observe(this.navWarpRef),this.nzResizeObserver.observe(this.navListRef)).pipe(P(this.destroy$),bl(16,Ape)).subscribe(()=>{o()}),On(e,i,this.items.changes).pipe(P(this.destroy$)).subscribe(()=>{Promise.resolve().then(o),this.keyManager.withHorizontalOrientation(this.getLayoutDirection())}),this.keyManager.change.pipe(P(this.destroy$)).subscribe(r=>{this.indexFocused.emit(r),this.setTabFocus(r),this.scrollToTab(this.keyManager.activeItem)})}ngAfterContentChecked(){this.selectedIndexChanged&&(this.updateScrollListPosition(),this.alignInkBarToSelectedTab(),this.selectedIndexChanged=!1,this.cdr.markForCheck())}ngOnDestroy(){clearTimeout(this.lockAnimationTimeoutId),clearTimeout(this.cssTransformTimeWaitingId),this.destroy$.next(),this.destroy$.complete()}onSelectedFromMenu(e){const i=this.items.toArray().findIndex(o=>o===e);-1!==i&&(this.keyManager.updateActiveItem(i),this.focusIndex!==this.selectedIndex&&(this.selectFocusedIndex.emit(this.focusIndex),this.scrollToTab(e)))}onOffsetChange(e){if("horizontal"===this.position){if(!this.lockAnimationTimeoutId&&(this.transformX>=0&&e.x>0||this.transformX<=this.wrapperWidth-this.scrollListWidth&&e.x<0))return;e.event.preventDefault(),this.transformX=this.clampTransformX(this.transformX+e.x),this.setTransform(this.transformX,0)}else{if(!this.lockAnimationTimeoutId&&(this.transformY>=0&&e.y>0||this.transformY<=this.wrapperHeight-this.scrollListHeight&&e.y<0))return;e.event.preventDefault(),this.transformY=this.clampTransformY(this.transformY+e.y),this.setTransform(0,this.transformY)}this.lockAnimation(),this.setVisibleRange(),this.setPingStatus()}handleKeydown(e){const i=this.navWarpRef.nativeElement.contains(e.target);if(!c2(e)&&i)switch(e.keyCode){case 37:case 38:case 39:case 40:this.lockAnimation(),this.keyManager.onKeydown(e);break;case 13:case 32:this.focusIndex!==this.selectedIndex&&this.selectFocusedIndex.emit(this.focusIndex);break;default:this.keyManager.onKeydown(e)}}isValidIndex(e){if(!this.items)return!0;const i=this.items?this.items.toArray()[e]:null;return!!i&&!i.disabled}scrollToTab(e){if(!this.items.find(o=>o===e))return;const i=this.items.toArray();if("horizontal"===this.position){let o=this.transformX;if("rtl"===this.getLayoutDirection()){const r=i[0].left+i[0].width-e.left-e.width;rthis.transformX+this.wrapperWidth&&(o=r+e.width-this.wrapperWidth)}else e.left<-this.transformX?o=-e.left:e.left+e.width>-this.transformX+this.wrapperWidth&&(o=-(e.left+e.width-this.wrapperWidth));this.transformX=o,this.transformY=0,this.setTransform(o,0)}else{let o=this.transformY;e.top<-this.transformY?o=-e.top:e.top+e.height>-this.transformY+this.wrapperHeight&&(o=-(e.top+e.height-this.wrapperHeight)),this.transformY=o,this.transformX=0,this.setTransform(0,o)}clearTimeout(this.cssTransformTimeWaitingId),this.cssTransformTimeWaitingId=setTimeout(()=>{this.setVisibleRange()},150)}lockAnimation(){this.lockAnimationTimeoutId||this.ngZone.runOutsideAngular(()=>{this.navListRef.nativeElement.style.transition="none",this.lockAnimationTimeoutId=setTimeout(()=>{this.navListRef.nativeElement.style.transition="",this.lockAnimationTimeoutId=void 0},150)})}setTransform(e,i){this.navListRef.nativeElement.style.transform=`translate(${e}px, ${i}px)`}clampTransformX(e){const i=this.wrapperWidth-this.scrollListWidth;return"rtl"===this.getLayoutDirection()?Math.max(Math.min(i,e),0):Math.min(Math.max(i,e),0)}clampTransformY(e){return Math.min(Math.max(this.wrapperHeight-this.scrollListHeight,e),0)}updateScrollListPosition(){this.resetSizes(),this.transformX=this.clampTransformX(this.transformX),this.transformY=this.clampTransformY(this.transformY),this.setVisibleRange(),this.setPingStatus(),this.keyManager&&(this.keyManager.updateActiveItem(this.keyManager.activeItemIndex),this.keyManager.activeItem&&this.scrollToTab(this.keyManager.activeItem))}resetSizes(){this.addButtonWidth=this.addBtnRef?this.addBtnRef.getElementWidth():0,this.addButtonHeight=this.addBtnRef?this.addBtnRef.getElementHeight():0,this.operationWidth=this.operationRef.getElementWidth(),this.operationHeight=this.operationRef.getElementHeight(),this.wrapperWidth=this.navWarpRef.nativeElement.offsetWidth||0,this.wrapperHeight=this.navWarpRef.nativeElement.offsetHeight||0,this.scrollListHeight=this.navListRef.nativeElement.offsetHeight||0,this.scrollListWidth=this.navListRef.nativeElement.offsetWidth||0}alignInkBarToSelectedTab(){const e=this.items&&this.items.length?this.items.toArray()[this.selectedIndex]:null,i=e?e.elementRef.nativeElement:null;i&&this.inkBar.alignToElement(i.parentElement)}setPingStatus(){const e={top:!1,right:!1,bottom:!1,left:!1},i=this.navWarpRef.nativeElement;"horizontal"===this.position?"rtl"===this.getLayoutDirection()?(e.right=this.transformX>0,e.left=this.transformX+this.wrapperWidth{const r=`ant-tabs-nav-wrap-ping-${o}`;e[o]?i.classList.add(r):i.classList.remove(r)})}setVisibleRange(){let e,i,o,r,s,a;const l=this.items.toArray(),c={width:0,height:0,left:0,top:0,right:0},u=x=>{let k;return k="right"===i?l[0].left+l[0].width-l[x].left-l[x].width:(l[x]||c)[i],k};"horizontal"===this.position?(e="width",r=this.wrapperWidth,s=this.scrollListWidth-(this.hiddenItems.length?this.operationWidth:0),a=this.addButtonWidth,o=Math.abs(this.transformX),"rtl"===this.getLayoutDirection()?(i="right",this.pingRight=this.transformX>0,this.pingLeft=this.transformX+this.wrapperWidthr&&(p=r-a),!l.length)return this.hiddenItems=[],void this.cdr.markForCheck();const b=l.length;let _=b;for(let x=0;xo+p){_=x-1;break}let y=0;for(let x=b-1;x>=0;x-=1)if(u(x){class t{constructor(){this.content=null,this.active=!1,this.animated=!0,this.forceRender=!1,this.hasBeenActive=!1}ngOnChanges(e){const{active:i}=e;i?.currentValue&&(this.hasBeenActive=!0)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-tab-body",""]],hostAttrs:[1,"ant-tabs-tabpane"],hostVars:10,hostBindings:function(i,o){2&i&&(ol("@tabSwitchMotion",o.active?"enter":"leave")("@.disabled",!o.animated),Ot("tabindex",o.active?0:-1)("aria-hidden",!o.active),Lt("overflow-y",o.animated?o.active?null:"none":null),Z("ant-tabs-tabpane-active",o.active)("ant-tabs-tabpane-hidden",o.animated?null:!o.active))},inputs:{content:"content",active:"active",animated:"animated",forceRender:"forceRender"},exportAs:["nzTabBody"],standalone:!0,features:[xe,me],attrs:lpe,decls:1,vars:1,consts:[[4,"ngIf"],[3,"ngTemplateOutlet"]],template:function(i,o){1&i&&C(0,dpe,2,1,"ng-container",0),2&i&&h("ngIf",o.hasBeenActive||o.forceRender)},dependencies:[St,Nn],encapsulation:2,data:{animation:[$ne]},changeDetection:0})}return t})(),Pv=(()=>{class t{constructor(){this.closeIcon="close"}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tab-close-button"],["button","nz-tab-close-button",""]],hostAttrs:["aria-label","Close tab","type","button",1,"ant-tabs-tab-remove"],inputs:{closeIcon:"closeIcon"},standalone:!0,features:[me],decls:1,vars:1,consts:[[4,"nzStringTemplateOutlet"],["nz-icon","","nzTheme","outline",3,"nzType"]],template:function(i,o){1&i&&C(0,upe,2,1,"ng-container",0),2&i&&h("nzStringTemplateOutlet",o.closeIcon)},dependencies:[Sn,An,In,ln],encapsulation:2})}return t})(),wP=(()=>{class t{constructor(e){this.templateRef=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(qt,1))};static#t=this.\u0275dir=de({type:t,selectors:[["ng-template","nzTabLink",""]],exportAs:["nzTabLinkTemplate"],standalone:!0})}return t})(),CP=(()=>{class t{constructor(e,i){this.elementRef=e,this.routerLink=i}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(_1,10))};static#t=this.\u0275dir=de({type:t,selectors:[["a","nz-tab-link",""]],exportAs:["nzTabLink"],standalone:!0})}return t})(),zP=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-tab",""]],exportAs:["nzTab"],standalone:!0})}return t})();const AP=new oe("NZ_TAB_SET");let Vv=(()=>{class t{get content(){return this.template||this.contentTemplate}get label(){return this.nzTitle||this.nzTabLinkTemplateDirective?.templateRef}constructor(e){this.closestTabSet=e,this.nzTitle="",this.nzClosable=!1,this.nzCloseIcon="close",this.nzDisabled=!1,this.nzForceRender=!1,this.nzSelect=new B,this.nzDeselect=new B,this.nzClick=new B,this.nzContextmenu=new B,this.template=null,this.isActive=!1,this.position=null,this.origin=null,this.stateChanges=new V}ngOnChanges(e){const{nzTitle:i,nzDisabled:o,nzForceRender:r}=e;(i||o||r)&&this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(AP))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tab"]],contentQueries:function(i,o,r){if(1&i&&(fn(r,wP,5),fn(r,zP,5,qt),fn(r,CP,5)),2&i){let s;ke(s=Ie())&&(o.nzTabLinkTemplateDirective=s.first),ke(s=Ie())&&(o.template=s.first),ke(s=Ie())&&(o.linkDirective=s.first)}},viewQuery:function(i,o){if(1&i&&ft(hpe,7),2&i){let r;ke(r=Ie())&&(o.contentTemplate=r.first)}},inputs:{nzTitle:"nzTitle",nzClosable:[2,"nzClosable","nzClosable",I],nzCloseIcon:"nzCloseIcon",nzDisabled:[2,"nzDisabled","nzDisabled",I],nzForceRender:[2,"nzForceRender","nzForceRender",I]},outputs:{nzSelect:"nzSelect",nzDeselect:"nzDeselect",nzClick:"nzClick",nzContextmenu:"nzContextmenu"},exportAs:["nzTab"],standalone:!0,features:[je,xe,me],ngContentSelectors:fpe,decls:4,vars:0,consts:[["tabLinkTemplate",""],["contentTemplate",""]],template:function(i,o){1&i&&(Et(ppe),C(0,mpe,1,0,"ng-template",null,0,ot)(2,gpe,1,0,"ng-template",null,1,ot))},encapsulation:2,changeDetection:0})}return t})();class Spe{}let Mpe=0,Nv=(()=>{class t{get nzSelectedIndex(){return this.selectedIndex}set nzSelectedIndex(e){this.indexToSelect=Rs(e,null)}get position(){return-1===["top","bottom"].indexOf(this.nzTabPosition)?"vertical":"horizontal"}get addable(){return"editable-card"===this.nzType&&!this.nzHideAdd}get closable(){return"editable-card"===this.nzType}get line(){return"line"===this.nzType}get inkBarAnimated(){return this.line&&("boolean"==typeof this.nzAnimated?this.nzAnimated:this.nzAnimated.inkBar)}get tabPaneAnimated(){return"boolean"==typeof this.nzAnimated?this.nzAnimated:this.nzAnimated.tabPane}constructor(e,i,o,r,s){this.nzConfigService=e,this.ngZone=i,this.cdr=o,this.directionality=r,this.router=s,this._nzModuleName="tabs",this.nzTabPosition="top",this.nzCanDeactivate=null,this.nzAddIcon="plus",this.nzTabBarStyle=null,this.nzType="line",this.nzSize="default",this.nzAnimated=!0,this.nzTabBarGutter=void 0,this.nzHideAdd=!1,this.nzCentered=!1,this.nzHideAll=!1,this.nzLinkRouter=!1,this.nzLinkExact=!0,this.nzSelectChange=new B(!0),this.nzSelectedIndexChange=new B,this.nzTabListScroll=new B,this.nzClose=new B,this.nzAdd=new B,this.allTabs=new Wa,this.tabs=new Wa,this.dir="ltr",this.destroy$=new V,this.indexToSelect=0,this.selectedIndex=null,this.tabLabelSubscription=Ft.EMPTY,this.tabsSubscription=Ft.EMPTY,this.canDeactivateSubscription=Ft.EMPTY,this.tabSetId=Mpe++}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.tabs.destroy(),this.tabLabelSubscription.unsubscribe(),this.tabsSubscription.unsubscribe(),this.canDeactivateSubscription.unsubscribe()}ngAfterContentInit(){this.ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>this.setUpRouter())}),this.subscribeToTabLabels(),this.subscribeToAllTabChanges(),this.tabsSubscription=this.tabs.changes.subscribe(()=>{if(this.clampTabIndex(this.indexToSelect)===this.selectedIndex){const i=this.tabs.toArray();for(let o=0;o{this.tabs.forEach((o,r)=>o.isActive=r===e),i||this.nzSelectedIndexChange.emit(e)})}this.tabs.forEach((i,o)=>{i.position=o-e,null!=this.selectedIndex&&0===i.position&&!i.origin&&(i.origin=e-this.selectedIndex)}),this.selectedIndex!==e&&(this.selectedIndex=e,this.cdr.markForCheck())}onClose(e,i){i.preventDefault(),i.stopPropagation(),this.nzClose.emit({index:e})}onAdd(){this.nzAdd.emit()}clampTabIndex(e){return Math.min(this.tabs.length-1,Math.max(e||0,0))}createChangeEvent(e){const i=new Spe;return i.index=e,this.tabs&&this.tabs.length&&(i.tab=this.tabs.toArray()[e],this.tabs.forEach((o,r)=>{r!==e&&o.nzDeselect.emit()}),i.tab.nzSelect.emit()),i}subscribeToTabLabels(){this.tabLabelSubscription&&this.tabLabelSubscription.unsubscribe(),this.tabLabelSubscription=On(...this.tabs.map(e=>e.stateChanges)).subscribe(()=>this.cdr.markForCheck())}subscribeToAllTabChanges(){this.allTabs.changes.pipe(gn(this.allTabs)).subscribe(e=>{this.tabs.reset(e.filter(i=>i.closestTabSet===this)),this.tabs.notifyOnChanges()})}canDeactivateFun(e,i){return"function"==typeof this.nzCanDeactivate?_E(this.nzCanDeactivate(e,i)).pipe(Vs(),P(this.destroy$)):Ge(!0)}clickNavItem(e,i,o){e.nzDisabled||(e.nzClick.emit(),this.isRouterLinkClickEvent(i,o)||this.setSelectedIndex(i))}isRouterLinkClickEvent(e,i){const o=i.target;return!!this.nzLinkRouter&&!!this.tabs.toArray()[e]?.linkDirective?.elementRef.nativeElement.contains(o)}contextmenuNavItem(e,i){e.nzDisabled||e.nzContextmenu.emit(i)}setSelectedIndex(e){this.canDeactivateSubscription.unsubscribe(),this.canDeactivateSubscription=this.canDeactivateFun(this.selectedIndex,e).subscribe(i=>{i&&(this.nzSelectedIndex=e,this.tabNavBarRef.focusIndex=e,this.cdr.markForCheck())})}getTabIndex(e,i){return e.nzDisabled?null:this.selectedIndex===i?0:-1}getTabContentId(e){return`nz-tabs-${this.tabSetId}-tab-${e}`}setUpRouter(){if(this.nzLinkRouter){if(!this.router)throw new Error(`${k3} you should import 'RouterModule' if you want to use 'nzLinkRouter'!`);this.router.events.pipe(P(this.destroy$),yt(e=>e instanceof Hr),gn(!0),C2(0)).subscribe(()=>{this.updateRouterActive(),this.cdr.markForCheck()})}}updateRouterActive(){if(this.router.navigated){const e=this.findShouldActiveTabIndex();e!==this.selectedIndex&&this.setSelectedIndex(e),this.nzHideAll=-1===e}}findShouldActiveTabIndex(){const e=this.tabs.toArray(),i=this.isLinkActive(this.router);return e.findIndex(o=>{const r=o.linkDirective;return!!r&&i(r.routerLink)})}isLinkActive(e){return i=>!!i&&e.isActive(i.urlTree||"",{paths:this.nzLinkExact?"exact":"subset",queryParams:this.nzLinkExact?"exact":"subset",fragment:"ignored",matrixParams:"ignored"})}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Me),v(We),v(Ct,8),v(oi,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tabset"]],contentQueries:function(i,o,r){if(1&i&&fn(r,Vv,5),2&i){let s;ke(s=Ie())&&(o.allTabs=s)}},viewQuery:function(i,o){if(1&i&&ft(jp,5),2&i){let r;ke(r=Ie())&&(o.tabNavBarRef=r.first)}},hostAttrs:[1,"ant-tabs"],hostVars:24,hostBindings:function(i,o){2&i&&Z("ant-tabs-card","card"===o.nzType||"editable-card"===o.nzType)("ant-tabs-editable","editable-card"===o.nzType)("ant-tabs-editable-card","editable-card"===o.nzType)("ant-tabs-centered",o.nzCentered)("ant-tabs-rtl","rtl"===o.dir)("ant-tabs-top","top"===o.nzTabPosition)("ant-tabs-bottom","bottom"===o.nzTabPosition)("ant-tabs-left","left"===o.nzTabPosition)("ant-tabs-right","right"===o.nzTabPosition)("ant-tabs-default","default"===o.nzSize)("ant-tabs-small","small"===o.nzSize)("ant-tabs-large","large"===o.nzSize)},inputs:{nzSelectedIndex:"nzSelectedIndex",nzTabPosition:"nzTabPosition",nzTabBarExtraContent:"nzTabBarExtraContent",nzCanDeactivate:"nzCanDeactivate",nzAddIcon:"nzAddIcon",nzTabBarStyle:"nzTabBarStyle",nzType:"nzType",nzSize:"nzSize",nzAnimated:"nzAnimated",nzTabBarGutter:"nzTabBarGutter",nzHideAdd:[2,"nzHideAdd","nzHideAdd",I],nzCentered:[2,"nzCentered","nzCentered",I],nzHideAll:[2,"nzHideAll","nzHideAll",I],nzLinkRouter:[2,"nzLinkRouter","nzLinkRouter",I],nzLinkExact:[2,"nzLinkExact","nzLinkExact",I]},outputs:{nzSelectChange:"nzSelectChange",nzSelectedIndexChange:"nzSelectedIndexChange",nzTabListScroll:"nzTabListScroll",nzClose:"nzClose",nzAdd:"nzAdd"},exportAs:["nzTabset"],standalone:!0,features:[et([{provide:AP,useExisting:t}]),je,me],decls:4,vars:12,consts:[[3,"ngStyle","selectedIndex","inkBarAnimated","addable","addIcon","hideBar","position","extraTemplate","tabScroll","selectFocusedIndex","addClicked",4,"ngIf"],[1,"ant-tabs-content-holder"],[1,"ant-tabs-content"],["role","tabpanel","nz-tab-body","",3,"id","active","content","forceRender","animated",4,"ngFor","ngForOf"],[3,"tabScroll","selectFocusedIndex","addClicked","ngStyle","selectedIndex","inkBarAnimated","addable","addIcon","hideBar","position","extraTemplate"],["class","ant-tabs-tab",3,"margin-right","margin-bottom","ant-tabs-tab-active","ant-tabs-tab-disabled","click","contextmenu",4,"ngFor","ngForOf"],[1,"ant-tabs-tab",3,"click","contextmenu"],["type","button","role","tab","nzTabNavItem","","cdkMonitorElementFocus","",1,"ant-tabs-tab-btn",3,"id","disabled","tab","active"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],["type","button","nz-tab-close-button","",3,"closeIcon","click",4,"ngIf"],["type","button","nz-tab-close-button","",3,"click","closeIcon"],["role","tabpanel","nz-tab-body","",3,"id","active","content","forceRender","animated"]],template:function(i,o){1&i&&(C(0,wpe,2,9,"nz-tabs-nav",0),f(1,"div",1)(2,"div",2),C(3,Cpe,1,6,"div",3),m()()),2&i&&(h("ngIf",o.tabs.length||o.addable),d(2),Z("ant-tabs-content-top","top"===o.nzTabPosition)("ant-tabs-content-bottom","bottom"===o.nzTabPosition)("ant-tabs-content-left","left"===o.nzTabPosition)("ant-tabs-content-right","right"===o.nzTabPosition)("ant-tabs-content-animated",o.tabPaneAnimated),d(),h("ngForOf",o.tabs))},dependencies:[jp,St,ti,zn,Ov,Dk,Fse,Sn,An,Pv,yP],encapsulation:2})}return xt([Vt()],t.prototype,"nzType",void 0),xt([Vt()],t.prototype,"nzSize",void 0),xt([Vt()],t.prototype,"nzAnimated",void 0),xt([Vt()],t.prototype,"nzTabBarGutter",void 0),t})(),Dpe=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Nv,jp,Bp,R2,Pv]})}return t})();const Epe=["*"];function xpe(t,n){if(1&t){const e=W();f(0,"span",1),M("click",function(o){return S(e),T(g().closeTag(o))}),m()}}let Fv=(()=>{class t{constructor(e,i,o,r){this.cdr=e,this.renderer=i,this.elementRef=o,this.directionality=r,this.isPresetColor=!1,this.nzMode="default",this.nzChecked=!1,this.nzBordered=!0,this.nzOnClose=new B,this.nzCheckedChange=new B,this.dir="ltr",this.destroy$=new V}updateCheckedStatus(){"checkable"===this.nzMode&&(this.nzChecked=!this.nzChecked,this.nzCheckedChange.emit(this.nzChecked))}closeTag(e){this.nzOnClose.emit(e),e.defaultPrevented||this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement),this.elementRef.nativeElement)}clearPresetColor(){const e=this.elementRef.nativeElement,i=new RegExp(`(ant-tag-(?:${[...xE,...EE].join("|")}))`,"g"),o=e.classList.toString(),r=[];let s=i.exec(o);for(;null!==s;)r.push(s[1]),s=i.exec(o);e.classList.remove(...r)}setPresetColor(){const e=this.elementRef.nativeElement;this.clearPresetColor(),this.isPresetColor=!!this.nzColor&&(kE(this.nzColor)||function xne(t){return-1!==EE.indexOf(t)}(this.nzColor)),this.isPresetColor&&e.classList.add(`ant-tag-${this.nzColor}`)}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnChanges(e){const{nzColor:i}=e;i&&this.setPresetColor()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Yt),v(Se),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tag"]],hostAttrs:[1,"ant-tag"],hostVars:12,hostBindings:function(i,o){1&i&&M("click",function(){return o.updateCheckedStatus()}),2&i&&(Lt("background-color",o.isPresetColor?"":o.nzColor),Z("ant-tag-has-color",o.nzColor&&!o.isPresetColor)("ant-tag-checkable","checkable"===o.nzMode)("ant-tag-checkable-checked",o.nzChecked)("ant-tag-rtl","rtl"===o.dir)("ant-tag-borderless",!o.nzBordered))},inputs:{nzMode:"nzMode",nzColor:"nzColor",nzChecked:[2,"nzChecked","nzChecked",I],nzBordered:[2,"nzBordered","nzBordered",I]},outputs:{nzOnClose:"nzOnClose",nzCheckedChange:"nzCheckedChange"},exportAs:["nzTag"],standalone:!0,features:[je,xe,me],ngContentSelectors:Epe,decls:2,vars:1,consts:[["nz-icon","","nzType","close","class","ant-tag-close-icon","tabindex","-1",3,"click",4,"ngIf"],["nz-icon","","nzType","close","tabindex","-1",1,"ant-tag-close-icon",3,"click"]],template:function(i,o){1&i&&(Et(),_t(0),C(1,xpe,1,0,"span",0)),2&i&&(d(),h("ngIf","closeable"===o.nzMode))},dependencies:[In,ln,St],encapsulation:2,changeDetection:0})}return t})(),kpe=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Fv]})}return t})();const Ipe=()=>({});function Ope(t,n){1&t&&A(0,"i",40)}function Ppe(t,n){if(1&t){const e=W();f(0,"tr",35)(1,"td",18),M("nzCheckedChange",function(o){const r=S(e).$implicit;return T(g(2).onItemChecked(r.title,o))}),m(),f(2,"td"),A(3,"app-logo",36),m(),f(4,"td"),w(5),m(),f(6,"td"),C(7,Ope,1,0,"i",37),m(),f(8,"td"),w(9),m(),f(10,"td")(11,"a",38),M("click",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).handleEditBtn(r,s))}),w(12),m(),f(13,"a",15),M("nzOnConfirm",function(){const o=S(e).index;return T(g(2).handleConfirmDelOne(o))}),f(14,"a",39),w(15),m()()()()}if(2&t){const e=n.$implicit,i=g(2);d(),h("nzChecked",i.setOfCheckedId.has(e.title)),d(2),h("src",e.icon||"")("name",e.title),d(2),D(e.title),d(2),h("ngIf",e.ownVisible),d(2),D(e.createdAt),d(3),D(i.$t("_edit")),d(),h("nzPopconfirmTitle",i.$t("_delWarn")),d(2),D(i.$t("_del"))}}function Vpe(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title)("nzValue",e.title)}}function Npe(t,n){1&t&&A(0,"i",40)}function Fpe(t,n){if(1&t){const e=W();f(0,"tr",35)(1,"td",18),M("nzCheckedChange",function(o){const r=S(e).$implicit;return T(g(2).onItemChecked(r.title,o))}),m(),f(2,"td"),A(3,"app-logo",36),m(),f(4,"td"),w(5),m(),f(6,"td"),C(7,Npe,1,0,"i",37),m(),f(8,"td"),w(9),m(),f(10,"td")(11,"a",38),M("click",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).handleEditBtn(r,s))}),w(12),m(),f(13,"a",15),M("nzOnConfirm",function(){const o=S(e).index;return T(g(2).handleConfirmDelTwo(o))}),f(14,"a",39),w(15),m()()()()}if(2&t){const e=n.$implicit,i=g(2);d(),h("nzChecked",i.setOfCheckedId.has(e.title||"")),d(2),h("src",e.icon||"")("name",e.title||""),d(2),D(e.title),d(2),h("ngIf",e.ownVisible),d(2),D(e.createdAt),d(3),D(i.$t("_edit")),d(),h("nzPopconfirmTitle",i.$t("_delWarn")),d(2),D(i.$t("_del"))}}function Rpe(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title)("nzValue",e.title)}}function Lpe(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title||"")("nzValue",e.title)}}function Bpe(t,n){1&t&&A(0,"i",40)}function Hpe(t,n){if(1&t){const e=W();f(0,"tr",35)(1,"td",18),M("nzCheckedChange",function(o){const r=S(e).$implicit;return T(g(2).onItemChecked(r.title,o))}),m(),f(2,"td"),A(3,"app-logo",36),m(),f(4,"td"),w(5),m(),f(6,"td"),C(7,Bpe,1,0,"i",37),m(),f(8,"td"),w(9),m(),f(10,"td")(11,"a",38),M("click",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).handleEditBtn(r,s))}),w(12),m(),f(13,"a",15),M("nzOnConfirm",function(){const o=S(e).index;return T(g(2).handleConfirmDelThree(o))}),f(14,"a",39),w(15),m()()()()}if(2&t){const e=n.$implicit,i=g(2);d(),h("nzChecked",i.setOfCheckedId.has(e.title||"")),d(2),h("src",e.icon||"")("name",e.title||""),d(2),D(e.title),d(2),h("ngIf",e.ownVisible),d(2),D(e.createdAt),d(3),D(i.$t("_edit")),d(),h("nzPopconfirmTitle",i.$t("_delWarn")),d(2),D(i.$t("_del"))}}function jpe(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title)("nzValue",e.title)}}function Ype(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title||"")("nzValue",e.title)}}function Upe(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title||"")("nzValue",e.title||"")}}function Wpe(t,n){1&t&&A(0,"span",48)}function Gpe(t,n){if(1&t&&A(0,"app-logo",36),2&t){const e=g().$implicit;h("src",e.icon)("name",e.name)}}function qpe(t,n){if(1&t&&(f(0,"nz-tag",49)(1,"a",50),w(2),m()()),2&t){const e=n.$implicit,i=g().$implicit,o=g(2);h("nzColor",o.tagMap[e]&&o.tagMap[e].color||"#1890ff"),d(),h("href",(null==i.urls?null:i.urls[e])||"javascript:void(0)",It)("target",null!=i.urls&&i.urls[e]?"_blank":""),d(),D(o.tagMap[e]&&o.tagMap[e].name)}}function Qpe(t,n){1&t&&A(0,"i",40)}function Kpe(t,n){if(1&t){const e=W();f(0,"tr",35)(1,"td",18),M("nzCheckedChange",function(o){const r=S(e).$implicit;return T(g(2).onItemChecked(r.name,o))}),m(),f(2,"td",42)(3,"a",38),M("click",function(){const o=S(e).$implicit;return T(g(2).openEditModal(o))}),w(4),m(),f(5,"div")(6,"a",38),M("click",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).openMoveWebModal(r,s))}),w(7),m()(),f(8,"a",15),M("nzOnConfirm",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).handleConfirmDelWebsite(r,s))}),f(9,"a",39),w(10),m()()(),f(11,"td"),C(12,Wpe,1,0,"span",43),m(),f(13,"td"),C(14,Gpe,1,2,"app-logo",44),m(),f(15,"td")(16,"a",45),w(17),m()(),f(18,"td"),C(19,qpe,3,4,"nz-tag",46),m(),f(20,"td"),C(21,Qpe,1,0,"i",37),m(),f(22,"td")(23,"pre",47),w(24),m()(),f(25,"th",34),w(26),m(),f(27,"td"),w(28),m()()}if(2&t){const e=n.$implicit,i=g(2);d(),h("nzChecked",i.setOfCheckedId.has(e.name)),d(3),D(i.$t("_edit")),d(3),D(i.$t("_move")),d(),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),D(i.$t("_del")),d(2),h("ngIf",!1===e.ok),d(2),h("ngIf",e.icon),d(2),h("href",e.url,It),d(),D(e.name),d(2),h("ngForOf",i.objectKeys(e.urls||Si(14,Ipe))),d(2),h("ngIf",e.ownVisible),d(3),D(e.desc),d(2),D(e.breadcrumb),d(2),D(e.createdAt)}}function $pe(t,n){if(1&t){const e=W();f(0,"nz-tabset",12),M("nzSelectedIndexChange",function(o){return S(e),T(g().onTabChange(o))}),f(1,"nz-tab",13)(2,"button",14),M("click",function(){return S(e),T(g().toggleCreateModal())}),w(3),m(),f(4,"a",15),M("nzOnConfirm",function(){return S(e),T(g().onBatchDelete(1))}),f(5,"button",16),w(6),m()(),f(7,"nz-table",17,0)(10,"thead")(11,"tr")(12,"th",18),M("nzCheckedChange",function(o){return S(e),T(g().onAllChecked(o,1))}),m(),f(13,"th"),w(14),m(),f(15,"th"),w(16),m(),f(17,"th"),w(18),m(),f(19,"th"),w(20),m(),f(21,"th"),w(22),m()()(),f(23,"tbody",19),M("cdkDropListDropped",function(o){return S(e),T(g().dropOne(o))}),C(24,Ppe,16,9,"tr",20),m()()(),f(25,"nz-tab",13)(26,"nz-select",21),M("ngModelChange",function(o){return S(e),T(g().hanldeOneSelect(o))}),C(27,Vpe,1,2,"nz-option",22),m(),f(28,"button",23),M("click",function(){return S(e),T(g().toggleCreateModal())}),w(29),m(),f(30,"a",15),M("nzOnConfirm",function(){return S(e),T(g().onBatchDelete(2))}),f(31,"button",16),w(32),m()(),f(33,"nz-table",17,0)(36,"thead")(37,"tr")(38,"th",18),M("nzCheckedChange",function(o){return S(e),T(g().onAllChecked(o,2))}),m(),f(39,"th"),w(40),m(),f(41,"th"),w(42),m(),f(43,"th"),w(44),m(),f(45,"th"),w(46),m(),f(47,"th"),w(48),m()()(),f(49,"tbody",19),M("cdkDropListDropped",function(o){return S(e),T(g().dropTwo(o))}),C(50,Fpe,16,9,"tr",20),m()()(),f(51,"nz-tab",13)(52,"nz-select",24),M("ngModelChange",function(o){return S(e),T(g().hanldeOneSelect(o))}),C(53,Rpe,1,2,"nz-option",22),m(),f(54,"nz-select",25),M("ngModelChange",function(o){return S(e),T(g().hanldeTwoSelect(o))}),C(55,Lpe,1,2,"nz-option",22),m(),f(56,"button",23),M("click",function(){return S(e),T(g().toggleCreateModal())}),w(57),m(),f(58,"a",15),M("nzOnConfirm",function(){return S(e),T(g().onBatchDelete(3))}),f(59,"button",16),w(60),m()(),f(61,"nz-table",17,0)(64,"thead")(65,"tr")(66,"th",18),M("nzCheckedChange",function(o){return S(e),T(g().onAllChecked(o,3))}),m(),f(67,"th"),w(68),m(),f(69,"th"),w(70),m(),f(71,"th"),w(72),m(),f(73,"th"),w(74),m(),f(75,"th"),w(76),m()()(),f(77,"tbody",19),M("cdkDropListDropped",function(o){return S(e),T(g().dropThree(o))}),C(78,Hpe,16,9,"tr",20),m()()(),f(79,"nz-tab",13)(80,"nz-select",26),M("ngModelChange",function(o){return S(e),T(g().hanldeOneSelect(o))}),C(81,jpe,1,2,"nz-option",22),m(),f(82,"nz-select",27),M("ngModelChange",function(o){return S(e),T(g().hanldeTwoSelect(o))}),C(83,Ype,1,2,"nz-option",22),m(),f(84,"nz-select",27),M("ngModelChange",function(o){return S(e),T(g().hanldeThreeSelect(o))}),C(85,Upe,1,2,"nz-option",22),m(),f(86,"button",23),M("click",function(){return S(e),T(g().openCreateWebModal())}),w(87),m(),f(88,"button",23),M("click",function(){return S(e),T(g().getAllErrorWeb())}),w(89," \u68c0\u7d22\u6240\u6709\u5f02\u5e38\u7f51\u7ad9 "),m(),f(90,"a",15),M("nzOnConfirm",function(){return S(e),T(g().onBatchDelete(4))}),f(91,"button",16),w(92),m()(),f(93,"nz-table",17,0)(96,"thead")(97,"tr")(98,"th",28),M("nzCheckedChange",function(o){return S(e),T(g().onAllChecked(o,4))}),m(),f(99,"th",29),w(100),m(),f(101,"th",30),w(102,"\u72b6\u6001"),m(),f(103,"th",31),w(104),m(),f(105,"th",32),w(106),m(),f(107,"th",32),w(108),m(),f(109,"th",33),w(110),m(),f(111,"th",34),w(112),m(),f(113,"th",34),w(114,"\u5206\u7c7b\u4f4d\u7f6e"),m(),f(115,"th"),w(116),m()()(),f(117,"tbody",19),M("cdkDropListDropped",function(o){return S(e),T(g().dropWebsite(o))}),C(118,Kpe,29,15,"tr",20),m()()()()}if(2&t){const e=g();h("nzSelectedIndex",e.tabActive),d(),h("nzTitle",e.$t("_mgr1")),d(2),we(" ",e.$t("_addTag")," "),d(),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(),h("disabled",e.setOfCheckedId.size<=0),d(),we(" ",e.$t("_batchDel")," "),d(),h("nzData",e.websiteList)("nzShowPagination",!1),d(5),h("nzChecked",e.checkedAll),d(2),D(e.$t("_icon")),d(2),D(e.$t("_tagName")),d(2),D(e.$t("_onlyOwnVisible")),d(2),D(e.$t("_createAt")),d(2),D(e.$t("_action")),d(2),h("ngForOf",e.websiteList),d(),h("nzTitle",e.$t("_mgr2")),d(),h("ngModel",e.oneSelect)("nzPlaceHolder",e.$t("_sel1")),d(),h("ngForOf",e.websiteList),d(2),we(" ",e.$t("_addTag")," "),d(),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(),h("disabled",e.setOfCheckedId.size<=0),d(),we(" ",e.$t("_batchDel")," "),d(),h("nzData",e.twoTableData)("nzShowPagination",!1),d(5),h("nzChecked",e.checkedAll),d(2),D(e.$t("_icon")),d(2),D(e.$t("_tagName")),d(2),D(e.$t("_onlyOwnVisible")),d(2),D(e.$t("_createAt")),d(2),D(e.$t("_action")),d(2),h("ngForOf",e.twoTableData),d(),h("nzTitle",e.$t("_mgr3")),d(),h("ngModel",e.oneSelect)("nzPlaceHolder",e.$t("_sel1")),d(),h("ngForOf",e.websiteList),d(),h("ngModel",e.twoSelect)("nzPlaceHolder",e.$t("_sel2")),d(),h("ngForOf",e.twoTableData),d(2),we(" ",e.$t("_addTag")," "),d(),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(),h("disabled",e.setOfCheckedId.size<=0),d(),we(" ",e.$t("_batchDel")," "),d(),h("nzData",e.threeTableData)("nzShowPagination",!1),d(5),h("nzChecked",e.checkedAll),d(2),D(e.$t("_icon")),d(2),D(e.$t("_tagName")),d(2),D(e.$t("_onlyOwnVisible")),d(2),D(e.$t("_createAt")),d(2),D(e.$t("_action")),d(2),h("ngForOf",e.threeTableData),d(),h("nzTitle",e.$t("_mgrWeb")),d(),h("ngModel",e.oneSelect)("nzPlaceHolder",e.$t("_sel1")),d(),h("ngForOf",e.websiteList),d(),h("ngModel",e.twoSelect)("nzPlaceHolder",e.$t("_sel2")),d(),h("ngForOf",e.twoTableData),d(),h("ngModel",e.threeSelect)("nzPlaceHolder",e.$t("_sel3")),d(),h("ngForOf",e.threeTableData),d(2),we(" ",e.$t("_addWeb")," "),d(3),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(),h("disabled",e.setOfCheckedId.size<=0),d(),we(" ",e.$t("_batchDel")," "),d(),h("nzData",e.websiteTableData)("nzShowPagination",!1),d(5),h("nzChecked",e.checkedAll),d(2),D(e.$t("_action")),d(4),D(e.$t("_icon")),d(2),D(e.$t("_webName")),d(2),D(e.$t("_webTag")),d(2),D(e.$t("_onlyOwnVisible")),d(2),D(e.$t("_webDesc")),d(4),D(e.$t("_createAt")),d(2),h("ngForOf",e.websiteTableData)}}function Jpe(t,n){if(1&t&&(Ye(0),f(1,"form",51)(2,"nz-form-item")(3,"nz-form-label",52),w(4,"\u5206\u7c7b\u540d\u79f0"),m(),f(5,"nz-form-control",53),A(6,"input",54),m()(),f(7,"nz-form-item")(8,"nz-form-label",52),w(9),m(),f(10,"nz-form-control",55),A(11,"nz-switch",56),m()(),f(12,"nz-form-item")(13,"nz-form-label",55),w(14,"\u56fe\u6807\u5730\u5740"),m(),f(15,"nz-form-control",55)(16,"nz-input-group"),A(17,"input",57),m()()()(),Ue()),2&t){const e=g();d(),h("formGroup",e.validateForm),d(2),h("nzSpan",6),d(2),h("nzSpan",18)("nzErrorTip",e.$t("_requiredName")),d(),h("placeholder",e.$t("_webTitle"))("maxlength",50),d(2),h("nzSpan",6),d(),D(e.$t("_onlyOwnVisible")),d(),h("nzSpan",18),d(3),h("nzSpan",6),d(2),h("nzSpan",18)}}let Zpe=(()=>{class t{constructor(e,i,o,r){this.fb=e,this.modal=i,this.notification=o,this.message=r,this.$t=be,this.settings=kn,this.websiteList=yn,this.gitRepoUrl=Ns.gitRepoUrl,this.isLogin=Gi,this.showCreateModal=!1,this.syncLoading=!1,this.uploading=!1,this.tabActive=0,this.editIdx=0,this.isEdit=!1,this.oneSelect="",this.twoSelect="",this.threeSelect="",this.tagMap=ju,this.objectKeys=Object.keys,this.twoTableData=[],this.threeTableData=[],this.websiteTableData=[],this.checkedAll=!1,this.setOfCheckedId=new Set,this.validateForm=this.fb.group({title:["",[q7.required]],icon:[""],ownVisible:[!1]})}ngOnInit(){}getAllErrorWeb(){this.oneSelect="",this.twoSelect="",this.threeSelect="",this.onTabChange(),this.websiteTableData=[];const e=[];(function i(o){if(Array.isArray(o))for(let r=0;r{e?this.setOfCheckedId.add(o.title):this.setOfCheckedId.delete(o.title)});break;case 2:this.twoTableData.forEach(o=>{e?this.setOfCheckedId.add(o.title):this.setOfCheckedId.delete(o.title)});break;case 3:this.threeTableData.forEach(o=>{e?this.setOfCheckedId.add(o.title):this.setOfCheckedId.delete(o.title)});break;case 4:this.websiteTableData.forEach(o=>{e?this.setOfCheckedId.add(o.name):this.setOfCheckedId.delete(o.name)})}}onItemChecked(e,i){i?this.setOfCheckedId.add(e):this.setOfCheckedId.delete(e)}onBatchDelete(e){switch(e){case 1:this.setOfCheckedId.forEach(i=>{const o=this.websiteList.findIndex(r=>r.title===i);o>=0&&this.websiteList.splice(o,1)});break;case 2:{this.twoTableData=this.twoTableData.filter(o=>!this.setOfCheckedId.has(o.title));const i=this.websiteList.findIndex(o=>o.title===this.oneSelect);i>=0&&(this.websiteList[i].nav=this.twoTableData)}break;case 3:{this.threeTableData=this.threeTableData.filter(o=>!this.setOfCheckedId.has(o.title));const i=this.websiteList.findIndex(o=>o.title===this.oneSelect);if(i>=0){const o=this.websiteList[i].nav.findIndex(r=>r.title===this.twoSelect);o>=0&&(this.websiteList[i].nav[o].nav=this.threeTableData)}}break;case 4:{const i=[];this.websiteTableData=this.websiteTableData.filter(o=>{const r=!this.setOfCheckedId.has(o.name);return r||i.push(o),r}),i.forEach(o=>{T5({...o,name:fs(o.name),desc:fs(o.desc)})}),this.message.success(be("_delSuccess"))}}this.onTabChange(),Un(this.websiteList)}handleReset(){this.modal.info({nzTitle:be("_resetInitData"),nzContent:be("_warnReset"),nzOnOk:()=>{this.message.success(be("_actionSuccess")),window.localStorage.removeItem(Wi.website),window.localStorage.removeItem(Wi.s_url),setTimeout(()=>{window.location.reload()},500)}})}handleDownloadBackup(){const e=JSON.stringify(this.websiteList),i=new Blob([e],{type:"text/plain;charset=utf-8"});(0,Q3e.saveAs)(i,"db.json")}handleUploadBackup(e){const i=this,o=e.target.files;if(o.length<=0)return;const r=o[0],s=new FileReader;s.readAsText(r),s.onload=function(a){try{const{result:l}=a.target;i.websiteList=JSON.parse(l),Un(i.websiteList),e.target.value="",i.message.success(be("_actionSuccess"))}catch(l){i.notification.error(be("_error"),l.message)}}}goBack(){history.go(-1)}openMoveWebModal(e,i){const o=this.websiteList.findIndex(a=>a.title===this.oneSelect),r=this.twoTableData.findIndex(a=>a.title===this.twoSelect),s=this.threeTableData.findIndex(a=>a.title===this.threeSelect);Ei.emit("MOVE_WEB",{indexs:[o,r,s,i],data:[e]})}openCreateWebModal(){if(3===this.tabActive&&!this.threeSelect)return this.message.error(be("_sel3"));const e=this.websiteList.findIndex(r=>r.title===this.oneSelect),i=this.twoTableData.findIndex(r=>r.title===this.twoSelect),o=this.threeTableData.findIndex(r=>r.title===this.threeSelect);Ei.emit("CREATE_WEB",{oneIndex:e,twoIndex:i,threeIndex:o})}openEditModal(e){Ei.emit("CREATE_WEB",{detail:e})}toggleCreateModal(){if(!this.showCreateModal){if(1===this.tabActive&&!this.oneSelect)return this.message.error(be("_sel1"));if(2===this.tabActive&&!this.twoSelect)return this.message.error(be("_sel2"))}this.isEdit=!1,this.showCreateModal=!this.showCreateModal,this.validateForm.reset()}onTabChange(e){this.tabActive=e??this.tabActive,this.setOfCheckedId.clear(),this.checkedAll||setTimeout(()=>{this.checkedAll=!this.checkedAll,setTimeout(()=>{this.checkedAll=!this.checkedAll})})}handleConfirmDelOne(e){this.websiteList.splice(e,1),this.message.success(be("_delSuccess")),Un(this.websiteList)}dropOne(e){Dl(this.websiteList,e.previousIndex,e.currentIndex),Un(this.websiteList)}dropTwo(e){Dl(this.twoTableData,e.previousIndex,e.currentIndex),Un(this.websiteList)}handleConfirmDelTwo(e){this.twoTableData.splice(e,1),this.message.success(be("_delSuccess")),Un(this.websiteList)}dropThree(e){Dl(this.threeTableData,e.previousIndex,e.currentIndex),Un(this.websiteList)}handleConfirmDelThree(e){this.threeTableData.splice(e,1),this.message.success(be("_delSuccess")),Un(this.websiteList)}dropWebsite(e){Dl(this.websiteTableData,e.previousIndex,e.currentIndex),Un(this.websiteList)}handleConfirmDelWebsite(e,i){this.websiteTableData.splice(i,1),T5({...e,name:fs(e.name),desc:fs(e.desc)}),this.message.success(be("_delSuccess"))}hanldeOneSelect(e){this.oneSelect=e;const i=this.websiteList.find(o=>o.title===e);i&&(this.twoTableData=i.nav),this.twoSelect="",this.threeSelect="",this.onTabChange()}hanldeTwoSelect(e){this.twoSelect=e;const i=this.twoTableData.find(o=>o.title===e);i&&(this.threeTableData=i.nav),this.threeSelect="",this.onTabChange()}hanldeThreeSelect(e){this.threeSelect=e;const i=this.threeTableData.find(o=>o.title===e);i&&(this.websiteTableData=i.nav),this.onTabChange()}handleEditBtn(e,i){let{title:o,icon:r,name:s,ownVisible:a}=e;this.toggleCreateModal(),this.isEdit=!0,this.editIdx=i,this.validateForm.get("title").setValue(o||s||""),this.validateForm.get("icon").setValue(r||""),this.validateForm.get("ownVisible").setValue(!!a)}handleSync(){this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{this.syncLoading=!0,vl({message:"update db",content:JSON.stringify(this.websiteList),path:Yg}).then(()=>{this.message.success(be("_syncSuccessTip"))}).finally(()=>{this.syncLoading=!1})}})}handleOk(){const e=(new Date).toString();for(const s in this.validateForm.controls)this.validateForm.controls[s].markAsDirty(),this.validateForm.controls[s].updateValueAndValidity();let{title:i,icon:o,ownVisible:r}=this.validateForm.value;if(i&&i.trim()){if(i=i.trim(),this.isEdit){switch(this.tabActive){case 0:if(this.websiteList.some(a=>a.title===i)&&this.websiteList[this.editIdx].title!==i)return this.message.error(`${be("_repeatAdd")} "${i}"`);this.websiteList[this.editIdx].title=i,this.websiteList[this.editIdx].icon=o,this.websiteList[this.editIdx].ownVisible=r;break;case 1:if(this.twoTableData.some(a=>a.title===i)&&this.twoTableData[this.editIdx].title!==i)return this.message.error(`${be("_repeatAdd")} "${i}"`);this.twoTableData[this.editIdx].title=i,this.twoTableData[this.editIdx].icon=o,this.twoTableData[this.editIdx].ownVisible=r;break;case 2:if(this.threeTableData.some(a=>a.title===i)&&this.threeTableData[this.editIdx].title!==i)return this.message.error(`${be("_repeatAdd")} "${i}"`);this.threeTableData[this.editIdx].title=i,this.threeTableData[this.editIdx].icon=o,this.threeTableData[this.editIdx].ownVisible=r}this.message.success(be("_saveSuccess"))}else{switch(this.tabActive){case 0:if(this.websiteList.some(a=>a.title===i))return this.message.error(`${be("_repeatAdd")} "${i}"`);this.websiteList.unshift({createdAt:e,title:i,icon:o,ownVisible:r,nav:[]});break;case 1:if(this.twoTableData.some(a=>a.title===i))return this.message.error(`${be("_repeatAdd")} "${i}"`);this.twoTableData.unshift({createdAt:e,title:i,icon:o,ownVisible:r,nav:[]});break;case 2:if(this.threeTableData.some(a=>a.title===i))return this.message.error(`${be("_repeatAdd")} "${i}"`);this.threeTableData.unshift({createdAt:e,title:i,icon:o,ownVisible:r,nav:[]})}this.message.success(be("_addSuccess"))}this.validateForm.reset(),this.toggleCreateModal(),Un(this.websiteList)}else this.message.error("\u5206\u7c7b\u540d\u79f0\u4e0d\u80fd\u4e3a\u7a7a")}static#e=this.\u0275fac=function(i){return new(i||t)(v(fv),v(za),v(Op),v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-admin"]],decls:18,vars:11,consts:[["rowSelectionTable","","basicTable",""],[1,"admin"],["nz-button","","nzType","primary",3,"click","nzLoading"],["nz-button","",2,"margin","0 15px 20px 15px",3,"click"],["nz-button","",2,"margin-right","15px",3,"click"],["id","file2"],["nz-button","","nz-tooltip","",3,"nzTooltipTitle"],["type","file","name","file2","accept",".json",1,"file-upload",3,"change"],[1,"tip2"],[3,"nzSelectedIndex","nzSelectedIndexChange",4,"ngIf"],[3,"nzVisibleChange","nzOnCancel","nzOnOk","nzVisible","nzTitle"],[4,"nzModalContent"],[3,"nzSelectedIndexChange","nzSelectedIndex"],[3,"nzTitle"],["nz-button","","nzType","primary",3,"click"],["nz-popconfirm","","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"],["nz-button","","nzDanger","",1,"ml10",3,"disabled"],[2,"margin-top","15px",3,"nzData","nzShowPagination"],[3,"nzCheckedChange","nzChecked"],["cdkDropList","",3,"cdkDropListDropped"],["cdkDrag","",4,"ngFor","ngForOf"],["nzShowSearch","",2,"width","260px",3,"ngModelChange","ngModel","nzPlaceHolder"],[3,"nzLabel","nzValue",4,"ngFor","ngForOf"],["nz-button","","nzType","primary",2,"margin-left","20px",3,"click"],["nzShowSearch","",2,"width","200px",3,"ngModelChange","ngModel","nzPlaceHolder"],["nzShowSearch","",2,"width","200px","margin-left","15px",3,"ngModelChange","ngModel","nzPlaceHolder"],["nzShowSearch","",2,"width","150px",3,"ngModelChange","ngModel","nzPlaceHolder"],["nzShowSearch","",2,"width","150px","margin-left","15px",3,"ngModelChange","ngModel","nzPlaceHolder"],["nzWidth","70px",3,"nzCheckedChange","nzChecked"],["nzWidth","60px",1,"center"],["nzWidth","70px"],["nzWidth","80px"],["nzWidth","100px"],["nzWidth","120px"],["nzWidth","300px"],["cdkDrag",""],[3,"src","name"],["nz-icon","","nzType","check","nzTheme","outline",4,"ngIf"],[3,"click"],["nz-button","","nzType","link","nzDanger",""],["nz-icon","","nzType","check","nzTheme","outline"],[3,"nzLabel","nzValue"],[1,"center"],["nz-icon","","nzType","close","nzTheme","outline","style","color: red",4,"ngIf"],[3,"src","name",4,"ngIf"],["target","_blank",3,"href"],["style","margin-bottom: 5px",3,"nzColor",4,"ngFor","ngForOf"],[1,"desc"],["nz-icon","","nzType","close","nzTheme","outline",2,"color","red"],[2,"margin-bottom","5px",3,"nzColor"],[3,"href","target"],["nz-form","",3,"formGroup"],["nzRequired","",3,"nzSpan"],[3,"nzSpan","nzErrorTip"],["formControlName","title","nz-input","",3,"placeholder","maxlength"],[3,"nzSpan"],["formControlName","ownVisible"],["formControlName","icon","nz-input","","placeholder","\u7528\u4e8e\u67d0\u4e9b\u4e3b\u9898icon"]],template:function(i,o){1&i&&(f(0,"div",1)(1,"button",2),M("click",function(){return o.handleSync()}),w(2),m(),f(3,"button",3),M("click",function(){return o.handleReset()}),w(4),m(),f(5,"button",4),M("click",function(){return o.handleDownloadBackup()}),w(6),m(),f(7,"label",5)(8,"button",6),w(9),m(),f(10,"input",7),M("change",function(s){return o.handleUploadBackup(s)}),m()(),f(11,"div",8),w(12),f(13,"span"),w(14),m()(),C(15,$pe,119,77,"nz-tabset",9),m(),f(16,"nz-modal",10),Ii("nzVisibleChange",function(s){return Ui(o.showCreateModal,s)||(o.showCreateModal=s),s}),M("nzOnCancel",function(){return o.toggleCreateModal()})("nzOnOk",function(){return o.handleOk()}),C(17,Jpe,18,11,"ng-container",11),m()),2&i&&(d(),h("nzLoading",o.syncLoading),d(),we(" ",o.$t("_save")," "),d(2),we(" ",o.$t("_resetInitData")," "),d(2),we(" ",o.$t("_backup")," "),d(2),h("nzTooltipTitle",o.$t("_importBackupTip")),d(),we(" ",o.$t("_importBackup")," "),d(3),we(" ",o.$t("_dragSort"),"\uff1b "),d(2),we("\u4e0a\u6b21\u68c0\u6d4b\u51fa ",o.settings.errorUrlCount||0," \u4e2a\u7f51\u7ad9\u94fe\u63a5\u5931\u6548\uff0c\u5177\u4f53\u5230\u7ba1\u7406\u7f51\u7ad9\u67e5\u770b\uff0c\u5982\u9700\u518d\u6b21\u68c0\u6d4b\u72b6\u6001\u76f4\u63a5\u70b9\u4fdd\u5b58\u89e6\u53d1\u4e8b\u4ef6\u5373\u53ef\u3002"),d(),h("ngIf",o.isLogin),d(),ki("nzVisible",o.showCreateModal),h("nzTitle",o.$t(o.isEdit?"_edit":"_add")))},dependencies:[zn,St,lp,y2,Gs,Dp,Vl,Nl,D1,wl,F2,Np,Rp,Fp,nr,mi,tr,Sp,wr,Zi,gp,O2,R1,L1,H1,Sa,ln,U1,V2,Y1,oP,N2,Hl,W1,sP,Nv,Vv,Fv,Vp,op,b2,Xi,Fl],styles:[".desc[_ngcontent-%COMP%]{width:300px;white-space:pre-wrap;word-break:break-all}#file2[_ngcontent-%COMP%]{position:relative;cursor:pointer}#file2[_ngcontent-%COMP%] .file-upload[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.tip2[_ngcontent-%COMP%]{color:#f50;font-weight:700}.admin[_ngcontent-%COMP%] .ant-table{max-height:600px;overflow:auto}"]})}return t})(),Xpe=(()=>{class t{constructor(){this.$t=be}ngOnInit(){}submitForm(){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-angle-mark"]],decls:1,vars:0,consts:[[1,"angle-mark"]],template:function(i,o){1&i&&A(0,"div",0)}})}return t})();function e6e(t,n){if(1&t&&(f(0,"p"),w(1),m(),w(2)),2&t){const e=g().$implicit;d(),D(e.__name__||e.name),d(),we(" ",e.__desc__||e.desc," ")}}function t6e(t,n){if(1&t){const e=W();f(0,"div",4),M("click",function(){const o=S(e).$implicit;return T(g(2).goUrl(o.url))}),C(1,e6e,3,2,"ng-template",null,0,ot),f(3,"div",5),A(4,"app-logo",6),m(),A(5,"div",7),m()}if(2&t){const e=n.$implicit;h("nzTooltipTitle",Be(2)),d(4),h("src",e.icon||"")("name",e.__name__||e.name)("size",35),d(),h("innerHTML",e.__name__||e.name,Gn)}}function n6e(t,n){if(1&t){const e=W();f(0,"div",2),M("cdkDropListDropped",function(o){return S(e),T(g().handleDrop(o))}),C(1,t6e,6,5,"div",3),m()}if(2&t){const e=g();d(),h("ngForOf",e.dataList)("ngForTrackBy",e.trackByItemWeb)}}let SP=[],TP=(()=>{class t{constructor(e){this.activatedRoute=e,this.max=110,this.search=!0,this.websiteList=yn,this.dataList=[]}ngOnInit(){this.getTopWeb(),this.activatedRoute.queryParams.subscribe(()=>{const{q:e}=pi(),i=A1(this.websiteList,e);this.dataList=this.search&&e.trim()?0===i.length?[]:i[0].nav.slice(0,this.max):SP,Un(this.websiteList)})}getTopWeb(){const e=[],i=this.max;(function o(r){if(Array.isArray(r))for(let s=0;si);s++){const a=r[s];a.url?a.top&&(Gi||!a.ownVisible)&&e.push(a):o(a.nav)}})(yn),this.dataList=e.sort((r,s)=>r.index-s.index),SP=this.dataList}handleDrop(e){Dl(this.dataList,e.previousIndex,e.currentIndex);const i={};for(let r=1;r<=this.dataList.length;r++){const s=this.dataList[r-1];i[`${s.name}${s.url}`]=r}(function o(r){if(Array.isArray(r))for(let s=0;s0)},dependencies:[zn,St,mi,Sa,op,b2,Fl],styles:[".container[_ngcontent-%COMP%]{margin-top:15px;margin-bottom:15px;display:flex;padding:0 30px;max-width:960px;flex-wrap:wrap;gap:25px}.container[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]{display:flex;text-align:center;cursor:pointer;align-items:center;flex-direction:column;transition:transform .1s ease-in}.container[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.container[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{border-radius:50%;margin-bottom:3px}.container[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{width:60px;margin-top:5px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]})}return t})();const i6e=()=>[16,16],o6e=(t,n,e,i)=>[t,n,e,i];function r6e(t,n){1&t&&A(0,"img",21),2&t&&h("src",g(2).$implicit.icon,It)}function s6e(t,n){if(1&t&&(C(0,r6e,1,1,"img",19),f(1,"span",20),w(2),m()),2&t){const e=g().$implicit;h("ngIf",e.icon),d(2),D(e.title)}}function a6e(t,n){1&t&&A(0,"img",25),2&t&&h("src",g().$implicit.icon,It)}function l6e(t,n){if(1&t){const e=W();f(0,"div",26),M("click",function(o){return S(e),T(g(3).onCollapseAll(o))}),A(1,"i",27),m()}if(2&t){const e=g(3);d(),Z("active",e.collapsed())}}function c6e(t,n){if(1&t){const e=W();f(0,"li",22),M("click",function(){const o=S(e).index,r=g().index;return T(g().handleSidebarNav(r,o))}),C(1,a6e,1,1,"img",23),f(2,"span"),w(3),m(),C(4,l6e,2,2,"div",24),m()}if(2&t){const e=n.$implicit,i=n.index,o=g().index,r=g();h("nzSelected",r.page===o&&r.id===i),d(),h("ngIf",e.icon),d(2),D(e.title),d(),h("ngIf",r.page===o&&r.id===i)}}function d6e(t,n){if(1&t){const e=W();f(0,"li",17),M("nzOpenChange",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g().openMenu(r,s))}),C(1,s6e,3,2,"ng-template",null,1,ot),f(3,"ul"),C(4,c6e,5,4,"li",18),m()()}if(2&t){const e=n.$implicit,i=Be(2),o=g();h("nzTitle",i)("nzOpen",e.collapsed),d(4),h("ngForOf",e.nav)("ngForTrackBy",o.trackByItem)}}function u6e(t,n){if(1&t&&(f(0,"div",28),A(1,"app-swiper",29)(2,"app-search-engine",30),m()),2&t){const e=g();d(),h("images",e.settings.sideThemeImages)("autoplay",e.settings.sideThemeAutoplay)("height",e.settings.sideThemeHeight)}}function h6e(t,n){if(1&t&&(f(0,"div",36),A(1,"app-card",37),m()),2&t){const e=n.$implicit,i=n.index,o=g().index,r=g(2);h("nzSpan",6)("nzXs",24)("nzSm",12)("nzMd",12)("nzLg",8)("nzXl",6)("nzXXl","example"===r.settings.sideCardStyle?4:6),d(),h("cardStyle",r.settings.sideCardStyle)("dataSource",e)("indexs",nu(11,o6e,r.page,r.id,o,i))("searchKeyword",r.searchKeyword)}}function p6e(t,n){if(1&t){const e=W();f(0,"div")(1,"div",32)(2,"app-toolbar-title",33),M("onCollapse",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).onCollapse(r,s))}),m(),f(3,"div",34),C(4,h6e,2,16,"div",35),m()()()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);d(2),h("dataSource",e)("index",i),d(),Lt("display",e.collapsed?"none":""),h("nzGutter",Si(7,i6e)),d(),h("ngForOf",e.nav)("ngForTrackBy",o.trackByItemWeb)}}function f6e(t,n){if(1&t&&(f(0,"div"),C(1,p6e,5,8,"div",31),m()),2&t){const e=g();d(),h("ngForOf",e.currentList.slice(0,e.sliceMax))("ngForTrackBy",e.trackByItem)}}function m6e(t,n){1&t&&A(0,"app-no-data")}let g6e=(()=>{class t{constructor(e,i){this.router=e,this.activatedRoute=i,this.LOGO_CDN=kn.favicon,this.websiteList=yn,this.currentList=[],this.id=0,this.page=0,this.title=kn.title.trim().split(/\s/)[0],this.searchEngineList=D5,this.isLogin=Gi,this.settings=kn,this.sliceMax=1,this.searchKeyword="",this.onCollapse=(o,r)=>{o.collapsed=!o.collapsed,this.websiteList[this.page].nav[this.id].nav[r]=o,Un(this.websiteList)},this.onCollapseAll=o=>{o?.stopPropagation(),z5(this.websiteList),this.handlePositionTop()}}ngOnInit(){this.activatedRoute.queryParams.subscribe(()=>{const{id:e,page:i,q:o}=pi();this.page=i,this.id=e,this.searchKeyword=o,this.sliceMax=1,this.currentList=o?A1(this.websiteList,o):Hu(),setTimeout(()=>{this.sliceMax=Number.MAX_SAFE_INTEGER},25)})}handleSidebarNav(e,i){this.websiteList[e].id=i,this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:e,id:i}}),this.handlePositionTop()}handlePositionTop(){setTimeout(()=>{const e=document.querySelector(".search-header");e&&window.scroll({top:e.offsetHeight,left:0,behavior:"smooth"})},30)}openMenu(e,i){this.websiteList.forEach((o,r)=>{o.collapsed=r===i&&!o.collapsed}),Un(this.websiteList)}collapsed(){try{return!!yn[this.page].nav[this.id].collapsed}catch{return!1}}trackByItem(e,i){return i.title}trackByItemWeb(e,i){return i.id}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-side"]],decls:19,vars:9,consts:[["noData",""],["titleTpl",""],[1,"layout"],[1,"logo","dark-bg"],[1,"logo-img",3,"src"],[1,"web-title"],["nz-menu","","nzMode","inline",1,"sider","dark-scrollbar"],["nz-submenu","",3,"nzTitle","nzOpen","nzOpenChange",4,"ngFor","ngForOf","ngForTrackBy"],[1,"inner-layout"],["class","search-header",4,"ngIf"],[1,"hidden","search-sm","mobile-search"],["id","content",1,"content"],[3,"search"],[1,"box"],[4,"ngIf","ngIfElse"],["className","side-footer"],[3,"onCollapse","collapsed"],["nz-submenu","",3,"nzOpenChange","nzTitle","nzOpen"],["nz-menu-item","",3,"nzSelected","click",4,"ngFor","ngForOf","ngForTrackBy"],["class","sideicon",3,"src",4,"ngIf"],[1,"menu-title","ellipsis"],[1,"sideicon",3,"src"],["nz-menu-item","",3,"click","nzSelected"],["class","sideicon fixicon",3,"src",4,"ngIf"],["class","collapse-wrapper",3,"click",4,"ngIf"],[1,"sideicon","fixicon",3,"src"],[1,"collapse-wrapper",3,"click"],[1,"iconfont","iconweibiaoti25","collapse"],[1,"search-header"],[3,"images","autoplay","height"],[1,"max768none"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"nav-wrapper"],["arrowType","2",3,"onCollapse","dataSource","index"],["nz-row","",3,"nzGutter"],["class","gutter-row","nz-col","",3,"nzSpan","nzXs","nzSm","nzMd","nzLg","nzXl","nzXXl",4,"ngFor","ngForOf","ngForTrackBy"],["nz-col","",1,"gutter-row",3,"nzSpan","nzXs","nzSm","nzMd","nzLg","nzXl","nzXXl"],[1,"column-border",3,"cardStyle","dataSource","indexs","searchKeyword"]],template:function(i,o){if(1&i){const r=W();f(0,"nz-layout",2)(1,"nz-layout")(2,"div",3),A(3,"img",4),f(4,"span",5),w(5),m()(),f(6,"ul",6),C(7,d6e,5,4,"li",7),m(),f(8,"nz-layout",8),C(9,u6e,3,3,"div",9),A(10,"app-search-engine",10),f(11,"nz-content",11),A(12,"app-web-list",12),f(13,"div",13),C(14,f6e,2,2,"div",14)(15,m6e,1,0,"ng-template",null,0,ot),m(),A(17,"app-footer",15),m()()()(),f(18,"app-fixbar",16),M("onCollapse",function(a){return S(r),T(o.onCollapseAll(a))}),m()}if(2&i){const r=Be(16);d(3),h("src",o.LOGO_CDN,It),d(2),D(o.settings.sideTitle||o.title),d(2),h("ngForOf",o.websiteList)("ngForTrackBy",o.trackByItem),d(2),h("ngIf",o.settings.sideThemeImages.length>0),d(3),h("search",!1),d(2),h("ngIf",o.currentList.length>0)("ngIfElse",r),d(4),h("collapsed",o.collapsed())}},dependencies:[zn,St,D1,wl,mi,Aa,Ws,cp,NO,PO,OO,z2,A2,hp,B1,vv,TP,xp],styles:["@media (max-width: 768px){.search-sm[_ngcontent-%COMP%]{display:block;margin-top:10px}.content[_ngcontent-%COMP%]{padding-right:12px!important}.layout[_ngcontent-%COMP%]{--sideWidth: 150px !important}.sider[_ngcontent-%COMP%]{--menuTitleWidth: 85px;padding-top:40px!important}.logo-img[_ngcontent-%COMP%]{width:30px!important;height:30px!important}.web-title[_ngcontent-%COMP%]{font-size:14px!important}}@media (max-width: 568px){.layout[_ngcontent-%COMP%]{--sideWidth: 120px !important}.sider[_ngcontent-%COMP%]{--menuTitleWidth: 70px;padding-top:40px!important}}.layout[_ngcontent-%COMP%]{--sideWidth: 200px;min-height:100vh}.layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%]{margin-left:var(--sideWidth)}.layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:10px 70px 0 20px;display:flex;flex-direction:column}.layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%]{z-index:9;position:relative;text-align:center}.layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .search-engine{z-index:10;position:absolute;top:50%;left:50%;margin-top:-20px;transform:translate(-50%,-50%)}.layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .search-engine .input-wrapper{width:330px!important}.layout[_ngcontent-%COMP%] .box[_ngcontent-%COMP%]{flex:1;transition:.1s linear}.layout[_ngcontent-%COMP%] .collapse-wrapper[_ngcontent-%COMP%]{position:absolute;right:0;top:0;padding:0 15px}.layout[_ngcontent-%COMP%] .collapse-wrapper[_ngcontent-%COMP%] .collapse[_ngcontent-%COMP%]{display:block;transform:rotate(-270deg)}.layout[_ngcontent-%COMP%] .collapse-wrapper[_ngcontent-%COMP%] .collapse.active[_ngcontent-%COMP%]{transform:rotate(-360deg)}.layout[_ngcontent-%COMP%] .ant-menu-item[_ngcontent-%COMP%]{padding-right:40px}.layout[_ngcontent-%COMP%] .web-list{max-width:100%!important}.layout[_ngcontent-%COMP%] .mobile-search .engine-main{max-width:95%!important}.logo[_ngcontent-%COMP%]{z-index:11;position:fixed;top:0;left:0;width:var(--sideWidth);padding:10px 10px 10px 15px;background-color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo[_ngcontent-%COMP%] .logo-img[_ngcontent-%COMP%]{width:50px;height:50px;pointer-events:none}.logo[_ngcontent-%COMP%] .web-title[_ngcontent-%COMP%]{font-weight:500;font-size:18px;margin-left:10px;vertical-align:middle}.sider[_ngcontent-%COMP%]{position:fixed;height:100vh;left:0;overflow:auto;width:var(--sideWidth);padding-top:70px}.sider[_ngcontent-%COMP%] .sideicon[_ngcontent-%COMP%]{width:20px;height:20px;margin-right:12px;object-fit:cover;border-radius:50%}.sider[_ngcontent-%COMP%] .fixicon[_ngcontent-%COMP%]{position:absolute;top:10px;left:25px;margin-right:0}.sider[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px;height:6px}.sider[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:3px}.sider[_ngcontent-%COMP%]::-webkit-scrollbar-track{background-color:#ffffff26;border-radius:3px}.sider[_ngcontent-%COMP%] .menu-title[_ngcontent-%COMP%]{max-width:var(--menuTitleWidth, 130px)} #app-footer{margin-top:45px} #app-footer, #app-footer .copyright{margin-bottom:10px;color:#666}"]})}return t})();const v6e=t=>({"background-image":t}),b6e=t=>({color:t});function _6e(t,n){1&t&&A(0,"iframe",6)}function y6e(t,n){1&t&&A(0,"iframe",7)}function w6e(t,n){if(1&t&&(f(0,"div"),C(1,_6e,1,0,"iframe",5)(2,y6e,1,0,"ng-template",null,0,ot),m()),2&t){const e=Be(3),i=g();d(),h("ngIf",i.isDark||i.shortcutThemeImage)("ngIfElse",e)}}let C6e=(()=>{class t{constructor(){this.settings=kn,this.isDark=u3(),this.shortcutThemeImage=kn.shortcutThemeImages?.[0]?.src,Ei.on("EVENT_DARK",e=>{this.isDark=e})}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-shortcut"]],decls:8,vars:11,consts:[["other_content",""],[1,"shortcut","dark-bg-gary2",3,"ngStyle"],[1,"title","dark-white",3,"ngStyle"],[3,"showCollapse"],[4,"ngIf"],["class","tianqi","allowtransparency","true","frameborder","0","width","290","height","96","scrolling","no","src","//tianqi.2345.com/plugin/widget/index.htm?s=1&z=1&t=0&v=0&d=2&bd=0&k=&f=ffffff<f=009944&htf=cc0000&q=1&e=1&a=1&c=54511&w=290&h=96&align=center",4,"ngIf","ngIfElse"],["allowtransparency","true","frameborder","0","width","290","height","96","scrolling","no","src",I8`//tianqi.2345.com/plugin/widget/index.htm?s=1&z=1&t=0&v=0&d=2&bd=0&k=&f=ffffff<f=009944&htf=cc0000&q=1&e=1&a=1&c=54511&w=290&h=96&align=center`,1,"tianqi"],["allowtransparency","true","frameborder","0","width","290","height","96","scrolling","no","src",I8`//tianqi.2345.com/plugin/widget/index.htm?s=1&z=1&t=0&v=0&d=2&bd=0&k=&f=<f=009944&htf=cc0000&q=1&e=1&a=1&c=54511&w=290&h=96&align=center`,1,"tianqi"]],template:function(i,o){1&i&&(f(0,"div",1)(1,"div")(2,"h1",2),w(3),m(),A(4,"app-search-engine")(5,"app-web-list"),m()(),A(6,"app-fixbar",3),C(7,w6e,4,2,"div",4)),2&i&&(h("ngStyle",mr(7,v6e,"url("+o.shortcutThemeImage+")")),d(2),Z("color-black",!o.shortcutThemeImage),h("ngStyle",mr(9,b6e,o.shortcutThemeImage?"#fff":"")),d(),we(" ",o.settings.shortcutTitle||o.settings.title," "),d(3),h("showCollapse",!1),d(),h("ngIf",o.settings.shortcutThemeShowWeather))},dependencies:[St,ti,z2,B1,TP],styles:[".shortcut[_ngcontent-%COMP%]{position:fixed;inset:0;display:flex;justify-content:center;padding-top:150px;text-align:center;background-color:#00000005;background-repeat:no-repeat;background-size:cover;background-position:center}.shortcut[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:30px;font-weight:700}.shortcut[_ngcontent-%COMP%] .name{color:#fff!important}.tianqi[_ngcontent-%COMP%]{position:fixed;top:0;right:100px}"]})}return t})();const z6e=()=>({});function A6e(t,n){if(1&t){const e=W();f(0,"div",4)(1,"input",5),Ii("ngModelChange",function(o){S(e);const r=g();return Ui(r.authCode,o)||(r.authCode=o),T(o)}),m(),f(2,"button",6),M("click",function(){return S(e),T(g().handleSubmitAuthCode())}),w(3),m(),f(4,"div",7)(5,"p"),w(6),m(),f(7,"p"),w(8," \u53d1\u9001\u5230: xjh22222228@gmail.com \uff08\u5907\u6ce8\u5f00\u901a\u57df\u540d\uff0c\u652f\u4ed8\u6e20\u9053\u548c\u652f\u4ed8\u65f6\u95f4\uff0c\u6211\u4eec\u4f1a\u572824\u5c0f\u65f6\u5185\u53d1\u9001\u6388\u6743\u7801\u7ed9\u60a8\u90ae\u7bb1\uff09 "),m(),f(9,"p"),w(10,"\u4e00\u4e2a\u6388\u6743\u7801\u53ea\u7ed1\u5b9a\u4e00\u4e2a\u5168\u7ad9\u57df\u540d"),m(),A(11,"img",8),m()()}if(2&t){const e=g();d(),h("placeholder",e.$t("_inputAuthCode")),ki("ngModel",e.authCode),d(),h("nzLoading",e.submitting),d(),we(" ",e.$t("_save")," "),d(3),D(e.$t("_payTip"))}}function S6e(t,n){if(1&t&&A(0,"app-logo",24),2&t){const e=g().$implicit;h("src",e.icon)("name",e.name)}}function T6e(t,n){if(1&t&&(f(0,"nz-tag",25)(1,"a",26),w(2),m()()),2&t){const e=n.$implicit,i=g().$implicit,o=g(2);h("nzColor",o.tagMap[e]&&o.tagMap[e].color||"#1890ff"),d(),h("href",(null==i.urls?null:i.urls[e])||"javascript:void(0)",It)("target",null!=i.urls&&i.urls[e]?"_blank":""),d(),D(o.tagMap[e]&&o.tagMap[e].name)}}function M6e(t,n){if(1&t&&(f(0,"td",15),w(1),m()),2&t){const e=g().$implicit;d(),sm(" ",e.extra.oneName," / ",e.extra.twoName," / ",e.extra.threeName," ")}}function D6e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td")(2,"div")(3,"a",17),M("click",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).handleConfirmGet(r,s))}),w(4),m()(),f(5,"div",7)(6,"a",18),M("nzOnConfirm",function(){const o=S(e).index;return T(g(2).handleDelete(o))}),f(7,"b"),w(8),m()()()(),f(9,"td"),C(10,S6e,1,2,"app-logo",19),m(),f(11,"td")(12,"a",20),w(13),m()(),f(14,"td"),C(15,T6e,3,4,"nz-tag",21),m(),f(16,"td")(17,"pre",22),w(18),m()(),C(19,M6e,2,3,"td",23),f(20,"td"),w(21),m()()}if(2&t){const e=n.$implicit,i=g(2);d(4),D(i.$t("_collect")),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),D(i.$t("_del")),d(2),h("ngIf",e.icon),d(2),h("href",e.url,It),d(),D(e.name),d(2),h("ngForOf",i.objectKeys(e.urls||Si(10,z6e))),d(3),D(e.desc),d(),h("ngIf",e.extra),d(2),D(e.createdAt)}}function E6e(t,n){if(1&t){const e=W();f(0,"div")(1,"button",6),M("click",function(){return S(e),T(g().handleSubmit())}),w(2),m(),f(3,"button",9),M("click",function(){return S(e),T(g().logoutAuthCode())}),w(4),m(),f(5,"button",10),M("click",function(){return S(e),T(g().getUserCollect())}),w(6),m(),f(7,"div",11)(8,"b"),w(9,"\u5904\u7406\u5b8c\u6210\u6240\u6709\u6570\u636e\u540e\u9700\u8981\u70b9\u51fb\u4e00\u6b21\u4fdd\u5b58\u65b9\u53ef\u751f\u6548"),m()(),f(10,"nz-table",12,0)(12,"thead")(13,"tr")(14,"th",13),w(15),m(),f(16,"th",13),w(17),m(),f(18,"th",14),w(19),m(),f(20,"th",14),w(21),m(),f(22,"th",15),w(23),m(),f(24,"th",15),w(25,"\u5206\u7c7b\u4f4d\u7f6e"),m(),f(26,"th"),w(27),m()()(),f(28,"tbody"),C(29,D6e,22,11,"tr",16),m()()()}if(2&t){const e=g();d(),h("nzLoading",e.submitting),d(),we(" ",e.$t("_save")," "),d(),h("nzLoading",e.submitting),d(),we(" ",e.$t("_logoutAuthCode")," "),d(),h("nzLoading",e.submitting),d(),we(" ",e.$t("_refresh")," "),d(4),h("nzData",e.dataList)("nzShowPagination",!1),d(5),D(e.$t("_action")),d(2),D(e.$t("_icon")),d(2),D(e.$t("_webName")),d(2),D(e.$t("_webTag")),d(2),D(e.$t("_webDesc")),d(4),D(e.$t("_createAt")),d(2),h("ngForOf",e.dataList)("ngForTrackBy",e.trackByItem)}}let x6e=(()=>{class t{constructor(e,i,o){this.message=e,this.modal=i,this.notification=o,this.$t=be,this.objectKeys=Object.keys,this.submitting=!1,this.isPermission=!!Ug(),this.dataList=[],this.authCode="",this.tagMap=ju}ngOnInit(){this.getUserCollect()}handleDelete(e){this.submitting=!0,function Ate(t){return y5.apply(this,arguments)}({data:this.dataList[e]}).then(i=>{i.data.success&&(this.dataList=i.data.data)}).finally(()=>{this.submitting=!1})}getUserCollect(){this.submitting=!0,function Cte(t){return b5.apply(this,arguments)}().then(e=>{this.isPermission=!!e.data.success,e.data.success&&e.data.data&&(this.dataList=e.data.data)}).finally(()=>{this.submitting=!1})}handleSubmitAuthCode(){this.submitting||!this.authCode||(BM(this.authCode),this.getUserCollect())}logoutAuthCode(){(function EX(){window.localStorage.removeItem("AUTH_CODE")})(),window.location.reload()}handleConfirmGet(e,i){const o=this;try{const r=yn.findIndex(l=>l.title===e.extra.oneName),s=yn[r].nav.findIndex(l=>l.title===e.extra.twoName),a=yn[r].nav[s].nav.findIndex(l=>l.title===e.extra.threeName);Ei.emit("CREATE_WEB",{detail:e,oneIndex:r,twoIndex:s,threeIndex:a}),Ei.emit("SET_CREATE_WEB",{detail:null,callback(){o.handleDelete(i)}})}catch(r){this.notification.error(`${be("_error")}`,`\u6536\u5f55\u5931\u8d25\uff0c\u53ef\u80fd\u5206\u7c7b\u4f4d\u7f6e\u540d\u79f0\u53d1\u751f\u6539\u53d8\uff0c\u8bf7\u624b\u52a8\u5220\u9664\uff1a${r.message}`)}}handleSubmit(){this.submitting||this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{this.submitting=!0,vl({message:"update db",content:JSON.stringify(yn),path:Yg}).then(()=>{this.message.success(be("_syncSuccessTip"))}).finally(()=>{this.submitting=!1})}})}trackByItem(e,i){return i.id}static#e=this.\u0275fac=function(i){return new(i||t)(v(er),v(za),v(Op))};static#t=this.\u0275cmp=Q({type:t,selectors:[["user-collect"]],decls:3,vars:3,consts:[["basicTable",""],["nzTip","Loading...",3,"nzSpinning"],["class","center",4,"ngIf"],[4,"ngIf"],[1,"center"],["nz-input","","autofocus","",3,"ngModelChange","placeholder","ngModel"],["nz-button","","nzType","primary",1,"mt10",3,"click","nzLoading"],[1,"mt10"],["src","https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/img/32.png","width","600"],["nz-button","","nzType","primary","nzDanger","",1,"ml10",3,"click","nzLoading"],["nz-button","",1,"ml10",3,"click","nzLoading"],[1,"mb10","mt10"],[3,"nzData","nzShowPagination"],["nzWidth","80px"],["nzWidth","100px"],["nzWidth","300px"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"click"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"],[3,"src","name",4,"ngIf"],["target","_blank",3,"href"],["style","margin-bottom: 5px",3,"nzColor",4,"ngFor","ngForOf"],[1,"desc"],["nzWidth","300px",4,"ngIf"],[3,"src","name"],[2,"margin-bottom","5px",3,"nzColor"],[3,"href","target"]],template:function(i,o){1&i&&(f(0,"nz-spin",1),C(1,A6e,12,5,"div",2)(2,E6e,30,16,"div",3),m()),2&i&&(h("nzSpinning",o.submitting),d(),h("ngIf",!o.isPermission),d(),h("ngIf",o.isPermission))},dependencies:[zn,St,Gs,nr,mi,tr,wr,Zi,H1,U1,V2,Y1,N2,Hl,W1,Fv,JO,Xi,Fl],styles:[".add-btn[_ngcontent-%COMP%]{margin-bottom:20px;margin-right:20px}.desc[_ngcontent-%COMP%]{width:300px;white-space:pre-wrap}.ant-table-wrapper[_ngcontent-%COMP%]{overflow:auto}"]})}return t})();const k6e=()=>({});function I6e(t,n){if(1&t){const e=W();f(0,"div",8),M("click",function(){const o=S(e).index;return T(g().handleCilckNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index;Z("active",g().page===i),d(),we(" ",e.title," ")}}function O6e(t,n){if(1&t){const e=W();f(0,"span",14),M("click",function(){const o=S(e).index;return T(g(3).handleSidebarNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index;Z("active",g(3).id===i),d(),we(" ",e.title," ")}}function P6e(t,n){if(1&t&&(f(0,"nav",12),C(1,O6e,2,3,"span",13),m()),2&t){const e=g(2);d(),h("ngForOf",e.websiteList[e.page].nav)("ngForTrackBy",e.trackByItem)}}function V6e(t,n){if(1&t&&(f(0,"h2",18),w(1),m()),2&t){const e=g().$implicit;d(),la(" ",e.title," x ",e.nav.length," ")}}function N6e(t,n){if(1&t&&(f(0,"div",27)(1,"a",28),w(2),m()()),2&t){const e=n.$implicit,i=g().$implicit,o=g(3);Qo("background-color: "+(o.tagMap[e]&&o.tagMap[e].color||"#1890ff")),d(),h("href",(null==i.urls?null:i.urls[e])||"javascript:void(0)",It)("target",null!=i.urls&&i.urls[e]?"_blank":""),d(),D(o.tagMap[e]&&o.tagMap[e].name)}}function F6e(t,n){if(1&t&&(f(0,"div",19)(1,"a",20)(2,"div",21),A(3,"app-logo",22)(4,"div",23),m(),A(5,"pre",24),f(6,"div",25),C(7,N6e,3,5,"div",26),m()()()),2&t){const e=n.$implicit,i=g(3);d(),h("href",e.url,It),d(2),h("src",e.icon||"")("name",e.name)("size",30),d(),h("title",e.__name__||e.name)("innerHTML",e.name,Gn),d(),h("title",e.__desc__||e.desc)("innerHTML",e.desc,Gn),d(2),h("ngForOf",i.objectKeys(e.urls||Si(9,k6e)))}}function R6e(t,n){if(1&t&&(f(0,"div"),C(1,V6e,2,2,"h2",15),f(2,"div",16),C(3,F6e,8,10,"div",17),m()()),2&t){const e=n.$implicit,i=g(2);d(),h("ngIf",e.title),d(2),h("ngForOf",e.nav)("ngForTrackBy",i.trackByItem)}}function L6e(t,n){if(1&t&&(f(0,"div",9),C(1,P6e,2,2,"nav",10)(2,R6e,4,3,"div",11),m()),2&t){const e=g();d(),h("ngIf",null==e.websiteList[e.page]||null==e.websiteList[e.page].nav?null:e.websiteList[e.page].nav.length),d(),h("ngForOf",e.currentList)}}const B6e=[{path:"sim",component:C2e},{path:"super",component:a2e},{path:"side",component:g6e},{path:"shortcut",component:C6e},{path:"light",component:que,data:{renderLinear:!0}},{path:"app",component:(()=>{class t{constructor(e,i){this.router=e,this.activatedRoute=i,this.objectKeys=Object.keys,this.websiteList=yn,this.currentList=[],this.id=0,this.page=0,this.open=!1,this.LOGO_CDN=kn.favicon,this.tagMap=ju}ngOnInit(){this.activatedRoute.queryParams.subscribe(()=>{const{page:e,id:i,q:o}=pi();this.page=e,this.id=i,this.currentList=o?A1(this.websiteList,o):Hu()})}handleSidebarNav(e){const{page:i}=pi();this.router.navigate(["/app"],{queryParams:{page:i,id:e}})}handleCilckNav(e){this.router.navigate(["/app"],{queryParams:{page:e}}),this.open=!this.open}handleToggleOpen(){this.open=!this.open}trackByItem(e,i){return i.title}trackByItemWeb(e,i){return i.id}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-home"]],decls:13,vars:8,consts:[[1,"app-page","user-select-none"],[1,"header"],[1,"header-top"],["alt","logo",1,"logo",3,"src"],[1,"open",3,"click"],[1,"nav-open"],["class","nav-title",3,"active","click",4,"ngFor","ngForOf","ngForTrackBy"],["class","wrapper",4,"ngIf"],[1,"nav-title",3,"click"],[1,"wrapper"],["class","children-nav",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"children-nav"],["class","tag",3,"active","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"tag",3,"click"],["class","block-title",4,"ngIf"],[1,"row"],["class","item-list",4,"ngFor","ngForOf","ngForTrackBy"],[1,"block-title"],[1,"item-list"],["target","_blank",3,"href"],[1,"top"],[3,"src","name","size"],[1,"name",3,"title","innerHTML"],[1,"desc",3,"title","innerHTML"],[1,"tagbox"],["class","tag-item",3,"style",4,"ngFor","ngForOf"],[1,"tag-item"],[3,"href","target"]],template:function(i,o){1&i&&(f(0,"section",0)(1,"header",1)(2,"div",2),A(3,"img",3),f(4,"div",4),M("click",function(){return o.handleToggleOpen()}),A(5,"i")(6,"i")(7,"i"),m()(),f(8,"nav",5),C(9,I6e,2,3,"div",6),m()(),A(10,"app-search-engine"),C(11,L6e,3,2,"div",7),A(12,"app-footer"),m()),2&i&&(d(3),h("src",o.LOGO_CDN,It),d(),Z("active",o.open),d(4),Z("active",o.open),d(),h("ngForOf",o.websiteList)("ngForTrackBy",o.trackByItem),d(2),h("ngIf",o.websiteList[o.page]))},dependencies:[zn,St,A2,B1,Fl],styles:['.app-page[_ngcontent-%COMP%]{padding:45px 0 15px;min-height:100vh;background:#f6f6f6}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{z-index:9999;position:fixed;top:0;left:0;right:0;text-align:center;background:#fbfbfb;box-shadow:0 0 3px #ccc}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-top[_ngcontent-%COMP%]{position:relative;height:45px;border-bottom:1px solid #eee;background:#fbfbfb}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-top[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{display:inline-block;width:35px;height:35px;margin-top:4px;pointer-events:none}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .open[_ngcontent-%COMP%]{position:absolute;top:9px;left:15px;cursor:pointer}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .open[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{display:block;margin-top:6px;height:2px;width:25px;background:#999;transform-origin:right center;transition:.1s linear}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .open.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:nth-child(1){transform:rotate(-45deg)}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .open.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:nth-child(2){opacity:0}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .open.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:nth-child(3){transform:translateY(2px) rotate(45deg)}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .nav-open[_ngcontent-%COMP%]{display:none;box-shadow:1px 1px 5px #ccc;overflow:hidden;background:#fbfbfb;transition:.1s linear}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .nav-open.active[_ngcontent-%COMP%]{display:block}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .nav-title[_ngcontent-%COMP%]{display:inline-block;width:50%;font-size:16px;padding:8px 0}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .nav-title[_ngcontent-%COMP%]:active, .app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .nav-title.active[_ngcontent-%COMP%]{background:#0000000d}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]{margin:0 0 30px}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .children-nav[_ngcontent-%COMP%]{background:#fbfbfb;margin:0 0 15px;padding:10px 10px 5px;white-space:nowrap;overflow:auto;box-shadow:0 0 3px #ccc}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .children-nav[_ngcontent-%COMP%] .tag[_ngcontent-%COMP%]{position:relative;display:inline-block;font-size:14px;padding:3px 5px;margin:0 3px 5px 0;transition:background .1s linear;color:#333}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .children-nav[_ngcontent-%COMP%] .active[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:5px;left:50%;width:50%;transform:translate(-50%);height:3px;border-radius:2px;background:#20a0ff}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:10px;background:#fbfbfb;box-shadow:0 0 5px #ccc}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{display:inline-block;font-size:14px;margin-left:5px;width:calc(100% - 50px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%]{padding:10px;border-top:1px solid #eee;margin-top:8px;margin-bottom:0;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;font-size:12px}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .block-title[_ngcontent-%COMP%]{padding:10px 0 10px 15px;border-bottom:1px solid #eee;color:#3f51b5}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .top[_ngcontent-%COMP%]{padding:10px;display:flex;align-items:center}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#333}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .item-list[_ngcontent-%COMP%]{z-index:111;position:relative;width:calc(50% - 18px);margin:12px;border:1px solid #eee;overflow:hidden}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .item-list[_ngcontent-%COMP%]:nth-child(odd){margin-right:6px}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .item-list[_ngcontent-%COMP%]:nth-child(2n){margin-left:6px}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .item-list[_ngcontent-%COMP%]:hover .mark{bottom:0!important}.app-page[_ngcontent-%COMP%] .tagbox[_ngcontent-%COMP%]{display:flex;padding:0 8px 8px;flex-wrap:wrap}.app-page[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]{margin:6px 6px 0 0;padding:0 6px;border-radius:2px;font-size:12px;display:flex;align-items:center;transition:all .1s linear;color:#fff}.app-page[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:currentColor}.app-page[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]:hover{opacity:.8}.app-page[_ngcontent-%COMP%] #app-footer{margin-top:40px}.app-page[_ngcontent-%COMP%] #app-footer, .app-page[_ngcontent-%COMP%] #app-footer .copyright{margin-bottom:10px;color:#666}']})}return t})()},{path:"system",component:F2e,children:[{path:"info",component:R2e},{path:"bookmark",component:uhe},{path:"collect",component:x6e},{path:"about",component:hhe},{path:"tag",component:U4e},{path:"search",component:r3e},{path:"setting",component:q3e},{path:"angle",component:Xpe},{path:"web",component:Zpe},{path:"**",redirectTo:"/system/web"}]},{path:"**",redirectTo:"/"+kn.theme.toLowerCase()}];let H6e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[RM.forRoot(B6e,{useHash:Ns.hashMode}),RM]})}return t})();const Y6e=class j6e{constructor(n,e){Ei.on("MESSAGE",i=>{n[i.type](i.content)}),Ei.on("NOTIFICATION",i=>{e.create(i.type,i.title,i.content)})}};function U6e(t,n){1&t&&(f(0,"a",1),Dh(),f(1,"svg",2),A(2,"path",3)(3,"path",4),f(4,"path",5)(5,"style"),w(6," @keyframes octocat { 0%, 100% { transform: rotate(0); } 20%, 60% { transform: rotate(-25deg); } 40%, 80% { transform: rotate(100deg); } } .octo-arm { animation: octocat 1.1s linear infinite; } "),m()()()()),2&t&&h("href",g().gitRepoUrl,It)}let W6e=(()=>{class t{constructor(){this.gitRepoUrl="https://github.com/xjh22222228/nav-web"===Ns.gitRepoUrl?"https://github.com/xjh22222228/nav":Ns.gitRepoUrl,this.showGithub=kn.showGithub}ngOnInit(){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-icon-git"]],decls:1,vars:1,consts:[["target","_blank","rel","noreferer noopener","class","github-link",3,"href",4,"ngIf"],["target","_blank","rel","noreferer noopener",1,"github-link",3,"href"],["width","50","height","50","viewBox","0 0 250 250","aria-hidden","true",2,"fill","#20a0ff","color","#fff"],["d","M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"],["d","M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2","data-url","https://github.com/xjh22222228","fill","currentColor",1,"octo-arm",2,"transform-origin","130px 106px"],["d","M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z","fill","currentColor",1,"octo-body"]],template:function(i,o){1&i&&C(0,U6e,7,1,"a",0),2&i&&h("ngIf",o.gitRepoUrl&&o.showGithub)},dependencies:[St],styles:["@media (max-width: 580px){.github-link[_ngcontent-%COMP%]{display:none}}.github-link[_ngcontent-%COMP%]{position:fixed;top:-6px;right:-6px;border:0;z-index:10}"]})}return t})();const G6e=()=>({maxHeight:"70vh",overflowY:"auto"}),q6e=()=>({minRows:3,maxRows:5});function Q6e(t,n){1&t&&(f(0,"span",22),w(1,"/"),m())}function K6e(t,n){if(1&t&&(f(0,"span"),w(1),C(2,Q6e,2,0,"span",21),m()),2&t){const e=n.$implicit,i=n.index,o=g(3);d(),we("",e," "),d(),h("ngIf",i!==o.detail.breadcrumb.length-1)}}function $6e(t,n){if(1&t&&(f(0,"div",19),C(1,K6e,3,2,"span",20),m()),2&t){const e=g(2);d(),h("ngForOf",e.detail.breadcrumb)}}function J6e(t,n){if(1&t&&(f(0,"nz-form-item")(1,"nz-form-label",14),w(2),m(),f(3,"nz-form-control",14),A(4,"input",23),m()()),2&t){const e=g(2);d(),h("nzSpan",4),d(),D(e.$t("_sort")),d(),h("nzSpan",20)}}function Z6e(t,n){if(1&t&&(f(0,"nz-form-item")(1,"nz-form-label",14),w(2),m(),f(3,"nz-form-control",14),A(4,"nz-switch",24),m()()),2&t){const e=g(2);d(),h("nzSpan",4),d(),D(e.$t("_shortcut")),d(),h("nzSpan",20)}}function X6e(t,n){if(1&t&&(f(0,"nz-form-item")(1,"nz-form-label",14),w(2),m(),f(3,"nz-form-control",14),A(4,"nz-switch",25),m()()),2&t){const e=g(2);d(),h("nzSpan",4),d(),D(e.$t("_onlyOwnVisible")),d(),h("nzSpan",20)}}function e8e(t,n){1&t&&A(0,"app-logo",29),2&t&&h("src",g(4).iconUrl)("size",25)}function t8e(t,n){1&t&&C(0,e8e,1,2,"app-logo",28),2&t&&h("ngIf",g(3).iconUrl)}function n8e(t,n){1&t&&A(0,"i",31)}function i8e(t,n){if(1&t){const e=W();f(0,"label",32),A(1,"i",33),f(2,"input",34),M("change",function(o){return S(e),T(g(4).onChangeFile(o))}),m()()}if(2&t){const e=g(4);d(),h("title",e.$t("_upload"))}}function o8e(t,n){if(1&t&&C(0,n8e,1,0,"i",30)(1,i8e,3,1,"ng-template",null,2,ot),2&t){const e=Be(2);h("ngIf",g(3).uploading)("ngIfElse",e)}}function r8e(t,n){if(1&t&&(f(0,"nz-form-item")(1,"nz-form-label",14),w(2),m(),f(3,"nz-form-control",14)(4,"nz-input-group",26),A(5,"input",27),m(),C(6,t8e,1,1,"ng-template",null,0,ot)(8,o8e,3,2,"ng-template",null,1,ot),m()()),2&t){const e=Be(7),i=Be(9),o=g(2);d(),h("nzSpan",4),d(),D(o.$t("_iconAddr")),d(),h("nzSpan",20),d(),h("nzPrefix",e)("nzSuffix",i),d(),h("placeholder",o.$t("_copyUpload"))("readonly",o.getting)("placeholder",o.getting?o.$t("_pendingGet"):"")}}function s8e(t,n){1&t&&A(0,"app-logo",29),2&t&&h("src",g(4).iconUrl)("size",25)}function a8e(t,n){1&t&&C(0,s8e,1,2,"app-logo",28),2&t&&h("ngIf",g(3).iconUrl)}function l8e(t,n){if(1&t&&(f(0,"nz-form-item")(1,"nz-form-label",14),w(2),m(),f(3,"nz-form-control",14)(4,"nz-input-group",35),A(5,"input",36),m(),C(6,a8e,1,1,"ng-template",null,0,ot),m()()),2&t){const e=Be(7),i=g(2);d(),h("nzSpan",4),d(),D(i.$t("_iconAddr")),d(),h("nzSpan",20),d(),h("nzPrefix",e),d(),h("readonly",i.getting)("placeholder",i.getting?i.$t("_pendingGet"):"")}}function c8e(t,n){if(1&t&&A(0,"nz-option",43),2&t){const e=n.$implicit;h("nzLabel",e.name)("nzValue",e.id)}}function d8e(t,n){if(1&t&&(f(0,"nz-select",41),C(1,c8e,1,2,"nz-option",42),m()),2&t){const e=g(3);d(),h("ngForOf",e.tagList)}}function u8e(t,n){if(1&t){const e=W();f(0,"i",44),M("click",function(){S(e);const o=g().index;return T(g(2).lessMoreUrl(o))}),m()}}function h8e(t,n){if(1&t&&(f(0,"nz-form-item",37),A(1,"nz-form-label",38),f(2,"nz-form-control",14)(3,"nz-input-group",39),A(4,"input",40),m(),C(5,d8e,2,1,"ng-template",null,3,ot)(7,u8e,1,0,"ng-template",null,4,ot),m()()),2&t){const e=n.index,i=Be(6),o=Be(8),r=g(2);h("formGroupName",e),d(),h("nzSpan",4)("nzNoColon",!0),d(),h("nzSpan",20),d(),h("nzAddOnBefore",i)("nzAddOnAfter",o),d(),h("placeholder",r.$t("_tagPlaceholder"))}}function p8e(t,n){if(1&t){const e=W();f(0,"nz-form-item"),A(1,"nz-form-label",38),f(2,"nz-form-control",14)(3,"button",45),M("click",function(){return S(e),T(g(2).addMoreUrl())}),A(4,"i",46),w(5),m()()()}if(2&t){const e=g(2);d(),h("nzSpan",4)("nzNoColon",!0),d(),h("nzSpan",20),d(3),we("",e.$t("_continueAdd")," ")}}function f8e(t,n){if(1&t){const e=W();Ye(0),C(1,$6e,2,1,"div",7),f(2,"form",8)(3,"nz-form-item")(4,"nz-form-label",9),w(5),m(),f(6,"nz-form-control",10)(7,"input",11),M("blur",function(o){return S(e),T(g().onUrlBlur(o))}),m()()(),f(8,"nz-form-item")(9,"nz-form-label",9),w(10),m(),f(11,"nz-form-control",10),A(12,"input",12),m()(),C(13,J6e,5,3,"nz-form-item",13)(14,Z6e,5,3,"nz-form-item",13)(15,X6e,5,3,"nz-form-item",13),f(16,"nz-form-item")(17,"nz-form-label",14),w(18),m(),f(19,"nz-form-control",14),A(20,"nz-rate",15),m()(),C(21,r8e,10,8,"nz-form-item",13)(22,l8e,8,6,"nz-form-item",13),f(23,"nz-form-item")(24,"nz-form-label",14),w(25),m(),f(26,"nz-form-control",14)(27,"textarea",16),w(28," "),m()()(),f(29,"div",17),C(30,h8e,9,7,"nz-form-item",18),m(),C(31,p8e,6,4,"nz-form-item",13),m(),Ue()}if(2&t){const e=g();d(),h("ngIf",null==e.detail?null:e.detail.breadcrumb),d(),h("formGroup",e.validateForm),d(2),h("nzSpan",4),d(),D(e.$t("_webLink")),d(),h("nzSpan",20)("nzErrorTip",e.$t("_requiredLink")),d(3),h("nzSpan",4),d(),D(e.$t("_webName")),d(),h("nzSpan",20)("nzErrorTip",e.$t("_requiredName")),d(),h("placeholder",e.$t("_webTitle"))("readonly",e.getting)("placeholder",e.getting?e.$t("_pendingGet"):""),d(),h("ngIf",e.isLogin),d(),h("ngIf",e.isLogin),d(),h("ngIf",e.isLogin),d(2),h("nzSpan",4),d(),D(e.$t("_score")),d(),h("nzSpan",20),d(2),h("ngIf",e.isLogin),d(),h("ngIf",!e.isLogin),d(2),h("nzSpan",4),d(),D(e.$t("_webDesc")),d(),h("nzSpan",20),d(),h("placeholder",e.settings.description)("nzAutosize",Si(30,q6e))("readonly",e.getting)("placeholder",e.getting?e.$t("_pendingGet"):""),d(3),h("ngForOf",e.urlArray.controls),d(),h("ngIf",e.tagList.length>0)}}let m8e=(()=>{class t{constructor(e,i){this.fb=e,this.message=i,this.onOk=new B,this.$t=be,this.isLogin=Gi,this.iconUrl="",this.tagList=h3,this.uploading=!1,this.getting=!1,this.settings=kn,this.showModal=!1,this.detail=null,this.callback=()=>{},Ei.on("CREATE_WEB",o=>{this.open(this,o)}),Ei.on("SET_CREATE_WEB",o=>{for(const r in o)this[r]=o[r]}),this.validateForm=this.fb.group({title:["",[q7.required]],url:["",[q7.required]],top:[!1],ownVisible:[!1],rate:[5],icon:[""],desc:[""],index:[""],urlArr:this.fb.array([])})}get urlArray(){return this.validateForm.get("urlArr")}open(e,i={}){const o=i.detail;if(e.detail=o,e.showModal=!0,e.oneIndex=i.oneIndex,e.twoIndex=i.twoIndex,e.threeIndex=i.threeIndex,this.validateForm.get("title").setValue(fs(o?.name)),this.validateForm.get("desc").setValue(fs(o?.desc)),this.validateForm.get("index").setValue(o?.index??""),this.validateForm.get("icon").setValue(o?.icon||""),this.validateForm.get("url").setValue(o?.url||""),this.validateForm.get("top").setValue(o?.top??!1),this.validateForm.get("ownVisible").setValue(o?.ownVisible??!1),this.validateForm.get("rate").setValue(o?.rate??5),o&&"object"==typeof o.urls)for(let r in o.urls)this.validateForm?.get("urlArr").push?.(this.fb.group({id:Number(r),name:ju[r]?.name??"",url:o.urls[r]}))}onClose(){this.validateForm.get("urlArr").controls=[],this.validateForm.reset(),this.showModal=!1,this.detail=null,this.iconUrl="",this.oneIndex=void 0,this.twoIndex=void 0,this.threeIndex=void 0,this.uploading=!1,this.callback=Function}onUrlBlur(e){var i=this;return Mi(function*(){const o=e.target?.value;if(!o)return;i.getting=!0;const r=yield function kte(t){return A5.apply(this,arguments)}(o);null!=r.url&&(i.iconUrl=r.url,i.validateForm.get("icon").setValue(i.iconUrl)),null!=r.title&&i.validateForm.get("title").setValue(r.title),null!=r.description&&i.validateForm.get("desc").setValue(r.description),!1===r.status&&i.message.error("\u81ea\u52a8\u6293\u53d6\u5931\u8d25\uff0c\u8bf7\u624b\u52a8\u5199\u5165"),i.getting=!1})()}addMoreUrl(){this.validateForm.get("urlArr").push(this.fb.group({id:"",name:"",url:""}))}lessMoreUrl(e){this.validateForm.get("urlArr").removeAt(e)}handleUploadImage(e){const i=this,o=new FileReader;o.readAsDataURL(e),o.onload=function(){i.uploading=!0,i.iconUrl=this.result;const r=i.iconUrl.split(",")[1],s=`nav-${Date.now()}-${e.name}`;JD({branch:"image",message:"create image",content:r,isEncode:!1,path:s}).then(()=>{i.validateForm.get("icon").setValue(s),i.message.success(be("_uploadSuccess"))}).finally(()=>{i.uploading=!1})}}onChangeFile(e){const{files:i}=e.target;if(i.length<=0)return;const o=i[0];if(!o.type.startsWith("image"))return this.message.error(be("_notUpload"));this.handleUploadImage(o)}handleOk(){var e=this;return Mi(function*(){for(const z in e.validateForm.controls)e.validateForm.controls[z].markAsDirty(),e.validateForm.controls[z].updateValueAndValidity();const i=(new Date).toString();let o={},{title:r,icon:s,url:a,top:l,ownVisible:c,rate:u,desc:p,index:b}=e.validateForm.value;if(!r||!a)return;r=r.trim(),(e.validateForm.get("urlArr")?.value||[]).forEach(z=>{null!=z.id&&(o[z.id]=z.url)});const y={id:-Date.now(),name:r,createdAt:e.detail?.createdAt??i,rate:u??5,desc:p||"",top:l??!1,index:b,ownVisible:c??!1,icon:s,url:a,urls:o};if(e.detail)!function Ote(t,n){const e=Object.keys(n);let i=!1;return function o(r){for(let s=0;sqe.name===y.name))return e.message.error(`${be("_repeatAdd")} "${y.name}"`);if(e.uploading=!0,e.isLogin)pe.unshift(y),Un(yn),e.message.success(be("_addSuccess"));else if(e.settings.allowCollect){const qe=yield function zte(t){return _5.apply(this,arguments)}({email:e.settings.email,data:{...y,extra:{type:"create",oneName:yn[x].title,twoName:yn[x].nav[k].title,threeName:yn[x].nav[k].nav[ie].title}}});e.message.error(!1===qe.data.success?qe.data.message:be("_waitHandle"))}}catch(z){e.message.error(z.message)}e.callback(),e.onOk?.emit?.(y),e.onClose()})()}static#e=this.\u0275fac=function(i){return new(i||t)(v(fv),v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-create-web"]],outputs:{onOk:"onOk"},decls:2,vars:6,consts:[["prefixIcon",""],["suffixIconSearch",""],["loading",""],["addOnBeforeTemplate",""],["addOnAfterTemplate",""],[3,"nzVisibleChange","nzOnCancel","nzOnOk","nzWidth","nzVisible","nzTitle","nzOkLoading","nzBodyStyle"],[4,"nzModalContent"],["class","breadcrumb1",4,"ngIf"],["nz-form","",3,"formGroup"],["nzRequired","",3,"nzSpan"],[3,"nzSpan","nzErrorTip"],["formControlName","url","nz-input","","placeholder","https://github.com/xjh22222228/nav",3,"blur"],["formControlName","title","nz-input","",3,"placeholder","readonly"],[4,"ngIf"],[3,"nzSpan"],["formControlName","rate","nzAllowHalf",""],["formControlName","desc","nz-input","",1,"dark-scrollbar",3,"placeholder","nzAutosize","readonly"],["formArrayName","urlArr"],[3,"formGroupName",4,"ngFor","ngForOf"],[1,"breadcrumb1"],[4,"ngFor","ngForOf"],["class","arrow",4,"ngIf"],[1,"arrow"],["formControlName","index","nz-input","","type","number","placeholder","-1024"],["formControlName","top"],["formControlName","ownVisible"],[3,"nzPrefix","nzSuffix"],["formControlName","icon","nz-input","",3,"placeholder","readonly"],[3,"src","size",4,"ngIf"],[3,"src","size"],["nz-icon","","nzType","loading","nzTheme","outline",4,"ngIf","ngIfElse"],["nz-icon","","nzType","loading","nzTheme","outline"],["id","file"],["nz-icon","","nzType","upload","nzTheme","outline",1,"cursor-pointer",3,"title"],["type","file","name","file","accept","image/*",1,"file-upload",3,"change"],[3,"nzPrefix"],["formControlName","icon","nz-input","",3,"readonly","placeholder"],[3,"formGroupName"],[3,"nzSpan","nzNoColon"],[3,"nzAddOnBefore","nzAddOnAfter"],["formControlName","url","type","text","nz-input","",3,"placeholder"],["formControlName","id",2,"width","100px"],[3,"nzLabel","nzValue",4,"ngFor","ngForOf"],[3,"nzLabel","nzValue"],["nz-icon","","nzType","minus","nzTheme","outline",1,"cursor-pointer",3,"click"],["nz-button","","nzType","default","nzBlock","",3,"click"],["nz-icon","","nzType","plus"]],template:function(i,o){1&i&&(f(0,"nz-modal",5),Ii("nzVisibleChange",function(s){return Ui(o.showModal,s)||(o.showModal=s),s}),M("nzOnCancel",function(){return o.onClose()})("nzOnOk",function(){return o.handleOk()}),C(1,f8e,32,31,"ng-container",6),m()),2&i&&(h("nzWidth",570),ki("nzVisible",o.showModal),h("nzTitle",o.$t(o.detail?"_edit":"_add"))("nzOkLoading",o.uploading||o.getting)("nzBodyStyle",Si(5,G6e)))},dependencies:[zn,St,lp,y2,Gs,Dp,bO,vO,Vl,Nl,D1,wl,F2,Np,Rp,Fp,nr,mi,tr,Sp,wr,lv,Zi,gp,R1,L1,Tp,Mp,ln,bv,Vp,Fl],styles:[".file-upload[_ngcontent-%COMP%]{display:none!important}.row[_ngcontent-%COMP%]{display:flex;justify-content:space-around}.breadcrumb1[_ngcontent-%COMP%]{margin-bottom:10px;padding-left:5px;font-weight:700}.breadcrumb1[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{margin:0 8px 0 5px}@media (max-width: 580px){ .ant-modal{top:0}}"]})}return t})();function g8e(t,n){if(1&t&&A(0,"nz-option",7),2&t){const i=n.index;h("nzLabel",n.$implicit.title)("nzValue",i)}}function v8e(t,n){if(1&t&&A(0,"nz-option",7),2&t){const i=n.index;h("nzLabel",n.$implicit.title||"")("nzValue",i)}}function b8e(t,n){if(1&t&&A(0,"nz-option",7),2&t){const i=n.index;h("nzLabel",n.$implicit.title||"")("nzValue",i)}}function _8e(t,n){if(1&t){const e=W();Ye(0),f(1,"nz-select",2),M("ngModelChange",function(o){return S(e),T(g().hanldeOneSelect(o))}),C(2,g8e,1,2,"nz-option",3),m(),f(3,"nz-select",4),M("ngModelChange",function(o){return S(e),T(g().hanldeTwoSelect(o))}),C(4,v8e,1,2,"nz-option",3),m(),f(5,"nz-select",4),M("ngModelChange",function(o){return S(e),T(g().hanldeThreeSelect(o))}),C(6,b8e,1,2,"nz-option",3),m(),f(7,"div",5)(8,"label",6),Ii("ngModelChange",function(o){S(e);const r=g();return Ui(r.checked,o)||(r.checked=o),T(o)}),w(9),m()(),Ue()}if(2&t){const e=g();d(),h("ngModel",e.oneSelect)("nzPlaceHolder",e.$t("_sel1")),d(),h("ngForOf",e.websiteList),d(),h("ngModel",e.twoSelect)("nzPlaceHolder",e.$t("_sel2")),d(),h("ngForOf",e.twoOptList),d(),h("ngModel",e.threeSelect)("nzPlaceHolder",e.$t("_sel3")),d(),h("ngForOf",e.threeOptList),d(2),ki("ngModel",e.checked),d(),D(e.$t("_copy"))}}let y8e=(()=>{class t{constructor(e){this.message=e,this.$t=be,this.websiteList=yn,this.twoOptList=[],this.threeOptList=[],this.checked=!1,this.moveSites=[],this.showModal=!1,this.indexs=[],Ei.on("MOVE_WEB",i=>{this.open(this,i)})}ngOnInit(){}open(e,i){e.indexs=i.indexs,e.moveSites=i.data,e.showModal=!0}pushMoveSites(e){this.moveSites=e}hanldeOneSelect(e){this.oneSelect=e;const i=this.websiteList[e].title,o=this.websiteList.find(r=>r.title===i);this.twoOptList=o.nav,this.twoSelect=void 0,this.threeSelect=void 0}hanldeTwoSelect(e){this.twoSelect=e;const i=this.twoOptList[e].title,o=this.twoOptList.find(r=>r.title===i);this.threeOptList=o.nav,this.threeSelect=void 0}hanldeThreeSelect(e){this.threeSelect=e}handleCancel(){this.showModal=!1}hanldeOk(){if(null==this.threeSelect)return this.message.error(be("_sel3"));const e=this.indexs.filter(i=>null!=i);if(4!==e.length)return this.message.error(`move web: indexs\u6570\u91cf\u4e0d\u6b63\u786e${e.join(",")}`);try{const i=this.oneSelect,o=this.twoSelect,r=this.threeSelect;this.moveSites.forEach(s=>{if(this.websiteList[i].nav[o].nav[r].nav.find(l=>l.name===s.name))this.message.error(`${be("_repeatAdd")} "${s.name}"`);else{if(this.websiteList[i].nav[o].nav[r].nav.unshift(s),!this.checked){const[l,c,u,p]=e;this.websiteList[l].nav[c].nav[u].nav.splice(p,1)}this.message.success(`"${s.name}" ${be("_moveSuccess")}`)}}),Un(this.websiteList),this.handleCancel()}catch(i){this.message.error(i.message)}}static#e=this.\u0275fac=function(i){return new(i||t)(v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-move-web"]],decls:2,vars:3,consts:[[3,"nzVisibleChange","nzOnCancel","nzOnOk","nzWidth","nzVisible","nzTitle"],[4,"nzModalContent"],["nzShowSearch","",2,"width","160px",3,"ngModelChange","ngModel","nzPlaceHolder"],[3,"nzLabel","nzValue",4,"ngFor","ngForOf"],["nzShowSearch","",2,"width","160px","margin-left","15px",3,"ngModelChange","ngModel","nzPlaceHolder"],[1,"act"],["nz-checkbox","",3,"ngModelChange","ngModel"],[3,"nzLabel","nzValue"]],template:function(i,o){1&i&&(f(0,"nz-modal",0),Ii("nzVisibleChange",function(s){return Ui(o.showModal,s)||(o.showModal=s),s}),M("nzOnCancel",function(){return o.handleCancel()})("nzOnOk",function(){return o.hanldeOk()}),C(1,_8e,10,11,"ng-container",1),m()),2&i&&(h("nzWidth",560),ki("nzVisible",o.showModal),h("nzTitle",o.$t("_moveTo")))},dependencies:[zn,lp,y2,Vl,Nl,Zi,Rl,Xi],styles:[".act[_ngcontent-%COMP%]{margin-top:30px}"]})}return t})();function w8e(t,n){1&t&&A(0,"app-move-web")}let C8e=(()=>{class t{constructor(e,i,o,r,s){this.router=e,this.activatedRoute=i,this.i18n=o,this.message=r,this.notification=s,this.isLogin=Gi,new Y6e(r,s)}ngOnInit(){this.goRoute(),this.activatedRoute.queryParams.subscribe(Dte),"zh-CN"===X5()?this.i18n.setLocale(D7):this.i18n.setLocale(Ek);const e=j4();e&&$D(e).catch(()=>{HM(),setTimeout(()=>{location.reload()},3e3)})}goRoute(){if("Current"!==kn.appTheme&&"ontouchstart"in window){const e=(this.router.url.split("?")[0]||"").toLowerCase(),{page:i,id:o,q:r}=pi(),s={page:i,id:o,q:r},a="/"+String(kn.appTheme).toLowerCase();e.includes(a)||this.router.navigate([a],{queryParams:s})}}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo),v(Ys),v(er),v(Op))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-xiejiahe"]],decls:5,vars:1,consts:[["id","xiejiahe"],[4,"ngIf"]],template:function(i,o){1&i&&(f(0,"div",0),A(1,"app-icon-git")(2,"router-outlet")(3,"app-create-web"),C(4,w8e,1,0,"app-move-web",1),m()),2&i&&(d(4),h("ngIf",o.isLogin))},dependencies:[St,P4,W6e,m8e,y8e]})}return t})();function MP(t){return new j(3e3,!1)}function Da(t){switch(t.length){case 0:return new e2;case 1:return t[0];default:return new QE(t)}}function DP(t,n,e=new Map,i=new Map){const o=[],r=[];let s=-1,a=null;if(n.forEach(l=>{const c=l.get("offset"),u=c==s,p=u&&a||new Map;l.forEach((b,_)=>{let y=_,z=b;if("offset"!==_)switch(y=t.normalizePropertyName(y,o),z){case"!":z=e.get(_);break;case Bs:z=i.get(_);break;default:z=t.normalizeStyleValue(_,y,z,o)}p.set(y,z)}),u||r.push(p),a=p,s=c}),o.length)throw function W8e(t){return new j(3502,!1)}();return r}function Rv(t,n,e,i){switch(n){case"start":t.onStart(()=>i(e&&Lv(e,"start",t)));break;case"done":t.onDone(()=>i(e&&Lv(e,"done",t)));break;case"destroy":t.onDestroy(()=>i(e&&Lv(e,"destroy",t)))}}function Lv(t,n,e){const r=Bv(t.element,t.triggerName,t.fromState,t.toState,n||t.phaseName,e.totalTime??t.totalTime,!!e.disabled),s=t._data;return null!=s&&(r._data=s),r}function Bv(t,n,e,i,o="",r=0,s){return{element:t,triggerName:n,fromState:e,toState:i,phaseName:o,totalTime:r,disabled:!!s}}function ir(t,n,e){let i=t.get(n);return i||t.set(n,i=e),i}function EP(t){const n=t.indexOf(":");return[t.substring(1,n),t.slice(n+1)]}const ife=typeof document>"u"?null:document.documentElement;function Hv(t){const n=t.parentNode||t.host||null;return n===ife?null:n}let jl=null,xP=!1;function kP(t,n){for(;n;){if(n===t)return!0;n=Hv(n)}return!1}function IP(t,n,e){if(e)return Array.from(t.querySelectorAll(n));const i=t.querySelector(n);return i?[i]:[]}let jv=(()=>{class t{validateStyleProperty(e){return function rfe(t){jl||(jl=function sfe(){return typeof document<"u"?document.body:null}()||{},xP=!!jl.style&&"WebkitAppearance"in jl.style);let n=!0;return jl.style&&!function ofe(t){return"ebkit"==t.substring(1,6)}(t)&&(n=t in jl.style,!n&&xP&&(n="Webkit"+t.charAt(0).toUpperCase()+t.slice(1)in jl.style)),n}(e)}containsElement(e,i){return kP(e,i)}getParentElement(e){return Hv(e)}query(e,i,o){return IP(e,i,o)}computeStyle(e,i,o){return o||""}animate(e,i,o,r,s,a=[],l){return new e2(o,r)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();class Yv{static#e=this.NOOP=new jv}class Uv{}const lfe=1e3,Wv="ng-enter",Yp="ng-leave",Up="ng-trigger",Wp=".ng-trigger",PP="ng-animating",Gv=".ng-animating";function qs(t){if("number"==typeof t)return t;const n=t.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:qv(parseFloat(n[1]),n[2])}function qv(t,n){return"s"===n?t*lfe:t}function Gp(t,n,e){return t.hasOwnProperty("duration")?t:function dfe(t,n,e){let o,r=0,s="";if("string"==typeof t){const a=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return n.push(MP()),{duration:0,delay:0,easing:""};o=qv(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(r=qv(parseFloat(l),a[4]));const c=a[5];c&&(s=c)}else o=t;if(!e){let a=!1,l=n.length;o<0&&(n.push(function z8e(){return new j(3100,!1)}()),a=!0),r<0&&(n.push(function A8e(){return new j(3101,!1)}()),a=!0),a&&n.splice(l,0,MP())}return{duration:o,delay:r,easing:s}}(t,n,e)}function bs(t,n,e){n.forEach((i,o)=>{const r=Kv(o);e&&!e.has(o)&&e.set(o,t.style[r]),t.style[r]=i})}function Yl(t,n){n.forEach((e,i)=>{const o=Kv(i);t.style[o]=""})}function L2(t){return Array.isArray(t)?1==t.length?t[0]:function Lne(t,n=null){return{type:ct.Sequence,steps:t,options:n}}(t):t}const Qv=new RegExp("{{\\s*(.+?)\\s*}}","g");function NP(t){let n=[];if("string"==typeof t){let e;for(;e=Qv.exec(t);)n.push(e[1]);Qv.lastIndex=0}return n}function B2(t,n,e){const i=`${t}`,o=i.replace(Qv,(r,s)=>{let a=n[s];return null==a&&(e.push(function T8e(t){return new j(3003,!1)}()),a=""),a.toString()});return o==i?t:o}const pfe=/-+([a-z0-9])/g;function Kv(t){return t.replace(pfe,(...n)=>n[1].toUpperCase())}function or(t,n,e){switch(n.type){case ct.Trigger:return t.visitTrigger(n,e);case ct.State:return t.visitState(n,e);case ct.Transition:return t.visitTransition(n,e);case ct.Sequence:return t.visitSequence(n,e);case ct.Group:return t.visitGroup(n,e);case ct.Animate:return t.visitAnimate(n,e);case ct.Keyframes:return t.visitKeyframes(n,e);case ct.Style:return t.visitStyle(n,e);case ct.Reference:return t.visitReference(n,e);case ct.AnimateChild:return t.visitAnimateChild(n,e);case ct.AnimateRef:return t.visitAnimateRef(n,e);case ct.Query:return t.visitQuery(n,e);case ct.Stagger:return t.visitStagger(n,e);default:throw function M8e(t){return new j(3004,!1)}()}}function $v(t,n){return window.getComputedStyle(t)[n]}const gfe=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class FP extends Uv{normalizePropertyName(n,e){return Kv(n)}normalizeStyleValue(n,e,i,o){let r="";const s=i.toString().trim();if(gfe.has(e)&&0!==i&&"0"!==i)if("number"==typeof i)r="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&o.push(function D8e(t,n){return new j(3005,!1)}())}return s+r}}const qp="*";const Qp=new Set(["true","1"]),Kp=new Set(["false","0"]);function RP(t,n){const e=Qp.has(t)||Kp.has(t),i=Qp.has(n)||Kp.has(n);return(o,r)=>{let s=t==qp||t==o,a=n==qp||n==r;return!s&&e&&"boolean"==typeof o&&(s=o?Qp.has(t):Kp.has(t)),!a&&i&&"boolean"==typeof r&&(a=r?Qp.has(n):Kp.has(n)),s&&a}}const yfe=new RegExp("s*:selfs*,?","g");function Jv(t,n,e,i){return new wfe(t).build(n,e,i)}class wfe{constructor(n){this._driver=n}build(n,e,i){const o=new Afe(e);return this._resetContextStyleTimingState(o),or(this,L2(n),o)}_resetContextStyleTimingState(n){n.currentQuerySelector="",n.collectedStyles=new Map,n.collectedStyles.set("",new Map),n.currentTime=0}visitTrigger(n,e){let i=e.queryCount=0,o=e.depCount=0;const r=[],s=[];return"@"==n.name.charAt(0)&&e.errors.push(function E8e(){return new j(3006,!1)}()),n.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),a.type==ct.State){const l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(u=>{l.name=u,r.push(this.visitState(l,e))}),l.name=c}else if(a.type==ct.Transition){const l=this.visitTransition(a,e);i+=l.queryCount,o+=l.depCount,s.push(l)}else e.errors.push(function x8e(){return new j(3007,!1)}())}),{type:ct.Trigger,name:n.name,states:r,transitions:s,queryCount:i,depCount:o,options:null}}visitState(n,e){const i=this.visitStyle(n.styles,e),o=n.options&&n.options.params||null;if(i.containsDynamicStyles){const r=new Set,s=o||{};i.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{NP(l).forEach(c=>{s.hasOwnProperty(c)||r.add(c)})})}),r.size&&e.errors.push(function k8e(t,n){return new j(3008,!1)}(0,r.values()))}return{type:ct.State,name:n.name,style:i,options:o?{params:o}:null}}visitTransition(n,e){e.queryCount=0,e.depCount=0;const i=or(this,L2(n.animation),e),o=function vfe(t,n){const e=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(i=>function bfe(t,n,e){if(":"==t[0]){const l=function _fe(t,n){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(t,e);if("function"==typeof l)return void n.push(l);t=l}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function B8e(t){return new j(3015,!1)}()),n;const o=i[1],r=i[2],s=i[3];n.push(RP(o,s)),"<"==r[0]&&(o!=qp||s!=qp)&&n.push(RP(s,o))}(i,e,n)):e.push(t),e}(n.expr,e.errors);return{type:ct.Transition,matchers:o,animation:i,queryCount:e.queryCount,depCount:e.depCount,options:Ul(n.options)}}visitSequence(n,e){return{type:ct.Sequence,steps:n.steps.map(i=>or(this,i,e)),options:Ul(n.options)}}visitGroup(n,e){const i=e.currentTime;let o=0;const r=n.steps.map(s=>{e.currentTime=i;const a=or(this,s,e);return o=Math.max(o,e.currentTime),a});return e.currentTime=o,{type:ct.Group,steps:r,options:Ul(n.options)}}visitAnimate(n,e){const i=function Tfe(t,n){if(t.hasOwnProperty("duration"))return t;if("number"==typeof t)return Zv(Gp(t,n).duration,0,"");const e=t;if(e.split(/\s+/).some(r=>"{"==r.charAt(0)&&"{"==r.charAt(1))){const r=Zv(0,0,"");return r.dynamic=!0,r.strValue=e,r}const o=Gp(e,n);return Zv(o.duration,o.delay,o.easing)}(n.timings,e.errors);e.currentAnimateTimings=i;let o,r=n.styles?n.styles:Ke({});if(r.type==ct.Keyframes)o=this.visitKeyframes(r,e);else{let s=n.styles,a=!1;if(!s){a=!0;const c={};i.easing&&(c.easing=i.easing),s=Ke(c)}e.currentTime+=i.duration+i.delay;const l=this.visitStyle(s,e);l.isEmptyStep=a,o=l}return e.currentAnimateTimings=null,{type:ct.Animate,timings:i,style:o,options:null}}visitStyle(n,e){const i=this._makeStyleAst(n,e);return this._validateStyleAst(i,e),i}_makeStyleAst(n,e){const i=[],o=Array.isArray(n.styles)?n.styles:[n.styles];for(let a of o)"string"==typeof a?a===Bs?i.push(a):e.errors.push(new j(3002,!1)):i.push(new Map(Object.entries(a)));let r=!1,s=null;return i.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(s=a.get("easing"),a.delete("easing")),!r))for(let l of a.values())if(l.toString().indexOf("{{")>=0){r=!0;break}}),{type:ct.Style,styles:i,easing:s,offset:n.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(n,e){const i=e.currentAnimateTimings;let o=e.currentTime,r=e.currentTime;i&&r>0&&(r-=i.duration+i.delay),n.styles.forEach(s=>{"string"!=typeof s&&s.forEach((a,l)=>{const c=e.collectedStyles.get(e.currentQuerySelector),u=c.get(l);let p=!0;u&&(r!=o&&r>=u.startTime&&o<=u.endTime&&(e.errors.push(function O8e(t,n,e,i,o){return new j(3010,!1)}()),p=!1),r=u.startTime),p&&c.set(l,{startTime:r,endTime:o}),e.options&&function hfe(t,n,e){const i=n.params||{},o=NP(t);o.length&&o.forEach(r=>{i.hasOwnProperty(r)||e.push(function S8e(t){return new j(3001,!1)}())})}(a,e.options,e.errors)})})}visitKeyframes(n,e){const i={type:ct.Keyframes,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function P8e(){return new j(3011,!1)}()),i;let r=0;const s=[];let a=!1,l=!1,c=0;const u=n.steps.map(x=>{const k=this._makeStyleAst(x,e);let ie=null!=k.offset?k.offset:function Sfe(t){if("string"==typeof t)return null;let n=null;if(Array.isArray(t))t.forEach(e=>{if(e instanceof Map&&e.has("offset")){const i=e;n=parseFloat(i.get("offset")),i.delete("offset")}});else if(t instanceof Map&&t.has("offset")){const e=t;n=parseFloat(e.get("offset")),e.delete("offset")}return n}(k.styles),pe=0;return null!=ie&&(r++,pe=k.offset=ie),l=l||pe<0||pe>1,a=a||pe0&&r{const ie=b>0?k==_?1:b*k:s[k],pe=ie*E;e.currentTime=y+z.delay+pe,z.duration=pe,this._validateStyleAst(x,e),x.offset=ie,i.styles.push(x)}),i}visitReference(n,e){return{type:ct.Reference,animation:or(this,L2(n.animation),e),options:Ul(n.options)}}visitAnimateChild(n,e){return e.depCount++,{type:ct.AnimateChild,options:Ul(n.options)}}visitAnimateRef(n,e){return{type:ct.AnimateRef,animation:this.visitReference(n.animation,e),options:Ul(n.options)}}visitQuery(n,e){const i=e.currentQuerySelector,o=n.options||{};e.queryCount++,e.currentQuery=n;const[r,s]=function Cfe(t){const n=!!t.split(/\s*,\s*/).find(e=>":self"==e);return n&&(t=t.replace(yfe,"")),t=t.replace(/@\*/g,Wp).replace(/@\w+/g,e=>Wp+"-"+e.slice(1)).replace(/:animating/g,Gv),[t,n]}(n.selector);e.currentQuerySelector=i.length?i+" "+r:r,ir(e.collectedStyles,e.currentQuerySelector,new Map);const a=or(this,L2(n.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:ct.Query,selector:r,limit:o.limit||0,optional:!!o.optional,includeSelf:s,animation:a,originalSelector:n.selector,options:Ul(n.options)}}visitStagger(n,e){e.currentQuery||e.errors.push(function R8e(){return new j(3013,!1)}());const i="full"===n.timings?{duration:0,delay:0,easing:"full"}:Gp(n.timings,e.errors,!0);return{type:ct.Stagger,animation:or(this,L2(n.animation),e),timings:i,options:null}}}class Afe{constructor(n){this.errors=n,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Ul(t){return t?(t={...t}).params&&(t.params=function zfe(t){return t?{...t}:null}(t.params)):t={},t}function Zv(t,n,e){return{duration:t,delay:n,easing:e}}function Xv(t,n,e,i,o,r,s=null,a=!1){return{type:1,element:t,keyframes:n,preStyleProps:e,postStyleProps:i,duration:o,delay:r,totalTime:o+r,easing:s,subTimeline:a}}class $p{constructor(){this._map=new Map}get(n){return this._map.get(n)||[]}append(n,e){let i=this._map.get(n);i||this._map.set(n,i=[]),i.push(...e)}has(n){return this._map.has(n)}clear(){this._map.clear()}}const Efe=new RegExp(":enter","g"),kfe=new RegExp(":leave","g");function e9(t,n,e,i,o,r=new Map,s=new Map,a,l,c=[]){return(new Ife).buildKeyframes(t,n,e,i,o,r,s,a,l,c)}class Ife{buildKeyframes(n,e,i,o,r,s,a,l,c,u=[]){c=c||new $p;const p=new t9(n,e,c,o,r,u,[]);p.options=l;const b=l.delay?qs(l.delay):0;p.currentTimeline.delayNextStep(b),p.currentTimeline.setStyles([s],null,p.errors,l),or(this,i,p);const _=p.timelines.filter(y=>y.containsAnimation());if(_.length&&a.size){let y;for(let z=_.length-1;z>=0;z--){const E=_[z];if(E.element===e){y=E;break}}y&&!y.allowOnlyTimelineStyles()&&y.setStyles([a],null,p.errors,l)}return _.length?_.map(y=>y.buildKeyframes()):[Xv(e,[],[],[],0,b,"",!1)]}visitTrigger(n,e){}visitState(n,e){}visitTransition(n,e){}visitAnimateChild(n,e){const i=e.subInstructions.get(e.element);if(i){const o=e.createSubContext(n.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,o,o.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=n}visitAnimateRef(n,e){const i=e.createSubContext(n.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([n.options,n.animation.options],e,i),this.visitReference(n.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=n}_applyAnimationRefDelays(n,e,i){for(const o of n){const r=o?.delay;if(r){const s="number"==typeof r?r:qs(B2(r,o?.params??{},e.errors));i.delayNextStep(s)}}}_visitSubInstructions(n,e,i){let r=e.currentTimeline.currentTime;const s=null!=i.duration?qs(i.duration):null,a=null!=i.delay?qs(i.delay):null;return 0!==s&&n.forEach(l=>{const c=e.appendInstructionToTimeline(l,s,a);r=Math.max(r,c.duration+c.delay)}),r}visitReference(n,e){e.updateOptions(n.options,!0),or(this,n.animation,e),e.previousNode=n}visitSequence(n,e){const i=e.subContextCount;let o=e;const r=n.options;if(r&&(r.params||r.delay)&&(o=e.createSubContext(r),o.transformIntoNewTimeline(),null!=r.delay)){o.previousNode.type==ct.Style&&(o.currentTimeline.snapshotCurrentStyles(),o.previousNode=Jp);const s=qs(r.delay);o.delayNextStep(s)}n.steps.length&&(n.steps.forEach(s=>or(this,s,o)),o.currentTimeline.applyStylesToKeyframe(),o.subContextCount>i&&o.transformIntoNewTimeline()),e.previousNode=n}visitGroup(n,e){const i=[];let o=e.currentTimeline.currentTime;const r=n.options&&n.options.delay?qs(n.options.delay):0;n.steps.forEach(s=>{const a=e.createSubContext(n.options);r&&a.delayNextStep(r),or(this,s,a),o=Math.max(o,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(s=>e.currentTimeline.mergeTimelineCollectedStyles(s)),e.transformIntoNewTimeline(o),e.previousNode=n}_visitTiming(n,e){if(n.dynamic){const i=n.strValue;return Gp(e.params?B2(i,e.params,e.errors):i,e.errors)}return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,e){const i=e.currentAnimateTimings=this._visitTiming(n.timings,e),o=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),o.snapshotCurrentStyles());const r=n.style;r.type==ct.Keyframes?this.visitKeyframes(r,e):(e.incrementTime(i.duration),this.visitStyle(r,e),o.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=n}visitStyle(n,e){const i=e.currentTimeline,o=e.currentAnimateTimings;!o&&i.hasCurrentStyleProperties()&&i.forwardFrame();const r=o&&o.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(r):i.setStyles(n.styles,r,e.errors,e.options),e.previousNode=n}visitKeyframes(n,e){const i=e.currentAnimateTimings,o=e.currentTimeline.duration,r=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,n.styles.forEach(l=>{a.forwardTime((l.offset||0)*r),a.setStyles(l.styles,l.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(o+r),e.previousNode=n}visitQuery(n,e){const i=e.currentTimeline.currentTime,o=n.options||{},r=o.delay?qs(o.delay):0;r&&(e.previousNode.type===ct.Style||0==i&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=Jp);let s=i;const a=e.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!o.optional,e.errors);e.currentQueryTotal=a.length;let l=null;a.forEach((c,u)=>{e.currentQueryIndex=u;const p=e.createSubContext(n.options,c);r&&p.delayNextStep(r),c===e.element&&(l=p.currentTimeline),or(this,n.animation,p),p.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,p.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=n}visitStagger(n,e){const i=e.parentContext,o=e.currentTimeline,r=n.timings,s=Math.abs(r.duration),a=s*(e.currentQueryTotal-1);let l=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const u=e.currentTimeline;l&&u.delayNextStep(l);const p=u.currentTime;or(this,n.animation,e),e.previousNode=n,i.currentStaggerTime=o.currentTime-p+(o.startTime-i.currentTimeline.startTime)}}const Jp={};class t9{constructor(n,e,i,o,r,s,a,l){this._driver=n,this.element=e,this.subInstructions=i,this._enterClassName=o,this._leaveClassName=r,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Jp,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new Zp(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,e){if(!n)return;const i=n;let o=this.options;null!=i.duration&&(o.duration=qs(i.duration)),null!=i.delay&&(o.delay=qs(i.delay));const r=i.params;if(r){let s=o.params;s||(s=this.options.params={}),Object.keys(r).forEach(a=>{(!e||!s.hasOwnProperty(a))&&(s[a]=B2(r[a],s,this.errors))})}}_copyOptions(){const n={};if(this.options){const e=this.options.params;if(e){const i=n.params={};Object.keys(e).forEach(o=>{i[o]=e[o]})}}return n}createSubContext(n=null,e,i){const o=e||this.element,r=new t9(this._driver,o,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(o,i||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(n),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(n){return this.previousNode=Jp,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,e,i){const o={duration:e??n.duration,delay:this.currentTimeline.currentTime+(i??0)+n.delay,easing:""},r=new Ofe(this._driver,n.element,n.keyframes,n.preStyleProps,n.postStyleProps,o,n.stretchStartingKeyframe);return this.timelines.push(r),o}incrementTime(n){this.currentTimeline.forwardTime(this.currentTimeline.duration+n)}delayNextStep(n){n>0&&this.currentTimeline.delayNextStep(n)}invokeQuery(n,e,i,o,r,s){let a=[];if(o&&a.push(this.element),n.length>0){n=(n=n.replace(Efe,"."+this._enterClassName)).replace(kfe,"."+this._leaveClassName);let c=this._driver.query(this.element,n,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!r&&0==a.length&&s.push(function L8e(t){return new j(3014,!1)}()),a}}class Zp{constructor(n,e,i,o){this._driver=n,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=o,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(n){const e=1===this._keyframes.size&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+n),e&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,e){return this.applyStylesToKeyframe(),new Zp(this._driver,n,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(n){this.applyStylesToKeyframe(),this.duration=n,this._loadKeyframe()}_updateStyle(n,e){this._localTimelineStyles.set(n,e),this._globalTimelineStyles.set(n,e),this._styleSummary.set(n,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(n){n&&this._previousKeyframe.set("easing",n);for(let[e,i]of this._globalTimelineStyles)this._backFill.set(e,i||Bs),this._currentKeyframe.set(e,Bs);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,e,i,o){e&&this._previousKeyframe.set("easing",e);const r=o&&o.params||{},s=function Pfe(t,n){const e=new Map;let i;return t.forEach(o=>{if("*"===o){i??=n.keys();for(let r of i)e.set(r,Bs)}else for(let[r,s]of o)e.set(r,s)}),e}(n,this._globalTimelineStyles);for(let[a,l]of s){const c=B2(l,r,i);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Bs),this._updateStyle(a,c)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((n,e)=>{this._currentKeyframe.set(e,n)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((n,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,n)}))}snapshotCurrentStyles(){for(let[n,e]of this._localTimelineStyles)this._pendingStyles.set(n,e),this._updateStyle(n,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const n=[];for(let e in this._currentKeyframe)n.push(e);return n}mergeTimelineCollectedStyles(n){n._styleSummary.forEach((e,i)=>{const o=this._styleSummary.get(i);(!o||e.time>o.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();const n=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let o=[];this._keyframes.forEach((a,l)=>{const c=new Map([...this._backFill,...a]);c.forEach((u,p)=>{"!"===u?n.add(p):u===Bs&&e.add(p)}),i||c.set("offset",l/this.duration),o.push(c)});const r=[...n.values()],s=[...e.values()];if(i){const a=o[0],l=new Map(a);a.set("offset",0),l.set("offset",1),o=[a,l]}return Xv(this.element,o,r,s,this.duration,this.startTime,this.easing,!1)}}class Ofe extends Zp{constructor(n,e,i,o,r,s,a=!1){super(n,e,s.delay),this.keyframes=i,this.preStyleProps=o,this.postStyleProps=r,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:e,duration:i,easing:o}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=i+e,a=e/s,l=new Map(n[0]);l.set("offset",0),r.push(l);const c=new Map(n[0]);c.set("offset",HP(a)),r.push(c);const u=n.length-1;for(let p=1;p<=u;p++){let b=new Map(n[p]);const _=b.get("offset");b.set("offset",HP((e+_*i)/s)),r.push(b)}i=s,e=0,o="",n=r}return Xv(this.element,n,this.preStyleProps,this.postStyleProps,i,e,o,!0)}}function HP(t,n=3){const e=Math.pow(10,n-1);return Math.round(t*e)/e}function jP(t,n,e,i,o,r,s,a,l,c,u,p,b){return{type:0,element:t,triggerName:n,isRemovalTransition:o,fromState:e,fromStyles:r,toState:i,toStyles:s,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:p,errors:b}}const n9={};class YP{constructor(n,e,i){this._triggerName=n,this.ast=e,this._stateStyles=i}match(n,e,i,o){return function Vfe(t,n,e,i,o){return t.some(r=>r(n,e,i,o))}(this.ast.matchers,n,e,i,o)}buildStyles(n,e,i){let o=this._stateStyles.get("*");return void 0!==n&&(o=this._stateStyles.get(n?.toString())||o),o?o.buildStyles(e,i):new Map}build(n,e,i,o,r,s,a,l,c,u){const p=[],b=this.ast.options&&this.ast.options.params||n9,y=this.buildStyles(i,a&&a.params||n9,p),z=l&&l.params||n9,E=this.buildStyles(o,z,p),x=new Set,k=new Map,ie=new Map,pe="void"===o,De={params:UP(z,b),delay:this.ast.options?.delay},qe=u?[]:e9(n,e,this.ast.animation,r,s,y,E,De,c,p);let dt=0;return qe.forEach(Ht=>{dt=Math.max(Ht.duration+Ht.delay,dt)}),p.length?jP(e,this._triggerName,i,o,pe,y,E,[],[],k,ie,dt,p):(qe.forEach(Ht=>{const zt=Ht.element,Pn=ir(k,zt,new Set);Ht.preStyleProps.forEach(Kn=>Pn.add(Kn));const so=ir(ie,zt,new Set);Ht.postStyleProps.forEach(Kn=>so.add(Kn)),zt!==e&&x.add(zt)}),jP(e,this._triggerName,i,o,pe,y,E,qe,[...x.values()],k,ie,dt))}}function UP(t,n){const e={...n};return Object.entries(t).forEach(([i,o])=>{null!=o&&(e[i]=o)}),e}class Nfe{constructor(n,e,i){this.styles=n,this.defaultParams=e,this.normalizer=i}buildStyles(n,e){const i=new Map,o=UP(n,this.defaultParams);return this.styles.styles.forEach(r=>{"string"!=typeof r&&r.forEach((s,a)=>{s&&(s=B2(s,o,e));const l=this.normalizer.normalizePropertyName(a,e);s=this.normalizer.normalizeStyleValue(a,l,s,e),i.set(a,s)})}),i}}class Rfe{constructor(n,e,i){this.name=n,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states=new Map,e.states.forEach(o=>{this.states.set(o.name,new Nfe(o.style,o.options&&o.options.params||{},i))}),WP(this.states,"true","1"),WP(this.states,"false","0"),e.transitions.forEach(o=>{this.transitionFactories.push(new YP(n,o,this.states))}),this.fallbackTransition=function Lfe(t,n,e){return new YP(t,{type:ct.Transition,animation:{type:ct.Sequence,steps:[],options:null},matchers:[(s,a)=>!0],options:null,queryCount:0,depCount:0},n)}(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,e,i,o){return this.transitionFactories.find(s=>s.match(n,e,i,o))||null}matchStyles(n,e,i){return this.fallbackTransition.buildStyles(n,e,i)}}function WP(t,n,e){t.has(n)?t.has(e)||t.set(e,t.get(n)):t.has(e)&&t.set(n,t.get(e))}const Bfe=new $p;class Hfe{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(n,e){const i=[],r=Jv(this._driver,e,i,[]);if(i.length)throw function G8e(t){return new j(3503,!1)}();this._animations.set(n,r)}_buildPlayer(n,e,i){const o=n.element,r=DP(this._normalizer,n.keyframes,e,i);return this._driver.animate(o,r,n.duration,n.delay,n.easing,[],!0)}create(n,e,i={}){const o=[],r=this._animations.get(n);let s;const a=new Map;if(r?(s=e9(this._driver,e,r,Wv,Yp,new Map,new Map,i,Bfe,o),s.forEach(u=>{const p=ir(a,u.element,new Map);u.postStyleProps.forEach(b=>p.set(b,null))})):(o.push(function q8e(){return new j(3300,!1)}()),s=[]),o.length)throw function Q8e(t){return new j(3504,!1)}();a.forEach((u,p)=>{u.forEach((b,_)=>{u.set(_,this._driver.computeStyle(p,_,Bs))})});const c=Da(s.map(u=>{const p=a.get(u.element);return this._buildPlayer(u,new Map,p)}));return this._playersById.set(n,c),c.onDestroy(()=>this.destroy(n)),this.players.push(c),c}destroy(n){const e=this._getPlayer(n);e.destroy(),this._playersById.delete(n);const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(n){const e=this._playersById.get(n);if(!e)throw function K8e(t){return new j(3301,!1)}();return e}listen(n,e,i,o){const r=Bv(e,"","","");return Rv(this._getPlayer(n),i,r,o),()=>{}}command(n,e,i,o){if("register"==i)return void this.register(n,o[0]);if("create"==i)return void this.create(n,e,o[0]||{});const r=this._getPlayer(n);switch(i){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(o[0]));break;case"destroy":this.destroy(n)}}}const GP="ng-animate-queued",i9="ng-animate-disabled",Gfe=[],qP={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},qfe={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},$r="__ng_removed";class o9{get params(){return this.options.params}constructor(n,e=""){this.namespaceId=e;const i=n&&n.hasOwnProperty("value");if(this.value=function Jfe(t){return t??null}(i?n.value:n),i){const{value:r,...s}=n;this.options=s}else this.options={};this.options.params||(this.options.params={})}absorbOptions(n){const e=n.params;if(e){const i=this.options.params;Object.keys(e).forEach(o=>{null==i[o]&&(i[o]=e[o])})}}}const H2="void",r9=new o9(H2);class Qfe{constructor(n,e,i){this.id=n,this.hostElement=e,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+n,Cr(e,this._hostClassName)}listen(n,e,i,o){if(!this._triggers.has(e))throw function $8e(t,n){return new j(3302,!1)}();if(null==i||0==i.length)throw function J8e(t){return new j(3303,!1)}();if(!function Zfe(t){return"start"==t||"done"==t}(i))throw function Z8e(t,n){return new j(3400,!1)}();const r=ir(this._elementListeners,n,[]),s={name:e,phase:i,callback:o};r.push(s);const a=ir(this._engine.statesByElement,n,new Map);return a.has(e)||(Cr(n,Up),Cr(n,Up+"-"+e),a.set(e,r9)),()=>{this._engine.afterFlush(()=>{const l=r.indexOf(s);l>=0&&r.splice(l,1),this._triggers.has(e)||a.delete(e)})}}register(n,e){return!this._triggers.has(n)&&(this._triggers.set(n,e),!0)}_getTrigger(n){const e=this._triggers.get(n);if(!e)throw function X8e(t){return new j(3401,!1)}();return e}trigger(n,e,i,o=!0){const r=this._getTrigger(e),s=new s9(this.id,e,n);let a=this._engine.statesByElement.get(n);a||(Cr(n,Up),Cr(n,Up+"-"+e),this._engine.statesByElement.set(n,a=new Map));let l=a.get(e);const c=new o9(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(e,c),l||(l=r9),c.value!==H2&&l.value===c.value){if(!function tme(t,n){const e=Object.keys(t),i=Object.keys(n);if(e.length!=i.length)return!1;for(let o=0;o{Yl(n,E),bs(n,x)})}return}const b=ir(this._engine.playersByElement,n,[]);b.forEach(z=>{z.namespaceId==this.id&&z.triggerName==e&&z.queued&&z.destroy()});let _=r.matchTransition(l.value,c.value,n,c.params),y=!1;if(!_){if(!o)return;_=r.fallbackTransition,y=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:e,transition:_,fromState:l,toState:c,player:s,isFallbackTransition:y}),y||(Cr(n,GP),s.onStart(()=>{G1(n,GP)})),s.onDone(()=>{let z=this.players.indexOf(s);z>=0&&this.players.splice(z,1);const E=this._engine.playersByElement.get(n);if(E){let x=E.indexOf(s);x>=0&&E.splice(x,1)}}),this.players.push(s),b.push(s),s}deregister(n){this._triggers.delete(n),this._engine.statesByElement.forEach(e=>e.delete(n)),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(o=>o.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);const e=this._engine.playersByElement.get(n);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,e){const i=this._engine.driver.query(n,Wp,!0);i.forEach(o=>{if(o[$r])return;const r=this._engine.fetchNamespacesByElement(o);r.size?r.forEach(s=>s.triggerLeaveAnimation(o,e,!1,!0)):this.clearElementCache(o)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(o=>this.clearElementCache(o)))}triggerLeaveAnimation(n,e,i,o){const r=this._engine.statesByElement.get(n),s=new Map;if(r){const a=[];if(r.forEach((l,c)=>{if(s.set(c,l.value),this._triggers.has(c)){const u=this.trigger(n,c,H2,o);u&&a.push(u)}}),a.length)return this._engine.markElementAsRemoved(this.id,n,!0,e,s),i&&Da(a).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){const e=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(e&&i){const o=new Set;e.forEach(r=>{const s=r.name;if(o.has(s))return;o.add(s);const l=this._triggers.get(s).fallbackTransition,c=i.get(s)||r9,u=new o9(H2),p=new s9(this.id,s,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:s,transition:l,fromState:c,toState:u,player:p,isFallbackTransition:!0})})}}removeNode(n,e){const i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,e),this.triggerLeaveAnimation(n,e,!0))return;let o=!1;if(i.totalAnimations){const r=i.players.length?i.playersByQueriedElement.get(n):[];if(r&&r.length)o=!0;else{let s=n;for(;s=s.parentNode;)if(i.statesByElement.get(s)){o=!0;break}}}if(this.prepareLeaveAnimationListeners(n),o)i.markElementAsRemoved(this.id,n,!1,e);else{const r=n[$r];(!r||r===qP)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,e))}}insertNode(n,e){Cr(n,this._hostClassName)}drainQueuedTransitions(n){const e=[];return this._queue.forEach(i=>{const o=i.player;if(o.destroyed)return;const r=i.element,s=this._elementListeners.get(r);s&&s.forEach(a=>{if(a.name==i.triggerName){const l=Bv(r,i.triggerName,i.fromState.value,i.toState.value);l._data=n,Rv(i.player,a.phase,l,a.callback)}}),o.markedForDestroy?this._engine.afterFlush(()=>{o.destroy()}):e.push(i)}),this._queue=[],e.sort((i,o)=>{const r=i.transition.ast.depCount,s=o.transition.ast.depCount;return 0==r||0==s?r-s:this._engine.driver.containsElement(i.element,o.element)?1:-1})}destroy(n){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}}class Kfe{_onRemovalComplete(n,e){this.onRemovalComplete(n,e)}constructor(n,e,i){this.bodyNode=n,this.driver=e,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(o,r)=>{}}get queuedPlayers(){const n=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,e){const i=new Qfe(n,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[n]=i}_balanceNamespaceList(n,e){const i=this._namespaceList,o=this.namespacesByHostElement;if(i.length-1>=0){let s=!1,a=this.driver.getParentElement(e);for(;a;){const l=o.get(a);if(l){const c=i.indexOf(l);i.splice(c+1,0,n),s=!0;break}a=this.driver.getParentElement(a)}s||i.unshift(n)}else i.push(n);return o.set(e,n),n}register(n,e){let i=this._namespaceLookup[n];return i||(i=this.createNamespace(n,e)),i}registerTrigger(n,e,i){let o=this._namespaceLookup[n];o&&o.register(e,i)&&this.totalAnimations++}destroy(n,e){n&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const i=this._fetchNamespace(n);this.namespacesByHostElement.delete(i.hostElement);const o=this._namespaceList.indexOf(i);o>=0&&this._namespaceList.splice(o,1),i.destroy(e),delete this._namespaceLookup[n]}))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){const e=new Set,i=this.statesByElement.get(n);if(i)for(let o of i.values())if(o.namespaceId){const r=this._fetchNamespace(o.namespaceId);r&&e.add(r)}return e}trigger(n,e,i,o){if(Xp(e)){const r=this._fetchNamespace(n);if(r)return r.trigger(e,i,o),!0}return!1}insertNode(n,e,i,o){if(!Xp(e))return;const r=e[$r];if(r&&r.setForRemoval){r.setForRemoval=!1,r.setForMove=!0;const s=this.collectedLeaveElements.indexOf(e);s>=0&&this.collectedLeaveElements.splice(s,1)}if(n){const s=this._fetchNamespace(n);s&&s.insertNode(e,i)}o&&this.collectEnterElement(e)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,e){e?this.disabledNodes.has(n)||(this.disabledNodes.add(n),Cr(n,i9)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),G1(n,i9))}removeNode(n,e,i){if(Xp(e)){const o=n?this._fetchNamespace(n):null;o?o.removeNode(e,i):this.markElementAsRemoved(n,e,!1,i);const r=this.namespacesByHostElement.get(e);r&&r.id!==n&&r.removeNode(e,i)}else this._onRemovalComplete(e,i)}markElementAsRemoved(n,e,i,o,r){this.collectedLeaveElements.push(e),e[$r]={namespaceId:n,setForRemoval:o,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:r}}listen(n,e,i,o,r){return Xp(e)?this._fetchNamespace(n).listen(e,i,o,r):()=>{}}_buildInstruction(n,e,i,o,r){return n.transition.build(this.driver,n.element,n.fromState.value,n.toState.value,i,o,n.fromState.options,n.toState.options,e,r)}destroyInnerAnimations(n){let e=this.driver.query(n,Wp,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(n,Gv,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){const e=this.playersByElement.get(n);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){const e=this.playersByQueriedElement.get(n);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return Da(this.players).onDone(()=>n());n()})}processLeaveNode(n){const e=n[$r];if(e&&e.setForRemoval){if(n[$r]=qP,e.namespaceId){this.destroyInnerAnimations(n);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(n)}this._onRemovalComplete(n,e.setForRemoval)}n.classList?.contains(i9)&&this.markElementAsDisabled(n,!1),this.driver.query(n,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(n=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,o)=>this._balanceNamespaceList(i,o)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?Da(e).onDone(()=>{i.forEach(o=>o())}):i.forEach(o=>o())}}reportError(n){throw function efe(t){return new j(3402,!1)}()}_flushAnimations(n,e){const i=new $p,o=[],r=new Map,s=[],a=new Map,l=new Map,c=new Map,u=new Set;this.disabledNodes.forEach(Oe=>{u.add(Oe);const $e=this.driver.query(Oe,".ng-animate-queued",!0);for(let tt=0;tt<$e.length;tt++)u.add($e[tt])});const p=this.bodyNode,b=Array.from(this.statesByElement.keys()),_=$P(b,this.collectedEnterElements),y=new Map;let z=0;_.forEach((Oe,$e)=>{const tt=Wv+z++;y.set($e,tt),Oe.forEach($t=>Cr($t,tt))});const E=[],x=new Set,k=new Set;for(let Oe=0;Oex.add($t)):k.add($e))}const ie=new Map,pe=$P(b,Array.from(x));pe.forEach((Oe,$e)=>{const tt=Yp+z++;ie.set($e,tt),Oe.forEach($t=>Cr($t,tt))}),n.push(()=>{_.forEach((Oe,$e)=>{const tt=y.get($e);Oe.forEach($t=>G1($t,tt))}),pe.forEach((Oe,$e)=>{const tt=ie.get($e);Oe.forEach($t=>G1($t,tt))}),E.forEach(Oe=>{this.processLeaveNode(Oe)})});const De=[],qe=[];for(let Oe=this._namespaceList.length-1;Oe>=0;Oe--)this._namespaceList[Oe].drainQueuedTransitions(e).forEach(tt=>{const $t=tt.player,gi=tt.element;if(De.push($t),this.collectedEnterElements.length){const ao=gi[$r];if(ao&&ao.setForMove){if(ao.previousTriggersValues&&ao.previousTriggersValues.has(tt.triggerName)){const Wl=ao.previousTriggersValues.get(tt.triggerName),zr=this.statesByElement.get(tt.element);if(zr&&zr.has(tt.triggerName)){const t6=zr.get(tt.triggerName);t6.value=Wl,zr.set(tt.triggerName,t6)}}return void $t.destroy()}}const _s=!p||!this.driver.containsElement(p,gi),lr=ie.get(gi),Ea=y.get(gi),Wn=this._buildInstruction(tt,i,Ea,lr,_s);if(Wn.errors&&Wn.errors.length)return void qe.push(Wn);if(_s)return $t.onStart(()=>Yl(gi,Wn.fromStyles)),$t.onDestroy(()=>bs(gi,Wn.toStyles)),void o.push($t);if(tt.isFallbackTransition)return $t.onStart(()=>Yl(gi,Wn.fromStyles)),$t.onDestroy(()=>bs(gi,Wn.toStyles)),void o.push($t);const aV=[];Wn.timelines.forEach(ao=>{ao.stretchStartingKeyframe=!0,this.disabledNodes.has(ao.element)||aV.push(ao)}),Wn.timelines=aV,i.append(gi,Wn.timelines),s.push({instruction:Wn,player:$t,element:gi}),Wn.queriedElements.forEach(ao=>ir(a,ao,[]).push($t)),Wn.preStyleProps.forEach((ao,Wl)=>{if(ao.size){let zr=l.get(Wl);zr||l.set(Wl,zr=new Set),ao.forEach((t6,c9)=>zr.add(c9))}}),Wn.postStyleProps.forEach((ao,Wl)=>{let zr=c.get(Wl);zr||c.set(Wl,zr=new Set),ao.forEach((t6,c9)=>zr.add(c9))})});if(qe.length){const Oe=[];qe.forEach($e=>{Oe.push(function tfe(t,n){return new j(3505,!1)}())}),De.forEach($e=>$e.destroy()),this.reportError(Oe)}const dt=new Map,Ht=new Map;s.forEach(Oe=>{const $e=Oe.element;i.has($e)&&(Ht.set($e,$e),this._beforeAnimationBuild(Oe.player.namespaceId,Oe.instruction,dt))}),o.forEach(Oe=>{const $e=Oe.element;this._getPreviousPlayers($e,!1,Oe.namespaceId,Oe.triggerName,null).forEach($t=>{ir(dt,$e,[]).push($t),$t.destroy()})});const zt=E.filter(Oe=>ZP(Oe,l,c)),Pn=new Map;KP(Pn,this.driver,k,c,Bs).forEach(Oe=>{ZP(Oe,l,c)&&zt.push(Oe)});const Kn=new Map;_.forEach((Oe,$e)=>{KP(Kn,this.driver,new Set(Oe),l,"!")}),zt.forEach(Oe=>{const $e=Pn.get(Oe),tt=Kn.get(Oe);Pn.set(Oe,new Map([...$e?.entries()??[],...tt?.entries()??[]]))});const rr=[],sr=[],ar={};s.forEach(Oe=>{const{element:$e,player:tt,instruction:$t}=Oe;if(i.has($e)){if(u.has($e))return tt.onDestroy(()=>bs($e,$t.toStyles)),tt.disabled=!0,tt.overrideTotalTime($t.totalTime),void o.push(tt);let gi=ar;if(Ht.size>1){let lr=$e;const Ea=[];for(;lr=lr.parentNode;){const Wn=Ht.get(lr);if(Wn){gi=Wn;break}Ea.push(lr)}Ea.forEach(Wn=>Ht.set(Wn,gi))}const _s=this._buildAnimation(tt.namespaceId,$t,dt,r,Kn,Pn);if(tt.setRealPlayer(_s),gi===ar)rr.push(tt);else{const lr=this.playersByElement.get(gi);lr&&lr.length&&(tt.parentPlayer=Da(lr)),o.push(tt)}}else Yl($e,$t.fromStyles),tt.onDestroy(()=>bs($e,$t.toStyles)),sr.push(tt),u.has($e)&&o.push(tt)}),sr.forEach(Oe=>{const $e=r.get(Oe.element);if($e&&$e.length){const tt=Da($e);Oe.setRealPlayer(tt)}}),o.forEach(Oe=>{Oe.parentPlayer?Oe.syncPlayerEvents(Oe.parentPlayer):Oe.destroy()});for(let Oe=0;Oe!_s.destroyed);gi.length?Xfe(this,$e,gi):this.processLeaveNode($e)}return E.length=0,rr.forEach(Oe=>{this.players.push(Oe),Oe.onDone(()=>{Oe.destroy();const $e=this.players.indexOf(Oe);this.players.splice($e,1)}),Oe.play()}),rr}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,e,i,o,r){let s=[];if(e){const a=this.playersByQueriedElement.get(n);a&&(s=a)}else{const a=this.playersByElement.get(n);if(a){const l=!r||r==H2;a.forEach(c=>{c.queued||!l&&c.triggerName!=o||s.push(c)})}}return(i||o)&&(s=s.filter(a=>!(i&&i!=a.namespaceId||o&&o!=a.triggerName))),s}_beforeAnimationBuild(n,e,i){const r=e.element,s=e.isRemovalTransition?void 0:n,a=e.isRemovalTransition?void 0:e.triggerName;for(const l of e.timelines){const c=l.element,u=c!==r,p=ir(i,c,[]);this._getPreviousPlayers(c,u,s,a,e.toState).forEach(_=>{const y=_.getRealPlayer();y.beforeDestroy&&y.beforeDestroy(),_.destroy(),p.push(_)})}Yl(r,e.fromStyles)}_buildAnimation(n,e,i,o,r,s){const a=e.triggerName,l=e.element,c=[],u=new Set,p=new Set,b=e.timelines.map(y=>{const z=y.element;u.add(z);const E=z[$r];if(E&&E.removedBeforeQueried)return new e2(y.duration,y.delay);const x=z!==l,k=function eme(t){const n=[];return JP(t,n),n}((i.get(z)||Gfe).map(dt=>dt.getRealPlayer())).filter(dt=>!!dt.element&&dt.element===z),ie=r.get(z),pe=s.get(z),De=DP(this._normalizer,y.keyframes,ie,pe),qe=this._buildPlayer(y,De,k);if(y.subTimeline&&o&&p.add(z),x){const dt=new s9(n,a,z);dt.setRealPlayer(qe),c.push(dt)}return qe});c.forEach(y=>{ir(this.playersByQueriedElement,y.element,[]).push(y),y.onDone(()=>function $fe(t,n,e){let i=t.get(n);if(i){if(i.length){const o=i.indexOf(e);i.splice(o,1)}0==i.length&&t.delete(n)}return i}(this.playersByQueriedElement,y.element,y))}),u.forEach(y=>Cr(y,PP));const _=Da(b);return _.onDestroy(()=>{u.forEach(y=>G1(y,PP)),bs(l,e.toStyles)}),p.forEach(y=>{ir(o,y,[]).push(_)}),_}_buildPlayer(n,e,i){return e.length>0?this.driver.animate(n.element,e,n.duration,n.delay,n.easing,i):new e2(n.duration,n.delay)}}class s9{constructor(n,e,i){this.namespaceId=n,this.triggerName=e,this.element=i,this._player=new e2,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(n){this._containsRealPlayer||(this._player=n,this._queuedCallbacks.forEach((e,i)=>{e.forEach(o=>Rv(n,i,void 0,o))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(n.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(n){this.totalTime=n}syncPlayerEvents(n){const e=this._player;e.triggerCallback&&n.onStart(()=>e.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,e){ir(this._queuedCallbacks,n,[]).push(e)}onDone(n){this.queued&&this._queueEvent("done",n),this._player.onDone(n)}onStart(n){this.queued&&this._queueEvent("start",n),this._player.onStart(n)}onDestroy(n){this.queued&&this._queueEvent("destroy",n),this._player.onDestroy(n)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(n){this.queued||this._player.setPosition(n)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(n){const e=this._player;e.triggerCallback&&e.triggerCallback(n)}}function Xp(t){return t&&1===t.nodeType}function QP(t,n){const e=t.style.display;return t.style.display=n??"none",e}function KP(t,n,e,i,o){const r=[];e.forEach(l=>r.push(QP(l)));const s=[];i.forEach((l,c)=>{const u=new Map;l.forEach(p=>{const b=n.computeStyle(c,p,o);u.set(p,b),(!b||0==b.length)&&(c[$r]=qfe,s.push(c))}),t.set(c,u)});let a=0;return e.forEach(l=>QP(l,r[a++])),s}function $P(t,n){const e=new Map;if(t.forEach(a=>e.set(a,[])),0==n.length)return e;const o=new Set(n),r=new Map;function s(a){if(!a)return 1;let l=r.get(a);if(l)return l;const c=a.parentNode;return l=e.has(c)?c:o.has(c)?1:s(c),r.set(a,l),l}return n.forEach(a=>{const l=s(a);1!==l&&e.get(l).push(a)}),e}function Cr(t,n){t.classList?.add(n)}function G1(t,n){t.classList?.remove(n)}function Xfe(t,n,e){Da(e).onDone(()=>t.processLeaveNode(n))}function JP(t,n){for(let e=0;eo.add(r)):n.set(t,i),e.delete(t),!0}class j2{constructor(n,e,i){this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(o,r)=>{},this._transitionEngine=new Kfe(n.body,e,i),this._timelineEngine=new Hfe(n.body,e,i),this._transitionEngine.onRemovalComplete=(o,r)=>this.onRemovalComplete(o,r)}registerTrigger(n,e,i,o,r){const s=n+"-"+o;let a=this._triggerCache[s];if(!a){const l=[],u=Jv(this._driver,r,l,[]);if(l.length)throw function U8e(t,n){return new j(3404,!1)}();a=function Ffe(t,n,e){return new Rfe(t,n,e)}(o,u,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,o,a)}register(n,e){this._transitionEngine.register(n,e)}destroy(n,e){this._transitionEngine.destroy(n,e)}onInsert(n,e,i,o){this._transitionEngine.insertNode(n,e,i,o)}onRemove(n,e,i){this._transitionEngine.removeNode(n,e,i)}disableAnimations(n,e){this._transitionEngine.markElementAsDisabled(n,e)}process(n,e,i,o){if("@"==i.charAt(0)){const[r,s]=EP(i);this._timelineEngine.command(r,e,s,o)}else this._transitionEngine.trigger(n,e,i,o)}listen(n,e,i,o,r){if("@"==i.charAt(0)){const[s,a]=EP(i);return this._timelineEngine.listen(s,e,a,r)}return this._transitionEngine.listen(n,e,i,o,r)}flush(n=-1){this._transitionEngine.flush(n)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(n){this._transitionEngine.afterFlushAnimationsDone(n)}}class Y2{static#e=this.initialStylesByElement=new WeakMap;constructor(n,e,i){this._element=n,this._startStyles=e,this._endStyles=i,this._state=0;let o=Y2.initialStylesByElement.get(n);o||Y2.initialStylesByElement.set(n,o=new Map),this._initialStyles=o}start(){this._state<1&&(this._startStyles&&bs(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(bs(this._element,this._initialStyles),this._endStyles&&(bs(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Y2.initialStylesByElement.delete(this._element),this._startStyles&&(Yl(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Yl(this._element,this._endStyles),this._endStyles=null),bs(this._element,this._initialStyles),this._state=3)}}function a9(t){let n=null;return t.forEach((e,i)=>{(function ime(t){return"display"===t||"position"===t})(i)&&(n=n||new Map,n.set(i,e))}),n}class XP{constructor(n,e,i,o){this.element=n,this.keyframes=e,this.options=i,this._specialStyles=o,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const n=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,n,this.options),this._finalKeyframe=n.length?n[n.length-1]:new Map;const e=()=>this._onFinish();this.domPlayer.addEventListener("finish",e),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",e)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(n){const e=[];return n.forEach(i=>{e.push(Object.fromEntries(i))}),e}_triggerWebAnimation(n,e,i){return n.animate(this._convertKeyframesToObject(e),i)}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(n=>n()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}setPosition(n){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=n*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const n=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,o)=>{"offset"!==o&&n.set(o,this._finished?i:$v(this.element,o))}),this.currentSnapshot=n}triggerCallback(n){const e="start"===n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class eV{validateStyleProperty(n){return!0}validateAnimatableStyleProperty(n){return!0}containsElement(n,e){return kP(n,e)}getParentElement(n){return Hv(n)}query(n,e,i){return IP(n,e,i)}computeStyle(n,e,i){return $v(n,e)}animate(n,e,i,o,r,s=[]){const l={duration:i,delay:o,fill:0==o?"both":"forwards"};r&&(l.easing=r);const c=new Map,u=s.filter(_=>_ instanceof XP);(function ffe(t,n){return 0===t||0===n})(i,o)&&u.forEach(_=>{_.currentSnapshot.forEach((y,z)=>c.set(z,y))});let p=function ufe(t){return t.length?t[0]instanceof Map?t:t.map(n=>new Map(Object.entries(n))):[]}(e).map(_=>new Map(_));p=function mfe(t,n,e){if(e.size&&n.length){let i=n[0],o=[];if(e.forEach((r,s)=>{i.has(s)||o.push(s),i.set(s,r)}),o.length)for(let r=1;rs.set(a,$v(t,a)))}}return n}(n,p,c);const b=function nme(t,n){let e=null,i=null;return Array.isArray(n)&&n.length?(e=a9(n[0]),n.length>1&&(i=a9(n[n.length-1]))):n instanceof Map&&(e=a9(n)),e||i?new Y2(t,e,i):null}(n,p);return new XP(n,p,l,b)}}const tV="@.disabled";class nV{constructor(n,e,i,o){this.namespaceId=n,this.delegate=e,this.engine=i,this._onDestroy=o,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(n){this.delegate.destroyNode?.(n)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(n,e){return this.delegate.createElement(n,e)}createComment(n){return this.delegate.createComment(n)}createText(n){return this.delegate.createText(n)}appendChild(n,e){this.delegate.appendChild(n,e),this.engine.onInsert(this.namespaceId,e,n,!1)}insertBefore(n,e,i,o=!0){this.delegate.insertBefore(n,e,i),this.engine.onInsert(this.namespaceId,e,n,o)}removeChild(n,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate)}selectRootElement(n,e){return this.delegate.selectRootElement(n,e)}parentNode(n){return this.delegate.parentNode(n)}nextSibling(n){return this.delegate.nextSibling(n)}setAttribute(n,e,i,o){this.delegate.setAttribute(n,e,i,o)}removeAttribute(n,e,i){this.delegate.removeAttribute(n,e,i)}addClass(n,e){this.delegate.addClass(n,e)}removeClass(n,e){this.delegate.removeClass(n,e)}setStyle(n,e,i,o){this.delegate.setStyle(n,e,i,o)}removeStyle(n,e,i){this.delegate.removeStyle(n,e,i)}setProperty(n,e,i){"@"==e.charAt(0)&&e==tV?this.disableAnimations(n,!!i):this.delegate.setProperty(n,e,i)}setValue(n,e){this.delegate.setValue(n,e)}listen(n,e,i){return this.delegate.listen(n,e,i)}disableAnimations(n,e){this.engine.disableAnimations(n,e)}}class ome extends nV{constructor(n,e,i,o,r){super(e,i,o,r),this.factory=n,this.namespaceId=e}setProperty(n,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==tV?this.disableAnimations(n,i=void 0===i||!!i):this.engine.process(this.namespaceId,n,e.slice(1),i):this.delegate.setProperty(n,e,i)}listen(n,e,i){if("@"==e.charAt(0)){const o=function rme(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(n);let r=e.slice(1),s="";return"@"!=r.charAt(0)&&([r,s]=function sme(t){const n=t.indexOf(".");return[t.substring(0,n),t.slice(n+1)]}(r)),this.engine.listen(this.namespaceId,o,r,s,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(n,e,i)}}class ame{constructor(n,e,i){this.delegate=n,this.engine=e,this._zone=i,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,e.onRemovalComplete=(o,r)=>{const s=r?.parentNode(o);s&&r.removeChild(s,o)}}createRenderer(n,e){const o=this.delegate.createRenderer(n,e);if(!n||!e?.data?.animation){const c=this._rendererCache;let u=c.get(o);return u||(u=new nV("",o,this.engine,()=>c.delete(o)),c.set(o,u)),u}const r=e.id,s=e.id+"-"+this._currentId;this._currentId++,this.engine.register(s,n);const a=c=>{Array.isArray(c)?c.forEach(a):this.engine.registerTrigger(r,s,n,c.name,c)};return e.data.animation.forEach(a),new ome(this,s,o,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(n,e,i){if(n>=0&&ne(i));const o=this._animationCallbacksBuffer;0==o.length&&queueMicrotask(()=>{this._zone.run(()=>{o.forEach(r=>{const[s,a]=r;s(a)}),this._animationCallbacksBuffer=[]})}),o.push([e,i])}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}let lme=(()=>{class t extends j2{constructor(e,i,o){super(e,i,o)}ngOnDestroy(){this.flush()}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt),R(Yv),R(Uv))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const iV=[{provide:Uv,useFactory:function cme(){return new FP}},{provide:j2,useClass:lme},{provide:Za,useFactory:function dme(t,n,e){return new ame(t,n,e)},deps:[ig,j2,Me]}],l9=[{provide:Yv,useFactory:()=>new eV},{provide:ta,useValue:"BrowserAnimations"},...iV],oV=[{provide:Yv,useClass:jv},{provide:ta,useValue:"NoopAnimations"},...iV];let ume=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?oV:l9}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:l9,imports:[sg]})}return t})();const hme=["nzType","avatar"],pme=["*"];function fme(t,n){if(1&t&&(f(0,"div",5),A(1,"nz-skeleton-element",6),m()),2&t){const e=g(2);d(),h("nzSize",e.avatar.size||"default")("nzShape",e.avatar.shape||"circle")}}function mme(t,n){if(1&t&&A(0,"h3",7),2&t){const e=g(2);Lt("width",e.toCSSUnit(e.title.width))}}function gme(t,n){if(1&t&&A(0,"li"),2&t){const e=n.index,i=g(3);Lt("width",i.toCSSUnit(i.widthList[e]))}}function vme(t,n){if(1&t&&(f(0,"ul",8),C(1,gme,1,2,"li",9),m()),2&t){const e=g(2);d(),h("ngForOf",e.rowsList)}}function bme(t,n){if(1&t&&(Ye(0),C(1,fme,2,2,"div",1),f(2,"div",2),C(3,mme,1,2,"h3",3)(4,vme,2,1,"ul",4),m(),Ue()),2&t){const e=g();d(),h("ngIf",!!e.nzAvatar),d(2),h("ngIf",!!e.nzTitle),d(),h("ngIf",!!e.nzParagraph)}}function _me(t,n){1&t&&(Ye(0),_t(1),Ue())}let yme=(()=>{class t{constructor(){this.nzActive=!1,this.nzBlock=!1}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["nz-skeleton-element"]],hostAttrs:[1,"ant-skeleton","ant-skeleton-element"],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-skeleton-active",o.nzActive)("ant-skeleton-block",o.nzBlock)},inputs:{nzActive:[2,"nzActive","nzActive",I],nzType:"nzType",nzBlock:[2,"nzBlock","nzBlock",I]},standalone:!0,features:[je]})}return t})(),wme=(()=>{class t{constructor(){this.nzShape="circle",this.nzSize="default",this.styleMap={}}ngOnChanges(e){if(e.nzSize&&"number"==typeof this.nzSize){const i=`${this.nzSize}px`;this.styleMap={width:i,height:i,"line-height":i}}else this.styleMap={}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-skeleton-element","nzType","avatar"]],inputs:{nzShape:"nzShape",nzSize:"nzSize"},standalone:!0,features:[xe,me],attrs:hme,decls:1,vars:9,consts:[[1,"ant-skeleton-avatar",3,"ngStyle"]],template:function(i,o){1&i&&A(0,"span",0),2&i&&(Z("ant-skeleton-avatar-square","square"===o.nzShape)("ant-skeleton-avatar-circle","circle"===o.nzShape)("ant-skeleton-avatar-lg","large"===o.nzSize)("ant-skeleton-avatar-sm","small"===o.nzSize),h("ngStyle",o.styleMap))},dependencies:[ti],encapsulation:2,changeDetection:0})}return t})(),Cme=(()=>{class t{constructor(e){this.cdr=e,this.nzActive=!1,this.nzLoading=!0,this.nzRound=!1,this.nzTitle=!0,this.nzAvatar=!1,this.nzParagraph=!0,this.rowsList=[],this.widthList=[]}toCSSUnit(e=""){return M1(e)}getTitleProps(){const e=!!this.nzAvatar,i=!!this.nzParagraph;let o="";return!e&&i?o="38%":e&&i&&(o="50%"),{width:o,...this.getProps(this.nzTitle)}}getAvatarProps(){return{shape:this.nzTitle&&!this.nzParagraph?"square":"circle",size:"large",...this.getProps(this.nzAvatar)}}getParagraphProps(){const e=!!this.nzAvatar,i=!!this.nzTitle,o={};return(!e||!i)&&(o.width="61%"),o.rows=!e&&i?3:2,{...o,...this.getProps(this.nzParagraph)}}getProps(e){return e&&"object"==typeof e?e:{}}getWidthList(){const{width:e,rows:i}=this.paragraph;let o=[];return e&&Array.isArray(e)?o=e:e&&!Array.isArray(e)&&(o=[],o[i-1]=e),o}updateProps(){this.title=this.getTitleProps(),this.avatar=this.getAvatarProps(),this.paragraph=this.getParagraphProps(),this.rowsList=[...Array(this.paragraph.rows)],this.widthList=this.getWidthList(),this.cdr.markForCheck()}ngOnInit(){this.updateProps()}ngOnChanges(e){(e.nzTitle||e.nzAvatar||e.nzParagraph)&&this.updateProps()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-skeleton"]],hostAttrs:[1,"ant-skeleton"],hostVars:6,hostBindings:function(i,o){2&i&&Z("ant-skeleton-with-avatar",!!o.nzAvatar)("ant-skeleton-active",o.nzActive)("ant-skeleton-round",!!o.nzRound)},inputs:{nzActive:"nzActive",nzLoading:"nzLoading",nzRound:"nzRound",nzTitle:"nzTitle",nzAvatar:"nzAvatar",nzParagraph:"nzParagraph"},exportAs:["nzSkeleton"],standalone:!0,features:[xe,me],ngContentSelectors:pme,decls:2,vars:2,consts:[[4,"ngIf"],["class","ant-skeleton-header",4,"ngIf"],[1,"ant-skeleton-content"],["class","ant-skeleton-title",3,"width",4,"ngIf"],["class","ant-skeleton-paragraph",4,"ngIf"],[1,"ant-skeleton-header"],["nzType","avatar",3,"nzSize","nzShape"],[1,"ant-skeleton-title"],[1,"ant-skeleton-paragraph"],[3,"width",4,"ngFor","ngForOf"]],template:function(i,o){1&i&&(Et(),C(0,bme,5,3,"ng-container",0)(1,_me,2,0,"ng-container",0)),2&i&&(h("ngIf",o.nzLoading),d(),h("ngIf",!o.nzLoading))},dependencies:[yme,wme,St,zn],encapsulation:2,changeDetection:0})}return t})(),zme=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function Ame(t,n){}function Sme(t,n){if(1&t&&(f(0,"div",0),C(1,Ame,0,0,"ng-template",2),m()),2&t){const e=g();d(),h("ngTemplateOutlet",e.nzAvatar)}}function Tme(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(3);d(),D(e.nzTitle)}}function Mme(t,n){if(1&t&&(f(0,"div",3),C(1,Tme,2,1,"ng-container",5),m()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzTitle)}}function Dme(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(3);d(),D(e.nzDescription)}}function Eme(t,n){if(1&t&&(f(0,"div",4),C(1,Dme,2,1,"ng-container",5),m()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzDescription)}}function xme(t,n){if(1&t&&(f(0,"div",1),C(1,Mme,2,1,"div",3)(2,Eme,2,1,"div",4),m()),2&t){const e=g();d(),he(e.nzTitle?1:-1),d(),he(e.nzDescription?2:-1)}}const rV=["*"];function kme(t,n){1&t&&_t(0)}const Ime=()=>({rows:4});function Ome(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(3);d(),D(e.nzTitle)}}function Pme(t,n){if(1&t&&(f(0,"div",6),C(1,Ome,2,1,"ng-container",9),m()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzTitle)}}function Vme(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(3);d(),D(e.nzExtra)}}function Nme(t,n){if(1&t&&(f(0,"div",7),C(1,Vme,2,1,"ng-container",9),m()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzExtra)}}function Fme(t,n){}function Rme(t,n){1&t&&C(0,Fme,0,0,"ng-template",8),2&t&&h("ngTemplateOutlet",g(2).listOfNzCardTabComponent.template)}function Lme(t,n){if(1&t&&(f(0,"div",0)(1,"div",5),C(2,Pme,2,1,"div",6)(3,Nme,2,1,"div",7),m(),C(4,Rme,1,1,null,8),m()),2&t){const e=g();d(2),he(e.nzTitle?2:-1),d(),he(e.nzExtra?3:-1),d(),he(e.listOfNzCardTabComponent?4:-1)}}function Bme(t,n){}function Hme(t,n){if(1&t&&(f(0,"div",1),C(1,Bme,0,0,"ng-template",8),m()),2&t){const e=g();d(),h("ngTemplateOutlet",e.nzCover)}}function jme(t,n){1&t&&A(0,"nz-skeleton",3),2&t&&h("nzActive",!0)("nzTitle",!1)("nzParagraph",Si(3,Ime))}function Yme(t,n){1&t&&_t(0)}function Ume(t,n){}function Wme(t,n){if(1&t&&(f(0,"li")(1,"span"),C(2,Ume,0,0,"ng-template",8),m()()),2&t){const e=n.$implicit;Lt("width",100/g(2).nzActions.length,"%"),d(2),h("ngTemplateOutlet",e)}}function Gme(t,n){if(1&t&&(f(0,"ul",4),ji(1,Wme,3,3,"li",10,JC),m()),2&t){const e=g();d(),Yi(e.nzActions)}}let qme=(()=>{class t{constructor(){this.nzHoverable=!0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-card-grid",""]],hostAttrs:[1,"ant-card-grid"],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-card-hoverable",o.nzHoverable)},inputs:{nzHoverable:[2,"nzHoverable","nzHoverable",I]},exportAs:["nzCardGrid"],standalone:!0,features:[je]})}return t})(),Qme=(()=>{class t{constructor(){this.nzTitle=null,this.nzDescription=null,this.nzAvatar=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-card-meta"]],hostAttrs:[1,"ant-card-meta"],inputs:{nzTitle:"nzTitle",nzDescription:"nzDescription",nzAvatar:"nzAvatar"},exportAs:["nzCardMeta"],standalone:!0,features:[me],decls:2,vars:2,consts:[[1,"ant-card-meta-avatar"],[1,"ant-card-meta-detail"],[3,"ngTemplateOutlet"],[1,"ant-card-meta-title"],[1,"ant-card-meta-description"],[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&C(0,Sme,2,1,"div",0)(1,xme,3,2,"div",1),2&i&&(he(o.nzAvatar?0:-1),d(),he(o.nzTitle||o.nzDescription?1:-1))},dependencies:[Nn,Sn,An],encapsulation:2,changeDetection:0})}return t})(),Kme=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-card-tab"]],viewQuery:function(i,o){if(1&i&&ft(qt,7),2&i){let r;ke(r=Ie())&&(o.template=r.first)}},exportAs:["nzCardTab"],standalone:!0,features:[me],ngContentSelectors:rV,decls:1,vars:0,template:function(i,o){1&i&&(Et(),C(0,kme,1,0,"ng-template"))},encapsulation:2,changeDetection:0})}return t})(),$me=(()=>{class t{constructor(e,i,o){this.nzConfigService=e,this.cdr=i,this.directionality=o,this._nzModuleName="card",this.nzBordered=!0,this.nzBorderless=!1,this.nzLoading=!1,this.nzHoverable=!1,this.nzBodyStyle=null,this.nzActions=[],this.nzType=null,this.nzSize="default",this.dir="ltr",this.destroy$=new V,this.nzConfigService.getConfigChangeEventForComponent("card").pipe(P(this.destroy$)).subscribe(()=>{this.cdr.markForCheck()})}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(We),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-card"]],contentQueries:function(i,o,r){if(1&i&&(fn(r,Kme,5),fn(r,qme,4)),2&i){let s;ke(s=Ie())&&(o.listOfNzCardTabComponent=s.first),ke(s=Ie())&&(o.listOfNzCardGridDirective=s)}},hostAttrs:[1,"ant-card"],hostVars:16,hostBindings:function(i,o){2&i&&Z("ant-card-loading",o.nzLoading)("ant-card-bordered",!1===o.nzBorderless&&o.nzBordered)("ant-card-hoverable",o.nzHoverable)("ant-card-small","small"===o.nzSize)("ant-card-contain-grid",o.listOfNzCardGridDirective&&o.listOfNzCardGridDirective.length)("ant-card-type-inner","inner"===o.nzType)("ant-card-contain-tabs",!!o.listOfNzCardTabComponent)("ant-card-rtl","rtl"===o.dir)},inputs:{nzBordered:[2,"nzBordered","nzBordered",I],nzBorderless:[2,"nzBorderless","nzBorderless",I],nzLoading:[2,"nzLoading","nzLoading",I],nzHoverable:[2,"nzHoverable","nzHoverable",I],nzBodyStyle:"nzBodyStyle",nzCover:"nzCover",nzActions:"nzActions",nzType:"nzType",nzSize:"nzSize",nzTitle:"nzTitle",nzExtra:"nzExtra"},exportAs:["nzCard"],standalone:!0,features:[je,me],ngContentSelectors:rV,decls:6,vars:5,consts:[[1,"ant-card-head"],[1,"ant-card-cover"],[1,"ant-card-body",3,"ngStyle"],[3,"nzActive","nzTitle","nzParagraph"],[1,"ant-card-actions"],[1,"ant-card-head-wrapper"],[1,"ant-card-head-title"],[1,"ant-card-extra"],[3,"ngTemplateOutlet"],[4,"nzStringTemplateOutlet"],[3,"width"]],template:function(i,o){1&i&&(Et(),C(0,Lme,5,3,"div",0)(1,Hme,2,1,"div",1),f(2,"div",2),C(3,jme,1,4,"nz-skeleton",3)(4,Yme,1,0),m(),C(5,Gme,3,0,"ul",4)),2&i&&(he(o.nzTitle||o.nzExtra||o.listOfNzCardTabComponent?0:-1),d(),he(o.nzCover?1:-1),d(),h("ngStyle",o.nzBodyStyle),d(),he(o.nzLoading?3:4),d(2),he(o.nzActions.length?5:-1))},dependencies:[Sn,An,Nn,ti,zme,Cme],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzBordered",void 0),xt([Vt()],t.prototype,"nzBorderless",void 0),xt([Vt()],t.prototype,"nzHoverable",void 0),xt([Vt()],t.prototype,"nzSize",void 0),t})(),Jme=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[$me,Qme,b3]})}return t})();const Zme=[Dx,Ex,{name:"share-alt",theme:"outline",icon:''},xx,kx,Ox,{name:"minus",theme:"outline",icon:''},{name:"plus",theme:"outline",icon:''},{name:"stop",theme:"outline",icon:''}];let Xme=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t,bootstrap:[C8e]});static#n=this.\u0275inj=Je({providers:[{provide:E7,useValue:D7}],imports:[ume,jae,V1e,Che,MO,nse,che,m3e,U7,h2,h1e,tue,dp,H7,Jme,In.forRoot(Zme),AE,O2e,R7,L4e,Dpe,kpe,lue,Pp,C3e,F3e,m0e,Z4e,uae,sg,Pl,sg,H6e]})}return t})();e$().bootstrapModule(Xme).catch(t=>console.error(t))},20:(Ne,jt,fe)=>{"use strict";var X=fe(258),ce=fe(128),Y=ce(X("String.prototype.indexOf"));Ne.exports=function(Te,le){var J=X(Te,!!le);return"function"==typeof J&&Y(Te,".prototype.")>-1?ce(J):J}},128:(Ne,jt,fe)=>{"use strict";var X=fe(992),ce=fe(258),Y=fe(358),N=fe(758),Te=ce("%Function.prototype.apply%"),le=ce("%Function.prototype.call%"),J=ce("%Reflect.apply%",!0)||X.call(le,Te),Ve=fe(570),Ee=ce("%Math.max%");Ne.exports=function(Re){if("function"!=typeof Re)throw new N("a function is required");var re=J(X,le,arguments);return Y(re,1+Ee(0,Re.length-(arguments.length-1)),!0)};var ye=function(){return J(X,Te,arguments)};Ve?Ve(Ne.exports,"apply",{value:ye}):Ne.exports.apply=ye},821:function(Ne){Ne.exports=function(){var jt={686:function(ce,Y,N){"use strict";N.d(Y,{default:function(){return Vn}});var Te=N(279),le=N.n(Te),J=N(370),Ve=N.n(J),Ee=N(817),ye=N.n(Ee);function te(ve){try{return document.execCommand(ve)}catch{return!1}}var re=function(ze){var Ce=ye()(ze);return te("cut"),Ce};var K=function(ze,Ce){var Le=function ne(ve){var ze="rtl"===document.documentElement.getAttribute("dir"),Ce=document.createElement("textarea");Ce.style.fontSize="12pt",Ce.style.border="0",Ce.style.padding="0",Ce.style.margin="0",Ce.style.position="absolute",Ce.style[ze?"right":"left"]="-9999px";var Le=window.pageYOffset||document.documentElement.scrollTop;return Ce.style.top="".concat(Le,"px"),Ce.setAttribute("readonly",""),Ce.value=ve,Ce}(ze);Ce.container.appendChild(Le);var Qe=ye()(Le);return te("copy"),Le.remove(),Qe},O=function(ze){var Ce=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body},Le="";return"string"==typeof ze?Le=K(ze,Ce):ze instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(ze?.type)?Le=K(ze.value,Ce):(Le=ye()(ze),te("copy")),Le};function L(ve){return(L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Ce){return typeof Ce}:function(Ce){return Ce&&"function"==typeof Symbol&&Ce.constructor===Symbol&&Ce!==Symbol.prototype?"symbol":typeof Ce})(ve)}var se=function(){var ze=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},Ce=ze.action,Le=void 0===Ce?"copy":Ce,Qe=ze.container,gt=ze.target,Nt=ze.text;if("copy"!==Le&&"cut"!==Le)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==gt){if(!gt||"object"!==L(gt)||1!==gt.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===Le&>.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===Le&&(gt.hasAttribute("readonly")||gt.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return Nt?O(Nt,{container:Qe}):gt?"cut"===Le?re(gt):O(gt,{container:Qe}):void 0};function ue(ve){return(ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Ce){return typeof Ce}:function(Ce){return Ce&&"function"==typeof Symbol&&Ce.constructor===Symbol&&Ce!==Symbol.prototype?"symbol":typeof Ce})(ve)}function Ae(ve,ze){for(var Ce=0;Ce"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var Qe,Le=$n(ve);if(ze){var gt=$n(this).constructor;Qe=Reflect.construct(Le,arguments,gt)}else Qe=Le.apply(this,arguments);return function bn(ve,ze){return!ze||"object"!==ue(ze)&&"function"!=typeof ze?function pt(ve){if(void 0===ve)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ve}(ve):ze}(this,Qe)}}function $n(ve){return($n=Object.setPrototypeOf?Object.getPrototypeOf:function(Ce){return Ce.__proto__||Object.getPrototypeOf(Ce)})(ve)}function cn(ve,ze){var Ce="data-clipboard-".concat(ve);if(ze.hasAttribute(Ce))return ze.getAttribute(Ce)}var Lo=function(ve){nt(Ce,ve);var ze=ht(Ce);function Ce(Le,Qe){var gt;return function ge(ve,ze){if(!(ve instanceof ze))throw new TypeError("Cannot call a class as a function")}(this,Ce),(gt=ze.call(this)).resolveOptions(Qe),gt.listenClick(Le),gt}return function ut(ve,ze,Ce){return ze&&Ae(ve.prototype,ze),Ce&&Ae(ve,Ce),ve}(Ce,[{key:"resolveOptions",value:function(){var Qe=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof Qe.action?Qe.action:this.defaultAction,this.target="function"==typeof Qe.target?Qe.target:this.defaultTarget,this.text="function"==typeof Qe.text?Qe.text:this.defaultText,this.container="object"===ue(Qe.container)?Qe.container:document.body}},{key:"listenClick",value:function(Qe){var gt=this;this.listener=Ve()(Qe,"click",function(Nt){return gt.onClick(Nt)})}},{key:"onClick",value:function(Qe){var gt=Qe.delegateTarget||Qe.currentTarget,Nt=this.action(gt)||"copy",vi=se({action:Nt,container:this.container,target:this.target(gt),text:this.text(gt)});this.emit(vi?"success":"error",{action:Nt,text:vi,trigger:gt,clearSelection:function(){gt&>.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(Qe){return cn("action",Qe)}},{key:"defaultTarget",value:function(Qe){var gt=cn("target",Qe);if(gt)return document.querySelector(gt)}},{key:"defaultText",value:function(Qe){return cn("text",Qe)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(Qe){var gt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body};return O(Qe,gt)}},{key:"cut",value:function(Qe){return re(Qe)}},{key:"isSupported",value:function(){var Qe=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],Nt=!!document.queryCommandSupported;return("string"==typeof Qe?[Qe]:Qe).forEach(function(vi){Nt=Nt&&!!document.queryCommandSupported(vi)}),Nt}}]),Ce}(le()),Vn=Lo},828:function(ce){if(typeof Element<"u"&&!Element.prototype.matches){var N=Element.prototype;N.matches=N.matchesSelector||N.mozMatchesSelector||N.msMatchesSelector||N.oMatchesSelector||N.webkitMatchesSelector}ce.exports=function Te(le,J){for(;le&&9!==le.nodeType;){if("function"==typeof le.matches&&le.matches(J))return le;le=le.parentNode}}},438:function(ce,Y,N){var Te=N(828);function le(Ee,ye,te,Re,re){var ne=Ve.apply(this,arguments);return Ee.addEventListener(te,ne,re),{destroy:function(){Ee.removeEventListener(te,ne,re)}}}function Ve(Ee,ye,te,Re){return function(re){re.delegateTarget=Te(re.target,ye),re.delegateTarget&&Re.call(Ee,re)}}ce.exports=function J(Ee,ye,te,Re,re){return"function"==typeof Ee.addEventListener?le.apply(null,arguments):"function"==typeof te?le.bind(null,document).apply(null,arguments):("string"==typeof Ee&&(Ee=document.querySelectorAll(Ee)),Array.prototype.map.call(Ee,function(ne){return le(ne,ye,te,Re,re)}))}},879:function(ce,Y){Y.node=function(N){return void 0!==N&&N instanceof HTMLElement&&1===N.nodeType},Y.nodeList=function(N){var Te=Object.prototype.toString.call(N);return void 0!==N&&("[object NodeList]"===Te||"[object HTMLCollection]"===Te)&&"length"in N&&(0===N.length||Y.node(N[0]))},Y.string=function(N){return"string"==typeof N||N instanceof String},Y.fn=function(N){return"[object Function]"===Object.prototype.toString.call(N)}},370:function(ce,Y,N){var Te=N(879),le=N(438);ce.exports=function J(te,Re,re){if(!te&&!Re&&!re)throw new Error("Missing required arguments");if(!Te.string(Re))throw new TypeError("Second argument must be a String");if(!Te.fn(re))throw new TypeError("Third argument must be a Function");if(Te.node(te))return function Ve(te,Re,re){return te.addEventListener(Re,re),{destroy:function(){te.removeEventListener(Re,re)}}}(te,Re,re);if(Te.nodeList(te))return function Ee(te,Re,re){return Array.prototype.forEach.call(te,function(ne){ne.addEventListener(Re,re)}),{destroy:function(){Array.prototype.forEach.call(te,function(ne){ne.removeEventListener(Re,re)})}}}(te,Re,re);if(Te.string(te))return function ye(te,Re,re){return le(document.body,te,Re,re)}(te,Re,re);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},817:function(ce){ce.exports=function Y(N){var Te;if("SELECT"===N.nodeName)N.focus(),Te=N.value;else if("INPUT"===N.nodeName||"TEXTAREA"===N.nodeName){var le=N.hasAttribute("readonly");le||N.setAttribute("readonly",""),N.select(),N.setSelectionRange(0,N.value.length),le||N.removeAttribute("readonly"),Te=N.value}else{N.hasAttribute("contenteditable")&&N.focus();var J=window.getSelection(),Ve=document.createRange();Ve.selectNodeContents(N),J.removeAllRanges(),J.addRange(Ve),Te=J.toString()}return Te}},279:function(ce){function Y(){}Y.prototype={on:function(N,Te,le){var J=this.e||(this.e={});return(J[N]||(J[N]=[])).push({fn:Te,ctx:le}),this},once:function(N,Te,le){var J=this;function Ve(){J.off(N,Ve),Te.apply(le,arguments)}return Ve._=Te,this.on(N,Ve,le)},emit:function(N){for(var Te=[].slice.call(arguments,1),le=((this.e||(this.e={}))[N]||[]).slice(),J=0,Ve=le.length;J{"use strict";var X=fe(570),ce=fe(413),Y=fe(758),N=fe(798);Ne.exports=function(le,J,Ve){if(!le||"object"!=typeof le&&"function"!=typeof le)throw new Y("`obj` must be an object or a function`");if("string"!=typeof J&&"symbol"!=typeof J)throw new Y("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new Y("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new Y("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new Y("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new Y("`loose`, if provided, must be a boolean");var Ee=arguments.length>3?arguments[3]:null,ye=arguments.length>4?arguments[4]:null,te=arguments.length>5?arguments[5]:null,Re=arguments.length>6&&arguments[6],re=!!N&&N(le,J);if(X)X(le,J,{configurable:null===te&&re?re.configurable:!te,enumerable:null===Ee&&re?re.enumerable:!Ee,value:Ve,writable:null===ye&&re?re.writable:!ye});else{if(!Re&&(Ee||ye||te))throw new ce("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");le[J]=Ve}}},570:(Ne,jt,fe)=>{"use strict";var ce=fe(258)("%Object.defineProperty%",!0)||!1;if(ce)try{ce({},"a",{value:1})}catch{ce=!1}Ne.exports=ce},756:Ne=>{"use strict";Ne.exports=EvalError},640:Ne=>{"use strict";Ne.exports=Error},933:Ne=>{"use strict";Ne.exports=RangeError},613:Ne=>{"use strict";Ne.exports=ReferenceError},413:Ne=>{"use strict";Ne.exports=SyntaxError},758:Ne=>{"use strict";Ne.exports=TypeError},286:Ne=>{"use strict";Ne.exports=URIError},578:function(Ne,jt){var fe,ce;void 0!==(ce="function"==typeof(fe=function(){"use strict";function N(ye,te,Re){var re=new XMLHttpRequest;re.open("GET",ye),re.responseType="blob",re.onload=function(){Ee(re.response,te,Re)},re.onerror=function(){console.error("could not download file")},re.send()}function Te(ye){var te=new XMLHttpRequest;te.open("HEAD",ye,!1);try{te.send()}catch{}return 200<=te.status&&299>=te.status}function le(ye){try{ye.dispatchEvent(new MouseEvent("click"))}catch{var te=document.createEvent("MouseEvents");te.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),ye.dispatchEvent(te)}}var J="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,Ve=J.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),Ee=J.saveAs||("object"!=typeof window||window!==J?function(){}:"download"in HTMLAnchorElement.prototype&&!Ve?function(ye,te,Re){var re=J.URL||J.webkitURL,ne=document.createElement("a");ne.download=te=te||ye.name||"download",ne.rel="noopener","string"==typeof ye?(ne.href=ye,ne.origin===location.origin?le(ne):Te(ne.href)?N(ye,te,Re):le(ne,ne.target="_blank")):(ne.href=re.createObjectURL(ye),setTimeout(function(){re.revokeObjectURL(ne.href)},4e4),setTimeout(function(){le(ne)},0))}:"msSaveOrOpenBlob"in navigator?function(ye,te,Re){if(te=te||ye.name||"download","string"!=typeof ye)navigator.msSaveOrOpenBlob(function Y(ye,te){return typeof te>"u"?te={autoBom:!1}:"object"!=typeof te&&(console.warn("Deprecated: Expected third argument to be a object"),te={autoBom:!te}),te.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(ye.type)?new Blob(["\ufeff",ye],{type:ye.type}):ye}(ye,Re),te);else if(Te(ye))N(ye,te,Re);else{var re=document.createElement("a");re.href=ye,re.target="_blank",setTimeout(function(){le(re)})}}:function(ye,te,Re,re){if((re=re||open("","_blank"))&&(re.document.title=re.document.body.innerText="downloading..."),"string"==typeof ye)return N(ye,te,Re);var ne="application/octet-stream"===ye.type,K=/constructor/i.test(J.HTMLElement)||J.safari,ee=/CriOS\/[\d]+/.test(navigator.userAgent);if((ee||ne&&K||Ve)&&typeof FileReader<"u"){var O=new FileReader;O.onloadend=function(){var se=O.result;se=ee?se:se.replace(/^data:[^;]*;/,"data:attachment/file;"),re?re.location.href=se:location=se,re=null},O.readAsDataURL(ye)}else{var L=J.URL||J.webkitURL,H=L.createObjectURL(ye);re?re.location=H:location.href=H,re=null,setTimeout(function(){L.revokeObjectURL(H)},4e4)}});J.saveAs=Ee.saveAs=Ee,Ne.exports=Ee})?fe.apply(jt,[]):fe)&&(Ne.exports=ce)},132:Ne=>{"use strict";var fe=Object.prototype.toString,X=Math.max,Y=function(J,Ve){for(var Ee=[],ye=0;ye{"use strict";var X=fe(132);Ne.exports=Function.prototype.bind||X},258:(Ne,jt,fe)=>{"use strict";var X,ce=fe(640),Y=fe(756),N=fe(933),Te=fe(613),le=fe(413),J=fe(758),Ve=fe(286),Ee=Function,ye=function(Vn){try{return Ee('"use strict"; return ('+Vn+").constructor;")()}catch{}},te=Object.getOwnPropertyDescriptor;if(te)try{te({},"")}catch{te=null}var Re=function(){throw new J},re=te?function(){try{return Re}catch{try{return te(arguments,"callee").get}catch{return Re}}}():Re,ne=fe(900)(),K=fe(119)(),ee=Object.getPrototypeOf||(K?function(Vn){return Vn.__proto__}:null),O={},L=typeof Uint8Array>"u"||!ee?X:ee(Uint8Array),H={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?X:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?X:ArrayBuffer,"%ArrayIteratorPrototype%":ne&&ee?ee([][Symbol.iterator]()):X,"%AsyncFromSyncIteratorPrototype%":X,"%AsyncFunction%":O,"%AsyncGenerator%":O,"%AsyncGeneratorFunction%":O,"%AsyncIteratorPrototype%":O,"%Atomics%":typeof Atomics>"u"?X:Atomics,"%BigInt%":typeof BigInt>"u"?X:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?X:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?X:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?X:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":ce,"%eval%":eval,"%EvalError%":Y,"%Float32Array%":typeof Float32Array>"u"?X:Float32Array,"%Float64Array%":typeof Float64Array>"u"?X:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?X:FinalizationRegistry,"%Function%":Ee,"%GeneratorFunction%":O,"%Int8Array%":typeof Int8Array>"u"?X:Int8Array,"%Int16Array%":typeof Int16Array>"u"?X:Int16Array,"%Int32Array%":typeof Int32Array>"u"?X:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ne&&ee?ee(ee([][Symbol.iterator]())):X,"%JSON%":"object"==typeof JSON?JSON:X,"%Map%":typeof Map>"u"?X:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ne||!ee?X:ee((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?X:Promise,"%Proxy%":typeof Proxy>"u"?X:Proxy,"%RangeError%":N,"%ReferenceError%":Te,"%Reflect%":typeof Reflect>"u"?X:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?X:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ne||!ee?X:ee((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?X:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ne&&ee?ee(""[Symbol.iterator]()):X,"%Symbol%":ne?Symbol:X,"%SyntaxError%":le,"%ThrowTypeError%":re,"%TypedArray%":L,"%TypeError%":J,"%Uint8Array%":typeof Uint8Array>"u"?X:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?X:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?X:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?X:Uint32Array,"%URIError%":Ve,"%WeakMap%":typeof WeakMap>"u"?X:WeakMap,"%WeakRef%":typeof WeakRef>"u"?X:WeakRef,"%WeakSet%":typeof WeakSet>"u"?X:WeakSet};if(ee)try{null.error}catch(Vn){var se=ee(ee(Vn));H["%Error.prototype%"]=se}var ue=function Vn(ve){var ze;if("%AsyncFunction%"===ve)ze=ye("async function () {}");else if("%GeneratorFunction%"===ve)ze=ye("function* () {}");else if("%AsyncGeneratorFunction%"===ve)ze=ye("async function* () {}");else if("%AsyncGenerator%"===ve){var Ce=Vn("%AsyncGeneratorFunction%");Ce&&(ze=Ce.prototype)}else if("%AsyncIteratorPrototype%"===ve){var Le=Vn("%AsyncGenerator%");Le&&ee&&(ze=ee(Le.prototype))}return H[ve]=ze,ze},ge={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ae=fe(992),ut=fe(368),nt=Ae.call(Function.call,Array.prototype.concat),Ut=Ae.call(Function.apply,Array.prototype.splice),ht=Ae.call(Function.call,String.prototype.replace),bn=Ae.call(Function.call,String.prototype.slice),pt=Ae.call(Function.call,RegExp.prototype.exec),lo=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,$n=/\\(\\)?/g,Lo=function(ve,ze){var Le,Ce=ve;if(ut(ge,Ce)&&(Ce="%"+(Le=ge[Ce])[0]+"%"),ut(H,Ce)){var Qe=H[Ce];if(Qe===O&&(Qe=ue(Ce)),typeof Qe>"u"&&!ze)throw new J("intrinsic "+ve+" exists, but is not available. Please file an issue!");return{alias:Le,name:Ce,value:Qe}}throw new le("intrinsic "+ve+" does not exist!")};Ne.exports=function(ve,ze){if("string"!=typeof ve||0===ve.length)throw new J("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof ze)throw new J('"allowMissing" argument must be a boolean');if(null===pt(/^%?[^%]*%?$/,ve))throw new le("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var Ce=function(ve){var ze=bn(ve,0,1),Ce=bn(ve,-1);if("%"===ze&&"%"!==Ce)throw new le("invalid intrinsic syntax, expected closing `%`");if("%"===Ce&&"%"!==ze)throw new le("invalid intrinsic syntax, expected opening `%`");var Le=[];return ht(ve,lo,function(Qe,gt,Nt,vi){Le[Le.length]=Nt?ht(vi,$n,"$1"):gt||Qe}),Le}(ve),Le=Ce.length>0?Ce[0]:"",Qe=Lo("%"+Le+"%",ze),gt=Qe.name,Nt=Qe.value,vi=!1,cr=Qe.alias;cr&&(Le=cr[0],Ut(Ce,nt([0,1],cr)));for(var Ar=1,So=!0;Ar=Ce.length){var wt=te(Nt,bi);Nt=(So=!!wt)&&"get"in wt&&!("originalValue"in wt.get)?wt.get:Nt[bi]}else So=ut(Nt,bi),Nt=Nt[bi];So&&!vi&&(H[gt]=Nt)}}return Nt}},798:(Ne,jt,fe)=>{"use strict";var ce=fe(258)("%Object.getOwnPropertyDescriptor%",!0);if(ce)try{ce([],"length")}catch{ce=null}Ne.exports=ce},861:(Ne,jt,fe)=>{"use strict";var X=fe(570),ce=function(){return!!X};ce.hasArrayLengthDefineBug=function(){if(!X)return null;try{return 1!==X([],"length",{value:1}).length}catch{return!0}},Ne.exports=ce},119:Ne=>{"use strict";var jt={__proto__:null,foo:{}},fe=Object;Ne.exports=function(){return{__proto__:jt}.foo===jt.foo&&!(jt instanceof fe)}},900:(Ne,jt,fe)=>{"use strict";var X=typeof Symbol<"u"&&Symbol,ce=fe(310);Ne.exports=function(){return"function"==typeof X&&"function"==typeof Symbol&&"symbol"==typeof X("foo")&&"symbol"==typeof Symbol("bar")&&ce()}},310:Ne=>{"use strict";Ne.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var fe={},X=Symbol("test"),ce=Object(X);if("string"==typeof X||"[object Symbol]"!==Object.prototype.toString.call(X)||"[object Symbol]"!==Object.prototype.toString.call(ce))return!1;for(X in fe[X]=42,fe)return!1;if("function"==typeof Object.keys&&0!==Object.keys(fe).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(fe).length)return!1;var N=Object.getOwnPropertySymbols(fe);if(1!==N.length||N[0]!==X||!Object.prototype.propertyIsEnumerable.call(fe,X))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var Te=Object.getOwnPropertyDescriptor(fe,X);if(42!==Te.value||!0!==Te.enumerable)return!1}return!0}},368:(Ne,jt,fe)=>{"use strict";var X=Function.prototype.call,ce=Object.prototype.hasOwnProperty,Y=fe(992);Ne.exports=Y.call(X,ce)},560:function(Ne,jt,fe){var X,ce;X=function(){var K,ee,Y={version:"0.2.0"},N=Y.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function Te(K,ee,O){return KO?O:K}function le(K){return 100*(-1+K)}Y.configure=function(K){var ee,O;for(ee in K)void 0!==(O=K[ee])&&K.hasOwnProperty(ee)&&(N[ee]=O);return this},Y.status=null,Y.set=function(K){var ee=Y.isStarted();K=Te(K,N.minimum,1),Y.status=1===K?null:K;var O=Y.render(!ee),L=O.querySelector(N.barSelector),H=N.speed,se=N.easing;return Ve(function(ue){""===N.positionUsing&&(N.positionUsing=Y.getPositioningCSS()),Ee(L,function J(K,ee,O){var L;return(L="translate3d"===N.positionUsing?{transform:"translate3d("+le(K)+"%,0,0)"}:"translate"===N.positionUsing?{transform:"translate("+le(K)+"%,0)"}:{"margin-left":le(K)+"%"}).transition="all "+ee+"ms "+O,L}(K,H,se)),1===K?(Ee(O,{transition:"none",opacity:1}),setTimeout(function(){Ee(O,{transition:"all "+H+"ms linear",opacity:0}),setTimeout(function(){Y.remove(),ue()},H)},H)):setTimeout(ue,H)}),this},Y.isStarted=function(){return"number"==typeof Y.status},Y.start=function(){Y.status||Y.set(0);var K=function(){setTimeout(function(){Y.status&&(Y.trickle(),K())},N.trickleSpeed)};return N.trickle&&K(),this},Y.done=function(K){return K||Y.status?Y.inc(.3+.5*Math.random()).set(1):this},Y.inc=function(K){var ee=Y.status;return ee?("number"!=typeof K&&(K=(1-ee)*Te(Math.random()*ee,.1,.95)),ee=Te(ee+K,0,.994),Y.set(ee)):Y.start()},Y.trickle=function(){return Y.inc(Math.random()*N.trickleRate)},K=0,ee=0,Y.promise=function(O){return O&&"resolved"!==O.state()?(0===ee&&Y.start(),K++,ee++,O.always(function(){0==--ee?(K=0,Y.done()):Y.set((K-ee)/K)}),this):this},Y.render=function(K){if(Y.isRendered())return document.getElementById("nprogress");te(document.documentElement,"nprogress-busy");var ee=document.createElement("div");ee.id="nprogress",ee.innerHTML=N.template;var se,O=ee.querySelector(N.barSelector),L=K?"-100":le(Y.status||0),H=document.querySelector(N.parent);return Ee(O,{transition:"all 0 linear",transform:"translate3d("+L+"%,0,0)"}),N.showSpinner||(se=ee.querySelector(N.spinnerSelector))&&ne(se),H!=document.body&&te(H,"nprogress-custom-parent"),H.appendChild(ee),ee},Y.remove=function(){Re(document.documentElement,"nprogress-busy"),Re(document.querySelector(N.parent),"nprogress-custom-parent");var K=document.getElementById("nprogress");K&&ne(K)},Y.isRendered=function(){return!!document.getElementById("nprogress")},Y.getPositioningCSS=function(){var K=document.body.style,ee="WebkitTransform"in K?"Webkit":"MozTransform"in K?"Moz":"msTransform"in K?"ms":"OTransform"in K?"O":"";return ee+"Perspective"in K?"translate3d":ee+"Transform"in K?"translate":"margin"};var Ve=function(){var K=[];function ee(){var O=K.shift();O&&O(ee)}return function(O){K.push(O),1==K.length&&ee()}}(),Ee=function(){var K=["Webkit","O","Moz","ms"],ee={};function H(ue){return ue=function O(ue){return ue.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(ge,Ae){return Ae.toUpperCase()})}(ue),ee[ue]||(ee[ue]=function L(ue){var ge=document.body.style;if(ue in ge)return ue;for(var nt,Ae=K.length,ut=ue.charAt(0).toUpperCase()+ue.slice(1);Ae--;)if((nt=K[Ae]+ut)in ge)return nt;return ue}(ue))}function se(ue,ge,Ae){ge=H(ge),ue.style[ge]=Ae}return function(ue,ge){var ut,nt,Ae=arguments;if(2==Ae.length)for(ut in ge)void 0!==(nt=ge[ut])&&ge.hasOwnProperty(ut)&&se(ue,ut,nt);else se(ue,Ae[1],Ae[2])}}();function ye(K,ee){return("string"==typeof K?K:re(K)).indexOf(" "+ee+" ")>=0}function te(K,ee){var O=re(K),L=O+ee;ye(O,ee)||(K.className=L.substring(1))}function Re(K,ee){var L,O=re(K);ye(K,ee)&&(L=O.replace(" "+ee+" "," "),K.className=L.substring(1,L.length-1))}function re(K){return(" "+(K.className||"")+" ").replace(/\s+/gi," ")}function ne(K){K&&K.parentNode&&K.parentNode.removeChild(K)}return Y},void 0!==(ce=X.call(jt,fe,jt,Ne))&&(Ne.exports=ce)},150:(Ne,jt,fe)=>{var X="function"==typeof Map&&Map.prototype,ce=Object.getOwnPropertyDescriptor&&X?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,Y=X&&ce&&"function"==typeof ce.get?ce.get:null,N=X&&Map.prototype.forEach,Te="function"==typeof Set&&Set.prototype,le=Object.getOwnPropertyDescriptor&&Te?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,J=Te&&le&&"function"==typeof le.get?le.get:null,Ve=Te&&Set.prototype.forEach,ye="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,Re="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,ne="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,K=Boolean.prototype.valueOf,ee=Object.prototype.toString,O=Function.prototype.toString,L=String.prototype.match,H=String.prototype.slice,se=String.prototype.replace,ue=String.prototype.toUpperCase,ge=String.prototype.toLowerCase,Ae=RegExp.prototype.test,ut=Array.prototype.concat,nt=Array.prototype.join,Ut=Array.prototype.slice,ht=Math.floor,bn="function"==typeof BigInt?BigInt.prototype.valueOf:null,pt=Object.getOwnPropertySymbols,lo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,$n="function"==typeof Symbol&&"object"==typeof Symbol.iterator,cn="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol,1)?Symbol.toStringTag:null,Lo=Object.prototype.propertyIsEnumerable,Vn=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(F){return F.__proto__}:null);function ve(F,U){if(F===1/0||F===-1/0||F!=F||F&&F>-1e3&&F<1e3||Ae.call(/e/,U))return U;var Rt=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof F){var en=F<0?-ht(-F):ht(F);if(en!==F){var Bn=String(en),At=H.call(U,Bn.length+1);return se.call(Bn,Rt,"$&_")+"."+se.call(se.call(At,/([0-9]{3})/g,"$&_"),/_$/,"")}}return se.call(U,Rt,"$&_")}var ze=fe(634),Ce=ze.custom,Le=Sr(Ce)?Ce:null;function Qe(F,U,Rt){var en="double"===(Rt.quoteStyle||U)?'"':"'";return en+F+en}function gt(F){return se.call(String(F),/"/g,""")}function Nt(F){return!("[object Array]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}function cr(F){return!("[object RegExp]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}function Sr(F){if($n)return F&&"object"==typeof F&&F instanceof Symbol;if("symbol"==typeof F)return!0;if(!F||"object"!=typeof F||!lo)return!1;try{return lo.call(F),!0}catch{}return!1}Ne.exports=function F(U,Rt,en,Bn){var At=Rt||{};if(uo(At,"quoteStyle")&&"single"!==At.quoteStyle&&"double"!==At.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(uo(At,"maxStringLength")&&("number"==typeof At.maxStringLength?At.maxStringLength<0&&At.maxStringLength!==1/0:null!==At.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var Zr=!uo(At,"customInspect")||At.customInspect;if("boolean"!=typeof Zr&&"symbol"!==Zr)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(uo(At,"indent")&&null!==At.indent&&"\t"!==At.indent&&!(parseInt(At.indent,10)===At.indent&&At.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(uo(At,"numericSeparator")&&"boolean"!=typeof At.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var Tr=At.numericSeparator;if(typeof U>"u")return"undefined";if(null===U)return"null";if("boolean"==typeof U)return U?"true":"false";if("string"==typeof U)return q2(U,At);if("number"==typeof U){if(0===U)return 1/0/U>0?"0":"-0";var Hn=String(U);return Tr?ve(U,Hn):Hn}if("bigint"==typeof U){var Xr=String(U)+"n";return Tr?ve(U,Xr):Xr}var Kl=typeof At.depth>"u"?5:At.depth;if(typeof en>"u"&&(en=0),en>=Kl&&Kl>0&&"object"==typeof U)return Nt(U)?"[Array]":"[Object]";var Wt=function i6(F,U){var Rt;if("\t"===F.indent)Rt="\t";else{if(!("number"==typeof F.indent&&F.indent>0))return null;Rt=nt.call(Array(F.indent+1)," ")}return{base:Rt,prev:nt.call(Array(U+1),Rt)}}(At,en);if(typeof Bn>"u")Bn=[];else if(q1(Bn,U)>=0)return"[Circular]";function To(Pa,Xl,r6){if(Xl&&(Bn=Ut.call(Bn)).push(Xl),r6){var Fe={depth:At.depth};return uo(At,"quoteStyle")&&(Fe.quoteStyle=At.quoteStyle),F(Pa,Fe,en+1,Bn)}return F(Pa,At,en+1,Bn)}if("function"==typeof U&&!cr(U)){var Q2=function Ft(F){if(F.name)return F.name;var U=L.call(O.call(F),/^function\s*([\w$]+)/);return U?U[1]:null}(U),K2=Ql(U,To);return"[Function"+(Q2?": "+Q2:" (anonymous)")+"]"+(K2.length>0?" { "+nt.call(K2,", ")+" }":"")}if(Sr(U)){var $2=$n?se.call(String(U),/^(Symbol\(.*\))_[^)]*$/,"$1"):lo.call(U);return"object"!=typeof U||$n?$2:ka($2)}if(function Qs(F){return!(!F||"object"!=typeof F)&&(typeof HTMLElement<"u"&&F instanceof HTMLElement||"string"==typeof F.nodeName&&"function"==typeof F.getAttribute)}(U)){for(var V="<"+ge.call(String(U.nodeName)),$l=U.attributes||[],rt=0;rt<$l.length;rt++)V+=" "+$l[rt].name+"="+Qe(gt($l[rt].value),"double",At);return V+=">",U.childNodes&&U.childNodes.length&&(V+="..."),V+""}if(Nt(U)){if(0===U.length)return"[]";var Jl=Ql(U,To);return Wt&&!function ql(F){for(var U=0;U=0)return!1;return!0}(Jl)?"["+Oa(Jl,Wt)+"]":"[ "+nt.call(Jl,", ")+" ]"}if(function Ar(F){return!("[object Error]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}(U)){var dn=Ql(U,To);return"cause"in Error.prototype||!("cause"in U)||Lo.call(U,"cause")?0===dn.length?"["+String(U)+"]":"{ ["+String(U)+"] "+nt.call(dn,", ")+" }":"{ ["+String(U)+"] "+nt.call(ut.call("[cause]: "+To(U.cause),dn),", ")+" }"}if("object"==typeof U&&Zr){if(Le&&"function"==typeof U[Le]&&ze)return ze(U,{depth:Kl-en});if("symbol"!==Zr&&"function"==typeof U.inspect)return U.inspect()}if(function U2(F){if(!Y||!F||"object"!=typeof F)return!1;try{Y.call(F);try{J.call(F)}catch{return!0}return F instanceof Map}catch{}return!1}(U)){var Jt=[];return N&&N.call(U,function(Pa,Xl){Jt.push(To(Xl,U,!0)+" => "+To(Pa,U))}),Jr("Map",Y.call(U),Jt,Wt)}if(function Gl(F){if(!J||!F||"object"!=typeof F)return!1;try{J.call(F);try{Y.call(F)}catch{return!0}return F instanceof Set}catch{}return!1}(U)){var J2=[];return Ve&&Ve.call(U,function(Pa){J2.push(To(Pa,U))}),Jr("Set",J.call(U),J2,Wt)}if(function W2(F){if(!ye||!F||"object"!=typeof F)return!1;try{ye.call(F,ye);try{Re.call(F,Re)}catch{return!0}return F instanceof WeakMap}catch{}return!1}(U))return Ia("WeakMap");if(function G2(F){if(!Re||!F||"object"!=typeof F)return!1;try{Re.call(F,Re);try{ye.call(F,ye)}catch{return!0}return F instanceof WeakSet}catch{}return!1}(U))return Ia("WeakSet");if(function ys(F){if(!ne||!F||"object"!=typeof F)return!1;try{return ne.call(F),!0}catch{}return!1}(U))return Ia("WeakRef");if(function bi(F){return!("[object Number]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}(U))return ka(To(Number(U)));if(function wt(F){if(!F||"object"!=typeof F||!bn)return!1;try{return bn.call(F),!0}catch{}return!1}(U))return ka(To(bn.call(U)));if(function co(F){return!("[object Boolean]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}(U))return ka(K.call(U));if(function So(F){return!("[object String]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}(U))return ka(To(String(U)));if(typeof window<"u"&&U===window)return"{ [object Window] }";if(typeof globalThis<"u"&&U===globalThis||typeof global<"u"&&U===global)return"{ [object globalThis] }";if(!function vi(F){return!("[object Date]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}(U)&&!cr(U)){var Pe=Ql(U,To),Zl=Vn?Vn(U)===Object.prototype:U instanceof Object||U.constructor===Object,Z2=U instanceof Object?"":"null prototype",o6=!Zl&&cn&&Object(U)===U&&cn in U?H.call(Fi(U),8,-1):Z2?"Object":"",X2=(Zl||"function"!=typeof U.constructor?"":U.constructor.name?U.constructor.name+" ":"")+(o6||Z2?"["+nt.call(ut.call([],o6||[],Z2||[]),": ")+"] ":"");return 0===Pe.length?X2+"{}":Wt?X2+"{"+Oa(Pe,Wt)+"}":X2+"{ "+nt.call(Pe,", ")+" }"}return String(U)};var xa=Object.prototype.hasOwnProperty||function(F){return F in this};function uo(F,U){return xa.call(F,U)}function Fi(F){return ee.call(F)}function q1(F,U){if(F.indexOf)return F.indexOf(U);for(var Rt=0,en=F.length;RtU.maxStringLength){var Rt=F.length-U.maxStringLength,en="... "+Rt+" more character"+(Rt>1?"s":"");return q2(H.call(F,0,U.maxStringLength),U)+en}return Qe(se.call(se.call(F,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,n6),"single",U)}function n6(F){var U=F.charCodeAt(0),Rt={8:"b",9:"t",10:"n",12:"f",13:"r"}[U];return Rt?"\\"+Rt:"\\x"+(U<16?"0":"")+ue.call(U.toString(16))}function ka(F){return"Object("+F+")"}function Ia(F){return F+" { ? }"}function Jr(F,U,Rt,en){return F+" ("+U+") {"+(en?Oa(Rt,en):nt.call(Rt,", "))+"}"}function Oa(F,U){if(0===F.length)return"";var Rt="\n"+U.prev+U.base;return Rt+nt.call(F,","+Rt)+"\n"+U.prev}function Ql(F,U){var Rt=Nt(F),en=[];if(Rt){en.length=F.length;for(var Bn=0;Bn{"use strict";var jt=String.prototype.replace,fe=/%20/g;Ne.exports={default:"RFC3986",formatters:{RFC1738:function(ce){return jt.call(ce,fe,"+")},RFC3986:function(ce){return String(ce)}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},476:(Ne,jt,fe)=>{"use strict";var X=fe(801),ce=fe(919),Y=fe(140);Ne.exports={formats:Y,parse:ce,stringify:X}},919:(Ne,jt,fe)=>{"use strict";var X=fe(221),ce=Object.prototype.hasOwnProperty,Y=Array.isArray,N={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:X.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},le=function(re,ne){return re&&"string"==typeof re&&ne.comma&&re.indexOf(",")>-1?re.split(","):re},te=function(ne,K,ee,O){if(ne){var L=ee.allowDots?ne.replace(/\.([^.[]+)/g,"[$1]"):ne,se=/(\[[^[\]]*])/g,ue=ee.depth>0&&/(\[[^[\]]*])/.exec(L),ge=ue?L.slice(0,ue.index):L,Ae=[];if(ge){if(!ee.plainObjects&&ce.call(Object.prototype,ge)&&!ee.allowPrototypes)return;Ae.push(ge)}for(var ut=0;ee.depth>0&&null!==(ue=se.exec(L))&&ut=0;--L){var H,se=re[L];if("[]"===se&&K.parseArrays)H=K.allowEmptyArrays&&""===O?[]:[].concat(O);else{H=K.plainObjects?Object.create(null):{};var ue="["===se.charAt(0)&&"]"===se.charAt(se.length-1)?se.slice(1,-1):se,ge=K.decodeDotInKeys?ue.replace(/%2E/g,"."):ue,Ae=parseInt(ge,10);K.parseArrays||""!==ge?!isNaN(Ae)&&se!==ge&&String(Ae)===ge&&Ae>=0&&K.parseArrays&&Ae<=K.arrayLimit?(H=[])[Ae]=O:"__proto__"!==ge&&(H[ge]=O):H={0:O}}O=H}return O}(Ae,K,ee,O)}};Ne.exports=function(re,ne){var K=function(ne){if(!ne)return N;if(typeof ne.allowEmptyArrays<"u"&&"boolean"!=typeof ne.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof ne.decodeDotInKeys<"u"&&"boolean"!=typeof ne.decodeDotInKeys)throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==ne.decoder&&typeof ne.decoder<"u"&&"function"!=typeof ne.decoder)throw new TypeError("Decoder has to be a function.");if(typeof ne.charset<"u"&&"utf-8"!==ne.charset&&"iso-8859-1"!==ne.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var K=typeof ne.charset>"u"?N.charset:ne.charset,ee=typeof ne.duplicates>"u"?N.duplicates:ne.duplicates;if("combine"!==ee&&"first"!==ee&&"last"!==ee)throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:typeof ne.allowDots>"u"?!0===ne.decodeDotInKeys||N.allowDots:!!ne.allowDots,allowEmptyArrays:"boolean"==typeof ne.allowEmptyArrays?!!ne.allowEmptyArrays:N.allowEmptyArrays,allowPrototypes:"boolean"==typeof ne.allowPrototypes?ne.allowPrototypes:N.allowPrototypes,allowSparse:"boolean"==typeof ne.allowSparse?ne.allowSparse:N.allowSparse,arrayLimit:"number"==typeof ne.arrayLimit?ne.arrayLimit:N.arrayLimit,charset:K,charsetSentinel:"boolean"==typeof ne.charsetSentinel?ne.charsetSentinel:N.charsetSentinel,comma:"boolean"==typeof ne.comma?ne.comma:N.comma,decodeDotInKeys:"boolean"==typeof ne.decodeDotInKeys?ne.decodeDotInKeys:N.decodeDotInKeys,decoder:"function"==typeof ne.decoder?ne.decoder:N.decoder,delimiter:"string"==typeof ne.delimiter||X.isRegExp(ne.delimiter)?ne.delimiter:N.delimiter,depth:"number"==typeof ne.depth||!1===ne.depth?+ne.depth:N.depth,duplicates:ee,ignoreQueryPrefix:!0===ne.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof ne.interpretNumericEntities?ne.interpretNumericEntities:N.interpretNumericEntities,parameterLimit:"number"==typeof ne.parameterLimit?ne.parameterLimit:N.parameterLimit,parseArrays:!1!==ne.parseArrays,plainObjects:"boolean"==typeof ne.plainObjects?ne.plainObjects:N.plainObjects,strictNullHandling:"boolean"==typeof ne.strictNullHandling?ne.strictNullHandling:N.strictNullHandling}}(ne);if(""===re||null===re||typeof re>"u")return K.plainObjects?Object.create(null):{};for(var ee="string"==typeof re?function(ne,K){var ue,ee={__proto__:null},H=(K.ignoreQueryPrefix?ne.replace(/^\?/,""):ne).split(K.delimiter,K.parameterLimit===1/0?void 0:K.parameterLimit),se=-1,ge=K.charset;if(K.charsetSentinel)for(ue=0;ue{"use strict";var X=fe(541),ce=fe(221),Y=fe(140),N=Object.prototype.hasOwnProperty,Te={brackets:function(O){return O+"[]"},comma:"comma",indices:function(O,L){return O+"["+L+"]"},repeat:function(O){return O}},le=Array.isArray,J=Array.prototype.push,Ve=function(ee,O){J.apply(ee,le(O)?O:[O])},Ee=Date.prototype.toISOString,ye=Y.default,te={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:ce.encode,encodeValuesOnly:!1,format:ye,formatter:Y.formatters[ye],indices:!1,serializeDate:function(O){return Ee.call(O)},skipNulls:!1,strictNullHandling:!1},re={},ne=function ee(O,L,H,se,ue,ge,Ae,ut,nt,Ut,ht,bn,pt,lo,$n,cn,Lo,Vn){for(var ve=O,ze=Vn,Ce=0,Le=!1;void 0!==(ze=ze.get(re))&&!Le;){var Qe=ze.get(O);if(Ce+=1,typeof Qe<"u"){if(Qe===Ce)throw new RangeError("Cyclic object value");Le=!0}typeof ze.get(re)>"u"&&(Ce=0)}if("function"==typeof Ut?ve=Ut(L,ve):ve instanceof Date?ve=pt(ve):"comma"===H&&le(ve)&&(ve=ce.maybeMap(ve,function(Fi){return Fi instanceof Date?pt(Fi):Fi})),null===ve){if(ge)return nt&&!cn?nt(L,te.encoder,Lo,"key",lo):L;ve=""}if(function(O){return"string"==typeof O||"number"==typeof O||"boolean"==typeof O||"symbol"==typeof O||"bigint"==typeof O}(ve)||ce.isBuffer(ve))return nt?[$n(cn?L:nt(L,te.encoder,Lo,"key",lo))+"="+$n(nt(ve,te.encoder,Lo,"value",lo))]:[$n(L)+"="+$n(String(ve))];var vi,Nt=[];if(typeof ve>"u")return Nt;if("comma"===H&&le(ve))cn&&nt&&(ve=ce.maybeMap(ve,nt)),vi=[{value:ve.length>0?ve.join(",")||null:void 0}];else if(le(Ut))vi=Ut;else{var cr=Object.keys(ve);vi=ht?cr.sort(ht):cr}var Ar=ut?L.replace(/\./g,"%2E"):L,So=se&&le(ve)&&1===ve.length?Ar+"[]":Ar;if(ue&&le(ve)&&0===ve.length)return So+"[]";for(var bi=0;bi"u"?!0===O.encodeDotInKeys||te.allowDots:!!O.allowDots,allowEmptyArrays:"boolean"==typeof O.allowEmptyArrays?!!O.allowEmptyArrays:te.allowEmptyArrays,arrayFormat:ge,charset:L,charsetSentinel:"boolean"==typeof O.charsetSentinel?O.charsetSentinel:te.charsetSentinel,commaRoundTrip:O.commaRoundTrip,delimiter:typeof O.delimiter>"u"?te.delimiter:O.delimiter,encode:"boolean"==typeof O.encode?O.encode:te.encode,encodeDotInKeys:"boolean"==typeof O.encodeDotInKeys?O.encodeDotInKeys:te.encodeDotInKeys,encoder:"function"==typeof O.encoder?O.encoder:te.encoder,encodeValuesOnly:"boolean"==typeof O.encodeValuesOnly?O.encodeValuesOnly:te.encodeValuesOnly,filter:ue,format:H,formatter:se,serializeDate:"function"==typeof O.serializeDate?O.serializeDate:te.serializeDate,skipNulls:"boolean"==typeof O.skipNulls?O.skipNulls:te.skipNulls,sort:"function"==typeof O.sort?O.sort:null,strictNullHandling:"boolean"==typeof O.strictNullHandling?O.strictNullHandling:te.strictNullHandling}}(O);"function"==typeof H.filter?L=(0,H.filter)("",L):le(H.filter)&&(se=H.filter);var ge=[];if("object"!=typeof L||null===L)return"";var Ae=Te[H.arrayFormat],ut="comma"===Ae&&H.commaRoundTrip;se||(se=Object.keys(L)),H.sort&&se.sort(H.sort);for(var nt=X(),Ut=0;Ut0?pt+bn:""}},221:(Ne,jt,fe)=>{"use strict";var X=fe(140),ce=Object.prototype.hasOwnProperty,Y=Array.isArray,N=function(){for(var O=[],L=0;L<256;++L)O.push("%"+((L<16?"0":"")+L.toString(16)).toUpperCase());return O}(),le=function(L,H){for(var se=H&&H.plainObjects?Object.create(null):{},ue=0;ue1;){var H=L.pop(),se=H.obj[H.prop];if(Y(se)){for(var ue=[],ge=0;ge=1024?Ae.slice(nt,nt+1024):Ae,ht=[],bn=0;bn=48&&pt<=57||pt>=65&&pt<=90||pt>=97&&pt<=122||ge===X.RFC1738&&(40===pt||41===pt)?ht[ht.length]=Ut.charAt(bn):pt<128?ht[ht.length]=N[pt]:pt<2048?ht[ht.length]=N[192|pt>>6]+N[128|63&pt]:pt<55296||pt>=57344?ht[ht.length]=N[224|pt>>12]+N[128|pt>>6&63]+N[128|63&pt]:(pt=65536+((1023&pt)<<10|1023&Ut.charCodeAt(bn+=1)),ht[ht.length]=N[240|pt>>18]+N[128|pt>>12&63]+N[128|pt>>6&63]+N[128|63&pt])}ut+=ht.join("")}return ut},isBuffer:function(L){return!(!L||"object"!=typeof L||!(L.constructor&&L.constructor.isBuffer&&L.constructor.isBuffer(L)))},isRegExp:function(L){return"[object RegExp]"===Object.prototype.toString.call(L)},maybeMap:function(L,H){if(Y(L)){for(var se=[],ue=0;ue{"use strict";var X=fe(258),ce=fe(736),Y=fe(861)(),N=fe(798),Te=fe(758),le=X("%Math.floor%");Ne.exports=function(Ve,Ee){if("function"!=typeof Ve)throw new Te("`fn` is not a function");if("number"!=typeof Ee||Ee<0||Ee>4294967295||le(Ee)!==Ee)throw new Te("`length` must be a positive 32-bit integer");var ye=arguments.length>2&&!!arguments[2],te=!0,Re=!0;if("length"in Ve&&N){var re=N(Ve,"length");re&&!re.configurable&&(te=!1),re&&!re.writable&&(Re=!1)}return(te||Re||!ye)&&(Y?ce(Ve,"length",Ee,!0,!0):ce(Ve,"length",Ee)),Ve}},541:(Ne,jt,fe)=>{"use strict";var X=fe(258),ce=fe(20),Y=fe(150),N=fe(758),Te=X("%WeakMap%",!0),le=X("%Map%",!0),J=ce("WeakMap.prototype.get",!0),Ve=ce("WeakMap.prototype.set",!0),Ee=ce("WeakMap.prototype.has",!0),ye=ce("Map.prototype.get",!0),te=ce("Map.prototype.set",!0),Re=ce("Map.prototype.has",!0),re=function(O,L){for(var se,H=O;null!==(se=H.next);H=se)if(se.key===L)return H.next=se.next,se.next=O.next,O.next=se,se};Ne.exports=function(){var L,H,se,ue={assert:function(ge){if(!ue.has(ge))throw new N("Side channel does not contain "+Y(ge))},get:function(ge){if(Te&&ge&&("object"==typeof ge||"function"==typeof ge)){if(L)return J(L,ge)}else if(le){if(H)return ye(H,ge)}else if(se)return function(O,L){var H=re(O,L);return H&&H.value}(se,ge)},has:function(ge){if(Te&&ge&&("object"==typeof ge||"function"==typeof ge)){if(L)return Ee(L,ge)}else if(le){if(H)return Re(H,ge)}else if(se)return function(O,L){return!!re(O,L)}(se,ge);return!1},set:function(ge,Ae){Te&&ge&&("object"==typeof ge||"function"==typeof ge)?(L||(L=new Te),Ve(L,ge,Ae)):le?(H||(H=new le),te(H,ge,Ae)):(se||(se={key:{},next:null}),function(O,L,H){var se=re(O,L);se?se.value=H:O.next={key:L,next:O.next,value:H}}(se,ge,Ae))}};return ue}},634:()=>{}},Ne=>{Ne(Ne.s=285)}]); \ No newline at end of file diff --git a/main.53a93bea7b9b99fa.js b/main.53a93bea7b9b99fa.js new file mode 100644 index 0000000000..3ec3a5ffc8 --- /dev/null +++ b/main.53a93bea7b9b99fa.js @@ -0,0 +1 @@ +(self.webpackChunknav2=self.webpackChunknav2||[]).push([[792],{285:(Ne,jt,fe)=>{"use strict";var X={};fe.r(X),fe.d(X,{hasBrowserEnv:()=>Kg,hasStandardBrowserEnv:()=>Cee,hasStandardBrowserWebWorkerEnv:()=>zee,origin:()=>Aee});let Y=null,N=!1,Te=1;const le=Symbol("SIGNAL");function J(t){const n=Y;return Y=t,n}const te={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Re(t){if(N)throw new Error("");if(null===Y)return;Y.consumerOnSignalRead(t);const n=Y.nextProducerIndex++;nt(Y),nt.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function se(t){nt(t);for(let n=0;n0}function nt(t){t.producerNode??=[],t.producerIndexOfThis??=[],t.producerLastReadVersion??=[]}function Ut(t){t.liveConsumerNode??=[],t.liveConsumerIndexOfThis??=[]}function ht(t){return void 0!==t.producerNode}let Vn=function Lo(){throw new Error};function ve(){Vn()}let Ce=null;function Nt(t,n){ee()||ve(),t.equal(t.value,n)||(t.value=n,function Ar(t){t.version++,function re(){Te++}(),K(t),Ce?.()}(t))}const cr={...te,equal:function ce(t,n){return Object.is(t,n)},value:void 0};const bi=()=>{},co={...te,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:t=>{null!==t.schedule&&t.schedule(t.ref)},hasRun:!1,cleanupFn:bi};function wt(t){return"function"==typeof t}function xa(t){const e=t(i=>{Error.call(i),i.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}const uo=xa(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((i,o)=>`${o+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e});function Fi(t,n){if(t){const e=t.indexOf(n);0<=e&&t.splice(e,1)}}class Ft{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(const r of e)r.remove(this);else e.remove(this);const{initialTeardown:i}=this;if(wt(i))try{i()}catch(r){n=r instanceof uo?r.errors:[r]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const r of o)try{W2(r)}catch(s){n=n??[],s instanceof uo?n=[...n,...s.errors]:n.push(s)}}if(n)throw new uo(n)}}add(n){var e;if(n&&n!==this)if(this.closed)W2(n);else{if(n instanceof Ft){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(n)}}_hasParent(n){const{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){const{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&Fi(e,n)}remove(n){const{_finalizers:e}=this;e&&Fi(e,n),n instanceof Ft&&n._removeParent(this)}}Ft.EMPTY=(()=>{const t=new Ft;return t.closed=!0,t})();const q1=Ft.EMPTY;function U2(t){return t instanceof Ft||t&&"closed"in t&&wt(t.remove)&&wt(t.add)&&wt(t.unsubscribe)}function W2(t){wt(t)?t():t.unsubscribe()}const ys={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Gl={setTimeout(t,n,...e){const{delegate:i}=Gl;return i?.setTimeout?i.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){const{delegate:n}=Gl;return(n?.clearTimeout||clearTimeout)(t)},delegate:void 0};function G2(t){Gl.setTimeout(()=>{const{onUnhandledError:n}=ys;if(!n)throw t;n(t)})}function Qs(){}const q2=Ia("C",void 0,void 0);function Ia(t,n,e){return{kind:t,value:n,error:e}}let Jr=null;function ql(t){if(ys.useDeprecatedSynchronousErrorHandling){const n=!Jr;if(n&&(Jr={errorThrown:!1,error:null}),t(),n){const{errorThrown:e,error:i}=Jr;if(Jr=null,e)throw i}}else t()}class Oa extends Ft{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,U2(n)&&n.add(this)):this.destination=Zr}static create(n,e,i){return new Rt(n,e,i)}next(n){this.isStopped?At(function ka(t){return Ia("N",t,void 0)}(n),this):this._next(n)}error(n){this.isStopped?At(function n6(t){return Ia("E",void 0,t)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?At(q2,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ql=Function.prototype.bind;function F(t,n){return Ql.call(t,n)}class U{constructor(n){this.partialObserver=n}next(n){const{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(i){en(i)}}error(n){const{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(i){en(i)}else en(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){en(e)}}}class Rt extends Oa{constructor(n,e,i){let o;if(super(),wt(n)||!n)o={next:n??void 0,error:e??void 0,complete:i??void 0};else{let r;this&&ys.useDeprecatedNextContext?(r=Object.create(n),r.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&F(n.next,r),error:n.error&&F(n.error,r),complete:n.complete&&F(n.complete,r)}):o=n}this.destination=new U(o)}}function en(t){ys.useDeprecatedSynchronousErrorHandling?function i6(t){ys.useDeprecatedSynchronousErrorHandling&&Jr&&(Jr.errorThrown=!0,Jr.error=t)}(t):G2(t)}function At(t,n){const{onStoppedNotification:e}=ys;e&&Gl.setTimeout(()=>e(t,n))}const Zr={closed:!0,next:Qs,error:function Bn(t){throw t},complete:Qs},Tr="function"==typeof Symbol&&Symbol.observable||"@@observable";function Hn(t){return t}function Kl(t){return 0===t.length?Hn:1===t.length?t[0]:function(e){return t.reduce((i,o)=>o(i),e)}}let Wt=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){const i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,o){const r=function K2(t){return t&&t instanceof Oa||function Q2(t){return t&&wt(t.next)&&wt(t.error)&&wt(t.complete)}(t)&&U2(t)}(e)?e:new Rt(e,i,o);return ql(()=>{const{operator:s,source:a}=this;r.add(s?s.call(r,a):a?this._subscribe(r):this._trySubscribe(r))}),r}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return new(i=To(i))((o,r)=>{const s=new Rt({next:a=>{try{e(a)}catch(l){r(l),s.unsubscribe()}},error:r,complete:o});this.subscribe(s)})}_subscribe(e){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(e)}[Tr](){return this}pipe(...e){return Kl(e)(this)}toPromise(e){return new(e=To(e))((i,o)=>{let r;this.subscribe(s=>r=s,s=>o(s),()=>i(r))})}}return t.create=n=>new t(n),t})();function To(t){var n;return null!==(n=t??ys.Promise)&&void 0!==n?n:Promise}const $2=xa(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let V=(()=>{class t extends Wt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){const i=new $l(this,this);return i.operator=e,i}_throwIfClosed(){if(this.closed)throw new $2}next(e){ql(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(e)}})}error(e){ql(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;const{observers:i}=this;for(;i.length;)i.shift().error(e)}})}complete(){ql(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){const{hasError:i,isStopped:o,observers:r}=this;return i||o?q1:(this.currentObservers=null,r.push(e),new Ft(()=>{this.currentObservers=null,Fi(r,e)}))}_checkFinalizedStatuses(e){const{hasError:i,thrownError:o,isStopped:r}=this;i?e.error(o):r&&e.complete()}asObservable(){const e=new Wt;return e.source=this,e}}return t.create=(n,e)=>new $l(n,e),t})();class $l extends V{constructor(n,e){super(),this.destination=n,this.source=e}next(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,n)}error(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,n)}complete(){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===e||e.call(n)}_subscribe(n){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(n))&&void 0!==i?i:q1}}class rt extends V{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const e=super._subscribe(n);return!e.closed&&n.next(this._value),e}getValue(){const{hasError:n,thrownError:e,_value:i}=this;if(n)throw e;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function Jl(t){return wt(t?.lift)}function dn(t){return n=>{if(Jl(n))return n.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Jt(t,n,e,i,o){return new J2(t,n,e,i,o)}class J2 extends Oa{constructor(n,e,i,o,r,s){super(n),this.onFinalize=r,this.shouldUnsubscribe=s,this._next=e?function(a){try{e(a)}catch(l){n.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:e}=this;super.unsubscribe(),!e&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function Pe(t,n){return dn((e,i)=>{let o=0;e.subscribe(Jt(i,r=>{i.next(t.call(n,r,o++))}))})}typeof navigator<"u"&&navigator,typeof navigator<"u"&&!/Opera/.test(navigator.userAgent)&&navigator,typeof navigator<"u"&&(/MSIE/.test(navigator.userAgent)||navigator),typeof navigator<"u"&&!/Opera|WebKit/.test(navigator.userAgent)&&navigator,typeof navigator<"u"&&navigator;const M9="https://g.co/ng/security#xss";class j extends Error{constructor(n,e){super(function ec(t,n){return`NG0${Math.abs(t)}${n?": "+n:""}`}(n,e)),this.code=n}}function Cs(t){return{toString:t}.toString()}const nc="__parameters__";function oc(t,n,e){return Cs(()=>{const i=function h6(t){return function(...e){if(t){const i=t(...e);for(const o in i)this[o]=i[o]}}}(n);function o(...r){if(this instanceof o)return i.apply(this,r),this;const s=new o(...r);return a.annotation=s,a;function a(l,c,u){const p=l.hasOwnProperty(nc)?l[nc]:Object.defineProperty(l,nc,{value:[]})[nc];for(;p.length<=u;)p.push(null);return(p[u]=p[u]||[]).push(s),l}}return e&&(o.prototype=Object.create(e.prototype)),o.prototype.ngMetadataName=t,o.annotationCls=o,o})}const wn=globalThis;function hn(t){for(let n in t)if(t[n]===hn)return n;throw Error("Could not find renamed property on target object.")}function uN(t,n){for(const e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function _i(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(_i).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const n=t.toString();if(null==n)return""+n;const e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}function p6(t,n){return null==t||""===t?null===n?"":n:null==n||""===n?t:t+" "+n}const hN=hn({__forward_ref__:hn});function Gt(t){return t.__forward_ref__=Gt,t.toString=function(){return _i(this())},t}function st(t){return ih(t)?t():t}function ih(t){return"function"==typeof t&&t.hasOwnProperty(hN)&&t.__forward_ref__===Gt}function ae(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function Je(t){return{providers:t.providers||[],imports:t.imports||[]}}function oh(t){return k9(t,sh)||k9(t,I9)}function k9(t,n){return t.hasOwnProperty(n)?t[n]:null}function rh(t){return t&&(t.hasOwnProperty(f6)||t.hasOwnProperty(bN))?t[f6]:null}const sh=hn({\u0275prov:hn}),f6=hn({\u0275inj:hn}),I9=hn({ngInjectableDef:hn}),bN=hn({ngInjectorDef:hn});class oe{constructor(n,e){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=ae({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function _6(t){return t&&!!t.\u0275providers}const $1=hn({\u0275cmp:hn}),y6=hn({\u0275dir:hn}),w6=hn({\u0275pipe:hn}),P9=hn({\u0275mod:hn}),zs=hn({\u0275fac:hn}),J1=hn({__NG_ELEMENT_ID__:hn}),V9=hn({__NG_ENV_ID__:hn});function vt(t){return"string"==typeof t?t:null==t?"":String(t)}function C6(t,n){throw new j(-201,!1)}var kt=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}(kt||{});let z6;function N9(){return z6}function Mo(t){const n=z6;return z6=t,n}function F9(t,n,e){const i=oh(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&kt.Optional?null:void 0!==n?n:void C6()}const Z1={},A6="__NG_DI_FLAG__",ah="ngTempTokenPath",AN=/\n/gm,R9="__source";let rc;function Js(t){const n=rc;return rc=t,n}function MN(t,n=kt.Default){if(void 0===rc)throw new j(-203,!1);return null===rc?F9(t,void 0,n):rc.get(t,n&kt.Optional?null:void 0,n)}function R(t,n=kt.Default){return(N9()||MN)(st(t),n)}function G(t,n=kt.Default){return R(t,lh(n))}function lh(t){return typeof t>"u"||"number"==typeof t?t:(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function S6(t){const n=[];for(let e=0;e({token:t})),-1),ed=X1(oc("Optional"),8),ch=X1(oc("SkipSelf"),4);function Na(t,n){return t.hasOwnProperty(zs)?t[zs]:null}function sc(t,n){t.forEach(e=>Array.isArray(e)?sc(e,n):n(e))}function H9(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function dh(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function jo(t,n,e){let i=ac(t,n);return i>=0?t[1|i]=e:(i=~i,function j9(t,n,e,i){let o=t.length;if(o==n)t.push(e,i);else if(1===o)t.push(i,t[0]),t[0]=e;else{for(o--,t.push(t[o-1],t[o]);o>n;)t[o]=t[o-2],o--;t[n]=e,t[n+1]=i}}(t,i,n,e)),i}function M6(t,n){const e=ac(t,n);if(e>=0)return t[1|e]}function ac(t,n){return function Y9(t,n,e){let i=0,o=t.length>>e;for(;o!==i;){const r=i+(o-i>>1),s=t[r<n?o=r:i=r+1}return~(o<n){s=r-1;break}}}for(;r-1){let r;for(;++or?"":o[u+1].toLowerCase(),2&i&&c!==p){if(Dr(i))return!1;s=!0}}}}else{if(!s&&!Dr(i)&&!Dr(l))return!1;if(s&&Dr(l))continue;s=!1,i=l|1&i}}return Dr(i)||s}function Dr(t){return!(1&t)}function RN(t,n,e,i){if(null===n)return-1;let o=0;if(i||!e){let r=!1;for(;o-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?o+="."+s:4&i&&(o+=" "+s);else""!==o&&!Dr(s)&&(n+=$9(r,o),o=""),i=s,r=r||!Dr(i);e++}return""!==o&&(n+=$9(r,o)),n}function Q(t){return Cs(()=>{const n=Z9(t),e={...n,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===ph.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&t.dependencies||null,getStandaloneInjector:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||Mr.Emulated,styles:t.styles||Zt,_:null,schemas:t.schemas||null,tView:null,id:""};X9(e);const i=t.dependencies;return e.directiveDefs=fh(i,!1),e.pipeDefs=fh(i,!0),e.id=function KN(t){let n=0;const e=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const o of e)n=Math.imul(31,n)+o.charCodeAt(0)|0;return n+=2147483648,"c"+n}(e),e})}function GN(t){return Dt(t)||yi(t)}function qN(t){return null!==t}function Ze(t){return Cs(()=>({type:t.type,bootstrap:t.bootstrap||Zt,declarations:t.declarations||Zt,imports:t.imports||Zt,exports:t.exports||Zt,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function J9(t,n){if(null==t)return es;const e={};for(const i in t)if(t.hasOwnProperty(i)){const o=t[i];let r,s,a=lc.None;Array.isArray(o)?(a=o[0],r=o[1],s=o[2]??r):(r=o,s=o),n?(e[r]=a!==lc.None?[i,a]:i,n[r]=s):e[r]=i}return e}function de(t){return Cs(()=>{const n=Z9(t);return X9(n),n})}function jn(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,standalone:!0===t.standalone,onDestroy:t.type.prototype.ngOnDestroy||null}}function Dt(t){return t[$1]||null}function yi(t){return t[y6]||null}function Ri(t){return t[w6]||null}function eo(t,n){const e=t[P9]||null;if(!e&&!0===n)throw new Error(`Type ${_i(t)} does not have '\u0275mod' property.`);return e}function Z9(t){const n={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:t.inputs||es,exportAs:t.exportAs||null,standalone:!0===t.standalone,signals:!0===t.signals,selectors:t.selectors||Zt,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:J9(t.inputs,n),outputs:J9(t.outputs),debugInfo:null}}function X9(t){t.features?.forEach(n=>n(t))}function fh(t,n){if(!t)return null;const e=n?Ri:GN;return()=>("function"==typeof t?t():t).map(i=>e(i)).filter(qN)}function $N(...t){return{\u0275providers:k6(0,t),\u0275fromNgModule:!0}}function k6(t,...n){const e=[],i=new Set;let o;const r=s=>{e.push(s)};return sc(n,s=>{const a=s;mh(a,r,[],i)&&(o||=[],o.push(a))}),void 0!==o&&eb(o,r),e}function eb(t,n){for(let e=0;e{n(r,i)})}}function mh(t,n,e,i){if(!(t=st(t)))return!1;let o=null,r=rh(t);const s=!r&&Dt(t);if(r||s){if(s&&!s.standalone)return!1;o=t}else{const l=t.ngModule;if(r=rh(l),!r)return!1;o=l}const a=i.has(o);if(s){if(a)return!1;if(i.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)mh(c,n,e,i)}}else{if(!r)return!1;{if(null!=r.imports&&!a){let c;i.add(o);try{sc(r.imports,u=>{mh(u,n,e,i)&&(c||=[],c.push(u))})}finally{}void 0!==c&&eb(c,n)}if(!a){const c=Na(o)||(()=>new o);n({provide:o,useFactory:c,deps:Zt},o),n({provide:D6,useValue:o,multi:!0},o),n({provide:ts,useValue:()=>R(o),multi:!0},o)}const l=r.providers;if(null!=l&&!a){const c=t;I6(l,u=>{n(u,c)})}}}return o!==t&&void 0!==t.providers}function I6(t,n){for(let e of t)_6(e)&&(e=e.\u0275providers),Array.isArray(e)?I6(e,n):n(e)}const JN=hn({provide:String,useValue:hn});function O6(t){return null!==t&&"object"==typeof t&&JN in t}function Fa(t){return"function"==typeof t}const P6=new oe(""),gh={},XN={};let V6;function vh(){return void 0===V6&&(V6=new hh),V6}class Li{}class cc extends Li{get destroyed(){return this._destroyed}constructor(n,e,i,o){super(),this.parent=e,this.source=i,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,F6(n,s=>this.processProvider(s)),this.records.set(U9,dc(void 0,this)),o.has("environment")&&this.records.set(Li,dc(void 0,this));const r=this.records.get(P6);null!=r&&"string"==typeof r.value&&this.scopes.add(r.value),this.injectorDefTypes=new Set(this.get(D6,Zt,kt.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;const n=J(null);try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const e=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of e)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),J(n)}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const e=Js(this),i=Mo(void 0);try{return n()}finally{Js(e),Mo(i)}}get(n,e=Z1,i=kt.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(V9))return n[V9](this);i=lh(i);const r=Js(this),s=Mo(void 0);try{if(!(i&kt.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function oF(t){return"function"==typeof t||"object"==typeof t&&t instanceof oe}(n)&&oh(n);l=c&&this.injectableDefInScope(c)?dc(N6(n),gh):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(i&kt.Self?vh():this.parent).get(n,e=i&kt.Optional&&e===Z1?null:e)}catch(a){if("NullInjectorError"===a.name){if((a[ah]=a[ah]||[]).unshift(_i(n)),r)throw a;return function EN(t,n,e,i){const o=t[ah];throw n[R9]&&o.unshift(n[R9]),t.message=function xN(t,n,e,i=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let o=_i(n);if(Array.isArray(n))o=n.map(_i).join(" -> ");else if("object"==typeof n){let r=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];r.push(s+":"+("string"==typeof a?JSON.stringify(a):_i(a)))}o=`{${r.join(", ")}}`}return`${e}${i?"("+i+")":""}[${o}]: ${t.replace(AN,"\n ")}`}("\n"+t.message,o,e,i),t.ngTokenPath=o,t[ah]=null,t}(a,n,"R3InjectorError",this.source)}throw a}finally{Mo(s),Js(r)}}resolveInjectorInitializers(){const n=J(null),e=Js(this),i=Mo(void 0);try{const r=this.get(ts,Zt,kt.Self);for(const s of r)s()}finally{Js(e),Mo(i),J(n)}}toString(){const n=[],e=this.records;for(const i of e.keys())n.push(_i(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new j(205,!1)}processProvider(n){let e=Fa(n=st(n))?n:st(n&&n.provide);const i=function tF(t){return O6(t)?dc(void 0,t.useValue):dc(ib(t),gh)}(n);if(!Fa(n)&&!0===n.multi){let o=this.records.get(e);o||(o=dc(void 0,gh,!0),o.factory=()=>S6(o.multi),this.records.set(e,o)),e=n,o.multi.push(n)}this.records.set(e,i)}hydrate(n,e){const i=J(null);try{return e.value===gh&&(e.value=XN,e.value=e.factory()),"object"==typeof e.value&&e.value&&function iF(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}finally{J(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;const e=st(n.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}removeOnDestroy(n){const e=this._onDestroyHooks.indexOf(n);-1!==e&&this._onDestroyHooks.splice(e,1)}}function N6(t){const n=oh(t),e=null!==n?n.factory:Na(t);if(null!==e)return e;if(t instanceof oe)throw new j(204,!1);if(t instanceof Function)return function eF(t){if(t.length>0)throw new j(204,!1);const e=function vN(t){return t&&(t[sh]||t[I9])||null}(t);return null!==e?()=>e.factory(t):()=>new t}(t);throw new j(204,!1)}function ib(t,n,e){let i;if(Fa(t)){const o=st(t);return Na(o)||N6(o)}if(O6(t))i=()=>st(t.useValue);else if(function nb(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...S6(t.deps||[]));else if(function tb(t){return!(!t||!t.useExisting)}(t))i=()=>R(st(t.useExisting));else{const o=st(t&&(t.useClass||t.provide));if(!function nF(t){return!!t.deps}(t))return Na(o)||N6(o);i=()=>new o(...S6(t.deps))}return i}function dc(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function F6(t,n){for(const e of t)Array.isArray(e)?F6(e,n):e&&_6(e)?F6(e.\u0275providers,n):n(e)}function Er(t,n){t instanceof cc&&t.assertNotDestroyed();const i=Js(t),o=Mo(void 0);try{return n()}finally{Js(i),Mo(o)}}function ob(){return void 0!==N9()||null!=function TN(){return rc}()}function bh(t){if(!ob())throw new j(-203,!1)}const R6=Function;const Rn=0,_e=1,Xe=2,li=3,xr=4,Bi=5,ho=6,hc=7,Tn=8,ci=9,ns=10,at=11,od=12,sb=13,pc=14,Ln=15,Ra=16,fc=17,As=18,mc=19,ab=20,Xs=21,yh=22,dr=23,He=25,B6=1,is=7,gc=9,Jn=10;var Ch=function(t){return t[t.None=0]="None",t[t.HasTransplantedViews=2]="HasTransplantedViews",t}(Ch||{});function xi(t){return Array.isArray(t)&&"object"==typeof t[B6]}function to(t){return Array.isArray(t)&&!0===t[B6]}function H6(t){return!!(4&t.flags)}function La(t){return t.componentOffset>-1}function zh(t){return!(1&~t.flags)}function kr(t){return!!t.template}function sd(t){return!!(512&t[Xe])}class gF{constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function ub(t,n,e,i){null!==n?n.applyValueToInputSignal(n,i):t[e]=i}function xe(){return hb}function hb(t){return t.type.prototype.ngOnChanges&&(t.setInput=bF),vF}function vF(){const t=fb(this),n=t?.current;if(n){const e=t.previous;if(e===es)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function bF(t,n,e,i,o){const r=this.declaredInputs[i],s=fb(t)||function _F(t,n){return t[pb]=n}(t,{previous:es,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[r];a[r]=new gF(c&&c.currentValue,e,l===es),ub(t,n,o,e)}xe.ngInherit=!0;const pb="__ngSimpleChanges__";function fb(t){return t[pb]||null}const os=function(t,n,e){},mb="svg";function Xt(t){for(;Array.isArray(t);)t=t[Rn];return t}function ad(t,n){return Xt(n[t])}function po(t,n){return Xt(n[t.index])}function ld(t,n){return t.data[n]}function Ba(t,n){return t[n]}function Yo(t,n){const e=n[t];return xi(e)?e:e[Rn]}function G6(t){return!(128&~t[Xe])}function ur(t,n){return null==n?null:t[n]}function vb(t){t[fc]=0}function bb(t){1024&t[Xe]||(t[Xe]|=1024,G6(t)&&Ah(t))}function cd(t){return!!(9216&t[Xe]||t[dr]?.dirty)}function q6(t){t[ns].changeDetectionScheduler?.notify(7),64&t[Xe]&&(t[Xe]|=1024),cd(t)&&Ah(t)}function Ah(t){t[ns].changeDetectionScheduler?.notify(0);let n=Ss(t);for(;null!==n&&!(8192&n[Xe])&&(n[Xe]|=8192,G6(n));)n=Ss(n)}function Sh(t,n){if(!(256&~t[Xe]))throw new j(911,!1);null===t[Xs]&&(t[Xs]=[]),t[Xs].push(n)}function Ss(t){const n=t[li];return to(n)?n[li]:n}const lt={lFrame:kb(null),bindingsEnabled:!0,skipHydrationRootTNode:null};let yb=!1;function wb(){return lt.bindingsEnabled}function Ha(){return null!==lt.skipHydrationRootTNode}function q(){return lt.lFrame.lView}function Mt(){return lt.lFrame.tView}function S(t){return lt.lFrame.contextLView=t,t[Tn]}function T(t){return lt.lFrame.contextLView=null,t}function pn(){let t=Cb();for(;null!==t&&64===t.type;)t=t.parent;return t}function Cb(){return lt.lFrame.currentTNode}function Ir(t,n){const e=lt.lFrame;e.currentTNode=t,e.isParent=n}function $6(){return lt.lFrame.isParent}function J6(){lt.lFrame.isParent=!1}function Sb(){return yb}function Tb(t){yb=t}function fo(){const t=lt.lFrame;let n=t.bindingRootIndex;return-1===n&&(n=t.bindingRootIndex=t.tView.bindingStartIndex),n}function Ts(){return lt.lFrame.bindingIndex}function Or(){return lt.lFrame.bindingIndex++}function Ms(t){const n=lt.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function OF(t,n){const e=lt.lFrame;e.bindingIndex=e.bindingRootIndex=t,Z6(n)}function Z6(t){lt.lFrame.currentDirectiveIndex=t}function X6(t){const n=lt.lFrame.currentDirectiveIndex;return-1===n?null:t[n]}function e8(){return lt.lFrame.currentQueryIndex}function Mh(t){lt.lFrame.currentQueryIndex=t}function VF(t){const n=t[_e];return 2===n.type?n.declTNode:1===n.type?t[Bi]:null}function Eb(t,n,e){if(e&kt.SkipSelf){let o=n,r=t;for(;!(o=o.parent,null!==o||e&kt.Host||(o=VF(r),null===o||(r=r[pc],10&o.type))););if(null===o)return!1;n=o,t=r}const i=lt.lFrame=xb();return i.currentTNode=n,i.lView=t,!0}function t8(t){const n=xb(),e=t[_e];lt.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function xb(){const t=lt.lFrame,n=null===t?null:t.child;return null===n?kb(t):n}function kb(t){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=n),n}function Ib(){const t=lt.lFrame;return lt.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const Ob=Ib;function n8(){const t=Ib();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Hi(){return lt.lFrame.selectedIndex}function ja(t){lt.lFrame.selectedIndex=t}function Mn(){const t=lt.lFrame;return ld(t.tView,t.selectedIndex)}function Dh(){lt.lFrame.currentNamespace=mb}let Vb=!0;function ud(){return Vb}function rs(t){Vb=t}function Eh(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[l]<0&&(t[fc]+=65536),(a>14>16&&(3&t[Xe])===n&&(t[Xe]+=16384,Fb(a,r)):Fb(a,r)}const vc=-1;class hd{constructor(n,e,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}const r8={};class Ih{constructor(n,e){this.injector=n,this.parentInjector=e}get(n,e,i){i=lh(i);const o=this.injector.get(n,r8,i);return o!==r8||e===r8?o:this.parentInjector.get(n,e,i)}}function s8(t){return t!==vc}function pd(t){return 32767&t}function fd(t,n){let e=function WF(t){return t>>16}(t),i=n;for(;e>0;)i=i[pc],e--;return i}let a8=!0;function Oh(t){const n=a8;return a8=t,n}const Bb=255,Hb=5;let GF=0;const ss={};function Ph(t,n){const e=jb(t,n);if(-1!==e)return e;const i=n[_e];i.firstCreatePass&&(t.injectorIndex=n.length,l8(i.data,t),l8(n,null),l8(i.blueprint,null));const o=Vh(t,n),r=t.injectorIndex;if(s8(o)){const s=pd(o),a=fd(o,n),l=a[_e].data;for(let c=0;c<8;c++)n[r+c]=a[s+c]|l[s+c]}return n[r+8]=o,r}function l8(t,n){t.push(0,0,0,0,0,0,0,0,n)}function jb(t,n){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===n[t.injectorIndex+8]?-1:t.injectorIndex}function Vh(t,n){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let e=0,i=null,o=n;for(;null!==o;){if(i=Kb(o),null===i)return vc;if(e++,o=o[pc],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return vc}function c8(t,n,e){!function qF(t,n,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(J1)&&(i=e[J1]),null==i&&(i=e[J1]=GF++);const o=i&Bb;n.data[t+(o>>Hb)]|=1<=0?n&Bb:JF:n}(e);if("function"==typeof r){if(!Eb(n,t,i))return i&kt.Host?Yb(o,0,i):Ub(n,e,i,o);try{let s;if(s=r(i),null!=s||i&kt.Optional)return s;C6()}finally{Ob()}}else if("number"==typeof r){let s=null,a=jb(t,n),l=vc,c=i&kt.Host?n[Ln][Bi]:null;for((-1===a||i&kt.SkipSelf)&&(l=-1===a?Vh(t,n):n[a+8],l!==vc&&Qb(i,!1)?(s=n[_e],a=pd(l),n=fd(l,n)):a=-1);-1!==a;){const u=n[_e];if(qb(r,a,u.data)){const p=KF(a,n,e,s,i,c);if(p!==ss)return p}l=n[a+8],l!==vc&&Qb(i,n[_e].data[a+8]===c)&&qb(r,a,n)?(s=u,a=pd(l),n=fd(l,n)):a=-1}}return o}function KF(t,n,e,i,o,r){const s=n[_e],a=s.data[t+8],u=Nh(a,s,e,null==i?La(a)&&a8:i!=s&&!!(3&a.type),o&kt.Host&&r===a);return null!==u?Ya(n,s,u,a):ss}function Nh(t,n,e,i,o){const r=t.providerIndexes,s=n.data,a=1048575&r,l=t.directiveStart,u=r>>20,b=o?a+u:t.directiveEnd;for(let _=i?a:a+u;_=l&&y.type===e)return _}if(o){const _=s[l];if(_&&kr(_)&&_.type===e)return l}return null}function Ya(t,n,e,i){let o=t[e];const r=n.data;if(function jF(t){return t instanceof hd}(o)){const s=o;s.resolving&&function wN(t,n){throw n&&n.join(" > "),new j(-200,t)}(function on(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():vt(t)}(r[e]));const a=Oh(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?Mo(s.injectImpl):null;Eb(t,i,kt.Default);try{o=t[e]=s.factory(void 0,r,t,i),n.firstCreatePass&&e>=i.directiveStart&&function BF(t,n,e){const{ngOnChanges:i,ngOnInit:o,ngDoCheck:r}=n.type.prototype;if(i){const s=hb(n);(e.preOrderHooks??=[]).push(t,s),(e.preOrderCheckHooks??=[]).push(t,s)}o&&(e.preOrderHooks??=[]).push(0-t,o),r&&((e.preOrderHooks??=[]).push(t,r),(e.preOrderCheckHooks??=[]).push(t,r))}(e,r[e],n)}finally{null!==c&&Mo(c),Oh(a),s.resolving=!1,Ob()}}return o}function qb(t,n,e){return!!(e[n+(t>>Hb)]&1<{const n=t.prototype.constructor,e=n[zs]||d8(n),i=Object.prototype;let o=Object.getPrototypeOf(t.prototype).constructor;for(;o&&o!==i;){const r=o[zs]||d8(o);if(r&&r!==e)return r;o=Object.getPrototypeOf(o)}return r=>new r})}function d8(t){return ih(t)?()=>{const n=d8(st(t));return n&&n()}:Na(t)}function Kb(t){const n=t[_e],e=n.type;return 2===e?n.declTNode:1===e?t[Bi]:null}function e_(t,n=null,e=null,i){const o=t_(t,n,e,i);return o.resolveInjectorInitializers(),o}function t_(t,n=null,e=null,i,o=new Set){const r=[e||Zt,$N(t)];return i=i||("object"==typeof t?void 0:_i(t)),new cc(r,n||vh(),i||null,o)}class tn{static#e=this.THROW_IF_NOT_FOUND=Z1;static#t=this.NULL=new hh;static create(n,e){if(Array.isArray(n))return e_({name:""},e,n,"");{const i=n.name??"";return e_({name:i},n.parent,n.providers,i)}}static#n=this.\u0275prov=ae({token:tn,providedIn:"any",factory:()=>R(U9)});static#i=this.__NG_ELEMENT_ID__=-1}new oe("").__NG_ELEMENT_ID__=t=>{const n=pn();if(null===n)throw new j(204,!1);if(2&n.type)return n.value;if(t&kt.Optional)return null;throw new j(204,!1)};function h8(t){return t.ngOriginalError}class hr{constructor(){this._console=console}handleError(n){const e=this._findOriginalError(n);this._console.error("ERROR",n),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(n){let e=n&&h8(n);for(;e&&h8(e);)e=h8(e);return e||null}}const i_=new oe("",{providedIn:"root",factory:()=>G(hr).handleError.bind(void 0)});let yc=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=lR;static#t=this.__NG_ENV_ID__=e=>e}return t})();class aR extends yc{constructor(n){super(),this._lView=n}onDestroy(n){return Sh(this._lView,n),()=>function Q6(t,n){if(null===t[Xs])return;const e=t[Xs].indexOf(n);-1!==e&&t[Xs].splice(e,1)}(this._lView,n)}}function lR(){return new aR(q())}function cR(){return wc(pn(),q())}function wc(t,n){return new Se(po(t,n))}let Se=(()=>{class t{constructor(e){this.nativeElement=e}static#e=this.__NG_ELEMENT_ID__=cR}return t})();function r_(t){return t instanceof Se?t.nativeElement:t}let Ua=(()=>{class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new rt(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const e=this.taskId++;return this.pendingTasks.add(e),e}remove(e){this.pendingTasks.delete(e),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:()=>new t})}return t})();const B=class dR extends V{constructor(n=!1){super(),this.destroyRef=void 0,this.pendingTasks=void 0,this.__isAsync=n,ob()&&(this.destroyRef=G(yc,{optional:!0})??void 0,this.pendingTasks=G(Ua,{optional:!0})??void 0)}emit(n){const e=J(null);try{super.next(n)}finally{J(e)}}subscribe(n,e,i){let o=n,r=e||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;o=l.next?.bind(l),r=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(r=this.wrapInTimeout(r),o&&(o=this.wrapInTimeout(o)),s&&(s=this.wrapInTimeout(s)));const a=super.subscribe({next:o,error:r,complete:s});return n instanceof Ft&&n.add(a),a}wrapInTimeout(n){return e=>{const i=this.pendingTasks?.add();setTimeout(()=>{n(e),void 0!==i&&this.pendingTasks?.remove(i)})}}};function uR(){return this._results[Symbol.iterator]()}class Wa{static#e=Symbol.iterator;get changes(){return this._changes??=new B}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const e=Wa.prototype;e[Symbol.iterator]||(e[Symbol.iterator]=uR)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,e){return this._results.reduce(n,e)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,e){this.dirty=!1;const i=function Do(t){return t.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function ON(t,n,e){if(t.length!==n.length)return!1;for(let i=0;iOR}),OR="ng",S_=new oe(""),Pr=new oe("",{providedIn:"platform",factory:()=>"unknown"}),ta=new oe(""),vd=new oe("",{providedIn:"root",factory:()=>ea().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let T_=()=>null;function C8(t,n,e=!1){return T_(t,n,e)}const P_=new oe("",{providedIn:"root",factory:()=>!1});let Kh,$h;function M8(){if(void 0===Kh&&(Kh=null,wn.trustedTypes))try{Kh=wn.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return Kh}function Tc(t){return M8()?.createHTML(t)||t}function D8(){if(void 0===$h&&($h=null,wn.trustedTypes))try{$h=wn.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return $h}function N_(t){return D8()?.createHTML(t)||t}function R_(t){return D8()?.createScriptURL(t)||t}class Ga{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${M9})`}}class QR extends Ga{getTypeName(){return"HTML"}}class KR extends Ga{getTypeName(){return"Style"}}class $R extends Ga{getTypeName(){return"Script"}}class JR extends Ga{getTypeName(){return"URL"}}class ZR extends Ga{getTypeName(){return"ResourceURL"}}function Uo(t){return t instanceof Ga?t.changingThisBreaksApplicationSecurity:t}function as(t,n){const e=function XR(t){return t instanceof Ga&&t.getTypeName()||null}(t);if(null!=e&&e!==n){if("ResourceURL"===e&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${e} (see ${M9})`)}return e===n}class rL{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const e=(new window.DOMParser).parseFromString(Tc(n),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(n):(e.removeChild(e.firstChild),e)}catch{return null}}}class sL{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const e=this.inertDocument.createElement("template");return e.innerHTML=Tc(n),e}}const lL=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Jh(t){return(t=String(t)).match(lL)?t:"unsafe:"+t}function Ds(t){const n={};for(const e of t.split(","))n[e]=!0;return n}function Ad(...t){const n={};for(const e of t)for(const i in e)e.hasOwnProperty(i)&&(n[i]=!0);return n}const B_=Ds("area,br,col,hr,img,wbr"),H_=Ds("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),j_=Ds("rp,rt"),E8=Ad(B_,Ad(H_,Ds("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Ad(j_,Ds("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Ad(j_,H_)),x8=Ds("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Y_=Ad(x8,Ds("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Ds("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),cL=Ds("script,style,template");class dL{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let e=n.firstChild,i=!0,o=[];for(;e;)if(e.nodeType===Node.ELEMENT_NODE?i=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,i&&e.firstChild)o.push(e),e=pL(e);else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let r=hL(e);if(r){e=r;break}e=o.pop()}return this.buf.join("")}startElement(n){const e=U_(n).toLowerCase();if(!E8.hasOwnProperty(e))return this.sanitizedSomething=!0,!cL.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const i=n.attributes;for(let o=0;o"),!0}endElement(n){const e=U_(n).toLowerCase();E8.hasOwnProperty(e)&&!B_.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(G_(n))}}function hL(t){const n=t.nextSibling;if(n&&t!==n.previousSibling)throw W_(n);return n}function pL(t){const n=t.firstChild;if(n&&function uL(t,n){return(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(t,n))throw W_(n);return n}function U_(t){const n=t.nodeName;return"string"==typeof n?n:"FORM"}function W_(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}const fL=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,mL=/([^\#-~ |!])/g;function G_(t){return t.replace(/&/g,"&").replace(fL,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(mL,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let Zh;function q_(t,n){let e=null;try{Zh=Zh||function L_(t){const n=new sL(t);return function aL(){try{return!!(new window.DOMParser).parseFromString(Tc(""),"text/html")}catch{return!1}}()?new rL(n):n}(t);let i=n?String(n):"";e=Zh.getInertBodyElement(i);let o=5,r=i;do{if(0===o)throw new Error("Failed to sanitize html because the input is unstable");o--,i=r,r=e.innerHTML,e=Zh.getInertBodyElement(i)}while(i!==r);return Tc((new dL).sanitizeChildren(k8(e)||e))}finally{if(e){const i=k8(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function k8(t){return"content"in t&&function gL(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var Wo=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}(Wo||{});function Gn(t){const n=Sd();return n?N_(n.sanitize(Wo.HTML,t)||""):as(t,"HTML")?N_(Uo(t)):q_(ea(),vt(t))}function It(t){const n=Sd();return n?n.sanitize(Wo.URL,t)||"":as(t,"URL")?Uo(t):Jh(vt(t))}function Q_(t){const n=Sd();if(n)return R_(n.sanitize(Wo.RESOURCE_URL,t)||"");if(as(t,"ResourceURL"))return R_(Uo(t));throw new j(904,!1)}function I8(t){return function qR(t){return M8()?.createScriptURL(t)||t}(t[0])}function Sd(){const t=q();return t&&t[ns].sanitizer}const wL=/^>|^->||--!>|)/g,zL="\u200b$1\u200b";function Go(t){return t instanceof Function?t():t}function xo(t){return"browser"===(t??G(tn)).get(Pr)}var na=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}(na||{});let V8;function N8(t,n){return V8(t,n)}function Dc(t,n,e,i,o){if(null!=i){let r,s=!1;to(i)?r=i:xi(i)&&(s=!0,i=i[Rn]);const a=Xt(i);0===t&&null!==e?null==o?ly(n,e,a):qa(n,e,a,o||null,!0):1===t&&null!==e?qa(n,e,a,o||null,!0):2===t?function Md(t,n,e){const i=o0(t,n);i&&function HL(t,n,e,i){t.removeChild(n,e,i)}(t,i,n,e)}(n,a,s):3===t&&n.destroyNode(a),null!=r&&function UL(t,n,e,i,o){const r=e[is];r!==Xt(e)&&Dc(n,t,i,r,o);for(let a=Jn;an.replace(CL,zL))}(n))}function t0(t,n,e){return t.createElement(n,e)}function ry(t,n){n[ns].changeDetectionScheduler?.notify(8),s0(t,n,n[at],2,null,null)}function sy(t,n){const e=t[gc],i=n[li];(xi(i)||n[Ln]!==i[li][Ln])&&(t[Xe]|=Ch.HasTransplantedViews),null===e?t[gc]=[n]:e.push(n)}function L8(t,n){const e=t[gc],i=e.indexOf(n);e.splice(i,1)}function Td(t,n){if(t.length<=Jn)return;const e=Jn+n,i=t[e];if(i){const o=i[Ra];null!==o&&o!==t&&L8(o,i),n>0&&(t[e-1][xr]=i[xr]);const r=dh(t,Jn+n);!function VL(t,n){ry(t,n),n[Rn]=null,n[Bi]=null}(i[_e],i);const s=r[As];null!==s&&s.detachView(r[_e]),i[li]=null,i[xr]=null,i[Xe]&=-129}return i}function n0(t,n){if(!(256&n[Xe])){const e=n[at];e.destroyNode&&s0(t,n,e,3,null,null),function FL(t){let n=t[od];if(!n)return B8(t[_e],t);for(;n;){let e=null;if(xi(n))e=n[od];else{const i=n[Jn];i&&(e=i)}if(!e){for(;n&&!n[xr]&&n!==t;)xi(n)&&B8(n[_e],n),n=n[li];null===n&&(n=t),xi(n)&&B8(n[_e],n),e=n&&n[xr]}n=e}}(n)}}function B8(t,n){if(256&n[Xe])return;const e=J(null);try{n[Xe]&=-129,n[Xe]|=256,n[dr]&&ue(n[dr]),function BL(t,n){let e;if(null!=t&&null!=(e=t.destroyHooks))for(let i=0;i=0?i[s]():i[-s].unsubscribe(),r+=2}else e[r].call(i[e[r+1]]);null!==i&&(n[hc]=null);const o=n[Xs];if(null!==o){n[Xs]=null;for(let r=0;r-1){const{encapsulation:r}=t.data[i.directiveStart+o];if(r===Mr.None||r===Mr.Emulated)return null}return po(i,e)}}(t,n.parent,e)}function qa(t,n,e,i,o){t.insertBefore(n,e,i,o)}function ly(t,n,e){t.appendChild(n,e)}function cy(t,n,e,i,o){null!==i?qa(t,n,e,i,o):ly(t,n,e)}function o0(t,n){return t.parentNode(n)}function dy(t,n,e){return hy(t,n,e)}let j8,hy=function uy(t,n,e){return 40&t.type?po(t,e):null};function r0(t,n,e,i){const o=H8(t,i,n),r=n[at],a=dy(i.parent||n[Bi],i,n);if(null!=o)if(Array.isArray(e))for(let l=0;lHe&&_y(t,n,He,!1),os(s?2:0,o),e(i,o)}finally{ja(r),os(s?3:1,o)}}function q8(t,n,e){if(H6(n)){const i=J(null);try{const r=n.directiveEnd;for(let s=n.directiveStart;snull;function Ay(t,n,e,i,o){for(let r in n){if(!n.hasOwnProperty(r))continue;const s=n[r];if(void 0===s)continue;i??={};let a,l=lc.None;Array.isArray(s)?(a=s[0],l=s[1]):a=s;let c=r;if(null!==o){if(!o.hasOwnProperty(r))continue;c=o[r]}0===t?Sy(i,e,c,a,l):Sy(i,e,c,a)}return i}function Sy(t,n,e,i,o){let r;t.hasOwnProperty(e)?(r=t[e]).push(n,i):r=t[e]=[n,i],void 0!==o&&r.push(o)}function ko(t,n,e,i,o,r,s,a){const l=po(n,e);let u,c=n.inputs;!a&&null!=c&&(u=c[i])?(tf(t,e,u,i,o),La(n)&&function iB(t,n){const e=Yo(n,t);16&e[Xe]||(e[Xe]|=64)}(e,n.index)):3&n.type&&(i=function nB(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(i),o=null!=s?s(o,n.value||"",i):o,r.setProperty(l,i,o))}function J8(t,n,e,i){if(wb()){const o=null===i?null:{"":-1},r=function cB(t,n){const e=t.directiveRegistry;let i=null,o=null;if(e)for(let r=0;r0;){const e=t[--n];if("number"==typeof e&&e<0)return e}return 0})(s)!=a&&s.push(a),s.push(e,i,r)}}(t,n,i,Dd(t,e,o.hostVars,bt),o)}function ls(t,n,e,i,o,r){const s=po(t,n);!function X8(t,n,e,i,o,r,s){if(null==r)t.removeAttribute(n,o,e);else{const a=null==s?vt(r):s(r,i||"",o);t.setAttribute(n,o,a,e)}}(n[at],s,r,t.value,e,i,o)}function mB(t,n,e,i,o,r){const s=r[n];if(null!==s)for(let a=0;a0&&(e[o-1][xr]=n),i{Ah(t.lView)},consumerOnSignalRead(){this.lView[dr]=this}},SB={...te,consumerIsAlwaysLive:!0,consumerMarkedDirty:t=>{let n=Ss(t.lView);for(;n&&!Ny(n[_e]);)n=Ss(n);n&&bb(n)},consumerOnSignalRead(){this.lView[dr]=this}};function Ny(t){return 2!==t.type}const TB=100;function d0(t,n=!0,e=0){const i=t[ns],o=i.rendererFactory;o.begin?.();try{!function MB(t,n){const e=Sb();try{Tb(!0),sf(t,n);let i=0;for(;cd(t);){if(i===TB)throw new j(103,!1);i++,sf(t,1)}}finally{Tb(e)}}(t,e)}catch(s){throw n&&c0(t,s),s}finally{o.end?.(),i.inlineEffectRunner?.flush()}}function DB(t,n,e,i){const o=n[Xe];if(!(256&~o))return;n[ns].inlineEffectRunner?.flush(),t8(n);let a=!0,l=null,c=null;Ny(t)?(c=function yB(t){return t[dr]??function wB(t){const n=Vy.pop()??Object.create(zB);return n.lView=t,n}(t)}(n),l=L(c)):null===function Ve(){return Y}()?(a=!1,c=function AB(t){const n=t[dr]??Object.create(SB);return n.lView=t,n}(n),l=L(c)):n[dr]&&(ue(n[dr]),n[dr]=null);try{vb(n),function Mb(t){return lt.lFrame.bindingIndex=t}(t.bindingStartIndex),null!==e&&wy(t,n,e,2,i);const u=!(3&~o);if(u){const _=t.preOrderCheckHooks;null!==_&&xh(n,_,null)}else{const _=t.preOrderHooks;null!==_&&kh(n,_,0,null),i8(n,0)}if(function EB(t){for(let n=m_(t);null!==n;n=g_(n)){if(!(n[Xe]&Ch.HasTransplantedViews))continue;const e=n[gc];for(let i=0;i-1&&(Td(n,i),dh(e,i))}this._attachedToViewContainer=!1}n0(this._lView[_e],this._lView)}onDestroy(n){Sh(this._lView,n)}markForCheck(){xd(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[Xe]&=-129}reattach(){q6(this._lView),this._lView[Xe]|=128}detectChanges(){this._lView[Xe]|=1024,d0(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new j(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;const n=sd(this._lView),e=this._lView[Ra];null!==e&&!n&&L8(e,this._lView),ry(this._lView[_e],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new j(902,!1);this._appRef=n;const e=sd(this._lView),i=this._lView[Ra];null!==i&&!e&&sy(i,this._lView),q6(this._lView)}}let qt=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=OB}return t})();const kB=qt,IB=class extends kB{constructor(n,e,i){super(),this._declarationLView=n,this._declarationTContainer=e,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,e){return this.createEmbeddedViewImpl(n,e)}createEmbeddedViewImpl(n,e,i){const o=xc(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:e,dehydratedView:i});return new kd(o)}};function OB(){return u0(pn(),q())}function u0(t,n){return 4&t.type?new IB(n,t,wc(t,n)):null}let aw=()=>null;function Ja(t,n){return aw(t,n)}class Oc{}const Ld=new oe("",{providedIn:"root",factory:()=>!1}),lw=new oe("");class SH{}class cw{}class MH{resolveComponentFactory(n){throw function TH(t){const n=Error(`No component factory found for ${_i(t)}.`);return n.ngComponent=t,n}(n)}}class Pc{static#e=this.NULL=new MH}class Za{}let Yt=(()=>{class t{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function DH(){const t=q(),e=Yo(pn().index,t);return(xi(e)?e:t)[at]}()}return t})(),EH=(()=>{class t{static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:()=>null})}return t})();const uw=new Set;function mo(t){uw.has(t)||(uw.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}function hw(t){let n=!0;return setTimeout(()=>{n&&(n=!1,t())}),"function"==typeof wn.requestAnimationFrame&&wn.requestAnimationFrame(()=>{n&&(n=!1,t())}),()=>{n=!1}}function pw(t){let n=!0;return queueMicrotask(()=>{n&&t()}),()=>{n=!1}}function fw(...t){}class Me{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new B(!1),this.onMicrotaskEmpty=new B(!1),this.onStable=new B(!1),this.onError=new B(!1),typeof Zone>"u")throw new j(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!i&&e,o.shouldCoalesceRunChangeDetection=i,o.callbackScheduled=!1,function IH(t){const n=()=>{!function kH(t){t.isCheckStableRunning||t.callbackScheduled||(t.callbackScheduled=!0,Zone.root.run(()=>{hw(()=>{t.callbackScheduled=!1,bf(t),t.isCheckStableRunning=!0,vf(t),t.isCheckStableRunning=!1})}),bf(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,o,r,s,a)=>{if(function OH(t){return vw(t,"__ignore_ng_zone__")}(a))return e.invokeTask(o,r,s,a);try{return mw(t),e.invokeTask(o,r,s,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===r.type||t.shouldCoalesceRunChangeDetection)&&n(),gw(t)}},onInvoke:(e,i,o,r,s,a,l)=>{try{return mw(t),e.invoke(o,r,s,a,l)}finally{t.shouldCoalesceRunChangeDetection&&!t.callbackScheduled&&!function PH(t){return vw(t,"__scheduler_tick__")}(a)&&n(),gw(t)}},onHasTask:(e,i,o,r)=>{e.hasTask(o,r),i===o&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,bf(t),vf(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,i,o,r)=>(e.handleError(o,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Me.isInAngularZone())throw new j(909,!1)}static assertNotInAngularZone(){if(Me.isInAngularZone())throw new j(909,!1)}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,o){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+o,n,xH,fw,fw);try{return r.runTask(s,e,i)}finally{r.cancelTask(s)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}}const xH={};function vf(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function bf(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&!0===t.callbackScheduled)}function mw(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function gw(t){t._nesting--,vf(t)}class _f{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new B,this.onMicrotaskEmpty=new B,this.onStable=new B,this.onError=new B}run(n,e,i){return n.apply(e,i)}runGuarded(n,e,i){return n.apply(e,i)}runOutsideAngular(n){return n()}runTask(n,e,i,o){return n.apply(e,i)}}function vw(t,n){return!(!Array.isArray(t)||1!==t.length)&&!0===t[0]?.data?.[n]}var ia=function(t){return t[t.EarlyRead=0]="EarlyRead",t[t.Write=1]="Write",t[t.MixedReadWrite=2]="MixedReadWrite",t[t.Read=3]="Read",t}(ia||{});const bw={destroy(){}};function Xa(t,n){!n&&bh();const e=n?.injector??G(tn);if(!xo(e))return bw;mo("NgAfterNextRender");const i=e.get(Bd),o=i.handler??=new ww,r=n?.phase??ia.MixedReadWrite,s=()=>{o.unregister(l),a()},a=e.get(yc).onDestroy(s),l=Er(e,()=>new yw(r,()=>{s(),t()}));return o.register(l),{destroy:s}}class yw{constructor(n,e){this.phase=n,this.callbackFn=e,this.zone=G(Me),this.errorHandler=G(hr,{optional:!0}),G(Oc,{optional:!0})?.notify(6)}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(n){this.errorHandler?.handleError(n)}}}class ww{constructor(){this.executingCallbacks=!1,this.buckets={[ia.EarlyRead]:new Set,[ia.Write]:new Set,[ia.MixedReadWrite]:new Set,[ia.Read]:new Set},this.deferredCallbacks=new Set}register(n){(this.executingCallbacks?this.deferredCallbacks:this.buckets[n.phase]).add(n)}unregister(n){this.buckets[n.phase].delete(n),this.deferredCallbacks.delete(n)}execute(){this.executingCallbacks=!0;for(const n of Object.values(this.buckets))for(const e of n)e.invoke();this.executingCallbacks=!1;for(const n of this.deferredCallbacks)this.buckets[n.phase].add(n);this.deferredCallbacks.clear()}destroy(){for(const n of Object.values(this.buckets))n.clear();this.deferredCallbacks.clear()}}let Bd=(()=>{class t{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){const e=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const i of e)i()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:()=>new t})}return t})();function b0(t,n,e){let i=e?t.styles:null,o=e?t.classes:null,r=0;if(null!==n)for(let s=0;s0&&vy(t,e,r.join(" "))}}(_,qe,z,i),void 0!==e&&function WH(t,n,e){const i=t.projection=[];for(let o=0;o{class t{static#e=this.__NG_ELEMENT_ID__=qH}return t})();function qH(){return Dw(pn(),q())}const QH=qn,Tw=class extends QH{constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return wc(this._hostTNode,this._hostLView)}get injector(){return new Ci(this._hostTNode,this._hostLView)}get parentInjector(){const n=Vh(this._hostTNode,this._hostLView);if(s8(n)){const e=fd(n,this._hostLView),i=pd(n);return new Ci(e[_e].data[i+8],e)}return new Ci(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const e=Mw(this._lContainer);return null!==e&&e[n]||null}get length(){return this._lContainer.length-Jn}createEmbeddedView(n,e,i){let o,r;"number"==typeof i?o=i:null!=i&&(o=i.index,r=i.injector);const s=Ja(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(e||{},r,s);return this.insertImpl(a,o,Ka(this._hostTNode,s)),a}createComponent(n,e,i,o,r){const s=n&&!function id(t){return"function"==typeof t}(n);let a;if(s)a=e;else{const y=e||{};a=y.index,i=y.injector,o=y.projectableNodes,r=y.environmentInjector||y.ngModuleRef}const l=s?n:new Yd(Dt(n)),c=i||this.parentInjector;if(!r&&null==l.ngModule){const z=(s?c:this.parentInjector).get(Li,null);z&&(r=z)}const u=Dt(l.componentType??{}),p=Ja(this._lContainer,u?.id??null),_=l.create(c,o,p?.firstChild??null,r);return this.insertImpl(_.hostView,a,Ka(this._hostTNode,p)),_}insert(n,e){return this.insertImpl(n,e,!0)}insertImpl(n,e,i){const o=n._lView;if(function zF(t){return to(t[li])}(o)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=o[li],c=new Tw(l,l[Bi],l[li]);c.detach(c.indexOf(n))}}const r=this._adjustIndex(e),s=this._lContainer;return kc(s,o,r,i),n.attachToViewContainerRef(),H9(zf(s),r,n),n}move(n,e){return this.insert(n,e)}indexOf(n){const e=Mw(this._lContainer);return null!==e?e.indexOf(n):-1}remove(n){const e=this._adjustIndex(n,-1),i=Td(this._lContainer,e);i&&(dh(zf(this._lContainer),e),n0(i[_e],i))}detach(n){const e=this._adjustIndex(n,-1),i=Td(this._lContainer,e);return i&&null!=dh(zf(this._lContainer),e)?new kd(i):null}_adjustIndex(n,e=0){return n??this.length+e}};function Mw(t){return t[8]}function zf(t){return t[8]||(t[8]=[])}function Dw(t,n){let e;const i=n[t.index];return to(i)?e=i:(e=Dy(i,n,null,t),n[t.index]=e,l0(n,e)),Ew(e,n,t,i),new Tw(e,t,n)}let Ew=function kw(t,n,e,i){if(t[is])return;let o;o=8&e.type?Xt(i):function KH(t,n){const e=t[at],i=e.createComment(""),o=po(n,t);return qa(e,o0(e,o),i,function jL(t,n){return t.nextSibling(n)}(e,o),!1),i}(n,e),t[is]=o},Af=()=>!1;class Sf{constructor(n){this.queryList=n,this.matches=null}clone(){return new Sf(this.queryList)}setDirty(){this.queryList.setDirty()}}class Tf{constructor(n=[]){this.queries=n}createEmbeddedView(n){const e=n.queries;if(null!==e){const i=null!==n.contentQueries?n.contentQueries[0]:e.length,o=[];for(let r=0;rn.trim())}(n):n}}class Mf{constructor(n=[]){this.queries=n}elementStart(n,e){for(let i=0;i0)i.push(s[a/2]);else{const c=r[a+1],u=n[-l];for(let p=Jn;p(Re(n),n.value);return e[le]=n,e}(t),i=e[le];return n?.equal&&(i.equal=n.equal),e.set=o=>Nt(i,o),e.update=o=>function vi(t,n){ee()||ve(),Nt(t,n(t.value))}(i,o),e.asReadonly=Lw.bind(e),e}function Lw(){const t=this[le];if(void 0===t.readonlyFn){const n=()=>this();n[le]=t,t.readonlyFn=n}return t.readonlyFn}function Bw(t){return _0(t)&&"function"==typeof t.set}function mt(t){let n=function Jw(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),e=!0;const i=[t];for(;n;){let o;if(kr(t))o=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new j(903,!1);o=n.\u0275dir}if(o){if(e){i.push(o);const s=t;s.inputs=w0(t.inputs),s.inputTransforms=w0(t.inputTransforms),s.declaredInputs=w0(t.declaredInputs),s.outputs=w0(t.outputs);const a=o.hostBindings;a&&bj(t,a);const l=o.viewQuery,c=o.contentQueries;if(l&&gj(t,l),c&&vj(t,c),fj(t,o),uN(t.outputs,o.outputs),kr(o)&&o.data.animation){const u=t.data;u.animation=(u.animation||[]).concat(o.data.animation)}}const r=o.features;if(r)for(let s=0;s=0;i--){const o=t[i];o.hostVars=n+=o.hostVars,o.hostAttrs=td(o.hostAttrs,e=td(e,o.hostAttrs))}}(i)}function fj(t,n){for(const e in n.inputs){if(!n.inputs.hasOwnProperty(e)||t.inputs.hasOwnProperty(e))continue;const i=n.inputs[e];if(void 0!==i&&(t.inputs[e]=i,t.declaredInputs[e]=n.declaredInputs[e],null!==n.inputTransforms)){const o=Array.isArray(i)?i[0]:i;if(!n.inputTransforms.hasOwnProperty(o))continue;t.inputTransforms??={},t.inputTransforms[o]=n.inputTransforms[o]}}}function w0(t){return t===es?{}:t===Zt?[]:t}function gj(t,n){const e=t.viewQuery;t.viewQuery=e?(i,o)=>{n(i,o),e(i,o)}:n}function vj(t,n){const e=t.contentQueries;t.contentQueries=e?(i,o,r)=>{n(i,o,r),e(i,o,r)}:n}function bj(t,n){const e=t.hostBindings;t.hostBindings=e?(i,o)=>{n(i,o),e(i,o)}:n}function je(t){const n=t.inputConfig,e={};for(const i in n)if(n.hasOwnProperty(i)){const o=n[i];Array.isArray(o)&&o[3]&&(e[i]=o[3])}t.inputTransforms=e}class el{}class tC{}class Pf extends el{constructor(n,e,i){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Aw(this);const o=eo(n);this._bootstrapComponents=Go(o.bootstrap),this._r3Injector=t_(n,e,[{provide:el,useValue:this},{provide:Pc,useValue:this.componentFactoryResolver},...i],_i(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Vf extends tC{constructor(n){super(),this.moduleType=n}create(n){return new Pf(this.moduleType,n,[])}}class nC extends el{constructor(n){super(),this.componentFactoryResolver=new Aw(this),this.instance=null;const e=new cc([...n.providers,{provide:el,useValue:this},{provide:Pc,useValue:this.componentFactoryResolver}],n.parent||vh(),n.debugName,new Set(["environment"]));this.injector=e,n.runEnvironmentInitializers&&e.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function C0(t,n,e=null){return new nC({providers:t,parent:n,debugName:e,runEnvironmentInitializers:!0}).injector}function z0(t){return!!Nf(t)&&(Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t)}function Nf(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function cs(t,n,e){return t[n]=e}function Zn(t,n,e){return!Object.is(t[n],e)&&(t[n]=e,!0)}function tl(t,n,e,i){const o=Zn(t,n,e);return Zn(t,n+1,i)||o}function A0(t,n,e,i,o){const r=tl(t,n,e,i);return Zn(t,n+2,o)||r}function Gd(t,n,e,i,o,r,s,a,l,c){const u=e+He,p=n.firstCreatePass?function xj(t,n,e,i,o,r,s,a,l){const c=n.consts,u=Qa(n,t,4,s||null,a||null);J8(n,e,u,ur(c,l)),Eh(n,u);const p=u.tView=$8(2,u,i,o,r,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),p.queries=n.queries.embeddedTView(u)),u}(u,n,t,i,o,r,s,a,l):n.data[u];Ir(p,!1);const b=iC(n,t,p,e);ud()&&r0(n,t,b,p),no(b,t);const _=Dy(b,t,b,p);return t[u]=_,l0(t,_),function xw(t,n,e){return Af(t,n,e)}(_,p,t),zh(p)&&Q8(n,t,p),null!=l&&K8(t,p,c),p}function C(t,n,e,i,o,r,s,a){const l=q(),c=Mt();return Gd(l,c,t,n,e,i,o,ur(c.consts,r),s,a),C}let iC=function oC(t,n,e,i){return rs(!0),n[at].createComment("")};function Ot(t,n,e,i){const o=q();return Zn(o,Or(),n)&&(Mt(),ls(Mn(),o,t,n,e,i)),Ot}function x0(t,n){return t<<17|n<<2}function aa(t){return t>>17&32767}function Gf(t){return 2|t}function il(t){return(131068&t)>>2}function qf(t,n){return-131069&t|n<<2}function Qf(t){return 1|t}function VC(t,n,e,i){const o=t[e+1],r=null===n;let s=i?aa(o):il(o),a=!1;for(;0!==s&&(!1===a||r);){const c=t[s+1];mY(t[s],n)&&(a=!0,t[s+1]=i?Qf(c):Gf(c)),s=i?aa(c):il(c)}a&&(t[e+1]=i?Gf(o):Qf(o))}function mY(t,n){return null===t||null==n||(Array.isArray(t)?t[1]:t)===n||!(!Array.isArray(t)||"string"!=typeof n)&&ac(t,n)>=0}const Ai={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function NC(t){return t.substring(Ai.key,Ai.keyEnd)}function gY(t){return t.substring(Ai.value,Ai.valueEnd)}function FC(t,n){const e=Ai.textEnd;return e===n?-1:(n=Ai.keyEnd=function _Y(t,n,e){for(;n32;)n++;return n}(t,Ai.key=n,e),Zc(t,n,e))}function RC(t,n){const e=Ai.textEnd;let i=Ai.key=Zc(t,n,e);return e===i?-1:(i=Ai.keyEnd=function yY(t,n,e){let i;for(;n=65&&(-33&i)<=90||i>=48&&i<=57);)n++;return n}(t,i,e),i=BC(t,i,e),i=Ai.value=Zc(t,i,e),i=Ai.valueEnd=function wY(t,n,e){let i=-1,o=-1,r=-1,s=n,a=s;for(;s32&&(a=s),r=o,o=i,i=-33&l}return a}(t,i,e),BC(t,i,e))}function LC(t){Ai.key=0,Ai.keyEnd=0,Ai.value=0,Ai.valueEnd=0,Ai.textEnd=t.length}function Zc(t,n,e){for(;n=0;e=RC(n,e))UC(t,NC(n),gY(n))}function k0(t){Nr(DY,ds,t,!0)}function ds(t,n){for(let e=function vY(t){return LC(t),FC(t,Zc(t,0,Ai.textEnd))}(n);e>=0;e=FC(n,e))jo(t,NC(n),!0)}function Vr(t,n,e,i){const o=q(),r=Mt(),s=Ms(2);r.firstUpdatePass&&YC(r,t,s,i),n!==bt&&Zn(o,s,n)&&WC(r,r.data[Hi()],o,o[at],t,o[s+1]=function xY(t,n){return null==t||""===t||("string"==typeof n?t+=n:"object"==typeof t&&(t=_i(Uo(t)))),t}(n,e),i,s)}function Nr(t,n,e,i){const o=Mt(),r=Ms(2);o.firstUpdatePass&&YC(o,null,r,i);const s=q();if(e!==bt&&Zn(s,r,e)){const a=o.data[Hi()];if(qC(a,i)&&!jC(o,r)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(e=p6(l,e||"")),Kf(o,a,s,e,i)}else!function EY(t,n,e,i,o,r,s,a){o===bt&&(o=Zt);let l=0,c=0,u=0=t.expandoStartIndex}function YC(t,n,e,i){const o=t.data;if(null===o[e+1]){const r=o[Hi()],s=jC(t,e);qC(r,i)&&null===n&&!s&&(n=!1),n=function zY(t,n,e,i){const o=X6(t);let r=i?n.residualClasses:n.residualStyles;if(null===o)0===(i?n.classBindings:n.styleBindings)&&(e=$d(e=$f(null,t,n,e,i),n.attrs,i),r=null);else{const s=n.directiveStylingLast;if(-1===s||t[s]!==o)if(e=$f(o,t,n,e,i),null===r){let l=function AY(t,n,e){const i=e?n.classBindings:n.styleBindings;if(0!==il(i))return t[aa(i)]}(t,n,i);void 0!==l&&Array.isArray(l)&&(l=$f(null,t,n,l[1],i),l=$d(l,n.attrs,i),function SY(t,n,e,i){t[aa(e?n.classBindings:n.styleBindings)]=i}(t,n,i,l))}else r=function TY(t,n,e){let i;const o=n.directiveEnd;for(let r=1+n.directiveStylingLast;r0)&&(c=!0)):u=e,o)if(0!==l){const b=aa(t[a+1]);t[i+1]=x0(b,a),0!==b&&(t[b+1]=qf(t[b+1],i)),t[a+1]=function uY(t,n){return 131071&t|n<<17}(t[a+1],i)}else t[i+1]=x0(a,0),0!==a&&(t[a+1]=qf(t[a+1],i)),a=i;else t[i+1]=x0(l,0),0===a?a=i:t[l+1]=qf(t[l+1],i),l=i;c&&(t[i+1]=Gf(t[i+1])),VC(t,u,i,!0),VC(t,u,i,!1),function fY(t,n,e,i,o){const r=o?t.residualClasses:t.residualStyles;null!=r&&"string"==typeof n&&ac(r,n)>=0&&(e[i+1]=Qf(e[i+1]))}(n,u,t,i,r),s=x0(a,l),r?n.classBindings=s:n.styleBindings=s}(o,r,n,e,s,i)}}function $f(t,n,e,i,o){let r=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const l=t[o],c=Array.isArray(l),u=c?l[1]:l,p=null===u;let b=e[o+1];b===bt&&(b=p?Zt:void 0);let _=p?M6(b,i):u===i?b:void 0;if(c&&!I0(_)&&(_=M6(l,i)),I0(_)&&(a=_,s))return a;const y=t[o+1];o=s?aa(y):il(y)}if(null!==n){let l=r?n.residualClasses:n.residualStyles;null!=l&&(a=M6(l,i))}return a}function I0(t){return void 0!==t}function qC(t,n){return!!(t.flags&(n?8:16))}class HY{destroy(n){}updateValue(n,e){}swap(n,e){const i=Math.min(n,e),o=Math.max(n,e),r=this.detach(o);if(o-i>1){const s=this.detach(i);this.attach(i,r),this.attach(o,s)}else this.attach(i,r)}move(n,e){this.attach(e,this.detach(n))}}function Jf(t,n,e,i,o){return t===e&&Object.is(n,i)?1:Object.is(o(t,n),o(e,i))?-1:0}function Zf(t,n,e,i){return!(void 0===n||!n.has(i)||(t.attach(e,n.get(i)),n.delete(i),0))}function QC(t,n,e,i,o){if(Zf(t,n,i,e(i,o)))t.updateValue(i,o);else{const r=t.create(i,o);t.attach(i,r)}}function KC(t,n,e,i){const o=new Set;for(let r=n;r<=e;r++)o.add(i(r,t.at(r)));return o}class $C{constructor(){this.kvMap=new Map,this._vMap=void 0}has(n){return this.kvMap.has(n)}delete(n){if(!this.has(n))return!1;const e=this.kvMap.get(n);return void 0!==this._vMap&&this._vMap.has(e)?(this.kvMap.set(n,this._vMap.get(e)),this._vMap.delete(e)):this.kvMap.delete(n),!0}get(n){return this.kvMap.get(n)}set(n,e){if(this.kvMap.has(n)){let i=this.kvMap.get(n);void 0===this._vMap&&(this._vMap=new Map);const o=this._vMap;for(;o.has(i);)i=o.get(i);o.set(i,e)}else this.kvMap.set(n,e)}forEach(n){for(let[e,i]of this.kvMap)if(n(i,e),void 0!==this._vMap){const o=this._vMap;for(;o.has(i);)i=o.get(i),n(i,e)}}}function he(t,n){mo("NgControlFlow");const e=q(),i=Or(),o=e[i]!==bt?e[i]:-1,r=-1!==o?O0(e,He+o):void 0;if(Zn(e,i,t)){const a=J(null);try{if(void 0!==r&&rf(r,0),-1!==t){const l=He+t,c=O0(e,l),u=Xf(e[_e],l),p=Ja(c,u.tView.ssrId);kc(c,xc(e,u,n,{dehydratedView:p}),0,Ka(u,p))}}finally{J(a)}}else if(void 0!==r){const a=Oy(r,0);void 0!==a&&(a[Tn]=n)}}class YY{constructor(n,e,i){this.lContainer=n,this.$implicit=e,this.$index=i}get $count(){return this.lContainer.length-Jn}}function JC(t){return t}function fr(t,n){return n}class UY{constructor(n,e,i){this.hasEmptyBlock=n,this.trackByFn=e,this.liveCollection=i}}function ji(t,n,e,i,o,r,s,a,l,c,u,p,b){mo("NgControlFlow");const _=q(),y=Mt(),z=void 0!==l,E=q(),x=a?s.bind(E[Ln][Tn]):s,k=new UY(z,x);E[He+t]=k,Gd(_,y,t+1,n,e,i,o,ur(y.consts,r)),z&&Gd(_,y,t+2,l,c,u,p,ur(y.consts,b))}class WY extends HY{constructor(n,e,i){super(),this.lContainer=n,this.hostLView=e,this.templateTNode=i,this.operationsCounter=void 0,this.needsIndexUpdate=!1}get length(){return this.lContainer.length-Jn}at(n){return this.getLView(n)[Tn].$implicit}attach(n,e){const i=e[ho];this.needsIndexUpdate||=n!==this.length,kc(this.lContainer,e,n,Ka(this.templateTNode,i))}detach(n){return this.needsIndexUpdate||=n!==this.length-1,function GY(t,n){return Td(t,n)}(this.lContainer,n)}create(n,e){const i=Ja(this.lContainer,this.templateTNode.tView.ssrId),o=xc(this.hostLView,this.templateTNode,new YY(this.lContainer,e,n),{dehydratedView:i});return this.operationsCounter?.recordCreate(),o}destroy(n){n0(n[_e],n),this.operationsCounter?.recordDestroy()}updateValue(n,e){this.getLView(n)[Tn].$implicit=e}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let n=0;n{t.destroy(l)})}(l,t,r.trackByFn),l.updateIndexes(),r.hasEmptyBlock){const c=Or(),u=0===l.length;if(Zn(i,c,u)){const p=e+2,b=O0(i,p);if(u){const _=Xf(o,p),y=Ja(b,_.tView.ssrId);kc(b,xc(i,_,void 0,{dehydratedView:y}),0,Ka(_,y))}else rf(b,0)}}}finally{J(n)}}function O0(t,n){return t[n]}function Xf(t,n){return ld(t,n)}function f(t,n,e,i){const o=q(),r=Mt(),s=He+t,a=o[at],l=r.firstCreatePass?function QY(t,n,e,i,o,r){const s=n.consts,l=Qa(n,t,2,i,ur(s,o));return J8(n,e,l,ur(s,r)),null!==l.attrs&&b0(l,l.attrs,!1),null!==l.mergedAttrs&&b0(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,r,o,n,e,i):r.data[s],c=ZC(r,o,l,a,n,t);o[s]=c;const u=zh(l);return Ir(l,!0),by(a,c,l),!function Nc(t){return!(32&~t.flags)}(l)&&ud()&&r0(r,o,c,l),0===function AF(){return lt.lFrame.elementDepthCount}()&&no(c,o),function SF(){lt.lFrame.elementDepthCount++}(),u&&(Q8(r,o,l),q8(r,l,o)),null!==i&&K8(o,l),f}function m(){let t=pn();$6()?J6():(t=t.parent,Ir(t,!1));const n=t;(function MF(t){return lt.skipHydrationRootTNode===t})(n)&&function kF(){lt.skipHydrationRootTNode=null}(),function TF(){lt.lFrame.elementDepthCount--}();const e=Mt();return e.firstCreatePass&&(Eh(e,t),H6(t)&&e.queries.elementEnd(t)),null!=n.classesWithoutHost&&function YF(t){return!!(8&t.flags)}(n)&&Kf(e,n,q(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function UF(t){return!!(16&t.flags)}(n)&&Kf(e,n,q(),n.stylesWithoutHost,!1),m}function A(t,n,e,i){return f(t,n,e,i),m(),A}let ZC=(t,n,e,i,o,r)=>(rs(!0),t0(i,o,function Pb(){return lt.lFrame.currentNamespace}()));function Ye(t,n,e){const i=q(),o=Mt(),r=t+He,s=o.firstCreatePass?function JY(t,n,e,i,o){const r=n.consts,s=ur(r,i),a=Qa(n,t,8,"ng-container",s);return null!==s&&b0(a,s,!0),J8(n,e,a,ur(r,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(r,o,i,n,e):o.data[r];Ir(s,!0);const a=XC(o,i,s,t);return i[r]=a,ud()&&r0(o,i,a,s),no(a,i),zh(s)&&(Q8(o,i,s),q8(o,s,i)),null!=e&&K8(i,s),Ye}function Ue(){let t=pn();const n=Mt();return $6()?J6():(t=t.parent,Ir(t,!1)),n.firstCreatePass&&(Eh(n,t),H6(t)&&n.queries.elementEnd(t)),Ue}function P0(t,n,e){return Ye(t,n,e),Ue(),P0}let XC=(t,n,e,i)=>(rs(!0),R8(n[at],""));function W(){return q()}function em(t,n,e){const i=q();return Zn(i,Or(),n)&&ko(Mt(),Mn(),i,t,n,i[at],e,!0),em}function ol(t,n,e){const i=q();if(Zn(i,Or(),n)){const r=Mt(),s=Mn();ko(r,s,i,t,n,Iy(X6(r.data),s,i),e,!0)}return ol}const e1="en-US";let nz=e1;let wz=(t,n,e)=>{};function M(t,n,e,i){const o=q(),r=Mt(),s=pn();return im(r,o,o[at],s,t,n,i),M}function R0(t,n){const e=pn(),i=q(),o=Mt();return im(o,i,Iy(X6(o.data),e,i),e,t,n),R0}function im(t,n,e,i,o,r,s){const a=zh(i),c=t.firstCreatePass&&ky(t),u=n[Tn],p=xy(n);let b=!0;if(3&i.type||s){const z=po(i,n),E=s?s(z):z,x=p.length,k=s?pe=>s(Xt(pe[i.index])):i.index;let ie=null;if(!s&&a&&(ie=function YU(t,n,e,i){const o=t.cleanup;if(null!=o)for(let r=0;rl?a[l]:null}"string"==typeof s&&(r+=2)}return null}(t,n,o,i.index)),null!==ie)(ie.__ngLastListenerFn__||ie).__ngNextListenerFn__=r,ie.__ngLastListenerFn__=r,b=!1;else{r=Az(i,n,u,r),wz(z,o,r);const pe=e.listen(E,o,r);p.push(r,pe),c&&c.push(o,k,x,x+1)}}else r=Az(i,n,u,r);const _=i.outputs;let y;if(b&&null!==_&&(y=_[o])){const z=y.length;if(z)for(let E=0;E-1?Yo(t.index,n):n,5);let a=zz(n,e,i,r),l=o.__ngNextListenerFn__;for(;l;)a=zz(n,e,l,r)&&a,l=l.__ngNextListenerFn__;return a}}function g(t=1){return function NF(t){return(lt.lFrame.contextLView=function _b(t,n){for(;t>0;)n=n[pc],t--;return n}(t,lt.lFrame.contextLView))[Tn]}(t)}function UU(t,n){let e=null;const i=function LN(t){const n=t.attrs;if(null!=n){const e=n.indexOf(5);if(!(1&e))return n[e+1]}return null}(t);for(let o=0;o(rs(!0),function F8(t,n){return t.createText(n)}(n[at],i));function D(t){return we("",t,""),D}function we(t,n,e){const i=q(),o=function Uc(t,n,e,i){return Zn(t,Or(),e)?n+vt(e)+i:bt}(i,t,n,e);return o!==bt&&Es(i,Hi(),o),we}function la(t,n,e,i,o){const r=q(),s=function Wc(t,n,e,i,o,r){const a=tl(t,Ts(),e,o);return Ms(2),a?n+vt(e)+i+vt(o)+r:bt}(r,t,n,e,i,o);return s!==bt&&Es(r,Hi(),s),la}function sm(t,n,e,i,o,r,s){const a=q(),l=function Gc(t,n,e,i,o,r,s,a){const c=A0(t,Ts(),e,o,s);return Ms(3),c?n+vt(e)+i+vt(o)+r+vt(s)+a:bt}(a,t,n,e,i,o,r,s);return l!==bt&&Es(a,Hi(),l),sm}function ki(t,n,e){Bw(n)&&(n=n());const i=q();return Zn(i,Or(),n)&&ko(Mt(),Mn(),i,t,n,i[at],e,!1),ki}function Ui(t,n){const e=Bw(t);return e&&t.set(n),e}function Ii(t,n){const e=q(),i=Mt(),o=pn();return im(i,e,e[at],o,t,n),Ii}function am(t,n,e,i,o){if(t=st(t),Array.isArray(t))for(let r=0;r>20;if(Fa(t)||!t.multi){const _=new hd(c,o,v),y=cm(l,n,o?u:u+b,p);-1===y?(c8(Ph(a,s),r,l),lm(r,t,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),e.push(_),s.push(_)):(e[y]=_,s[y]=_)}else{const _=cm(l,n,u+b,p),y=cm(l,n,u,u+b),E=y>=0&&e[y];if(o&&!E||!o&&!(_>=0&&e[_])){c8(Ph(a,s),r,l);const x=function uW(t,n,e,i,o){const r=new hd(t,e,v);return r.multi=[],r.index=n,r.componentProviders=0,Zz(r,o,i&&!e),r}(o?dW:cW,e.length,o,i,c);!o&&E&&(e[y].providerFactory=x),lm(r,t,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),e.push(x),s.push(x)}else lm(r,t,_>-1?_:y,Zz(e[o?y:_],c,!o&&i));!o&&i&&E&&e[y].componentProviders++}}}function lm(t,n,e,i){const o=Fa(n),r=function ZN(t){return!!t.useClass}(n);if(o||r){const l=(r?st(n.useClass):n).prototype.ngOnDestroy;if(l){const c=t.destroyHooks||(t.destroyHooks=[]);if(!o&&n.multi){const u=c.indexOf(e);-1===u?c.push(e,[i,l]):c[u+1].push(i,l)}else c.push(e,l)}}}function Zz(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function cm(t,n,e,i){for(let o=e;o{e.providersResolver=(i,o)=>function lW(t,n,e){const i=Mt();if(i.firstCreatePass){const o=kr(t);am(e,i.data,i.blueprint,o,!0),am(n,i.data,i.blueprint,o,!1)}}(i,o?o(t):t,n)}}let hW=(()=>{class t{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e)){const i=k6(0,e.type),o=i.length>0?C0([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e,o)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=ae({token:t,providedIn:"environment",factory:()=>new t(R(Li))})}return t})();function me(t){mo("NgStandalone"),t.getStandaloneInjector=n=>n.get(hW).getOrCreateStandaloneInjector(t)}function Si(t,n,e){const i=fo()+t,o=q();return o[i]===bt?cs(o,i,e?n.call(e):n()):function Wd(t,n){return t[n]}(o,i)}function mr(t,n,e,i){return nA(q(),fo(),t,n,e,i)}function sl(t,n,e,i,o){return function iA(t,n,e,i,o,r,s){const a=n+e;return tl(t,a,o,r)?cs(t,a+2,s?i.call(s,o,r):i(o,r)):iu(t,a+2)}(q(),fo(),t,n,e,i,o)}function tA(t,n,e,i,o,r){return function oA(t,n,e,i,o,r,s,a){const l=n+e;return A0(t,l,o,r,s)?cs(t,l+3,a?i.call(a,o,r,s):i(o,r,s)):iu(t,l+3)}(q(),fo(),t,n,e,i,o,r)}function nu(t,n,e,i,o,r,s){return function rA(t,n,e,i,o,r,s,a,l){const c=n+e;return function pr(t,n,e,i,o,r){const s=tl(t,n,e,i);return tl(t,n+2,o,r)||s}(t,c,o,r,s,a)?cs(t,c+4,l?i.call(l,o,r,s,a):i(o,r,s,a)):iu(t,c+4)}(q(),fo(),t,n,e,i,o,r,s)}function iu(t,n){const e=t[n];return e===bt?void 0:e}function nA(t,n,e,i,o,r){const s=n+e;return Zn(t,s,o)?cs(t,s+1,r?i.call(r,o):i(o)):iu(t,s+1)}function Fr(t,n){const e=Mt();let i;const o=t+He;e.firstCreatePass?(i=function wW(t,n){if(n)for(let e=n.length-1;e>=0;e--){const i=n[e];if(t===i.name)return i}}(n,e.pipeRegistry),e.data[o]=i,i.onDestroy&&(e.destroyHooks??=[]).push(o,i.onDestroy)):i=e.data[o];const r=i.factory||(i.factory=Na(i.type)),a=Mo(v);try{const l=Oh(!1),c=r();return Oh(l),function rm(t,n,e,i){e>=t.data.length&&(t.data[e]=null,t.blueprint[e]=null),n[e]=i}(e,q(),o,c),c}finally{Mo(a)}}function Rr(t,n,e){const i=t+He,o=q(),r=Ba(o,i);return function ou(t,n){return t[_e].data[n].pure}(o,i)?nA(o,fo(),n,r.transform,e,r):r.transform(e)}function ot(t,n){return u0(t,n)}let CA=(()=>{class t{log(e){console.log(e)}warn(e){console.warn(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();const MA=new oe(""),Y0=new oe("");let bm,gm=(()=>{class t{constructor(e,i,o){this._ngZone=e,this.registry=i,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,bm||(function bG(t){bm=t}(o),o.addToWindow(i)),this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Me.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb()}});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,o){let r=-1;i&&i>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==r),e()},i)),this._callbacks.push({doneCb:e,timeoutId:r,updateCb:o})}whenStable(e,i,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,i,o),this._runCallbacksIfReady()}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,o){return[]}static#e=this.\u0275fac=function(i){return new(i||t)(R(Me),R(vm),R(Y0))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),vm=(()=>{class t{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return bm?.findTestabilityInTree(this,e,i)??null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();function lu(t){return!!t&&"function"==typeof t.then}function DA(t){return!!t&&"function"==typeof t.subscribe}const _m=new oe("");let ym=(()=>{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((e,i)=>{this.resolve=e,this.reject=i}),this.appInits=G(_m,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const e=[];for(const o of this.appInits){const r=o();if(lu(r))e.push(r);else if(DA(r)){const s=new Promise((a,l)=>{r.subscribe({complete:a,error:l})});e.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{i()}).catch(o=>{this.reject(o)}),0===e.length&&i(),this.initialized=!0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const U0=new oe("");function kA(t,n){return Array.isArray(n)?n.reduce(kA,t):{...t,...n}}let Ko=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=G(i_),this.afterRenderEffectManager=G(Bd),this.zonelessEnabled=G(Ld),this.externalTestViews=new Set,this.beforeRender=new V,this.afterTick=new V,this.componentTypes=[],this.components=[],this.isStable=G(Ua).hasPendingTasks.pipe(Pe(e=>!e)),this._injector=G(Li)}get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(e,i){const o=e instanceof cw;if(!this._injector.get(ym).done)throw!o&&function Zs(t){const n=Dt(t)||yi(t)||Ri(t);return null!==n&&n.standalone}(e),new j(405,!1);let s;s=o?e:this._injector.get(Pc).resolveComponentFactory(e),this.componentTypes.push(s.componentType);const a=function _G(t){return t.isBoundToModule}(s)?void 0:this._injector.get(el),c=s.create(tn.NULL,[],i||s.selector,a),u=c.location.nativeElement,p=c.injector.get(MA,null);return p?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),W0(this.components,c),p?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){this._tick(!0)}_tick(e){if(this._runningTick)throw new j(101,!1);const i=J(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(e)}catch(o){this.internalErrorHandler(o)}finally{this._runningTick=!1,J(i),this.afterTick.next()}}detectChangesInAttachedViews(e){let i=null;this._injector.destroyed||(i=this._injector.get(Za,null,{optional:!0}));let o=0;const r=this.afterRenderEffectManager;for(;o<10;){const s=0===o;if(e||!s){this.beforeRender.next(s);for(let{_lView:a,notifyErrorHandler:l}of this._views)wG(a,l,s,this.zonelessEnabled)}else i?.begin?.(),i?.end?.();if(o++,r.executeInternalCallbacks(),!this.allViews.some(({_lView:a})=>cd(a))&&(r.execute(),!this.allViews.some(({_lView:a})=>cd(a))))break}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;W0(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(U0,[]);[...this._bootstrapListeners,...i].forEach(o=>o(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>W0(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new j(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function W0(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function wG(t,n,e,i){(e||cd(t))&&d0(t,n,e&&!i?0:1)}class CG{constructor(n,e){this.ngModuleFactory=n,this.componentFactories=e}}let OA=(()=>{class t{compileModuleSync(e){return new Vf(e)}compileModuleAsync(e){return Promise.resolve(this.compileModuleSync(e))}compileModuleAndAllComponentsSync(e){const i=this.compileModuleSync(e),r=Go(eo(e).declarations).reduce((s,a)=>{const l=Dt(a);return l&&s.push(new Yd(l)),s},[]);return new CG(i,r)}compileModuleAndAllComponentsAsync(e){return Promise.resolve(this.compileModuleAndAllComponentsSync(e))}clearCache(){}clearCacheFor(e){}getModuleId(e){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),SG=(()=>{class t{constructor(){this.zone=G(Me),this.changeDetectionScheduler=G(Oc),this.applicationRef=G(Ko)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function wm({ngZoneFactory:t,ignoreChangesOutsideZone:n}){return t??=()=>new Me(Cm()),[{provide:Me,useFactory:t},{provide:ts,multi:!0,useFactory:()=>{const e=G(SG,{optional:!0});return()=>e.initialize()}},{provide:ts,multi:!0,useFactory:()=>{const e=G(DG);return()=>{e.initialize()}}},{provide:i_,useFactory:MG},!0===n?{provide:lw,useValue:!0}:[]]}function MG(){const t=G(Me),n=G(hr);return e=>t.runOutsideAngular(()=>n.handleError(e))}function Cm(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}let DG=(()=>{class t{constructor(){this.subscription=new Ft,this.initialized=!1,this.zone=G(Me),this.pendingTasks=G(Ua)}initialize(){if(this.initialized)return;this.initialized=!0;let e=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(e=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{Me.assertNotInAngularZone(),queueMicrotask(()=>{null!==e&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(e),e=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{Me.assertInAngularZone(),e??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),cu=(()=>{class t{constructor(){this.appRef=G(Ko),this.taskService=G(Ua),this.ngZone=G(Me),this.zonelessEnabled=G(Ld),this.disableScheduling=G(lw,{optional:!0})??!1,this.zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run,this.schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}],this.subscriptions=new Ft,this.cancelScheduledCallback=null,this.shouldRefreshViews=!1,this.useMicrotaskScheduler=!1,this.runningTick=!1,this.pendingRenderTaskId=null,this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof _f||!this.zoneIsDefined)}notify(e){if(!this.zonelessEnabled&&5===e)return;switch(e){case 3:case 2:case 0:case 4:case 5:case 1:this.shouldRefreshViews=!0}if(!this.shouldScheduleTick())return;const i=this.useMicrotaskScheduler?pw:hw;this.pendingRenderTaskId=this.taskService.add(),this.zoneIsDefined?Zone.root.run(()=>{this.cancelScheduledCallback=i(()=>{this.tick(this.shouldRefreshViews)})}):this.cancelScheduledCallback=i(()=>{this.tick(this.shouldRefreshViews)})}shouldScheduleTick(){return!(this.disableScheduling||null!==this.pendingRenderTaskId||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Me.isInAngularZone())}tick(e){if(this.runningTick||this.appRef.destroyed)return;const i=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick(e)},void 0,this.schedulerTickApplyArgs)}catch(o){throw this.taskService.remove(i),o}finally{this.cleanup()}this.useMicrotaskScheduler=!0,pw(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(i)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.shouldRefreshViews=!1,this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,null!==this.pendingRenderTaskId){const e=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(e)}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const xs=new oe("",{providedIn:"root",factory:()=>G(xs,kt.Optional|kt.SkipSelf)||function EG(){return typeof $localize<"u"&&$localize.locale||e1}()}),Am=new oe("");let FA=(()=>{class t{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const o=function VH(t="zone.js",n){return"noop"===t?new _f:"zone.js"===t?new Me(n):t}(i?.ngZone,Cm({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return o.run(()=>{const r=i?.ignoreChangesOutsideZone,s=function Sj(t,n,e){return new Pf(t,n,e)}(e.moduleType,this.injector,[...wm({ngZoneFactory:()=>o,ignoreChangesOutsideZone:r}),{provide:Oc,useExisting:cu}]),a=s.injector.get(hr,null);return o.runOutsideAngular(()=>{const l=o.onError.subscribe({next:c=>{a.handleError(c)}});s.onDestroy(()=>{W0(this._modules,s),l.unsubscribe()})}),function xA(t,n,e){try{const i=e();return lu(i)?i.catch(o=>{throw n.runOutsideAngular(()=>t.handleError(o)),o}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}(a,o,()=>{const l=s.injector.get(ym);return l.runInitializers(),l.donePromise.then(()=>(function iz(t){"string"==typeof t&&(nz=t.toLowerCase().replace(/_/g,"-"))}(s.injector.get(xs,e1)||e1),this._moduleDoBootstrap(s),s))})})}bootstrapModule(e,i=[]){const o=kA({},i);return function AG(t,n,e){const i=new Vf(e);return Promise.resolve(i)}(0,0,e).then(r=>this.bootstrapModuleFactory(r,o))}_moduleDoBootstrap(e){const i=e.injector.get(Ko);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(o=>i.bootstrap(o));else{if(!e.instance.ngDoBootstrap)throw new j(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new j(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get(Am,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(i){return new(i||t)(R(tn))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})(),ca=null;const RA=new oe("");function LA(t,n,e=[]){const i=`Platform: ${n}`,o=new oe(i);return(r=[])=>{let s=Sm();if(!s||s.injector.get(RA,!1)){const a=[...e,...r,{provide:o,useValue:!0}];t?t(a):function IG(t){if(ca&&!ca.get(RA,!1))throw new j(400,!1);(function EA(){!function ze(t){Vn=t}(()=>{throw new j(600,!1)})})(),ca=t;const n=t.get(FA);(function HA(t){t.get(S_,null)?.forEach(e=>e())})(t)}(function BA(t=[],n){return tn.create({name:n,providers:[{provide:P6,useValue:"platform"},{provide:Am,useValue:new Set([()=>ca=null])},...t]})}(a,i))}return function OG(t){const n=Sm();if(!n)throw new j(401,!1);return n}()}}function Sm(){return ca?.get(FA)??null}let We=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=VG}return t})();function VG(t){return function NG(t,n,e){if(La(t)&&!e){const i=Yo(t.index,n);return new kd(i,i)}return 175&t.type?new kd(n[Ln],n):null}(pn(),q(),!(16&~t))}class qA{constructor(){}supports(n){return z0(n)}create(n){return new HG(n)}}const BG=(t,n)=>n;class HG{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||BG}forEachItem(n){let e;for(e=this._itHead;null!==e;e=e._next)n(e)}forEachOperation(n){let e=this._itHead,i=this._removalsHead,o=0,r=null;for(;e||i;){const s=!i||e&&e.currentIndex{s=this._trackByFn(o,a),null!==e&&Object.is(e.trackById,s)?(i&&(e=this._verifyReinsertion(e,a,s,o)),Object.is(e.item,a)||this._addIdentityChange(e,a)):(e=this._mismatch(e,a,s,o),i=!0),e=e._next,o++}),this.length=o;return this._truncate(e),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,e,i,o){let r;return null===n?r=this._itTail:(r=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._reinsertAfter(n,r,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,o))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._moveAfter(n,r,o)):n=this._addAfter(new jG(e,i),r,o),n}_verifyReinsertion(n,e,i,o){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==r?n=this._reinsertAfter(r,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const e=n._next;this._addToRemovals(this._unlink(n)),n=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,r=n._nextRemoved;return null===o?this._removalsHead=r:o._nextRemoved=r,null===r?this._removalsTail=o:r._prevRemoved=o,this._insertAfter(n,e,i),this._addToMoves(n,i),n}_moveAfter(n,e,i){return this._unlink(n),this._insertAfter(n,e,i),this._addToMoves(n,i),n}_addAfter(n,e,i){return this._insertAfter(n,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,e,i){const o=null===e?this._itHead:e._next;return n._next=o,n._prev=e,null===o?this._itTail=n:o._prev=n,null===e?this._itHead=n:e._next=n,null===this._linkedRecords&&(this._linkedRecords=new QA),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const e=n._prev,i=n._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,n}_addToMoves(n,e){return n.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new QA),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,e){return n.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class jG{constructor(n,e){this.item=n,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class YG{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const e=n._prevDup,i=n._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class QA{constructor(){this.map=new Map}put(n){const e=n.trackById;let i=this.map.get(e);i||(i=new YG,this.map.set(e,i)),i.add(n)}get(n,e){const o=this.map.get(n);return o?o.get(n,e):null}remove(n){const e=n.trackById;return this.map.get(e).remove(n)&&this.map.delete(e),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function KA(t,n,e){const i=t.previousIndex;if(null===i)return i;let o=0;return e&&i{if(e&&e.key===o)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const r=this._getOrCreateRecordForKey(o,i);e=this._insertBeforeOrAppend(e,r)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,e){if(n){const i=n._prev;return e._next=n,e._prev=i,n._prev=e,i&&(i._next=e),n===this._mapHead&&(this._mapHead=e),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(n,e){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,e);const r=o._prev,s=o._next;return r&&(r._next=s),s&&(s._prev=r),o._next=null,o._prev=null,o}const i=new WG(n);return this._records.set(n,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,e){Object.is(e,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=e,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,e){n instanceof Map?n.forEach(e):Object.keys(n).forEach(i=>e(n[i],i))}}class WG{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function JA(){return new K0([new qA])}let K0=(()=>{class t{static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:JA});constructor(e){this.factories=e}static create(e,i){if(null!=i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||JA()),deps:[[t,new ch,new ed]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(null!=i)return i;throw new j(901,!1)}}return t})();function ZA(){return new $0([new $A])}let $0=(()=>{class t{static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:ZA});constructor(e){this.factories=e}static create(e,i){if(i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||ZA()),deps:[[t,new ch,new ed]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(i)return i;throw new j(901,!1)}}return t})();const QG=LA(null,"core",[]);let KG=(()=>{class t{constructor(e){}static#e=this.\u0275fac=function(i){return new(i||t)(R(Ko))};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function I(t){return"boolean"==typeof t?t:null!=t&&"false"!==t}function Oi(t,n=NaN){return isNaN(parseFloat(t))||isNaN(Number(t))?n:Number(t)}function Om(t){const n=J(null);try{return t()}finally{J(n)}}const kq=new oe("",{providedIn:"root",factory:()=>G(Iq)});let Iq=(()=>{class t{static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:()=>new Oq})}return t})();class Oq{constructor(){this.queuedEffectCount=0,this.queues=new Map,this.pendingTasks=G(Ua),this.taskId=null}scheduleEffect(n){if(this.enqueue(n),null===this.taskId){const e=this.taskId=this.pendingTasks.add();queueMicrotask(()=>{this.flush(),this.pendingTasks.remove(e),this.taskId=null})}}enqueue(n){const e=n.creationZone;this.queues.has(e)||this.queues.set(e,new Set);const i=this.queues.get(e);i.has(n)||(this.queuedEffectCount++,i.add(n))}flush(){for(;this.queuedEffectCount>0;)for(const[n,e]of this.queues)null===n?this.flushQueue(e):n.run(()=>this.flushQueue(e))}flushQueue(n){for(const e of n)n.delete(e),this.queuedEffectCount--,e.run()}}class Pq{constructor(n,e,i,o,r,s){this.scheduler=n,this.effectFn=e,this.creationZone=i,this.injector=r,this.watcher=function So(t,n,e){const i=Object.create(co);e&&(i.consumerAllowSignalWrites=!0),i.fn=t,i.schedule=n;const o=l=>{i.cleanupFn=l};return i.ref={notify:()=>O(i),run:()=>{if(null===i.fn)return;if(function Ee(){return N}())throw new Error("Schedulers cannot synchronously execute watches while scheduling.");if(i.dirty=!1,i.hasRun&&!se(i))return;i.hasRun=!0;const l=L(i);try{i.cleanupFn(),i.cleanupFn=bi,i.fn(o)}finally{H(i,l)}},cleanup:()=>i.cleanupFn(),destroy:()=>function s(l){(function r(l){return null===l.fn&&null===l.schedule})(l)||(ue(l),l.cleanupFn(),l.fn=null,l.schedule=null,l.cleanupFn=bi)}(i),[le]:i},i.ref}(a=>this.runEffect(a),()=>this.schedule(),s),this.unregisterOnDestroy=o?.onDestroy(()=>this.destroy())}runEffect(n){try{this.effectFn(n)}catch(e){this.injector.get(hr,null,{optional:!0})?.handleError(e)}}run(){this.watcher.run()}schedule(){this.scheduler.scheduleEffect(this)}destroy(){this.watcher.destroy(),this.unregisterOnDestroy?.()}}let TS=null;function da(){return TS}class Rq{}const Pt=new oe("");let Pm=(()=>{class t{historyGo(e){throw new Error("")}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(Bq),providedIn:"platform"})}return t})();const Lq=new oe("");let Bq=(()=>{class t extends Pm{constructor(){super(),this._doc=G(Pt),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return da().getBaseHref(this._doc)}onPopState(e){const i=da().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",e,!1),()=>i.removeEventListener("popstate",e)}onHashChange(e){const i=da().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",e,!1),()=>i.removeEventListener("hashchange",e)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(e){this._location.pathname=e}pushState(e,i,o){this._history.pushState(e,i,o)}replaceState(e,i,o){this._history.replaceState(e,i,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>new t,providedIn:"platform"})}return t})();function Vm(t,n){if(0==t.length)return n;if(0==n.length)return t;let e=0;return t.endsWith("/")&&e++,n.startsWith("/")&&e++,2==e?t+n.substring(1):1==e?t+n:t+"/"+n}function MS(t){const n=t.match(/#|\?|$/),e=n&&n.index||t.length;return t.slice(0,e-("/"===t[e-1]?1:0))+t.slice(e)}function ks(t){return t&&"?"!==t[0]?"?"+t:t}let ll=(()=>{class t{historyGo(e){throw new Error("")}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(ES),providedIn:"root"})}return t})();const DS=new oe("");let ES=(()=>{class t extends ll{constructor(e,i){super(),this._platformLocation=e,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??G(Pt).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return Vm(this._baseHref,e)}path(e=!1){const i=this._platformLocation.pathname+ks(this._platformLocation.search),o=this._platformLocation.hash;return o&&e?`${i}${o}`:i}pushState(e,i,o,r){const s=this.prepareExternalUrl(o+ks(r));this._platformLocation.pushState(e,i,s)}replaceState(e,i,o,r){const s=this.prepareExternalUrl(o+ks(r));this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pm),R(DS,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Hq=(()=>{class t extends ll{constructor(e,i){super(),this._platformLocation=e,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}path(e=!1){const i=this._platformLocation.hash??"#";return i.length>0?i.substring(1):i}prepareExternalUrl(e){const i=Vm(this._baseHref,e);return i.length>0?"#"+i:i}pushState(e,i,o,r){let s=this.prepareExternalUrl(o+ks(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(e,i,s)}replaceState(e,i,o,r){let s=this.prepareExternalUrl(o+ks(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pm),R(DS,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),o1=(()=>{class t{constructor(e){this._subject=new B,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=e;const i=this._locationStrategy.getBaseHref();this._basePath=function Uq(t){if(new RegExp("^(https?:)?//").test(t)){const[,e]=t.split(/\/\/[^\/]+/);return e}return t}(MS(xS(i))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,i=""){return this.path()==this.normalize(e+ks(i))}normalize(e){return t.stripTrailingSlash(function Yq(t,n){if(!t||!n.startsWith(t))return n;const e=n.substring(t.length);return""===e||["/",";","?","#"].includes(e[0])?e:n}(this._basePath,xS(e)))}prepareExternalUrl(e){return e&&"/"!==e[0]&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,i="",o=null){this._locationStrategy.pushState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ks(i)),o)}replaceState(e,i="",o=null){this._locationStrategy.replaceState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ks(i)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription??=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}),()=>{const i=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",i){this._urlChangeListeners.forEach(o=>o(e,i))}subscribe(e,i,o){return this._subject.subscribe({next:e,error:i,complete:o})}static#e=this.normalizeQueryParams=ks;static#t=this.joinWithSlash=Vm;static#n=this.stripTrailingSlash=MS;static#i=this.\u0275fac=function(i){return new(i||t)(R(ll))};static#o=this.\u0275prov=ae({token:t,factory:()=>function jq(){return new o1(R(ll))}(),providedIn:"root"})}return t})();function xS(t){return t.replace(/\/index.html$/,"")}const Wm=/\s+/,LS=[];let Jo=(()=>{class t{constructor(e,i){this._ngEl=e,this._renderer=i,this.initialClasses=LS,this.stateMap=new Map}set klass(e){this.initialClasses=null!=e?e.trim().split(Wm):LS}set ngClass(e){this.rawClass="string"==typeof e?e.trim().split(Wm):e}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(const i of e)this._updateState(i,!0);else if(null!=e)for(const i of Object.keys(e))this._updateState(i,!!e[i]);this._applyStateDiff()}_updateState(e,i){const o=this.stateMap.get(e);void 0!==o?(o.enabled!==i&&(o.changed=!0,o.enabled=i),o.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const e of this.stateMap){const i=e[0],o=e[1];o.changed?(this._toggleClass(i,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),o.touched=!1}}_toggleClass(e,i){(e=e.trim()).length>0&&e.split(Wm).forEach(o=>{i?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"},standalone:!0})}return t})();class xQ{constructor(n,e,i,o){this.$implicit=n,this.ngForOf=e,this.index=i,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let zn=(()=>{class t{set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}constructor(e,i,o){this._viewContainer=e,this._template=i,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const i=this._viewContainer;e.forEachOperation((o,r,s)=>{if(null==o.previousIndex)i.createEmbeddedView(this._template,new xQ(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===r?void 0:r);else if(null!==r){const a=i.get(r);i.move(a,s),HS(a,o)}});for(let o=0,r=i.length;o{HS(i.get(o.currentIndex),o)})}static ngTemplateContextGuard(e,i){return!0}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt),v(K0))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return t})();function HS(t,n){t.context.$implicit=n.item}let St=(()=>{class t{constructor(e,i){this._viewContainer=e,this._context=new kQ,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){jS("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){jS("ngIfElse",e),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(e,i){return!0}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return t})();class kQ{constructor(){this.$implicit=null,this.ngIf=null}}function jS(t,n){if(n&&!n.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${_i(n)}'.`)}class Gm{constructor(n,e){this._viewContainerRef=n,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(n){n&&!this._created?this.create():!n&&this._created&&this.destroy()}}let cl=(()=>{class t{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(e){this._ngSwitch=e,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews.push(e)}_matchCase(e){const i=e===this._ngSwitch;return this._lastCasesMatched||=i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(e){if(this._defaultViews.length>0&&e!==this._defaultUsed){this._defaultUsed=e;for(const i of this._defaultViews)i.enforceState(e)}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0})}return t})(),fu=(()=>{class t{constructor(e,i,o){this.ngSwitch=o,o._addCase(),this._view=new Gm(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt),v(cl,9))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0})}return t})(),qm=(()=>{class t{constructor(e,i,o){o._addDefault(new Gm(e,i))}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt),v(cl,9))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngSwitchDefault",""]],standalone:!0})}return t})(),ti=(()=>{class t{constructor(e,i,o){this._ngEl=e,this._differs=i,this._renderer=o,this._ngStyle=null,this._differ=null}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){const e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,i){const[o,r]=e.split("."),s=-1===o.indexOf("-")?void 0:na.DashCase;null!=i?this._renderer.setStyle(this._ngEl.nativeElement,o,r?`${i}${r}`:i,s):this._renderer.removeStyle(this._ngEl.nativeElement,o,s)}_applyChanges(e){e.forEachRemovedItem(i=>this._setStyle(i.key,null)),e.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),e.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v($0),v(Yt))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0})}return t})(),Nn=(()=>{class t{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(this._shouldRecreateView(e)){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const o=this._createContextForwardProxy();this._viewRef=i.createEmbeddedView(this.ngTemplateOutlet,o,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,i,o)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,i,o),get:(e,i,o)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,i,o)}})}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[xe]})}return t})();class PQ{createSubscription(n,e){return Om(()=>n.subscribe({next:e,error:i=>{throw i}}))}dispose(n){Om(()=>n.unsubscribe())}}class VQ{createSubscription(n,e){return n.then(e,i=>{throw i})}dispose(n){}}const NQ=new VQ,FQ=new PQ;let Qm=(()=>{class t{constructor(e){this._latestValue=null,this.markForCheckOnValueUpdate=!0,this._subscription=null,this._obj=null,this._strategy=null,this._ref=e}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(e){if(!this._obj){if(e)try{this.markForCheckOnValueUpdate=!1,this._subscribe(e)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue}_subscribe(e){this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,i=>this._updateLatestValue(e,i))}_selectStrategy(e){if(lu(e))return NQ;if(DA(e))return FQ;throw function Br(t,n){return new j(2100,!1)}()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(e,i){e===this._obj&&(this._latestValue=i,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static#e=this.\u0275fac=function(i){return new(i||t)(v(We,16))};static#t=this.\u0275pipe=jn({name:"async",type:t,pure:!1,standalone:!0})}return t})(),WS=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();const GS="browser";function p4(t){return t===GS}function qS(t){return"server"===t}let nK=(()=>{class t{static#e=this.\u0275prov=ae({token:t,providedIn:"root",factory:()=>p4(G(Pr))?new iK(G(Pt),window):new rK})}return t})();class iK{constructor(n,e){this.document=n,this.window=e,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(n){this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){const e=function oK(t,n){const e=t.getElementById(n)||t.getElementsByName(n)[0];if(e)return e;if("function"==typeof t.createTreeWalker&&t.body&&"function"==typeof t.body.attachShadow){const i=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let o=i.currentNode;for(;o;){const r=o.shadowRoot;if(r){const s=r.getElementById(n)||r.querySelector(`[name="${n}"]`);if(s)return s}o=i.nextNode()}}return null}(this.document,n);e&&(this.scrollToElement(e),e.focus())}setHistoryScrollRestoration(n){this.window.history.scrollRestoration=n}scrollToElement(n){const e=n.getBoundingClientRect(),i=e.left+this.window.pageXOffset,o=e.top+this.window.pageYOffset,r=this.offset();this.window.scrollTo(i-r[0],o-r[1])}}class rK{setOffset(n){}getScrollPosition(){return[0,0]}scrollToPosition(n){}scrollToAnchor(n){}setHistoryScrollRestoration(n){}}class PK extends Rq{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Zm extends PK{static makeCurrent(){!function Fq(t){TS??=t}(new Zm)}onAndCancel(n,e,i){return n.addEventListener(e,i),()=>{n.removeEventListener(e,i)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,e){return(e=e||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return"window"===e?window:"document"===e?n:"body"===e?n.body:null}getBaseHref(n){const e=function VK(){return vu=vu||document.querySelector("base"),vu?vu.getAttribute("href"):null}();return null==e?null:function NK(t){return new URL(t,document.baseURI).pathname}(e)}resetBaseElement(){vu=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function DQ(t,n){n=encodeURIComponent(n);for(const e of t.split(";")){const i=e.indexOf("="),[o,r]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(o.trim()===n)return decodeURIComponent(r)}return null}(document.cookie,n)}}let vu=null,RK=(()=>{class t{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const Xm=new oe("");let nT=(()=>{class t{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(o=>{o.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,i,o){return this._findPluginFor(i).addEventListener(e,i,o)}getZone(){return this._zone}_findPluginFor(e){let i=this._eventNameToPlugin.get(e);if(i)return i;if(i=this._plugins.find(r=>r.supports(e)),!i)throw new j(5101,!1);return this._eventNameToPlugin.set(e,i),i}static#e=this.\u0275fac=function(i){return new(i||t)(R(Xm),R(Me))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();class iT{constructor(n){this._doc=n}}const eg="ng-app-id";let oT=(()=>{class t{constructor(e,i,o,r={}){this.doc=e,this.appId=i,this.nonce=o,this.platformId=r,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=qS(r),this.resetHostNodes()}addStyles(e){for(const i of e)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(e){for(const i of e)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const e=this.styleNodesInDOM;e&&(e.forEach(i=>i.remove()),e.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(e){this.hostNodes.add(e);for(const i of this.getAllStyles())this.addStyleToHost(e,i)}removeHost(e){this.hostNodes.delete(e)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(e){for(const i of this.hostNodes)this.addStyleToHost(i,e)}onStyleRemoved(e){const i=this.styleRef;i.get(e)?.elements?.forEach(o=>o.remove()),i.delete(e)}collectServerRenderedStyles(){const e=this.doc.head?.querySelectorAll(`style[${eg}="${this.appId}"]`);if(e?.length){const i=new Map;return e.forEach(o=>{null!=o.textContent&&i.set(o.textContent,o)}),i}return null}changeUsageCount(e,i){const o=this.styleRef;if(o.has(e)){const r=o.get(e);return r.usage+=i,r.usage}return o.set(e,{usage:i,elements:[]}),i}getStyleElement(e,i){const o=this.styleNodesInDOM,r=o?.get(i);if(r?.parentNode===e)return o.delete(i),r.removeAttribute(eg),r;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(eg,this.appId),e.appendChild(s),s}}addStyleToHost(e,i){const o=this.getStyleElement(e,i),r=this.styleRef,s=r.get(i)?.elements;s?s.push(o):r.set(i,{elements:[o],usage:1})}resetHostNodes(){const e=this.hostNodes;e.clear(),e.add(this.doc.head)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt),R(zc),R(vd,8),R(Pr))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const tg={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},ng=/%COMP%/g,jK=new oe("",{providedIn:"root",factory:()=>!0});function sT(t,n){return n.map(e=>e.replace(ng,t))}let ig=(()=>{class t{constructor(e,i,o,r,s,a,l,c=null){this.eventManager=e,this.sharedStylesHost=i,this.appId=o,this.removeStylesOnCompDestroy=r,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=qS(a),this.defaultRenderer=new og(e,s,l,this.platformIsServer)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Mr.ShadowDom&&(i={...i,encapsulation:Mr.Emulated});const o=this.getOrCreateRenderer(e,i);return o instanceof lT?o.applyToHost(e):o instanceof rg&&o.applyStyles(),o}getOrCreateRenderer(e,i){const o=this.rendererByCompId;let r=o.get(i.id);if(!r){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,p=this.platformIsServer;switch(i.encapsulation){case Mr.Emulated:r=new lT(l,c,i,this.appId,u,s,a,p);break;case Mr.ShadowDom:return new GK(l,c,e,i,s,a,this.nonce,p);default:r=new rg(l,c,i,u,s,a,p)}o.set(i.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(i){return new(i||t)(R(nT),R(oT),R(zc),R(jK),R(Pt),R(Pr),R(Me),R(vd))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();class og{constructor(n,e,i,o){this.eventManager=n,this.doc=e,this.ngZone=i,this.platformIsServer=o,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,e){return e?this.doc.createElementNS(tg[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(aT(n)?n.content:n).appendChild(e)}insertBefore(n,e,i){n&&(aT(n)?n.content:n).insertBefore(e,i)}removeChild(n,e){n&&n.removeChild(e)}selectRootElement(n,e){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new j(-5104,!1);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,o){if(o){e=o+":"+e;const r=tg[o];r?n.setAttributeNS(r,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){const o=tg[i];o?n.removeAttributeNS(o,e):n.removeAttribute(`${i}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,i,o){o&(na.DashCase|na.Important)?n.style.setProperty(e,i,o&na.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&na.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){null!=n&&(n[e]=i)}setValue(n,e){n.nodeValue=e}listen(n,e,i){if("string"==typeof n&&!(n=da().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${e}`);return this.eventManager.addEventListener(n,e,this.decoratePreventDefault(i))}decoratePreventDefault(n){return e=>{if("__ngUnwrap__"===e)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(e)):n(e))&&e.preventDefault()}}}function aT(t){return"TEMPLATE"===t.tagName&&void 0!==t.content}class GK extends og{constructor(n,e,i,o,r,s,a,l){super(n,r,s,l),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=sT(o.id,o.styles);for(const u of c){const p=document.createElement("style");a&&p.setAttribute("nonce",a),p.textContent=u,this.shadowRoot.appendChild(p)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,i){return super.insertBefore(this.nodeOrShadowRoot(n),e,i)}removeChild(n,e){return super.removeChild(this.nodeOrShadowRoot(n),e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class rg extends og{constructor(n,e,i,o,r,s,a,l){super(n,r,s,a),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=o,this.styles=l?sT(l,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class lT extends rg{constructor(n,e,i,o,r,s,a,l){const c=o+"-"+i.id;super(n,e,i,r,s,a,l,c),this.contentAttr=function YK(t){return"_ngcontent-%COMP%".replace(ng,t)}(c),this.hostAttr=function UK(t){return"_nghost-%COMP%".replace(ng,t)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){const i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}}let qK=(()=>{class t extends iT{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,o){return e.addEventListener(i,o,!1),()=>this.removeEventListener(e,i,o)}removeEventListener(e,i,o){return e.removeEventListener(i,o)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const cT=["alt","control","meta","shift"],QK={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},KK={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let $K=(()=>{class t extends iT{constructor(e){super(e)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,o){const r=t.parseEventName(i),s=t.eventCallback(r.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>da().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),o=i.shift();if(0===i.length||"keydown"!==o&&"keyup"!==o)return null;const r=t._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),cT.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=r,0!=i.length||0===r.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(e,i){let o=QK[e.key]||e.key,r="";return i.indexOf("code.")>-1&&(o=e.code,r="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),cT.forEach(s=>{s!==o&&(0,KK[s])(e)&&(r+=s+".")}),r+=o,r===i)}static eventCallback(e,i,o){return r=>{t.matchEventFullKeyCode(r,e)&&o.runGuarded(()=>i(r))}}static _normalizeKey(e){return"esc"===e?"escape":e}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const uT=[{provide:Pr,useValue:GS},{provide:S_,useValue:function JK(){Zm.makeCurrent()},multi:!0},{provide:Pt,useFactory:function XK(){return function IR(t){m8=t}(document),document},deps:[]}],e$=LA(QG,"browser",uT),t$=new oe(""),hT=[{provide:Y0,useClass:class FK{addToWindow(n){wn.getAngularTestability=(i,o=!0)=>{const r=n.findTestabilityInTree(i,o);if(null==r)throw new j(5103,!1);return r},wn.getAllAngularTestabilities=()=>n.getAllTestabilities(),wn.getAllAngularRootElements=()=>n.getAllRootElements(),wn.frameworkStabilizers||(wn.frameworkStabilizers=[]),wn.frameworkStabilizers.push(i=>{const o=wn.getAllAngularTestabilities();let r=o.length;const s=function(){r--,0==r&&i()};o.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,e,i){return null==e?null:n.getTestability(e)??(i?da().isShadowRoot(e)?this.findTestabilityInTree(n,e.host,!0):this.findTestabilityInTree(n,e.parentElement,!0):null)}},deps:[]},{provide:MA,useClass:gm,deps:[Me,vm,Y0]},{provide:gm,useClass:gm,deps:[Me,vm,Y0]}],pT=[{provide:P6,useValue:"root"},{provide:hr,useFactory:function ZK(){return new hr},deps:[]},{provide:Xm,useClass:qK,multi:!0,deps:[Pt,Me,Pr]},{provide:Xm,useClass:$K,multi:!0,deps:[Pt]},ig,oT,nT,{provide:Za,useExisting:ig},{provide:class sK{},useClass:RK,deps:[]},[]];let sg=(()=>{class t{constructor(e){}static withServerTransition(e){return{ngModule:t,providers:[{provide:zc,useValue:e.appId}]}}static#e=this.\u0275fac=function(i){return new(i||t)(R(t$,12))};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[...pT,...hT],imports:[WS,KG]})}return t})(),n$=(()=>{class t{constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),bu=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:function(i){let o=null;return o=i?new(i||t):R(s$),o},providedIn:"root"})}return t})(),s$=(()=>{class t extends bu{constructor(e){super(),this._doc=e}sanitize(e,i){if(null==i)return null;switch(e){case Wo.NONE:return i;case Wo.HTML:return as(i,"HTML")?Uo(i):q_(this._doc,String(i)).toString();case Wo.STYLE:return as(i,"Style")?Uo(i):i;case Wo.SCRIPT:if(as(i,"Script"))return Uo(i);throw new j(5200,!1);case Wo.URL:return as(i,"URL")?Uo(i):Jh(String(i));case Wo.RESOURCE_URL:if(as(i,"ResourceURL"))return Uo(i);throw new j(5201,!1);default:throw new j(5202,!1)}}bypassSecurityTrustHtml(e){return function eL(t){return new QR(t)}(e)}bypassSecurityTrustStyle(e){return function tL(t){return new KR(t)}(e)}bypassSecurityTrustScript(e){return function nL(t){return new $R(t)}(e)}bypassSecurityTrustUrl(e){return function iL(t){return new JR(t)}(e)}bypassSecurityTrustResourceUrl(e){return function oL(t){return new ZR(t)}(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function gT(t,n,e,i,o,r,s){try{var a=t[r](s),l=a.value}catch(c){return void e(c)}a.done?n(l):Promise.resolve(l).then(i,o)}function Mi(t){return function(){var n=this,e=arguments;return new Promise(function(i,o){var r=t.apply(n,e);function s(l){gT(r,i,o,s,a,"next",l)}function a(l){gT(r,i,o,s,a,"throw",l)}s(void 0)})}}function b4(t){return!!t&&(t instanceof Wt||wt(t.lift)&&wt(t.subscribe))}function xt(t,n,e,i){var s,o=arguments.length,r=o<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,n,e,i);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(r=(o<3?s(r):o>3?s(n,e,r):s(n,e))||r);return o>3&&r&&Object.defineProperty(n,e,r),r}function ua(t){return this instanceof ua?(this.v=t,this):new ua(t)}function yT(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=function dg(t){var n="function"==typeof Symbol&&Symbol.iterator,e=n&&t[n],i=0;if(e)return e.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(r){e[r]=t[r]&&function(s){return new Promise(function(a,l){!function o(r,s,a,l){Promise.resolve(l).then(function(c){r({value:c,done:a})},s)}(a,l,(s=t[r](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const ug=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function wT(t){return wt(t?.then)}function CT(t){return wt(t[Tr])}function zT(t){return Symbol.asyncIterator&&wt(t?.[Symbol.asyncIterator])}function AT(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const ST=function M$(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function TT(t){return wt(t?.[ST])}function MT(t){return function _T(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,i=e.apply(t,n||[]),r=[];return o={},a("next"),a("throw"),a("return",function s(_){return function(y){return Promise.resolve(y).then(_,p)}}),o[Symbol.asyncIterator]=function(){return this},o;function a(_,y){i[_]&&(o[_]=function(z){return new Promise(function(E,x){r.push([_,z,E,x])>1||l(_,z)})},y&&(o[_]=y(o[_])))}function l(_,y){try{!function c(_){_.value instanceof ua?Promise.resolve(_.value.v).then(u,p):b(r[0][2],_)}(i[_](y))}catch(z){b(r[0][3],z)}}function u(_){l("next",_)}function p(_){l("throw",_)}function b(_,y){_(y),r.shift(),r.length&&l(r[0][0],r[0][1])}}(this,arguments,function*(){const e=t.getReader();try{for(;;){const{value:i,done:o}=yield ua(e.read());if(o)return yield ua(void 0);yield yield ua(i)}}finally{e.releaseLock()}})}function DT(t){return wt(t?.getReader)}function Pi(t){if(t instanceof Wt)return t;if(null!=t){if(CT(t))return function D$(t){return new Wt(n=>{const e=t[Tr]();if(wt(e.subscribe))return e.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(t);if(ug(t))return function E$(t){return new Wt(n=>{for(let e=0;e{t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,G2)})}(t);if(zT(t))return ET(t);if(TT(t))return function k$(t){return new Wt(n=>{for(const e of t)if(n.next(e),n.closed)return;n.complete()})}(t);if(DT(t))return function I$(t){return ET(MT(t))}(t)}throw AT(t)}function ET(t){return new Wt(n=>{(function O$(t,n){var e,i,o,r;return function vT(t,n,e,i){return new(e||(e=Promise))(function(r,s){function a(u){try{c(i.next(u))}catch(p){s(p)}}function l(u){try{c(i.throw(u))}catch(p){s(p)}}function c(u){u.done?r(u.value):function o(r){return r instanceof e?r:new e(function(s){s(r)})}(u.value).then(a,l)}c((i=i.apply(t,n||[])).next())})}(this,void 0,void 0,function*(){try{for(e=yT(t);!(i=yield e.next()).done;)if(n.next(i.value),n.closed)return}catch(s){o={error:s}}finally{try{i&&!i.done&&(r=e.return)&&(yield r.call(e))}finally{if(o)throw o.error}}n.complete()})})(t,n).catch(e=>n.error(e))})}function Ps(t,n,e,i=0,o=!1){const r=n.schedule(function(){e(),o?t.add(this.schedule(null,i)):this.unsubscribe()},i);if(t.add(r),!o)return r}function xT(t,n=0){return dn((e,i)=>{e.subscribe(Jt(i,o=>Ps(i,t,()=>i.next(o),n),()=>Ps(i,t,()=>i.complete(),n),o=>Ps(i,t,()=>i.error(o),n)))})}function kT(t,n=0){return dn((e,i)=>{i.add(t.schedule(()=>e.subscribe(i),n))})}function IT(t,n){if(!t)throw new Error("Iterable cannot be null");return new Wt(e=>{Ps(e,n,()=>{const i=t[Symbol.asyncIterator]();Ps(e,n,()=>{i.next().then(o=>{o.done?e.complete():e.next(o.value)})},0,!0)})})}function ni(t,n){return n?function L$(t,n){if(null!=t){if(CT(t))return function P$(t,n){return Pi(t).pipe(kT(n),xT(n))}(t,n);if(ug(t))return function N$(t,n){return new Wt(e=>{let i=0;return n.schedule(function(){i===t.length?e.complete():(e.next(t[i++]),e.closed||this.schedule())})})}(t,n);if(wT(t))return function V$(t,n){return Pi(t).pipe(kT(n),xT(n))}(t,n);if(zT(t))return IT(t,n);if(TT(t))return function F$(t,n){return new Wt(e=>{let i;return Ps(e,n,()=>{i=t[ST](),Ps(e,n,()=>{let o,r;try{({value:o,done:r}=i.next())}catch(s){return void e.error(s)}r?e.complete():e.next(o)},0,!0)}),()=>wt(i?.return)&&i.return()})}(t,n);if(DT(t))return function R$(t,n){return IT(MT(t),n)}(t,n)}throw AT(t)}(t,n):Pi(t)}function OT(t){return t&&wt(t.schedule)}function hg(t){return t[t.length-1]}function pg(t){return wt(hg(t))?t.pop():void 0}function _u(t){return OT(hg(t))?t.pop():void 0}function Ge(...t){return ni(t,_u(t))}const{isArray:H$}=Array,{getPrototypeOf:j$,prototype:Y$,keys:U$}=Object;function PT(t){if(1===t.length){const n=t[0];if(H$(n))return{args:n,keys:null};if(function W$(t){return t&&"object"==typeof t&&j$(t)===Y$}(n)){const e=U$(n);return{args:e.map(i=>n[i]),keys:e}}}return{args:t,keys:null}}const{isArray:G$}=Array;function fg(t){return Pe(n=>function q$(t,n){return G$(n)?t(...n):t(n)}(t,n))}function VT(t,n){return t.reduce((e,i,o)=>(e[i]=n[o],e),{})}function Di(...t){const n=_u(t),e=pg(t),{args:i,keys:o}=PT(t);if(0===i.length)return ni([],n);const r=new Wt(function Q$(t,n,e=Hn){return i=>{NT(n,()=>{const{length:o}=t,r=new Array(o);let s=o,a=o;for(let l=0;l{const c=ni(t[l],n);let u=!1;c.subscribe(Jt(i,p=>{r[l]=p,u||(u=!0,a--),a||i.next(e(r.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,n,o?s=>VT(o,s):Hn));return e?r.pipe(fg(e)):r}function NT(t,n,e){t?Ps(e,t,n):n()}const _4=xa(t=>function(){t(this),this.name="EmptyError",this.message="no elements in sequence"});function Yn(t,n,e=1/0){return wt(n)?Yn((i,o)=>Pe((r,s)=>n(i,r,o,s))(Pi(t(i,o))),e):("number"==typeof n&&(e=n),dn((i,o)=>function K$(t,n,e,i,o,r,s,a){const l=[];let c=0,u=0,p=!1;const b=()=>{p&&!l.length&&!c&&n.complete()},_=z=>c{r&&n.next(z),c++;let E=!1;Pi(e(z,u++)).subscribe(Jt(n,x=>{o?.(x),r?_(x):n.next(x)},()=>{E=!0},void 0,()=>{if(E)try{for(c--;l.length&&cy(x)):y(x)}b()}catch(x){n.error(x)}}))};return t.subscribe(Jt(n,_,()=>{p=!0,b()})),()=>{a?.()}}(i,o,t,e)))}function s1(t=1/0){return Yn(Hn,t)}function yu(...t){return function $$(){return s1(1)}()(ni(t,_u(t)))}function mg(t){return new Wt(n=>{Pi(t()).subscribe(n)})}function y4(t,n){const e=wt(t)?t:()=>t,i=o=>o.error(e());return new Wt(n?o=>n.schedule(i,0,o):i)}const _o=new Wt(t=>t.complete());function gg(){return dn((t,n)=>{let e=null;t._refCount++;const i=Jt(n,void 0,void 0,void 0,()=>{if(!t||t._refCount<=0||0<--t._refCount)return void(e=null);const o=t._connection,r=e;e=null,o&&(!r||o===r)&&o.unsubscribe(),n.unsubscribe()});t.subscribe(i),i.closed||(e=t.connect())})}class vg extends Wt{constructor(n,e){super(),this.source=n,this.subjectFactory=e,this._subject=null,this._refCount=0,this._connection=null,Jl(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new Ft;const e=this.getSubject();n.add(this.source.subscribe(Jt(e,void 0,()=>{this._teardown(),e.complete()},i=>{this._teardown(),e.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=Ft.EMPTY)}return n}refCount(){return gg()(this)}}function mn(t,n){return dn((e,i)=>{let o=null,r=0,s=!1;const a=()=>s&&!o&&i.complete();e.subscribe(Jt(i,l=>{o?.unsubscribe();let c=0;const u=r++;Pi(t(l,u)).subscribe(o=Jt(i,p=>i.next(n?n(l,p,u,c++):p),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function io(t){return t<=0?()=>_o:dn((n,e)=>{let i=0;n.subscribe(Jt(e,o=>{++i<=t&&(e.next(o),t<=i&&e.complete())}))})}function gn(...t){const n=_u(t);return dn((e,i)=>{(n?yu(t,e,n):yu(t,e)).subscribe(i)})}function yt(t,n){return dn((e,i)=>{let o=0;e.subscribe(Jt(i,r=>t.call(n,r,o++)&&i.next(r)))})}function w4(t){return dn((n,e)=>{let i=!1;n.subscribe(Jt(e,o=>{i=!0,e.next(o)},()=>{i||e.next(t),e.complete()}))})}function FT(t=Z$){return dn((n,e)=>{let i=!1;n.subscribe(Jt(e,o=>{i=!0,e.next(o)},()=>i?e.complete():e.error(t())))})}function Z$(){return new _4}function Vs(t,n){const e=arguments.length>=2;return i=>i.pipe(t?yt((o,r)=>t(o,r,i)):Hn,io(1),e?w4(n):FT(()=>new _4))}function a1(t,n){return wt(n)?Yn(t,n,1):Yn(t,1)}function ii(t,n,e){const i=wt(t)||n||e?{next:t,error:n,complete:e}:t;return i?dn((o,r)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;o.subscribe(Jt(r,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),r.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),r.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),r.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):Hn}function ul(t){return dn((n,e)=>{let r,i=null,o=!1;i=n.subscribe(Jt(e,void 0,void 0,s=>{r=Pi(t(s,ul(t)(n))),i?(i.unsubscribe(),i=null,r.subscribe(e)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(e))})}function bg(t){return t<=0?()=>_o:dn((n,e)=>{let i=[];n.subscribe(Jt(e,o=>{i.push(o),t{for(const o of i)e.next(o);e.complete()},void 0,()=>{i=null}))})}function hl(t){return Pe(()=>t)}function l1(t){return dn((n,e)=>{try{n.subscribe(e)}finally{e.add(t)}})}function P(t){return dn((n,e)=>{Pi(t).subscribe(Jt(e,()=>e.complete(),Qs)),!e.closed&&n.subscribe(e)})}const Tt="primary",wu=Symbol("RouteTitle");class nJ{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function c1(t){return new nJ(t)}function iJ(t,n,e){const i=e.path.split("/");if(i.length>t.length||"full"===e.pathMatch&&(n.hasChildren()||i.lengthi[r]===o)}return t===n}function LT(t){return t.length>0?t[t.length-1]:null}function ha(t){return b4(t)?t:lu(t)?ni(Promise.resolve(t)):Ge(t)}const rJ={exact:function jT(t,n,e){if(!pl(t.segments,n.segments)||!C4(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!t.children[i]||!jT(t.children[i],n.children[i],e))return!1;return!0},subset:YT},BT={exact:function sJ(t,n){return us(t,n)},subset:function aJ(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>RT(t[e],n[e]))},ignored:()=>!0};function HT(t,n,e){return rJ[e.paths](t.root,n.root,e.matrixParams)&&BT[e.queryParams](t.queryParams,n.queryParams)&&!("exact"===e.fragment&&t.fragment!==n.fragment)}function YT(t,n,e){return UT(t,n,n.segments,e)}function UT(t,n,e,i){if(t.segments.length>e.length){const o=t.segments.slice(0,e.length);return!(!pl(o,e)||n.hasChildren()||!C4(o,e,i))}if(t.segments.length===e.length){if(!pl(t.segments,e)||!C4(t.segments,e,i))return!1;for(const o in n.children)if(!t.children[o]||!YT(t.children[o],n.children[o],i))return!1;return!0}{const o=e.slice(0,t.segments.length),r=e.slice(t.segments.length);return!!(pl(t.segments,o)&&C4(t.segments,o,i)&&t.children[Tt])&&UT(t.children[Tt],n,r,i)}}function C4(t,n,e){return n.every((i,o)=>BT[e](t[o].parameters,i.parameters))}class d1{constructor(n=new _n([],{}),e={},i=null){this.root=n,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap??=c1(this.queryParams),this._queryParamMap}toString(){return dJ.serialize(this)}}class _n{constructor(n,e){this.segments=n,this.children=e,this.parent=null,Object.values(e).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return A4(this)}}class Cu{constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=c1(this.parameters),this._parameterMap}toString(){return qT(this)}}function pl(t,n){return t.length===n.length&&t.every((e,i)=>e.path===n[i].path)}let u1=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>new z4,providedIn:"root"})}return t})();class z4{parse(n){const e=new wJ(n);return new d1(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){const e=`/${zu(n.root,!0)}`,i=function pJ(t){const n=Object.entries(t).map(([e,i])=>Array.isArray(i)?i.map(o=>`${S4(e)}=${S4(o)}`).join("&"):`${S4(e)}=${S4(i)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${e}${i}${"string"==typeof n.fragment?`#${function uJ(t){return encodeURI(t)}(n.fragment)}`:""}`}}const dJ=new z4;function A4(t){return t.segments.map(n=>qT(n)).join("/")}function zu(t,n){if(!t.hasChildren())return A4(t);if(n){const e=t.children[Tt]?zu(t.children[Tt],!1):"",i=[];return Object.entries(t.children).forEach(([o,r])=>{o!==Tt&&i.push(`${o}:${zu(r,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}{const e=function cJ(t,n){let e=[];return Object.entries(t.children).forEach(([i,o])=>{i===Tt&&(e=e.concat(n(o,i)))}),Object.entries(t.children).forEach(([i,o])=>{i!==Tt&&(e=e.concat(n(o,i)))}),e}(t,(i,o)=>o===Tt?[zu(t.children[Tt],!1)]:[`${o}:${zu(i,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children[Tt]?`${A4(t)}/${e[0]}`:`${A4(t)}/(${e.join("//")})`}}function WT(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function S4(t){return WT(t).replace(/%3B/gi,";")}function yg(t){return WT(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function T4(t){return decodeURIComponent(t)}function GT(t){return T4(t.replace(/\+/g,"%20"))}function qT(t){return`${yg(t.path)}${function hJ(t){return Object.entries(t).map(([n,e])=>`;${yg(n)}=${yg(e)}`).join("")}(t.parameters)}`}const fJ=/^[^\/()?;#]+/;function wg(t){const n=t.match(fJ);return n?n[0]:""}const mJ=/^[^\/()?;=#]+/,vJ=/^[^=?&#]+/,_J=/^[^&#]+/;class wJ{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new _n([],{}):new _n([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(e).length>0)&&(i[Tt]=new _n(n,e)),i}parseSegment(){const n=wg(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new j(4009,!1);return this.capture(n),new Cu(T4(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const e=function gJ(t){const n=t.match(mJ);return n?n[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const o=wg(this.remaining);o&&(i=o,this.capture(i))}n[T4(e)]=T4(i)}parseQueryParam(n){const e=function bJ(t){const n=t.match(vJ);return n?n[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const s=function yJ(t){const n=t.match(_J);return n?n[0]:""}(this.remaining);s&&(i=s,this.capture(i))}const o=GT(e),r=GT(i);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(r)}else n[o]=r}parseParens(n){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=wg(this.remaining),o=this.remaining[i.length];if("/"!==o&&")"!==o&&";"!==o)throw new j(4010,!1);let r;i.indexOf(":")>-1?(r=i.slice(0,i.indexOf(":")),this.capture(r),this.capture(":")):n&&(r=Tt);const s=this.parseChildren();e[r]=1===Object.keys(s).length?s[Tt]:new _n([],s),this.consumeOptional("//")}return e}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new j(4011,!1)}}function QT(t){return t.segments.length>0?new _n([],{[Tt]:t}):t}function KT(t){const n={};for(const[i,o]of Object.entries(t.children)){const r=KT(o);if(i===Tt&&0===r.segments.length&&r.hasChildren())for(const[s,a]of Object.entries(r.children))n[s]=a;else(r.segments.length>0||r.hasChildren())&&(n[i]=r)}return function CJ(t){if(1===t.numberOfChildren&&t.children[Tt]){const n=t.children[Tt];return new _n(t.segments.concat(n.segments),n.children)}return t}(new _n(t.segments,n))}function Au(t){return t instanceof d1}function $T(t){let n;const o=QT(function e(r){const s={};for(const l of r.children){const c=e(l);s[l.outlet]=c}const a=new _n(r.url,s);return r===t&&(n=a),a}(t.root));return n??o}function JT(t,n,e,i){let o=t;for(;o.parent;)o=o.parent;if(0===n.length)return Cg(o,o,o,e,i);const r=function AJ(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new XT(!0,0,t);let n=0,e=!1;const i=t.reduce((o,r,s)=>{if("object"==typeof r&&null!=r){if(r.outlets){const a={};return Object.entries(r.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(r.segmentPath)return[...o,r.segmentPath]}return"string"!=typeof r?[...o,r]:0===s?(r.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?e=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,r]},[]);return new XT(e,n,i)}(n);if(r.toRoot())return Cg(o,o,new _n([],{}),e,i);const s=function SJ(t,n,e){if(t.isAbsolute)return new D4(n,!0,0);if(!e)return new D4(n,!1,NaN);if(null===e.parent)return new D4(e,!0,0);const i=M4(t.commands[0])?0:1;return function TJ(t,n,e){let i=t,o=n,r=e;for(;r>o;){if(r-=o,i=i.parent,!i)throw new j(4005,!1);o=i.segments.length}return new D4(i,!1,o-r)}(e,e.segments.length-1+i,t.numberOfDoubleDots)}(r,o,t),a=s.processChildren?Tu(s.segmentGroup,s.index,r.commands):eM(s.segmentGroup,s.index,r.commands);return Cg(o,s.segmentGroup,a,e,i)}function M4(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function Su(t){return"object"==typeof t&&null!=t&&t.outlets}function Cg(t,n,e,i,o){let s,r={};i&&Object.entries(i).forEach(([l,c])=>{r[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=t===n?e:ZT(t,n,e);const a=QT(KT(s));return new d1(a,r,o)}function ZT(t,n,e){const i={};return Object.entries(t.children).forEach(([o,r])=>{i[o]=r===n?e:ZT(r,n,e)}),new _n(t.segments,i)}class XT{constructor(n,e,i){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=i,n&&i.length>0&&M4(i[0]))throw new j(4003,!1);const o=i.find(Su);if(o&&o!==LT(i))throw new j(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class D4{constructor(n,e,i){this.segmentGroup=n,this.processChildren=e,this.index=i}}function eM(t,n,e){if(t??=new _n([],{}),0===t.segments.length&&t.hasChildren())return Tu(t,n,e);const i=function DJ(t,n,e){let i=0,o=n;const r={match:!1,pathIndex:0,commandIndex:0};for(;o=e.length)return r;const s=t.segments[o],a=e[i];if(Su(a))break;const l=`${a}`,c=i0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!nM(l,c,s))return r;i+=2}else{if(!nM(l,{},s))return r;i++}o++}return{match:!0,pathIndex:o,commandIndex:i}}(t,n,e),o=e.slice(i.commandIndex);if(i.match&&i.pathIndexr!==Tt)&&t.children[Tt]&&1===t.numberOfChildren&&0===t.children[Tt].segments.length){const r=Tu(t.children[Tt],n,e);return new _n(t.segments,r.children)}return Object.entries(i).forEach(([r,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[r]=eM(t.children[r],n,s))}),Object.entries(t.children).forEach(([r,s])=>{void 0===i[r]&&(o[r]=s)}),new _n(t.segments,o)}}function zg(t,n,e){const i=t.segments.slice(0,n);let o=0;for(;o{"string"==typeof i&&(i=[i]),null!==i&&(n[e]=zg(new _n([],{}),0,i))}),n}function tM(t){const n={};return Object.entries(t).forEach(([e,i])=>n[e]=`${i}`),n}function nM(t,n,e){return t==e.path&&us(n,e.parameters)}const Mu="imperative";var Qt=function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t}(Qt||{});class hs{constructor(n,e){this.id=n,this.url=e}}class E4 extends hs{constructor(n,e,i="imperative",o=null){super(n,e),this.type=Qt.NavigationStart,this.navigationTrigger=i,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Hr extends hs{constructor(n,e,i){super(n,e),this.urlAfterRedirects=i,this.type=Qt.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}var Zo=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t}(Zo||{}),x4=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(x4||{});class fl extends hs{constructor(n,e,i,o){super(n,e),this.reason=i,this.code=o,this.type=Qt.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class h1 extends hs{constructor(n,e,i,o){super(n,e),this.reason=i,this.code=o,this.type=Qt.NavigationSkipped}}class Ag extends hs{constructor(n,e,i,o){super(n,e),this.error=i,this.target=o,this.type=Qt.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class iM extends hs{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=Qt.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class xJ extends hs{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=Qt.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class kJ extends hs{constructor(n,e,i,o,r){super(n,e),this.urlAfterRedirects=i,this.state=o,this.shouldActivate=r,this.type=Qt.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class IJ extends hs{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=Qt.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class OJ extends hs{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=Qt.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class PJ{constructor(n){this.route=n,this.type=Qt.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class VJ{constructor(n){this.route=n,this.type=Qt.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class NJ{constructor(n){this.snapshot=n,this.type=Qt.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class FJ{constructor(n){this.snapshot=n,this.type=Qt.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class RJ{constructor(n){this.snapshot=n,this.type=Qt.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class LJ{constructor(n){this.snapshot=n,this.type=Qt.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class oM{constructor(n,e,i){this.routerEvent=n,this.position=e,this.anchor=i,this.type=Qt.Scroll}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class Sg{}class k4{constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}}class BJ{constructor(n){this.injector=n,this.outlet=null,this.route=null,this.children=new Du(this.injector),this.attachRef=null}}let Du=(()=>{class t{constructor(e){this.parentInjector=e,this.contexts=new Map}onChildOutletCreated(e,i){const o=this.getOrCreateContext(e);o.outlet=i,this.contexts.set(e,o)}onChildOutletDestroyed(e){const i=this.getContext(e);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let i=this.getContext(e);return i||(i=new BJ(this.parentInjector),this.contexts.set(e,i)),i}getContext(e){return this.contexts.get(e)||null}static#e=this.\u0275fac=function(i){return new(i||t)(R(Li))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();class rM{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){const e=Tg(n,this._root);return e?e.children.map(i=>i.value):[]}firstChild(n){const e=Tg(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){const e=Mg(n,this._root);return e.length<2?[]:e[e.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return Mg(n,this._root).map(e=>e.value)}}function Tg(t,n){if(t===n.value)return n;for(const e of n.children){const i=Tg(t,e);if(i)return i}return null}function Mg(t,n){if(t===n.value)return[n];for(const e of n.children){const i=Mg(t,e);if(i.length)return i.unshift(n),i}return[]}class jr{constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}}function p1(t){const n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}class sM extends rM{constructor(n,e){super(n),this.snapshot=e,Dg(this,n)}toString(){return this.snapshot.toString()}}function aM(t){const n=function HJ(t){const r=new O4([],{},{},"",{},Tt,t,null,{});return new lM("",new jr(r,[]))}(t),e=new rt([new Cu("",{})]),i=new rt({}),o=new rt({}),r=new rt({}),s=new rt(""),a=new Oo(e,i,r,s,o,Tt,t,n.root);return a.snapshot=n.root,new sM(new jr(a,[]),n)}class Oo{constructor(n,e,i,o,r,s,a,l){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=i,this.fragmentSubject=o,this.dataSubject=r,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(Pe(c=>c[wu]))??Ge(void 0),this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=r}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(Pe(n=>c1(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(Pe(n=>c1(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function I4(t,n,e="emptyOnly"){let i;const{routeConfig:o}=t;return i=null===n||"always"!==e&&""!==o?.path&&(n.component||n.routeConfig?.loadComponent)?{params:{...t.params},data:{...t.data},resolve:{...t.data,...t._resolvedData??{}}}:{params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.data,...o?.data,...t._resolvedData}},o&&dM(o)&&(i.resolve[wu]=o.title),i}class O4{get title(){return this.data?.[wu]}constructor(n,e,i,o,r,s,a,l,c){this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=r,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=c1(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=c1(this.queryParams),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class lM extends rM{constructor(n,e){super(e),this.url=n,Dg(this,e)}toString(){return cM(this._root)}}function Dg(t,n){n.value._routerState=t,n.children.forEach(e=>Dg(t,e))}function cM(t){const n=t.children.length>0?` { ${t.children.map(cM).join(", ")} } `:"";return`${t.value}${n}`}function Eg(t){if(t.snapshot){const n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,us(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),us(n.params,e.params)||t.paramsSubject.next(e.params),function oJ(t,n){if(t.length!==n.length)return!1;for(let e=0;eus(e.parameters,n[i].parameters))}(t.url,n.url);return e&&!(!t.parent!=!n.parent)&&(!t.parent||xg(t.parent,n.parent))}function dM(t){return"string"==typeof t.title||null===t.title}let P4=(()=>{class t{constructor(){this.activated=null,this._activatedRoute=null,this.name=Tt,this.activateEvents=new B,this.deactivateEvents=new B,this.attachEvents=new B,this.detachEvents=new B,this.parentContexts=G(Du),this.location=G(qn),this.changeDetector=G(We),this.inputBinder=G(V4,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(e){if(e.name){const{firstChange:i,previousValue:o}=e.name;if(i)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new j(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new j(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new j(4012,!1);this.location.detach();const e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,i){this.activated=e,this._activatedRoute=i,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){const e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,i){if(this.isActivated)throw new j(4013,!1);this._activatedRoute=e;const o=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new kg(e,a,o.injector);this.activated=o.createComponent(s,{index:o.length,injector:l,environmentInjector:i}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[xe]})}return t})();class kg{__ngOutletInjector(n){return new kg(this.route,this.childContexts,n)}constructor(n,e,i){this.route=n,this.childContexts=e,this.parent=i}get(n,e){return n===Oo?this.route:n===Du?this.childContexts:this.parent.get(n,e)}}const V4=new oe("");let uM=(()=>{class t{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){const{activatedRoute:i}=e,o=Di([i.queryParams,i.params,i.data]).pipe(mn(([r,s,a],l)=>(a={...r,...s,...a},0===l?Ge(a):Promise.resolve(a)))).subscribe(r=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==i||null===i.component)return void this.unsubscribeFromRouteData(e);const s=function Nq(t){const n=Dt(t);if(!n)return null;const e=new Yd(n);return{get selector(){return e.selector},get type(){return e.componentType},get inputs(){return e.inputs},get outputs(){return e.outputs},get ngContentSelectors(){return e.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(i.component);if(s)for(const{templateName:a}of s.inputs)e.activatedComponentRef.setInput(a,r[a]);else this.unsubscribeFromRouteData(e)});this.outletDataSubscriptions.set(e,o)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();function Eu(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){const i=e.value;i._futureSnapshot=n.value;const o=function YJ(t,n,e){return n.children.map(i=>{for(const o of e.children)if(t.shouldReuseRoute(i.value,o.value.snapshot))return Eu(t,i,o);return Eu(t,i)})}(t,n,e);return new jr(i,o)}{if(t.shouldAttach(n.value)){const r=t.retrieve(n.value);if(null!==r){const s=r.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Eu(t,a)),s}}const i=function UJ(t){return new Oo(new rt(t.url),new rt(t.params),new rt(t.queryParams),new rt(t.fragment),new rt(t.data),t.outlet,t.component,t)}(n.value),o=n.children.map(r=>Eu(t,r));return new jr(i,o)}}class Ig{constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}}const hM="ngNavigationCancelingError";function N4(t,n){const{redirectTo:e,navigationBehaviorOptions:i}=Au(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=pM(!1,Zo.Redirect);return o.url=e,o.navigationBehaviorOptions=i,o}function pM(t,n){const e=new Error(`NavigationCancelingError: ${t||""}`);return e[hM]=!0,e.cancellationCode=n,e}function fM(t){return!!t&&t[hM]}let mM=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["ng-component"]],standalone:!0,features:[me],decls:1,vars:0,template:function(i,o){1&i&&A(0,"router-outlet")},dependencies:[P4],encapsulation:2})}return t})();function Og(t){const n=t.children&&t.children.map(Og),e=n?{...t,children:n}:{...t};return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==Tt&&(e.component=mM),e}function Yr(t){return t.outlet||Tt}function xu(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let n=t.parent;n;n=n.parent){const e=n.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}class ZJ{constructor(n,e,i,o,r){this.routeReuseStrategy=n,this.futureState=e,this.currState=i,this.forwardEvent=o,this.inputBindingEnabled=r}activate(n){const e=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,i,n),Eg(this.futureState.root),this.activateChildRoutes(e,i,n)}deactivateChildRoutes(n,e,i){const o=p1(e);n.children.forEach(r=>{const s=r.value.outlet;this.deactivateRoutes(r,o[s],i),delete o[s]}),Object.values(o).forEach(r=>{this.deactivateRouteAndItsChildren(r,i)})}deactivateRoutes(n,e,i){const o=n.value,r=e?e.value:null;if(o===r)if(o.component){const s=i.getContext(o.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,i);else r&&this.deactivateRouteAndItsChildren(e,i)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,r=p1(n);for(const s of Object.values(r))this.deactivateRouteAndItsChildren(s,o);if(i&&i.outlet){const s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,r=p1(n);for(const s of Object.values(r))this.deactivateRouteAndItsChildren(s,o);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,e,i){const o=p1(e);n.children.forEach(r=>{this.activateRoutes(r,o[r.value.outlet],i),this.forwardEvent(new LJ(r.value.snapshot))}),n.children.length&&this.forwardEvent(new FJ(n.value.snapshot))}activateRoutes(n,e,i){const o=n.value,r=e?e.value:null;if(Eg(o),o===r)if(o.component){const s=i.getOrCreateContext(o.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,i);else if(o.component){const s=i.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Eg(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=xu(o.snapshot);s.attachRef=null,s.route=o,s.injector=a??s.injector,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,i)}}class gM{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class F4{constructor(n,e){this.component=n,this.route=e}}function XJ(t,n,e){const i=t._root;return ku(i,n?n._root:null,e,[i.value])}function f1(t,n){const e=Symbol(),i=n.get(t,e);return i===e?"function"!=typeof t||function gN(t){return null!==oh(t)}(t)?n.get(t):t:i}function ku(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const r=p1(n);return t.children.forEach(s=>{(function tZ(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const r=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&r.routeConfig===s.routeConfig){const l=function nZ(t,n,e){if("function"==typeof e)return e(t,n);switch(e){case"pathParamsChange":return!pl(t.url,n.url);case"pathParamsOrQueryParamsChange":return!pl(t.url,n.url)||!us(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!xg(t,n)||!us(t.queryParams,n.queryParams);default:return!xg(t,n)}}(s,r,r.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new gM(i)):(r.data=s.data,r._resolvedData=s._resolvedData),ku(t,n,r.component?a?a.children:null:e,i,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new F4(a.outlet.component,s))}else s&&Iu(n,a,o),o.canActivateChecks.push(new gM(i)),ku(t,null,r.component?a?a.children:null:e,i,o)})(s,r[s.value.outlet],e,i.concat([s.value]),o),delete r[s.value.outlet]}),Object.entries(r).forEach(([s,a])=>Iu(a,e.getContext(s),o)),o}function Iu(t,n,e){const i=p1(t),o=t.value;Object.entries(i).forEach(([r,s])=>{Iu(s,o.component?n?n.children.getContext(r):null:n,e)}),e.canDeactivateChecks.push(new F4(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function Ou(t){return"function"==typeof t}function vM(t){return t instanceof _4||"EmptyError"===t?.name}const R4=Symbol("INITIAL_VALUE");function m1(){return mn(t=>Di(t.map(n=>n.pipe(io(1),gn(R4)))).pipe(Pe(n=>{for(const e of n)if(!0!==e){if(e===R4)return R4;if(!1===e||cZ(e))return e}return!0}),yt(n=>n!==R4),io(1)))}function cZ(t){return Au(t)||t instanceof Ig}function bM(t){return function Xr(...t){return Kl(t)}(ii(n=>{if("boolean"!=typeof n)throw N4(0,n)}),Pe(n=>!0===n))}class Pg{constructor(n){this.segmentGroup=n||null}}class L4 extends Error{constructor(n){super(),this.urlTree=n}}function g1(t){return y4(new Pg(t))}class CZ{constructor(n,e){this.urlSerializer=n,this.urlTree=e}lineralizeSegments(n,e){let i=[],o=e.root;for(;;){if(i=i.concat(o.segments),0===o.numberOfChildren)return Ge(i);if(o.numberOfChildren>1||!o.children[Tt])return y4(new j(4e3,!1));o=o.children[Tt]}}applyRedirectCommands(n,e,i,o,r){if("string"!=typeof e){const a=e,{queryParams:l,fragment:c,routeConfig:u,url:p,outlet:b,params:_,data:y,title:z}=o,E=Er(r,()=>a({params:_,data:y,queryParams:l,fragment:c,routeConfig:u,url:p,outlet:b,title:z}));if(E instanceof d1)throw new L4(E);e=E}const s=this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),n,i);if("/"===e[0])throw new L4(s);return s}applyRedirectCreateUrlTree(n,e,i,o){const r=this.createSegmentGroup(n,e.root,i,o);return new d1(r,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){const i={};return Object.entries(n).forEach(([o,r])=>{if("string"==typeof r&&":"===r[0]){const a=r.substring(1);i[o]=e[a]}else i[o]=r}),i}createSegmentGroup(n,e,i,o){const r=this.createSegments(n,e.segments,i,o);let s={};return Object.entries(e.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,i,o)}),new _n(r,s)}createSegments(n,e,i,o){return e.map(r=>":"===r.path[0]?this.findPosParam(n,r,o):this.findOrReturn(r,i))}findPosParam(n,e,i){const o=i[e.path.substring(1)];if(!o)throw new j(4001,!1);return o}findOrReturn(n,e){let i=0;for(const o of e){if(o.path===n.path)return e.splice(i),o;i++}return n}}const Vg={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function zZ(t,n,e,i,o){const r=Ng(t,n,e);return r.matched?(i=function GJ(t,n){return t.providers&&!t._injector&&(t._injector=C0(t.providers,n,`Route: ${t.path}`)),t._injector??n}(n,i),function _Z(t,n,e,i){const o=n.canMatch;return o&&0!==o.length?Ge(o.map(s=>{const a=f1(s,t);return ha(function lZ(t){return t&&Ou(t.canMatch)}(a)?a.canMatch(n,e):Er(t,()=>a(n,e)))})).pipe(m1(),bM()):Ge(!0)}(i,n,e).pipe(Pe(s=>!0===s?r:{...Vg}))):Ge(r)}function Ng(t,n,e){if("**"===n.path)return function AZ(t){return{matched:!0,parameters:t.length>0?LT(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}(e);if(""===n.path)return"full"===n.pathMatch&&(t.hasChildren()||e.length>0)?{...Vg}:{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};const o=(n.matcher||iJ)(e,t,n);if(!o)return{...Vg};const r={};Object.entries(o.posParams??{}).forEach(([a,l])=>{r[a]=l.path});const s=o.consumed.length>0?{...r,...o.consumed[o.consumed.length-1].parameters}:r;return{matched:!0,consumedSegments:o.consumed,remainingSegments:e.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function _M(t,n,e,i){return e.length>0&&function MZ(t,n,e){return e.some(i=>B4(t,n,i)&&Yr(i)!==Tt)}(t,e,i)?{segmentGroup:new _n(n,TZ(i,new _n(e,t.children))),slicedSegments:[]}:0===e.length&&function DZ(t,n,e){return e.some(i=>B4(t,n,i))}(t,e,i)?{segmentGroup:new _n(t.segments,SZ(t,e,i,t.children)),slicedSegments:e}:{segmentGroup:new _n(t.segments,t.children),slicedSegments:e}}function SZ(t,n,e,i){const o={};for(const r of e)if(B4(t,n,r)&&!i[Yr(r)]){const s=new _n([],{});o[Yr(r)]=s}return{...i,...o}}function TZ(t,n){const e={};e[Tt]=n;for(const i of t)if(""===i.path&&Yr(i)!==Tt){const o=new _n([],{});e[Yr(i)]=o}return e}function B4(t,n,e){return(!(t.hasChildren()||n.length>0)||"full"!==e.pathMatch)&&""===e.path}class kZ{}class PZ{constructor(n,e,i,o,r,s,a){this.injector=n,this.configLoader=e,this.rootComponentType=i,this.config=o,this.urlTree=r,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new CZ(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(n){return new j(4002,`'${n.segmentGroup}'`)}recognize(){const n=_M(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(Pe(({children:e,rootSnapshot:i})=>{const o=new jr(i,e),r=new lM("",o),s=function zJ(t,n,e=null,i=null){return JT($T(t),n,e,i)}(i,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,r.url=this.urlSerializer.serialize(s),{state:r,tree:s}}))}match(n){const e=new O4([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,Object.freeze({}),Tt,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,n,Tt,e).pipe(Pe(i=>({children:i,rootSnapshot:e})),ul(i=>{if(i instanceof L4)return this.urlTree=i.urlTree,this.match(i.urlTree.root);throw i instanceof Pg?this.noMatchError(i):i}))}processSegmentGroup(n,e,i,o,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(n,e,i,r):this.processSegment(n,e,i,i.segments,o,!0,r).pipe(Pe(s=>s instanceof jr?[s]:[]))}processChildren(n,e,i,o){const r=[];for(const s of Object.keys(i.children))"primary"===s?r.unshift(s):r.push(s);return ni(r).pipe(a1(s=>{const a=i.children[s],l=function $J(t,n){const e=t.filter(i=>Yr(i)===n);return e.push(...t.filter(i=>Yr(i)!==n)),e}(e,s);return this.processSegmentGroup(n,l,a,s,o)}),function eJ(t,n){return dn(function X$(t,n,e,i,o){return(r,s)=>{let a=e,l=n,c=0;r.subscribe(Jt(s,u=>{const p=c++;l=a?t(l,u,p):(a=!0,u),i&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(t,n,arguments.length>=2,!0))}((s,a)=>(s.push(...a),s)),w4(null),function tJ(t,n){const e=arguments.length>=2;return i=>i.pipe(t?yt((o,r)=>t(o,r,i)):Hn,bg(1),e?w4(n):FT(()=>new _4))}(),Yn(s=>{if(null===s)return g1(i);const a=yM(s);return function VZ(t){t.sort((n,e)=>n.value.outlet===Tt?-1:e.value.outlet===Tt?1:n.value.outlet.localeCompare(e.value.outlet))}(a),Ge(a)}))}processSegment(n,e,i,o,r,s,a){return ni(e).pipe(a1(l=>this.processSegmentAgainstRoute(l._injector??n,e,l,i,o,r,s,a).pipe(ul(c=>{if(c instanceof Pg)return Ge(null);throw c}))),Vs(l=>!!l),ul(l=>{if(vM(l))return function xZ(t,n,e){return 0===n.length&&!t.children[e]}(i,o,r)?Ge(new kZ):g1(i);throw l}))}processSegmentAgainstRoute(n,e,i,o,r,s,a,l){return function EZ(t,n,e,i){return!!(Yr(t)===i||i!==Tt&&B4(n,e,t))&&Ng(n,t,e).matched}(i,o,r,s)?void 0===i.redirectTo?this.matchSegmentAgainstRoute(n,o,i,r,s,l):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,o,e,i,r,s,l):g1(o):g1(o)}expandSegmentAgainstRouteUsingRedirect(n,e,i,o,r,s,a){const{matched:l,parameters:c,consumedSegments:u,positionalParamSegments:p,remainingSegments:b}=Ng(e,o,r);if(!l)return g1(e);"string"==typeof o.redirectTo&&"/"===o.redirectTo[0]&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>31&&(this.allowRedirects=!1));const _=new O4(r,c,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,wM(o),Yr(o),o.component??o._loadedComponent??null,o,CM(o)),y=I4(_,a,this.paramsInheritanceStrategy);_.params=Object.freeze(y.params),_.data=Object.freeze(y.data);const z=this.applyRedirects.applyRedirectCommands(u,o.redirectTo,p,_,n);return this.applyRedirects.lineralizeSegments(o,z).pipe(Yn(E=>this.processSegment(n,i,e,E.concat(b),s,!1,a)))}matchSegmentAgainstRoute(n,e,i,o,r,s){const a=zZ(e,i,o,n);return"**"===i.path&&(e.children={}),a.pipe(mn(l=>l.matched?this.getChildConfig(n=i._injector??n,i,o).pipe(mn(({routes:c})=>{const u=i._loadedInjector??n,{parameters:p,consumedSegments:b,remainingSegments:_}=l,y=new O4(b,p,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,wM(i),Yr(i),i.component??i._loadedComponent??null,i,CM(i)),z=I4(y,s,this.paramsInheritanceStrategy);y.params=Object.freeze(z.params),y.data=Object.freeze(z.data);const{segmentGroup:E,slicedSegments:x}=_M(e,b,_,c);if(0===x.length&&E.hasChildren())return this.processChildren(u,c,E,y).pipe(Pe(ie=>new jr(y,ie)));if(0===c.length&&0===x.length)return Ge(new jr(y,[]));const k=Yr(i)===r;return this.processSegment(u,c,E,x,k?Tt:r,!0,y).pipe(Pe(ie=>new jr(y,ie instanceof jr?[ie]:[])))})):g1(e)))}getChildConfig(n,e,i){return e.children?Ge({routes:e.children,injector:n}):e.loadChildren?void 0!==e._loadedRoutes?Ge({routes:e._loadedRoutes,injector:e._loadedInjector}):function bZ(t,n,e,i){const o=n.canLoad;return void 0===o||0===o.length?Ge(!0):Ge(o.map(s=>{const a=f1(s,t);return ha(function oZ(t){return t&&Ou(t.canLoad)}(a)?a.canLoad(n,e):Er(t,()=>a(n,e)))})).pipe(m1(),bM())}(n,e,i).pipe(Yn(o=>o?this.configLoader.loadChildren(n,e).pipe(ii(r=>{e._loadedRoutes=r.routes,e._loadedInjector=r.injector})):function wZ(t){return y4(pM(!1,Zo.GuardRejected))}())):Ge({routes:[],injector:n})}}function NZ(t){const n=t.value.routeConfig;return n&&""===n.path}function yM(t){const n=[],e=new Set;for(const i of t){if(!NZ(i)){n.push(i);continue}const o=n.find(r=>i.value.routeConfig===r.value.routeConfig);void 0!==o?(o.children.push(...i.children),e.add(o)):n.push(i)}for(const i of e){const o=yM(i.children);n.push(new jr(i.value,o))}return n.filter(i=>!e.has(i))}function wM(t){return t.data||{}}function CM(t){return t.resolve||{}}function zM(t){const n=t.children.map(e=>zM(e)).flat();return[t,...n]}function Fg(t){return mn(n=>{const e=t(n);return e?ni(e).pipe(Pe(()=>n)):Ge(n)})}let AM=(()=>{class t{buildTitle(e){let i,o=e.root;for(;void 0!==o;)i=this.getResolvedTitleForRoute(o)??i,o=o.children.find(r=>r.outlet===Tt);return i}getResolvedTitleForRoute(e){return e.data[wu]}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(jZ),providedIn:"root"})}return t})(),jZ=(()=>{class t extends AM{constructor(e){super(),this.title=e}updateTitle(e){const i=this.buildTitle(e);void 0!==i&&this.title.setTitle(i)}static#e=this.\u0275fac=function(i){return new(i||t)(R(n$))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const v1=new oe("",{providedIn:"root",factory:()=>({})}),b1=new oe("");let Rg=(()=>{class t{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=G(OA)}loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return Ge(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);const i=ha(e.loadComponent()).pipe(Pe(SM),ii(r=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=r}),l1(()=>{this.componentLoaders.delete(e)})),o=new vg(i,()=>new V).pipe(gg());return this.componentLoaders.set(e,o),o}loadChildren(e,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return Ge({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const r=function YZ(t,n,e,i){return ha(t.loadChildren()).pipe(Pe(SM),Yn(o=>o instanceof tC||Array.isArray(o)?Ge(o):ni(n.compileModuleAsync(o))),Pe(o=>{i&&i(t);let r,s,a=!1;return Array.isArray(o)?(s=o,!0):(r=o.create(e).injector,s=r.get(b1,[],{optional:!0,self:!0}).flat()),{routes:s.map(Og),injector:r}}))}(i,this.compiler,e,this.onLoadEndListener).pipe(l1(()=>{this.childrenLoaders.delete(i)})),s=new vg(r,()=>new V).pipe(gg());return this.childrenLoaders.set(i,s),s}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function SM(t){return function UZ(t){return t&&"object"==typeof t&&"default"in t}(t)?t.default:t}let Lg=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(WZ),providedIn:"root"})}return t})(),WZ=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,i){return e}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const TM=new oe(""),MM=new oe("");function GZ(t,n,e){const i=t.get(MM),o=t.get(Pt);return t.get(Me).runOutsideAngular(()=>{if(!o.startViewTransition||i.skipNextTransition)return i.skipNextTransition=!1,new Promise(c=>setTimeout(c));let r;const s=new Promise(c=>{r=c}),a=o.startViewTransition(()=>(r(),function qZ(t){return new Promise(n=>{Xa(()=>setTimeout(n),{injector:t,phase:ia.Read})})}(t))),{onViewTransitionCreated:l}=i;return l&&Er(t,()=>l({transition:a,from:n,to:e})),s})}const DM=new oe("");let H4=(()=>{class t{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new V,this.transitionAbortSubject=new V,this.configLoader=G(Rg),this.environmentInjector=G(Li),this.urlSerializer=G(u1),this.rootContexts=G(Du),this.location=G(o1),this.inputBindingEnabled=null!==G(V4,{optional:!0}),this.titleStrategy=G(AM),this.options=G(v1,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=G(Lg),this.createViewTransition=G(TM,{optional:!0}),this.navigationErrorHandler=G(DM,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>Ge(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new VJ(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new PJ(o))}complete(){this.transitions?.complete()}handleNavigationRequest(e){const i=++this.navigationId;this.transitions?.next({...this.transitions.value,...e,id:i})}setupNavigations(e,i,o){return this.transitions=new rt({id:0,currentUrlTree:i,currentRawUrl:i,extractedUrl:this.urlHandlingStrategy.extract(i),urlAfterRedirects:this.urlHandlingStrategy.extract(i),rawUrl:i,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:Mu,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(yt(r=>0!==r.id),Pe(r=>({...r,extractedUrl:this.urlHandlingStrategy.extract(r.rawUrl)})),mn(r=>{let s=!1,a=!1;return Ge(r).pipe(mn(l=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",Zo.SupersededByNewNavigation),_o;this.currentTransition=r,this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null};const c=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl();if(!c&&"reload"!==(l.extras.onSameUrlNavigation??e.onSameUrlNavigation)){const p="";return this.events.next(new h1(l.id,this.urlSerializer.serialize(l.rawUrl),p,x4.IgnoredSameUrlNavigation)),l.resolve(!1),_o}if(this.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return Ge(l).pipe(mn(p=>{const b=this.transitions?.getValue();return this.events.next(new E4(p.id,this.urlSerializer.serialize(p.extractedUrl),p.source,p.restoredState)),b!==this.transitions?.getValue()?_o:Promise.resolve(p)}),function FZ(t,n,e,i,o,r){return Yn(s=>function IZ(t,n,e,i,o,r,s="emptyOnly"){return new PZ(t,n,e,i,o,s,r).recognize()}(t,n,e,i,s.extractedUrl,o,r).pipe(Pe(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),ii(p=>{r.targetSnapshot=p.targetSnapshot,r.urlAfterRedirects=p.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:p.urlAfterRedirects};const b=new iM(p.id,this.urlSerializer.serialize(p.extractedUrl),this.urlSerializer.serialize(p.urlAfterRedirects),p.targetSnapshot);this.events.next(b)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){const{id:p,extractedUrl:b,source:_,restoredState:y,extras:z}=l,E=new E4(p,this.urlSerializer.serialize(b),_,y);this.events.next(E);const x=aM(this.rootComponentType).snapshot;return this.currentTransition=r={...l,targetSnapshot:x,urlAfterRedirects:b,extras:{...z,skipLocationChange:!1,replaceUrl:!1}},this.currentNavigation.finalUrl=b,Ge(r)}{const p="";return this.events.next(new h1(l.id,this.urlSerializer.serialize(l.extractedUrl),p,x4.IgnoredByUrlHandlingStrategy)),l.resolve(!1),_o}}),ii(l=>{const c=new xJ(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),Pe(l=>(this.currentTransition=r={...l,guards:XJ(l.targetSnapshot,l.currentSnapshot,this.rootContexts)},r)),function dZ(t,n){return Yn(e=>{const{targetSnapshot:i,currentSnapshot:o,guards:{canActivateChecks:r,canDeactivateChecks:s}}=e;return 0===s.length&&0===r.length?Ge({...e,guardsResult:!0}):function uZ(t,n,e,i){return ni(t).pipe(Yn(o=>function vZ(t,n,e,i,o){const r=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return r&&0!==r.length?Ge(r.map(a=>{const l=xu(n)??o,c=f1(a,l);return ha(function aZ(t){return t&&Ou(t.canDeactivate)}(c)?c.canDeactivate(t,n,e,i):Er(l,()=>c(t,n,e,i))).pipe(Vs())})).pipe(m1()):Ge(!0)}(o.component,o.route,e,n,i)),Vs(o=>!0!==o,!0))}(s,i,o,t).pipe(Yn(a=>a&&function iZ(t){return"boolean"==typeof t}(a)?function hZ(t,n,e,i){return ni(n).pipe(a1(o=>yu(function fZ(t,n){return null!==t&&n&&n(new NJ(t)),Ge(!0)}(o.route.parent,i),function pZ(t,n){return null!==t&&n&&n(new RJ(t)),Ge(!0)}(o.route,i),function gZ(t,n,e){const i=n[n.length-1],r=n.slice(0,n.length-1).reverse().map(s=>function eZ(t){const n=t.routeConfig?t.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:t,guards:n}:null}(s)).filter(s=>null!==s).map(s=>mg(()=>Ge(s.guards.map(l=>{const c=xu(s.node)??e,u=f1(l,c);return ha(function sZ(t){return t&&Ou(t.canActivateChild)}(u)?u.canActivateChild(i,t):Er(c,()=>u(i,t))).pipe(Vs())})).pipe(m1())));return Ge(r).pipe(m1())}(t,o.path,e),function mZ(t,n,e){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return Ge(!0);const o=i.map(r=>mg(()=>{const s=xu(n)??e,a=f1(r,s);return ha(function rZ(t){return t&&Ou(t.canActivate)}(a)?a.canActivate(n,t):Er(s,()=>a(n,t))).pipe(Vs())}));return Ge(o).pipe(m1())}(t,o.route,e))),Vs(o=>!0!==o,!0))}(i,r,t,n):Ge(a)),Pe(a=>({...e,guardsResult:a})))})}(this.environmentInjector,l=>this.events.next(l)),ii(l=>{if(r.guardsResult=l.guardsResult,l.guardsResult&&"boolean"!=typeof l.guardsResult)throw N4(0,l.guardsResult);const c=new kJ(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(c)}),yt(l=>!!l.guardsResult||(this.cancelNavigationTransition(l,"",Zo.GuardRejected),!1)),Fg(l=>{if(l.guards.canActivateChecks.length)return Ge(l).pipe(ii(c=>{const u=new IJ(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),mn(c=>{let u=!1;return Ge(c).pipe(function RZ(t,n){return Yn(e=>{const{targetSnapshot:i,guards:{canActivateChecks:o}}=e;if(!o.length)return Ge(e);const r=new Set(o.map(l=>l.route)),s=new Set;for(const l of r)if(!s.has(l))for(const c of zM(l))s.add(c);let a=0;return ni(s).pipe(a1(l=>r.has(l)?function LZ(t,n,e,i){const o=t.routeConfig,r=t._resolve;return void 0!==o?.title&&!dM(o)&&(r[wu]=o.title),function BZ(t,n,e,i){const o=_g(t);if(0===o.length)return Ge({});const r={};return ni(o).pipe(Yn(s=>function HZ(t,n,e,i){const o=xu(n)??i,r=f1(t,o);return ha(r.resolve?r.resolve(n,e):Er(o,()=>r(n,e)))}(t[s],n,e,i).pipe(Vs(),ii(a=>{if(a instanceof Ig)throw N4(new z4,a);r[s]=a}))),bg(1),hl(r),ul(s=>vM(s)?_o:y4(s)))}(r,t,n,i).pipe(Pe(s=>(t._resolvedData=s,t.data=I4(t,t.parent,e).resolve,null)))}(l,i,t,n):(l.data=I4(l,l.parent,t).resolve,Ge(void 0))),ii(()=>a++),bg(1),Yn(l=>a===s.size?Ge(e):_o))})}(this.paramsInheritanceStrategy,this.environmentInjector),ii({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(c,"",Zo.NoDataFromResolver)}}))}),ii(c=>{const u=new OJ(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}))}),Fg(l=>{const c=u=>{const p=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&p.push(this.configLoader.loadComponent(u.routeConfig).pipe(ii(b=>{u.component=b}),Pe(()=>{})));for(const b of u.children)p.push(...c(b));return p};return Di(c(l.targetSnapshot.root)).pipe(w4(null),io(1))}),Fg(()=>this.afterPreactivation()),mn(()=>{const{currentSnapshot:l,targetSnapshot:c}=r,u=this.createViewTransition?.(this.environmentInjector,l.root,c.root);return u?ni(u).pipe(Pe(()=>r)):Ge(r)}),Pe(l=>{const c=function jJ(t,n,e){const i=Eu(t,n._root,e?e._root:void 0);return new sM(i,n)}(e.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=r={...l,targetRouterState:c},this.currentNavigation.targetRouterState=c,r}),ii(()=>{this.events.next(new Sg)}),((t,n,e,i)=>Pe(o=>(new ZJ(n,o.targetRouterState,o.currentRouterState,e,i).activate(t),o)))(this.rootContexts,e.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),io(1),ii({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Hr(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),this.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),P(this.transitionAbortSubject.pipe(ii(l=>{throw l}))),l1(()=>{!s&&!a&&this.cancelNavigationTransition(r,"",Zo.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation=null,this.currentTransition=null)}),ul(l=>{if(a=!0,fM(l))this.events.next(new fl(r.id,this.urlSerializer.serialize(r.extractedUrl),l.message,l.cancellationCode)),function WJ(t){return fM(t)&&Au(t.url)}(l)?this.events.next(new k4(l.url,l.navigationBehaviorOptions)):r.resolve(!1);else{const c=new Ag(r.id,this.urlSerializer.serialize(r.extractedUrl),l,r.targetSnapshot??void 0);try{const u=Er(this.environmentInjector,()=>this.navigationErrorHandler?.(c));if(u instanceof Ig){const{message:p,cancellationCode:b}=N4(0,u);this.events.next(new fl(r.id,this.urlSerializer.serialize(r.extractedUrl),p,b)),this.events.next(new k4(u.redirectTo,u.navigationBehaviorOptions))}else{this.events.next(c);const p=e.errorHandler(l);r.resolve(!!p)}}catch(u){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(u)}}return _o}))}))}cancelNavigationTransition(e,i,o){const r=new fl(e.id,this.urlSerializer.serialize(e.extractedUrl),i,o);this.events.next(r),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function QZ(t){return t!==Mu}let KZ=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(JZ),providedIn:"root"})}return t})();class $Z{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}}let JZ=(()=>{class t extends $Z{static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),EM=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:()=>G(ZZ),providedIn:"root"})}return t})(),ZZ=(()=>{class t extends EM{constructor(){super(...arguments),this.location=G(o1),this.urlSerializer=G(u1),this.options=G(v1,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=G(Lg),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new d1,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=aM(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(i=>{"popstate"===i.type&&e(i.url,i.state)})}handleRouterEvent(e,i){if(e instanceof E4)this.stateMemento=this.createStateMemento();else if(e instanceof h1)this.rawUrlTree=i.initialUrl;else if(e instanceof iM){if("eager"===this.urlUpdateStrategy&&!i.extras.skipLocationChange){const o=this.urlHandlingStrategy.merge(i.finalUrl,i.initialUrl);this.setBrowserUrl(o,i)}}else e instanceof Sg?(this.currentUrlTree=i.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(i.finalUrl,i.initialUrl),this.routerState=i.targetRouterState,"deferred"===this.urlUpdateStrategy&&(i.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,i))):e instanceof fl&&(e.code===Zo.GuardRejected||e.code===Zo.NoDataFromResolver)?this.restoreHistory(i):e instanceof Ag?this.restoreHistory(i,!0):e instanceof Hr&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,i){const o=this.urlSerializer.serialize(e);if(this.location.isCurrentPathEqualTo(o)||i.extras.replaceUrl){const s={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId)};this.location.replaceState(o,"",s)}else{const r={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId+1)};this.location.go(o,"",r)}}restoreHistory(e,i=!1){if("computed"===this.canceledNavigationResolution){const r=this.currentPageId-this.browserPageId;0!==r?this.location.historyGo(r):this.currentUrlTree===e.finalUrl&&0===r&&(this.resetState(e),this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,i){return"computed"===this.canceledNavigationResolution?{navigationId:e,\u0275routerPageId:i}:{navigationId:e}}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Pu=function(t){return t[t.COMPLETE=0]="COMPLETE",t[t.FAILED=1]="FAILED",t[t.REDIRECTING=2]="REDIRECTING",t}(Pu||{});function xM(t,n){t.events.pipe(yt(e=>e instanceof Hr||e instanceof fl||e instanceof Ag||e instanceof h1),Pe(e=>e instanceof Hr||e instanceof h1?Pu.COMPLETE:e instanceof fl&&(e.code===Zo.Redirect||e.code===Zo.SupersededByNewNavigation)?Pu.REDIRECTING:Pu.FAILED),yt(e=>e!==Pu.REDIRECTING),io(1)).subscribe(()=>{n()})}function XZ(t){throw t}const eX={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},tX={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let oi=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.console=G(CA),this.stateManager=G(EM),this.options=G(v1,{optional:!0})||{},this.pendingTasks=G(Ua),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=G(H4),this.urlSerializer=G(u1),this.location=G(o1),this.urlHandlingStrategy=G(Lg),this._events=new V,this.errorHandler=this.options.errorHandler||XZ,this.navigated=!1,this.routeReuseStrategy=G(KZ),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=G(b1,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!G(V4,{optional:!0}),this.eventsSubscription=new Ft,this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const e=this.navigationTransitions.events.subscribe(i=>{try{const o=this.navigationTransitions.currentTransition,r=this.navigationTransitions.currentNavigation;if(null!==o&&null!==r)if(this.stateManager.handleRouterEvent(i,r),i instanceof fl&&i.code!==Zo.Redirect&&i.code!==Zo.SupersededByNewNavigation)this.navigated=!0;else if(i instanceof Hr)this.navigated=!0;else if(i instanceof k4){const s=i.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(i.url,o.currentRawUrl),l={info:o.extras.info,skipLocationChange:o.extras.skipLocationChange,replaceUrl:o.extras.replaceUrl||"eager"===this.urlUpdateStrategy||QZ(o.source),...s};this.scheduleNavigation(a,Mu,null,l,{resolve:o.resolve,reject:o.reject,promise:o.promise})}(function iX(t){return!(t instanceof Sg||t instanceof k4)})(i)&&this._events.next(i)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Mu,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,i)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(e,"popstate",i)},0)})}navigateToSyncWithBrowser(e,i,o){const r={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const l={...o};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(r.state=l)}const a=this.parseUrl(e);this.scheduleNavigation(a,i,s,r)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(Og),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,i={}){const{relativeTo:o,queryParams:r,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,c=l?this.currentUrlTree.fragment:s;let p,u=null;switch(a){case"merge":u={...this.currentUrlTree.queryParams,...r};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=r||null}null!==u&&(u=this.removeEmptyProps(u));try{p=$T(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof e[0]||"/"!==e[0][0])&&(e=[]),p=this.currentUrlTree.root}return JT(p,e,u,c??null)}navigateByUrl(e,i={skipLocationChange:!1}){const o=Au(e)?e:this.parseUrl(e),r=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(r,Mu,null,i)}navigate(e,i={skipLocationChange:!1}){return function nX(t){for(let n=0;n(null!=r&&(i[o]=r),i),{})}scheduleNavigation(e,i,o,r,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((p,b)=>{a=p,l=b});const u=this.pendingTasks.add();return xM(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:r,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(p=>Promise.reject(p))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),_1=(()=>{class t{constructor(e,i,o,r,s,a){this.router=e,this.route=i,this.tabIndexAttribute=o,this.renderer=r,this.el=s,this.locationStrategy=a,this.href=null,this.commands=null,this.onChanges=new V,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===l||"area"===l,this.isAnchorElement?this.subscription=e.events.subscribe(c=>{c instanceof Hr&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(e){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(e){null!=e?(this.commands=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(e,i,o,r,s){const a=this.urlTree;return!!(null===a||this.isAnchorElement&&(0!==e||i||o||r||s||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(a,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){const e=this.urlTree;this.href=null!==e&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e)):null;const i=null===this.href?null:function K_(t,n,e){return function yL(t,n){return"src"===n&&("embed"===t||"frame"===t||"iframe"===t||"media"===t||"script"===t)||"href"===n&&("base"===t||"link"===t)?Q_:It}(n,e)(t)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",i)}applyAttributeValue(e,i){const o=this.renderer,r=this.el.nativeElement;null!==i?o.setAttribute(r,e,i):o.removeAttribute(r,e)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo),function md(t){return function QF(t,n){if("class"===n)return t.classes;if("style"===n)return t.styles;const e=t.attrs;if(e){const i=e.length;let o=0;for(;o{class t{constructor(e,i,o,r,s){this.router=e,this.injector=o,this.preloadingStrategy=r,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(yt(e=>e instanceof Hr),a1(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,i){const o=[];for(const r of i){r.providers&&!r._injector&&(r._injector=C0(r.providers,e,`Route: ${r.path}`));const s=r._injector??e,a=r._loadedInjector??s;(r.loadChildren&&!r._loadedRoutes&&void 0===r.canLoad||r.loadComponent&&!r._loadedComponent)&&o.push(this.preloadConfig(s,r)),(r.children||r._loadedRoutes)&&o.push(this.processRoutes(a,r.children??r._loadedRoutes))}return ni(o).pipe(s1())}preloadConfig(e,i){return this.preloadingStrategy.preload(i,()=>{let o;o=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(e,i):Ge(null);const r=o.pipe(Yn(s=>null===s?Ge(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??e,s.routes))));return i.loadComponent&&!i._loadedComponent?ni([r,this.loader.loadComponent(i)]).pipe(s1()):r})}static#e=this.\u0275fac=function(i){return new(i||t)(R(oi),R(OA),R(Li),R(kM),R(Rg))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Bg=new oe("");let IM=(()=>{class t{constructor(e,i,o,r,s={}){this.urlSerializer=e,this.transitions=i,this.viewportScroller=o,this.zone=r,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},this.environmentInjector=G(Li),s.scrollPositionRestoration||="disabled",s.anchorScrolling||="disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof E4?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof Hr?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof h1&&e.code===x4.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof oM&&(e.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(e.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,i){var o=this;this.zone.runOutsideAngular(Mi(function*(){yield new Promise(r=>{setTimeout(()=>{r()}),Xa(()=>{r()},{injector:o.environmentInjector})}),o.zone.run(()=>{o.transitions.events.next(new oM(e,"popstate"===o.lastSource?o.store[o.restoredId]:null,i))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){W8()};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();function ps(t,n){return{\u0275kind:t,\u0275providers:n}}function PM(){const t=G(tn);return n=>{const e=t.get(Ko);if(n!==e.components[0])return;const i=t.get(oi),o=t.get(VM);1===t.get(Hg)&&i.initialNavigation(),t.get(NM,null,kt.Optional)?.setUpPreloading(),t.get(Bg,null,kt.Optional)?.init(),i.resetRootComponentType(e.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const VM=new oe("",{factory:()=>new V}),Hg=new oe("",{providedIn:"root",factory:()=>1}),NM=new oe("");function dX(t){return ps(0,[{provide:NM,useExisting:sX},{provide:kM,useExisting:t}])}function hX(t){return ps(9,[{provide:TM,useValue:GZ},{provide:MM,useValue:{skipNextTransition:!!t?.skipInitialTransition,...t}}])}const FM=new oe("ROUTER_FORROOT_GUARD"),pX=[o1,{provide:u1,useClass:z4},oi,Du,{provide:Oo,useFactory:function OM(t){return t.routerState.root},deps:[oi]},Rg,[]];let RM=(()=>{class t{constructor(e){}static forRoot(e,i){return{ngModule:t,providers:[pX,[],{provide:b1,multi:!0,useValue:e},{provide:FM,useFactory:vX,deps:[[oi,new ed,new ch]]},{provide:v1,useValue:i||{}},i?.useHash?{provide:ll,useClass:Hq}:{provide:ll,useClass:ES},{provide:Bg,useFactory:()=>{const t=G(nK),n=G(Me),e=G(v1),i=G(H4),o=G(u1);return e.scrollOffset&&t.setOffset(e.scrollOffset),new IM(o,i,t,n,e)}},i?.preloadingStrategy?dX(i.preloadingStrategy).\u0275providers:[],i?.initialNavigation?bX(i):[],i?.bindToComponentInputs?ps(8,[uM,{provide:V4,useExisting:uM}]).\u0275providers:[],i?.enableViewTransitions?hX().\u0275providers:[],[{provide:LM,useFactory:PM},{provide:U0,multi:!0,useExisting:LM}]]}}static forChild(e){return{ngModule:t,providers:[{provide:b1,multi:!0,useValue:e}]}}static#e=this.\u0275fac=function(i){return new(i||t)(R(FM,8))};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function vX(t){return"guarded"}function bX(t){return["disabled"===t.initialNavigation?ps(3,[{provide:_m,multi:!0,useFactory:()=>{const n=G(oi);return()=>{n.setUpLocationChangeListener()}}},{provide:Hg,useValue:2}]).\u0275providers:[],"enabledBlocking"===t.initialNavigation?ps(2,[{provide:Hg,useValue:0},{provide:_m,multi:!0,deps:[tn],useFactory:n=>{const e=n.get(Lq,Promise.resolve());return()=>e.then(()=>new Promise(i=>{const o=n.get(oi),r=n.get(VM);xM(o,()=>{i(!0)}),n.get(H4).afterPreactivation=()=>(i(!0),r.closed?Ge(void 0):r),o.initialNavigation()}))}}]).\u0275providers:[]]}const LM=new oe(""),Ns={gitRepoUrl:"https://github.com/MyGithub-1/nav",provider:"Github",branch:"main",hashMode:!0};var yX=fe(476),wX=fe.n(yX),CX=fe(821),zX=fe.n(CX);const AX=JSON.parse('[{"createdAt":"2024-07-15 06:24:17","title":"OpenSource","icon":null,"ownVisible":null,"nav":[{"createdAt":"2024-07-15 06:24:31","title":"GitHub","icon":null,"ownVisible":null,"nav":[{"createdAt":"2024-07-15 06:24:40","title":"Navigation","icon":null,"ownVisible":null,"nav":[{"id":1,"name":"\u53d1\u73b0\u5bfc\u822a - \u7cbe\u9009\u5b9e\u7528\u5bfc\u822a\u7f51\u7ad9","createdAt":"2024-07-15 06:25:42","rate":3,"desc":"\u53d1\u73b0\u5bfc\u822a - \u7cbe\u9009\u5b9e\u7528\u5bfc\u822a\u7f51\u7ad9","top":true,"index":"","ownVisible":false,"icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/nav-1691133333044-logo.png","url":"https://nav3.cn/light","urls":{"-3":"https://github.com/xjh22222228/nav"},"breadcrumb":["OpenSource","GitHub","Navigation"]}]}]}],"id":0},{"createdAt":"2024-07-13 03:45:51","title":"AI","icon":"\u{1f916}","ownVisible":false,"nav":[],"collapsed":false},{"title":"\u5b9e\u7528\u5de5\u5177","nav":[{"createdAt":"2024-07-13 14:34:16","title":"\u5f55\u5c4f\u8f6f\u4ef6","icon":null,"ownVisible":true,"nav":[{"createdAt":"2024-07-13 14:34:26","title":"\u5f55\u5c4f\u8f6f\u4ef6","icon":null,"ownVisible":true,"nav":[{"id":2,"name":"Open Broadcaster Software | OBSobs","createdAt":"2024-07-13 14:44:09","rate":5,"desc":"","top":true,"index":"","ownVisible":false,"icon":"https://obsproject.com/favicon-32x32.png","url":"https://obsproject.com/","urls":{"":""},"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f55\u5c4f\u8f6f\u4ef6","\u5f55\u5c4f\u8f6f\u4ef6"]}]}]},{"createdAt":"2024-07-13 14:08:24","title":"\u4e91\u76d8\u7f51\u76d8","icon":"","ownVisible":true,"nav":[{"createdAt":"2024-07-13 14:09:39","title":"\u6587\u4ef6\u4f20\u8f93","icon":null,"ownVisible":true,"nav":[{"id":3,"name":"Musetransfer","createdAt":"2024-07-13 14:12:25","rate":5,"desc":"\u6587\u4ef6\u5feb\u901f\u4e0a\u4f20\u4e0b\u8f7d","top":true,"index":"","ownVisible":true,"icon":"nav-1720879893574-f89fe5be-7027-405a-8d35-7b7d0f9330d7.webp","url":"https://musetransfer.com/","urls":{},"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u4e91\u76d8\u7f51\u76d8","\u6587\u4ef6\u4f20\u8f93"]}],"collapsed":false}]},{"title":"\u5f00\u53d1\u76f8\u5173","nav":[{"title":"\u5f00\u53d1\u795e\u5668","nav":[{"name":"Github-CLI","createdAt":"2021-02-18 21:06:06","rate":5,"desc":"GitHub\u7684\u5b98\u65b9\u547d\u4ee4\u884c\u5de5\u5177","top":false,"icon":"https://github.githubassets.com/favicons/favicon.svg","url":"https://cli.github.com/","urls":{"-3":"https://github.com/cli/cli"},"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":4},{"name":"Coveralls","icon":"https://coveralls.io/favicon.png","url":"https://coveralls.io/","desc":"\u901a\u8fc7\u663e\u793a\u6d4b\u8bd5\u5957\u4ef6\u672a\u6db5\u76d6\u4ee3\u7801\u7684\u54ea\u4e9b\u90e8\u5206\uff0c\u6211\u4eec\u53ef\u4ee5\u5e2e\u52a9\u60a8\u81ea\u4fe1\u5730\u4ea4\u4ed8\u4ee3\u7801\u3002\u514d\u8d39\u63d0\u4f9b\u5f00\u6e90\u8f6f\u4ef6\u5e93","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":5},{"name":"Releasly","desc":"\u5728\u65b0\u7684\u5f00\u6e90\u7248\u672c\u53d1\u5e03\u65f6\u6536\u5230\u901a\u77e5\uff0c\u76f4\u63a5\u53d1\u9001\u5230\u60a8\u7684\u7535\u5b50\u90ae\u4ef6\u4e2d\u3002","url":"https://www.releasly.co/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":6},{"name":"Convert cURL","desc":"\u5c06curl\u547d\u4ee4\u8f6c\u6362\u4e3aPython\uff0cJavaScript\uff0cPHP\uff0cR\uff0cGo\uff0cRust\uff0cDart\uff0cJSON\uff0cAnsible\uff0cElixir\u3002","url":"https://curl.trillworks.com/","urls":{"-3":"https://github.com/NickCarneiro/curlconverter"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":7},{"name":"Supervisor","desc":"Supervisor\u662f\u4e00\u4e2a\u5ba2\u6237\u7aef/\u670d\u52a1\u5668\u7cfb\u7edf\uff0c\u5141\u8bb8\u5176\u7528\u6237\u76d1\u89c6\u548c\u63a7\u5236\u7c7b\u4f3cUNIX\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u7684\u591a\u4e2a\u8fdb\u7a0b\u3002","url":"http://supervisord.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":8},{"icon":"https://www.sonarqube.org/favicon-152.png","name":"SonarQube","desc":"\u4ee3\u7801\u8d28\u91cf\u548c\u5b89\u5168\u6027\u68c0\u67e5, \u652f\u6301\u6240\u6709\u5f00\u53d1\u4eba\u5458\u7f16\u5199\u66f4\u5e72\u51c0\uff0c\u66f4\u5b89\u5168\u7684\u4ee3\u7801\u3002","url":"https://www.sonarqube.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":9},{"icon":"https://paste.ubuntu.com/favicon.ico","name":"Pastebin","desc":"\u5728\u7ebf\u5171\u4eab\u4ee3\u7801\uff0c\u5c06\u4ee3\u7801\u4ee5URL\u5f62\u5f0f\u53d1\u9001\u4ee5\u4fbf\u67e5\u770b","url":"https://paste.ubuntu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":10},{"icon":"https://avatars2.githubusercontent.com/u/30217756?s=200&v=4","name":"UPX","desc":"UPX-\u53ef\u6267\u884c\u6587\u4ef6\u7684\u7ec8\u6781\u6253\u5305\u5668","url":"https://github.com/upx/upx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":11},{"icon":"https://avatars2.githubusercontent.com/u/30217756?s=200&v=4","name":"askgit","desc":"\u4f7f\u7528SQL\u67e5\u8be2git\u5b58\u50a8\u5e93\u3002\u751f\u6210\u62a5\u544a\uff0c\u6267\u884c\u72b6\u6001\u68c0\u67e5\uff0c\u5206\u6790\u4ee3\u7801\u5e93\u3002","url":"https://github.com/augmentable-dev/askgit","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":12},{"icon":"https://avatars3.githubusercontent.com/u/1396951?s=200&v=4","name":"Sentry","desc":"Web\u5e94\u7528\u7a0b\u5e8f\uff0c\u79fb\u52a8\u5e94\u7528\u7a0b\u5e8f\u548c\u6e38\u620f\u7684\u5b9e\u65f6\u5d29\u6e83\u62a5\u544a\u3002","url":"https://sentry.io/","urls":{"-3":"https://github.com/getsentry"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":13},{"icon":"https://randomuser.me/favicon.ico","name":"randomuser","desc":"\u968f\u673a\u7528\u6237\u751f\u6210\u5668\u662f\u7528\u4e8e\u751f\u6210\u5360\u4f4d\u7b26\u7528\u6237\u4fe1\u606f\u7684\u514d\u8d39API\u3002 \u83b7\u53d6\u4e2a\u4eba\u8d44\u6599\u7167\u7247\uff0c\u59d3\u540d\u7b49\u3002 \u5bf9\u4e8e\u4eba\u4eec\u6765\u8bf4\uff0c\u5c31\u50cfLorem Ipsum\u3002","url":"https://randomuser.me/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":14},{"icon":"https://camo.githubusercontent.com/ebfdd465daa90626d0ab0d0fddc0e457c942a392/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f616e7572616768617a72612f696d6167652f75706c6f61642f76313539343930383234322f6c6f676f5f636373776d652e737667","name":"github-readme-stats","desc":"\u5728\u4f60\u7684 README \u4e2d \u83b7\u53d6\u52a8\u6001\u751f\u6210\u7684 GitHub \u7edf\u8ba1\u4fe1\u606f","url":"https://github.com/anuraghazra/github-readme-stats/blob/master/readme_cn.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":15},{"icon":"https://i.imgur.com/zBEQq4w.png","name":"Hits","desc":"\u4e86\u89e3\u6709\u591a\u5c11\u4eba\u6b63\u5728\u67e5\u770b\u60a8\u7684GitHub\u9879\u76ee\u7684\u7b80\u5355\u65b9\u6cd5","url":"http://hits.dwyl.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":16},{"name":"GitHub \u6587\u4ef6\u52a0\u901f","desc":"GitHub \u6587\u4ef6\u52a0\u901f","url":"https://shrill-pond-3e81.hunsh.workers.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":17},{"name":"Shields IO","desc":"svg\u751f\u6210\u7248\u672c\u53f7\u56fe\u6807","url":"https://shields.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":18},{"icon":"https://www.fundebug.com/favicon.ico","name":"FunDebug","desc":"\u652f\u6301\u524d\u7aefJavaScript\uff0c\u540e\u7aefNode.js\u4ee5\u53ca\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u9519\u8bef\u76d1\u63a7","url":"https://www.fundebug.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":19},{"icon":"http://www.asciiworld.com/favicon.ico","name":"Asciiworld","desc":"WA\uff01\u539f\u6765\u90a3\u4e9b\u5e74\u7a0b\u5e8f\u733f\u641e\u602a\u7684\u6ce8\u91ca\u90fd\u5728\u8fd9\u91cc","url":"http://www.asciiworld.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":20},{"icon":"https://jsfiddle.net/img/favicon.png","name":"jsfiddle","desc":"\u5f3a\u5927\u7684\u524d\u7aef\u4ee3\u7801\u5728\u7ebf\u6f14\u793a\u7684\u7f51\u7ad9","url":"http://jsfiddle.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":21},{"icon":"https://user-images.githubusercontent.com/799578/50462941-8075fe80-09c3-11e9-89e7-af0cb7991406.png","name":"CODEIF","desc":"\u53d8\u91cf\u547d\u540d\u795e\u5668","url":"https://unbug.github.io/codelf/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":22},{"icon":"http://asciiflow.com/images/favicon.png","name":"ASCIIFlow Infinity","desc":"\u65e0\u9650\u7684ASCII\u56fe\u8868\uff0c\u4fdd\u5b58\u5230\u8c37\u6b4c\u9a71\u52a8\u5668\uff0c\u8c03\u6574\u5927\u5c0f\uff0c\u81ea\u7531\u7ed8\u5236\uff0c\u5e76\u76f4\u63a5\u8f93\u51fa\u5230\u6587\u672c/HTML\u3002","url":"http://asciiflow.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":23},{"icon":"https://kinolien.github.io/gitzip/images/gitzip.png","name":"gitzip","desc":"\u5b83\u53ef\u4ee5\u5c06GITHUB\u5b58\u50a8\u5e93\u7684\u5b50\u6587\u4ef6\u5939/\u5b50\u76ee\u5f55\u4f5c\u4e3azip\u5e76\u4e0b\u8f7d","url":"https://kinolien.github.io/gitzip/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":24},{"icon":"http://sc.ftqq.com/static/image/favlogo.png","name":"Server\u9171","desc":"\u300cServer\u9171\u300d\uff0c\u82f1\u6587\u540d\u300cServerChan\u300d\uff0c\u662f\u4e00\u6b3e\u300c\u7a0b\u5e8f\u5458\u300d\u548c\u300c\u670d\u52a1\u5668\u300d\u4e4b\u95f4\u7684\u901a\u4fe1\u8f6f\u4ef6\u3002","url":"http://sc.ftqq.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":25},{"name":"mkcert","desc":"\u4e00\u4e2a\u7b80\u5355\u7684\u96f6\u914d\u7f6e\u5de5\u5177\uff0c\u53ef\u4ee5\u4f7f\u7528\u60a8\u559c\u6b22\u7684\u4efb\u4f55\u540d\u79f0\u5236\u4f5c\u672c\u5730\u53ef\u4fe1\u8d56\u7684SSL\u5f00\u53d1\u8bc1\u4e66","url":"https://github.com/FiloSottile/mkcert","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":26},{"icon":"https://carbon.now.sh/favicon.ico","name":"carbon","desc":"\u521b\u5efa\u548c\u5206\u4eab\u6e90\u4ee3\u7801\u7684\u7cbe\u7f8e\u56fe\u50cf","url":"https://carbon.now.sh","urls":{"-3":"https://github.com/dawnlabs/carbon"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":27},{"name":"setup-ipsec-vpn","desc":"\u7528\u4e8e\u6784\u5efa\u60a8\u81ea\u5df1\u7684IPsec VPN\u670d\u52a1\u5668\u7684\u811a\u672c\uff0c\u5728Ubuntu\uff0cDebian\u548cCentOS\u4e0a\u4f7f\u7528IPsec / L2TP\u548cCisco IPsec","url":"https://github.com/hwdsl2/setup-ipsec-vpn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":28},{"icon":"https://www.digitalocean.com/favicon.ico","name":"nginxconfig","desc":"nginx\u914d\u7f6e\u751f\u6210\u5668","url":"https://www.digitalocean.com/community/tools/nginx#?","urls":{"-3":"https://github.com/digitalocean/nginxconfig.io"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":29},{"name":"GraphQL Explorer","desc":"GraphQL\u8d44\u6e90\u7ba1\u7406\u5668\u5229\u7528\u771f\u5b9e\u7684\u3001\u5b9e\u65f6\u7684\u751f\u4ea7\u6570\u636e","url":"https://developer.github.com/v4/explorer/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":30},{"name":"patorjk","desc":"\u5c06\u6587\u672c\u8f6c\u6362\u6210ASCII","url":"http://patorjk.com/software/taag/#p=display&f=Graffiti&t=xiejiahe","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":31},{"icon":"https://avatars0.githubusercontent.com/u/62133242?s=200&v=4","name":"lens","desc":"Lens\u63a7\u5236Kubernetes\u96c6\u7fa4\u6240\u9700\u7684\u552f\u4e00IDE\u3002\u5b83\u662f\u9002\u7528\u4e8eMacOS\uff0cWindows\u548cLinux\u64cd\u4f5c\u7cfb\u7edf\u7684\u72ec\u7acb\u5e94\u7528\u7a0b\u5e8f\u3002\u5b83\u662f\u5f00\u6e90\u7684\uff0c\u514d\u8d39\u7684\u3002","url":"https://k8slens.dev/","urls":{"-3":"https://github.com/lensapp/lens"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":32},{"name":"public-apis","desc":"\u4e00\u4e9b\u53ef\u7528\u5728 Web \u6216\u8f6f\u4ef6\u5f00\u53d1\u7684\u5f00\u653e API \u63a5\u53e3","url":"https://github.com/public-apis/public-apis","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":33},{"icon":"https://astexplorer.net/favicon.png","name":"astexplorer","desc":"\u4e00\u4e2aWeb\u5de5\u5177\uff0c\u7528\u4e8e\u63a2\u7d22\u7531\u5404\u79cd\u89e3\u6790\u5668\u751f\u6210\u7684AST","url":"https://astexplorer.net/","urls":{"-3":"https://github.com/fkling/astexplorer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":34},{"icon":"http://www.u.tools/assets/img/brand/favicon.png","name":"uTools","desc":"uTools\u662f\u4e00\u4e2a\u6781\u7b80\u3001\u63d2\u4ef6\u5316\u3001\u8de8\u5e73\u53f0\u7684\u73b0\u4ee3\u684c\u9762\u8f6f\u4ef6\u3002\u901a\u8fc7\u81ea\u7531\u9009\u914d\u4e30\u5bcc\u7684\u63d2\u4ef6\uff0c\u6253\u9020\u4f60\u5f97\u5fc3\u5e94\u624b\u7684\u5de5\u5177\u96c6\u5408","url":"http://www.u.tools/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":35},{"icon":"https://ihateregex.io/favicon.ico","name":"ihateregex","desc":"\u6b63\u5219\u8868\u8fbe\u5f0f\u5907\u5fd8\u5f55","url":"https://ihateregex.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":36},{"icon":"https://avatars3.githubusercontent.com/u/22552083?s=200&v=4","name":"Oh My ZSH","desc":"\u662f\u4e00\u4e2a\u5f00\u653e\u6e90\u4ee3\u7801\uff0c\u793e\u533a\u9a71\u52a8\u7684\u6846\u67b6\uff0c\u7528\u4e8e\u7ba1\u7406zsh\u914d\u7f6e\u3002","url":"https://ohmyz.sh/","urls":{"-3":"https://github.com/ohmyzsh"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":37},{"icon":"https://tampermonkey.freetls.fastly.net/images/icon144.png","name":"Tampermonkey","desc":"\u4e00\u6b3e\u514d\u8d39\u7684\u6d4f\u89c8\u5668\u6269\u5c55\u548c\u6700\u4e3a\u6d41\u884c\u7684\u7528\u6237\u811a\u672c\u7ba1\u7406\u5668","url":"https://www.tampermonkey.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":38},{"name":"Greasy Fork","desc":"\u63d0\u4f9b\u7528\u6237\u811a\u672c\u7684\u7f51\u7ad9","url":"https://greasyfork.org/zh-CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":39},{"icon":"https://img.kuaidaili.com/img/favicon.ico?v=3","name":"\u514d\u8d39\u4ee3\u7406","desc":"\u514d\u8d39HTTP\u4ee3\u7406IP","url":"https://www.kuaidaili.com/free/inha/1/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":40},{"icon":"https://avatars2.githubusercontent.com/u/1342004?s=200&v=4","name":"Google Workspace","desc":"Google Workspace\u72b6\u6001\u4fe1\u606f\u4e2d\u5fc3","url":"https://www.google.com/appsstatus#hl=en&v=status","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5f00\u53d1\u795e\u5668"],"ownVisible":false,"id":41}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406","nav":[{"icon":"https://www.eolinker.com/assets/images/favicon.ico","name":"eoLinker\u63a5\u53e3\u7ba1\u7406\u5e73\u53f0","desc":"\u56fd\u5185\u6700\u5927\u7684\u5728\u7ebf\u63a5\u53e3\u7ba1\u7406\u670d\u52a1\u65b9\u6848\u4f9b\u5e94\u5546","url":"https://www.eolinker.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":42},{"icon":"https://avatars2.githubusercontent.com/u/19645609?s=200&v=4","name":"YApi","desc":"YApi \u662f\u4e00\u4e2a\u53ef\u672c\u5730\u90e8\u7f72\u7684\u3001\u6253\u901a\u524d\u540e\u7aef\u53caQA\u7684\u3001\u53ef\u89c6\u5316\u7684\u63a5\u53e3\u7ba1\u7406\u5e73\u53f0","url":"https://yapi.baidu.com/","urls":{"-3":"https://github.com/YMFE/yapi"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":43},{"icon":"http://rap2.taobao.org/favicon.png","name":"RAP2","desc":"Web\u63a5\u53e3\u7ba1\u7406\u5de5\u5177\uff0c\u5f00\u6e90\u514d\u8d39\uff0c\u63a5\u53e3\u81ea\u52a8\u5316\uff0cMOCK\u6570\u636e\u81ea\u52a8\u751f\u6210\uff0c\u81ea\u52a8\u5316\u6d4b\u8bd5\uff0c\u4f01\u4e1a\u7ea7\u7ba1\u7406\u3002\u963f\u91cc\u5988\u5988MUX\u56e2\u961f\u51fa\u54c1","url":"http://rap2.taobao.org/","urls":{"-3":"https://github.com/thx/rap2-delos"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":44},{"icon":"https://www.showdoc.cc/static/logo/b_64.png","name":"showdoc","desc":"\u4e00\u4e2a\u975e\u5e38\u9002\u5408IT\u56e2\u961f\u7684\u5728\u7ebfAPI\u6587\u6863\u3001\u6280\u672f\u6587\u6863\u5de5\u5177","url":"https://www.showdoc.cc/","urls":{"-3":"https://github.com/star7th/showdoc"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":45},{"icon":"https://avatars3.githubusercontent.com/u/40133106?s=200&v=4","name":"docsify","desc":"\u4e00\u4e2a\u795e\u5947\u7684\u6587\u6863\u7ad9\u70b9\u751f\u6210\u5668","url":"https://docsify.js.org","urls":{"-3":"https://github.com/docsifyjs/docsify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":46},{"icon":"https://avatars2.githubusercontent.com/u/4103663?s=200&v=4","name":"apiDoc","desc":"RESTful Web API\u6587\u6863\u751f\u6210\u5668","url":"http://apidocjs.com","urls":{"-3":"https://github.com/apidoc/apidoc"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":47},{"icon":"https://avatars2.githubusercontent.com/u/69631?s=200&v=4","name":"docusaurus","desc":"\u6613\u4e8e\u7ef4\u62a4\u7684\u5f00\u6e90\u6587\u6863\u7f51\u7ad9","url":"https://docusaurus.io/","urls":{"-3":"https://github.com/facebook/docusaurus"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":48},{"icon":"https://www.zentao.net/favicon.ico","name":"\u7985\u9053","desc":"\u7985\u9053\u662f\u7075\u6d3b\u7684\u9879\u76ee\u7ba1\u7406\u8f6f\u4ef6","url":"https://www.zentao.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":49},{"icon":"https://www.tapd.cn/favicon.ico","name":"Tapd","desc":"\u4e00\u7ad9\u5f0f\u654f\u6377\u7814\u53d1\u534f\u4f5c\u4e91\u5e73\u53f0, \u51dd\u805a\u817e\u8baf\u7814\u53d1\u65b9\u6cd5\u53ca\u654f\u6377\u5b9e\u8df5\u7cbe\u9ad3, \u52a9\u529b\u4f01\u4e1a\u7814\u53d1\u66f4\u9ad8\u6548\u3001\u534f\u4f5c\u66f4\u654f\u6377","url":"https://www.tapd.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":50},{"icon":"https://avatars2.githubusercontent.com/u/56705483?s=200&v=4","name":"Hoppscotch","desc":"\u4e00\u4e2a\u514d\u8d39\uff0c\u5feb\u901f\uff0c\u7f8e\u89c2\u7684API\u8bf7\u6c42\u6784\u5efa\u5668\uff0c\u4f9b10\u4e07\u591a\u4e2a\u5f00\u53d1\u4eba\u5458\u4f7f\u7528\u3002(\u539f\u540d\u53eb Postwoman)","url":"https://hoppscotch.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u63a5\u53e3/\u5f00\u53d1\u6587\u6863\u7ba1\u7406"],"ownVisible":false,"id":51}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u5185\u7f51\u7a7f\u900f/\u4ee3\u7406","nav":[{"name":"Sunny-Ngrok","desc":"\u4e00\u6761\u547d\u4ee4\u89e3\u51b3\u7684\u5916\u7f51\u8bbf\u95ee\u5185\u7f51\u95ee\u9898\uff0c\u65e0\u9700\u4efb\u4f55\u914d\u7f6e\uff0c\u4e0b\u8f7d\u5ba2\u6237\u7aef\u4e4b\u540e\u76f4\u63a5\u4e00\u6761\u547d\u4ee4\u8ba9\u5916\u7f51\u8bbf\u95ee\u60a8\u7684\u5185\u7f51\u4e0d\u518d\u662f\u8ddd\u79bb","url":"https://www.ngrok.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5185\u7f51\u7a7f\u900f/\u4ee3\u7406"],"ownVisible":false,"id":52},{"name":"frp","desc":"\u4e00\u4e2a\u5feb\u901f\u53cd\u5411\u4ee3\u7406\uff0c\u53ef\u5e2e\u52a9\u60a8\u5c06NAT\u6216\u9632\u706b\u5899\u540e\u9762\u7684\u672c\u5730\u670d\u52a1\u5668\u66b4\u9732\u7ed9Internet\u3002","url":"https://github.com/fatedier/frp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5185\u7f51\u7a7f\u900f/\u4ee3\u7406"],"ownVisible":false,"id":53},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"zan-proxy","desc":"\u672c\u5730\u4ee3\u7801\u8c03\u8bd5\u7ebf\u4e0a\u9875\u9762\uff0c\u73af\u5883\u518d\u4e5f\u4e0d\u662f\u95ee\u9898","url":"https://youzan.github.io/zan-proxy/","urls":{"-3":"https://github.com/youzan/zan-proxy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5185\u7f51\u7a7f\u900f/\u4ee3\u7406"],"ownVisible":false,"id":54},{"icon":"https://ngrok.com/static/img/favicon.png","name":"ngrok","desc":"ngrok\u662f\u4e00\u4e2a\u53cd\u5411\u4ee3\u7406\uff0c\u901a\u8fc7\u5728\u516c\u5171\u7684\u7aef\u70b9\u548c\u672c\u5730\u8fd0\u884c\u7684 Web \u670d\u52a1\u5668\u4e4b\u95f4\u5efa\u7acb\u4e00\u4e2a\u5b89\u5168\u7684\u901a\u9053\u3002ngrok\u53ef\u6355\u83b7\u548c\u5206\u6790\u6240\u6709\u901a\u9053\u4e0a\u7684\u6d41\u91cf\uff0c\u4fbf\u4e8e\u540e\u671f\u5206\u6790\u548c\u91cd\u653e","url":"https://ngrok.com/","urls":{"-3":"https://github.com/inconshreveable/ngrok"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u5185\u7f51\u7a7f\u900f/\u4ee3\u7406"],"ownVisible":false,"id":55}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u7f16\u7801/\u89e3\u7801","nav":[{"icon":"http://www.chamd5.org/favicon.ico","name":"\u67e5MD5","desc":"MD5\u5728\u7ebf\u89e3\u5bc6|md5\u5728\u7ebf\u7834\u89e3|\u6279\u91cf\u7834\u89e3md5\u7f51\u7ad9","url":"http://www.cmd5.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u7f16\u7801/\u89e3\u7801"],"ownVisible":false,"id":56},{"icon":"https://jwt.io/img/favicon/apple-icon-76x76.png","name":"JSON Web Tokens","desc":"jwt \u5728\u7ebf\u89e3\u7801","url":"https://jwt.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u7f16\u7801/\u89e3\u7801"],"ownVisible":false,"id":57},{"icon":"http://www.xpcha.com/favicon.ico","name":"base64","desc":"base64\u5728\u7ebf\u89e3\u7801\u7f16\u7801","url":"http://base64.xpcha.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u7f16\u7801/\u89e3\u7801"],"ownVisible":false,"id":58}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u514d\u8d39\u516c\u5f00API","nav":[{"icon":"https://www.ipify.org/static/images/favicon-96x96.png","name":"ipify","desc":"\u4e00\u4e2a\u7b80\u5355\u7684\u516c\u5171IP\u5730\u5740API","url":"https://www.ipify.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u514d\u8d39\u516c\u5f00API"],"ownVisible":false,"id":59},{"name":"\u5f52\u5c5e\u5730\u67e5\u8be2","desc":"\u6dd8\u5b9d\u514d\u8d39\u5f52\u5c5e\u5730\u67e5\u8be2","url":"https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13333333333","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f00\u53d1\u76f8\u5173","\u514d\u8d39\u516c\u5f00API"],"ownVisible":false,"id":60}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u8bbe\u8ba1\u76f8\u5173","nav":[{"title":"\u8bbe\u8ba1\u76f8\u5173","nav":[{"icon":"https://www.draw.io/images/apple-touch-icon.png","name":"draw","desc":"\u514d\u8d39\u7684\u5728\u7ebf\u56fe\u8868\u8f6f\u4ef6\uff0c\u7528\u4e8e\u5236\u4f5c\u6d41\u7a0b\u56fe\u3001\u6d41\u7a0b\u56fe\u3001\u7ec4\u7ec7\u56fe\u3001UML\u3001ER\u548c\u7f51\u7edc\u56fe","url":"https://www.draw.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":61},{"icon":"https://www.processon.com/favicon.ico","name":"ProcessOn","desc":"\u514d\u8d39\u5728\u7ebf\u4f5c\u56fe\u5de5\u5177,UML\u4f5c\u56fe,UI\u754c\u9762\u539f\u578b\u8bbe\u8ba1,iOS\u539f\u578b\u8bbe\u8ba1,BPMN,\u6d41\u7a0b\u56fe,\u601d\u7ef4\u5bfc\u56fe,\u591a\u4eba\u534f\u4f5c\u7ed8\u56fe","url":"https://www.processon.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":62},{"icon":"https://lhcdn.lanhuapp.com/web/static/favicon.ico","name":"\u84dd\u6e56","desc":"\u84dd\u6e56\u662f\u4e00\u6b3e\u8bbe\u8ba1\u56fe\u5171\u4eab\u5e73\u53f0,\u5e2e\u52a9\u4e92\u8054\u7f51\u56e2\u961f\u7ba1\u7406\u8bbe\u8ba1\u56fe","url":"https://lanhuapp.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":63},{"icon":"https://zeplin.io/img/favicon/228x228.png","name":"Zeplin","desc":"\u4e3a\u8bbe\u8ba1\u5e08\u548c\u524d\u7aef\u800c\u751f\u7684\u534f\u4f5c\u5e94\u7528","url":"https://zeplin.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":64},{"icon":"https://mubu.com/favicon.ico","name":"\u5e55\u5e03","desc":"\u6781\u7b80\u5927\u7eb2\u7b14\u8bb0 | \u4e00\u952e\u751f\u6210\u601d\u7ef4\u5bfc\u56fe","url":"https://mubu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":65},{"icon":"https://p.ssl.qhimg.com/t01a54d9106629dda0e.png","name":"\u58f0\u4eab","desc":"\u5728\u7ebf\u5236\u4f5c PPT\uff0c\u8ba9\u5206\u4eab\u66f4\u6709\u4ef7\u503c","url":"https://ppt.baomitu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":66},{"icon":"https://modao.cc/images/logo.png","name":"\u58a8\u5200","desc":"\u539f\u578b\u8bbe\u8ba1\u5de5\u5177\uff0cweb\u539f\u578b\u8bbe\u8ba1\u5de5\u5177\uff0capp\u539f\u578b\u8bbe\u8ba1\u5de5\u5177","url":"https://modao.cc/features","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":67},{"icon":"https://xzlogo.com/static/images/favicon-16x16.png?v2","name":"\u5c0f\u667aLOGO","desc":"LOGO\u5728\u7ebf\u5236\u4f5c\u795e\u5668 - 3\u5206\u949f\u5b8c\u6210LOGO\u8bbe\u8ba1\u5728\u7ebf\u751f\u6210","url":"https://xzlogo.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":68},{"icon":"https://www.chuangkit.com/favicon.ico","name":"\u521b\u5ba2\u8d34","desc":"\u4e00\u6b3e\u7b80\u5355\u6613\u7528\u3001\u529f\u80fd\u5f3a\u5927\u7684\u7ebf\u4e0a\u56fe\u5f62\u8bbe\u8ba1\u5de5\u5177","url":"https://www.chuangkit.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":69},{"icon":"https://cdn.jifo.co/favicon/favicon.ico","name":"\u5728\u7ebf\u5236\u4f5c\u56fe\u8868","desc":"\u4fe1\u606f\u56fe\u8868\u662f\u4e00\u79cd\u6613\u4e8e\u4f7f\u7528\u7684\u4fe1\u606f\u56fe\u8868\u548c\u56fe\u8868\u5236\u9020\u5546\u3002\u521b\u5efa\u548c\u5206\u4eab\u7f8e\u4e3d\u7684\u4fe1\u606f\u56fe\u8868\uff0c\u5728\u7ebf\u62a5\u544a\u548c\u4e92\u52a8\u5730\u56fe\u3002\u5728\u8fd9\u91cc\u505a\u4f60\u81ea\u5df1","url":"https://infogram.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":70},{"name":"CLIPPING MAGIC","desc":"\u5220\u9664\u56fe\u50cf\u80cc\u666f\u5728\u7ebf\u3002\u4f7f\u80cc\u666f\u900f\u660e\uff0c\u767d\u8272\u7b49\u7f16\u8f91\uff0c\u88c1\u526a\uff0c\u65cb\u8f6c\uff0c\u56fa\u5b9a\u989c\u8272\uff0c\u6dfb\u52a0\u9634\u5f71\uff0c\u4e00\u6b3e\u5728\u7ebf\u62a0\u56fe\u5de5\u5177","url":"https://clippingmagic.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":71},{"icon":"https://koutu.gaoding.com/favicon.ico","name":"\u7a3f\u5b9a\u62a0\u56fe","desc":"\u7a3f\u5b9a\u8bbe\u8ba1\u662f\u4e00\u6b3e\u4e13\u4e3a\u6dd8\u5b9d\u5e97\u4e3b\u3001\u65b0\u5a92\u4f53\u8fd0\u8425\u4eba\u5458\u548c\u4fee\u56fe\u7231\u597d\u8005\u6253\u9020\u7684\u514d\u8d39\u5728\u7ebf\u62a0\u56fe\u5de5\u5177\u3002","url":"https://www.gaoding.com/koutu","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":72},{"icon":"https://uzer.me/favicon.ico","name":"UZER.ME","desc":"\u8d85\u7ea7\u5e94\u7528\u7a7a\u95f4\u81f4\u529b\u4e8e\u5168\u751f\u547d\u5468\u671f\u7684\u6587\u6863\u7ba1\u7406,\u65e0\u9700\u5b89\u88c5,\u5373\u53ef\u5728\u7ebf\u7f16\u8f91Office, CAD,PS\u7b49\u4efb\u610f\u683c\u5f0f\u6587\u6863,\u652f\u6301\u8fdc\u7a0b\u534f\u4f5c,\u5168\u6587\u68c0\u7d22,\u7248\u672c\u7ba1\u7406,\u6743\u9650\u7ba1\u7406,\u5b89\u5168\u5916\u53d1\u7b49.\u63d0\u9ad8\u5de5\u4f5c\u6548\u7387,\u964d\u4f4e\u5b89\u5168\u98ce\u9669","url":"https://uzer.me/index.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":73},{"icon":"https://www.launchaco.com/static/favicon.ico","name":"launchaco","desc":"\u514d\u8d39\u5728\u7ebf\u5236\u4f5cLOGO","url":"https://www.launchaco.com/logo","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":74},{"icon":"https://g.alicdn.com/acca/resource/luban/image/favicon.png","name":"\u9e7f\u73ed","desc":"\u9e7f\u73ed - \u8ba9\u8bbe\u8ba1\u66f4\u7f8e\u597d(\u963f\u91cc\u51fa\u54c1)","url":"https://luban.aliyun.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":75},{"icon":"https://www.yasuotu.com/favicon.ico","name":"\u56fe\u7247\u88c1\u526a","desc":"\u5728\u7ebf\u88c1\u526a\u7167\u7247\u5927\u5c0f\u5c3a\u5bf8","url":"https://www.yasuotu.com/meditor","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u8bbe\u8ba1\u76f8\u5173","\u8bbe\u8ba1\u76f8\u5173"],"ownVisible":false,"id":76}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"GUI\u8f6f\u4ef6","nav":[{"title":"GUI","nav":[{"icon":"https://bitwarden.com/images/icons/favicon-32x32.png","name":"Bitwarden","desc":"\u4e2a\u4eba\u548c\u4f01\u4e1a\u5728\u4efb\u4f55\u8bbe\u5907\u4e0a\u5b58\u50a8\uff0c\u5171\u4eab\u548c\u4fdd\u62a4\u654f\u611f\u6570\u636e\u7684\u6700\u7b80\u5355\uff0c\u6700\u5b89\u5168\u7684\u65b9\u6cd5","url":"https://bitwarden.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":77},{"icon":"https://typora.io/img/favicon-48.png","name":"Typeora","desc":"Typora\u662f\u4e00\u6b3e\u8de8\u5e73\u53f0\u7684\u6700\u5c0fMarkdown\u7f16\u8f91\u5668\uff0c\u53ef\u4e3aMarkdown\u8bfb\u8005\u548c\u4f5c\u5bb6\u63d0\u4f9b\u65e0\u7f1d\u7684\u4f53\u9a8c","url":"https://typora.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":78},{"icon":"https://www.iterm2.com/favicon.ico","name":"iterm2","desc":"iTerm2\u662fTerminal\u7684\u66ff\u4ee3\u54c1\uff0c\u662fiTerm\u7684\u540e\u7eed\u4ea7\u54c1","url":"https://www.iterm2.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":79},{"icon":"https://www.sourcetreeapp.com/assets/img/favicons/sourcetree/favicon-32x32.png","name":"Sourcetree","desc":"\u7f8e\u4e3d\u7684Git GUI\u4e2d\u7684\u7b80\u5355\u6027\u548c\u5f3a\u5927\u529f\u80fd","url":"https://www.sourcetreeapp.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":80},{"icon":"https://www.charlesproxy.com/static/img/icon.8b97278f.png","name":"charles","desc":"Charles\u662fHTTP\u4ee3\u7406/ HTTP\u76d1\u89c6\u5668/\u53cd\u5411\u4ee3\u7406\uff0c\u4f7f\u5f00\u53d1\u4eba\u5458\u53ef\u4ee5\u67e5\u770b\u5176\u8ba1\u7b97\u673a\u4e0eInternet\u4e4b\u95f4\u7684\u6240\u6709HTTP\u548cSSL / HTTPS\u901a\u4fe1\u3002\u8fd9\u5305\u62ec\u8bf7\u6c42\uff0c\u54cd\u5e94\u548cHTTP\u6807\u5934\uff08\u5176\u4e2d\u5305\u542bcookie\u548c\u7f13\u5b58\u4fe1\u606f\uff09\u3002","url":"https://www.charlesproxy.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":81},{"icon":"https://tunnelblick.net/favicon.ico","name":"Tunnelblick","desc":"\u9002\u7528\u4e8emacOS\u7684\u514d\u8d39\u5f00\u6e90OpenVPN VPN\u5ba2\u6237\u7aef\u670d\u52a1\u5668\u8f6f\u4ef6\u3002","url":"https://tunnelblick.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":82},{"icon":"https://www.keka.io/img/Keka-120x120.png","name":"Keka","desc":"macOS\u6587\u4ef6\u5b58\u6863\u5668, \u50a8\u5b58\u66f4\u591a\uff0c\u79c1\u5bc6\u5206\u4eab","url":"https://www.keka.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":83},{"icon":"https://getkap.co/static/favicon/kap.ico","name":"Kap","desc":"\u4f7f\u7528Web\u6280\u672f\u6784\u5efa\u7684\u5f00\u6e90\u5c4f\u5e55\u5f55\u50cf\u673a\u3002","url":"https://getkap.co/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":84},{"icon":"https://code.visualstudio.com/apple-touch-icon.png","name":"Vscode","desc":"VScode\u662f\u4e00\u6b3e\u8f7b\u91cf\u7ea7\u7684\u7f16\u8f91\u5668\uff0c\u81ea\u7531\u3002 \u5efa\u7acb\u5728\u5f00\u6e90\u4e0a\u3002 \u65e0\u5904\u4e0d\u5728\u3002","url":"https://code.visualstudio.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":85},{"icon":"https://nmap.org/shared/images/tiny-eyeicon.png","name":"zenmap","desc":"\u5f00\u6e90\u514d\u8d39\u7684\u7f51\u7edc\u53d1\u73b0\u5de5\u5177\uff0c\u901a\u8fc7\u5b83\u80fd\u591f\u627e\u51fa\u7f51\u7edc\u4e0a\u5728\u7ebf\u7684\u4e3b\u673a\uff0c\u5e76\u6d4b\u8bd5\u4e3b\u673a\u4e0a\u54ea\u4e9b\u7aef\u53e3\u5904\u4e8e\u76d1\u542c\u72b6\u6001\uff0c\u63a5\u7740\u901a\u8fc7\u7aef\u53e3\u786e\u5b9a\u4e3b\u673a\u4e0a\u8fd0\u884c\u7684\u5e94\u7528\u7a0b\u5e8f\u7c7b\u578b\u4e0e\u7248\u672c\u4fe1\u606f\uff0c\u6700\u540e\u5229\u7528\u5b83\u8fd8\u80fd\u4fa6\u6d4b\u51fa\u64cd\u4f5c\u7cfb\u7edf\u7684\u7c7b\u578b\u548c\u7248\u672c","url":"https://nmap.org/zenmap/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":86},{"icon":"https://obsproject.com/favicon-32x32.png","name":"obsproject","desc":"\u514d\u8d39\u548c\u5f00\u6e90\u8f6f\u4ef6\uff0c\u7528\u4e8e\u89c6\u9891\u5f55\u5236\u548c\u5b9e\u65f6\u6d41\u3002","url":"https://obsproject.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":87},{"icon":"https://avatars1.githubusercontent.com/u/14985020?s=200&v=4","name":"hyper","desc":"\u57fa\u4e8eWEB\u6280\u672f\u7684\u7ec8\u7aef","url":"https://hyper.is/","urls":{"-3":"https://github.com/zeit/hyper"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":88},{"icon":"https://www.listary.com/wp-content/themes/listary5/images/favicon.ico","name":"Listary","desc":"Listary\u662fWindows\u7684\u9769\u547d\u6027\u641c\u7d22\u5b9e\u7528\u7a0b\u5e8f\uff0c\u5b83\u4f7f\u4f11\u95f2\u7528\u6237\u548c\u9ad8\u7ea7\u7528\u6237\u90fd\u80fd\u5feb\u901f\u627e\u5230\u6587\u4ef6\u5e76\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\uff01","url":"https://www.listary.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","GUI"],"ownVisible":false,"id":89}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u865a\u62df\u673a","nav":[{"icon":"https://www.vmware.com/favicon.ico","name":"vmware","desc":"\u5229\u7528VMware\u63d0\u4f9b\u7684\u8f6f\u4ef6\u5b9a\u4e49\u7684\u4e91\uff0c\u79fb\u52a8\u6027\uff0c\u7f51\u7edc\u548c\u5b89\u5168\u89e3\u51b3\u65b9\u6848\u6765\u5efa\u7acb\u60a8\u7684\u6570\u5b57\u57fa\u7840\u3002","url":"https://www.vmware.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u865a\u62df\u673a"],"ownVisible":false,"id":90},{"icon":"https://www.parallels.cn/typo3conf/ext/prls_theme/Resources/Public/theme/res/img/favicon/favicon.png","name":"parallels","desc":"Mac\u548cWindows\u865a\u62df\u5316|\u7ba1\u7406Mac|VDI\u548cRDS\u89e3\u51b3\u65b9\u6848","url":"https://www.parallels.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u865a\u62df\u673a"],"ownVisible":false,"id":91},{"icon":"http://mumu.163.com/favicon.ico","name":"mumu Android\u6a21\u62df\u5668","desc":"\u7f51\u6613MuMu[\u624b\u6e38\u6a21\u62df\u5668][\u5b89\u5353\u6a21\u62df\u5668]","url":"http://mumu.163.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u865a\u62df\u673a"],"ownVisible":false,"id":92}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5e93","nav":[{"icon":"https://avatars3.githubusercontent.com/u/34743864?s=200&v=4","name":"DBeaver","desc":"\u9002\u7528\u4e8e\u5f00\u53d1\u4eba\u5458\uff0c\u6570\u636e\u5e93\u7ba1\u7406\u5458\uff0c\u5206\u6790\u5e08\u548c\u6240\u6709\u9700\u8981\u4f7f\u7528\u6570\u636e\u5e93\u7684\u4eba\u5458\u7684\u514d\u8d39\u7684\u591a\u5e73\u53f0\u6570\u636e\u5e93\u5de5\u5177\u3002\u652f\u6301\u6240\u6709\u6d41\u884c\u7684\u6570\u636e\u5e93\uff1aMySQL\uff0cPostgreSQL\uff0cSQLite\uff0cOracle\uff0cDB2\uff0cSQL Server\uff0cSybase\uff0cMS Access\uff0cTeradata\uff0cFirebird\uff0cApache Hive\uff0cPhoenix\uff0cPresto\u7b49","url":"https://dbeaver.io/","urls":{"-3":"https://github.com/dbeaver/dbeaver"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":93},{"icon":"https://redisdesktop.com/static/css/favicon.png","name":"RedisDesktopManager","desc":"Redis Desktop Manager\uff08\u53c8\u540dRDM\uff09\u2014\u662f\u7528\u4e8eWindows\uff0cLinux\uff0cMacOS\u548ciPadOS\u7684\u5feb\u901fRedis\u6570\u636e\u5e93\u7ba1\u7406\u5e94\u7528\u7a0b\u5e8f\u3002","url":"https://redisdesktop.com/","urls":{"-3":"https://github.com/uglide/RedisDesktopManager"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":94},{"icon":"https://sequelpro.com/favicon/favicon-32x32.png","name":"Sequel Pro","desc":"Sequel Pro\u662f\u4e00\u4e2a\u5feb\u901f\uff0c\u6613\u4e8e\u4f7f\u7528\u7684Mac\u6570\u636e\u5e93\u7ba1\u7406\u5e94\u7528\u7a0b\u5e8f\uff0c\u7528\u4e8e\u5904\u7406MySQL\u6570\u636e\u5e93\u3002","url":"https://www.sequelpro.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":95},{"icon":"https://robomongo.org/static/favicon-11ace079.ico","name":"Robo 3T","desc":"\u4e00\u4e2a\u73b0\u4ee3\uff0c\u5f3a\u5927\u4e14\u7531\u793e\u533a\u9a71\u52a8\u7684MongoDB\u7ba1\u7406\u5de5\u5177","url":"https://robomongo.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":96},{"icon":"https://www.jetbrains.com/favicon-32x32.png","name":"DataGrip","desc":"jetbrains\u51fa\u54c1\u7684\u6570\u636e\u5e93\u7ba1\u7406\u7cfb\u7edf","url":"https://www.jetbrains.com/datagrip/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":97},{"icon":"https://tableplus.com/resources/favicons/apple-icon-57x57.png","name":"tableplus","desc":"\u7528\u4e8e\u5173\u7cfb\u6570\u636e\u5e93\u7684\u73b0\u4ee3\uff0c\u672c\u5730\u4e14\u53cb\u597d\u7684GUI\u5de5\u5177\uff1aMySQL\uff0cPostgreSQL\uff0cSQLite\u7b49","url":"https://tableplus.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u6570\u636e\u5e93"],"ownVisible":false,"id":98}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8fdc\u7a0b\u63a7\u5236","nav":[{"icon":"https://www.teamviewer.cn/wp-content/themes/tv-wordpress-theme/dist/media/favicon.png","name":"TeamViewer","desc":"TeamViewer\u8fdc\u7a0b\u8fde\u63a5\u63a7\u5236\u8f6f\u4ef6\u662f\u4e00\u6b3e\u968f\u65f6\u968f\u5730\u8fde\u63a5\u5230\u8fdc\u7a0b\u684c\u9762\u7535\u8111\u3001\u79fb\u52a8\u8bbe\u5907\u53caIot,\u8ba9\u8fdc\u7a0b\u8fde\u63a5\u8fc7\u7a0b\u66f4\u52a0\u7684\u5feb\u901f\u548c\u5b89\u5168,\u8f7b\u677e\u5b9e\u73b0\u5bf9\u6587\u4ef6\u3001\u7f51\u7edc\u53ca\u7a0b\u5e8f\u7684\u5b9e\u65f6\u652f\u6301\u6216\u8bbf\u95ee\u3002","url":"https://www.teamviewer.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u8fdc\u7a0b\u63a7\u5236"],"ownVisible":false,"id":99},{"icon":"https://sunlogin.oray.com/favicon.ico","name":"\u5411\u65e5\u8475","desc":"\u5411\u65e5\u8475\u8fdc\u7a0b\u63a7\u5236\u8f6f\u4ef6\u662f\u4e00\u6b3e\u514d\u8d39\u7684\u96c6\u8fdc\u7a0b\u63a7\u5236\u7535\u8111\u624b\u673a\u3001\u8fdc\u7a0b\u684c\u9762\u8fde\u63a5\u3001\u8fdc\u7a0b\u5f00\u673a\u3001\u8fdc\u7a0b\u7ba1\u7406\u3001\u652f\u6301\u5185\u7f51\u7a7f\u900f\u7684\u4e00\u4f53\u5316\u8fdc\u7a0b\u63a7\u5236\u7ba1\u7406\u5de5\u5177\u8f6f\u4ef6","url":"https://sunlogin.oray.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u8fdc\u7a0b\u63a7\u5236"],"ownVisible":false,"id":100}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u98de\u673a\u573a","nav":[{"icon":"https://avatars0.githubusercontent.com/u/14110142?s=200&v=4","name":"v2ray","desc":"\u7528\u4e8e\u6784\u5efa\u4ee3\u7406\u7ed5\u8fc7\u7f51\u7edc\u9650\u5236\u7684\u5e73\u53f0\u3002","url":"https://github.com/v2ray/v2ray-core","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u98de\u673a\u573a"],"ownVisible":false,"id":101},{"icon":"https://github.com/Dreamacro/clash/raw/master/docs/logo.png","name":"clash","desc":"Go\u4e2d\u57fa\u4e8e\u89c4\u5219\u7684\u96a7\u9053","url":"https://github.com/Dreamacro/clash","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","GUI\u8f6f\u4ef6","\u98de\u673a\u573a"],"ownVisible":false,"id":102}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5f71\u89c6/\u97f3\u4e50","nav":[{"title":"\u5f71\u89c6","nav":[{"icon":"https://www.bilibili.com/favicon.ico","name":"\u54d4\u54e9\u54d4\u54e9","desc":"\u56fd\u5185\u77e5\u540d\u7684\u89c6\u9891\u5f39\u5e55\u7f51\u7ad9\uff0c\u8fd9\u91cc\u6709\u6700\u53ca\u65f6\u7684\u52a8\u6f2b\u65b0\u756a\uff0c\u6700\u68d2\u7684ACG\u6c1b\u56f4\uff0c\u6700\u6709\u521b\u610f\u7684Up\u4e3b","url":"https://www.bilibili.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":103},{"icon":"https://www.iqiyipic.com/common/images/PCW-114x114.png","name":"\u7231\u5947\u827a","desc":"\u62e5\u6709\u6d77\u91cf\u3001\u4f18\u8d28\u3001\u9ad8\u6e05\u7684\u7f51\u7edc\u89c6\u9891\u7684\u5927\u578b\u89c6\u9891\u7f51\u7ad9\uff0c\u4e13\u4e1a\u7684\u7f51\u7edc\u89c6\u9891\u64ad\u653e\u5e73\u53f0","url":"https://www.iqiyi.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":104},{"icon":"https://www.youtube.com/favicon.ico","name":"Youtube","desc":"\u5168\u7403\u6700\u5927\u7684\u89c6\u9891\u7f51\u7ad9","url":"https://www.youtube.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":105},{"icon":"https://www.douyu.com/favicon.ico","name":"\u6597\u9c7c","desc":"\u6597\u9c7c - \u6bcf\u4e2a\u4eba\u7684\u76f4\u64ad\u5e73\u53f0","url":"https://www.douyu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":106},{"icon":"https://cdn.jsdelivr.net/gh/txxxjs/fk/ifkdy/2020-03-16/favicon.ico","name":"\u75af\u72c2\u5f71\u89c6\u641c\u7d22","desc":"\u75af\u72c2\u5f71\u89c6\u641c\u7d22\u662f\u4e00\u6b3e\u5168\u80fd\u5f71\u89c6\u641c\u7d22\u5f15\u64ce\uff0c\u5e2e\u4f60\u627e\u5230\u6700\u65b0\u5f71\u89c6\u8d44\u6e90\uff0c\u4e00\u7ad9\u62e5\u6709\u65e0\u5c3d\u5f71\u89c6\u8d44\u6e90","url":"http://ifkdy.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":107},{"icon":"http://www.qmaile.com/favicon.ico","name":"\u5168\u6c11vip\u89c6\u9891\u5728\u7ebf\u89e3\u6790","desc":"\u514d\u8d39\u5168\u7f51VIP\u89c6\u9891\u4f1a\u5458\u514d\u5e7f\u544a\u770b\u7535\u5f71\uff01\u4f18\u9177vip\u89e3\u6790\uff0c\u7231\u5947\u827avip\u89e3\u6790\uff0c\u817e\u8bafvip\u89e3\u6790\uff0c\u4e50\u89c6vip\u89e3\u6790\uff0c\u8292\u679cvip\u89e3\u6790","url":"http://www.qmaile.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":108},{"icon":"https://qncdnimg.aoscdn.com/local/beecut.cn/img/favicon.png","name":"\u871c\u8702\u526a\u8f91","desc":"\u514d\u8d39\u5728\u7ebf\u89c6\u9891\u526a\u8f91\u3001\u89c6\u9891\u5236\u4f5c\u3001\u89c6\u9891\u526a\u5207\u3001\u89c6\u9891\u8f6cgif\u7b49\u5b9e\u7528\u529f\u80fd","url":"https://beecut.cn/online-video-editor","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":109},{"name":"kk\u9ad8\u6e05\u5f71\u9662","desc":"kk\u9ad8\u6e05\u5f71\u9662,1080p\u7535\u5f71\u4e0b\u8f7d,\u9ad8\u6e05\u7535\u5f71\u8fc5\u96f7\u4e0b\u8f7d,\u514d\u8d39\u9ad8\u6e05\u7535\u5f71\u7f51","url":"http://www.kk3.tv/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u5f71\u89c6"],"ownVisible":false,"id":110}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u97f3\u4e50","nav":[{"name":"\u81ea\u7531\u7684\u97f3\u4e50","desc":"\u81ea\u7531\u7684\u97f3\u4e50\u662f\u4e00\u4e2a\u514d\u8d39\u8bd5\u542c\u5e76\u4e0b\u8f7d\u5168\u7f51\u97f3\u4e50\u7684\u7f51\u7ad9","url":"https://www.tikitiki.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5f71\u89c6/\u97f3\u4e50","\u97f3\u4e50"],"ownVisible":false,"id":111}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u62db\u8058/\u6c42\u804c","nav":[{"title":"\u62db\u8058/\u6c42\u804c","nav":[{"icon":"https://www.zhaopin.com/favicon.ico","name":"\u667a\u8054\u62db\u8058","desc":"\u667a\u8054\u62db\u8058\uff0c\u66f4\u61c2\u4f60\u7684\u4ef7\u503c","url":"https://www.zhaopin.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u62db\u8058/\u6c42\u804c"],"ownVisible":false,"id":112},{"icon":"https://www.51job.com/favicon.ico","name":"\u524d\u7a0b\u65e0\u5fe7","desc":"\u62db\u8058\u7f51,\u4eba\u624d\u7f51,\u6c42\u804c,\u627e\u5de5\u4f5c","url":"https://www.51job.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u62db\u8058/\u6c42\u804c"],"ownVisible":false,"id":113},{"icon":"https://www.zhipin.com/favicon.ico","name":"BOSS\u76f4\u8058","desc":"BOSS\u76f4\u8058\u662f\u6743\u5a01\u9886\u5148\u7684\u62db\u8058\u7f51\uff0c\u5f00\u542f\u4eba\u624d\u7f51\u62db\u8058\u6c42\u804c\u65b0\u65f6\u4ee3\uff0c\u8ba9\u6c42\u804c\u8005\u4e0eBoss\u76f4\u63a5\u5f00\u804a\u3001\u52a0\u5feb\u9762\u8bd5\u3001\u5373\u65f6\u53cd\u9988\uff0c\u627e\u5de5\u4f5c\u5c31\u6765BOSS\u76f4\u8058\u548cBoss\u5f00\u804a\u5427","url":"https://www.zhipin.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u62db\u8058/\u6c42\u804c"],"ownVisible":false,"id":114}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"ResumeSample","desc":"\u7a0b\u5e8f\u5458\u7b80\u5386\u6a21\u677f\u7cfb\u5217, WEB/IOS/Android/C++/node\u7b49\u4ee5\u53ca\u901a\u7528\u7a0b\u5e8f\u5458\u7b80\u5386\u6a21\u677f","url":"https://github.com/geekcompany/ResumeSample","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u5176\u4ed6"],"ownVisible":false,"id":115},{"icon":"http://coder.shengxinjing.cn/logo.ico","name":"\u7a0b\u5e8f\u5458\u627e\u5de5\u4f5c\u9ed1\u540d\u5355","desc":"\u6709\u4e9b\u4e8b\u60c5\uff0c\u5e94\u8be5\u88ab\u8bb0\u4f4f","url":"http://coder.shengxinjing.cn/","urls":{"-3":"https://github.com/shengxinjing/programmer-job-blacklist"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u5176\u4ed6"],"ownVisible":false,"id":116},{"icon":"https://www.kanzhun.com/favicon.ico","name":"\u770b\u51c6\u7f51","desc":"\u770b\u51c6\u7f51\u2605\u4e2d\u56fd\u9886\u5148\u7684\u804c\u573a\u4fe1\u606f\u5e73\u53f0,\u4e13\u6ce8\u4e8e\u516c\u53f8\u8bc4\u8bba,\u6652\u5de5\u8d44,\u5de5\u8d44\u5f85\u9047,\u9762\u8bd5,\u516c\u53f8\u798f\u5229\u7b49.\u60a8\u53ef\u4ee5\u5728\u770b\u51c6\u7f51\u4e0a\u533f\u540d\u5206\u4eab\u60a8\u7684\u804c\u4e1a\u4fe1\u606f","url":"https://www.kanzhun.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u62db\u8058/\u6c42\u804c","\u5176\u4ed6"],"ownVisible":false,"id":117}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"title":"\u538b\u7f29\u5de5\u5177","nav":[{"icon":"https://tinypng.com/images/apple-touch-icon.png","name":"TinyPNG","desc":"\u667a\u80fdPNG\u548cJPEG\u538b\u7f29\uff0c\u4ee5\u8d28\u91cf\u548c\u6587\u4ef6\u5927\u5c0f\u7684\u5b8c\u7f8e\u5e73\u8861\u6765\u4f18\u5316\u60a8\u7684\u56fe\u50cf","url":"https://tinypng.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u538b\u7f29\u5de5\u5177"],"ownVisible":false,"id":118},{"icon":"https://squoosh.app/assets/favicon.ico","name":"Squoosh","desc":"\u5728\u6d4f\u89c8\u5668\u4e2d\u7528\u4e0d\u540c\u7684\u7f16\u89e3\u7801\u5668\u538b\u7f29\u548c\u6bd4\u8f83\u56fe\u50cf(Google\u51fa\u54c1)","url":"https://squoosh.app/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u538b\u7f29\u5de5\u5177"],"ownVisible":false,"id":119}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8f85\u52a9\u5de5\u5177","nav":[{"icon":"https://static.clewm.net/static/images/favicon.ico","name":"\u8349\u6599\u4e8c\u7ef4\u7801","desc":"\u7528\u4e13\u4e1a\u7684\u4e8c\u7ef4\u7801\u4ea7\u54c1\u5e2e\u52a9\u4f01\u4e1a\u521b\u9020\u4ef7\u503c","url":"https://cli.im/url/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":120},{"name":"Feed \u9a8c\u8bc1\u5668","desc":"\u9a8c\u8bc1RSS\u662f\u5426\u7b26\u5408\u6807\u51c6\u89c4\u8303","url":"http://www.feedvalidator.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":121},{"icon":"https://www.taonienie.com/favicon.ico","name":"\u6dd8\u634f\u634f","desc":"\u6dd8\u5b9d\u4fe1\u8a89\u67e5\u8be2 - \u6dd8\u634f\u634f\u5356\u5bb6\u5de5\u5177\u7bb1 \u6dd8\u5b9d\u4fe1\u8a89\u67e5\u8be2_\u6dd8\u5b9d\u4fe1\u7528\u67e5\u8be2_\u6dd8\u5b9d\u5c0f\u53f7\u67e5\u8be2_\u6dd8\u5b9d\u9ed1\u53f7\u67e5\u8be2","url":"http://taonienie.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":122},{"icon":"https://www.tianyancha.com/favicon.ico","name":"\u5929\u773c\u67e5","desc":"\u4eba\u4eba\u90fd\u5728\u7528\u5546\u4e1a\u5b89\u5168\u5de5\u5177_\u4f01\u4e1a\u4fe1\u606f\u67e5\u8be2_\u516c\u53f8\u67e5\u8be2_\u5de5\u5546\u67e5\u8be2_\u4f01\u4e1a\u4fe1\u7528\u4fe1\u606f\u67e5\u8be2\u7cfb\u7edf","url":"https://www.tianyancha.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":123},{"icon":"https://yuque.com/favicon.ico","name":"\u8bed\u96c0","desc":"\u4f18\u96c5\u9ad8\u6548\u7684\u5728\u7ebf\u6587\u6863\u7f16\u8f91\u4e0e\u534f\u540c\u5de5\u5177\uff0c\u8ba9\u6bcf\u4e2a\u4f01\u4e1a\u8f7b\u677e\u62e5\u6709\u6587\u6863\u4e2d\u5fc3 - \u963f\u91cc\u5df4\u5df4","url":"https://yuque.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":124},{"icon":"https://www.qsc.zju.edu.cn/box/favicon.ico","name":"\u6c42\u662f\u6f6e\u4e91U\u76d8","desc":"\u4e34\u65f6\u6587\u4ef6\u4e0a\u4f20, \u5feb\u901f\u548c\u7a33\u5b9a","url":"https://box.zjuqsc.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":125},{"icon":"https://www.360converter.com/images/favicon.ico","name":"\u4e91\u8f6c\u6362","desc":"\u5728\u7ebf\u514d\u8d39\u8f6c\u6362\u89c6\u9891,\u97f3\u9891,YouTube\u89c6\u9891\u5230\u6587\u5b57,\u89c6\u9891\u5230\u6587\u5b57,\u97f3\u9891\u5230\u6587\u5b57,\u8bed\u97f3\u8f6c\u6362\u6210\u6587\u5b57","url":"http://www.360converter.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":126},{"icon":"https://www.picdiet.com/css/favicon.ico","name":"Picdiet","desc":"\u72ec\u7279\u4e14\u5f3a\u608d\u7684JavaScript\u7b97\u6cd5\uff0c\u80fd\u6781\u901f\u538b\u7f2980%\u7684\u56fe\u7247\u5927\u5c0f\uff0c\u800c\u4e0d\u635f\u5bb3\u5176\u8d28\u91cf","url":"https://www.picdiet.com/zh-cn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":127},{"icon":"https://cdn-img.easyicon.net/favicon.ico","name":"easyicon","desc":"\u5728\u7ebf\u56fe\u6807\u8f6c\u6362ico\u3001icns","url":"https://www.easyicon.net/covert/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":128},{"icon":"https://smallpdf.com/favicon.png","name":"Smallpdf","desc":"\u538b\u7f29pdf\u3001\u5404\u79cd\u6587\u4ef6\u683c\u5f0f\u8f6c\u6362pdf","url":"https://smallpdf.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":129},{"icon":"https://coolbackgrounds.io/images/favicon-fe5a0ff5.png","name":"Cool Backgrounds","desc":"\u751f\u6210\u975e\u5e38\u9177\u7684\u5f69\u8272\u80cc\u666f\u56fe\u50cf","url":"https://coolbackgrounds.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":130},{"icon":"https://source.unsplash.com/favicon-32x32.png","name":"Unsplash Source","desc":"\u968f\u673a\u751f\u6210\u56fe\u7247\u94fe\u63a5","url":"https://source.unsplash.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":131},{"icon":"https://assets.smcdn.cn/from_qbox/favicon.ico","name":"\u77f3\u58a8\u6587\u6863","desc":"\u4e00\u6b3e\u8f7b\u4fbf\u3001\u7b80\u6d01\u7684\u5728\u7ebf\u534f\u4f5c\u6587\u6863\u5de5\u5177\uff0cPC\u7aef\u548c\u79fb\u52a8\u7aef\u5168\u8986\u76d6\uff0c\u652f\u6301\u591a\u4eba\u540c\u65f6\u5bf9\u6587\u6863\u7f16\u8f91\u548c\u8bc4\u8bba...","url":"https://shimo.im/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":132},{"icon":"https://emoji.muan.co/appicon.png","name":"Emoji searcher","desc":"Emoji\u8868\u60c5\u5927\u5168","url":"http://emoji.muan.co/","urls":{"-3":"https://github.com/muan/emoji/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":133},{"icon":"https://imgurl.org/favicon.ico","name":"imgURL","desc":"ImgURL\u662f\u4e00\u4e2a\u7b80\u5355\u3001\u7eaf\u7cb9\u7684\u56fe\u5e8a\u7a0b\u5e8f\uff0c\u8ba9\u4e2a\u4eba\u56fe\u5e8a\u591a\u4e00\u4e2a\u9009\u62e9","url":"https://imgurl.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":134},{"icon":"https://f0cdn.anyknew.com/web/img/icons/favicon-32x32.png","name":"\u62f7\u8d1d\u5154","desc":"\u8de8\u5e73\u53f0\u5206\u4eab\u5de5\u5177\uff0c\u7eafWeb\uff0cIOS\uff0cMAC\uff0cLinux\uff0cAndroid\u4e92\u4f20","url":"https://cp.ifval.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":135},{"icon":"https://tableconvert.com/static/images/favicon.png","name":"\u8868\u683c\u5de5\u5177","desc":"\u4e00\u4e2a\u529f\u80fd\u5f3a\u5927\u7684\u5728\u7ebf\u8868\u683c\u7f16\u8f91\u5668\uff0c\u652f\u6301Excel\u3001Markdown\u3001JSON\u3001CSV\u3001HTML\u7b49\u683c\u5f0f\u7684\u76f8\u4e92\u8f6c\u6362","url":"https://tableconvert.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":136},{"icon":"https://p2.ssl.qhimg.com/t014de4ba13ada26743.png","name":"360\u67e5\u5b57\u4f53","desc":"360\u67e5\u5b57\u4f53 - \u67e5\u7248\u6743\uff0c\u514d\u7ea0\u7eb7","url":"https://fonts.safe.360.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":137},{"icon":"https://www.sejda.com/images/icon_128.png","name":"sejda","desc":"\u5728\u7ebfHTML\u8f6c\u6362pdf","url":"https://www.sejda.com/html-to-pdf","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":138},{"icon":"https://bigjpg.com/static/css/touch-icon-iphone.png","name":"AI\u4eba\u5de5\u667a\u80fd\u56fe\u7247\u653e\u5927","desc":"Bigjpg - \u4f7f\u7528\u5f00\u6e90waifu2x\u4eba\u5de5\u667a\u80fd\u6df1\u5ea6\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\uff08CNN\uff09\u667a\u80fd\u65e0\u635f\u514d\u8d39\u653e\u5927\u56fe\u7247","url":"https://bigjpg.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":139},{"name":"VVV\u6587\u6863\u5728\u7ebf\u5bfc\u51fa\u5de5\u5177","desc":"\u514d\u8d39\u4e0b\u8f7d\u767e\u5ea6\u6587\u5e93\u6587\u6863","url":"http://wenku.baiduvvv.com/doc","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":140},{"icon":"http://tools.bugscaner.com/static/images/favicon.ico","name":"\u5728\u7ebf\u6587\u4ef6\u7f16\u7801\u8bc6\u522b","desc":"\u5728\u7ebf\u6587\u4ef6\u7f16\u7801\u8bc6\u522b","url":"http://tools.bugscaner.com/filebianma/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":141},{"icon":"http://tools.bugscaner.com/static/images/favicon.ico","name":"iptv","desc":"\u6536\u96c6\u6765\u81ea\u4e16\u754c\u5404\u5730\u76845000\u591a\u4e2a\u516c\u5171IPTV\u9891\u9053","url":"https://github.com/iptv-org/iptv","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":142},{"icon":"https://www.linshiyouxiang.net/public/zh-CN/img/favicon.ico","name":"\u4e34\u65f6\u90ae\u7bb1","desc":"10\u5206\u949f\u90ae\u7bb1\uff0c\u4e34\u65f6\u90ae\u7bb1\uff0c\u4e34\u65f6\u90ae\uff0c\u4e34\u65f6\u7535\u5b50\u90ae\u7bb1\uff0c24\u5c0f\u65f6\u90ae\u7bb1\uff0c\u4e00\u6b21\u6027\u90ae\u7bb1\uff0c\u533f\u540d\u90ae\u7bb1\uff0c\u5b89\u5168\u90ae\u7bb1","url":"https://www.linshiyouxiang.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b9e\u7528\u5de5\u5177","\u5176\u4ed6","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":143}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"id":0,"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"WEB\u524d\u7aef","nav":[{"title":"JavaScript","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"JavaScript","nav":[{"icon":"https://jquery.com/jquery-wp-content/themes/jquery.com/i/favicon.ico","name":"jQuery","desc":"jQuery\u662f\u4e00\u4e2aJavaScript\u51fd\u6570\u5e93","url":"http://jquery.com/","urls":{"-2":"http://jquery.com/","-1":"https://www.jquery123.com/","-3":"https://github.com/jquery/jquery"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":144},{"icon":"https://www.webpackjs.com/assets/favicon.ico","name":"webpack","desc":"webpack\u662f\u4e00\u4e2a\u6a21\u5757\u6253\u5305\u5668","url":"https://www.webpackjs.com/","urls":{"-2":"https://webpack.js.org/","-1":"https://www.webpackjs.com/","-3":"https://github.com/webpack/webpack"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":145},{"icon":"https://babeljs.io/img/favicon.png","name":"Babel","desc":"\u7528\u4e8e\u7f16\u5199\u4e0b\u4e00\u4ee3 JavaScript \u7684\u7f16\u8bd1\u5668","url":"http://babeljs.io/","urls":{"-2":"http://babeljs.io/","-1":"https://babeljs.cn/","-3":"https://github.com/babel/babel"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":146},{"icon":"https://cn.eslint.org/img/favicon.512x512.png","name":"ESLint","desc":"\u53ef\u7ec4\u88c5\u7684JavaScript\u548cJSX\u68c0\u67e5\u5de5\u5177","url":"https://cn.eslint.org/","urls":{"-2":"https://cn.eslint.org/","-1":"http://eslint.cn/","-3":"https://github.com/eslint/eslint"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":147},{"icon":"https://avatars3.githubusercontent.com/u/10076935?s=200&v=4","name":"stylelint","desc":"\u4e00\u4e2a\u5f3a\u5927\u7684\u73b0\u4ee3\u6837\u5f0f\u98ce\u683c\u7684linter","url":"https://stylelint.io/","urls":{"-3":"https://github.com/stylelint/stylelint"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":148},{"icon":"https://avatars0.githubusercontent.com/u/8770005?s=200&v=4","name":"Mocha","desc":"Mocha\u662fJavaScript\u7684\u4e00\u79cd\u5355\u5143\u6d4b\u8bd5\u6846\u67b6\uff0c\u65e2\u53ef\u4ee5\u5728\u6d4f\u89c8\u5668\u73af\u5883\u4e0b\u8fd0\u884c\uff0c\u4e5f\u53ef\u4ee5\u5728Node.js\u73af\u5883\u4e0b\u8fd0\u884c","url":"https://mochajs.org/","urls":{"-3":"https://github.com/mochajs/mocha"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":149},{"icon":"https://avatars1.githubusercontent.com/u/5485517?s=200&v=4","name":"MUI","desc":"MUI: \u6700\u63a5\u8fd1\u539f\u751fAPP\u4f53\u9a8c\u7684\u9ad8\u6027\u80fd\u524d\u7aef\u6846\u67b6","url":"http://dev.dcloud.net.cn/mui/","urls":{"-3":"https://github.com/dcloudio/mui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":150},{"icon":"https://avatars0.githubusercontent.com/u/12554859?s=200&v=4","name":"rollup","desc":"Rollup \u662f\u4e00\u4e2a JavaScript \u6a21\u5757\u6253\u5305\u5668\uff0c\u53ef\u4ee5\u5c06\u5c0f\u5757\u4ee3\u7801\u7f16\u8bd1\u6210\u5927\u5757\u590d\u6742\u7684\u4ee3\u7801\uff0c\u4f8b\u5982 library \u6216\u5e94\u7528\u7a0b\u5e8f","url":"https://rollupjs.org/guide/zh/","urls":{"-2":"https://rollupjs.org/guide/en/","-1":"https://rollupjs.org/guide/zh/","-3":"https://github.com/rollup/rollup"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":151},{"icon":"https://avatars1.githubusercontent.com/u/29208316?s=200&v=4","name":"standard","desc":"JavaScript\u6837\u5f0f\u6307\u5357\uff0c\u5e26\u6709linter\u548c\u81ea\u52a8\u4ee3\u7801\u4fee\u590d\u7a0b\u5e8f","url":"https://standardjs.com","urls":{"-3":"https://github.com/standard/standard"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","JavaScript"],"ownVisible":false,"id":152}],"collapsed":true,"createdAt":"2021-01-23 09:32:06"},{"title":"\u5e38\u7528\u63d2\u4ef6","nav":[{"urls":{},"name":"Faker","icon":"https://github.com/favicon.ico","url":"https://github.com/Marak/faker.js","createdAt":"2021-01-23 17:37:03","desc":"\u5728Node.js\u548c\u6d4f\u89c8\u5668\u4e2d\u751f\u6210\u5927\u91cf\u903c\u771f\u7684\u5047\u6570\u636e","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":153},{"name":"sweetalert","desc":"JavaScript Alert \u7684\u6f02\u4eae\u66ff\u4ee3\u54c1","url":"https://sweetalert.js.org/","urls":{"-3":"https://github.com/t4t5/sweetalert"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":154},{"icon":"https://avatars0.githubusercontent.com/u/17040762?s=200&v=4","name":"Sortable","desc":"\u4e00\u4e2aJavaScript\u5e93\uff0c\u7528\u4e8e\u5728\u73b0\u4ee3\u6d4f\u89c8\u5668\u548c\u89e6\u6478\u8bbe\u5907\u4e0a\u5bf9\u62d6\u653e\u5217\u8868\u8fdb\u884c\u91cd\u65b0\u6392\u5e8f","url":"https://sortablejs.github.io/Sortable/","urls":{"-3":"https://github.com/SortableJS/Sortable"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":155},{"name":"formilyjs","desc":"Formily \u662f\u4e00\u4e2a\u7531\u963f\u91cc\u5df4\u5df4\u96c6\u56e2\u591a BU \u5171\u5efa\u7684\u9762\u5411\u4e2d\u540e\u53f0\u590d\u6742\u573a\u666f\u7684\u8868\u5355\u89e3\u51b3\u65b9\u6848\uff0c\u5b83\u4e5f\u662f\u4e00\u4e2a\u8868\u5355\u6846\u67b6","url":"https://formilyjs.org/","urls":{"-3":"https://github.com/alibaba/formily"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":156},{"icon":"https://roughnotation.com/images/fav.png","name":"rough-notation","desc":"\u4e00\u4e2a\u5c0f\u7684JavaScript\u5e93\uff0c\u7528\u4e8e\u5728\u7f51\u9875\u4e0a\u521b\u5efa\u624b\u7ed8\u52a8\u753b\u5e76\u4e3a\u5176\u6dfb\u52a0\u52a8\u753b\u6548\u679c","url":"https://roughnotation.com/","urls":{"-3":"https://github.com/rough-stuff/rough-notation"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":157},{"icon":"https://avatars3.githubusercontent.com/u/19199542?s=200&v=4","name":"AntV","desc":"AntV \u662f\u8682\u8681\u91d1\u670d\u5168\u65b0\u4e00\u4ee3\u6570\u636e\u53ef\u89c6\u5316\u89e3\u51b3\u65b9\u6848","url":"https://antv.alipay.com/","urls":{"-3":"https://github.com/antvis/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":158},{"icon":"https://www.lodashjs.com/icons/favicon-32x32.png","name":"Lodash","desc":"Lodash\u662f\u4e00\u4e2a\u4e00\u81f4\u6027\u3001\u6a21\u5757\u5316\u3001\u9ad8\u6027\u80fd\u7684 JavaScript \u5b9e\u7528\u5de5\u5177\u5e93","url":"https://www.lodashjs.com/","urls":{"-2":"https://lodash.com/","-1":"https://www.lodashjs.com/","-3":"https://github.com/lodash/lodash"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":159},{"icon":"https://www.swiper.com.cn/favicon.ico","name":"Swiper","desc":"\u8f7b\u91cf\u7ea7\u7684\u79fb\u52a8\u8bbe\u5907\u89e6\u63a7\u6ed1\u5757\u7684js\u6846\u67b6\uff0c\u4f7f\u7528\u786c\u4ef6\u52a0\u901f\u8fc7\u6e21","url":"https://www.swiper.com.cn/","urls":{"-2":"http://idangero.us/swiper/","-1":"https://www.swiper.com.cn/","-3":"https://github.com/nolimits4web/swiper"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":160},{"name":"fastclick","desc":"Polyfill \u89e3\u51b3\u79fb\u52a8\u7aef\u5177\u6709300ms\u5ef6\u8fdf\u7684\u5e93","url":"https://github.com/ftlabs/fastclick","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":161},{"name":"Layer","desc":"\u4e30\u5bcc\u591a\u6837\u7684Web\u5f39\u51fa\u5c42\u7ec4\u4ef6,\u53ef\u8f7b\u677e\u5b9e\u73b0Alert/Confirm/Prompt/\u666e\u901a\u63d0\u793a/\u9875\u9762\u533a\u5757/iframe/tips\u7b49\u7b49\u51e0\u4e4e\u6240\u6709\u7684\u5f39\u51fa\u4ea4\u4e92","url":"http://layer.layui.com/","urls":{"-3":"https://github.com/sentsin/layer/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":162},{"icon":"https://momentjs.com/static/img/moment-favicon.png","name":"moment.js","desc":"\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684JavaScript\u65e5\u671f\u5e93\uff0c\u7528\u4e8e\u89e3\u6790\uff0c\u9a8c\u8bc1\uff0c\u64cd\u4f5c\u548c\u683c\u5f0f\u5316\u65e5\u671f","url":"http://momentjs.cn/","urls":{"-2":"http://momentjs.com/","-1":"http://momentjs.cn/","-3":"https://github.com/moment/moment"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":163},{"name":"js-cookie","desc":"\u4e00\u4e2a\u7b80\u5355\uff0c\u8f7b\u91cf\u7ea7\u7684JavaScript API\uff0c\u7528\u4e8e\u5904\u7406\u6d4f\u89c8\u5668cookie","url":"https://github.com/js-cookie/js-cookie","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":164},{"name":"qs","desc":"\u5177\u6709\u5d4c\u5957\u652f\u6301\u7684\u67e5\u8be2\u5b57\u7b26\u4e32\u89e3\u6790\u5668","url":"https://github.com/ljharb/qs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":165},{"name":"Mock.js","desc":"\u751f\u6210\u968f\u673a\u6570\u636e\uff0c\u62e6\u622a Ajax \u8bf7\u6c42","url":"http://mockjs.com/","urls":{"-3":"https://github.com/nuysoft/Mock"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":166},{"icon":"https://gitalk.github.io/favicon.ico","name":"GITALK","desc":"\u51f9\u51f8\u5b9e\u9a8c\u5ba4\u51fa\u54c1\u7684\u4e00\u6b3e\u57fa\u4e8e Github Issue \u548c Preact \u5f00\u53d1\u7684\u8bc4\u8bba\u63d2\u4ef6","url":"https://gitalk.github.io/","urls":{"-3":"https://github.com/gitalk/gitalk"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":167},{"icon":"https://prismjs.com/assets/favicon.png","name":"prism","desc":"\u8f7b\u5de7\uff0c\u5f3a\u5927\uff0c\u4f18\u96c5\u7684\u4ee3\u7801\u8bed\u6cd5\u9ad8\u4eae","url":"https://prismjs.com/","urls":{"-3":"https://github.com/PrismJS/prism"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":168},{"name":"nprogress","desc":"\u9876\u90e8\u52a0\u8f7d\u8fdb\u5ea6\u6761","url":"http://ricostacruz.com/nprogress/","urls":{"-3":"https://github.com/rstacruz/nprogress"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":169},{"name":"iNotify","desc":"JS\u5b9e\u73b0\u6d4f\u89c8\u5668\u6807\u9898\u95ea\u70c1\uff0c\u6eda\u52a8\uff0c\u8bed\u97f3\u63d0\u793a\uff0cChrome/Safari/FireFox/IE\u901a\u77e5","url":"https://git.io/iNotify","urls":{"-3":"https://github.com/jaywcjlove/iNotify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":170},{"name":"html2canvas","desc":"\u6700\u6d41\u884c\u7684JavaScript\u5c4f\u5e55\u622a\u56fe","url":"https://html2canvas.hertzen.com/","urls":{"-3":"https://github.com/niklasvh/html2canvas"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":171},{"name":"dayjs","desc":"\u4f7f\u7528\u4e0eMoment.js\u517c\u5bb9\u7684API\u6765\u89e3\u6790\uff0c\u9a8c\u8bc1\uff0c\u64cd\u4f5c\u548c\u663e\u793a\u73b0\u4ee3\u6d4f\u89c8\u5668\u7684\u65e5\u671f\u548c\u65f6\u95f4","url":"https://github.com/iamkun/dayjs/blob/master/docs/zh-cn/API-reference.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":172},{"name":"JsBarcode","desc":"\u6613\u4e8e\u4f7f\u7528\u4f46\u529f\u80fd\u5f3a\u5927\u7684\u6761\u5f62\u7801\u751f\u6210\u5668\uff0c\u9002\u7528\u4e8eWeb\u548cNode.js","url":"https://lindell.me/JsBarcode/","urls":{"-3":"https://github.com/lindell/JsBarcode"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":173},{"name":"clipboard.js","desc":"\u73b0\u4ee3\u590d\u5236\u5230\u526a\u8d34\u677f\u3002\u6ca1\u6709Flash\u3002\u53ea\u97003kb gzipped\u3002","url":"https://clipboardjs.com/","urls":{"-3":"https://github.com/zenorocha/clipboard.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":174},{"name":"lib-flexible","desc":"\u53ef\u4f38\u7f29\u5e03\u5c40\u65b9\u6848, \u6dd8\u5b9drem\u89e3\u51b3\u65b9\u6848","url":"https://github.com/amfe/lib-flexible","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":175},{"name":"js-xss","desc":"\u6839\u636e\u767d\u540d\u5355\u8fc7\u6ee4HTML(\u9632\u6b62XSS\u653b\u51fb)","url":"https://github.com/leizongmin/js-xss","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":176},{"name":"mescroll","desc":"\u7cbe\u81f4\u7684\u4e0b\u62c9\u5237\u65b0\u548c\u4e0a\u62c9\u52a0\u8f7d js\u6846\u67b6.\u652f\u6301vue,\u5b8c\u7f8e\u8fd0\u884c\u4e8e\u79fb\u52a8\u7aef\u548c\u4e3b\u6d41PC\u6d4f\u89c8\u5668","url":"http://www.mescroll.com/index.html","urls":{"-3":"https://github.com/mescroll/mescroll"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":177},{"name":"better-scroll","desc":"\u7075\u611f\u6765\u81eaiscroll\uff0c\u5b83\u5177\u6709\u66f4\u597d\u7684\u6eda\u52a8\u6027\u80fd","url":"https://ustbhuangyi.github.io/better-scroll/","urls":{"-3":"https://github.com/ustbhuangyi/better-scroll"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":178},{"name":"pinyinjs","desc":"\u4e00\u4e2a\u5b9e\u73b0\u6c49\u5b57\u4e0e\u62fc\u97f3\u4e92\u8f6c\u7684\u5c0f\u5de7web\u5de5\u5177\u5e93","url":"http://demo.haoji.me/pinyinjs/","urls":{"-3":"https://github.com/sxei/pinyinjs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":179},{"name":"ms","desc":"\u4f7f\u7528\u6b64\u5305\u53ef\u4ee5\u8f7b\u677e\u5730\u5c06\u5404\u79cd\u65f6\u95f4\u683c\u5f0f\u8f6c\u6362\u4e3a\u6beb\u79d2\u3002","url":"https://github.com/zeit/ms","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":180},{"icon":"https://avatars2.githubusercontent.com/u/5298359?s=200&v=4","name":"ramda","desc":"\u9002\u7528\u4e8eJavaScript\u7a0b\u5e8f\u5458\u7684\u5b9e\u7528\u51fd\u6570\u5e93","url":"https://ramdajs.com","urls":{"-3":"https://github.com/ramda/ramda"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":181},{"name":"decimal.js","desc":"JavaScript\u7684\u4efb\u610f\u7cbe\u5ea6Decimal\u7c7b\u578b (0.1+0.2=0.3)","url":"http://mikemcl.github.io/decimal.js","urls":{"-3":"https://github.com/MikeMcl/decimal.js/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":182},{"name":"copy-to-clipboard","desc":"\u7b80\u5355\u7684\u6a21\u5757\u516c\u5f00copy\u529f\u80fd\uff0c\u5b83\u5c06\u5c1d\u8bd5\u4f7f\u7528execCommand\u4e0e\u7279\u5b9a\u4e8eIE\u7684clipboardData\u63a5\u53e3\u7684\u56de\u9000\uff0c\u6700\u540e\uff0c\u901a\u5e38prompt\u4f7f\u7528\u9002\u5f53\u7684\u6587\u672c\u5185\u5bb9\u548c\u6d88\u606f","url":"https://github.com/sudodoki/copy-to-clipboard","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":183},{"name":"path-to-regexp","desc":"\u5c06\u5b57\u7b26\u4e32\u8def\u5f84\u8f6c\u6362\u6210\u6b63\u5219\u8868\u8fbe\u5f0f","url":"https://github.com/pillarjs/path-to-regexp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":184},{"name":"autosize","desc":"autosize\u662f\u4e00\u4e2a\u5c0f\u7684\u72ec\u7acb\u811a\u672c\uff0c\u53ef\u4ee5\u81ea\u52a8\u8c03\u6574textarea\u57df\u7684\u9ad8\u5ea6\u4ee5\u9002\u5408\u6587\u672c","url":"http://www.jacklmoore.com/autosize/","urls":{"-3":"https://github.com/jackmoore/autosize"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":185},{"name":"shake.js","desc":"\u76d1\u542c\u624b\u673a\u8bbe\u5907\u6447\u52a8","url":"https://github.com/alexgibson/shake.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":186},{"name":"progressbar","desc":"\u53ef\u4ee5\u8f7b\u677e\u5730\u4e3aWeb\u521b\u5efa\u54cd\u5e94\u5f0f\u548c\u65f6\u5c1a\u7684\u8fdb\u5ea6\u680f\u3002\u52a8\u753b\u5373\u4f7f\u5728\u79fb\u52a8\u8bbe\u5907\u4e0a\u4e5f\u8868\u73b0\u826f\u597d","url":"https://kimmobrunfeldt.github.io/progressbar.js/","urls":{"-3":"https://github.com/kimmobrunfeldt/progressbar.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":187},{"icon":"https://avatars0.githubusercontent.com/u/28626637?s=200&v=4","name":"easy-mock","desc":"Easy Mock \u662f\u4e00\u4e2a\u53ef\u89c6\u5316\uff0c\u5e76\u4e14\u80fd\u5feb\u901f\u751f\u6210\u6a21\u62df\u6570\u636e\u7684\u6301\u4e45\u5316\u670d\u52a1","url":"https://easy-mock.com","urls":{"-3":"https://github.com/easy-mock/easy-mock/blob/dev/README.zh-CN.md"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":188},{"icon":"https://joe.sh/assets/images/favicon.ico","name":"Clamp.js","desc":"JS\u7248\u672c\u7684\u591a\u884c\u6587\u672c\u6ea2\u51fa\u7701\u7565","url":"https://joe.sh/clamp-js","urls":{"-3":"https://github.com/josephschmitt/Clamp.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":189},{"name":"json-bigint","desc":"\u5e26\u6709bigints\u652f\u6301\u7684JSON.parse / stringify","url":"https://github.com/sidorares/json-bigint","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":190},{"name":"exif-js","desc":"\u7528\u4e8e\u8bfb\u53d6EXIF\u56fe\u50cf\u5143\u6570\u636e\u7684JavaScript\u5e93","url":"https://github.com/exif-js/exif-js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":191},{"name":"lunr.js","desc":"Lunr.js\u662f\u4e00\u4e2a\u7528\u4e8e\u6d4f\u89c8\u5668\u7684\u5c0f\u578b\u5168\u6587\u672c\u641c\u7d22\u5e93\u3002\u5b83\u4e3aJSON\u6587\u6863\u5efa\u7acb\u7d22\u5f15\uff0c\u5e76\u63d0\u4f9b\u4e00\u4e2a\u7b80\u5355\u7684\u641c\u7d22\u754c\u9762\u6765\u68c0\u7d22\u4e0e\u6587\u672c\u67e5\u8be2\u6700\u5339\u914d\u7684\u6587\u6863","url":"https://github.com/olivernn/lunr.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":192},{"name":"hotkeys","desc":"\u5f3a\u5927\u7684Javascript\u5e93\uff0c\u7528\u4e8e\u6355\u83b7\u952e\u76d8\u8f93\u5165\u548c\u8f93\u5165\u7684\u6309\u952e\u7ec4\u5408\u3002\u5b83\u6ca1\u6709\u4f9d\u8d56\u6027\u3002","url":"https://wangchujiang.com/hotkeys/","urls":{"-3":"https://github.com/jaywcjlove/hotkeys"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":193},{"name":"dom-to-image","desc":"\u4f7f\u7528HTML5 canvas\u4eceDOM\u8282\u70b9\u751f\u6210\u56fe\u50cf","url":"https://github.com/tsayen/dom-to-image","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":194},{"icon":"https://avatars1.githubusercontent.com/u/59940233?s=200&v=4","name":"single-spa","desc":"\u4f7f\u5fae\u524d\u7aef\u53d8\u5f97\u7b80\u5355","url":"https://single-spa.js.org/","urls":{"-3":"https://github.com/single-spa/single-spa"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":195},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"qiankun","desc":"\u4e3a\u5fae\u578b\u524d\u7aef\u63d0\u4f9b\u5feb\u901f\uff0c\u7b80\u5355\u548c\u5b8c\u6574\u7684\u89e3\u51b3\u65b9\u6848","url":"https://qiankun.umijs.org/","urls":{"-3":"https://github.com/umijs/qiankun"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":196},{"icon":"https://zelark.github.io/nano-id-cc/favicon.ico","name":"nanoid","desc":"\u4e00\u4e2a\u5f88\u5c0f\u7684\uff0c\u5b89\u5168\u7684\uff0cURL\u53cb\u597d\u7684\uff0c\u552f\u4e00\u7684JavaScript\u5b57\u7b26\u4e32ID\u751f\u6210\u5668\u3002","url":"https://zelark.github.io/nano-id-cc/","urls":{"-3":"https://github.com/ai/nanoid"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":197},{"name":"Numeral-js","desc":"\u4e00\u4e2a\u7528\u4e8e\u683c\u5f0f\u5316\u548c\u5904\u7406\u6570\u5b57\u7684javascript\u5e93","url":"http://numeraljs.com","urls":{"-3":"https://github.com/adamwdraper/Numeral-js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":198},{"name":"ua-parser-js","desc":"\u7528\u4e8e\u4eceuserAgent\u5b57\u7b26\u4e32\u68c0\u6d4b\u6d4f\u89c8\u5668\uff0c\u5f15\u64ce\uff0c\u64cd\u4f5c\u7cfb\u7edf\uff0cCPU\u548c\u8bbe\u5907\u7c7b\u578b/\u6a21\u578b\u3002\u652f\u6301\u6d4f\u89c8\u5668\u548cnode.js\u73af\u5883","url":"http://faisalman.github.io/ua-parser-js/","urls":{"-3":"https://github.com/faisalman/ua-parser-js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":199},{"icon":"https://avatars0.githubusercontent.com/u/7997161?s=200&v=4","name":"hammer.js","desc":"\u4e00\u4e2a\u7528\u4e8e\u591a\u70b9\u89e6\u6478\u624b\u52bf\u7684javascript\u5e93","url":"http://hammerjs.github.io","urls":{"-3":"https://github.com/hammerjs/hammer.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u5e38\u7528\u63d2\u4ef6"],"ownVisible":false,"id":200}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fd\u9645\u5316\u591a\u8bed\u8a00\u65b9\u6848","nav":[{"icon":"https://avatars1.githubusercontent.com/u/8546082?s=200&v=4","name":"i18next","desc":"i18next\u662f\u4e00\u4e2a\u975e\u5e38\u6d41\u884c\u7684\u56fd\u9645\u5316\u6846\u67b6\uff0c\u9002\u7528\u4e8e\u6d4f\u89c8\u5668\u6216\u4efb\u4f55\u5176\u4ed6JavaScript\u73af\u5883\uff08\u4f8b\u5982\uff0cnode.js\uff09\u3002","url":"http://i18next.com/","urls":{"-3":"https://github.com/i18next/i18next"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fd\u9645\u5316\u591a\u8bed\u8a00\u65b9\u6848"],"ownVisible":false,"id":201},{"icon":"https://avatars3.githubusercontent.com/u/11225539?s=200&v=4","name":"js-lingui","desc":"JavaScript\u7684\u53ef\u8bfb\uff0c\u81ea\u52a8\u5316\u548c\u4f18\u5316\uff085 kb\uff09\u56fd\u9645\u5316","url":"https://lingui.js.org/","urls":{"-3":"https://github.com/lingui/js-lingui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fd\u9645\u5316\u591a\u8bed\u8a00\u65b9\u6848"],"ownVisible":false,"id":202}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u52a8\u753b","nav":[{"name":"wow.js","desc":"\u57fa\u4e8eAnimate.css,\u5411\u4e0b\u6eda\u52a8\u9875\u9762\u65f6\u663e\u793aCSS\u52a8\u753b,\u8f7b\u677e\u81ea\u5b9a\u4e49\u52a8\u753b\u8bbe\u7f6e\uff1a\u6837\u5f0f\uff0c\u5ef6\u8fdf\uff0c\u957f\u5ea6\uff0c\u504f\u79fb\uff0c\u8fed\u4ee3...","url":"http://mynameismatthieu.com/WOW/","urls":{"-3":"https://github.com/matthieua/WOW"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a8\u753b"],"ownVisible":false,"id":203},{"name":"Waves","desc":"\u53d7Google\u6750\u8d28\u8bbe\u8ba1\u542f\u53d1\u7684\u70b9\u51fb\u6548\u679c, \u6ce2\u7eb9\u6548\u679c","url":"http://fian.my.id/Waves/#examples","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a8\u753b"],"ownVisible":false,"id":204},{"name":"velocity","desc":"\u52a0\u901fJavaScript\u52a8\u753b","url":"http://velocityjs.org/","urls":{"-3":"https://github.com/julianshapiro/velocity"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a8\u753b"],"ownVisible":false,"id":205},{"name":"anime","desc":"\u8f7b\u91cf\u7ea7\u7684JavaScript\u52a8\u753b\u5e93\u3002\u5b83\u9002\u7528\u4e8e\u4efb\u4f55CSS\u5c5e\u6027\uff0c\u5355\u4e2aCSS\u8f6c\u6362\uff0cSVG\u6216\u4efb\u4f55DOM\u5c5e\u6027\u4ee5\u53caJavaScript\u5bf9\u8c61","url":"http://animejs.com/","urls":{"-3":"https://github.com/juliangarnier/anime"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a8\u753b"],"ownVisible":false,"id":206},{"name":"Hover-Buttons","desc":"hover\u52a8\u753bCSS / SCSS\u6309\u94ae","url":"https://varin6.github.io/Hover-Buttons/","urls":{"-3":"https://github.com/Varin6/Hover-Buttons"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a8\u753b"],"ownVisible":false,"id":207}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u52a0\u76d0","nav":[{"name":"JavaScript-MD5","desc":"JavaScript MD5\u5b9e\u73b0\u3002\u517c\u5bb9\u670d\u52a1\u5668\u7aef\u73af\u5883\uff0c\u5982node.js\uff0cRequireJS\u7b49\u6a21\u5757\u52a0\u8f7d\u5668\u548c\u6240\u6709Web\u6d4f\u89c8\u5668","url":"https://blueimp.github.io/JavaScript-MD5/","urls":{"-3":"https://github.com/blueimp/JavaScript-MD5"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a0\u76d0"],"ownVisible":false,"id":208},{"name":"js-sha1","desc":"JavaScript\u7684\u7b80\u5355SHA1\u54c8\u5e0c\u51fd\u6570\u652f\u6301UTF-8\u7f16\u7801\u3002","url":"https://github.com/emn178/js-sha1","urls":{"-3":"https://github.com/emn178/js-sha1"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a0\u76d0"],"ownVisible":false,"id":209},{"name":"js-base64","desc":"JavaScript\u7684Base64\u5b9e\u73b0","url":"https://github.com/dankogai/js-base64","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a0\u76d0"],"ownVisible":false,"id":210},{"name":"jsSHA","desc":"SHA-1\uff0cSHA-224\uff0cSHA3-224\uff0cSHA-256\uff0cSHA3-256\uff0cSHA-384\uff0cSHA3-384\uff0cSHA-512\uff0cSHA3-512\uff0cSHAKE128 \uff0c\u548cSHAKE256\u4ee5\u53caHMAC","url":"https://caligatio.github.io/jsSHA/","urls":{"-3":"https://github.com/Caligatio/jsSHA"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a0\u76d0"],"ownVisible":false,"id":211},{"name":"crypto-js","desc":"\u52a0\u5bc6\u6807\u51c6\u7684JavaScript\u5e93","url":"https://cryptojs.gitbook.io","urls":{"-3":"https://github.com/brix/crypto-js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u52a0\u76d0"],"ownVisible":false,"id":212}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173","nav":[{"name":"pdf.js","desc":"PDF.js\u662f\u4e00\u4e2a\u4f7f\u7528HTML5\u6784\u5efa\u7684\u53ef\u79fb\u690d\u6587\u6863\u683c\u5f0f\uff08PDF\uff09\u67e5\u770b\u5668","url":"https://mozilla.github.io/pdf.js/web/viewer.html","urls":{"-3":"https://github.com/mozilla/pdf.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":213},{"name":"webuploader","desc":"\u767e\u5ea6\u51fa\u54c1\uff0c\u91c7\u7528\u5927\u6587\u4ef6\u5206\u7247\u5e76\u53d1\u4e0a\u4f20\uff0c\u6781\u5927\u7684\u63d0\u9ad8\u4e86\u6587\u4ef6\u4e0a\u4f20\u6548\u7387\u3002","url":"http://fex.baidu.com/webuploader/","urls":{"-3":"https://github.com/fex-team/webuploader"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":214},{"name":"pdfmake","desc":"\u7eafJavaScript\u4e2d\u7684\u5ba2\u6237\u7aef/\u670d\u52a1\u5668\u7aefPDF\u6253\u5370, HTML\u8f6c\u6362Pdf","url":"http://pdfmake.org/","urls":{"-3":"https://github.com/bpampuch/pdfmake"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":215},{"name":"ViewerJS","desc":"JavaScript\u4e2d\u7684\u6587\u6863\u9605\u8bfb\u5668, pdf/ppt/opt/odt\u7b49\u6587\u4ef6\u6e32\u67d3\u6210HTML","url":"https://viewerjs.org/","urls":{"-3":"https://github.com/kogmbh/ViewerJS"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":216},{"name":"filepond","desc":"\u7075\u6d3b\u800c\u6709\u8da3\u7684JavaScript\u6587\u4ef6\u4e0a\u4f20\u5e93","url":"https://pqina.nl/filepond/","urls":{"-3":"https://github.com/pqina/filepond"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":217},{"name":"FileSaver.js","desc":"\u5ba2\u6237\u7aef\u4fdd\u5b58\u6587\u4ef6\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u975e\u5e38\u9002\u5408\u5728\u5ba2\u6237\u7aef\u4e0a\u751f\u6210\u6587\u4ef6\u7684Web\u5e94\u7528\u7a0b\u5e8f","url":"https://github.com/eligrey/FileSaver.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":218},{"name":"jsPDF","desc":"\u4e00\u4e2a\u4f7f\u7528JavaScript\u751f\u6210PDF\u7684\u5e93","url":"https://parall.ax/products/jspdf","urls":{"-3":"https://github.com/MrRio/jsPDF"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6587\u4ef6\u63d2\u4ef6\u76f8\u5173"],"ownVisible":false,"id":219}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fe\u7247\u9884\u89c8","nav":[{"name":"PhotoSwipe","desc":"\u9002\u7528\u4e8e\u79fb\u52a8\u548c\u684c\u9762\u7684JavaScript\u56fe\u50cf\u5e93, \u56fe\u7247\u9884\u89c8","url":"http://photoswipe.com/","urls":{"-3":"https://github.com/dimsemenov/PhotoSwipe"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u7247\u9884\u89c8"],"ownVisible":false,"id":220},{"name":"viewerjs","desc":"javascript\u56fe\u7247\u9884\u89c8","url":"https://fengyuanchen.github.io/viewerjs/","urls":{"-3":"https://github.com/fengyuanchen/viewerjs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u7247\u9884\u89c8"],"ownVisible":false,"id":221}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u97f3\u9891/\u89c6\u9891","nav":[{"icon":"https://howlerjs.com/assets/images/favicon.ico","name":"howler.js","desc":"\u73b0\u4ee3 Web \u97f3\u9891 javascript \u5e93","url":"https://howlerjs.com/","urls":{"-3":"https://github.com/goldfire/howler.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u97f3\u9891/\u89c6\u9891"],"ownVisible":false,"id":222},{"name":"DPlayer","desc":"\u54c7\uff0c\u8fd9\u4e48\u53ef\u7231\u7684HTML5 danmaku\u89c6\u9891\u64ad\u653e\u5668","url":"http://dplayer.js.org/#/zh-Hans/","urls":{"-2":"http://dplayer.js.org/#/home","-1":"http://dplayer.js.org/#/zh-Hans/","-3":"https://github.com/MoePlayer/DPlayer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u97f3\u9891/\u89c6\u9891"],"ownVisible":false,"id":223},{"name":"APlayer","desc":"\u54c7\uff0c\u8fd9\u4e48\u53ef\u7231\u7684HTML5\u97f3\u4e50\u64ad\u653e\u5668","url":"https://aplayer.js.org/#/zh-Hans/","urls":{"-2":"http://aplayer.js.org/","-1":"https://aplayer.js.org/#/zh-Hans/","-3":"https://github.com/MoePlayer/APlayer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u97f3\u9891/\u89c6\u9891"],"ownVisible":false,"id":224}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fe\u5f62","nav":[{"icon":"https://threejs.org/files/favicon.ico","name":"three.js","desc":"JavaScript 3D\u5f15\u64ce","url":"https://threejs.org/","urls":{"-2":"https://threejs.org/","-1":"http://techbrood.com/threejs/docs","-3":"https://github.com/mrdoob/three.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u5f62"],"ownVisible":false,"id":225},{"name":"flowy","desc":"\u521b\u5efa\u6d41\u7a0b\u56fe\u7684\u6700\u5c0fJavaScript\u5e93","url":"https://github.com/alyssaxuu/flowy","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u5f62"],"ownVisible":false,"id":226},{"icon":"https://echarts.apache.org/examples/images/favicon.png","name":"incubator-echarts","desc":"\u6d4f\u89c8\u5668\u7684\u529f\u80fd\u5f3a\u5927\u7684\u4ea4\u4e92\u5f0f\u56fe\u8868\u548c\u53ef\u89c6\u5316\u5e93","url":"http://echarts.apache.org/","urls":{"-3":"https://github.com/apache/incubator-echarts"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u5f62"],"ownVisible":false,"id":227},{"icon":"https://avatars1.githubusercontent.com/u/1562726?s=200&v=4","name":"d3","desc":"\u501f\u52a9SVG\uff0cCanvas\u548cHTML\u4f7f\u6570\u636e\u6829\u6829\u5982\u751f\u3002","url":"https://github.com/d3/d3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u56fe\u5f62"],"ownVisible":false,"id":228}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"UI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://getuikit.com/images/favicon.png","name":"uikit","desc":"\u4e00\u6b3e\u8f7b\u91cf\u7ea7\u3001\u6a21\u5757\u5316\u7684\u524d\u7aef\u6846\u67b6\u53ef\u5feb\u901f\u6784\u5efa\u5f3a\u5927\u7684web\u524d\u7aef\u754c\u9762","url":"http://www.getuikit.net/","urls":{"-2":"https://getuikit.com/docs/installation","-1":"http://www.getuikit.net/","-3":"https://github.com/uikit/uikit"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","UI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":229}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u539f\u751fAPP\u4ea4\u4e92webview\u6865\u63a5","nav":[{"name":"JsBridge","desc":"android java\u548cjavascript\u6865\u63a5\uff0c\u7075\u611f\u6765\u81ea\u5fae\u4fe1webview jsbridge","url":"https://github.com/lzyzsd/JsBridge","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u539f\u751fAPP\u4ea4\u4e92webview\u6865\u63a5"],"ownVisible":false,"id":230},{"name":"DSBridge-Android","desc":"\u4e00\u4e2a\u73b0\u4ee3\u7684\u8de8\u5e73\u53f0JavaScript\u6865\u63a5\uff0c\u901a\u8fc7\u5b83\u60a8\u53ef\u4ee5\u5728JavaScript\u548c\u672c\u673a\u4e4b\u95f4\u540c\u6b65\u6216\u5f02\u6b65\u5730\u8c03\u7528\u5f7c\u6b64\u7684\u529f\u80fd","url":"https://github.com/wendux/DSBridge-Android","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u539f\u751fAPP\u4ea4\u4e92webview\u6865\u63a5"],"ownVisible":false,"id":231}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u53c2\u6570\u9a8c\u8bc1","nav":[{"name":"joi","desc":"\u5bf9\u8c61\u6a21\u5f0f\u9a8c\u8bc1","url":"https://github.com/hapijs/joi","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":232},{"name":"validator.js","desc":"\u5b57\u7b26\u4e32\u9a8c\u8bc1\u63d2\u4ef6\u3001\u8868\u5355\u9a8c\u8bc1","url":"https://github.com/chriso/validator.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":233},{"name":"async-validator","desc":"\u5f02\u6b65\u9a8c\u8bc1\u5668","url":"https://github.com/yiminghe/async-validator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":234},{"name":"yup","desc":"\u65e0\u6548\u7684\u7b80\u5355\u5bf9\u8c61\u67b6\u6784\u9a8c\u8bc1","url":"https://runkit.com/jquense/yup","urls":{"-3":"https://github.com/jquense/yup#using-a-custom-locale-dictionary"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":235}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5e93","nav":[{"icon":"https://avatars2.githubusercontent.com/u/18673496?s=200&v=4","name":"localForage","desc":"\u79bb\u7ebf\u5b58\u50a8\uff0c\u4f7f\u7528\u7b80\u5355\u4f46\u529f\u80fd\u5f3a\u5927\u7684API\u5305\u88c5IndexedDB\uff0cWebSQL\u6216localStorage\u3002","url":"https://github.com/localForage/localForage","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6570\u636e\u5e93"],"ownVisible":false,"id":236}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u6b65\u9aa4\u5f15\u5bfc","nav":[{"icon":"https://avatars2.githubusercontent.com/u/2010360?s=200&v=4","name":"introjs","desc":"\u4e3a\u60a8\u7684\u7f51\u7ad9\u548c\u9879\u76ee\u63d0\u4f9b\u65b0\u529f\u80fd\u4ecb\u7ecd\u548c\u9010\u6b65\u7528\u6237\u6307\u5357\u7684\u66f4\u597d\u65b9\u6cd5","url":"https://introjs.com/","urls":{"-3":"https://github.com/usablica/intro.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6b65\u9aa4\u5f15\u5bfc"],"ownVisible":false,"id":237},{"icon":"https://avatars3.githubusercontent.com/u/17297725?s=200&v=4","name":"shepherd","desc":"\u5f15\u5bfc\u60a8\u7684\u7528\u6237\u6d4f\u89c8\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f","url":"https://shepherdjs.dev/","urls":{"-3":"https://github.com/shipshapecode/shepherd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6b65\u9aa4\u5f15\u5bfc"],"ownVisible":false,"id":238},{"name":"bootstrap-tour","desc":"\u4f7f\u7528Twitter Bootstrap Popovers\u5feb\u901f\u65b9\u4fbf\u5730\u8fdb\u884c\u4ea7\u54c1\u6d4f\u89c8","url":"http://bootstraptour.com/","urls":{"-3":"https://github.com/sorich87/bootstrap-tour"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","JavaScript","\u6b65\u9aa4\u5f15\u5bfc"],"ownVisible":false,"id":239}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"React","icon":"https://reactjs.org/favicon.ico","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","nav":[{"name":"React","desc":"\u7528\u4e8e\u6784\u5efa\u7528\u6237\u754c\u9762\u7684 JavaScript \u5e93","url":"https://zh-hans.reactjs.org/","urls":{"-2":"https://reactjs.org/","-1":"https://zh-hans.reactjs.org/","-3":"https://github.com/facebook/react/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":240},{"name":"React Router","desc":"React \u8def\u7531\u7ba1\u7406","url":"https://react-router.docschina.org/","urls":{"-2":"https://reacttraining.com/react-router/","-1":"https://react-router.docschina.org/","-3":"https://github.com/ReactTraining/react-router"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":241},{"icon":"https://avatars2.githubusercontent.com/u/13142323?s=200&v=4","name":"Redux","desc":"React \u72b6\u6001\u7ba1\u7406","url":"http://www.redux.org.cn/docs/react-redux/api.html","urls":{"-2":"https://redux.js.org/basics/usagewithreact","-1":"http://www.redux.org.cn/docs/react-redux/api.html","-3":"https://github.com/reduxjs/redux"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":242},{"name":"create-react-app","desc":"React\u5b98\u65b9\u811a\u624b\u67b6","url":"https://www.html.cn/create-react-app/","urls":{"-2":"https://facebook.github.io/create-react-app/","-1":"https://www.html.cn/create-react-app/","-3":"https://github.com/facebook/create-react-app"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":243}],"createdAt":"2021-01-23 09:32:06"},{"title":"Redux\u76f8\u5173","nav":[{"name":"React Redux","desc":"Redux\u7684\u5b98\u65b9React\u7ed1\u5b9a(\u901a\u5e38\u914d\u5408redux\u4f7f\u7528)","url":"https://react-redux.js.org/","urls":{"-3":"https://github.com/reduxjs/react-redux"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","Redux\u76f8\u5173"],"ownVisible":false,"id":244},{"name":"redux-actions","desc":"Redux\u7684Flux\u6807\u51c6action\u5b9e\u7528\u7a0b\u5e8f(\u7528\u4e8e\u751f\u6210action)","url":"https://redux-actions.js.org/","urls":{"-3":"https://github.com/redux-utilities/redux-actions"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","Redux\u76f8\u5173"],"ownVisible":false,"id":245},{"name":"redux-thunk","desc":"Redux\u7684Thunk\u4e2d\u95f4\u4ef6, \u7528\u4e8e\u5904\u7406\u5f02\u6b65\u903b\u8f91","url":"https://github.com/reduxjs/redux-thunk","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","Redux\u76f8\u5173"],"ownVisible":false,"id":246},{"icon":"https://avatars2.githubusercontent.com/u/24776643?s=200&v=4","name":"redux-saga","desc":"\u4e00\u4e2a\u65e8\u5728\u4f7f\u5e94\u7528\u7a0b\u5e8f\u526f\u4f5c\u7528\uff08\u5373\u5f02\u6b65\u4e8b\u7269\uff0c\u5982\u6570\u636e\u83b7\u53d6\u548c\u4e0d\u7eaf\u7684\u4e1c\u897f\uff0c\u5982\u8bbf\u95ee\u6d4f\u89c8\u5668\u7f13\u5b58\uff09\u66f4\u5bb9\u6613\u7ba1\u7406\uff0c\u6267\u884c\u66f4\u9ad8\u6548\uff0c\u6613\u4e8e\u6d4b\u8bd5\uff0c\u4ee5\u53ca\u66f4\u597d\u5730\u5904\u7406\u6545\u969c\u7684\u5e93","url":"https://redux-saga.js.org/","urls":{"-3":"https://github.com/redux-saga/redux-saga"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","Redux\u76f8\u5173"],"ownVisible":false,"id":247}],"createdAt":"2021-01-23 09:32:06"},{"title":"React Native\u76f8\u5173","nav":[{"name":"React Native","desc":"\u4f7f\u7528React\u6784\u5efa\u539f\u751fAPP\u7a0b\u5e8f\u7684\u6846\u67b6","url":"https://reactnative.cn/docs/0.51/tutorial.html","urls":{"-2":"https://facebook.github.io/react-native/docs/getting-started.html","-1":"https://reactnative.cn/docs/0.51/tutorial.html","-3":"https://github.com/facebook/react-native"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","React Native\u76f8\u5173"],"ownVisible":false,"id":248},{"icon":"https://avatars0.githubusercontent.com/u/29647600?s=200&v=4","name":"React Navigation","desc":"\u4e3a\u60a8\u7684\u672c\u5730\u5e94\u7528\u7a0b\u5e8f\u63d0\u4f9b\u8def\u7531\u548c\u5bfc\u822a","url":"https://reactnavigation.org/zh-Hans/","urls":{"-2":"https://reactnavigation.org/en/","-1":"https://reactnavigation.org/zh-Hans/","-3":"https://github.com/react-navigation/react-navigation"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","React Native\u76f8\u5173"],"ownVisible":false,"id":249},{"icon":"https://avatars0.githubusercontent.com/u/12504344?s=200&v=4","name":"expo","desc":"\u7528\u4e8e\u5236\u4f5c\u8de8\u5e73\u53f0\u79fb\u52a8\u5e94\u7528\u7a0b\u5e8f\u7684Expo\u5e73\u53f0","url":"https://docs.expo.io","urls":{"-3":"https://github.com/expo/expo"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","React Native\u76f8\u5173"],"ownVisible":false,"id":250},{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"ant-design-mobile-rn","desc":"\u4e00\u4e2a\u57fa\u4e8e React Native \u7684 UI \u7ec4\u4ef6\u5e93","url":"https://rn.mobile.ant.design/index-cn","urls":{"-2":"https://rn.mobile.ant.design/","-1":"https://rn.mobile.ant.design/index-cn","-3":"https://github.com/ant-design/ant-design-mobile-rn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","React Native\u76f8\u5173"],"ownVisible":false,"id":251}],"createdAt":"2021-01-23 09:32:06"},{"title":"PC\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"Ant Design","desc":"Ant Design - A UI Design Language","url":"https://ant.design/docs/react/introduce-cn","urls":{"-2":"https://ant.design/docs/react/introduce","-1":"https://ant.design/docs/react/introduce-cn","-3":"https://github.com/ant-design/ant-design"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":252},{"icon":"https://material-ui.com/static/favicon.ico","name":"MATERIAL-UI","desc":"React \u7ec4\u4ef6\u7528\u4e8e\u66f4\u5feb\u901f\u3001\u66f4\u7b80\u4fbf\u7684 web \u5f00\u53d1\u3002\u4f60\u4e5f\u53ef\u4ee5\u5efa\u7acb\u4f60\u81ea\u5df1\u7684\u8bbe\u8ba1\u7cfb\u7edf\uff0c\u6216\u8005\u4ece Material Design \u5f00\u59cb","url":"https://material-ui.com/zh/","urls":{"-2":"https://material-ui.com/","-1":"https://material-ui.com/zh/","-3":"https://github.com/mui-org/material-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":253},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"element","desc":"elementUI\u7ec4\u4ef6\u5e93","url":"https://elemefe.github.io/element-react/#/zh-CN/quick-start","urls":{"-2":"https://elemefe.github.io/element-react/#/en-US/quick-start","-1":"https://elemefe.github.io/element-react/#/zh-CN/quick-start","-3":"https://github.com/ElemeFE/element-react"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":254},{"icon":"https://avatars0.githubusercontent.com/u/6853419?s=200&v=4","name":"react-bootstrap","desc":"\u57fa\u4e8eBootstrap 3\u6784\u5efa\u7684\u7ec4\u4ef6\u5e93","url":"https://react-bootstrap.github.io/getting-started/introduction","urls":{"-3":"https://github.com/react-bootstrap/react-bootstrap"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":255},{"name":"evergreen","desc":"Evergreen\u662f\u4e00\u4e2aReact UI\u6846\u67b6\uff0c\u7528\u4e8e\u5728Web\u4e0a\u6784\u5efa\u96c4\u5fc3\u52c3\u52c3\u7684\u4ea7\u54c1\u3002\u7531Segment\u5e26\u7ed9\u60a8\u3002","url":"https://evergreen.segment.com/","urls":{"-3":"https://github.com/segmentio/evergreen"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":256},{"name":"@alifd/next","desc":"@alifd/next \u662f Alibaba Fusion Design \u7684\u5b98\u65b9 React \u5b9e\u73b0, \u8d4b\u80fd\u4f01\u4e1a\u4e2d\u540e\u53f0\u4ea7\u54c1\u5f00\u53d1","url":"https://fusion.design/component/doc/102","urls":{"-3":"https://github.com/alibaba-fusion/next"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":257},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"zent","desc":"Zent \u662f\u6709\u8d5e PC \u7aef WebUI \u89c4\u8303\u7684 React \u5b9e\u73b0\uff0c\u63d0\u4f9b\u4e86\u4e00\u6574\u5957\u57fa\u7840\u7684 UI \u7ec4\u4ef6\u4ee5\u53ca\u4e00\u4e9b\u5e38\u7528\u7684\u4e1a\u52a1\u7ec4\u4ef6","url":"https://youzan.github.io/zent/zh/guides/install","urls":{"-3":"https://github.com/youzan/zent"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":258},{"name":"React95","desc":"\u88c5\u4fee\u4e00\u65b0\u7684\u73b0\u4ee3\u7684\u5e94\u7528\u7a0b\u5e8f\u505a\u51faReact Windows95\u7684UI\u7ec4\u4ef6\u3002","url":"https://arturbien.github.io/React95","urls":{"-3":"https://github.com/arturbien/React95"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":259},{"icon":"https://avatars1.githubusercontent.com/u/19635045?s=200&v=4","name":"rsuite","desc":"React Suite \u662f\u4e00\u5957 React \u7ec4\u4ef6\u5e93\uff0c\u4e3a\u540e\u53f0\u4ea7\u54c1\u800c\u751f\u3002\u540c\u65f6\u4e5f\u662f\u4e00\u4e2a\u5177\u6709\u8d34\u5fc3\u8bbe\u8ba1\u4ee5\u53ca\u5bf9\u5f00\u53d1\u8005\u53cb\u597d\u7684 UI \u6846\u67b6","url":"https://rsuitejs.com","urls":{"-3":"https://github.com/rsuite/rsuite"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":260},{"icon":"https://avatars2.githubusercontent.com/u/54212428?s=200&v=4","name":"chakra-ui","desc":"\u9002\u7528\u4e8e\u60a8\u7684React\u5e94\u7528\u7a0b\u5e8f\u7684\u7b80\u5355\uff0c\u6a21\u5757\u5316\u548c\u53ef\u8bbf\u95ee\u7684UI\u7ec4\u4ef6","url":"https://chakra-ui.com/","urls":{"-3":"https://github.com/chakra-ui/chakra-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":261}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"Ant Design Mobile","desc":"\u4e00\u4e2a\u57fa\u4e8e Preact / React / React Native \u7684 UI \u7ec4\u4ef6\u5e93","url":"https://mobile.ant.design/index-cn","urls":{"-2":"https://mobile.ant.design/","-1":"https://mobile.ant.design/index-cn","-3":"https://github.com/ant-design/ant-design-mobile/stargazers/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":262}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6\u7ec4\u4ef6\u5e93","nav":[{"name":"React Helmet","desc":"\u8fd9\u4e2a\u53ef\u91cd\u7528\u7684\u53cd\u5e94\u7ec4\u4ef6\u5c06\u7ba1\u7406\u5bf9\u6587\u6863\u5934\u7684\u6240\u6709\u66f4\u6539","url":"https://github.com/nfl/react-helmet","urls":{"-3":"https://github.com/nfl/react-helmet"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":263},{"name":"react-image-crop","desc":"\u7528\u4e8eReact\u7684\u54cd\u5e94\u5f0f\u56fe\u50cf\u88c1\u526a\u5de5\u5177","url":"https://github.com/DominicTobias/react-image-crop","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":264},{"name":"React Helmet","desc":"\u8fd9\u4e2a\u53ef\u91cd\u7528\u7684\u53cd\u5e94\u7ec4\u4ef6\u5c06\u7ba1\u7406\u5bf9\u6587\u6863\u5934\u7684\u6240\u6709\u66f4\u6539","url":"https://github.com/nfl/react-helmet","urls":{"-3":"https://github.com/nfl/react-helmet"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":265},{"name":"react-transition-group","desc":"\u5f53React\u7ec4\u4ef6\u8fdb\u5165\u6216\u79bb\u5f00DOM\u65f6\u6267\u884c\u52a8\u753b\u7684\u7b80\u5355\u65b9\u6cd5","url":"https://reactcommunity.org/react-transition-group/","urls":{"-2":"https://reactcommunity.org/react-transition-group/","-3":"https://github.com/reactjs/react-transition-group"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":266},{"name":"React Loadable","desc":"\u7528\u4e8e\u52a0\u8f7d\u5177\u6709promise\u7684\u7ec4\u4ef6\u7684\u66f4\u9ad8\u9636\u7ec4\u4ef6 - \u8def\u7531\u61d2\u52a0\u8f7d","url":"https://github.com/jamiebuilds/react-loadable","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":267},{"name":"react-swipe","desc":"\u57fa\u4e8eswipe.js\u5c01\u88c5\u7684react\u7ec4\u4ef6/\u8d70\u9a6c\u706f","url":"https://github.com/voronianski/react-swipe","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":268},{"name":"Ant Motion","desc":"\u4f7f\u7528 Ant Motion \u80fd\u591f\u5feb\u901f\u5728 React \u6846\u67b6\u4e2d\u4f7f\u7528\u52a8\u753b,\u6211\u4eec\u63d0\u4f9b\u4e86\u5355\u9879\uff0c\u7ec4\u5408\u52a8\u753b\uff0c\u4ee5\u53ca\u6574\u5957\u89e3\u51b3\u65b9\u6848","url":"https://motion.ant.design/","urls":{"-3":"https://github.com/ant-design/ant-motion/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":269},{"desc":"\u7f51\u7edc\u89c6\u9891\u64ad\u653e\u5668\u4f7f\u7528React\u5e93\u4ece\u5934\u5f00\u59cb\u6784\u5efaHTML5\u4e16\u754c","name":"video-react","url":"https://video-react.js.org/","urls":{"-3":"https://github.com/video-react/video-react"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":270},{"name":"react-keeper","desc":"\u4e00\u4e2areact\u8def\u7531\u5e93\uff0c\u66f4\u9002\u5408\u79fb\u52a8\u7aef\u4f7f\u7528\uff0c\u62e5\u6709\u7f13\u5b58\u7b49\u529f\u80fd","url":"https://github.com/vifird/react-keeper","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":271},{"name":"Fusion Design","desc":"\u57fa\u4e8eReact\u6784\u5efa\u7684Web\u53ef\u914d\u7f6e\u7ec4\u4ef6\u5e93","url":"https://fusion.design","urls":{"-3":"https://github.com/alibaba-fusion/next"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":272},{"icon":"https://avatars0.githubusercontent.com/u/13690587?s=200&v=4","name":"recharts","desc":"\u57fa\u4e8e React\u548cD3 \u7684\u7ec4\u5408\u5f0f\u56fe\u8868\u5e93","url":"http://recharts.org/zh-CN/","urls":{"-3":"https://github.com/recharts/recharts"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":273},{"name":"react-json-view","desc":"JSON\u67e5\u770b\u5668","url":"https://mac-s-g.github.io/react-json-view/demo/dist/","urls":{"-3":"https://github.com/mac-s-g/react-json-view"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":274},{"name":"BizCharts","desc":"\u57fa\u4e8eG2\u548cReact\u7684\u5f3a\u5927\u6570\u636e\u53ef\u89c6\u5316\u5e93","url":"https://bizcharts.net/products/bizCharts","urls":{"-3":"https://github.com/alibaba/BizCharts"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":275},{"name":"react-draggable","desc":"\u4e00\u4e2a\u7b80\u5355\u7684\u7ec4\u4ef6\uff0c\u7528\u4e8e\u4f7f\u5143\u7d20\u53ef\u62d6\u52a8","url":"https://github.com/mzabriskie/react-draggable","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":276},{"name":"react-slick","desc":"react\u8d70\u9a6c\u706f\u7ec4\u4ef6","url":"https://react-slick.neostack.com/","urls":{"-3":"https://github.com/akiran/react-slick"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":277},{"name":"react-color","desc":"react \u62fe\u8272\u5668","url":"http://casesandberg.github.io/react-color/","urls":{"-3":"https://github.com/casesandberg/react-color"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":278},{"icon":"https://avatars1.githubusercontent.com/u/50559490?s=200&v=4","name":"react-intl","desc":"\u56fd\u9645\u5316React\u5e94\u7528\u7a0b\u5e8f\u3002\u8fd9\u4e2a\u5e93\u63d0\u4f9b\u4e86React\u7ec4\u4ef6\u548c\u4e00\u4e2aAPI\uff0c\u7528\u4e8e\u683c\u5f0f\u5316\u65e5\u671f\uff0c\u6570\u5b57\u548c\u5b57\u7b26\u4e32\uff0c\u5305\u62ec\u590d\u6570\u5f62\u5f0f\u548c\u5904\u7406\u7ffb\u8bd1","url":"https://github.com/formatjs/react-intl","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":279},{"icon":"https://avatars3.githubusercontent.com/u/1763971?s=200&v=4","name":"react-data-grid","desc":"\u4f7f\u7528React\u6784\u5efa\u7684\u7c7b\u4f3c\u4e8eExcel\u7684\u7f51\u683c\u7ec4\u4ef6\uff0c\u5177\u6709\u7f16\u8f91\u5668\uff0c\u952e\u76d8\u5bfc\u822a\uff0c\u590d\u5236\u548c\u7c98\u8d34\u7b49\u529f\u80fd","url":"http://adazzle.github.io/react-data-grid/","urls":{"-3":"https://github.com/adazzle/react-data-grid"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":280},{"icon":"https://cloud.githubusercontent.com/assets/29597/11736841/c0497158-9f87-11e5-8dfe-9c0be97d4286.png","name":"react-virtualized","desc":"React\u7ec4\u4ef6\u53ef\u6709\u6548\u5448\u73b0\u5927\u578b\u5217\u8868\u548c\u8868\u683c\u6570\u636e","url":"http://www.reactvirtualized.com","urls":{"-3":"https://github.com/bvaughn/react-virtualized"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":281},{"icon":"https://avatars3.githubusercontent.com/u/5078602?s=200&v=4","name":"react-live","desc":"\u4e00\u4e2a\u7528\u4e8e\u5b9e\u65f6\u7f16\u8f91React\u7ec4\u4ef6\u7684\u7075\u6d3b\u7ec4\u4ef6\u5e93","url":"https://react-live.netlify.com/","urls":{"-3":"https://github.com/FormidableLabs/react-live"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":282},{"icon":"https://jaredpalmer.com/formik/img/favicon.png","name":"formik","desc":"\u5728React\u4e2d\u8f7b\u677e\u521b\u5efa\u8868\u5355","url":"https://jaredpalmer.com/formik/docs/overview","urls":{"-3":"https://github.com/jaredpalmer/formik"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":283}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u62d6\u62fd\u7ec4\u4ef6","nav":[{"name":"react-move","icon":"https://github.com/favicon.ico","url":"https://github.com/daybrush/moveable/tree/master/packages/react-moveable","desc":"\u4e00\u4e2aReact\u7ec4\u4ef6\uff0c\u5b83\u521b\u5efa\u53ef\u79fb\u52a8\uff0c\u53ef\u62d6\u52a8\uff0c\u53ef\u8c03\u6574\u5927\u5c0f\uff0c\u53ef\u7f29\u653e\uff0c\u53ef\u65cb\u8f6c\uff0c\u53ef\u626d\u66f2\uff0c\u53ef\u6536\u7f29\uff0c\u53ef\u5206\u7ec4\uff0c\u53ef\u6355\u6349\u3002","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u62d6\u62fd\u7ec4\u4ef6"],"ownVisible":false,"id":284},{"icon":"https://avatars2.githubusercontent.com/u/25307599?s=200&v=4","name":"react-dnd","desc":"React DnD\u662f\u4e00\u7ec4React\u5b9e\u7528\u7a0b\u5e8f\uff0c\u53ef\u5e2e\u52a9\u60a8\u6784\u5efa\u590d\u6742\u7684\u62d6\u653e\u63a5\u53e3\uff0c\u540c\u65f6\u4fdd\u6301\u7ec4\u4ef6\u5206\u79bb","url":"https://react-dnd.github.io/react-dnd/about","urls":{"-3":"https://github.com/react-dnd/react-dnd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u62d6\u62fd\u7ec4\u4ef6"],"ownVisible":false,"id":285},{"name":"react-beautiful-dnd","desc":"\u6f02\u4eae\u7684\u548c\u53ef\u8bbf\u95ee\u7684\u62d6\u653e\u5217\u8868","url":"https://github.com/atlassian/react-beautiful-dnd","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u62d6\u62fd\u7ec4\u4ef6"],"ownVisible":false,"id":286},{"name":"react-rnd","desc":"\u4e00\u4e2a\u53ef\u8c03\u6574\u5927\u5c0f\u4e14\u53ef\u62d6\u52a8\u7684React\u7ec4\u4ef6\u3002","url":"https://bokuweb.github.io/react-rnd/stories","urls":{"-3":"https://github.com/bokuweb/react-rnd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u62d6\u62fd\u7ec4\u4ef6"],"ownVisible":false,"id":287}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5f00\u7bb1\u5373\u7528","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"ANT DESIGN PRO","desc":"\u5f00\u7bb1\u5373\u7528\u7684\u4e2d\u53f0\u524d\u7aef/\u8bbe\u8ba1\u89e3\u51b3\u65b9\u6848","url":"https://pro.ant.design/","urls":{"-1":"https://pro.ant.design/","-3":"https://github.com/ant-design/ant-design-pro/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5f00\u7bb1\u5373\u7528"],"ownVisible":false,"id":288}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5355\u5143\u6d4b\u8bd5","nav":[{"name":"enzyme","desc":"\u9002\u7528\u4e8eReact\u7684JavaScript\u6d4b\u8bd5\u5b9e\u7528\u7a0b\u5e8f","url":"https://enzymejs.github.io/enzyme/","urls":{"-3":"https://github.com/enzymejs/enzyme"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":289},{"name":"Jest","desc":"Jest\u662f\u4e00\u4e2a\u4ee4\u4eba\u6109\u5feb\u7684JavaScript\u6d4b\u8bd5\u6846\u67b6\uff0c\u4e13\u6ce8\u4e8e\u7b80\u5355\u6027\u3002","url":"https://jestjs.io/zh-Hans/","urls":{"-3":"https://github.com/facebook/jest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":290}],"createdAt":"2021-01-23 09:32:06"},{"title":"umi/dva","nav":[{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umijs","desc":"\u63d2\u4ef6\u5316\u7684\u4f01\u4e1a\u7ea7\u524d\u7aef\u5e94\u7528\u6846\u67b6\u3002","url":"https://umijs.org/zh-CN","urls":{"-2":"https://umijs.org/","-1":"https://umijs.org/zh-CN","-3":"https://github.com/umijs/umi"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","umi/dva"],"ownVisible":false,"id":291},{"icon":"https://avatars1.githubusercontent.com/u/20552239?s=200&v=4","name":"DvaJS","desc":"\u57fa\u4e8eReact\u548cRedux\u7684\u8f7b\u91cf\u7ea7\u548celm\u98ce\u683c\u6846\u67b6","url":"https://dvajs.com/","urls":{"-3":"https://github.com/dvajs/dva"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","umi/dva"],"ownVisible":false,"id":292},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umijs/hooks","desc":"\u4f60\u53ef\u4ee5\u5c06 umi hooks \u4f7f\u7528\u5728\u4efb\u4f55\u5730\u65b9\uff0c\u548c\u4efb\u610f\u7ec4\u4ef6\u5e93\u642d\u914d\u4f7f\u7528\u3002\u867d\u7136\u6211\u4eec\u7684\u4ee3\u7801\u793a\u4f8b\u90fd\u662f\u57fa\u4e8e ant design \u7684\uff0c\u4f46\u662f\u5e76\u4e0d\u4ee3\u8868\u6211\u4eec\u7684 Hooks \u53ea\u80fd\u548c ant design \u914d\u5408\u4f7f\u7528","url":"https://hooks.umijs.org/","urls":{"-1":"https://hooks.umijs.org/","-3":"https://github.com/umijs/hooks"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","umi/dva"],"ownVisible":false,"id":293},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umi-plugin-cache-route","desc":"\u8def\u7531\u7f13\u5b58\uff0c\u7c7b\u4f3cvue keep-alive","url":"https://www.npmjs.com/package/umi-plugin-cache-route","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","umi/dva"],"ownVisible":false,"id":294}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u77e5\u8bc6","nav":[{"name":"React.js \u5c0f\u4e66","desc":"\u8fd9\u662f\u4e00\u672c\u5173\u4e8e React.js \u7684\u5c0f\u4e66","url":"http://huziketang.mangojuice.top/books/react/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u77e5\u8bc6"],"ownVisible":false,"id":295},{"name":"TypeScript-React-Starter","desc":"TypeScript\u548cReact\u7684\u5165\u95e8\u6a21\u677f\uff0c\u5e26\u6709\u8be6\u7ec6\u7684README\uff0c\u63cf\u8ff0\u4e86\u5982\u4f55\u5c06\u4e24\u8005\u7ed3\u5408\u4f7f\u7528\u3002","url":"https://github.com/Microsoft/TypeScript-React-Starter","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u77e5\u8bc6"],"ownVisible":false,"id":296},{"name":"react-redux-typescript-guide","desc":"TypeScript\u4e2d\u7684React\u548c Redux - \u4f7f\u7528\u8bf4\u660e","url":"https://piotrwitek.github.io/react-redux-typescript-guide/","urls":{"-3":"https://github.com/piotrwitek/react-redux-typescript-guide"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u77e5\u8bc6"],"ownVisible":false,"id":297}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://avatars1.githubusercontent.com/u/17475736?s=200&v=4","name":"Mobx","desc":"\u7b80\u5355\u3001\u53ef\u6269\u5c55\u7684\u72b6\u6001\u7ba1\u7406","url":"https://cn.mobx.js.org/","urls":{"-2":"https://mobx.js.org/","-1":"https://cn.mobx.js.org/","-3":"https://github.com/mobxjs/mobx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6"],"ownVisible":false,"id":298},{"name":"next.js","desc":"\u670d\u52a1\u7aef\u6e32\u67d3\u6846\u67b6\u3001SEO\u89e3\u51b3\u65b9\u6848","url":"https://www.nextjs.cn/","urls":{"-2":"https://nextjs.org/","-1":"https://www.nextjs.cn/","-3":"https://github.com/zeit/next.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6"],"ownVisible":false,"id":299},{"name":"nwb","desc":"\u9002\u7528\u4e8eWeb\u7684React\uff0cPreact\uff0cInferno\u548cVanilla JS\u5e94\u7528\uff0cReact\u5e93\u548c\u5176\u4ed6npm\u6a21\u5757\u7684\u5de5\u5177\u5305\uff0c\u65e0\u9700\u914d\u7f6e","url":"https://github.com/insin/nwb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6"],"ownVisible":false,"id":300},{"name":"ahooks","desc":"\u4e3a React Hooks \u800c\u751f","url":"https://ahooks.js.org/zh-CN","urls":{"-3":"https://github.com/alibaba/hooks"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6"],"ownVisible":false,"id":301},{"name":"react-app-rewired","desc":"\u8986\u76d6create-react-app webpack\u914d\u7f6e\u800c\u4e0d\u5f39\u51fa","url":"https://github.com/timarney/react-app-rewired","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","React","\u5176\u4ed6"],"ownVisible":false,"id":302}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Vue.js","icon":"https://v3.vuejs.org/images/icons/apple-icon-152x152.png","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","nav":[{"name":"Vue.js","desc":"\u6e10\u8fdb\u5f0fJavaScript \u6846\u67b6","url":"https://cn.vuejs.org/","urls":{"-2":"https://vuejs.org/index.html","-1":"https://cn.vuejs.org/","-3":"https://github.com/vuejs/vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":303},{"name":"Vue Router","desc":"Vue Router \u662f Vue.js \u5b98\u65b9\u7684\u8def\u7531\u7ba1\u7406\u5668","url":"https://router.vuejs.org/zh/","urls":{"-2":"https://router.vuejs.org/","-1":"https://router.vuejs.org/zh/","-3":"https://github.com/vuejs/vue-router"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":304},{"name":"Vuex","desc":"Vuex \u662f\u4e00\u4e2a\u4e13\u4e3a Vue.js \u5e94\u7528\u7a0b\u5e8f\u5f00\u53d1\u7684\u72b6\u6001\u7ba1\u7406\u6a21\u5f0f\u3002","url":"https://vuex.vuejs.org/zh/","urls":{"-2":"https://vuex.vuejs.org/","-1":"https://vuex.vuejs.org/zh/","-3":"https://github.com/vuejs/vuex"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":305},{"name":"vue-devtools","desc":"vue.js\u8c03\u8bd5\u5de5\u5177","url":"https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd","urls":{"-3":"https://github.com/vuejs/vue-devtools"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":306},{"name":"vue-cli","desc":"Vue.js\u5f00\u53d1\u7684\u6807\u51c6\u811a\u624b\u67b6\u5de5\u5177","url":"https://cli.vuejs.org/zh/","urls":{"-2":"https://cli.vuejs.org/","-1":"https://cli.vuejs.org/zh/","-3":"https://github.com/vuejs/vue-cli"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":307},{"name":"vuepress","desc":"Vue \u9a71\u52a8\u7684\u9759\u6001\u7f51\u7ad9\u751f\u6210\u5668","url":"https://vuepress.vuejs.org/zh/","urls":{"-2":"https://vuepress.vuejs.org/","-1":"https://vuepress.vuejs.org/zh/","-3":"https://github.com/vuejs/vuepress"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":308},{"name":"Vue SSR","desc":"Vue\u670d\u52a1\u7aef\u6e32\u67d3\u3001SEO\u89e3\u51b3\u65b9\u6848","url":"https://vuepress.vuejs.org/zh/","urls":{"-2":"https://ssr.vuejs.org/","-1":"https://ssr.vuejs.org/zh/","-3":"https://github.com/vuejs/vue-ssr-docs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":309},{"name":"vue-class-component","desc":"\u7528\u4e8e\u7c7b\u5f0fVue\u7ec4\u4ef6\u7684ECMAScript / TypeScript\u88c5\u9970\u5668\u3002","url":"https://github.com/vuejs/vue-class-component","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":310},{"name":"eslint-plugin-vue","desc":"Vue.js\u7684\u5b98\u65b9ESLint\u63d2\u4ef6","url":"https://eslint.vuejs.org/","urls":{"-3":"https://github.com/vuejs/eslint-plugin-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":311},{"name":"vite","desc":"Vite\u662f\u4e00\u4e2a\u7ecf\u8fc7\u9a8c\u8bc1\u7684Web\u5f00\u53d1\u4eba\u5458\u6784\u5efa\u5de5\u5177\uff0c\u53ef\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u901a\u8fc7\u672c\u673aES\u6a21\u5757\u5bfc\u5165\u4e3a\u60a8\u7684\u4ee3\u7801\u63d0\u4f9b\u670d\u52a1\uff0c\u5e76\u5c06\u5176\u4e0eRollup\u6346\u7ed1\u5728\u4e00\u8d77\u8fdb\u884c\u751f\u4ea7","url":"https://github.com/vitejs/vite","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":312},{"name":"Vue \u7ec4\u5408\u5f0f API","desc":"Vue \u7ec4\u5408\u5f0f API\u5728\u7ebf\u6587\u6863\u9605\u8bfb","url":"https://composition-api.vuejs.org/zh","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":313}],"createdAt":"2021-01-23 09:32:06"},{"title":"PC\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://avatars0.githubusercontent.com/u/20693613?s=200&v=4","name":"iView","desc":"\u4e00\u5957\u57fa\u4e8e Vue.js \u7684\u9ad8\u8d28\u91cfUI \u7ec4\u4ef6\u5e93","url":"https://www.iviewui.com/docs/guide/install","urls":{"-2":"https://www.iviewui.com/","-1":"https://www.iviewui.com/docs/guide/install","-3":"https://github.com/iview/iview"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":314},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Element","desc":"\u4e00\u5957\u4e3a\u5f00\u53d1\u8005\u3001\u8bbe\u8ba1\u5e08\u548c\u4ea7\u54c1\u7ecf\u7406\u51c6\u5907\u7684\u57fa\u4e8e Vue 2.0 \u7684\u684c\u9762\u7aef\u7ec4\u4ef6\u5e93","url":"http://element-cn.eleme.io/#/zh-CN","urls":{"-2":"http://element-cn.eleme.io/#/en-US","-1":"http://element-cn.eleme.io/#/zh-CN","-3":"https://github.com/ElemeFE/element"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":315},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Element Plus","desc":"\u652f\u6301Vue3.0\u7684Element","url":"https://element-plus.org/#/zh-CN","urls":{"-3":"https://github.com/element-plus/element-plus"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":316},{"icon":"https://avatars0.githubusercontent.com/u/22283362?s=200&v=4","name":"Muse-UI","desc":"\u57fa\u4e8e Vue 2.0 \u4f18\u96c5\u7684 Material Design UI \u7ec4\u4ef6\u5e93","url":"https://muse-ui.org/#/zh-CN","urls":{"-2":"https://muse-ui.org/#/en-US/","-1":"https://muse-ui.org/#/zh-CN","-3":"https://github.com/museui/muse-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":317},{"icon":"https://qn.antdv.com/favicon.ico","name":"Ant Design Vue","desc":"\u8fd9\u91cc\u662f Ant Design \u7684 Vue \u5b9e\u73b0\uff0c\u5f00\u53d1\u548c\u670d\u52a1\u4e8e\u4f01\u4e1a\u7ea7\u540e\u53f0\u4ea7\u54c1","url":"https://antdv.com/docs/vue/introduce-cn/","urls":{"-2":"https://antdv.com/docs/vue/introduce/","-1":"https://antdv.com/docs/vue/introduce-cn/","-3":"https://github.com/vueComponent/ant-design-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":318},{"icon":"https://avatars2.githubusercontent.com/u/22138497?s=200&v=4","name":"vuetify","desc":"\u8ba9Vue\u548cMaterial Design\u7684\u5f3a\u5927\u529b\u91cf\u5728\u5f00\u53d1\u4e0a\u52a9\u60a8\u4e00\u81c2\u4e4b\u529b","url":"https://vuetifyjs.com/zh-Hans/","urls":{"-2":"https://vuetifyjs.com/en/","-1":"https://vuetifyjs.com/zh-Hans/","-3":"https://github.com/vuetifyjs/vuetify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":319},{"icon":"https://avatars1.githubusercontent.com/u/22965283?s=200&v=4","name":"bootstrap-vue","desc":"BootstrapVue\u4e3aVue.js\u63d0\u4f9b\u4e86\u6700\u5168\u9762\u7684Bootstrap 4\u7ec4\u4ef6\u548c\u7f51\u683c\u7cfb\u7edf\u5b9e\u73b0\u4e4b\u4e00\uff0c\u5e76\u63d0\u4f9b\u4e86\u5e7f\u6cdb\u7684\u81ea\u52a8WAI-ARIA\u53ef\u8bbf\u95ee\u6027\u6807\u8bb0","url":"https://bootstrap-vue.js.org/","urls":{"-3":"https://github.com/bootstrap-vue/bootstrap-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":320},{"icon":"https://avatars0.githubusercontent.com/u/23659108?s=200&v=4","name":"vue-material","desc":"Vue material\u7b80\u5355\uff0c\u8f7b\u5de7\uff0c\u5b8c\u5168\u7b26\u5408Google Material Design\u89c4\u8303","url":"https://vuematerial.io","urls":{"-3":"https://github.com/vuematerial/vue-material"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":321},{"icon":"https://avatars1.githubusercontent.com/u/26799900?s=200&v=4","name":"buefy","desc":"Buefy\u662f\u4e00\u4e2a\u57fa\u4e8eBulma\u6846\u67b6\u548c\u8bbe\u8ba1\u7684Vue.js\u54cd\u5e94\u5f0fUI\u7ec4\u4ef6\u7684\u8f7b\u91cf\u7ea7\u5e93\u3002","url":"https://buefy.org","urls":{"-3":"https://github.com/buefy/buefy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":322}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"vant","desc":"\u8f7b\u91cf\u3001\u53ef\u9760\u7684\u79fb\u52a8\u7aef Vue \u7ec4\u4ef6\u5e93","url":"https://youzan.github.io/vant/#/zh-CN/intro","urls":{"-2":"https://youzan.github.io/vant/#/en-US/intro","-1":"https://youzan.github.io/vant/#/zh-CN/intro","-3":"https://github.com/youzan/vant"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":323},{"name":"vux","desc":"\u4e00\u4e2a\u51d1\u5408\u7684 Vue.js \u79fb\u52a8\u7aef UI \u7ec4\u4ef6\u5e93","url":"https://vux.li/","urls":{"-1":"https://vux.li/","-3":"https://github.com/airyland/vux"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":324},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"cube-ui","desc":"\u57fa\u4e8e Vue.js \u5b9e\u73b0\u7684\u7cbe\u81f4\u79fb\u52a8\u7aef\u7ec4\u4ef6\u5e93","url":"https://didi.github.io/cube-ui/#/zh-CN","urls":{"-2":"https://didi.github.io/cube-ui/#/en-US","-1":"https://didi.github.io/cube-ui/#/zh-CN","-3":"https://github.com/didi/cube-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":325},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"Mand Mobile","desc":"\u9762\u5411\u91d1\u878d\u573a\u666f\u7684Vue\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93\uff0c\u4e30\u5bcc\u3001\u7075\u6d3b\u3001\u5b9e\u7528\uff0c\u5feb\u901f\u642d\u5efa\u4f18\u8d28\u7684\u91d1\u878d\u7c7b\u4ea7\u54c1\uff0c\u8ba9\u590d\u6742\u7684\u91d1\u878d\u573a\u666f\u53d8\u7b80\u5355","url":"https://didi.github.io/mand-mobile/#/zh-CN/home","urls":{"-2":"https://didi.github.io/mand-mobile/#/en-US/home","-1":"https://didi.github.io/mand-mobile/#/zh-CN/home","-3":"https://github.com/didi/mand-mobile"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":326},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Mint UI","desc":"\u57fa\u4e8e Vue.js \u7684\u79fb\u52a8\u7aef\u7ec4\u4ef6\u5e93","url":"http://mint-ui.github.io/#!/zh-cn","urls":{"-2":"http://mint-ui.github.io/#!/en","-1":"http://mint-ui.github.io/#!/zh-cn","-3":"https://github.com/ElemeFE/mint-ui/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":327},{"name":"NutUI","desc":"\u4e00\u5957\u4eac\u4e1c\u98ce\u683c\u7684\u8f7b\u91cf\u7ea7\u79fb\u52a8\u7aefVue\u7ec4\u4ef6\u5e93","url":"https://nutui.jd.com","urls":{"-3":"https://github.com/jdf2e/nutui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":328}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6\u7ec4\u4ef6/\u63d2\u4ef6","nav":[{"name":"vue-awesome-swiper","desc":"\u57fa\u4e8eswiper\u5c01\u88c5\u7684\u8f6e\u64ad\u56fe\u7ec4\u4ef6","url":"https://surmon-china.github.io/vue-awesome-swiper/","urls":{"-3":"https://github.com/surmon-china/vue-awesome-swiper"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u5176\u4ed6\u7ec4\u4ef6/\u63d2\u4ef6"],"ownVisible":false,"id":329},{"name":"vue-meta","desc":"\u7ba1\u7406Vue 2.0\u7ec4\u4ef6\u4e2d\u7684\u9875\u9762\u5143\u4fe1\u606f\u3002\u652f\u6301SSR + Streaming","url":"https://github.com/nuxt/vue-meta","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u5176\u4ed6\u7ec4\u4ef6/\u63d2\u4ef6"],"ownVisible":false,"id":330},{"name":"vue-scroller","desc":"Vue Scroller\u662fVonic UI \u7684\u57fa\u7840\u7ec4\u4ef6\u3002\u4e3a\u4e86\u5e73\u6ed1\u6eda\u52a8\uff0c\u62c9\u52a8\u5237\u65b0\u548c\u65e0\u9650\u52a0\u8f7d\u3002","url":"https://wangdahoo.github.io/vue-scroller/#/","urls":{"-3":"https://github.com/wangdahoo/vue-scroller"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u5176\u4ed6\u7ec4\u4ef6/\u63d2\u4ef6"],"ownVisible":false,"id":331},{"name":"vue-infinite-loading","desc":"Vue.js\u7684\u65e0\u9650\u6eda\u52a8\u63d2\u4ef6(\u652f\u6301\u5411\u4e0a\u548c\u5411\u4e0b)","url":"https://peachscript.github.io/vue-infinite-loading/zh/","urls":{"-3":"https://github.com//PeachScript/vue-infinite-loading"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u5176\u4ed6\u7ec4\u4ef6/\u63d2\u4ef6"],"ownVisible":false,"id":332}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5f00\u7bb1\u5373\u7528","nav":[{"name":"iview-admin","desc":"\u57fa\u4e8eiView\u7684Vue 2.0\u7ba1\u7406\u7cfb\u7edf\u6a21\u677f","url":"https://admin.iviewui.com/login","urls":{"-3":"https://github.com/iview/iview-admin"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","\u5f00\u7bb1\u5373\u7528"],"ownVisible":false,"id":333}],"createdAt":"2021-01-23 09:32:06"},{"title":"nuxt\u670d\u52a1\u7aef\u6e32\u67d3\u6846\u67b6","nav":[{"icon":"https://avatars2.githubusercontent.com/u/23360933?s=200&v=4","name":"nuxt","desc":"Vue.js \u901a\u7528\u5e94\u7528\u6846\u67b6","url":"https://zh.nuxtjs.org/","urls":{"-2":"https://nuxtjs.org/","-1":"https://zh.nuxtjs.org/","-3":"https://github.com/nuxt/nuxt.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","nuxt\u670d\u52a1\u7aef\u6e32\u67d3\u6846\u67b6"],"ownVisible":false,"id":334},{"icon":"https://avatars2.githubusercontent.com/u/23360933?s=200&v=4","name":"\u521b\u5efanuxt\u7684\u811a\u624b\u67b6\u5de5\u5177","desc":"create-nuxt-app","url":"https://github.com/nuxt/create-nuxt-app","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Vue.js","nuxt\u670d\u52a1\u7aef\u6e32\u67d3\u6846\u67b6"],"ownVisible":false,"id":335}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Angular","icon":"https://avatars0.githubusercontent.com/u/139426?s=200&v=4","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","nav":[{"name":"Angular","desc":"\u4e00\u4e2a\u6846\u67b6\uff0c\u79fb\u52a8 & \u684c\u9762","url":"https://www.angular.cn/","urls":{"-2":"https://angular.io/","-1":"https://www.angular.cn/","-3":"https://github.com/angular/angular"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":336},{"name":"angular-cli","desc":"\u7528\u4e8eAngular CLI\u811a\u624b\u67b6\u5de5\u5177","url":"https://cli.angular.io/","urls":{"-2":"https://cli.angular.io/","-3":"https://github.com/angular/angular-cli"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":337},{"name":"augury","desc":"Angular\u8c03\u8bd5\u548c\u53ef\u89c6\u5316\u5de5\u5177","url":"https://augury.angular.io/","urls":{"-2":"https://augury.angular.io/","-3":"https://github.com/rangle/augury"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","\u751f\u6001\u7cfb\u7edf"],"ownVisible":false,"id":338}],"createdAt":"2021-01-23 09:32:06"},{"title":"PC\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"icon":"https://avatars2.githubusercontent.com/u/30223759?s=200&v=4","name":"NG-ZORRO","desc":"\u57fa\u4e8eAnt Design\u7684Angular\u4f01\u4e1a\u7ea7UI\u7ec4\u4ef6","url":"http://ng.ant.design/docs/introduce/zh","urls":{"-2":"http://ng.ant.design/docs/introduce/en","-1":"http://ng.ant.design/docs/introduce/zh","-3":"https://github.com/NG-ZORRO/ng-zorro-antd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":339},{"icon":"https://avatars3.githubusercontent.com/u/14283866?s=200&v=4","name":"ng-bootstrap","desc":"\u57fa\u4e8eBootstrap 4\u7684Angular\u7ec4\u4ef6","url":"https://ng-bootstrap.github.io/#/components/accordion/examples","urls":{"-2":"https://ng-bootstrap.github.io/#/components/accordion/examples","-3":"https://github.com/ng-bootstrap/ng-bootstrap"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":340},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"element-angular","desc":"Element Angular\u7ec4\u4ef6\u5e93","url":"https://element-angular.faas.ele.me/guide/install","urls":{"-2":"https://element-angular.faas.ele.me/","-1":"https://element-angular.faas.ele.me/guide/install","-3":"https://github.com/ElemeFE/element-angular"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":341},{"icon":"https://avatars1.githubusercontent.com/u/3494069?s=200&v=4","name":"primeng","desc":"PrimeNG\u662fAngular\u7684\u4e30\u5bccUI\u7ec4\u4ef6\u7684\u96c6\u5408","url":"https://www.primefaces.org/primeng/#/button","urls":{"-3":"https://github.com/primefaces/primeng"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":342},{"name":"material","desc":"Material Design\u662f\u4e00\u4e2a\u7edf\u4e00\u7684\u89c6\u89c9\uff0c\u52a8\u4f5c\u548c\u4ea4\u4e92\u8bbe\u8ba1\u7cfb\u7edf\u7684\u89c4\u8303\uff0c\u9002\u7528\u4e8e\u4e0d\u540c\u7684\u8bbe\u5907\u3002","url":"https://www.primefaces.org/primeng/#/button","urls":{"-3":"https://github.com/angular/material"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","PC\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":343}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93","nav":[{"name":"material","desc":"Material Design\u662f\u4e00\u4e2a\u7edf\u4e00\u7684\u89c6\u89c9\uff0c\u52a8\u4f5c\u548c\u4ea4\u4e92\u8bbe\u8ba1\u7cfb\u7edf\u7684\u89c4\u8303\uff0c\u9002\u7528\u4e8e\u4e0d\u540c\u7684\u8bbe\u5907\u3002","url":"https://www.primefaces.org/primeng/#/button","urls":{"-3":"https://github.com/angular/material"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","Angular","\u79fb\u52a8\u7aefUI\u7ec4\u4ef6\u5e93"],"ownVisible":false,"id":344}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5fae\u4fe1\u5f00\u53d1","icon":"https://avatars0.githubusercontent.com/u/18461506?s=200&v=4","nav":[{"title":"\u5c0f\u7a0b\u5e8f\u6587\u6863","nav":[{"name":"\u5c0f\u7a0b\u5e8f\u5f00\u53d1","desc":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f","url":"https://developers.weixin.qq.com/miniprogram/dev/index.html","urls":{"-2":"https://developers.weixin.qq.com/miniprogram/en/dev/index.html?t=18082922","-1":"https://developers.weixin.qq.com/miniprogram/dev/index.html"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6587\u6863"],"ownVisible":false,"id":345},{"name":"\u5c0f\u6e38\u620f\u5f00\u53d1","desc":"\u5fae\u4fe1\u5c0f\u6e38\u620f","url":"https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922","urls":{"-2":"https://developers.weixin.qq.com/minigame/en/dev/index.html?t=18081820","-1":"https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6587\u6863"],"ownVisible":false,"id":346}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5c0f\u7a0b\u5e8f\u6846\u67b6","nav":[{"name":"mpvue","desc":"Vue.js \u5f00\u53d1\u5c0f\u7a0b\u5e8f\u7684\u524d\u7aef\u6846\u67b6\u3002\u6846\u67b6\u57fa\u4e8e Vue.js \u6838\u5fc3","url":"http://mpvue.com/","urls":{"-1":"http://mpvue.com/","-3":"https://github.com/Meituan-Dianping/mpvue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6846\u67b6"],"ownVisible":false,"id":347},{"name":"wepy","desc":"\u5b98\u65b9\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5316\u5f00\u53d1\u6846\u67b6","url":"https://tencent.github.io/wepy/","urls":{"-1":"https://tencent.github.io/wepy/","-3":"https://github.com/Tencent/wepy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6846\u67b6"],"ownVisible":false,"id":348},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"mpx","desc":"Mpx\u662f\u4e00\u6b3e\u81f4\u529b\u4e8e\u63d0\u9ad8\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u4f53\u9a8c\u7684\u589e\u5f3a\u578b\u5c0f\u7a0b\u5e8f\u6846\u67b6(\u6ef4\u6ef4\u51fa\u54c1\uff0c\u57fa\u4e8evue)","url":"https://didi.github.io/mpx/","urls":{"-1":"https://didi.github.io/mpx/","-3":"https://github.com/didi/mpx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6846\u67b6"],"ownVisible":false,"id":349},{"icon":"https://avatars1.githubusercontent.com/u/5485517?s=200&v=4","name":"uni-app","desc":"uni-app \u662f\u4f7f\u7528 Vue \u8bed\u6cd5\u5f00\u53d1\u5c0f\u7a0b\u5e8f\u3001H5\u3001App\u7684\u7edf\u4e00\u6846\u67b6","url":"https://uniapp.dcloud.io/","urls":{"-3":"https://github.com/dcloudio/uni-app"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6846\u67b6"],"ownVisible":false,"id":350},{"icon":"https://tencent.github.io/omi/assets/omi-logo2019.svg","name":"omix","desc":"\u817e\u8baf\u539f\u751f\u5c0f\u7a0b\u5e8f\u6846\u67b6 OMIX 2.0","url":"https://github.com/Tencent/omi/tree/master/packages/omix","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u6846\u67b6"],"ownVisible":false,"id":351}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6","nav":[{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"vant-weapp","desc":"\u8f7b\u91cf\u3001\u53ef\u9760\u7684\u5c0f\u7a0b\u5e8f UI \u7ec4\u4ef6\u5e93","url":"https://vant-contrib.gitee.io/vant-weapp/#/intro","urls":{"-3":"https://github.com/youzan/vant-weapp"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":352},{"icon":"https://avatars0.githubusercontent.com/u/18461506?s=200&v=4","name":"weui-wxss","desc":"\u8fd9\u662f\u4e00\u5957\u57fa\u4e8e\u6837\u5f0f\u5e93weui-wxss\u5f00\u53d1\u7684\u5c0f\u7a0b\u5e8f\u6269\u5c55\u7ec4\u4ef6\u5e93\uff0c\u540c\u5fae\u4fe1\u539f\u751f\u89c6\u89c9\u4f53\u9a8c\u4e00\u81f4\u7684UI\u7ec4\u4ef6\u5e93","url":"https://github.com/Tencent/weui-wxss/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":353},{"name":"wxParse","desc":"wxParse-\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5bcc\u6587\u672c\u89e3\u6790\u81ea\u5b9a\u4e49\u7ec4\u4ef6\uff0c\u652f\u6301HTML\u53camarkdown\u89e3\u6790","url":"https://github.com/icindy/wxParse","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":354},{"name":"mpvue-wxParse","desc":"\u9002\u7528\u4e8e Mpvue \u7684\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5bcc\u6587\u672c\u89e3\u6790\u81ea\u5b9a\u4e49\u7ec4\u4ef6","url":"https://github.com/F-loat/mpvue-wxParse","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":355},{"icon":"https://avatars1.githubusercontent.com/u/2268460?s=200&v=4","name":"echarts-for-weixin","desc":"ECharts \u7684\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7248\u672c","url":"https://github.com/ecomfe/echarts-for-weixin","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":356},{"icon":"https://lbs.qq.com/favicon.ico","name":"\u817e\u8baf\u4f4d\u7f6e\u670d\u52a1","desc":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u539f\u751fLBS\u80fd\u529b\u7684\u6700\u4f73\u62cd\u6863","url":"https://lbs.qq.com/qqmap_wx_jssdk/index.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":357},{"name":"ColorUI","desc":"\u9c9c\u4eae\u7684\u9ad8\u9971\u548c\u8272\u5f69\uff0c\u4e13\u6ce8\u89c6\u89c9\u7684\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93","url":"https://www.color-ui.com/","urls":{"-3":"https://github.com/weilanwl/ColorUI"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":358},{"name":"weapp-input-frame","desc":"\u9a8c\u8bc1\u7801\u3001\u652f\u4ed8\u5bc6\u7801\u8f93\u5165\u6846\u7ec4\u4ef6","url":"https://github.com/xjh22222228/weapp-input-frame","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5c0f\u7a0b\u5e8f\u7ec4\u4ef6\u5e93/\u63d2\u4ef6"],"ownVisible":false,"id":359}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5fae\u4fe1\u516c\u4f17\u53f7\u5f00\u53d1\u8f85\u52a9\u5de5\u5177","nav":[{"name":"JS\u63a5\u53e3\u7b7e\u540d\u6821\u9a8c\u5de5\u5177","desc":"\u5fae\u4fe1 JS \u63a5\u53e3\u7b7e\u540d\u6821\u9a8c\u5de5\u5177","url":"https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5fae\u4fe1\u516c\u4f17\u53f7\u5f00\u53d1\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":360},{"name":"\u63a5\u53e3\u8c03\u8bd5\u5de5\u5177","desc":"\u5fae\u4fe1\u516c\u4f17\u5e73\u53f0\u63a5\u53e3\u8c03\u8bd5\u5de5\u5177","url":"https://mp.weixin.qq.com/debug/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5fae\u4fe1\u516c\u4f17\u53f7\u5f00\u53d1\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":361},{"name":"computed","desc":"\u5c0f\u7a0b\u5e8f\u81ea\u5b9a\u4e49\u7ec4\u4ef6 computed / watch \u6269\u5c55","url":"https://github.com/wechat-miniprogram/computed","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5fae\u4fe1\u516c\u4f17\u53f7\u5f00\u53d1\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":362}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8d44\u6e90","nav":[{"name":"awesome-github-wechat-weapp","desc":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5f00\u6e90\u9879\u76ee\u5e93\u6c47\u603b","url":"https://github.com/opendigg/awesome-github-wechat-weapp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u8d44\u6e90"],"ownVisible":false,"id":363},{"name":"awesome-wechat-weapp","desc":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u8d44\u6e90\u6c47\u603b","url":"https://github.com/justjavac/awesome-wechat-weapp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u8d44\u6e90"],"ownVisible":false,"id":364}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"\u5fae\u4fe1\u5f00\u653e\u793e\u533a","desc":"\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u8005\u4e13\u533a\uff0c\u5fae\u4fe1\u516c\u4f17\u5e73\u53f0,\u5fae\u4fe1\u5f00\u653e\u793e\u533a,\u5f00\u53d1\u8005\u4e13\u533a","url":"https://developers.weixin.qq.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5176\u4ed6"],"ownVisible":false,"id":365},{"name":"wechat-format","desc":"\u5fae\u4fe1\u516c\u4f17\u53f7\u6392\u7248\u7f16\u8f91\u5668\uff0c\u8f6c\u6362 Markdown \u5230\u5fae\u4fe1\u7279\u5236\u7684 HTML","url":"https://lab.lyric.im/wxformat/","urls":{"-3":"https://github.com/lyricat/wechat-format"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5176\u4ed6"],"ownVisible":false,"id":366},{"name":"\u5fae\u4fe1\u5f00\u653e\u5e73\u53f0","desc":"\u5fae\u4fe1\u5f00\u653e\u5e73\u53f0","url":"https://open.weixin.qq.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5fae\u4fe1\u5f00\u53d1","\u5176\u4ed6"],"ownVisible":false,"id":367}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5de5\u5177","nav":[{"title":"CSS","nav":[{"name":"CSS3 UI Lib","desc":"CSS\u52a8\u753b\u96c6\u6210\u3001\u5728\u7ebf\u8c03\u8bd5\u9634\u5f71","url":"http://css3lib.alloyteam.com/#panel/demo1","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":368},{"name":"CSS Sprites Generator","desc":"CSS\u96ea\u78a7\u56fe\u751f\u6210","url":"https://www.toptal.com/developers/css/sprite-generator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":369},{"icon":"http://www.colorzilla.com/favicon.ico","name":"CSS\u6e10\u53d8\u8c03\u8bd5\u5668","desc":"\u524d\u7aef\u5f00\u53d1\u8c03\u8bd5CSS\u6e10\u53d8\u5fc5\u5907\u795e\u5668","url":"http://www.colorzilla.com/gradient-editor/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":370},{"icon":"https://animista.net/favicon.ico","name":"Animista","desc":"\u5728\u7ebf\u751f\u6210CSS\u52a8\u753b","url":"http://animista.net/play/background/ken-burns","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":371},{"icon":"https://cssgradient.io/favicon.ico","name":"CSS Gradient","desc":"CSS\u6e10\u53d8\u8c03\u8bd5\u5e76\u751f\u6210CSS\u4ee3\u7801","url":"https://cssgradient.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":372},{"icon":"https://www.grabient.com/favicon.ico","name":"Grabient","desc":"CSS\u6e10\u53d8\u8c03\u8bd5\u5e76\u751f\u6210CSS\u4ee3\u7801\uff0c\u8fd8\u53ef\u4ee5\u89d2\u5ea6\u53d8\u6362","url":"https://www.grabient.com/","urls":{"-3":"https://github.com/johnkorzhuk/grabient"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":373},{"icon":"http://pxtoem.com/favicon.ico","name":"px\u4e0eem\u5355\u4f4d\u8f6c\u6362","desc":"px\u4e0eem\u5355\u4f4d\u8f6c\u6362","url":"http://pxtoem.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":374},{"icon":"http://apps.eky.hk/css-triangle-generator/favicon.gif","name":"CSS\u4e09\u89d2\u5f62\u7522\u751f\u5668","desc":"CSS\u4e09\u89d2\u5f62\u7522\u751f\u5668 - \u4f7f\u7528\u7d14CSS\u7e6a\u756b\u4e09\u89d2\u5f62","url":"http://apps.eky.hk/css-triangle-generator/zh-hant","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":375},{"icon":"https://www.sassmeister.com/favicon.ico","name":"SassMeister","desc":"\u5c06sass\u8bed\u6cd5\u8f6c\u6362\u6210CSS\u8bed\u6cd5","url":"https://www.sassmeister.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":376},{"icon":"https://transfonter.org/favicon.ico","name":"transfonter","desc":"\u5b57\u4f53\u56fe\u6807\u8f6c\u6362Base64","url":"https://transfonter.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":377},{"name":"Loading\u96c6\u5408","desc":"\u4e0a\u5343\u79cdLoading\u8ba4\u4f60\u9009","url":"https://www.xiejiahe.com/detail/59ec506be9b3310879551f5e","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":378},{"icon":"https://cssreference.io/favicons/favicon-32x32.png","name":"CSS Reference","desc":"css\u53c2\u8003\u662f\u4e00\u4e2a\u514d\u8d39\u7684\u89c6\u89c9\u6307\u5bfccss\u3002\u5b83\u4ee5\u6700\u53d7\u6b22\u8fce\u7684\u7279\u6027\u4e3a\u7279\u8272\uff0c\u5e76\u7528\u63d2\u56fe\u548c\u52a8\u753b\u793a\u4f8b\u5bf9\u5176\u8fdb\u884c\u8bf4\u660e","url":"https://cssreference.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":379},{"icon":"https://www.w3cschool.cn/favicon.ico","name":"\u5728\u7ebfCSS\u9634\u5f71\u8c03\u8bd5","desc":"CSS3 Box Shadow(\u9634\u5f71)\u6548\u679c\u5728\u7ebf\u8c03\u8bd5\u5de5\u5177","url":"https://www.w3cschool.cn/tools/index?name=css3_boxshadow","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CSS"],"ownVisible":false,"id":380}],"createdAt":"2021-01-23 09:32:06"},{"title":"JavaScript","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"icon":"https://regexper.com/favicon.ico","name":"\u6b63\u5219\u8868\u8fbe\u5f0f\u9a8c\u8bc1\u5668","desc":"\u9a8c\u8bc1JavaScript\u6b63\u5219\u8868\u8fbe\u5f0f","url":"https://regexper.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":381},{"icon":"https://www.json.cn/favicon.ico","name":"JSON\u5728\u7ebf\u89e3\u6790\u53ca\u683c\u5f0f\u5316\u9a8c\u8bc1","desc":"json\u5728\u7ebf\u89e3\u6790,json\u683c\u5f0f\u5316,json\u683c\u5f0f\u9a8c\u8bc1,json\u8f6cxml,xml\u8f6cjson","url":"https://www.json.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":382},{"icon":"https://avatars0.githubusercontent.com/u/25822731?s=200&v=4","name":"prettier","desc":"Prettier\u662f\u4e00\u4e2a\u56fa\u5b9a\u7684\u4ee3\u7801\u683c\u5f0f\u5316\u7a0b\u5e8f\u3002\u5b83\u901a\u8fc7\u89e3\u6790\u4ee3\u7801\u5e76\u4f7f\u7528\u81ea\u5df1\u7684\u89c4\u5219\u91cd\u65b0\u6253\u5370\u5b83\u6765\u5f3a\u5236\u6267\u884c\u4e00\u81f4\u7684\u6837\u5f0f\uff0c\u8fd9\u4e9b\u89c4\u5219\u8003\u8651\u4e86\u6700\u5927\u884c\u957f\u5ea6\uff0c\u5e76\u5728\u5fc5\u8981\u65f6\u5305\u88c5\u4ee3\u7801","url":"https://prettier.io/","urls":{"-3":"https://github.com/prettier/prettier"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":383},{"name":"\u6b63\u5219\u8868\u8fbe\u5f0f\u5728\u7ebf\u6d4b\u8bd5","desc":"\u6b63\u5219\u8868\u8fbe\u5f0f\u5728\u7ebf\u6d4b\u8bd5","url":"http://tool.chinaz.com/regex","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":384},{"name":"spy-debugger","desc":"\u5fae\u4fe1\u8c03\u8bd5\uff0c\u5404\u79cdWebView\u6837\u5f0f\u8c03\u8bd5\u3001\u624b\u673a\u6d4f\u89c8\u5668\u7684\u9875\u9762\u771f\u673a\u8c03\u8bd5\u3002\u4fbf\u6377\u7684\u8fdc\u7a0b\u8c03\u8bd5\u624b\u673a\u9875\u9762\u3001\u6293\u5305\u5de5\u5177\uff0c\u652f\u6301\uff1aHTTP/HTTPS\uff0c\u65e0\u9700USB\u8fde\u63a5\u8bbe\u5907","url":"https://github.com/wuchangming/spy-debugger","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":385},{"name":"VConsole","desc":"\u4e00\u4e2a\u8f7b\u91cf\u3001\u53ef\u62d3\u5c55\u3001\u9488\u5bf9\u624b\u673a\u7f51\u9875\u7684\u524d\u7aef\u5f00\u53d1\u8005\u8c03\u8bd5\u9762\u677f","url":"https://github.com/Tencent/vConsole/","urls":{"-2":"https://github.com/Tencent/vConsole","-1":"https://github.com/Tencent/vConsole/blob/dev/README_CN.md"},"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","JavaScript"],"ownVisible":false,"id":386}],"createdAt":"2021-01-23 09:32:06"},{"title":"CDN","nav":[{"icon":"https://www.staticfile.org/assets/images/logo.png","name":"Staticfile CDN","desc":"\u514d\u8d39CDN\u670d\u52a1\uff0c\u5305\u62ec JavaScript\u3001CSS\u3001\u56fe\u7247\u548c swf \u7b49\u9759\u6001\u6587\u4ef6","url":"https://www.staticfile.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CDN"],"ownVisible":false,"id":387},{"icon":"https://www.jsdelivr.com/favicon.ico","name":"jsDelivr","desc":"jsDelivr \u2013 \u5f00\u6e90 CDN","url":"https://www.jsdelivr.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CDN"],"ownVisible":false,"id":388},{"icon":"https://www.bootcdn.cn/assets/ico/favicon.ico","name":"BootCDN","desc":"\u7a33\u5b9a\u3001\u5feb\u901f\u3001\u514d\u8d39\u7684\u524d\u7aef\u5f00\u6e90\u9879\u76ee CDN \u52a0\u901f\u670d\u52a1","url":"https://www.bootcdn.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CDN"],"ownVisible":false,"id":389},{"icon":"https://avatars0.githubusercontent.com/u/637362?s=200&v=4","name":"cdnjs","desc":"\u9762\u5411Web\u5f00\u53d1\u4eba\u5458\u7684\u514d\u8d39\u548c\u5f00\u6e90\u516c\u5171Web CDN\uff01","url":"https://cdnjs.com/","urls":{"-3":"https://github.com/cdnjs/cdnjs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","CDN"],"ownVisible":false,"id":390}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://www.fundebug.com/favicon.ico","name":"FunDebug","desc":"\u652f\u6301\u524d\u7aefJavaScript\uff0c\u540e\u7aefNode.js\u4ee5\u53ca\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u9519\u8bef\u76d1\u63a7","url":"https://www.fundebug.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":391},{"icon":"https://www.caniuse.com/img/favicon-128.png","name":"\u524d\u7aef\u517c\u5bb9\u6027\u67e5\u8be2","desc":"\u524d\u7aef\u67e5\u8be2API\u5404\u4e2a\u5382\u5546\u517c\u5bb9\u6027\u60c5\u51b5","url":"https://www.caniuse.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":392},{"icon":"http://browserhacks.com/assets/images/browserhacks.ico","name":"Browserhacks","desc":"Browserhacks\u662f\u6765\u81ea\u5404\u4e2a\u4e92\u8054\u7f51\u7684\u6d4f\u89c8\u5668\u7279\u5b9aCSS\u548cJavaScript hacks\u7684\u5e7f\u6cdb\u5217\u8868\u3002","url":"http://browserhacks.com/","urls":{"-3":"https://github.com/4ae9b8/browserhacks"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":393},{"name":"Character Entity Reference Chart","desc":"\u5b57\u7b26\u5b9e\u4f53\u53c2\u8003\u56fe\uff0c>","url":"https://dev.w3.org/html5/html-author/charref","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":394},{"name":"awesome-web-editor","desc":"\u5f00\u6e90web\u7f16\u8f91\u5668\u6c47\u603b\u5217\u8868","url":"https://github.com/xjh22222228/awesome-web-editor","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":395},{"icon":"https://jsfiddle.net/img/favicon.png","name":"jsfiddle","desc":"\u5f3a\u5927\u7684\u524d\u7aef\u4ee3\u7801\u5728\u7ebf\u6f14\u793a\u7684\u7f51\u7ad9","url":"http://jsfiddle.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":396},{"icon":"https://avatars0.githubusercontent.com/u/11043997?s=200&v=4","name":"jsperf","desc":"jsPerf\u65e8\u5728\u63d0\u4f9b\u4e00\u79cd\u7b80\u5355\u7684\u65b9\u6cd5\u6765\u521b\u5efa\u548c\u5171\u4eab\u6d4b\u8bd5\u7528\u4f8b\uff0c\u901a\u8fc7\u8fd0\u884c\u57fa\u51c6\u6d4b\u8bd5\u6765\u6bd4\u8f83\u4e0d\u540cJavaScript\u4ee3\u7801\u6bb5\u7684\u6027\u80fd","url":"https://jsperf.com/","urls":{"-3":"https://github.com/jsperf/jsperf.com"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":397},{"icon":"https://codesandbox.io/favicon.ico","name":"codesandbox","desc":"codesandbox\u662f\u4e3aWeb\u5e94\u7528\u7a0b\u5e8f\u5b9a\u5236\u7684\u5728\u7ebf\u7f16\u8f91\u5668\u3002","url":"https://codesandbox.io","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":398},{"icon":"https://htmlreference.io/favicons/favicon-32x32.png","name":"HTML Reference","desc":"\u6240\u6709HTML\u5143\u7d20\u548c\u5c5e\u6027\u7684\u514d\u8d39\u6307\u5357\u53c2\u8003","url":"https://htmlreference.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":399},{"icon":"https://static.jsbin.com/images/dave.min.svg","name":"jsbin","desc":"\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684html/css/js\u5728\u7ebf\u7f16\u8f91\u5668Debug\u8c03\u8bd5\u5668","url":"https://jsbin.com/juduyibeku/edit?html,css,js,console,output","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":400},{"icon":"http://www.jsfuck.com/favicon.ico","name":"jsfuck","desc":"JSFuck\u662f\u57fa\u4e8eJavaScript\u539f\u5b50\u90e8\u5206\u7684\u6df1\u5965\u548c\u6559\u80b2\u6027\u7f16\u7a0b\u98ce\u683c\u3002\u5b83\u4ec5\u4f7f\u7528\u516d\u4e2a\u4e0d\u540c\u7684\u5b57\u7b26\u6765\u7f16\u5199\u548c\u6267\u884c\u4ee3\u7801\u3002","url":"http://www.jsfuck.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":401}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"CSS","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/css/css.png","nav":[{"title":"CSS","nav":[{"icon":"https://getbootstrap.com/docs/4.5/assets/img/favicons/favicon.ico","name":"Bootstrap","desc":"Bootstrap \u662f\u4e00\u4e2a\u7528\u4e8e\u5feb\u901f\u5f00\u53d1 Web \u5e94\u7528\u7a0b\u5e8f\u548c\u7f51\u7ad9\u7684\u524d\u7aef\u6846\u67b6","url":"http://getbootstrap.com/","urls":{"-2":"http://getbootstrap.com/","-1":"http://www.bootcss.com/","-3":"https://github.com/twbs/bootstrap"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":402},{"icon":"https://avatars2.githubusercontent.com/u/317889?s=200&v=4","name":"Sass","desc":"Sass \u662f\u6210\u719f\u3001\u7a33\u5b9a\u3001\u5f3a\u5927\u7684 CSS \u6269\u5c55\u8bed\u8a00","url":"http://sass-lang.com/","urls":{"-2":"http://sass-lang.com/","-1":"http://sass.bootcss.com/","-3":"https://github.com/sass/sass"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":403},{"icon":"https://avatars0.githubusercontent.com/u/3538330?s=200&v=4","name":"Less","desc":"Less \u662f\u4e00\u95e8 CSS \u9884\u5904\u7406\u8bed\u8a00,\u5b83\u6269\u5c55\u4e86 CSS \u8bed\u8a00,\u589e\u52a0\u4e86\u53d8\u91cf\u3001Mixin\u3001\u51fd\u6570\u7b49\u7279\u6027","url":"http://lesscss.org/","urls":{"-2":"http://lesscss.org/","-1":"http://lesscss.cn/","-3":"https://github.com/less/less.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":404},{"name":"magic","desc":"CSS3\u52a8\u753b\u7279\u6548","url":"https://minimamente.com/example/magic_animations/","urls":{"-3":"https://github.com/miniMAC/magic"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":405},{"icon":"https://avatars3.githubusercontent.com/u/64791939?s=200&v=4","name":"Animate.css","desc":"CSS\u52a8\u753b\u7684\u8de8\u6d4f\u89c8\u5668\u5e93,\u7b80\u5355\u6613\u7528","url":"https://daneden.github.io/animate.css/","urls":{"-3":"https://github.com/animate-css/animate.css"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":406},{"icon":"http://necolas.github.io/normalize.css/favicon.ico","name":"normalize.css","desc":"\u4f7f\u6d4f\u89c8\u5668\u66f4\u52a0\u4e00\u81f4\u5730\u5448\u73b0\u6240\u6709\u5143\u7d20\u5e76\u7b26\u5408\u73b0\u4ee3\u6807\u51c6\u3002\u5b83\u53ea\u9488\u5bf9\u9700\u8981\u89c4\u8303\u5316\u7684\u6837\u5f0f","url":"http://necolas.github.io/normalize.css/","urls":{"-3":"https://github.com/necolas/normalize.css"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":407},{"name":"Hover","desc":"CSS3\u52a8\u529b\u60ac\u505c\u6548\u679c\u7684\u96c6\u5408\uff0c\u9002\u7528\u4e8e\u94fe\u63a5\uff0c\u6309\u94ae\uff0c\u5fbd\u6807\uff0cSVG\uff0c\u7279\u8272\u56fe\u50cf\u7b49","url":"http://ianlunn.github.io/Hover/","urls":{"-3":"https://github.com/IanLunn/Hover"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":408},{"name":"github-markdown-css","desc":"\u590d\u5236GitHub Markdown\u6837\u5f0f\u7684\u6700\u5c0fCSS\u91cf","url":"https://sindresorhus.com/github-markdown-css/","urls":{"-3":"https://github.com/sindresorhus/github-markdown-css"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":409},{"icon":"https://avatars1.githubusercontent.com/u/8296347?s=200&v=4","name":"autoprefixer","desc":"Autoprefixer\u662f\u4e00\u6b3e\u81ea\u52a8\u7ba1\u7406\u6d4f\u89c8\u5668\u524d\u7f00\u7684\u63d2\u4ef6\uff0c\u5b83\u53ef\u4ee5\u89e3\u6790CSS\u6587\u4ef6\u5e76\u4e14\u6dfb\u52a0\u6d4f\u89c8\u5668\u524d\u7f00\u5230CSS\u5185\u5bb9\u91cc","url":"https://github.com/postcss/autoprefixer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":410},{"icon":"http://vivify.mkcreative.cz/assets/img/apple-icon-57x57.png","name":"vivify","desc":"Vivify\u662f\u514d\u8d39\u7684CSS\u52a8\u753b\u5e93\u3002","url":"http://vivify.mkcreative.cz/","urls":{"-3":"https://github.com/Martz90/vivify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":411},{"name":"cubic-bezier","desc":"\u5728\u7ebf\u5236\u4f5cCSS\u52a8\u753b","url":"https://cubic-bezier.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","CSS"],"ownVisible":false,"id":412}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fe\u6807\u5e93","nav":[{"icon":"http://www.iconfont.cn/favicon.ico","name":"iconfont","desc":"\u963f\u91cc\u5988\u5988MUX\u503e\u529b\u6253\u9020\u7684\u77e2\u91cf\u56fe\u6807\u7ba1\u7406\u3001\u4ea4\u6d41\u5e73\u53f0","url":"http://www.iconfont.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u56fe\u6807\u5e93"],"ownVisible":false,"id":413},{"icon":"https://avatars1.githubusercontent.com/u/1505683?s=200&v=4","name":"Font Awesome","desc":"\u4e00\u5957\u7edd\u4f73\u7684\u56fe\u6807\u5b57\u4f53\u5e93\u548cCSS\u6846\u67b6","url":"https://fontawesome.com/","urls":{"-2":"https://fontawesome.com/","-1":"http://www.fontawesome.com.cn/","-3":"https://github.com/FortAwesome/Font-Awesome"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u56fe\u6807\u5e93"],"ownVisible":false,"id":414},{"icon":"https://livicons.com/apple-icon-57x57.png","name":"LivIcons Evolution","desc":"\u4f1a\u52a8\u7684\u7eafsvg\u77e2\u91cf\u56fe\u6807\u5e93","url":"https://livicons.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u56fe\u6807\u5e93"],"ownVisible":false,"id":415},{"icon":"https://avatars0.githubusercontent.com/u/3171503?s=200&v=4","name":"ionicons","desc":"\u9002\u7528\u4e8eIonic Framework\u548cWeb\u5e94\u7528\u7a0b\u5e8f\u7684\u9ad8\u7ea7\u56fe\u6807\u5b57\u4f53","url":"https://ionicons.com/","urls":{"-3":"https://github.com/ionic-team/ionicons"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u56fe\u6807\u5e93"],"ownVisible":false,"id":416},{"name":"material-design-icons","desc":"Google\u7684Material Design\u56fe\u6807","url":"https://material.io/tools/icons","urls":{"-3":"https://github.com/google/material-design-icons"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u56fe\u6807\u5e93"],"ownVisible":false,"id":417}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8d44\u6e90","nav":[{"icon":"https://cssbattle.dev/images/logo-square.png","name":"css battle","desc":"\u5728\u7ebf\u6bd4\u62fcCSS","url":"https://cssbattle.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u8d44\u6e90"],"ownVisible":false,"id":418},{"icon":"http://zh.learnlayout.com/images/logo.png","name":"\u5b66\u4e60CSS\u5e03\u5c40","desc":"\u5b66\u4e60CSS\u5e03\u5c40","url":"http://zh.learnlayout.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","CSS","\u8d44\u6e90"],"ownVisible":false,"id":419}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"TypeScript","icon":"https://www.typescriptlang.org/favicon-32x32.png","nav":[{"title":"TypeScript","nav":[{"name":"TypeScript","desc":"TypeScript \u662f\u4e00\u79cd\u7531\u5fae\u8f6f\u5f00\u53d1\u7684\u81ea\u7531\u548c\u5f00\u6e90\u7684\u7f16\u7a0b\u8bed\u8a00\uff0c\u5b83\u662fJavaScript\u7684\u4e00\u4e2a\u8d85\u96c6","url":"https://www.tslang.cn/index.html","urls":{"-2":"http://www.typescriptlang.org/","-1":"https://www.tslang.cn/index.html","-3":"https://github.com/Microsoft/TypeScript"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":420},{"name":"TypeSearch","desc":"\u641c\u7d22typescript \u7c7b\u578b\u5305 @types/node","url":"https://microsoft.github.io/TypeSearch/","urls":{"-3":"https://github.com/Microsoft/TypeSearch"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":421},{"name":"DefinitelyTyped","desc":"\u9ad8\u8d28\u91cfTypeScript\u7c7b\u578b\u5b9a\u4e49\u7684\u5b58\u50a8\u5e93","url":"http://definitelytyped.org/","urls":{"-3":"https://github.com/DefinitelyTyped/DefinitelyTyped"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":422},{"icon":"https://avatars0.githubusercontent.com/u/46634674?s=200&v=4","name":"typescript-eslint","desc":"Monorepo\u7528\u4e8e\u6240\u6709\u5de5\u5177\uff0c\u4f7fESLint\u80fd\u591f\u652f\u6301TypeScript","url":"https://github.com/typescript-eslint/typescript-eslint","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":423},{"name":"awesome-typescript","desc":"\u7528\u4e8e\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u7aef\u5f00\u53d1\u7684\u5f3a\u5927TypeScript\u8d44\u6e90\u7684\u96c6\u5408\u3002\u5728TypeScript\u4e2d\u7f16\u5199\u7cbe\u5f69\u7684JavaScript","url":"https://github.com/dzharii/awesome-typescript","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":424},{"name":"TypeScript \u5165\u95e8\u6559\u7a0b","desc":"TypeScript \u5165\u95e8\u6559\u7a0b","url":"https://ts.xcatliu.com/","urls":{"-3":"https://github.com/xcatliu/typescript-tutorial"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","TypeScript","TypeScript"],"ownVisible":false,"id":425}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u53c2\u8003\u8d44\u6599","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"\u4e66\u7c4d","nav":[{"name":"JavaScript 20 \u5e74","desc":"JavaScript 20 \u5e74","url":"https://cn.history.js.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":426},{"name":"\u4f60\u4e0d\u77e5\u9053\u7684JavaScript","desc":"\u4f60\u4e0d\u77e5\u9053\u7684JavaScript","url":"https://github.com/getify/You-Dont-Know-JS","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":427},{"icon":"https://zh.javascript.info/img/favicon/favicon.png","name":"\u73b0\u4ee3 JavaScript \u6559\u7a0b","desc":"\u4ee5\u6700\u65b0\u7684 JavaScript \u6807\u51c6\u4e3a\u57fa\u51c6\u3002\u901a\u8fc7\u7b80\u5355\u4f46\u8db3\u591f\u8be6\u7ec6\u7684\u5185\u5bb9\uff0c\u4e3a\u4f60\u8bb2\u89e3\u4ece\u57fa\u7840\u5230\u9ad8\u9636\u7684 JavaScript \u76f8\u5173\u77e5\u8bc6","url":"https://zh.javascript.info/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":428},{"name":"ECMAScript 6\u5165\u95e8","desc":"ECMAScript 6\u5165\u95e8","url":"http://es6.ruanyifeng.com/#README","urls":{"-3":"https://github.com/ruanyf/es6tutorial/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":429},{"name":"JavaScript\u6559\u7a0b","desc":"JavaScript \u6807\u51c6\u53c2\u8003\u6559\u7a0b","url":"https://wangdoc.com/javascript/basic/index.html","urls":{"-3":"https://github.com/ruanyf/jstutorial"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":430}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6587\u6863","nav":[{"name":"JavaScript Puzzlers","desc":"\u4f60\u771f\u7684\u4e86\u89e3JavaScript\u5417\uff1f\u6765\u8bd5\u8bd5\u5427\uff01","url":"http://javascript-puzzlers.herokuapp.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":431},{"icon":"https://avatars1.githubusercontent.com/u/41361384?s=200&v=4","name":"InterviewMap","desc":"\u6253\u9020\u6700\u597d\u7684\u9762\u8bd5\u56fe\u8c31","url":"https://yuchengkai.cn/docs/zh/","urls":{"-2":"https://yuchengkai.cn/docs/","-1":"https://yuchengkai.cn/docs/zh/","-3":"https://github.com/InterviewMap/CS-Interview-Knowledge-Map"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":432},{"name":"\u98de\u51b0\u65e9\u62a5","desc":"\u98de\u51b0\u65e9\u62a5","url":"http://fe.jskou.com/ice","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":433},{"name":"jsdoc","desc":"\u7528\u4e8eJavaScript\u7684API\u6587\u6863\u751f\u6210\u5668\u3002","url":"http://www.css88.com/doc/jsdoc/index.html","urls":{"-2":"http://usejsdoc.org/","-1":"http://www.css88.com/doc/jsdoc/index.html","-3":"https://github.com/jsdoc3/jsdoc"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":434},{"icon":"https://avatars3.githubusercontent.com/u/43479428?s=200&v=4","name":"30 seconds of code","desc":"\u7cbe\u9009\u7684\u6709\u7528JavaScript\u4ee3\u7801\u6bb5\u96c6\u5408\uff0c\u60a8\u53ef\u4ee5\u572830\u79d2\u6216\u66f4\u77ed\u7684\u65f6\u95f4\u5185\u7406\u89e3\u8fd9\u4e9b\u4ee3\u7801\u6bb5\u3002","url":"https://30secondsofcode.org/","urls":{"-3":"https://github.com/30-seconds/30-seconds-of-code"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":435},{"name":"33-js-concepts","desc":"JavaScript\u5f00\u53d1\u8005\u5e94\u61c2\u768433\u4e2a\u6982\u5ff5","url":"https://github.com/stephentian/33-js-concepts","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":436},{"icon":"https://avatars1.githubusercontent.com/u/1725583?s=200&v=4","name":"ECMAScript Proposals","desc":"\u8ddf\u8e2aECMAScript \u63d0\u6848","url":"https://tc39.github.io/process-document/","urls":{"-3":"https://github.com/tc39/proposals"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":437},{"icon":"https://avatars1.githubusercontent.com/u/1725583?s=200&v=4","name":"ecma262","desc":"ECMA-262\u7684\u72b6\u6001\uff0c\u6d41\u7a0b\u548c\u6587\u6863","url":"https://tc39.es/ecma262/","urls":{"-3":"https://github.com/tc39/ecma262"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":438},{"icon":"https://bonsaiden.github.io/JavaScript-Garden/favicon.ico?v=2","name":"JavaScript \u79d8\u5bc6\u82b1\u56ed","desc":"JavaScript \u8bed\u8a00\u6700\u53e4\u602a\u7528\u6cd5\u7684\u6587\u6863\u96c6\u5408","url":"https://bonsaiden.github.io/JavaScript-Garden/zh/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":439},{"name":"Airbnb JavaScript \u7f16\u7801\u89c4\u8303","desc":"Airbnb JavaScript \u7f16\u7801\u89c4\u8303","url":"https://github.com/yuche/javascript","urls":{"-2":"https://github.com/airbnb/javascript","-1":"https://github.com/yuche/javascript"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":440},{"name":"Daily-Interview-Question","desc":"\u5de5\u4f5c\u65e5\u6bcf\u5929\u4e00\u9053\u524d\u7aef\u5927\u5382\u9762\u8bd5\u9898\uff0c\u795d\u5927\u5bb6\u5929\u5929\u8fdb\u6b65\uff0c\u4e00\u5e74\u540e\u4f1a\u770b\u5230\u4e0d\u4e00\u6837\u7684\u81ea\u5df1","url":"https://github.com/Advanced-Frontend/Daily-Interview-Question","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":441},{"name":"javascript-algorithms","desc":"JavaScript \u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784","url":"https://github.com/trekhleb/javascript-algorithms","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":442},{"icon":"https://avatars2.githubusercontent.com/u/26534952?s=200&v=4","name":"weekly","desc":"\u524d\u7aef\u7cbe\u8bfb\u5468\u520a","url":"https://github.com/dt-fe/weekly","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB\u524d\u7aef","\u53c2\u8003\u8d44\u6599","\u6587\u6863"],"ownVisible":false,"id":443}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"id":0,"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"Node.js","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","icon":"https://nodejs.org/static/images/favicons/favicon.ico","nav":[{"title":"\u5b98\u65b9","nav":[{"name":"Node.js","desc":"Node.js\xae \u662f\u4e00\u4e2a\u57fa\u4e8e Chrome V8 \u5f15\u64ce \u7684 JavaScript \u8fd0\u884c\u65f6","url":"http://nodejs.cn","urls":{"-2":"https://nodejs.org/en/","-1":"http://nodejs.cn","-3":"https://github.com/nodejs/node"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":444},{"name":"npm1","desc":"npm\u662fJavaScript\u4e16\u754c\u7684\u5305\u7ba1\u7406\u5de5\u5177,\u5e76\u4e14\u662f Node.js \u5e73\u53f0\u7684\u9ed8\u8ba4\u5305\u7ba1\u7406\u5de5\u5177","url":"https://www.npmjs.com/","urls":{"-2":"https://www.npmjs.com/","-1":"https://www.npmjs.com.cn/","-3":"https://github.com/npm/cli"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":445}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6a21\u5757","nav":[{"name":"urllib","desc":"\u5728\u590d\u6742\u7684\u4e16\u754c\u4e2d\u8bf7\u6c42HTTP(s)URL","url":"https://github.com/node-modules/urllib","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u6a21\u5757"],"ownVisible":false,"id":446},{"name":"formstream","desc":"multipart / form-data\u7f16\u7801\u6d41\uff0c\u7528\u4e8e\u6587\u4ef6\u4e0a\u4f20\u7684\u5e2e\u52a9\u7a0b\u5e8f\u3002","url":"https://github.com/node-modules/formstream","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u6a21\u5757"],"ownVisible":false,"id":447},{"name":"validate-npm-package-name","desc":"\u7ed9\u6211\u4e00\u4e2a\u5b57\u7b26\u4e32\uff0c\u6211\u4f1a\u544a\u8bc9\u4f60\u5b83\u662f\u5426\u662f\u6709\u6548\u7684npm\u8f6f\u4ef6\u5305\u540d\u79f0","url":"https://github.com/npm/validate-npm-package-name","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u6a21\u5757"],"ownVisible":false,"id":448}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://classic.yarnpkg.com/favicon.ico","name":"Yarn","desc":"\u5feb\u901f\u3001\u53ef\u9760\u3001\u5b89\u5168\u7684\u4f9d\u8d56\u7ba1\u7406","url":"https://yarnpkg.com/zh-Hans/","urls":{"-2":"https://yarnpkg.com/en/","-1":"https://yarnpkg.com/zh-Hans/","-3":"https://github.com/yarnpkg/yarn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u5176\u4ed6"],"ownVisible":false,"id":449},{"name":"awesome-nodejs","desc":"Node.js\u8f6f\u4ef6\u5305\u548c\u8d44\u6e90","url":"https://github.com/sindresorhus/awesome-nodejs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u5176\u4ed6"],"ownVisible":false,"id":450},{"name":"nodebestpractices","desc":"\u6700\u5927\u7684Node.js\u6700\u4f73\u5b9e\u8df5\u5217\u8868","url":"https://github.com/goldbergyoni/nodebestpractices","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u5176\u4ed6"],"ownVisible":false,"id":451}],"createdAt":"2021-01-23 09:32:06"},{"title":"CMS","nav":[{"icon":"https://avatars0.githubusercontent.com/u/4449608?s=200&v=4","name":"NodeBB","desc":"\u57fa\u4e8eNode.js\u7684\u8bba\u575b\u8f6f\u4ef6\uff0c\u4e3a\u73b0\u4ee3\u7f51\u7ad9","url":"https://nodebb.org/","urls":{"-3":"https://github.com/NodeBB/NodeBB"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","CMS"],"ownVisible":false,"id":452},{"icon":"https://avatars1.githubusercontent.com/u/2178663?s=200&v=4","name":"Ghost","desc":"Ghost \u662f\u57fa\u4e8e Node.js \u6784\u5efa\u7684\u5f00\u6e90\u535a\u5ba2\u5e73\u53f0\u3002Ghost \u5177\u6709\u6613\u7528\u7684\u4e66\u5199\u754c\u9762\u548c\u4f53\u9a8c,\u535a\u5ba2\u5185\u5bb9\u9ed8\u8ba4\u91c7\u7528 Markdown \u8bed\u6cd5\u4e66\u5199\u3002Ghost \u7684\u76ee\u6807\u662f\u53d6\u4ee3\u81c3\u80bf\u7684 Wordpress","url":"https://ghost.org/","urls":{"-3":"https://github.com/TryGhost/Ghost"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","CMS"],"ownVisible":false,"id":453}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8d44\u6599","nav":[{"name":"nodebestpractices","desc":"Node.js \u6700\u4f73\u5b9e\u8df5, \u6700\u5927\u7684\u6c47\u96c6\uff0c\u4e14\u6bcf\u5468\u90fd\u5728\u589e\u957f - \u5f53\u524d\uff0c\u8d85\u8fc750\u4e2a\u6700\u4f73\u5b9e\u73b0\uff0c\u6837\u5f0f\u6307\u5357\uff0c\u67b6\u6784\u5efa\u8bae\u5df2\u7ecf\u5448\u73b0","url":"https://github.com/goldbergyoni/nodebestpractices","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u751f\u6001\u7cfb\u7edf","\u8d44\u6599"],"ownVisible":false,"id":454}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4f9d\u8d56\u5305","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"\u7f51\u7edc\u8bf7\u6c42","nav":[{"name":"request","desc":"\u7b80\u5316\u7684HTTP\u8bf7\u6c42\u5ba2\u6237\u7aef","url":"https://github.com/request/request","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":455},{"name":"superagent","desc":"\u4e00\u4e2a\u5c0f\u578b\u6e10\u8fdb\u5f0f\u5ba2\u6237\u7aefHTTP\u8bf7\u6c42\u5e93\uff0cNode.js\u6a21\u5757\u5177\u6709\u76f8\u540c\u7684API\uff0c\u5177\u6709\u8bb8\u591a\u9ad8\u7ea7HTTP\u5ba2\u6237\u7aef\u529f\u80fd","url":"http://visionmedia.github.io/superagent/","urls":{"-3":"https://github.com/visionmedia/superagent"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":456},{"name":"axios","desc":"\u57fa\u4e8ePromise\u7684HTTP\u5ba2\u6237\u7aef\uff0c\u7528\u4e8e\u6d4f\u89c8\u5668\u548cnode.js","url":"https://github.com/axios/axios","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":457},{"name":"node-fetch","desc":"\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u6a21\u5757\uff0c\u5c06window.fetch\u5e26\u5230Node.js","url":"https://github.com/node-fetch/node-fetch","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":458},{"name":"bent","desc":"\u5e26\u6709async await\u7684\u529f\u80fd\u6027JS HTTP\u5ba2\u6237\u7aef\uff08Node.js\u548cFetch\uff09","url":"https://github.com/mikeal/bent","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":459},{"name":"superagent-proxy","desc":"superagent\u4ee3\u7406\u6269\u5c55\uff0c\u8fd9\u4f7f\u60a8\u53ef\u4ee5\u901a\u8fc7\u67d0\u79cd\u4ee3\u7406\u6765\u4ee3\u7406HTTP\u8bf7\u6c42","url":"https://github.com/TooTallNate/superagent-proxy","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u7f51\u7edc\u8bf7\u6c42"],"ownVisible":false,"id":460}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5355\u5143\u6d4b\u8bd5","nav":[{"icon":"https://pptr.dev/favicons/apple-touch-icon.png","name":"Puppeteer","desc":"Puppeteer\u662f\u4e00\u4e2aNode\u5e93\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u9ad8\u7ea7API\u6765\u901a\u8fc7DevTools\u534f\u8bae\u63a7\u5236Chromium\u6216Chrome","url":"https://pptr.dev/","urls":{"-2":"https://pptr.dev/","-1":"https://zhaoqize.github.io/puppeteer-api-zh_CN/","-3":"https://github.com/GoogleChrome/puppeteer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":461},{"icon":"https://avatars0.githubusercontent.com/u/8908513?s=200&v=4","name":"cypress","desc":"\u5bf9\u6d4f\u89c8\u5668\u4e2d\u8fd0\u884c\u7684\u6240\u6709\u5185\u5bb9\u8fdb\u884c\u5feb\u901f\uff0c\u8f7b\u677e\u548c\u53ef\u9760\u7684\u6d4b\u8bd5\uff0c\uff08\u7c7bPuppeteer\uff09","url":"https://www.cypress.io/","urls":{"-3":"https://github.com/cypress-io/cypress"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":462},{"icon":"https://avatars0.githubusercontent.com/u/8770005?s=200&v=4","name":"Mocha","desc":"Node.js\u548c\u6d4f\u89c8\u5668\u7684\u7b80\u5355\uff0c\u7075\u6d3b\uff0c\u6709\u8da3\u7684JavaScript\u6d4b\u8bd5\u6846\u67b6","url":"https://mochajs.org/","urls":{"-3":"https://github.com/mochajs/mocha"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":463},{"icon":"https://avatars0.githubusercontent.com/u/1515293?s=200&v=4","name":"chai","desc":"node.js\u7684BDD/TDD\u65ad\u8a00\u6846\u67b6\u548c\u53ef\u4ee5\u4e0e\u4efb\u4f55\u6d4b\u8bd5\u6846\u67b6\u914d\u5bf9\u7684\u6d4f\u89c8\u5668","url":"http://www.chaijs.com/","urls":{"-3":"https://github.com/chaijs/chai"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":464},{"icon":"https://avatars2.githubusercontent.com/u/8527916?s=200&v=4","name":"ava","desc":"\u672a\u6765\u7684JavaScript\u6d4b\u8bd5\u8fd0\u884c\u5668","url":"https://github.com/avajs/ava","urls":{"-1":"https://github.com/avajs/ava-docs/blob/master/zh_CN/readme.md"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":465},{"icon":"https://jestjs.io/img/favicon/favicon.ico","name":"Jest","desc":"Jest\u662f\u4e00\u4e2a\u4ee4\u4eba\u6109\u5feb\u7684JavaScript\u6d4b\u8bd5\u6846\u67b6\uff0c\u4e13\u6ce8\u4e8e\u7b80\u5355\u6027\u3002","url":"https://jestjs.io/zh-Hans/","urls":{"-3":"https://github.com/facebook/jest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":466},{"icon":"https://avatars1.githubusercontent.com/u/4243232?s=200&v=4","name":"testcafe","desc":"\u4e00\u4e2aNode.js\u5de5\u5177\uff0c\u7528\u4e8e\u81ea\u52a8\u5316\u7aef\u5230\u7aefWeb\u6d4b\u8bd5","url":"https://devexpress.github.io/testcafe/","urls":{"-3":"https://github.com/DevExpress/testcafe"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":467},{"icon":"https://avatars2.githubusercontent.com/u/26206404?s=200&v=4","name":"jest-puppeteer","desc":"\u4f7f\u7528Jest\uff06Puppeteer\u8fd0\u884c\u6d4b\u8bd5 \u{1f3aa}\u2728","url":"https://github.com/smooth-code/jest-puppeteer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":468},{"icon":"https://kulshekhar.github.io/ts-jest/assets/img/logo.png","name":"ts-jest","desc":"\u5177\u6709\u5bf9Jest\u7684Sourcemap\u652f\u6301\u7684TypeScript\u9884\u5904\u7406\u5668","url":"https://kulshekhar.github.io/ts-jest","urls":{"-3":"https://github.com/kulshekhar/ts-jest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":469},{"icon":"https://avatars2.githubusercontent.com/u/26206404?s=200&v=4","name":"jest-extended","desc":"\u6269\u5c55 jest \u5339\u914d\u5668","url":"https://github.com/jest-community/jest-extended","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5355\u5143\u6d4b\u8bd5"],"ownVisible":false,"id":470}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5e93","nav":[{"name":"node-mysql2","desc":"node.js\u7684\u5feb\u901fnode-mysql\u517c\u5bb9\u7684mysql\u9a71\u52a8\u7a0b\u5e8f","url":"https://github.com/sidorares/node-mysql2","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":471},{"name":"sequelize","desc":"\u57fa\u4e8e promise \u7684 Node.js ORM, \u76ee\u524d\u652f\u6301 Postgres, MySQL, SQLite \u548c Microsoft SQL Server. \u5b83\u5177\u6709\u5f3a\u5927\u7684\u4e8b\u52a1\u652f\u6301, \u5173\u8054\u5173\u7cfb, \u8bfb\u53d6\u548c\u590d\u5236\u7b49\u529f\u80fd","url":"https://demopark.github.io/sequelize-docs-Zh-CN/","urls":{"-2":"http://docs.sequelizejs.com/","-1":"https://demopark.github.io/sequelize-docs-Zh-CN/","-3":"https://github.com/sequelize/sequelize"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":472},{"name":"mongoose","desc":"mongodb\u5bf9\u8c61\u6a21\u578b\u8bbe\u8ba1\u7528\u4e8e\u5728\u5f02\u6b65\u73af\u5883\u4e2d\u5de5\u4f5c\u3002","url":"http://www.mongoosejs.net/","urls":{"-2":"http://mongoosejs.com/","-1":"http://www.mongoosejs.net/","-3":"https://github.com/Automattic/mongoose"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":473},{"name":"ioredis","desc":"\u9002\u7528\u4e8eNode.js\uff0c\u4ee5\u6027\u80fd\u4e3a\u4e2d\u5fc3\u4e14\u529f\u80fd\u9f50\u5168\u7684Redis\u5ba2\u6237\u7aef\u3002","url":"https://github.com/luin/ioredis","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":474},{"name":"objection.js","desc":"Objection.js\u662fNode.js\u7684\u4e00\u4e2aORM \uff0c\u5b83\u65e8\u5728\u907f\u514d\u4f7f\u7528SQL\u548c\u5e95\u5c42\u6570\u636e\u5e93\u5f15\u64ce\u7684\u5168\u90e8\u529f\u80fd\uff0c\u540c\u65f6\u5c3d\u53ef\u80fd\u7b80\u5355\u5730\u5c06magic\u4fdd\u6301\u5728\u6700\u4f4e\u9650\u5ea6\u3002","url":"http://vincit.github.io/objection.js/","urls":{"-3":"https://github.com/Vincit/objection.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":475},{"name":"nedb","desc":"JavaScript\u6570\u636e\u5e93\uff0c\u7528\u4e8eNode.js\uff0cnw.js\uff0celectron\u548c\u6d4f\u89c8\u5668","url":"https://github.com/louischatriot/nedb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":476},{"icon":"https://avatars0.githubusercontent.com/u/20165699?s=200&v=4","name":"typeorm","desc":"ORM for TypeScript\u548cJavaScript\uff08ES7\uff0cES6\uff0cES5\uff09\u3002\u652f\u6301MySQL\uff0cPostgreSQL\uff0cMariaDB\uff0cSQLite\uff0cMS SQL Server\uff0cOracle\uff0cWebSQL\u6570\u636e\u5e93\u3002\u9002\u7528\u4e8eNodeJS\uff0c\u6d4f\u89c8\u5668\uff0cIonic\uff0cCordova\u548cElectron\u5e73\u53f0","url":"http://typeorm.io","urls":{"-1":"https://github.com/typeorm/typeorm/tree/master/docs/zh_CN","-3":"https://github.com/typeorm/typeorm"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":477},{"icon":"https://avatars0.githubusercontent.com/u/10490573?s=200&v=4","name":"knexjs","desc":"PostgreSQL\uff0cMySQL\u548cSQLite3\u7684\u67e5\u8be2\u6784\u5efa\u5668\uff0c\u65e8\u5728\u7075\u6d3b\uff0c\u53ef\u79fb\u690d\u4e14\u6613\u4e8e\u4f7f\u7528\u3002","url":"http://knexjs.org","urls":{"-3":"https://github.com/knex/knex"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":478},{"icon":"https://avatars1.githubusercontent.com/u/5845577?s=200&v=4","name":"node-redis","desc":"\u9ad8\u6027\u80fdNode.js Redis\u5ba2\u6237\u7aef\u3002","url":"https://github.com/NodeRedis/node-redis","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":479}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fe\u5f62\u76f8\u5173","nav":[{"name":"node-canvas","desc":"node-canvas\u662fNode.js\u7684Cairo -backed Canvas\u5b9e\u73b0\u3002","url":"https://github.com/Automattic/node-canvas","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u56fe\u5f62\u76f8\u5173"],"ownVisible":false,"id":480},{"name":"svg-captcha","desc":"\u5728node.js\u4e2d\u751f\u6210svg\u9a8c\u8bc1\u7801","url":"https://github.com/lemonce/svg-captcha","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u56fe\u5f62\u76f8\u5173"],"ownVisible":false,"id":481},{"name":"ccap","desc":"node.js\u4f7f\u7528C++\u5e93CImg\u751f\u6210\u9a8c\u8bc1\u7801\uff0c\u65e0\u9700\u5b89\u88c5\u4efb\u4f55\u5176\u4ed6\u5e93\u6216\u8f6f\u4ef6","url":"https://github.com/DoubleSpout/ccap","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u56fe\u5f62\u76f8\u5173"],"ownVisible":false,"id":482},{"name":"text-to-svg","desc":"\u5c06\u6587\u672c\u8f6c\u6362\u4e3aSVG\u8def\u5f84\u800c\u4e0d\u4f9d\u8d56\u4e8e\u672c\u673a","url":"https://github.com/shrhdk/text-to-svg","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u56fe\u5f62\u76f8\u5173"],"ownVisible":false,"id":483},{"name":"svg2png","desc":"\u4f7f\u7528PhantomJS\u5c06SVG\u8f6c\u6362\u4e3aPNG","url":"https://github.com/domenic/svg2png","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u56fe\u5f62\u76f8\u5173"],"ownVisible":false,"id":484}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4ee3\u7406","nav":[{"name":"node-http-proxy","desc":"\u4e00\u4e2aHTTP\u53ef\u7f16\u7a0b\u4ee3\u7406\u5e93\uff0c\u652f\u6301websocket\u3002\u5b83\u9002\u7528\u4e8e\u5b9e\u73b0\u53cd\u5411\u4ee3\u7406\u548c\u8d1f\u8f7d\u5e73\u8861\u5668\u7b49\u7ec4\u4ef6","url":"https://github.com/nodejitsu/node-http-proxy","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u4ee3\u7406"],"ownVisible":false,"id":485},{"name":"http-proxy-middleware","desc":"\u7528\u4e8e\u8fde\u63a5\uff0c\u5feb\u901f\u548c\u6d4f\u89c8\u5668\u540c\u6b65\u7684\u5355\u7ebf\u7a0bnode.js http-proxy\u4e2d\u95f4\u4ef6\uff08\u57fa\u4e8enode-http-proxy\uff09","url":"https://github.com/chimurai/http-proxy-middleware","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u4ee3\u7406"],"ownVisible":false,"id":486}],"createdAt":"2021-01-23 09:32:06"},{"title":"AST\u8f85\u52a9\u5de5\u5177","nav":[{"name":"esprima","desc":"ECMAScript\u89e3\u6790\u57fa\u7840\u67b6\u6784\uff0c\u53ef\u8fdb\u884c\u591a\u7528\u9014\u5206\u6790, \u5c06\u4ee3\u7801\u8f6c\u6362\u6210AST","url":"https://esprima.org/","urls":{"-3":"https://github.com/jquery/esprima"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","AST\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":487},{"name":"recast","desc":"JavaScript AST\u8f6c\u6362\u5668\uff0c\u975e\u7834\u574f\u6027\u6f02\u4eae\u6253\u5370\u673a\u548c\u81ea\u52a8\u6e90\u6620\u5c04\u751f\u6210\u5668","url":"https://github.com/benjamn/recast","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","AST\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":488}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6587\u4ef6\u76f8\u5173","nav":[{"name":"node-xlsx","desc":"NodeJS excel\u6587\u4ef6\u89e3\u6790\u5668\u548c\u6784\u5efa\u5668","url":"https://github.com/mgcrea/node-xlsx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6587\u4ef6\u76f8\u5173"],"ownVisible":false,"id":489},{"name":"fs-extra","desc":"\u64cd\u4f5c\u7cfb\u7edf\u6587\u4ef6\uff0c\u7528\u4e8e\u66ff\u4ee3\u5185\u7f6e\u7684fs\u6a21\u5757","url":"https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e","urls":{"-1":"https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e","-3":"https://github.com/jprichardson/node-fs-extra"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6587\u4ef6\u76f8\u5173"],"ownVisible":false,"id":490},{"icon":"https://avatars0.githubusercontent.com/u/5826089?s=200&v=4","name":"js-xlsx","desc":"SheetJS\u793e\u533a\u7248 - \u7535\u5b50\u8868\u683c\u5de5\u5177\u5305","url":"https://sheetjs.com/","urls":{"-3":"https://github.com/SheetJS/js-xlsx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6587\u4ef6\u76f8\u5173"],"ownVisible":false,"id":491},{"icon":"https://www.archiverjs.com/images/logo.svg","name":"node-archiver","desc":"\u6587\u4ef6\u538b\u7f29","url":"https://www.archiverjs.com/","urls":{"-3":"https://github.com/archiverjs/node-archiver"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6587\u4ef6\u76f8\u5173"],"ownVisible":false,"id":492}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5fae\u4fe1\u5f00\u53d1","nav":[{"name":"wechat-oauth","desc":"\u5fae\u4fe1\u516c\u5171\u5e73\u53f0OAuth\u63a5\u53e3\u6d88\u606f\u63a5\u53e3\u670d\u52a1\u4e2d\u95f4\u4ef6\u4e0eAPI SDK","url":"https://github.com/node-webot/wechat-oauth","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5fae\u4fe1\u5f00\u53d1"],"ownVisible":false,"id":493},{"name":"wechat-api","desc":"\u5fae\u4fe1\u516c\u5171\u5e73\u53f0API","url":"https://github.com/node-webot/wechat-api","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5fae\u4fe1\u5f00\u53d1"],"ownVisible":false,"id":494},{"name":"wechat","desc":"\u5fae\u4fe1\u516c\u5171\u5e73\u53f0\u6d88\u606f\u63a5\u53e3\u670d\u52a1\u4e2d\u95f4\u4ef6","url":"https://github.com/node-webot/wechat","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5fae\u4fe1\u5f00\u53d1"],"ownVisible":false,"id":495},{"name":"wechaty","desc":"\u662f\u9002\u7528\u4e8e\u5fae\u4fe1\u4e2a\u4eba\u5e10\u6237\u7684Bot SDK \uff0c\u53ef\u4ee5\u5e2e\u52a9\u60a8\u521b\u5efa6\u884cjavascript\u7684\u673a\u5668\u4eba","url":"https://chatie.io/wechaty/","urls":{"-3":"https://github.com/Chatie/wechaty"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5fae\u4fe1\u5f00\u53d1"],"ownVisible":false,"id":496}],"createdAt":"2021-01-23 09:32:06"},{"title":"CLI","nav":[{"name":"Glob","desc":"\u5339\u914d\u6587\u4ef6\u3002 **/*.js","url":"https://github.com/isaacs/node-glob","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":497},{"name":"prompts","desc":"\u8f7b\u5de7\uff0c\u7f8e\u89c2\u548c\u7528\u6237\u53cb\u597d\u7684\u4ea4\u4e92\u5f0f\u63d0\u793a","url":"https://github.com/terkelg/prompts","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":498},{"icon":"https://avatars3.githubusercontent.com/u/21160645?s=200&v=4","name":"enquirer","desc":"\u65f6\u5c1a\uff0c\u76f4\u89c2\u548c\u7528\u6237\u53cb\u597d\u7684\u63d0\u793a","url":"https://github.com/enquirer/enquirer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":499},{"icon":"https://avatars2.githubusercontent.com/u/887802?s=200&v=4","name":"cli-table3","desc":"\u5e26\u6709Node.JS\u7684CLI\u7684\u6f02\u4eaeunicode\u8868","url":"https://github.com/cli-table/cli-table3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":500},{"name":"commander.js","desc":"node.js\u547d\u4ee4\u884c\u754c\u9762\u7684\u5b8c\u6574\u89e3\u51b3\u65b9\u6848\uff0c\u53d7Ruby\u6307\u6325\u5b98\u7684\u542f\u53d1","url":"https://github.com/tj/commander.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":501},{"name":"ora","desc":"\u4f18\u96c5\u7684\u7ec8\u7aef\u5fae\u8c03\u5668","url":"https://github.com/sindresorhus/ora","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":502},{"name":"Inquirer.js","desc":"\u5e38\u7528\u4ea4\u4e92\u5f0f\u547d\u4ee4\u884c\u7528\u6237\u754c\u9762\u7684\u96c6\u5408","url":"https://github.com/SBoudrias/Inquirer.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":503},{"name":"shelljs","desc":"Node.js\u7684\u53ef\u79fb\u690dUnix shell\u547d\u4ee4","url":"https://documentup.com/shelljs/shelljs","urls":{"-3":"https://github.com/shelljs/shelljs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":504},{"name":"download-git-repo","desc":"\u4e0b\u8f7d\u5e76\u63d0\u53d6git\u5b58\u50a8\u5e93\uff08GitHub\uff0cGitLab\uff0cBitbucket\uff09","url":"https://github.com/flipxfx/download-git-repo","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":505},{"icon":"https://avatars0.githubusercontent.com/u/6078720?s=200&v=4","name":"node-semver","desc":"node\u7684semver\u89e3\u6790\u5668","url":"https://github.com/npm/node-semver","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":506},{"name":"node-progress","desc":"node.js\u7684\u7075\u6d3bascii\u8fdb\u5ea6\u6761","url":"https://github.com/visionmedia/node-progress","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":507},{"name":"node-qrcode","desc":"\u4e8c\u7ef4\u7801\u751f\u6210","url":"https://github.com/soldair/node-qrcode","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":508},{"name":"open","desc":"\u6253\u5f00URL\uff0c\u6587\u4ef6\uff0c\u53ef\u6267\u884c\u6587\u4ef6\u7b49\u5185\u5bb9\u3002\u8de8\u5e73\u53f0\u3002","url":"https://github.com/sindresorhus/open","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":509},{"name":"ssh2","desc":"\u7528\u7eafJavaScript\u7f16\u5199\u7684SSH2\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u6a21\u5757\uff0c\u7528\u4e8enode.js","url":"https://github.com/mscdex/ssh2","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":510},{"name":"minimist","desc":"\u89e3\u6790\u53c2\u6570\u9009\u9879","url":"https://github.com/substack/minimist","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":511},{"name":"node-clear","desc":"\u6e05\u7a7a\u7ec8\u7aef\u5c4f\u5e55\u4fe1\u606f","url":"https://github.com/bahamas10/node-clear","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":512},{"icon":"https://avatars2.githubusercontent.com/u/13122722?s=200&v=4","name":"chalk","desc":"\u7ec8\u7aef\u5b57\u7b26\u4e32\u6837\u5f0f","url":"https://github.com/chalk/chalk","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":513},{"icon":"https://avatars3.githubusercontent.com/u/16504989?s=200&v=4","name":"yargs","desc":"\u901a\u8fc7\u89e3\u6790\u53c2\u6570\u5e76\u751f\u6210\u4f18\u96c5\u7684\u7528\u6237\u754c\u9762\u6765\u5e2e\u52a9\u60a8\u6784\u5efa\u4ea4\u4e92\u5f0f\u547d\u4ee4\u884c\u5de5\u5177\u3002","url":"https://github.com/yargs/yargs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":514}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6a21\u677f\u5f15\u64ce","nav":[{"icon":"https://handlebarsjs.com/images/favicon.png","name":"handlebars","desc":"JavaScript\u6a21\u677f\u5f15\u64ce","url":"http://handlebarsjs.com/","urls":{"-3":"https://github.com/wycats/handlebars.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6a21\u677f\u5f15\u64ce"],"ownVisible":false,"id":515},{"icon":"https://ejs.co/favicon.svg","name":"ejs","desc":"JavaScript\u6a21\u677f\u5f15\u64ce","url":"https://ejs.co/","urls":{"-3":"https://github.com/mde/ejs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6a21\u677f\u5f15\u64ce"],"ownVisible":false,"id":516},{"icon":"https://github.githubassets.com/favicons/favicon.svg","name":"mustache.js","desc":"\u4f7f\u7528JavaScript\u7684\u65e0\u903b\u8f91{{mustache}}\u6a21\u677f","url":"https://github.com/janl/mustache.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u6a21\u677f\u5f15\u64ce"],"ownVisible":false,"id":517}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"node-xml2js","desc":"\u7b80\u5355\u7684XML\u5230JavaScript\u5bf9\u8c61\u8f6c\u6362\u5668\u3002\u5b83\u652f\u6301\u53cc\u5411\u8f6c\u6362\u3002\u4f7f\u7528sax-js\u548c xmlbuilder-js","url":"https://github.com/Leonidas-from-XIV/node-xml2js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":518},{"name":"iconv-lite","desc":"\u7eafJavaScript\u4e2d\u8f6c\u6362\u5b57\u7b26\u7f16\u7801\u3002","url":"https://github.com/ashtuchkin/iconv-lite","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":519},{"name":"node-uuid","desc":"\u5728JavaScript\u4e2d\u751f\u6210\u7b26\u5408RFC\u7684UUID","url":"https://github.com/kelektiv/node-uuid","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":520},{"name":"nativefier","desc":"\u4f7f\u4efb\u4f55\u7f51\u9875\u6210\u4e3a\u684c\u9762\u5e94\u7528\u7a0b\u5e8f","url":"https://github.com/jiahaog/nativefier","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":521},{"name":"getmac","desc":"\u901a\u8fc7Node.js\u83b7\u53d6\u5f53\u524d\u8ba1\u7b97\u673a\u7684mac\u5730\u5740","url":"https://github.com/bevry/getmac","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":522},{"name":"http-server","desc":"\u4e00\u4e2a\u7b80\u5355\u7684\u96f6\u914d\u7f6e\u547d\u4ee4\u884chttp\u670d\u52a1\u5668","url":"https://github.com/indexzero/http-server","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":523},{"name":"node-schedule","desc":"Node\u7684\u7c7b\u4f3ccron-like\u548c\u975enot-cron-like\u7684\u4f5c\u4e1a\u8c03\u5ea6\u7a0b\u5e8f\u3002","url":"https://github.com/node-schedule/node-schedule","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":524},{"name":"qrcode-terminal","desc":"QRCode\u7ec8\u7aef\u7248","url":"https://github.com/gtanner/qrcode-terminal","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":525},{"icon":"https://avatars1.githubusercontent.com/u/13612933?s=200&v=4","name":"localtunnel","desc":"localtunnel\u5c06\u60a8\u7684localhost\u66b4\u9732\u7ed9\u4e16\u754c\uff0c\u4ee5\u4fbf\u4e8e\u6d4b\u8bd5\u548c\u5171\u4eab\uff01\u65e0\u9700\u6df7\u6dc6DNS\u6216\u90e8\u7f72\u53ea\u662f\u4e3a\u4e86\u8ba9\u5176\u4ed6\u4eba\u6d4b\u8bd5\u60a8\u7684\u66f4\u6539","url":"https://localtunnel.github.io/www/","urls":{"-3":"https://github.com/localtunnel/localtunnel"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":526},{"icon":"http://www.passportjs.org/images/favicon/apple-icon-57x57.png","name":"passport","desc":"Node.js\u7684\u7b80\u5355\uff0c\u4e0d\u663e\u773c\u7684\u8eab\u4efd\u9a8c\u8bc1","url":"http://www.passportjs.org/","urls":{"-3":"https://github.com/jaredhanson/passport"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":527},{"name":"parameter","desc":"\u53c2\u6570\u9a8c\u8bc1\u5de5\u5177","url":"https://github.com/node-modules/parameter","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":528},{"name":"bytes","desc":"\u7528\u4e8e\u89e3\u6790\u5b57\u7b26\u4e32\u5b57\u8282, b/kb/mb/gb/tb/pb","url":"https://github.com/visionmedia/bytes.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":529},{"icon":"https://avatars2.githubusercontent.com/u/723678?s=200&v=4","name":"js-yaml","desc":"JavaScript YAML\u89e3\u6790\u5668\u548c\u8f6c\u50a8\u5668\u3002\u975e\u5e38\u5feb","url":"https://nodeca.github.io/js-yaml/","urls":{"-3":"https://github.com/nodeca/js-yaml"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":530},{"icon":"https://avatars0.githubusercontent.com/u/34631683?s=200&v=4","name":"acorn","desc":"\u4e00\u4e2a\u5c0f\u578b\uff0c\u57fa\u4e8eJavaScript\u7684\u5feb\u901fJavaScript\u89e3\u6790\u5668","url":"https://github.com/acornjs/acorn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":531},{"name":"figlet.js","desc":"\u7528JavaScript\u7f16\u5199\u7684FIG\u9a71\u52a8\u7a0b\u5e8f\uff0c\u65e8\u5728\u5b8c\u5168\u5b9e\u73b0FIGfont\u89c4\u8303, \u751f\u6210ascii","url":"https://github.com/patorjk/figlet.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":532},{"name":"node-printer","desc":"\u672c\u673a node.js \u6253\u5370\u673a","url":"https://github.com/tojocky/node-printer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":533},{"name":"fontmin","desc":"\u65e0\u7f1d\u7f29\u5c0f\u5b57\u4f53","url":"https://github.com/ecomfe/fontmin","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":534},{"icon":"https://avatars1.githubusercontent.com/u/5658226?s=200&v=4","name":"morgan","desc":"Node.js\u7684HTTP\u8bf7\u6c42\u8bb0\u5f55\u5668\u4e2d\u95f4\u4ef6","url":"https://github.com/expressjs/morgan","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":535},{"icon":"https://avatars0.githubusercontent.com/u/9271229?s=200&v=4","name":"jsdom","desc":"\u4e0eNode.js\u4e00\u8d77\u4f7f\u7528\u7684\u5404\u79cdWeb\u6807\u51c6\u7684JavaScript\u5b9e\u73b0","url":"https://github.com/jsdom/jsdom","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":536}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8de8\u5e73\u53f0\u6846\u67b6","nav":[{"title":"Electron","icon":"https://www.electronjs.org/images/favicon.ico","nav":[{"name":"Electron","desc":"\u4f7f\u7528 JavaScript, HTML \u548c CSS \u6784\u5efa\u8de8\u5e73\u53f0\u7684\u684c\u9762\u5e94\u7528","url":"https://electronjs.org/","urls":{"-3":"https://github.com/electron/electron"},"icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":537},{"name":"electron-packager","desc":"\u901a\u8fc7JS\u6216CLI\u81ea\u5b9a\u4e49\u548c\u5c01\u88c5\u60a8\u7684Electron\u5e94\u7528\u7a0b\u5e8f\u4e0e\u7279\u5b9a\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u7684\u8f6f\u4ef6\u5305\uff08.app\uff0c.exe\u7b49\uff09","url":"https://github.com/electron-userland/electron-packager","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":538},{"name":"electron-installer-dmg","desc":"\u4f7f\u7528AppDMG\u4e3a\u7535\u5b50\u5e94\u7528\u7a0b\u5e8f\u521b\u5efaDMG\u5b89\u88c5\u7a0b\u5e8f","url":"https://github.com/electron-userland/electron-installer-dmg","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":539},{"icon":"https://simulatedgreg.gitbooks.io/electron-vue/content/gitbook/images/apple-touch-icon-precomposed-152.png","name":"electron-vue","desc":"\u57fa\u4e8e vue (\u57fa\u672c\u4e0a\u662f\u5b83\u542c\u8d77\u6765\u7684\u6837\u5b50) \u6765\u6784\u9020 electron \u5e94\u7528\u7a0b\u5e8f\u7684\u6837\u677f\u4ee3\u7801\u3002","url":"https://simulatedgreg.gitbooks.io/electron-vue/content/cn/","urls":{"-2":"https://simulatedgreg.gitbooks.io/electron-vue/content/en/","-1":"https://simulatedgreg.gitbooks.io/electron-vue/content/cn/","-3":"https://github.com/SimulatedGREG/electron-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":540},{"icon":"https://www.electron.build/assets/images/favicon.png","name":"electron-builder","desc":"\u4e00\u4e2a\u5f00\u7bb1\u5373\u7528\u7684\u5b8c\u6574\u89e3\u51b3\u65b9\u6848\uff0c\u7528\u4e8e\u5c06Electron, Proton Native or Muon \u6253\u5305\u3001\u6784\u5efa\u6210\u652f\u6301macOS, Windows and Linux\u4e09\u5927\u7cfb\u7edf\u7684\uff0c\u53ef\u201d\u81ea\u52a8\u66f4\u65b0\u201d\u7684\u53ef\u53d1\u5e03\u5b89\u88c5\u7a0b\u5e8f","url":"https://www.electron.build/","urls":{"-3":"https://github.com/electron-userland/electron-builder"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":541},{"icon":"https://electron-react-boilerplate.js.org/logo/logo.png","name":"electron-react-boilerplate","desc":"\u57fa\u4e8eReact\u53ef\u6269\u5c55\u8de8\u5e73\u53f0\u5e94\u7528\u7a0b\u5e8f\u7684App","url":"https://electron-react-boilerplate.js.org/","urls":{"-3":"https://github.com/electron-react-boilerplate/electron-react-boilerplate"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":542},{"name":"menubar","desc":"Electron\u521b\u5efa\u83dc\u5355\u680f\u684c\u9762\u5e94\u7528\u7a0b\u5e8f\u7684\u9ad8\u7ea7\u65b9\u6cd5\u3002","url":"https://github.com/maxogden/menubar","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","Electron"],"ownVisible":false,"id":543}],"createdAt":"2021-01-23 09:32:06"},{"title":"nw.js","nav":[{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nw.js","desc":"\u4eceDOM/WebWorker\u5c42,\u76f4\u63a5\u8c03\u7528\u6240\u6709\u7684Node\u6a21\u5757\uff0c\u4f7f\u7528\u73b0\u6709\u7684web\u6280\u672f\uff0c\u5f00\u542f\u4e00\u4e2a\u5168\u65b0\u7684\u7f16\u5199\u5e94\u7528\u7684\u65b9\u5f0f","url":"https://nwjs.org.cn/","urls":{"-2":"https://nwjs.io/","-1":"https://nwjs.org.cn/","-3":"https://github.com/nwjs/nw.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","nw.js"],"ownVisible":false,"id":544},{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nw-builder","desc":"\u4ee5\u7f16\u7a0b\u65b9\u5f0f\u6216\u901a\u8fc7CLI \u6784\u5efa\u9002\u7528\u4e8eMac\uff0cWin\u548cLinux\u7684NW.js\u5e94\u7528\u7a0b\u5e8f\u3002","url":"https://github.com/nwjs-community/nw-builder","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","nw.js"],"ownVisible":false,"id":545},{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nwjs-ffmpeg-prebuilt","desc":"FFMpeg\u9884\u6784\u5efa\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\u5177\u6709\u4e13\u6709\u7684\u7f16\u89e3\u7801\u5668\u548c\u6784\u5efa\u7a97\u53e3\u3002","url":"https://github.com/iteufel/nwjs-ffmpeg-prebuilt","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8de8\u5e73\u53f0\u6846\u67b6","nw.js"],"ownVisible":false,"id":546}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"WEB\u6846\u67b6","nav":[{"title":"nest","nav":[{"icon":"https://avatars1.githubusercontent.com/u/28507035?s=200&v=4","name":"nest","desc":"Nest \u662f\u4e00\u4e2a\u7528\u4e8e\u6784\u5efa\u9ad8\u6548\uff0c\u53ef\u6269\u5c55\u7684 Node.js \u670d\u52a1\u5668\u7aef\u5e94\u7528\u7a0b\u5e8f\u7684\u6846\u67b6\u3002\u5b83\u4f7f\u7528\u6e10\u8fdb\u5f0f JavaScript\uff0c\u5185\u7f6e\u5e76\u5b8c\u5168\u652f\u6301 TypeScript\uff08\u4f46\u4ecd\u7136\u5141\u8bb8\u5f00\u53d1\u4eba\u5458\u4f7f\u7528\u7eaf JavaScript \u7f16\u5199\u4ee3\u7801\uff09\u5e76\u7ed3\u5408\u4e86 OOP\uff08\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\uff09\uff0cFP\uff08\u529f\u80fd\u7f16\u7a0b\uff09\u548c FRP\uff08\u529f\u80fd\u53cd\u5e94\u7f16\u7a0b\uff09\u7684\u5143\u7d20","url":"https://docs.nestjs.cn/6/introduction","urls":{"-2":"https://nestjs.com/","-1":"https://docs.nestjs.cn/6/introduction","-3":"https://github.com/nestjs/nest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","nest"],"ownVisible":false,"id":547},{"icon":"https://avatars1.githubusercontent.com/u/28507035?s=200&v=4","name":"awesome-nestjs","desc":"NestJS\u7684\u7cbe\u9009\u5217\u8868","url":"https://github.com/juliandavidmr/awesome-nestjs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","nest"],"ownVisible":false,"id":548}],"createdAt":"2021-01-23 09:32:06"},{"title":"egg.js","nav":[{"icon":"https://eggjs.org/images/favicon.png","name":"Egg.js","desc":"Egg.js \u4e3a\u4f01\u4e1a\u7ea7\u6846\u67b6\u548c\u5e94\u7528\u800c\u751f\uff0c\u6211\u4eec\u5e0c\u671b\u7531 Egg.js \u5b55\u80b2\u51fa\u66f4\u591a\u4e0a\u5c42\u6846\u67b6\uff0c\u5e2e\u52a9\u5f00\u53d1\u56e2\u961f\u548c\u5f00\u53d1\u4eba\u5458\u964d\u4f4e\u5f00\u53d1\u548c\u7ef4\u62a4\u6210\u672c","url":"https://eggjs.org/zh-cn/intro/index.html","urls":{"-2":"https://eggjs.org","-1":"https://eggjs.org/zh-cn/intro/index.html","-3":"https://github.com/eggjs/egg/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","egg.js"],"ownVisible":false,"id":549},{"icon":"https://eggjs.org/images/favicon.png","name":"egg-validate","desc":"\u57fa\u4e8e parameter \u5c01\u88c5\u7684\u53c2\u6570\u9a8c\u8bc1\u63d2\u4ef6","url":"https://github.com/eggjs/egg-validate","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","egg.js"],"ownVisible":false,"id":550},{"icon":"https://eggjs.org/images/favicon.png","name":"egg-mailer","desc":"\u57fa\u4e8e nodemailer \u5c01\u88c5\u7684\u53c2\u6570\u9a8c\u8bc1\u63d2\u4ef6","url":"https://github.com/xjh22222228/egg-mailer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","egg.js"],"ownVisible":false,"id":551}],"createdAt":"2021-01-23 09:32:06"},{"title":"Express/Koa","nav":[{"icon":"https://avatars2.githubusercontent.com/u/5055057?s=200&v=4","name":"Koa","desc":"Koa -- \u57fa\u4e8eNode.js \u5e73\u53f0\u7684\u4e0b\u4e00\u4ee3web\u5f00\u53d1\u6846\u67b6","url":"https://koa.bootcss.com/","urls":{"-2":"https://koajs.com/","-1":"https://koa.bootcss.com/","-3":"https://github.com/koajs/koa"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","Express/Koa"],"ownVisible":false,"id":552},{"icon":"https://avatars1.githubusercontent.com/u/5658226?s=200&v=4","name":"Express","desc":"Express - \u5feb\u901f\u3001\u5f00\u653e\u3001\u6781\u7b80\u7684 Web \u5f00\u53d1\u6846\u67b6","url":"http://expressjs.jser.us/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB\u6846\u67b6","Express/Koa"],"ownVisible":false,"id":553}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8f85\u52a9\u5de5\u5177","icon":"https://nodejs.org/static/images/favicons/favicon.ico","nav":[{"title":"\u8c03\u8bd5debugger","nav":[{"name":"node-inspector","desc":"Node.js\u8c03\u8bd5\u5668\u57fa\u4e8eBlink Developer Tools","url":"https://github.com/node-inspector/node-inspector","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u8c03\u8bd5debugger"],"ownVisible":false,"id":554},{"name":"debug","desc":"\u4e00\u4e2a\u5fae\u5c0f\u7684JavaScript\u8c03\u8bd5\u5de5\u5177\uff0c\u4ee5Node.js\u6838\u5fc3\u7684\u8c03\u8bd5\u6280\u672f\u4e3a\u6a21\u578b\u3002\u9002\u7528\u4e8eNode.js\u548cWeb\u6d4f\u89c8\u5668","url":"https://github.com/visionmedia/debug","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u8c03\u8bd5debugger"],"ownVisible":false,"id":555},{"name":"ndb","desc":"ndb\u662f\u9488\u5bf9Node.js\u7684\u6539\u8fdb\u8c03\u8bd5\u4f53\u9a8c\uff0c\u7531Chrome DevTools\u542f\u7528","url":"https://github.com/GoogleChromeLabs/ndb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u8c03\u8bd5debugger"],"ownVisible":false,"id":556}],"createdAt":"2021-01-23 09:32:06"},{"title":"node\u7248\u672c\u7ba1\u7406","nav":[{"name":"nvm","desc":"Node\u7248\u672c\u7ba1\u7406\u5668 - \u7528\u4e8e\u7ba1\u7406\u591a\u4e2a\u6d3b\u52a8node.js\u7248\u672c\u7684\u7b80\u5355bash\u811a\u672c","url":"https://github.com/creationix/nvm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","node\u7248\u672c\u7ba1\u7406"],"ownVisible":false,"id":557},{"name":"nvm-windows","desc":"\u9002\u7528\u4e8eWindows\u7684node.js\u7248\u672c\u7ba1\u7406\u5b9e\u7528\u7a0b\u5e8f","url":"https://github.com/coreybutler/nvm-windows","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","node\u7248\u672c\u7ba1\u7406"],"ownVisible":false,"id":558},{"name":"nvs","desc":"Node Version Switcher - \u7528\u4e8e\u5728Node.js\u7684\u7248\u672c\u548c\u5206\u652f\u4e4b\u95f4\u5207\u6362\u7684\u8de8\u5e73\u53f0\u5de5\u5177(\u53d7\u5230nvm\u7684\u542f\u53d1)","url":"https://github.com/jasongin/nvs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","node\u7248\u672c\u7ba1\u7406"],"ownVisible":false,"id":559},{"name":"n","desc":"Node.js\u7248\u672c\u7ba1\u7406\uff1a\u65e0\u914d\u7f6e\u6587\u4ef6\uff0c\u65e0\u590d\u6742\u7684API\uff0c\u975e\u5e38\u7b80\u5355","url":"https://github.com/tj/n","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","node\u7248\u672c\u7ba1\u7406"],"ownVisible":false,"id":560}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u65e5\u5fd7\u7ba1\u7406","nav":[{"name":"log4js-node","desc":"log4js \u662f\u4e00\u4e2a nodejs \u65e5\u5fd7\u7ba1\u7406\u5de5\u5177\uff0c\u53ef\u4ee5\u5c06\u65e5\u5fd7\u4ee5\u5404\u79cd\u5f62\u5f0f\u8f93\u51fa\u5230\u5404\u79cd\u6e20\u9053\u3002","url":"https://log4js-node.github.io/log4js-node/index.html","urls":{"-3":"https://github.com/log4js-node/log4js-node"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u65e5\u5fd7\u7ba1\u7406"],"ownVisible":false,"id":561},{"name":"node-bunyan","desc":"\u7528\u4e8enode.js\u670d\u52a1\u7684\u7b80\u5355\u5feb\u901f\u7684JSON\u65e5\u5fd7\u8bb0\u5f55\u6a21\u5757","url":"https://github.com/trentm/node-bunyan","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u65e5\u5fd7\u7ba1\u7406"],"ownVisible":false,"id":562}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u96c6\u6210\u5de5\u5177","nav":[{"icon":"https://avatars0.githubusercontent.com/u/1714870?s=200&v=4","name":"yeoman","desc":"\u4e00\u5957\u7528\u4e8e\u81ea\u52a8\u5316\u5f00\u53d1\u5de5\u4f5c\u6d41\u7a0b\u7684\u5de5\u5177","url":"https://yeoman.io/","urls":{"-3":"https://github.com/yeoman/yeoman"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u96c6\u6210\u5de5\u5177"],"ownVisible":false,"id":563},{"icon":"https://avatars0.githubusercontent.com/u/16486629?s=200&v=4","name":"nodemailer","desc":"\u53d1\u9001\u6765\u81eaNode.js\u7684\u7535\u5b50\u90ae\u4ef6 - \u5f88\u5bb9\u6613\u5c31\u50cf\u86cb\u7cd5\u4e00\u6837\uff01","url":"http://nodemailer.com/","urls":{"-3":"https://github.com/nodemailer/nodemailer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u96c6\u6210\u5de5\u5177"],"ownVisible":false,"id":564},{"name":"gh-pages","desc":"\u5c06\u6587\u4ef6\u53d1\u5e03\u5230GitHub\u4e0a\u7684gh-pages\u5206\u652f\u7684\u5e38\u89c4\u4efb\u52a1","url":"https://github.com/tschaub/gh-pages","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u96c6\u6210\u5de5\u5177"],"ownVisible":false,"id":565}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4ee3\u7801\u538b\u7f29","nav":[{"icon":"https://avatars1.githubusercontent.com/u/43502240?s=200&v=4","name":"terser","desc":"\u9002\u7528\u4e8eES6+\u7684JavaScript\u89e3\u6790\u5668\uff0cmangler\u548c\u538b\u7f29\u5668\u5de5\u5177\u5305","url":"https://terser.org/","urls":{"-3":"https://github.com/terser/terser"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u4ee3\u7801\u538b\u7f29"],"ownVisible":false,"id":566}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"Awehunt","desc":"npm\u5305\u4e0b\u8f7d\u91cf\u66f2\u7ebf\u5bf9\u6bd4\u56fe","url":"https://awehunt.com/npmdownloads?ids=react,angular,vue","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":567},{"name":"nodemon","desc":"\u76d1\u89c6node.js\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u4efb\u4f55\u66f4\u6539\u5e76\u81ea\u52a8\u91cd\u65b0\u542f\u52a8\u670d\u52a1\u5668 - \u975e\u5e38\u9002\u5408\u5f00\u53d1","url":"https://nodemon.io/","urls":{"-3":"https://github.com/remy/nodemon"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":568},{"name":"pkg","desc":"\u5c06Node.js\u9879\u76ee\u6253\u5305\u6210\u53ef\u6267\u884c\u6587\u4ef6","url":"https://github.com/zeit/pkg","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":569},{"name":"npm-check-updates","desc":"\u67e5\u627epackage.json\u6216bower.json\u5141\u8bb8\u7684\u66f4\u65b0\u7248\u672c\u7684\u8f6f\u4ef6\u5305\u4f9d\u8d56\u9879","url":"https://github.com/tjunnone/npm-check-updates","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":570},{"name":"husky","desc":"husky \u53ef\u4ee5\u9632\u6b62\u9519\u8bef\u7684 git commit, git push \u7b49","url":"https://github.com/typicode/husky","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":571},{"name":"bundlephobia","desc":"\u627e\u51fa\u5728\u9879\u76ee\u4e2d\u6dfb\u52a0\u65b0\u7684\u4f9d\u8d56\u9879\u7684\u5305\u5927\u5c0f","url":"https://bundlephobia.com","urls":{"-3":"https://github.com/pastelsky/bundlephobia"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":572},{"name":"npm-run-all","desc":"\u4e00\u4e2aCLI\u5de5\u5177\uff0c\u53ef\u5e76\u884c\u6216\u987a\u5e8f\u8fd0\u884c\u591a\u4e2anpm\u811a\u672c","url":"https://github.com/mysticatea/npm-run-all","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":573},{"name":"dotenv","desc":"\u4ece.env\u52a0\u8f7d\u7528\u4e8enodejs\u9879\u76ee\u7684\u73af\u5883\u53d8\u91cf","url":"https://github.com/motdotla/dotenv#readme","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":574},{"name":"cross-env","desc":"\u8fd0\u884c\u8de8\u5e73\u53f0\u8bbe\u7f6e\u548c\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u7684\u811a\u672c","url":"https://github.com/kentcdodds/cross-env","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":575},{"name":"nrm","desc":"npm\u6e90\u5feb\u901f\u5207\u6362\uff0c npm, cnpm, taobao, nj, \u5185\u7f51","url":"https://github.com/Pana/nrm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","\u8f85\u52a9\u5de5\u5177","\u5176\u4ed6"],"ownVisible":false,"id":576}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Deno","nav":[{"title":"\u5b98\u65b9","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","nav":[{"name":"Deno","desc":"\u4e00\u4e2a\u5b89\u5168\u7684\u8fd0\u884c\u65f6\u7684JavaScript\u548cTypeScript","url":"https://deno.land/","urls":{"-3":"https://github.com/denoland"},"icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","Deno","\u5b98\u65b9"],"ownVisible":false,"id":577},{"name":"Deno \u6807\u51c6\u5e93","desc":"Deno \u6807\u51c6\u5e93","url":"https://deno.land/std","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","Deno","\u5b98\u65b9"],"ownVisible":false,"id":578}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5de5\u5177","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","nav":[{"name":"Deno","desc":"\u9002\u7528\u4e8eDeno\u7684Visual Studio Code\u63d2\u4ef6","url":"https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno","urls":{"-3":"https://github.com/denoland/vscode_deno"},"icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","Deno","\u5de5\u5177"],"ownVisible":false,"id":579}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"id":0,"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"Golang","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"\u751f\u6001","nav":[{"name":"Golang","desc":"Go\u7f16\u7a0b\u8bed\u8a00","url":"https://go-zh.org/","urls":{"-2":"https://golang.org/","-1":"https://go-zh.org/","-3":"https://github.com/golang/go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":580},{"name":"go.dev","desc":"\u5927\u89c4\u6a21\u6784\u5efa\u5feb\u901f\uff0c\u53ef\u9760\uff0c\u9ad8\u6548\u7684\u8f6f\u4ef6","url":"https://go.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":581},{"name":"awesome-go","desc":"\u7cbe\u9009\u7684Go\u6846\u67b6\uff0c\u5e93\u548c\u8f6f\u4ef6\u7684\u7cbe\u9009\u5217\u8868","url":"https://github.com/jobbole/awesome-go-cn","urls":{"-2":"https://github.com/avelino/awesome-Go","-1":"https://github.com/jobbole/awesome-go-cn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":582},{"icon":"https://avatars1.githubusercontent.com/u/49926011?s=200&v=4","name":"Goproxy","desc":"\u4e2d\u56fd\u6700\u53ef\u9760\u7684 Go \u6a21\u5757\u4ee3\u7406","url":"https://goproxy.cn/","urls":{"-3":"https://github.com/goproxy/goproxy.cn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":583},{"icon":"https://static.studygolang.com/static/img/favicon.ico","name":"Go\u8bed\u8a00\u4e2d\u6587\u7f51","desc":"Go\u8bed\u8a00\u4e2d\u6587\u7f51","url":"https://studygolang.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":584},{"icon":"https://studygolang.com/static/img/go.ico","name":"Go\u6807\u51c6\u5e93\u4e2d\u6587\u6587\u6863","desc":"Go\u6807\u51c6\u5e93\u4e2d\u6587\u6587\u6863","url":"https://studygolang.com/pkgdoc","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","\u751f\u6001"],"ownVisible":false,"id":585}],"createdAt":"2021-01-23 09:32:06"},{"title":"WEB\u6846\u67b6","nav":[{"name":"gin","desc":"Gin\u662f\u7528Go\uff08Golang\uff09\u7f16\u5199\u7684Web\u6846\u67b6\u3002\u5b83\u5177\u6709\u7c7b\u4f3c\u4e8emartini\u7684API\uff0c\u5176\u6027\u80fd\u6bd4httprouter\u5feb40\u500d\u3002\u5982\u679c\u60a8\u9700\u8981\u6027\u80fd\u548c\u826f\u597d\u7684\u751f\u4ea7\u7387\uff0c\u60a8\u4f1a\u559c\u6b22Gin","url":"https://learnku.com/docs/gin-gonic/2019/go-gin-document","urls":{"-2":"https://gin-gonic.com/","-1":"https://learnku.com/docs/gin-gonic/2019/go-gin-document","-3":"https://github.com/gin-gonic/gin"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":586},{"name":"beego","desc":"beego\u662f\u7528\u4e8eGo\u7f16\u7a0b\u8bed\u8a00\u7684\u5f00\u6e90\uff0c\u9ad8\u6027\u80fdWeb\u6846\u67b6","url":"http://beego.me","urls":{"-2":"http://beego.me","-3":"https://github.com/astaxie/beego"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":587},{"name":"martini","desc":"Go\u7684\u7ecf\u5178Web\u6846\u67b6","url":"http://martini.codegangsta.io","urls":{"-2":"http://martini.codegangsta.io","-3":"https://github.com/go-martini/martini"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":588},{"icon":"https://avatars1.githubusercontent.com/u/2624634?s=200&v=4","name":"echo","desc":"\u9ad8\u6027\u80fd\uff0c\u7b80\u7ea6\u7684Go Web\u6846\u67b6","url":"https://echo.labstack.com","urls":{"-2":"https://echo.labstack.com","-3":"https://github.com/labstack/echo"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":589},{"icon":"https://www.iris-go.com/favicon.ico","name":"iris","desc":"\u6700\u5feb\u7684HTTP / 2 Go Web\u6846\u67b6\u3002AWS Lambda\uff0cgRPC\uff0cMVC\uff0c\u552f\u4e00\u8def\u7531\u5668\uff0cWebsocket\uff0c\u4f1a\u8bdd\uff0c\u6d4b\u8bd5\u5957\u4ef6\uff0c\u4f9d\u8d56\u6ce8\u5165\u7b49\u3002expressjs\u548claravel\u7684\u771f\u6b63\u7ee7\u627f\u8005|","url":"https://www.iris-go.com/","urls":{"-3":"https://github.com/kataras/iris"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":590},{"icon":"https://avatars1.githubusercontent.com/u/59947262?s=200&v=4","name":"fiber","desc":"Fiber\u662f\u4e00\u4e2a\u53d7Express\u542f\u53d1\u7684Web\u6846\u67b6\uff0c\u5efa\u7acb\u5728Fasthttp\uff08Go\u6700\u5feb\u7684HTTP\u5f15\u64ce\uff09\u7684\u57fa\u7840\u4e0a\u3002 \u65e8\u5728\u7b80\u5316\u96f6\u5185\u5b58\u5206\u914d\u548c\u6027\u80fd\u7684\u60c5\u51b5\uff0c\u4ee5\u4fbf\u5feb\u901f\u5f00\u53d1\u3002","url":"https://gofiber.io/","urls":{"-3":"https://github.com/gofiber/fiber"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u751f\u6001\u7cfb\u7edf","WEB\u6846\u67b6"],"ownVisible":false,"id":591}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4f9d\u8d56\u5305","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"GUI","nav":[{"icon":"https://avatars3.githubusercontent.com/u/36045855?s=200&v=4","name":"Fyne","desc":"\u57fa\u4e8eMaterial Design\u7684Go\u8de8\u5e73\u53f0GUI","url":"https://fyne.io/","urls":{"-3":"https://github.com/fyne-io/fyne"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","GUI"],"ownVisible":false,"id":592}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u65e5\u5fd7\u6a21\u5757","nav":[{"name":"logrus","desc":"Go\u7684\u7ed3\u6784\u5316\uff0c\u53ef\u63d2\u5165\u65e5\u5fd7\u8bb0\u5f55\u3002","url":"https://github.com/sirupsen/logrus","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u65e5\u5fd7\u6a21\u5757"],"ownVisible":false,"id":593},{"icon":"https://avatars3.githubusercontent.com/u/19262598?s=200&v=4","name":"zap","desc":"\u5728Go\u4e2d\u5b9e\u73b0\u5feb\u901f\uff0c\u7ed3\u6784\u5316\uff0c\u6c34\u5e73\u7684\u65e5\u5fd7\u8bb0\u5f55\u3002","url":"https://github.com/uber-go/zap","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u65e5\u5fd7\u6a21\u5757"],"ownVisible":false,"id":594}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5e93","nav":[{"name":"gorm","desc":"\u9002\u7528\u4e8eGolang\u7684\u7edd\u4f73ORM\u5e93\uff0c\u65e8\u5728\u5bf9\u5f00\u53d1\u4eba\u5458\u53cb\u597d","url":"https://gorm.io/zh_CN/","urls":{"-2":"https://gorm.io/","-1":"https://gorm.io/zh_CN/","-3":"https://github.com/go-gorm/gorm"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":595},{"icon":"https://entgo.io/img/favicon.ico","name":"ent","desc":"\u7528\u4e8eGo\u7684\u7b80\u5355\u4f46\u529f\u80fd\u5f3a\u5927\u7684\u5b9e\u4f53\u6846\u67b6\uff0c\u53ef\u8f7b\u677e\u6784\u5efa\u548c\u7ef4\u62a4\u5177\u6709\u5927\u578b\u6570\u636e\u6a21\u578b\u7684\u5e94\u7528\u7a0b\u5e8f\u3002","url":"https://entgo.io/","urls":{"-3":"https://github.com/facebook/ent"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":596},{"name":"mysql","desc":"Go MySQL\u9a71\u52a8\u7a0b\u5e8f\u662fGo\uff08golang\uff09\u6570\u636e\u5e93/ sql\u5305\u7684MySQL\u9a71\u52a8\u7a0b\u5e8f","url":"https://github.com/go-sql-driver/mysql","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":597},{"name":"sqlite3","desc":"sqlite3\u9a71\u52a8\u7a0b\u5e8f","url":"https://github.com/mattn/go-sqlite3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":598},{"name":"pq","desc":"\u9002\u7528\u4e8edatabase/sql\u7684Pure Go Postgres\u9a71\u52a8\u7a0b\u5e8f","url":"https://github.com/lib/pq","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":599},{"icon":"https://redis.uptrace.dev/assets/images/favicon.png","name":"redis","desc":"\u7528\u4e8eGolang\u7684\u7c7b\u578b\u5b89\u5168\u7684Redis\u5ba2\u6237\u7aef","url":"https://redis.uptrace.dev/","urls":{"-3":"https://github.com/go-redis/redis"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u6570\u636e\u5e93"],"ownVisible":false,"id":600}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u89e3\u6790\u5668","nav":[{"name":"json-iterator","desc":"\u9ad8\u6027\u80fd100\uff05\u517c\u5bb9\u7684\u201c encoding / json\u201d\u66ff\u4ee3\u4ea7\u54c1","url":"http://jsoniter.com/migrate-from-go-std.html","urls":{"-3":"https://github.com/json-iterator/go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":601},{"name":"blackfriday","desc":"Markdown\u5904\u7406\u5668\uff0c\u5b89\u5168\u3001\u5feb\u901f\u3002","url":"https://github.com/russross/blackfriday","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":602},{"name":"goldmark","desc":"\u7528Go\u8bed\u8a00\u7f16\u5199\u7684markdown\u89e3\u6790\u5668\u3002\u6613\u4e8e\u6269\u5c55\uff0c\u7b26\u5408\u6807\u51c6\uff08CommonMark\uff09\uff0c\u7ed3\u6784\u5408\u7406\u3002","url":"https://github.com/yuin/goldmark","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":603},{"name":"goquery","desc":"\u63a5\u8fd1jQuery\u8bed\u6cd5\u7684DOM\u89e3\u6790\u5e93","url":"https://github.com/PuerkitoBio/goquery","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":604},{"name":"go-yaml","desc":"yaml\u5305\u4f7fGo\u7a0b\u5e8f\u80fd\u591f\u8f7b\u677e\u5730\u5bf9yaml\u503c\u8fdb\u884c\u7f16\u7801\u548c\u89e3\u7801, \u53ef\u4ee5\u5feb\u901f\u53ef\u9760\u5730\u89e3\u6790\u548c\u751f\u6210YAML\u6570\u636e\u3002","url":"https://github.com/go-yaml/yaml/tree/v3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":605},{"name":"xurls","desc":"\u4ece\u6587\u672c\u4e2d\u63d0\u53d6Urls","url":"https://github.com/mvdan/xurls","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u89e3\u6790\u5668"],"ownVisible":false,"id":606}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u53c2\u6570\u9a8c\u8bc1","nav":[{"name":"govalidator","desc":"\u53c2\u6570\u9a8c\u8bc1\u7a0b\u5e8f\uff0c\u7528\u4e8e\u5b57\u7b26\u4e32\uff0c\u6570\u5b57\uff0c\u5207\u7247\u548c\u7ed3\u6784","url":"https://github.com/asaskevich/govalidator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":607},{"name":"validator","desc":"\u57fa\u4e8e\u6807\u7b7e\u5bf9\u7ed3\u6784\u548c\u5404\u4e2a\u5b57\u6bb5\u5b9e\u73b0\u503c\u9a8c\u8bc1\u3002","url":"https://github.com/go-playground/validator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u53c2\u6570\u9a8c\u8bc1"],"ownVisible":false,"id":608}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"ip","desc":"\u83b7\u53d6\u516c\u7f51IP\u5730\u5740\u3001v4/v6","url":"https://github.com/xjh22222228/ip","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":609},{"name":"terminal","desc":"\u63d0\u4f9b\u4e86\u7528\u4e8e\u5904\u7406\u7ec8\u7aef\u7684\u652f\u6301\u529f\u80fd\uff0c\u8fd9\u5728UNIX\u7cfb\u7edf\u4e0a\u5f88\u5e38\u89c1","url":"https://godoc.org/golang.org/x/crypto/ssh/terminal","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":610},{"name":"gopsutil","desc":"\u7528\u4e8e\u68c0\u7d22\u6b63\u5728\u8fd0\u884c\u7684\u8fdb\u7a0b\u548c\u7cfb\u7edf\u5229\u7528\u7387\uff08CPU\uff0c\u5185\u5b58\uff0c\u78c1\u76d8\uff0c\u7f51\u7edc\uff0c\u4f20\u611f\u5668\uff09\u7684\u4fe1\u606f\u3002\u5b83\u4e3b\u8981\u7528\u4e8e\u7cfb\u7edf\u76d1\u89c6\uff0c\u6982\u8981\u5206\u6790\u548c\u9650\u5236\u8fdb\u7a0b\u8d44\u6e90\u4ee5\u53ca\u7ba1\u7406\u6b63\u5728\u8fd0\u884c\u7684\u8fdb\u7a0b","url":"https://github.com/shirou/gopsutil","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":611},{"name":"air","desc":"Go\u70ed\u91cd\u8f7d","url":"https://github.com/cosmtrek/air","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":612},{"name":"go-micro","desc":"\u5206\u5e03\u5f0f\u7cfb\u7edf\u5f00\u53d1\u6846\u67b6","url":"https://go-micro.dev","urls":{"-3":"https://github.com/micro/go-micro"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":613},{"name":"xlsx","desc":"xlsx\u662f\u4e00\u4e2a\u5e93\uff0c\u7528\u4e8e\u7b80\u5316\u5728Go\u7a0b\u5e8f\u4e2d\u8bfb\u5199Microsoft Excel\u6700\u65b0\u7248\u672c\u4f7f\u7528\u7684XML\u683c\u5f0f\u3002","url":"https://github.com/tealeg/xlsx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":614},{"name":"email","desc":"Go\u5f3a\u5927\u800c\u7075\u6d3b\u7684\u7535\u5b50\u90ae\u4ef6\u5e93\u3002","url":"https://github.com/jordan-wright/email","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":615},{"name":"websocket","desc":"Go\u7684\u4e00\u79cd\u5feb\u901f\uff0c\u7ecf\u8fc7\u6d4b\u8bd5\u4e14\u5e7f\u6cdb\u4f7f\u7528\u7684WebSocket\u5b9e\u73b0","url":"https://github.com/gorilla/websocket","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":616},{"name":"jwt-go","desc":"Golang \u5b9e\u73b0\u7684 JSON WEB TOKEN","url":"https://github.com/dgrijalva/jwt-go","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":617},{"name":"cron","desc":"Go \u5b9e\u73b0\u7684 cron \u5305","url":"https://github.com/robfig/cron","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":618},{"name":"qrcode","desc":"\u4e8c\u7ef4\u7801\u751f\u6210","url":"https://github.com/skip2/go-qrcode","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":619},{"icon":"https://avatars3.githubusercontent.com/u/27810343?s=200&v=4","name":"casbin","desc":"\u6743\u9650\u7ba1\u7406\u5e93\uff0c\u652f\u6301Golang\u4e2d\u7684\u8bbf\u95ee\u63a7\u5236\u6a21\u578b\uff0c\u5982ACL\uff0cRBAC\uff0cABAC","url":"https://casbin.org/zh-CN/","urls":{"-3":"https://github.com/casbin/casbin"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":620},{"name":"resty","desc":"\u7528\u4e8eGo\u7684\u7b80\u5355HTTP\u548cREST\u5ba2\u6237\u7aef\u5e93","url":"https://github.com/go-resty/resty","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":621},{"icon":"https://grpc.io/favicons/apple-touch-icon.png","name":"grpc-go","desc":"gRPC\u7684Go\u8bed\u8a00\u5b9e\u73b0\u3002\u57fa\u4e8eHTTP/2\u7684RPC","url":"https://grpc.io/","urls":{"-3":"https://github.com/grpc/grpc-go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":622},{"icon":"https://avatars2.githubusercontent.com/u/33584194?s=200&v=4","name":"colly","desc":"Colly\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5e72\u51c0\u7684\u754c\u9762\u6765\u7f16\u5199\u4efb\u4f55\u79cd\u7c7b\u7684\u722c\u866b","url":"http://go-colly.org/","urls":{"-3":"https://github.com/gocolly/colly"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":623},{"name":"cors","desc":"\u4f7f\u7528net / http\u53ef\u914d\u7f6e\u7684\u5904\u7406\u7a0b\u5e8f\u6765\u5904\u7406CORS\u8bf7\u6c42","url":"https://github.com/rs/cors","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":624}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"CLI","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"\u7ec8\u7aef\u989c\u8272","nav":[{"name":"color","desc":"CLI \u63a7\u5236\u53f0\u989c\u8272\u6e32\u67d3\u5de5\u5177\u5e93, \u652f\u6301Windows","url":"https://github.com/fatih/color","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u7ec8\u7aef\u989c\u8272"],"ownVisible":false,"id":625}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u547d\u4ee4\u884c\u89e3\u6790","nav":[{"name":"cli","desc":"\u4e00\u4e2a\u7b80\u5355\uff0c\u5feb\u901f\u4e14\u6709\u8da3\u7684\u8f6f\u4ef6\u5305\uff0c\u7528\u4e8e\u5728Go\u4e2d\u6784\u5efa\u547d\u4ee4\u884c\u5e94\u7528","url":"https://github.com/urfave/cli/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u547d\u4ee4\u884c\u89e3\u6790"],"ownVisible":false,"id":626},{"name":"cobra","desc":"Cobra\u65e2\u662f\u7528\u4e8e\u521b\u5efa\u529f\u80fd\u5f3a\u5927\u7684\u73b0\u4ee3CLI\u5e94\u7528\u7a0b\u5e8f\u7684\u5e93\uff0c\u53c8\u662f\u7528\u4e8e\u751f\u6210\u5e94\u7528\u7a0b\u5e8f\u548c\u547d\u4ee4\u6587\u4ef6\u7684\u7a0b\u5e8f","url":"https://github.com/spf13/cobra","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u547d\u4ee4\u884c\u89e3\u6790"],"ownVisible":false,"id":627}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u63a7\u5236\u53f0\u8fdb\u5ea6\u6761","nav":[{"name":"pb","desc":"Golang\u7684\u63a7\u5236\u53f0\u8fdb\u5ea6\u680f","url":"https://github.com/cheggaaa/pb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u63a7\u5236\u53f0\u8fdb\u5ea6\u6761"],"ownVisible":false,"id":628},{"name":"mpb","desc":"Go cli\u5e94\u7528\u7a0b\u5e8f\u7684\u591a\u8fdb\u5ea6\u6761","url":"https://github.com/vbauerster/mpb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u63a7\u5236\u53f0\u8fdb\u5ea6\u6761"],"ownVisible":false,"id":629}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"name":"promptui","desc":"\u547d\u4ee4\u884c\u5e94\u7528\u7a0b\u5e8f\u7684\u4ea4\u4e92\u5f0f\u63d0\u793a","url":"https://github.com/manifoldco/promptui","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u5176\u4ed6"],"ownVisible":false,"id":630},{"name":"godotenv","desc":"\u4ece`.env`\u6587\u4ef6\u52a0\u8f7d\u73af\u5883\u53d8\u91cf\u3002","url":"https://github.com/joho/godotenv","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u5176\u4ed6"],"ownVisible":false,"id":631},{"name":"go-prompt","desc":"\u53d7python-prompt-toolkit\u542f\u53d1\uff0c\u5728Go\u4e2d\u6784\u5efa\u5f3a\u5927\u7684\u4ea4\u4e92\u5f0f\u63d0\u793a\u3002","url":"https://github.com/c-bata/go-prompt","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","\u5176\u4ed6"],"ownVisible":false,"id":632}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5de5\u5177","nav":[{"title":"\u5de5\u5177","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"gvm","desc":"Go\u7248\u672c\u7ba1\u7406\u5668\uff0c\u7c7b\u4f3c nvm","url":"https://github.com/moovweb/gvm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":633},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"json-to-go","desc":"\u5728\u7ebf JSON \u8f6c Struct\u7ed3\u6784\u4f53","url":"https://mholt.github.io/json-to-go/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":634},{"icon":"https://avatars3.githubusercontent.com/u/35628013?s=200&v=4","name":"golangci-lint","desc":"Go\u7684\u5feb\u901fLinters Runner","url":"https://github.com/golangci/golangci-lint","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":635},{"icon":"https://play.golang.org/favicon.ico","name":"The Go Playground","desc":"\u5728\u7ebf\u8fd0\u884cGolang","url":"https://play.golang.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":636},{"icon":"https://nuclei.projectdiscovery.io/","name":"nuclei","desc":"Nuclei\u662f\u57fa\u4e8e\u6a21\u677f\u7684\u53ef\u914d\u7f6e\u76ee\u6807\u626b\u63cf\u7684\u5feb\u901f\u5de5\u5177\uff0c\u5177\u6709\u5e7f\u6cdb\u7684\u53ef\u6269\u5c55\u6027\u548c\u6613\u7528\u6027\u3002","url":"https://play.golang.org/","urls":{"-3":"https://github.com/projectdiscovery/nuclei"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":637},{"icon":"https://avatars3.githubusercontent.com/u/35628013?s=200&v=4","name":"jaeger","desc":"\u5206\u5e03\u5f0f\u94fe\u8def\u8ffd\u8e2a","url":"https://www.jaegertracing.io/","urls":{"-3":"https://github.com/jaegertracing/jaeger"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":638},{"icon":"https://avatars1.githubusercontent.com/u/19232073?s=200&v=4","name":"delve","desc":"Delve\u662fGo\u7f16\u7a0b\u8bed\u8a00\u7684\u8c03\u8bd5\u5668\u3002","url":"https://github.com/go-delve/delve","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u5de5\u5177","\u5de5\u5177"],"ownVisible":false,"id":639}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u53c2\u8003\u8d44\u6599","nav":[{"title":"\u4e66\u7c4d","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go \u5165\u95e8\u6307\u5357","desc":"\u300aThe Way to Go\u300b\u4e2d\u6587\u8bd1\u672c\uff0c\u4e2d\u6587\u6b63\u5f0f\u540d\u300aGo \u5165\u95e8\u6307\u5357\u300b","url":"https://github.com/unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":640},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go\u8bed\u8a00\u5723\u7ecf","desc":"Go\u8bed\u8a00\u5723\u7ecf \u300aThe Go Programming Language\u300b \u4e2d\u6587\u7248\u672c","url":"https://yar999.gitbook.io/gopl-zh/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":641},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go WEB \u7f16\u7a0b","desc":"Golang\u7535\u5b50\u4e66\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528Golang\u5efa\u7acb\u7f51\u7edc","url":"https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":642},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go\u7b80\u6613\u6559\u7a0b","desc":"\u300aThe Little Go Book\u300b\u4e2d\u6587\u8bd1\u672c\uff0c\u4e2d\u6587\u6b63\u5f0f\u540d\u300aGo\u7b80\u6613\u6559\u7a0b\u300b","url":"https://github.com/songleo/the-little-go-book_ZH_CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":643},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go by Example \u4e2d\u6587\u7248","desc":"Go by Example \u662f\u5bf9 Go \u57fa\u4e8e\u5b9e\u8df5\u7684\u4ecb\u7ecd\uff0c\u5305\u542b\u4e00\u7cfb\u5217\u5e26\u6709\u6ce8\u91ca\u8bf4\u660e\u7684\u793a\u4f8b\u7a0b\u5e8f\u3002","url":"https://gobyexample-cn.github.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":644},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go\u8bed\u8a00\u4e4b\u65c5","desc":"\u672c\u6307\u5357\u6db5\u76d6\u4e86\u8be5\u8bed\u8a00\u7684\u5927\u90e8\u5206\u91cd\u8981\u7279\u6027\uff0c\u4e3b\u8981\u5305\u62ec\uff1a\u57fa\u7840\u3001\u65b9\u6cd5\u548c\u63a5\u53e3\u3001\u5e76\u53d1\u7b49","url":"https://tour.go-zh.org/welcome/1","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":645},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go\u8bed\u8a00101","desc":"\u4e00\u672c\u7740\u58a8\u4e8eGo\u8bed\u6cd5\u8bed\u4e49\u4ee5\u53ca\u8fd0\u884c\u65f6\u76f8\u5173\u77e5\u8bc6\u70b9\u7684\u7f16\u7a0b\u6307\u5bfc\u4e66\uff08Go 1.15\u5c31\u7eea\uff09\u3002 \u6b64\u4e66\u65e8\u5728\u5c3d\u53ef\u80fd\u5730\u5e2e\u52a9Go\u7a0b\u5e8f\u5458\u66f4\u6df1\u66f4\u5168\u9762\u5730\u7406\u89e3Go\u8bed\u8a00","url":"https://gfw.go101.org/article/101.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":646},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go\u8bed\u8a00\u9ad8\u7ea7\u7f16\u7a0b","desc":"\u672c\u4e66\u6db5\u76d6CGO\u3001Go\u6c47\u7f16\u8bed\u8a00\u3001RPC\u5b9e\u73b0\u3001Web\u6846\u67b6\u5b9e\u73b0\u3001\u5206\u5e03\u5f0f\u7cfb\u7edf\u7b49\u9ad8\u9636\u4e3b\u9898\uff0c\u9488\u5bf9Go\u8bed\u8a00\u6709\u4e00\u5b9a\u7ecf\u9a8c\u60f3\u6df1\u5165\u4e86\u89e3Go\u8bed\u8a00\u5404\u79cd\u9ad8\u7ea7\u7528\u6cd5\u7684\u5f00\u53d1\u4eba\u5458(\u4e0d\u63a8\u8350\u65b0\u624b)","url":"https://chai2010.cn/advanced-go-programming-book/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":647},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Mastering GO","desc":"\u300aMastering GO\u300b\u4e2d\u6587\u8bd1\u672c\uff0c\u300a\u73a9\u8f6c GO\u300b\u3002","url":"https://github.com/hantmac/Mastering_Go_ZH_CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":648},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Mastering GO2","desc":"Mastering Go \u7b2c\u4e8c\u7248\u4e2d\u6587\u7248\u6765\u88ad\uff01","url":"https://github.com/hantmac/Mastering_Go_Second_Edition_Zh_CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":649}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"100\u5929\u4ece\u65b0\u624b\u5230\u5927\u5e08","desc":"Golang - 100\u5929\u4ece\u65b0\u624b\u5230\u5927\u5e08","url":"https://www.qfgolang.com/","urls":{"-3":"https://github.com/rubyhan1314/Golang-100-Days"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u5176\u4ed6"],"ownVisible":false,"id":650},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"project-layout","desc":"Go\u6807\u51c6\u5e03\u5c40\u7ed3\u6784\uff0c\u9879\u76ee\u67b6\u6784\u7ed3\u6784\u53c2\u8003\u3002","url":"https://github.com/golang-standards/project-layout/blob/master/README_zh.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u5176\u4ed6"],"ownVisible":false,"id":651},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"\u7f16\u7801\u89c4\u8303","desc":"Uber Go \u8bed\u8a00\u7f16\u7801\u89c4\u8303","url":"https://github.com/xxjwxc/uber_go_guide_cn","urls":{"-2":"https://github.com/uber-go/guide/blob/master/style.md","-1":"https://github.com/xxjwxc/uber_go_guide_cn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u5176\u4ed6"],"ownVisible":false,"id":652},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Gin\u5b9e\u6218","desc":"WEB \u6846\u67b6Gin\u5b9e\u6218","url":"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI3MjU4Njk3Ng==&action=getalbum&album_id=1362784031968149504&scene=173#wechat_redirect","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","\u53c2\u8003\u8d44\u6599","\u5176\u4ed6"],"ownVisible":false,"id":653}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"Flutter","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","nav":[{"title":"\u5b98\u65b9","nav":[{"icon":"https://pub.dev/favicon.ico","name":"Dart","desc":"Dart\u8bed\u8a00","url":"http://www.dartdoc.cn/","urls":{"-2":"https://dart.dev/","-1":"http://www.dartdoc.cn/","-3":"https://github.com/dart-lang/sdk"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":654},{"icon":"https://pub.dev/favicon.ico","name":"DartPad","desc":"\u5728\u7ebf\u8fd0\u884cDart\u8bed\u6cd5","url":"https://dartpad.cn/embed-inline.html?id=7a9764702c0608711e08&split=90","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":655},{"icon":"https://pub.dev/favicon.ico","name":"Dart packages","desc":"Dart packages","url":"https://pub.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":656},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter","desc":"Flutter\u662f\u8c37\u6b4c\u7684\u79fb\u52a8UI\u6846\u67b6\uff0c\u53ef\u4ee5\u5feb\u901f\u5728iOS\u548cAndroid\u4e0a\u6784\u5efa\u9ad8\u8d28\u91cf\u7684\u539f\u751f\u7528\u6237\u754c\u9762\u3002 Flutter\u53ef\u4ee5\u4e0e\u73b0\u6709\u7684\u4ee3\u7801\u4e00\u8d77\u5de5\u4f5c\u3002\u5728\u5168\u4e16\u754c\uff0cFlutter\u6b63\u5728\u88ab\u8d8a\u6765\u8d8a\u591a\u7684\u5f00\u53d1\u8005\u548c\u7ec4\u7ec7\u4f7f\u7528\uff0c\u5e76\u4e14Flutter\u662f\u5b8c\u5168\u514d\u8d39\u3001\u5f00\u6e90\u7684","url":"https://flutterchina.club/","urls":{"-2":"https://flutter.dev/","-1":"https://flutterchina.club/","-3":"https://github.com/flutter/flutter"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":657},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter Icon","desc":"Flutter\u5185\u7f6eIcon\u7ec4\u4ef6\u56fe\u6807\u901f\u67e5\u8868","url":"https://material.io/resources/icons/?style=baseline","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":658}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u5e38\u7528\u6a21\u5757","nav":[{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"imei_plugin","desc":"\u7528flutter\u5728Android\u4e2d\u83b7\u53d6imei\u7684\u63d2\u4ef6","url":"https://github.com/kevincaicedo/imei_plugin","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":659},{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"multi_image_picker","desc":"Flutter\u63d2\u4ef6\uff0c\u53ef\u8ba9\u60a8\u5728iOS\u548cAndroid\u4e0a\u663e\u793a\u591a\u56fe\u50cf\u9009\u62e9\u5668\u3002","url":"https://github.com/Sh1d0w/multi_image_picker","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":660},{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"sqflite","desc":"SQLite flutter plugin","url":"https://github.com/tekartik/sqflite","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":661},{"icon":"https://flutter.dev/images/favicon.png","name":"dio","desc":"dio\u662f\u4e00\u4e2a\u5f3a\u5927\u7684Dart Http\u8bf7\u6c42\u5e93\uff0c\u652f\u6301Restful API\u3001FormData\u3001\u62e6\u622a\u5668\u3001\u8bf7\u6c42\u53d6\u6d88\u3001Cookie\u7ba1\u7406\u3001\u6587\u4ef6\u4e0a\u4f20/\u4e0b\u8f7d\u3001\u8d85\u65f6\u3001\u81ea\u5b9a\u4e49\u9002\u914d\u5668\u7b49","url":"https://github.com/flutterchina/dio","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":662},{"icon":"https://camo.githubusercontent.com/a53c432bb9c2222880a6eca54b5ed091d1ab3d40/68747470733a2f2f696d672e616c6963646e2e636f6d2f7466732f5442317237344e4a794c614b31526a535a46785858616d504658612d313032342d313032342e706e67","name":"fish-redux","desc":"\u4e00\u4e2a\u57fa\u4e8eRedux\u72b6\u6001\u7ba1\u7406\u7684\u7ec4\u5408\u5f0fflutter\u5e94\u7528\u7a0b\u5e8f\u6846\u67b6\u3002\u5b83\u9002\u7528\u4e8e\u5efa\u7b51\u4e2d\u578b\u548c\u5927\u578b\u5e94\u7528\u3002","url":"https://github.com/alibaba/fish-redux","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":663},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_pulltorefresh","desc":"\u4e00\u4e2a\u63d0\u4f9b\u4e0a\u62c9\u52a0\u8f7d\u548c\u4e0b\u62c9\u5237\u65b0\u7684\u7ec4\u4ef6,\u540c\u65f6\u652f\u6301Android\u548cIos","url":"https://github.com/peng8350/flutter_pulltorefresh","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":664},{"icon":"https://flutter.dev/images/favicon.png","name":"json_serializable","desc":"JSON\u5e8f\u5217\u5316\u548c\u53cd\u5e8f\u5217\u5316\u7684\u4ee3\u7801","url":"https://github.com/dart-lang/json_serializable","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":665},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_swiper","desc":"flutter\u6700\u5f3a\u5927\u7684siwiper, \u591a\u79cd\u5e03\u5c40\u65b9\u5f0f\uff0c\u65e0\u9650\u8f6e\u64ad\uff0cAndroid\u548cIOS\u53cc\u7aef\u9002\u914d","url":"https://github.com/best-flutter/flutter_swiper/blob/master/README-ZH.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":666},{"icon":"https://flutter.dev/images/favicon.png","name":"FlutterToast","desc":"\u9002\u7528\u4e8eFlutter\u7684Android Toast\u63d2\u4ef6","url":"https://github.com/PonnamKarthik/FlutterToast","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":667},{"icon":"https://flutter.dev/images/favicon.png","name":"dart-uuid","desc":"\u751f\u6210 RFC4122(v1,v4,v5) UUIDs","url":"https://github.com/Daegalus/dart-uuid","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":668},{"icon":"https://flutter.dev/images/favicon.png","name":"fluwx","desc":"Flutter\u7248\u5fae\u4fe1SDK.WeChat SDK for flutter.","url":"https://github.com/OpenFlutter/fluwx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5e38\u7528\u6a21\u5757"],"ownVisible":false,"id":669}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u6587\u6863\u8d44\u6599","nav":[{"icon":"https://flutter.dev/images/favicon.png","name":"Material Design","desc":"Material\u662f\u4e00\u4e2a\u7531\u5f00\u6e90\u4ee3\u7801\u652f\u6301\u7684\u8bbe\u8ba1\u7cfb\u7edf\uff0c\u53ef\u4ee5\u5e2e\u52a9\u56e2\u961f\u6784\u5efa\u9ad8\u8d28\u91cf\u7684\u6570\u5b57\u4f53\u9a8c","url":"https://material.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":670},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter\u5b9e\u6218","desc":"Flutter\u5b9e\u6218","url":"https://book.flutterchina.club/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":671},{"icon":"https://flutter.dev/images/favicon.png","name":"samples","desc":"Flutter\u793a\u4f8b\u548c\u6f14\u793a\u7684\u96c6\u5408","url":"https://github.com/flutter/samples","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":672},{"icon":"https://img.alicdn.com/tfs/TB1OJkeHNYaK1RjSZFnXXa80pXa-229-229.png","name":"flutter-go","desc":"flutter \u5f00\u53d1\u8005\u5e2e\u52a9 APP\uff0c\u5305\u542b flutter \u5e38\u7528 140+ \u7ec4\u4ef6\u7684demo \u6f14\u793a\u4e0e\u4e2d\u6587\u6587\u6863","url":"https://flutter-go.pub/flutter_go_web/#FirstPage","urls":{"-3":"https://github.com/alibaba/flutter-go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":673},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter-Notebook","desc":"flutter\u76f8\u5173\u529f\u80fddemo\u7684\u96c6\u5408\uff0c\u5b83\u80fd\u591f\u5e2e\u52a9\u60a8\u5feb\u901f\u5b66\u4e60\u4e00\u4e9b\u96f6\u788e\u7684\u77e5\u8bc6","url":"https://github.com/OpenFlutter/Flutter-Notebook","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":674},{"icon":"https://flutter.dev/images/favicon.png","name":"plugins","desc":"Flutter\u56e2\u961f\u7ef4\u62a4\u7684Flutter\u63d2\u4ef6","url":"https://github.com/flutter/plugins","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":675},{"icon":"https://flutter.dev/images/favicon.png","name":"awesome-flutter","desc":"\u5f88\u68d2\u7684\u6e05\u5355\uff0c\u7cbe\u9009\u4e86\u6700\u597d\u7684Flutter\u5e93\uff0c\u5de5\u5177\uff0c\u6559\u7a0b\uff0c\u6587\u7ae0\u7b49","url":"https://github.com/Solido/awesome-flutter","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":676},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter-do","desc":"330+Widgets\u5728\u7ebf\u67e5\u770b\u9884\u89c8\u548c\u4f7f\u7528\u3002","url":"http://laomengit.com/flutter/widgets/widgets_structure.html","urls":{"-3":"https://github.com/781238222/flutter-do"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":677}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_wanandroid","desc":"\u57fa\u4e8eGoogle Flutter\u7684WanAndroid\u5ba2\u6237\u7aef\uff0c\u652f\u6301Android\u548ciOS\u3002\u5305\u62ecBLoC\u3001RxDart \u3001\u56fd\u9645\u5316\u3001\u4e3b\u9898\u8272\u3001\u542f\u52a8\u9875\u3001\u5f15\u5bfc\u9875\uff0c\u62e5\u6709\u8f83\u597d\u7684\u9879\u76ee\u7ed3\u6784&\u6bd4\u8f83\u89c4\u8303\u7684\u4ee3\u7801","url":"https://github.com/Sky24n/flutter_wanandroid","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5176\u4ed6"],"ownVisible":false,"id":678},{"icon":"https://flutter.dev/images/favicon.png","name":"Best-Flutter-UI-Templates","desc":"Best-Flutter-UI-\u6a21\u677f, \u5bf9\u6240\u6709\u4eba\u5b8c\u5168\u514d\u8d39\u3002\u5176\u5185\u7f6e\u7684Flutter Dart\u3002","url":"https://github.com/mitesh77/Best-Flutter-UI-Templates","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","\u751f\u6001\u7cfb\u7edf","\u5176\u4ed6"],"ownVisible":false,"id":679}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false,"id":0},{"title":"Python","nav":[{"title":"\u751f\u6001\u7cfb\u7edf","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"\u5b98\u65b9","nav":[{"name":"Python","desc":"\u662f\u4e00\u79cd\u89e3\u91ca\u578b\u3001\u9762\u5411\u5bf9\u8c61\u3001\u52a8\u6001\u6570\u636e\u7c7b\u578b\u7684\u9ad8\u7ea7\u7a0b\u5e8f\u8bbe\u8ba1\u8bed\u8a00\u3002","url":"https://www.python.org/","urls":{"-3":"https://github.com/TheAlgorithms/Python"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":680},{"name":"PyPi","desc":"\u4f7f\u7528Python\u8f6f\u4ef6\u5305\u7d22\u5f15\u67e5\u627e\uff0c\u5b89\u88c5\u548c\u53d1\u5e03Python\u8f6f\u4ef6\u5305","url":"https://pypi.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u751f\u6001\u7cfb\u7edf","\u5b98\u65b9"],"ownVisible":false,"id":681}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5de5\u5177","nav":[{"name":"PCU","desc":"python-check-updates, \u68c0\u67e5 pip \u5f53\u524d\u4f9d\u8d56\u5305\u6700\u65b0\u7248\u672c","url":"https://github.com/xjh22222228/python-check-updates","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u751f\u6001\u7cfb\u7edf","\u5de5\u5177"],"ownVisible":false,"id":682}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4f9d\u8d56\u5305","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"HTTP/\u722c\u866b","nav":[{"icon":"https://www.python.org/static/favicon.ico","name":"requests","desc":"requests\u662f\u4e00\u4e2a\u7b80\u5355\u800c\u4f18\u96c5\u7684HTTP\u5e93\u3002","url":"https://requests.readthedocs.io/en/master/","urls":{"-3":"https://github.com/psf/requests"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","HTTP/\u722c\u866b"],"ownVisible":false,"id":683},{"icon":"https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png","name":"aiohttp","desc":"\u7528\u4e8easyncio\u548cPython\u7684\u5f02\u6b65HTTP\u5ba2\u6237\u7aef/\u670d\u52a1\u5668\u6846\u67b6","url":"https://docs.aiohttp.org/en/stable/","urls":{"-3":"https://github.com/aio-libs/aiohttp"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","HTTP/\u722c\u866b"],"ownVisible":false,"id":684},{"icon":"https://avatars2.githubusercontent.com/u/733635?s=200&v=4","name":"Scrapy","desc":"\u4e00\u4e2a\u7528\u4e8ePython\u7684\u5feb\u901f\u9ad8\u7ea7Web\u722c\u866b\u6846\u67b6\u3002","url":"https://scrapy.org/","urls":{"-3":"https://github.com/scrapy/scrapy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","HTTP/\u722c\u866b"],"ownVisible":false,"id":685},{"icon":"https://avatars0.githubusercontent.com/u/983927?s=200&v=4","name":"selenium","desc":"\u6d4f\u89c8\u5668\u81ea\u52a8\u5316\u6846\u67b6\u548c\u751f\u6001\u7cfb\u7edf\u3002","url":"https://www.selenium.dev/","urls":{"-3":"https://github.com/SeleniumHQ/selenium/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","HTTP/\u722c\u866b"],"ownVisible":false,"id":686},{"name":"beautifulsoup","desc":"\u53ef\u4ee5\u4eceHTML\u6216XML\u6587\u4ef6\u4e2d\u63d0\u53d6\u6570\u636e\u7684Python\u5e93","url":"https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","HTTP/\u722c\u866b"],"ownVisible":false,"id":687}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u56fe\u50cf","nav":[{"name":"Pillow","desc":"\u53cb\u597d\u7684PIL\u524d\u53c9\uff0c\u662f\u4e00\u4e2a\u51fa\u8272\u7684\u56fe\u50cf\u5904\u7406\u5e93","url":"https://python-pillow.org/","urls":{"-3":"https://github.com/python-pillow/Pillow"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","\u56fe\u50cf"],"ownVisible":false,"id":688}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8fd0\u7b97","nav":[{"name":"numpy","desc":"\u4f7f\u7528Python\u8fdb\u884c\u79d1\u5b66\u8ba1\u7b97\u7684\u57fa\u672c\u8f6f\u4ef6\u5305\u3002","url":"https://numpy.org/","urls":{"-3":"https://github.com/numpy/numpy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","\u8fd0\u7b97"],"ownVisible":false,"id":689}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5206\u6790","nav":[{"icon":"https://avatars1.githubusercontent.com/u/21206976?s=200&v=4","name":"pandas","desc":"\u529f\u80fd\u5f3a\u5927\u7684Python\u6570\u636e\u5206\u6790\u5de5\u5177\u5305","url":"https://github.com/pandas-dev/pandas","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","\u6570\u636e\u5206\u6790"],"ownVisible":false,"id":690}],"createdAt":"2021-01-23 09:32:06"},{"title":"CLI","nav":[{"createdAt":"2021-02-04 20:25:26","name":"rich","icon":"https://github.com/favicon.ico","url":"https://github.com/willmcgugan/rich","desc":"Rich\u662f\u4e00\u4e2aPython\u5e93\uff0c\u7528\u4e8e\u5728\u7ec8\u7aef\u4e2d\u63d0\u4f9b\u5bcc\u6587\u672c\u548c\u7cbe\u7f8e\u7684\u683c\u5f0f\u3002","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":691},{"name":"Fire","desc":"Python Fire\u662f\u4e00\u4e2a\u7528\u4e8e\u4ece\u7edd\u5bf9\u4efb\u4f55Python\u5bf9\u8c61\u81ea\u52a8\u751f\u6210\u547d\u4ee4\u884c\u754c\u9762\uff08CLI\uff09\u7684\u5e93\u3002","url":"https://github.com/google/python-fire","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":692},{"name":"colorama","desc":"Python\u4e2d\u7b80\u5355\u7684\u8de8\u5e73\u53f0\u5f69\u8272\u7ec8\u7aef\u6587\u672c","url":"https://pypi.org/project/colorama/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":693},{"icon":"https://avatars1.githubusercontent.com/u/12731565?s=200&v=4","name":"tqdm","desc":"\u9002\u7528\u4e8ePython\u548cCLI\u7684\u5feb\u901f\uff0c\u53ef\u6269\u5c55\u7684\u8fdb\u5ea6\u680f","url":"https://github.com/tqdm/tqdm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":694},{"name":"paramiko","desc":"\u9886\u5148\u7684Python SSHv2\u534f\u8bae\u5e93","url":"https://github.com/paramiko/paramiko","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":695},{"name":"click","desc":"Python\u53ef\u7ec4\u5408\u547d\u4ee4\u884c\u754c\u9762\u5de5\u5177\u5305","url":"https://github.com/pallets/click","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","CLI"],"ownVisible":false,"id":696}],"createdAt":"2021-01-23 09:32:06"},{"createdAt":"2021-01-24 11:58:47","title":"\u5176\u4ed6","icon":null,"nav":[{"createdAt":"2021-01-24 11:59:58","name":"JMESPath","icon":"https://github.com/favicon.ico","url":"https://github.com/jmespath/jmespath.py","desc":"JMESPath\u662fJSON\u7684\u67e5\u8be2\u8bed\u8a00","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u4f9d\u8d56\u5305","\u5176\u4ed6"],"ownVisible":false,"id":697}]}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6846\u67b6","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"WEB\u6846\u67b6","nav":[{"icon":"https://avatars3.githubusercontent.com/u/27804?s=200&v=4","name":"Django","desc":"\u5177\u6709\u671f\u9650\u7684\u5b8c\u7f8e\u4e3b\u4e49\u8005\u7684Web\u6846\u67b6\u3002","url":"https://www.djangoproject.com/","urls":{"-3":"https://github.com/django/django"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u6846\u67b6","WEB\u6846\u67b6"],"ownVisible":false,"id":698},{"icon":"https://avatars0.githubusercontent.com/u/16748505?s=200&v=4","name":"flask","desc":"\u7528\u4e8e\u6784\u5efaWeb\u5e94\u7528\u7a0b\u5e8f\u7684Python\u5fae\u6846\u67b6\u3002","url":"https://palletsprojects.com/p/flask/","urls":{"-3":"https://github.com/pallets/flask"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","\u6846\u67b6","WEB\u6846\u67b6"],"ownVisible":false,"id":699}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u53c2\u8003\u8d44\u6599","nav":[{"title":"\u4e66\u7c4d","icon":"https://www.python.org/static/favicon.ico","nav":[{"name":"\u7b80\u660e Python \u6559\u7a0b","desc":"\u65e8\u5728\u4e8e\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 Python \u8bed\u8a00\u8fdb\u884c\u7f16\u7a0b\u7684\u81ea\u7531\u56fe\u4e66\u3002\u5b83\u4ee5\u6559\u6750\u4e0e\u6307\u5357\u7684\u5f62\u5f0f\u4e3a\u5165\u95e8\u8005\u4ecb\u7ecd Python \u8bed\u8a00\u3002\u5982\u679c\u4f60\u5bf9\u7535\u8111\u77e5\u8bc6\u7684\u4e86\u89e3\u4ec5\u9650\u4e8e\u5982\u4f55\u4fdd\u5b58\u6587\u672c\u6587\u4ef6\u7684\u8bdd\uff0c\u90a3\u8fd9\u672c\u4e66\u5c31\u662f\u4e3a\u4f60\u51c6\u5907\u7684\u3002","url":"https://bop.mol.uno/","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u4e66\u7c4d"],"ownVisible":false,"id":700}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6587\u6863\u8d44\u6599","icon":"https://www.python.org/static/favicon.ico","nav":[{"name":"100\u5929\u4ece\u65b0\u624b\u5230\u5927\u5e08","desc":"Python - 100\u5929\u4ece\u65b0\u624b\u5230\u5927\u5e08","url":"https://github.com/jackfrued/Python-100-Days","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":701},{"name":"Python \u5165\u95e8\u6307\u5357","desc":"Python \u5165\u95e8\u6307\u5357","url":"https://python666.cn/cls/lesson/list/","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":702},{"name":"What the f*ck Python!","desc":"\u4e00\u4e9b\u6709\u8da3\u4e14\u9c9c\u4e3a\u4eba\u77e5\u7684 Python \u7279\u6027.","url":"https://github.com/satwikkansal/wtfpython","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":703},{"name":"awesome-python-cn","desc":"Python \u8d44\u6e90\u5927\u5168\u4e2d\u6587\u7248","url":"https://github.com/jobbole/awesome-python-cn","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":704},{"name":"cheatsheet","desc":"Python\u5927\u5168\u5907\u5fd8\u5355","url":"https://github.com/gto76/python-cheatsheet","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":705},{"name":"awesome-python","desc":"\u7cbe\u9009\u7684Python\u6846\u67b6\uff0c\u5e93\uff0c\u8f6f\u4ef6\u548c\u8d44\u6e90\u7684\u7cbe\u9009\u6e05\u5355\u3002","url":"https://github.com/vinta/awesome-python","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","\u53c2\u8003\u8d44\u6599","\u6587\u6863\u8d44\u6599"],"ownVisible":false,"id":706}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","id":1,"collapsed":false},{"title":"\u793e\u533a\u7ad9\u70b9","nav":[{"title":"\u793e\u533a\u7ad9\u70b9","nav":[{"title":"\u95ee\u7b54\u793e\u533a1","nav":[{"icon":"https://cdn.segmentfault.com/v-5f64887f/global/img/touch-icon.png","name":"segmentfault","desc":"\u662f\u4e2d\u6587\u9886\u57df\u6700\u5927\u7684\u6280\u672f\u95ee\u7b54\u4ea4\u6d41\u793e\u533a\u5e73\u53f0","url":"https://segmentfault.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":707},{"icon":"https://b-gold-cdn.xitu.io/favicons/v2/apple-touch-icon.png","name":"\u6398\u91d1","desc":"\u4e00\u4e2a\u5e2e\u52a9\u5f00\u53d1\u8005\u6210\u957f\u7684\u793e\u533a","url":"https://juejin.im/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":708},{"name":"DiyCode1","desc":"\u81f4\u529b\u4e8e\u6784\u5efa\u5f00\u53d1\u5de5\u7a0b\u5e08\u9ad8\u7aef\u4ea4\u6d41\u5206\u4eab\u793e\u533a","url":"https://www.diycode.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":709},{"icon":"https://static.ld246.com/images/favicon.png","name":"\u9ed1\u5ba2\u6d3e","desc":"\u9ed1\u5ba2\u6d3e\u662f\u7a0b\u5e8f\u5458\u548c\u8bbe\u8ba1\u5e08\u7684\u805a\u96c6\u5730\uff0c\u6c47\u805a\u4e86\u4e25\u8c28\u6c42\u5b9e\u7684\u5de5\u7a0b\u5e08\u548c\u5bcc\u6709\u521b\u610f\u7684\u8bbe\u8ba1\u5e08","url":"https://hacpai.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":710},{"name":"Node.js\u4e13\u4e1a\u4e2d\u6587\u793e\u533a","desc":"\u56fd\u5185\u6700\u4e13\u4e1a\u7684 Node.js \u5f00\u6e90\u6280\u672f\u793e\u533a\uff0c\u81f4\u529b\u4e8e Node.js \u7684\u6280\u672f\u7814\u7a76","url":"https://cnodejs.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":711},{"icon":"https://www.52pojie.cn/favicon.ico","name":"\u543e\u7231\u7834\u89e3","desc":"\u543e\u7231\u7834\u89e3\u5173\u6ce8PC\u8f6f\u4ef6\u5b89\u5168\u548c\u79fb\u52a8\u5b89\u5168\u9886\u57df\uff0c\u81f4\u529b\u4e8e\u8f6f\u4ef6\u5b89\u5168\u4e0e\u75c5\u6bd2\u5206\u6790\u7684\u524d\u6cbf","url":"https://www.52pojie.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":712},{"icon":"https://www.freebuf.com/favicon.ico","name":"FreeBuf","desc":"FreeBuf\u9ed1\u5ba2\u4e0e\u6781\u5ba2,\u56fd\u5185\u5173\u6ce8\u5ea6\u6700\u9ad8\u7684\u5168\u7403\u4e92\u8054\u7f51\u5b89\u5168\u5a92\u4f53\u5e73\u53f0","url":"http://www.freebuf.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":713},{"icon":"https://imweb.io/public/icon.png","name":"IMWeb","desc":"Web\u524d\u7aef \u817e\u8bafIMWeb \u56e2\u961f\u793e\u533a","url":"http://imweb.io/topic/tab/all","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":714},{"icon":"https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a","name":"Stack Overflow","desc":"\u5168\u7403\u6700\u5927\u7684\u6280\u672f\u95ee\u7b54\u7f51\u7ad9\uff0c\u662f\u4e00\u4e2a\u4e0e\u7a0b\u5e8f\u76f8\u5173\u7684IT\u6280\u672f\u95ee\u7b54\u7f51\u7ad9","url":"https://stackoverflow.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":715},{"icon":"https://reactjs.org/favicon.ico","name":"React\u793e\u533a","desc":"React\u8bba\u575b\u793e\u533a","url":"http://react-china.org/","urls":{"-2":"https://discuss.reactjs.org/","-1":"http://react-china.org/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":716},{"icon":"https://p1.ssl.qhimg.com/t010e845cdf71587354.png","name":"\u4f17\u6210\u7ffb\u8bd1","desc":"\u4e2d\u56fd\u6700\u597d\u7684\u6280\u672f\u7ffb\u8bd1\u793e\u533a\uff0c\u6700\u61c2\u8bd1\u8005\u7684\u7ffb\u8bd1\u5e73\u53f0\uff0c\u5947\u864e360\u6700\u5927\u524d\u7aef\u56e2\u961f\u201c\u5947\u821e\u56e2\u201d\u51fa\u54c1","url":"https://zcfy.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":717},{"icon":"https://developer.mozilla.org/favicon.ico","name":"MDN web docs","desc":"Mozilla \u5f00\u53d1\u8005\u793e\u533a\uff0c\u662f\u4e00\u4e2a\u5b8c\u6574\u7684\u5b66\u4e60\u5e73\u53f0\uff0c\u4f60\u53ef\u4ee5\u5728\u8fd9\u91cc\u6df1\u5165\u5b66\u4e60Web\u6280\u672f\u4ee5\u53ca\u80fd\u591f\u9a71\u52a8Web\u7684\u8f6f\u4ef6","url":"https://developer.mozilla.org/zh-CN/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":718},{"icon":"https://dev-to.s3.us-east-2.amazonaws.com/favicon.ico","name":"DEV Community","desc":"\u5728\u8fd9\u91cc\u7a0b\u5e8f\u5458\u5206\u4eab\u60f3\u6cd5\u5e76\u5e2e\u52a9\u5f7c\u6b64\u6210\u957f","url":"https://dev.to/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u95ee\u7b54\u793e\u533a1"],"ownVisible":false,"id":719}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6","nav":[{"icon":"https://www.v2ex.com/static/img/v2ex_192.png","name":"V2EX","desc":"\u521b\u610f\u5de5\u4f5c\u8005\u4eec\u7684\u793e\u533a","url":"https://www.v2ex.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":720},{"icon":"https://static.zhihu.com/static/favicon.ico","name":"\u77e5\u4e4e","desc":"\u77e5\u4e4e\uff0c\u4e2d\u6587\u4e92\u8054\u7f51\u6700\u5927\u7684\u77e5\u8bc6\u5206\u4eab\u548c\u793e\u4ea4\u5e73\u53f0","url":"https://www.zhihu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":721},{"icon":"https://www.jianshu.com/favicon.ico","name":"\u7b80\u4e66","desc":"\u7b80\u4e66\u662f\u4e00\u4e2a\u521b\u4f5c\u793e\u533a\uff0c\u4efb\u4f55\u4eba\u5747\u53ef\u4ee5\u5728\u5176\u4e0a\u8fdb\u884c\u521b\u4f5c","url":"https://www.jianshu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":722},{"icon":"https://images.xiaozhuanlan.com/assets/favicon-bd135558698197f509ada06695c03a4f458f0077fa476f9a4e7ba9664f3dc55f.ico","name":"\u5c0f\u4e13\u680f","desc":"\u5c0f\u4e13\u680f\u662f\u4e00\u4e2a\u4e13\u4e1a\u4eba\u58eb\u7684\u521b\u4f5c\u77e5\u8bc6\u793e\u533a\uff0c\u5728\u8fd9\u91cc\u60a8\u53ef\u4ee5\u770b\u5230\u5404\u4e2a\u9886\u57df\u6700\u4e13\u4e1a\u7684\u4e13\u680f\u548c\u89c2\u70b9","url":"https://xiaozhuanlan.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":723},{"icon":"https://news.ycombinator.com/favicon.ico","name":"Hacker News","desc":"Hacker News","url":"https://news.ycombinator.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":724},{"icon":"https://stacdn.proginn.com/favicon_new.ico","name":"\u7a0b\u5e8f\u5458\u5ba2\u6808","desc":"\u7a0b\u5e8f\u5458\u5ba2\u6808\u662f\u9886\u5148\u7684\u7a0b\u5e8f\u5458\u81ea\u7531\u5de5\u4f5c\u5e73\u53f0\uff0c\u672a\u6765\u4e92\u8054\u7f51\u4f01\u4e1a\u7528\u4eba\u65b9\u5f0f\u3002\u63d0\u4f9b\u4f18\u79c0\u7a0b\u5e8f\u5458\u4e3a\u60a8\u8fdb\u884c\u7f51\u7ad9\u5efa\u8bbe\u5236\u4f5c\u3001\u6d4b\u8bd5\u8fd0\u7ef4\u670d\u52a1\u3001\u4eba\u5de5\u667a\u80fdAI\u3001\u5927\u6570\u636e\u533a\u5757\u94fe\u3001\u8f6f\u4ef6\u5f00\u53d1\u7b49\u4f18\u8d28\u670d\u52a1","url":"https://www.proginn.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":725},{"icon":"https://fecdn4.zhaopin.cn/zq/assets/logoIcon.7a3e67.png","name":"\u804cQ","desc":"\u667a\u8054\u62db\u8058\u65d7\u4e0b\u4e13\u4e1a\u7684\u62db\u8058\u6c42\u804c\u793e\u4ea4\u95ee\u7b54\u5e73\u53f0\uff0c\u8986\u76d6\u4e86\u6c42\u804c\u3001\u62db\u8058\u3001\u804c\u4e1a\u89c4\u5212\u3001\u5347\u804c\u52a0\u85aa\u3001\u9762\u8bd5\u6280\u5de7\u3001\u5de5\u4f5c\u7ecf\u9a8c\u5206\u4eab\u7b49\u70ed\u95e8\u8bdd \u9898\uff0c\u6d89\u53ca\u5404\u79cd\u884c\u4e1a\u804c\u573a\u95ee\u9898\uff0c1.5\u4ebf\u7528\u6237\u7684\u804c\u573a\u793e\u533a","url":"https://zq.zhaopin.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":726},{"icon":"http://cdn.jandan.net/static/img/appicon.png","name":"\u714e\u86cb","desc":"\u714e\u86cb\u4ee5\u8bd1\u4ecb\u65b9\u5f0f\u4f20\u64ad\u7f51\u7edc\u65b0\u9c9c\u8d44\u8baf","url":"http://jandan.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u5176\u4ed6"],"ownVisible":false,"id":727}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4ee3\u7801\u6258\u7ba1","nav":[{"icon":"https://github.githubassets.com/favicons/favicon.svg","name":"Github","desc":"\u9762\u5411\u5f00\u6e90\u53ca\u79c1\u6709\u8f6f\u4ef6\u9879\u76ee\u7684\u6258\u7ba1\u5e73\u53f0","url":"https://github.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u4ee3\u7801\u6258\u7ba1"],"ownVisible":false,"id":728},{"icon":"https://gitee.com/favicon.ico","name":"\u7801\u4e91","desc":"\u7801\u4e91\u4e13\u4e3a\u5f00\u53d1\u8005\u63d0\u4f9b\u7a33\u5b9a\u3001\u9ad8\u6548\u3001\u5b89\u5168\u7684\u4e91\u7aef\u8f6f\u4ef6\u5f00\u53d1\u534f\u4f5c\u5e73\u53f0","url":"https://gitee.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u4ee3\u7801\u6258\u7ba1"],"ownVisible":false,"id":729},{"icon":"https://about.gitlab.com/ico/apple-touch-icon-57x57.png","name":"GitLab","desc":"\u7528\u4e8e\u4ed3\u5e93\u7ba1\u7406\u7cfb\u7edf\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u4f7f\u7528Git\u4f5c\u4e3a\u4ee3\u7801\u7ba1\u7406\u5de5\u5177\uff0c\u5e76\u5728\u6b64\u57fa\u7840\u4e0a\u642d\u5efa\u8d77\u6765\u7684web\u670d\u52a1","url":"https://gitlab.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u4ee3\u7801\u6258\u7ba1"],"ownVisible":false,"id":730},{"icon":"https://dn-coding-net-production-static.codehub.cn/platform/favicon.ico","name":"Coding","desc":"\u9762\u5411\u5f00\u53d1\u8005\u7684\u4e91\u7aef\u5f00\u53d1\u5e73\u53f0\uff0c\u63d0\u4f9b git/svn \u4ee3\u7801\u6258\u7ba1\uff0c\u4ee3\u7801\u8d28\u91cf\u5206\u6790\uff0c\u5728\u7ebfWebIDE\uff0c\u9879\u76ee\u7ba1\u7406...","url":"https://coding.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u793e\u533a\u7ad9\u70b9","\u793e\u533a\u7ad9\u70b9","\u4ee3\u7801\u6258\u7ba1"],"ownVisible":false,"id":731}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"Design","nav":[{"title":"Design","nav":[{"title":"\u6750\u6599","nav":[{"icon":"http://www.51yuansu.com/favicon.ico","name":"\u89c5\u5143\u7d20","desc":"\u89c5\u5143\u7d20,\u4e3a\u60a8\u63d0\u4f9b\u514d\u8d39\u8bbe\u8ba1\u5143\u7d20,\u8bbe\u8ba1\u5143\u7d20\u7684\u8d44\u6e90\u7ad9","url":"http://www.51yuansu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":732},{"icon":"https://js.588ku.com/comp/public/css/iconfont/favicon.ico","name":"\u5343\u5e93\u7f51","desc":"\u81f4\u529b\u4e8e\u4e3a\u8bbe\u8ba1\u5e08\u63d0\u4f9b\u6700\u4f18\u8d28\u7684\u7d20\u6750","url":"http://588ku.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":733},{"icon":"https://huaban.com/img/touch-icon-ipad.png","name":"\u82b1\u74e3\u7f51","desc":"\u82b1\u74e3\uff0c\u966a\u4f60\u505a\u751f\u6d3b\u7684\u8bbe\u8ba1\u5e08","url":"http://huaban.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":734},{"icon":"https://cdn.dribbble.com/assets/favicon-b38525134603b9513174ec887944bde1a869eb6cd414f4d640ee48ab2a15a26b.ico","name":"Dribbble","desc":"Dribbble\u662f\u5c55\u793a\u548c\u5ba3\u4f20\uff0c\u63a8\u5e7f\uff0c\u53d1\u73b0\u548c\u63a2\u7d22\u8bbe\u8ba1\u7684\u5730\u65b9","url":"https://dribbble.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":735},{"icon":"https://669pic.com/669pic.ico","name":"\u4e07\u7d20\u7f51","desc":"\u4e07\u7d20\u7f51\u81f4\u529b\u4e8e\u4e3a\u56fd\u5185\u5404\u884c\u4e1a\u8bbe\u8ba1\u5e08\uff0c\u7f51\u7ad9\u7f16\u8f91\uff0c\u65b0\u5a92\u4f53\u5de5\u4f5c\u4eba\u5458\u63d0\u4f9b\u514d\u8d39png\u7d20\u6750\u4e0e\u80cc\u666f\u56fe\u7247\u670d\u52a1","url":"http://669pic.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":736},{"icon":"https://www.artstation.com/assets/favicon.ico","name":"ArtStation","desc":"ArtStation\u662f\u6e38\u620f\uff0c\u7535\u5f71\uff0c\u5a92\u4f53\u548c\u5a31\u4e50\u827a\u672f\u5bb6\u7684\u5c55\u793a\u5e73\u53f0\u3002\u5b83\u4f7f\u827a\u672f\u5bb6\u80fd\u591f\u4ee5\u6d41\u7545\u7684\u65b9\u5f0f\u5c55\u793a\u4ed6\u4eec\u7684\u4f5c\u54c1\u96c6\uff0c\u53d1\u73b0\u548c\u4fdd\u6301\u7075\u611f\uff0c\u5e76\u4e0e\u65b0\u7684\u673a\u4f1a\u8054\u7cfb\u8d77\u6765\u3002","url":"https://www.artstation.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":737},{"icon":"https://static.canva.com/static/images/favicon.ico","name":"Design Templates - Canva","desc":"\u8bbe\u8ba1\u6a21\u677f - Canva","url":"https://www.canva.com/templates/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":738},{"icon":"https://unsplash.com/favicon-32x32.png","name":"Unsplash","desc":"\u7f8e\u4e3d\uff0c\u514d\u8d39\u7684\u7167\u7247\u3002\u7531\u4e16\u754c\u4e0a\u6700\u6177\u6168\u7684\u6444\u5f71\u5e08\u793e\u533a\u8d60\u9001\u3002","url":"https://unsplash.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":739},{"icon":"https://www.gaoding.com/favicon.ico","name":"\u7a3f\u5b9a\u8bbe\u8ba1","desc":"\u7535\u5546\u7d20\u6750\u3001\u65b0\u5a92\u4f53\u914d\u56fe\u3001\u624b\u673a\u6d77\u62a5\u7b49\u3002","url":"https://www.gaoding.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":740},{"icon":"https://undraw.co/favicon-32x32.png","name":"unDraw","desc":"\u5e26\u6709\u5f00\u6e90\u63d2\u56fe\u7684\u8bbe\u8ba1\u9879\u76ee\uff0c\u53ef\u6ee1\u8db3\u60a8\u53ef\u4ee5\u60f3\u8c61\u548c\u521b\u5efa\u7684\u4efb\u4f55\u60f3\u6cd5\u3002 \u514d\u8d39\u4f7f\u7528\u60a8\u7684\u989c\u8272\u521b\u5efa\u6f02\u4eae\u7684\u7f51\u7ad9\uff0c\u4ea7\u54c1\u548c\u5e94\u7528\u7a0b\u5e8f","url":"https://undraw.co/illustrations","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":741},{"icon":"https://www.ui.cn/Public/img/favicon.ico","name":"UI\u4e2d\u56fd\u7528\u6237\u4f53\u9a8c\u8bbe\u8ba1\u5e73\u53f0","desc":"UI\u4e2d\u56fd\u7528\u6237\u4f53\u9a8c\u5e73\u53f0,\u4e2d\u56fd\u7528\u6237\u4f53\u9a8c\u8054\u76df\u7406\u4e8b\u5355\u4f4d\u3002\u56fd\u5185\u6781\u5177\u5f71\u54cd\u529b\u7684\u8bbe\u8ba1\u5e73\u53f0\u4e4b\u4e00\u3002\u5341\u591a\u5e74\u6765,\u643a\u624b\u4f1a\u5458150\u4e07+,\u5171\u540c\u81f4\u529b\u4e8e\u4e3a\u8bbe\u8ba1\u5e08\u4e0e\u4f01\u4e1a\u642d\u5efa\u5065\u5eb7\u7684\u8bbe\u8ba1\u751f\u6001\uff01","url":"https://www.ui.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":742},{"icon":"https://octodex.github.com/favicon.ico","name":"GitHub Octodex","desc":"\u7531GitHub Design\u56e2\u961f\u521b\u5efa\u548c\u7ef4\u62a4\u7684\u6240\u6709\u5409\u7965\u7269\u7d20\u6750","url":"https://octodex.github.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":743},{"icon":"http://collectui.com/img/favicon.ico","name":"Collect UI","desc":"\u4ece\u6bcf\u65e5ui\u6863\u6848\u5e93\u53ca\u5176\u4ed6\u6536\u96c6\u7684\u6bcf\u65e5\u7075\u611f\u3002 \u6839\u636eDribbble\u62cd\u6444\u7684\u7167\u7247\uff0c\u624b\u5de5\u6311\u9009\uff0c\u6bcf\u5929\u66f4\u65b0","url":"http://collectui.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u6750\u6599"],"ownVisible":false,"id":744}],"createdAt":"2021-01-23 09:32:06","collapsed":true},{"title":"\u56fe\u6807","nav":[{"icon":"https://icons8.cn/vue-static/landings/primary-landings/favs/icons8_fav_96%C3%9796.png","name":"icons8","desc":"\u4e0b\u8f7d\u514d\u8d39\u56fe\u6807\uff0c\u97f3\u4e50\uff0c\u7d20\u6750\u56fe\u7247\uff0c\u77e2\u91cf\uff0cUX\u63d2\u56fe\u548c\u89c6\u9891\u97f3\u4e50","url":"https://icons8.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":745},{"icon":"https://www.vectorlogo.zone/favicon.ico","name":"vectorlogo","desc":"3000\u591a\u79cd\u7cbe\u7f8e\u7684SVG\u5fbd\u6807\uff0c\u975e\u5e38\u9002\u5408\u60a8\u7684\u81ea\u8ff0\u6587\u4ef6\u6216\u79ef\u5206\u9875\u9762","url":"https://www.vectorlogo.zone/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":746},{"icon":"https://www.shareicon.net/favicon.ico","name":"shareicon","desc":"\u8d85\u8fc725\u4e07\u4e2aicon\u514d\u8d39\u96c6\u5408","url":"https://www.shareicon.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":747},{"name":"SVG Logos","desc":"\u8d85\u8fc71000+SVG Logos\u96c6\u5408","url":"https://github.com/gilbarbara/logos/archive/master.zip","urls":{"-3":"https://github.com/gilbarbara/logos/tree/master/logos"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":748},{"icon":"https://www.iconfont.cn/favicon.ico","name":"iconfont","desc":"\u963f\u91cc\u5988\u5988MUX\u503e\u529b\u6253\u9020\u7684\u77e2\u91cf\u56fe\u6807\u7ba1\u7406\u3001\u4ea4\u6d41\u5e73\u53f0","url":"http://www.iconfont.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":749},{"icon":"https://iconscout.com/favicon.ico","name":"iconscount","desc":"\u514d\u8d39\u4e0b\u8f7d\u56fe\u6807\uff0c\u63d2\u56fe\u548c\u5e93\u5b58\u7167\u7247","url":"https://iconscout.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u56fe\u6807"],"ownVisible":false,"id":750}],"createdAt":"2021-01-23 09:32:06","collapsed":true},{"title":"\u5de5\u5177","nav":[{"icon":"https://www.chuangkit.com/favicon.ico","name":"\u521b\u5ba2\u8d34","desc":"\u4e00\u6b3e\u7b80\u5355\u6613\u7528\u3001\u529f\u80fd\u5f3a\u5927\u7684\u7ebf\u4e0a\u56fe\u5f62\u8bbe\u8ba1\u5de5\u5177","url":"https://www.chuangkit.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u5de5\u5177"],"ownVisible":false,"id":751},{"name":"Ps Play","desc":"Ps Play - \u79fb\u52a8\u8bbe\u8ba1\u96f6\u963b\u529b","url":"https://isux.tencent.com/resources/psplay/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u5de5\u5177"],"ownVisible":false,"id":752},{"icon":"https://g.alicdn.com/acca/resource/luban/image/favicon.png","name":"\u9e7f\u73ed","desc":"\u9e7f\u73ed - \u8ba9\u8bbe\u8ba1\u66f4\u7f8e\u597d(\u963f\u91cc\u51fa\u54c1)","url":"https://luban.aliyun.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u5de5\u5177"],"ownVisible":false,"id":753},{"icon":"https://www.fontspace.com/android-chrome-192x192.png?v=00Bdv4Q5g6","name":"fontspace","desc":"6500+\u514d\u8d39\u5b57\u4f53\u4e0b\u8f7d","url":"https://www.fontspace.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u5de5\u5177"],"ownVisible":false,"id":754}],"createdAt":"2021-01-23 09:32:06","collapsed":true},{"title":"\u914d\u8272","nav":[{"icon":"https://colorhunt.co/img/color-hunt-icon-ios.png","name":"Color Hunt","desc":"Color Hunt\u662f\u4e00\u4e2a\u514d\u8d39\u5f00\u653e\u7684\u5e73\u53f0\uff0c\u53ef\u901a\u8fc7\u6570\u5343\u79cd\u7cbe\u9009\u7684\u65f6\u5c1a\u8c03\u8272\u677f\u6765\u6fc0\u53d1\u8272\u5f69\u7075\u611f","url":"https://colorhunt.co/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","\u914d\u8272"],"ownVisible":false,"id":755}],"createdAt":"2021-01-23 09:32:06","collapsed":true}],"createdAt":"2021-01-23 09:32:06","collapsed":true}],"createdAt":"2021-01-23 09:32:06","collapsed":false,"id":0},{"title":"\u5b66\u65e0\u6b62\u5883","nav":[{"title":"\u53c2\u8003\u6587\u6863","nav":[{"title":"Docker","nav":[{"icon":"https://github.com/favicon.ico","name":"Docker \u2014 \u4ece\u5165\u95e8\u5230\u5b9e\u8df5","desc":"Docker \u2014 \u4ece\u5165\u95e8\u5230\u5b9e\u8df5","url":"https://yeasy.gitbooks.io/docker_practice/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Docker"],"ownVisible":false,"id":756},{"icon":"https://github.com/favicon.ico","name":"Docker\u5b98\u65b9\u6620\u50cf\u6587\u6863","desc":"docker-library\u4e2d\u7684Docker\u5b98\u65b9\u6620\u50cf\u6587\u6863","url":"https://github.com/docker-library/docs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Docker"],"ownVisible":false,"id":757},{"icon":"https://avatars2.githubusercontent.com/u/7739233?s=200&v=4","name":"Docker Hub","desc":"Docker \u955c\u50cf\u4ed3\u5e93","url":"https://hub.docker.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Docker"],"ownVisible":false,"id":758},{"icon":"https://avatars2.githubusercontent.com/u/7739233?s=200&v=4","name":"Docker-Compose","desc":"\u4f7f\u7528Docker\u5b9a\u4e49\u548c\u8fd0\u884c\u591a\u5bb9\u5668\u5e94\u7528\u7a0b\u5e8f","url":"https://docs.docker.com/compose/","urls":{"-3":"https://github.com/docker/compose"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Docker"],"ownVisible":false,"id":759}],"createdAt":"2021-01-23 09:32:06"},{"title":"Git","nav":[{"icon":"https://github.com/favicon.ico","name":"git-manual","desc":"Git\u5e38\u7528\u547d\u4ee4\u53c2\u8003\u624b\u518c (\u63a8\u8350\u5b66\u4e60)","url":"https://github.com/xjh22222228/git-manual","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Git"],"ownVisible":false,"id":760},{"icon":"https://github.com/favicon.ico","name":"GitHub Docs","desc":"github \u5b98\u65b9\u5e2e\u52a9\u6587\u6863","url":"https://help.github.com/cn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Git"],"ownVisible":false,"id":761},{"icon":"https://github.com/favicon.ico","name":"awesome-actions","desc":"\u7cbe\u9009\u7684GitHub\u4e0a\u5f88\u68d2\u7684Action\u5217\u8868","url":"https://github.com/sdras/awesome-actions","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Git"],"ownVisible":false,"id":762},{"icon":"https://github.com/favicon.ico","name":"Github - Actions","desc":"Github \u5b98\u65b9Actions \u8d44\u6e90\u5217\u8868","url":"https://github.com/marketplace?type=actions","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Git"],"ownVisible":false,"id":763},{"icon":"https://github.com/favicon.ico","name":"growing-up","desc":"\u7a0b\u5e8f\u733f\u6210\u957f\u8ba1\u5212","url":"https://github.com/mylxsw/growing-up","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","Git"],"ownVisible":false,"id":764}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u670d\u52a1\u5668","nav":[{"icon":"https://avatars0.githubusercontent.com/u/1412239?s=200&v=4","name":"nginx","desc":"nginx\u53c2\u8003\u6587\u6863","url":"https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title","urls":{"-2":"http://nginx.org/en/docs/","-1":"https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title","-3":"https://github.com/nginx/nginx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u670d\u52a1\u5668"],"ownVisible":false,"id":765},{"icon":"https://avatars0.githubusercontent.com/u/1412239?s=200&v=4","name":"Nginx\u5f00\u53d1\u4ece\u5165\u95e8\u5230\u7cbe\u901a","desc":"Nginx\u5f00\u53d1\u4ece\u5165\u95e8\u5230\u7cbe\u901a","url":"http://tengine.taobao.org/book/index.html","urls":{"-3":"https://github.com/taobao/nginx-book"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u670d\u52a1\u5668"],"ownVisible":false,"id":766}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6570\u636e\u5e93","nav":[{"icon":"https://avatars3.githubusercontent.com/u/1529926?s=200&v=4","name":"redis","desc":"Redis \u662f\u4e00\u4e2a\u5f00\u6e90\uff08BSD\u8bb8\u53ef\uff09\u7684\uff0c\u5185\u5b58\u4e2d\u7684\u6570\u636e\u7ed3\u6784\u5b58\u50a8\u7cfb\u7edf\uff0c\u5b83\u53ef\u4ee5\u7528\u4f5c\u6570\u636e\u5e93\u3001\u7f13\u5b58\u548c\u6d88\u606f\u4e2d\u95f4\u4ef6\u3002 \u5b83\u652f\u6301\u591a\u79cd\u7c7b\u578b\u7684\u6570\u636e\u7ed3\u6784","url":"http://www.redis.cn/","urls":{"-2":"https://redis.io/","-1":"http://www.redis.cn/","-3":"https://github.com/redis/redis"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u6570\u636e\u5e93"],"ownVisible":false,"id":767},{"icon":"https://labs.mysql.com/common/themes/sakila/favicon.ico","name":"MySQL","desc":"MySQL\u6570\u636e\u5e93\u670d\u52a1\u662f\u4e00\u4e2a\u5b8c\u5168\u6258\u7ba1\u7684\u6570\u636e\u5e93\u670d\u52a1\uff0c\u53ef\u4f7f\u7528\u4e16\u754c\u4e0a\u6700\u53d7\u6b22\u8fce\u7684\u5f00\u6e90\u6570\u636e\u5e93\u6765\u90e8\u7f72\u4e91\u539f\u751f\u5e94\u7528\u7a0b\u5e8f\u3002 \u5b83\u662f\u767e\u5206\u767e\u7531MySQL\u539f\u5382\u5f00\u53d1\uff0c\u7ba1\u7406\u548c\u63d0\u4f9b\u652f\u6301","url":"https://www.mysql.com/cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u6570\u636e\u5e93"],"ownVisible":false,"id":768}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4e66\u7c4d","nav":[{"icon":"https://avatars1.githubusercontent.com/u/14127308?s=200&v=4","name":"\u514d\u8d39\u7684\u7f16\u7a0b\u4e2d\u6587\u4e66\u7c4d\u7d22\u5f15","desc":"\u514d\u8d39\u7684\u7f16\u7a0b\u4e2d\u6587\u4e66\u7c4d\u7d22\u5f15","url":"https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u4e66\u7c4d"],"ownVisible":false,"id":769},{"icon":"https://zh.b-ok.global/apple-touch-icon.png","name":"Zlibrary","desc":"Z-Library \u9879\u76ee\u90e8\u5206. \u5168\u7403\u6700\u5927\u7684\u6570\u5b57\u56fe\u4e66\u9986, \u7535\u5b50\u4e66","url":"https://zh.b-ok.global/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u4e66\u7c4d"],"ownVisible":false,"id":770},{"name":"IT-eBOOK","desc":"IT\u7c7b\u6280\u672f\u4e66\u7c4dPDF","url":"https://github.com/asyncfun/IT-eBOOK","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u4e66\u7c4d"],"ownVisible":false,"id":771},{"icon":"https://refactoringguru.cn/favicon.ico","name":"Refactoring.Guru","desc":"22\u79cd\u5e38\u7528\u8bbe\u8ba1\u6a21\u5f0f","url":"https://refactoringguru.cn/design-patterns","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u4e66\u7c4d"],"ownVisible":false,"id":772}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u5176\u4ed6\u6587\u6863","nav":[{"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/linux/linux.png","name":"Linux \u5e38\u7528\u547d\u4ee4\u53c2\u8003\u624b\u518c","desc":"Linux \u5e38\u7528\u547d\u4ee4\u53c2\u8003\u624b\u518c","url":"https://github.com/xjh22222228/linux-manual","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":773},{"icon":"https://github.com/favicon.ico","name":"developer-roadmap","desc":"2020\u5e74\u6210\u4e3a\u7f51\u7edc\u5f00\u53d1\u4eba\u5458\u7684\u8def\u7ebf\u56fe","url":"https://github.com/kamranahmedse/developer-roadmap","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":774},{"icon":"https://devhints.io/assets/favicon.png","name":"Devhints","desc":"WEB\u5f00\u53d1\u901f\u67e5\u8868\uff0cmysql/go/java/js/bash/react/git...","url":"https://devhints.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":775},{"icon":"https://wangchujiang.com/linux-command/img/favicon.ico","name":"linux-command","desc":"Linux\u547d\u4ee4\u5927\u5168\u641c\u7d22\u5de5\u5177\uff0c\u5185\u5bb9\u5305\u542bLinux\u547d\u4ee4\u624b\u518c\u3001\u8be6\u89e3\u3001\u5b66\u4e60\u3001\u641c\u96c6","url":"https://git.io/linux","urls":{"-3":"https://github.com/jaywcjlove/linux-command"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":776},{"icon":"https://github.com/favicon.ico","name":"learn-regex","desc":"\u6b63\u5219\u8868\u8fbe\u5f0f\u5b66\u4e60","url":"https://github.com/ziishaned/learn-regex","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":777},{"icon":"https://github.com/favicon.ico","name":"the-art-of-command-line","desc":"\u547d\u4ee4\u884c\u7684\u827a\u672f","url":"https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":778},{"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/chrome/chrome.png","name":"Peter Beverloo","desc":"Chrome\u6d4f\u89c8\u5668\u547d\u4ee4\u53c2\u6570\u53c2\u8003\u624b\u518c","url":"https://peter.sh/experiments/chromium-command-line-switches/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":779},{"icon":"https://avatars2.githubusercontent.com/u/11618545?s=200&v=4","name":"vimrc","desc":"vim\u914d\u7f6e\u53c2\u8003\u624b\u518c","url":"https://github.com/amix/vimrc","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":780},{"icon":"https://www.jenkins.io/zh/sites/default/files/jenkins_favicon.ico","name":"Jenkins","desc":"Jenkins\u662f\u5f00\u6e90CI&CD\u8f6f\u4ef6\u9886\u5bfc\u8005\uff0c \u63d0\u4f9b\u8d85\u8fc71000\u4e2a\u63d2\u4ef6\u6765\u652f\u6301\u6784\u5efa\u3001\u90e8\u7f72\u3001\u81ea\u52a8\u5316\uff0c \u6ee1\u8db3\u4efb\u4f55\u9879\u76ee\u7684\u9700\u8981","url":"https://www.jenkins.io/zh/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":781},{"icon":"https://learnxinyminutes.com/favicon.ico","name":"learnxinyminutes-docs","desc":"\u5728Y\u5206\u949f\u5185\u5b66\u4e60X","url":"https://learnxinyminutes.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":782},{"icon":"https://code.visualstudio.com/apple-touch-icon.png","name":"Vscode Docs","desc":"Vscode \u6269\u5c55\u5f00\u53d1\u6587\u6863","url":"https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/","urls":{"-2":"https://code.visualstudio.com/api","-1":"https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/","-3":"https://github.com/microsoft/vscode-docs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":783},{"name":"YAML\u6559\u7a0b","desc":"YAML\u6559\u7a0b","url":"https://www.yiibai.com/yaml","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":784},{"icon":"https://www.google.com/images/icons/product/chrome-32.png","name":"Chrome Extension","desc":"\u8c37\u6b4c\u6d4f\u89c8\u5668\u6269\u5c55\u63d2\u4ef6\u5f00\u53d1\u6587\u6863","url":"https://developer.chrome.com/extensions","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u53c2\u8003\u6587\u6863","\u5176\u4ed6\u6587\u6863"],"ownVisible":false,"id":785}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u6559\u7a0b\u76f8\u5173","nav":[{"nav":[{"icon":"https://static.runoob.com/images/icon/mobile-icon.png","name":"\u83dc\u9e1f\u6559\u7a0b","desc":"\u63d0\u4f9b\u4e86\u7f16\u7a0b\u7684\u57fa\u7840\u6280\u672f\u6559\u7a0b, \u4ecb\u7ecd\u4e86HTML\u3001CSS\u3001Javascript\u3001Python\uff0cJava\uff0cRuby\uff0cC\uff0cPHP , MySQL\u7b49\u5404\u79cd\u7f16\u7a0b\u8bed\u8a00\u7684\u57fa\u7840\u77e5\u8bc6\u3002 \u540c\u65f6\u672c\u7ad9\u4e2d\u4e5f\u63d0\u4f9b\u4e86\u5927\u91cf\u7684\u5728\u7ebf\u5b9e\u4f8b\uff0c\u901a\u8fc7\u5b9e\u4f8b\uff0c\u60a8\u53ef\u4ee5\u66f4\u597d\u7684\u5b66\u4e60\u7f16\u7a0b","url":"https://www.runoob.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":786},{"icon":"https://www.imooc.com/static/img/common/touch-icon-ipad.png","name":"\u6155\u8bfe\u7f51","desc":"\u6155\u8bfe\u7f51-\u7a0b\u5e8f\u5458\u7684\u68a6\u5de5\u5382","url":"https://www.imooc.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":787},{"icon":"https://www.jikexueyuan.com/favicon.ico","name":"\u6781\u5ba2\u5b66\u9662","desc":"\u81f4\u529b\u4e8e\u201c\u8ba9IT\u5b66\u4e60\u66f4\u6709\u6548\u201d\uff0c\u4ee5\u5b9e\u6218\u4e3a\u7279\u8272\uff0c\u4e3a\u6ce8\u91cd\u81ea\u6211\u63d0\u5347\u7684IT\u4ece\u4e1a\u8005\u63d0\u4f9b\u9ad8\u54c1\u8d28\u804c\u4e1a\u6559\u80b2","url":"https://www.jikexueyuan.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":788},{"icon":"https://9.idqqimg.com/edu/edu_modules/edu-ui/img/nohash/favicon.ico","name":"\u817e\u8baf\u8bfe\u5802","desc":"\u817e\u8baf\u8bfe\u5802 - \u4e13\u4e1a\u7684\u5728\u7ebf\u6559\u80b2\u5e73\u53f0","url":"https://ke.qq.com/index.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":789},{"icon":"https://static2.ichunqiu.com/icq/resources/images/favicon.ico","name":"i\u6625\u79cb","desc":"\u3010i\u6625\u79cb\u3011-\u4e13\u6ce8\u7f51\u7edc\u5b89\u5168_\u4fe1\u606f\u5b89\u5168_\u767d\u5e3d\u5b50\u7684\u5728\u7ebf\u5b66\u4e60_\u6559\u80b2_\u57f9\u8bad\u5e73\u53f0","url":"https://www.ichunqiu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":790},{"icon":"http://www.shiyanbar.com/favicon.ico","name":"\u5b9e\u9a8c\u5427","desc":"\u5b9e\u9a8c\u5427\u662f\u56fd\u5185\u6700\u5927\u7684\u5728\u7ebf\u865a\u62df\u673a\u5b9e\u9a8cIT\u6559\u80b2\u5e73\u53f0","url":"http://www.shiyanbar.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":791},{"icon":"https://www.hetianlab.com/img/ico/favicon.ico","name":"\u5408\u5929\u7f51\u5b89\u5b9e\u9a8c\u5ba4","desc":"\u5408\u5929\u7f51\u5b89\u5b9e\u9a8c\u5ba4\u662f\u652f\u6301\u5728\u7ebf\u5b9e\u9a8c\u7684\u4fe1\u606f\u5b89\u5168\u5b66\u4e60\u7684\u5927\u578b\u670d\u52a1\u5e73\u53f0","url":"http://www.hetianlab.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":792},{"icon":"https://study.163.com/favicon.ico","name":"\u7f51\u6613\u4e91\u8bfe\u5802","desc":"\u7f51\u6613\u4e91\u8bfe\u5802 - \u9886\u5148\u7684\u5b9e\u7528\u6280\u80fd\u5b66\u4e60\u5e73\u53f0","url":"http://study.163.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":793},{"icon":"https://study.163.com/favicon.ico","name":"\u84dd\u6865","desc":"\u84dd\u6865\u662f\u56fd\u5185\u9886\u5148\u7684IT\u5728\u7ebf\u7f16\u7a0b\u53ca\u5728\u7ebf\u5b9e\u8bad\u5b66\u4e60\u5e73\u53f0\uff0c\u4e13\u4e1a\u5bfc\u5e08\u63d0\u4f9b\u7cbe\u9009\u7684\u5b9e\u8df5\u9879\u76ee\uff0c\u521b\u65b0\u7684\u6280\u672f\u4f7f\u5f97\u5b66\u4e60\u8005\u65e0\u9700\u914d\u7f6e\u7e41\u7410\u7684\u672c\u5730\u73af\u5883\uff0c\u968f\u65f6\u5728\u7ebf\u6d41\u7545\u4f7f\u7528","url":"https://www.lanqiao.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":794},{"icon":"https://7n.w3cschool.cn/statics/images/favicon.ico?v=2.2","name":"W3Cschool","desc":"\u7f16\u7a0b\u72ee\uff0c\u662f\u4e00\u4e2a\u4e13\u4e1a\u7684W3C\u524d\u7aef\u5f00\u53d1\u53ca\u7f16\u7a0b\u5165\u95e8\u5b66\u4e60\u5e73\u53f0","url":"https://www.w3cschool.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u6559\u7a0b\u76f8\u5173"],"ownVisible":false,"id":795}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u9762\u8bd5\u5237\u9898","nav":[{"title":"\u9762\u8bd5\u5237\u9898","nav":[{"icon":"https://static.leetcode-cn.com/cn-assets/icons/favicon-96x96.png","name":"LeetCode","desc":"\u63d0\u9ad8\u4f60\u7684\u7f16\u7801\u6280\u80fd\uff0c\u5feb\u901f\u627e\u5230\u4e00\u4efd\u5de5\u4f5c\u3002\u8fd9\u662f\u6269\u5c55\u4f60\u77e5\u8bc6\u548c\u4e3a\u4e0b\u4e00\u6b21\u9762\u8bd5\u505a\u597d\u51c6\u5907\u7684\u6700\u4f73\u5730\u65b9\u3002","url":"https://leetcode-cn.com/","urls":{"-2":"https://leetcode.com/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u9762\u8bd5\u5237\u9898","\u9762\u8bd5\u5237\u9898"],"ownVisible":false,"id":796},{"icon":"https://www.nowcoder.com/favicon.ico","name":"\u725b\u5ba2\u7f51","desc":"\u725b\u5ba2\u7f51\u662f\u4e92\u8054\u7f51\u6c42\u804c\u795e\u5668\uff0cC++\u3001Java\u3001\u524d\u7aef\u3001\u4ea7\u54c1\u3001\u8fd0\u8425\u6280\u80fd\u5b66\u4e60/\u5907\u8003/\u6c42\u804c\u9898\u5e93","url":"https://www.nowcoder.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u9762\u8bd5\u5237\u9898","\u9762\u8bd5\u5237\u9898"],"ownVisible":false,"id":797},{"icon":"https://cyc-1256109796.cos.ap-guangzhou.myqcloud.com/LogoMakr_1J56bI.png","name":"CS-Notes","desc":"\u6280\u672f\u9762\u8bd5\u5fc5\u5907\u57fa\u7840\u77e5\u8bc6\u3001Leetcode\u3001\u8ba1\u7b97\u673a\u64cd\u4f5c\u7cfb\u7edf\u3001\u8ba1\u7b97\u673a\u7f51\u7edc\u3001\u7cfb\u7edf\u8bbe\u8ba1\u3001Java\u3001Python\u3001C++","url":"https://cyc2018.github.io/CS-Notes","urls":{"-3":"https://github.com/CyC2018/CS-Notes"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u9762\u8bd5\u5237\u9898","\u9762\u8bd5\u5237\u9898"],"ownVisible":false,"id":798},{"icon":"https://visualgo.net/img/favicon.png","name":"\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u52a8\u6001\u53ef\u89c6\u5316","desc":"\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u52a8\u6001\u53ef\u89c6\u5316","url":"https://visualgo.net/zh","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u9762\u8bd5\u5237\u9898","\u9762\u8bd5\u5237\u9898"],"ownVisible":false,"id":799},{"icon":"https://github.com/favicon.ico","name":"algorithm-pattern","desc":"\u7b97\u6cd5\u6a21\u677f\uff0c\u6700\u79d1\u5b66\u7684\u5237\u9898\u65b9\u5f0f\uff0c\u6700\u5feb\u901f\u7684\u5237\u9898\u8def\u5f84\uff0c\u4f60\u503c\u5f97\u62e5\u6709~","url":"https://github.com/greyireland/algorithm-pattern","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u5b66\u65e0\u6b62\u5883","\u9762\u8bd5\u5237\u9898","\u9762\u8bd5\u5237\u9898"],"ownVisible":false,"id":800}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"\u7f51\u7edc\u5b89\u5168","nav":[{"title":"\u7f51\u7edc\u5b89\u5168","nav":[{"title":"\u7f51\u7edc\u5b89\u5168","nav":[{"name":"\u4e4c\u4e91\u7f51\u955c\u50cf","desc":"WooYun\u662f\u4e00\u4e2a\u4f4d\u4e8e\u5382\u5546\u548c\u5b89\u5168\u7814\u7a76\u8005\u4e4b\u95f4\u7684\u6f0f\u6d1e\u62a5\u544a\u5e73\u53f0,\u6ce8\u91cd\u5c0a\u91cd,\u8fdb\u6b65,\u4e0e\u610f\u4e49","url":"http://wooyun.2xss.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":801},{"icon":"https://www.anquan.org/aq_static/images/favicon/favicon.ico","name":"\u5b89\u5168\u8054\u76df","desc":"\u5b89\u5168\u8054\u76df - \u56fd\u5185\u6700\u5927\u7684\u7b2c\u4e09\u65b9\u7f51\u7edc\u5b89\u5168\u6570\u636e\u5171\u4eab\u4ea4\u6362\u5e73\u53f0","url":"https://www.anquan.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":802},{"icon":"https://www.360.cn/favicon.ico","name":"360\u7f51\u7ad9\u5b89\u5168\u68c0\u6d4b","desc":"\u4e3a\u7ad9\u957f\u514d\u8d39\u63d0\u4f9b\u4e86\u7f51\u7ad9\u6f0f\u6d1e\u68c0\u6d4b\u3001\u7f51\u7ad9\u6f0f\u6d1e\u4fee\u590d\u3001\u7f51\u7ad9\u540e\u95e8\u68c0\u6d4b\u3001\u6728\u9a6c\u67e5\u6740\uff0c\u7f51\u5740\u5b89\u5168\u67e5\u8be2\u7b49\u670d\u52a1","url":"http://webscan.360.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":803},{"icon":"https://www.2cto.com/favicon.ico","name":"\u7ea2\u9ed1\u8054\u76df","desc":"\u7ea2\u9ed1\u8054\u76df\u4f5c\u4e3a\u8001\u724c\u7684\u4fe1\u606f\u5b89\u5168\u7f51\u7ad9,\u81f4\u529b\u4e8e\u57f9\u8bad\u7535\u8111\u6280\u672f\u9ad8\u624b.\u7f51\u7ad9\u96c6\u7f51\u7edc\u5b89\u5168,\u7cfb\u7edf\u7f51\u7edc,\u7f16\u7a0b\u5f00\u53d1,\u7f51\u7ad9\u5efa\u8bbe\u7b49\u9891\u9053\u4e8e\u4e00\u4f53","url":"https://www.2cto.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":804},{"icon":"https://www.knownsec.com/static/favicon.ico","name":"\u77e5\u9053\u521b\u5b87","desc":"\u77e5\u9053\u521b\u5b87\uff0c\u7f51\u7edc\u7a7a\u95f4\u5b89\u5168\u4e13\u5bb6\uff0c\u957f\u671f\u81f4\u529b\u4e8e\u4e3a\u653f\u5e9c\u3001\u4f01\u4e1a\u7c7b\u5ba2\u6237\u63d0\u4f9b\u5b8c\u5584\u7684\u4e91\u5b89\u5168\u89e3\u51b3\u65b9\u6848","url":"https://www.knownsec.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":805},{"name":"\u5b89\u5168\u5468","desc":"\u5173\u6ce8\u5b89\u5168\u8d44\u8baf \u4e13\u6ce8\u8d44\u6e90\u5171\u4eab","url":"https://www.secz.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":806},{"icon":"https://www.hacked.com.cn/favicon.ico","name":"\u5168\u7403\u88ab\u9ed1\u7ad9\u70b9\u7edf\u8ba1\u7cfb\u7edf","desc":"\u4e3b\u8981\u901a\u8fc7\u7f51\u7edc\u641c\u96c6\u56fd\u5185\u88ab\u9ed1\u7f51\u7ad9\u4fe1\u606f\uff0c\u7edf\u8ba1\u5206\u6790\u6570\u636e\uff0c\u4e3a\u90e8\u7f72\u5b89\u5168\u578b\u7f51\u7edc\u63d0\u4f9b\u5f3a\u6709\u529b\u7684\u4f9d\u636e...","url":"http://www.hacked.com.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":807},{"icon":"https://www.secpulse.com/favicon.ico","name":"\u5b89\u5168\u8109\u640f","desc":"\u9ad8\u8d28\u91cf\u7684\u5168\u7403\u4e92\u8054\u7f51\u5b89\u5168\u5a92\u4f53\u548c\u6280\u672f\u5e73\u53f0,\u5b89\u5168\u7231\u597d\u8005\u4eec\u4ea4\u6d41\u4e0e\u5206\u4eab\u524d\u6cbf\u5b89\u5168\u6280\u672f\u7684\u6700\u4f73\u793e\u533a","url":"https://www.secpulse.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168"],"ownVisible":false,"id":808}],"createdAt":"2021-01-23 09:32:06"},{"title":"CTF","nav":[{"icon":"http://xss.xiejiahe.com/favicon.png","name":"XSS-CTF","desc":"XSS-CTF \u662f\u4e00\u4e2a\u7ec3\u4e60\u548c\u5165\u95e8\u7684XSS\u5e73\u53f0, \u6bcf\u4e00\u4f4dWEB\u5de5\u7a0b\u5e08\u90fd\u5e94\u5177\u5907\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u63d0\u9ad8\u7f51\u7edc\u5b89\u5168\u610f\u8bc6","url":"http://xss.xiejiahe.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","CTF"],"ownVisible":false,"id":809},{"name":"XSS\u6d4b\u8bd5","desc":"XSS\u5c0f\u6e38\u620f","url":"https://xss.haozi.me/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","CTF"],"ownVisible":false,"id":810},{"name":"Pasteurize","desc":"XSS CTF","url":"https://pasteurize.web.ctfcompetition.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","CTF"],"ownVisible":false,"id":811}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u8f85\u52a9\u5de5\u5177","nav":[{"icon":"https://www.telerik.com/favicon.ico","name":"fiddler","desc":"Fiddler\u662f\u4e00\u4e2a\u7528\u4e8eHTTP\u8c03\u8bd5\u7684\u4ee3\u7406\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f","url":"https://www.telerik.com/fiddler","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":812},{"icon":"https://www.wireshark.org/assets/images/favicon.ico","name":"wireshark","desc":"\u662f\u4e00\u4e2a\u7f51\u7edc\u5c01\u5305\u5206\u6790\u8f6f\u4ef6\u3002\u7f51\u7edc\u5c01\u5305\u5206\u6790\u8f6f\u4ef6\u7684\u529f\u80fd\u662f\u64b7\u53d6\u7f51\u7edc\u5c01\u5305\uff0c\u5e76\u5c3d\u53ef\u80fd\u663e\u793a\u51fa\u6700\u4e3a\u8be6\u7ec6\u7684\u7f51\u7edc\u5c01\u5305\u8d44\u6599\u3002Wireshark\u4f7f\u7528WinPCAP\u4f5c\u4e3a\u63a5\u53e3\uff0c\u76f4\u63a5\u4e0e\u7f51\u5361\u8fdb\u884c\u6570\u636e\u62a5\u6587\u4ea4\u6362","url":"https://www.wireshark.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":813},{"name":"XSS\u5e73\u53f0-\u767d\u5e3d\u5b89\u5168\u6d4b\u8bd5","desc":"XSS\u5e73\u53f0\u662f\u4e00\u4e2a\u514d\u8d39\u7ed9\u767d\u5e3d\u5b89\u5168\u6d4b\u8bd5\u7684\u5e73\u53f0","url":"https://xsspt.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":814},{"name":"Security Headers","desc":"\u5feb\u901f\u8f7b\u677e\u5730\u8bc4\u4f30HTTP\u54cd\u5e94\u5934\u7684\u5b89\u5168\u6027","url":"https://securityheaders.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":815},{"name":"w9scan","desc":"\u4e00\u6b3e\u5168\u80fd\u578b\u7684\u7f51\u7ad9\u6f0f\u6d1e\u626b\u63cf\u5668\uff0c\u5185\u7f6e1200+\u63d2\u4ef6\u53ef\u5bf9\u7f51\u7ad9\u8fdb\u884c\u4e00\u6b21\u89c4\u6a21\u7684\u68c0\u6d4b\uff0c\u529f\u80fd\u5305\u62ec\u4f46\u4e0d\u9650\u4e8eweb\u6307\u7eb9\u68c0\u6d4b\u3001\u7aef\u53e3\u6307\u7eb9\u68c0\u6d4b\u3001\u7f51\u7ad9\u7ed3\u6784\u5206\u6790\u3001\u5404\u79cd\u6d41\u884c\u7684\u6f0f\u6d1e\u68c0\u6d4b\u3001\u722c\u866b\u4ee5\u53caSQL\u6ce8\u5165\u68c0\u6d4b\u3001XSS\u68c0\u6d4b...","url":"https://github.com/w-digital-scanner/w9scan","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":816},{"icon":"https://avatars0.githubusercontent.com/u/7302766?s=200&v=4","name":"xray","desc":"xray \u5b89\u5168\u8bc4\u4f30\u5de5\u5177","url":"https://github.com/chaitin/xray","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":817},{"icon":"https://www.cmd5.com/favicon.ico","name":"cmd5","desc":"md5\u5728\u7ebf\u89e3\u5bc6\u7834\u89e3,md5\u89e3\u5bc6\u52a0\u5bc6","url":"https://www.cmd5.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":818},{"icon":"https://avatars3.githubusercontent.com/u/735289?s=200&v=4","name":"sqlmap","desc":"\u81ea\u52a8SQL\u6ce8\u5165\u548c\u6570\u636e\u5e93\u63a5\u7ba1\u5de5\u5177","url":"http://sqlmap.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":819},{"icon":"https://avatars2.githubusercontent.com/u/63385?s=200&v=4","name":"nmap","desc":"nmap\u662f\u4e00\u4e2a\u7f51\u7edc\u8fde\u63a5\u7aef\u626b\u63cf\u8f6f\u4ef6\uff0c\u7528\u6765\u626b\u63cf\u7f51\u4e0a\u7535\u8111\u5f00\u653e\u7684\u7f51\u7edc\u8fde\u63a5\u7aef","url":"https://nmap.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":820},{"icon":"http://xssor.io/s/favicon.ico","name":"xssor","desc":"\u7f16\u7801/\u89e3\u7801\uff0cCodz\uff0c\u63a2\u9488","url":"http://xssor.io","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":821},{"icon":"https://phpinfo.me/favicon.ico","name":"\u5728\u7ebf\u5b50\u57df\u540d\u67e5\u8be2","desc":"\u5728\u7ebf\u5b50\u57df\u540d\u67e5\u8be2","url":"https://phpinfo.me/domain/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":822},{"name":"fuzzDicts","desc":"Web Pentesting Fuzz \u5b57\u5178","url":"https://github.com/TheKingOfDuck/fuzzDicts","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":823},{"name":"BurpSuitePro","desc":"\u514d\u8d39\u7684BurpSuitePro\u7248\u672c","url":"https://github.com/TrojanAZhen/BurpSuitePro-2.1","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u8f85\u52a9\u5de5\u5177"],"ownVisible":false,"id":824}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u77e5\u8bc6/\u6d4b\u8bd5","nav":[{"icon":"https://vulhub.org/img/favicon.ico","name":"Vulhub","desc":"\u57fa\u4e8edocker\u548cdocker-compose\u7684\u6f0f\u6d1e\u73af\u5883\u96c6\u5408...","url":"https://vulhub.org","langguage":["","","https://github.com/vulhub/vulhub"],"createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u77e5\u8bc6/\u6d4b\u8bd5"],"ownVisible":false,"id":825},{"name":"SRC-experience","desc":"\u5de5\u6b32\u5584\u5176\u4e8b\uff0c\u5fc5\u5148\u5229\u5176\u5668,\u4e00\u4e9bsrc\u6316\u6398\u5947\u6280\u6deb\u5de7\uff0c\u56fd\u5916\u65b0\u6280\u672f\u7684\u5b66\u4e60\u7f51\u7ad9\u5206\u4eab","url":"https://github.com/Wh0ale/SRC-experience","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u77e5\u8bc6/\u6d4b\u8bd5"],"ownVisible":false,"id":826},{"name":"Intranet_Penetration_Tips","desc":"\u5185\u7f51\u6e17\u900fTIPS","url":"https://github.com/Ridter/Intranet_Penetration_Tips","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u7f51\u7edc\u5b89\u5168","\u7f51\u7edc\u5b89\u5168","\u77e5\u8bc6/\u6d4b\u8bd5"],"ownVisible":false,"id":827}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false},{"title":"\u8fd0\u8425\u76f8\u5173","nav":[{"title":"\u8fd0\u8425\u76f8\u5173","nav":[{"title":"\u8fd0\u8425\u76f8\u5173","nav":[{"icon":"https://tongji.baidu.com/favicon.ico","name":"\u767e\u5ea6\u7edf\u8ba1","desc":"\u5168\u7403\u6700\u5927\u7684\u4e2d\u6587\u7f51\u7ad9\u6d41\u91cf\u5206\u6790\u5e73\u53f0\uff0c\u5e2e\u52a9\u4f01\u4e1a\u6536\u96c6\u7f51\u7ad9\u8bbf\u95ee\u6570\u636e\uff0c\u63d0\u4f9b\u6d41\u91cf\u8d8b\u52bf\u3001\u6765\u6e90\u5206\u6790...","url":"https://tongji.baidu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":828},{"icon":"https://www.umeng.com/favicon.ico","name":"CNZZ","desc":"CNZZ\u6570\u636e\u4e13\u5bb6\u662f\u5168\u7403\u6700\u5927\u7684\u4e2d\u6587\u7f51\u7ad9\u7edf\u8ba1\u5206\u6790\u5e73\u53f0\uff0c\u4e3a\u5404\u7c7b\u7f51\u7ad9\u63d0\u4f9b\u514d\u8d39\u3001\u5b89\u5168\u3001\u7a33\u5b9a","url":"http://www.cnzz.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":829},{"icon":"https://www.baidu.com/img/baidu.svg","name":"\u767e\u5ea6\u641c\u7d22\u8d44\u6e90\u5e73\u53f0","desc":"\u767e\u5ea6\u641c\u7d22\u8d44\u6e90\u5e73\u53f0_\u8ba9\u7f51\u7ad9\u66f4\u5177\u4ef7\u503c","url":"https://ziyuan.baidu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":830},{"icon":"https://www.wjx.cn/favicon.ico","name":"\u95ee\u5377\u661f","desc":"\u514d\u8d39\u4f7f\u7528\u95ee\u5377\u661f\u521b\u5efa\u95ee\u5377\u8c03\u67e5\u3001\u5728\u7ebf\u8003\u8bd5\u3001360\u5ea6\u8bc4\u4f30\u7b49\u5e94\u7528","url":"https://www.wjx.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":831},{"icon":"https://gd-assets.jinshujucdn.com/favicon.ico","name":"\u91d1\u6570\u636e","desc":"\u91d1\u6570\u636e\u662f\u4eba\u4eba\u53ef\u7528\u7684\u5728\u7ebf\u8868\u5355\u5de5\u5177\uff0c\u5e2e\u52a9\u7528\u6237\u6536\u96c6\u548c\u7ba1\u7406\u65e5\u5e38\u5de5\u4f5c\u4e2d\u7684\u6570\u636e\uff0c\u63d0\u5347\u5de5\u4f5c\u6548\u7387","url":"https://jinshuju.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":832},{"icon":"https://ssl.gstatic.com/analytics/20201013-01/app/static/analytics_standard_icon.png","name":"Google Analytics","desc":"Google Analytics\u662f\u4e00\u4e2a\u6536\u96c6\u6570\u636e\u5e76\u5c06\u5176\u5206\u6790\u6574\u7406\u6210\u5b9e\u7528\u62a5\u544a\u7684\u5e73\u53f0","url":"https://analytics.google.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":833},{"icon":"https://mta.qq.com/mta/resource/imgcache/images/favicon.ico","name":"\u817e\u8baf\u79fb\u52a8\u5206\u6790","desc":"\u817e\u8baf\u79fb\u52a8\u5206\u6790\u662f\u817e\u8baf\u6570\u636e\u4e91\uff0c\u817e\u8baf\u5927\u6570\u636e\u6218\u7565\u7684\u6838\u5fc3\u4ea7\u54c1\uff0c\u63d0\u4f9bapp\u5e94\u7528\u7684\u79fb\u52a8\u7edf\u8ba1\u5206\u6790\uff0c\u652f\u6301android/iOS\u5e73\u53f0\uff0c\u5b9e\u73b0\u7528\u6237\u753b\u50cf\u3001\u6570\u636e\u53ef\u89c6\u5316\u3001\u6570\u636e\u6316\u6398\u3001\u6e20\u9053\u6548\u679c\u5206\u6790\u7b49\u7efc\u5408\u6570\u636e\u670d\u52a1","url":"https://mta.qq.com/mta/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":834},{"icon":"https://www.google.com/favicon.ico","name":"Google Adsense","desc":"Google Adsense","url":"https://www.google.com/adsense","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173","\u8fd0\u8425\u76f8\u5173"],"ownVisible":false,"id":835}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false,"id":0},{"title":"BlogView","nav":[{"createdAt":"2024-07-15 11:17:19","title":"TechBlog","icon":null,"ownVisible":null,"nav":[{"createdAt":"2024-07-15 11:17:41","title":"TechBlog","icon":null,"ownVisible":null,"nav":[{"id":836,"name":"ByteByteGo","createdAt":"2024-07-15 11:22:56","rate":5,"desc":"Explain complex systems with simple terms, from the authors of the best-selling system design book series. Join over 500,000 friendly readers. Click to read ByteByteGo Newsletter, a Substack publication.","top":false,"index":"","ownVisible":false,"icon":"https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5507d97a-c736-4de2-852b-fab5b91d0796%2Ffavicon.ico","url":"https://blog.bytebytego.com/","urls":{},"breadcrumb":["BlogView","TechBlog","TechBlog"]},{"id":837,"name":"Stripe | Financial Infrastructure to Grow Your Revenue","createdAt":"2024-07-15 11:22:29","rate":5,"desc":"Stripe powers online and in-person payment processing and financial solutions for businesses of all sizes. Accept payments, send payouts, and automate financial processes with a suite of APIs and no-code tools.","top":false,"index":"","ownVisible":false,"icon":"https://assets.ctfassets.net/fzn2n1nzq965/01hMKr6nEEGVfOuhsaMIXQ/c424849423b5f036a8892afa09ac38c7/favicon.ico","url":"https://stripe.com/blog/engineering","urls":{},"breadcrumb":["BlogView","TechBlog","TechBlog"]},{"id":838,"name":"Slack Engineering -","createdAt":"2024-07-15 11:22:20","rate":5,"desc":"","top":false,"index":"","ownVisible":false,"icon":"https://slack.engineering/wp-content/uploads/sites/7/2020/05/cropped-octothrope-1.png?w=32","url":"https://slack.engineering/","urls":{},"breadcrumb":["BlogView","TechBlog","TechBlog"]},{"id":839,"name":"Cloud Computing Services - Amazon Web Services (AWS)","createdAt":"2024-07-15 11:22:10","rate":5,"desc":"Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Free to join, pay only for what you use.","top":false,"index":"","ownVisible":false,"icon":"https://a0.awsstatic.com/libra-css/images/site/fav/favicon.ico","url":"https://aws.amazon.com/blogs/architecture/","urls":{},"breadcrumb":["BlogView","TechBlog","TechBlog"]},{"id":840,"name":"Discord - Group Chat That\u2019s All Fun & Games","createdAt":"2024-07-15 11:21:56","rate":5,"desc":"","top":false,"index":"","ownVisible":false,"icon":"","url":"https://discord.com/category/engineering","urls":{},"breadcrumb":["BlogView","TechBlog","TechBlog"]},{"id":841,"name":"LinkedIn Blog","createdAt":"2024-07-15 11:21:42","rate":5,"desc":"1 billion members | Manage your professional identity. Build and engage with your professional network. Access knowledge, insights and opportunities.","top":false,"index":"","ownVisible":false,"icon":"https://static.licdn.com/aero-v1/sc/h/al2o9zrvru7aqj8e1x2rzsrca","url":"https://www.linkedin.com/blog/engineering","urls":{},"breadcrumb":["BlogView","TechBlog","TechBlog"]},{"id":842,"name":"Engineering at Meta - Engineering at Meta Blog","createdAt":"2024-07-15 11:21:09","rate":5,"desc":"Engineering at Meta Blog","top":false,"index":"","ownVisible":false,"icon":"https://engineering.fb.com/wp-content/themes/code-fb-com/favicon.ico","url":"https://engineering.fb.com/","urls":{},"breadcrumb":["BlogView","TechBlog","TechBlog"]},{"id":843,"name":"The Cloudflare Blog","createdAt":"2024-07-15 11:20:45","rate":5,"desc":"Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet.","top":false,"index":"","ownVisible":false,"icon":"https://blog.cloudflare.com/images/favicon-32x32.png","url":"https://blog.cloudflare.com/","urls":{},"breadcrumb":["BlogView","TechBlog","TechBlog"]},{"id":844,"name":"Uber Blog","createdAt":"2024-07-15 11:20:04","rate":5,"desc":"","top":false,"index":"","ownVisible":false,"icon":"","url":"https://www.uber.com/en-JP/blog/engineering/","urls":{},"breadcrumb":["BlogView","TechBlog","TechBlog"]},{"id":845,"name":"Netflix TechBlog","createdAt":"2024-07-15 11:18:57","rate":5,"desc":"","top":false,"index":"","ownVisible":false,"icon":"","url":"https://netflixtechblog.com/","urls":{},"breadcrumb":["BlogView","TechBlog","TechBlog"]}]}]},{"title":"\u535a\u5ba2\u770b\u70b9","nav":[{"title":"Team","nav":[{"icon":"https://aotu.io/img/favicon-48x48.png","name":"\u51f9\u51f8\u5b9e\u9a8c\u5ba4","desc":"O2\u9762\u5411\u591a\u7ec8\u7aef\u6280\u672f\u4f53\u7cfb\uff0c\u81f4\u529b\u4e8e\u6784\u5efa\u6c89\u6dc0\u4e0e\u5206\u4eab\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4ea4\u4e92\u3001\u9875\u9762\u5236\u4f5c\u6280\u5de7...","url":"https://aotu.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["BlogView","\u535a\u5ba2\u770b\u70b9","Team"],"ownVisible":false,"id":846},{"icon":"https://imweb.io/public/icon.png","name":"\u817e\u8bafIMWeb","desc":"Web\u524d\u7aef \u817e\u8bafIMWeb \u56e2\u961f\u793e\u533a","url":"https://imweb.io/topic/tab/all","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["BlogView","\u535a\u5ba2\u770b\u70b9","Team"],"ownVisible":false,"id":847},{"icon":"https://avatars1.githubusercontent.com/u/4158466?s=200&v=4","name":"\u5b57\u8282\u8df3\u52a8\u6280\u672f\u535a\u5ba2","desc":"\u5b57\u8282\u8df3\u52a8\u6280\u672f\u535a\u5ba2","url":"https://techblog.toutiao.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["BlogView","\u535a\u5ba2\u770b\u70b9","Team"],"ownVisible":false,"id":848},{"icon":"https://fed.taobao.org/favicon.ico","name":"\u6dd8\u7cfb\u524d\u7aef\u56e2\u961f","desc":"\u7528\u6280\u672f\u4e3a\u4f53\u9a8c\u63d0\u4f9b\u65e0\u9650\u53ef\u80fd","url":"https://fed.taobao.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["BlogView","\u535a\u5ba2\u770b\u70b9","Team"],"ownVisible":false,"id":849},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"\u6709\u8d5e\u6280\u672f\u56e2\u961f","desc":"\u6709\u8d5e\u6280\u672f\u56e2\u961f","url":"https://tech.youzan.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["BlogView","\u535a\u5ba2\u770b\u70b9","Team"],"ownVisible":false,"id":850}],"createdAt":"2021-01-23 09:32:06"},{"title":"\u4e2a\u4eba\u535a\u5ba2","nav":[{"name":"\u962e\u4e00\u5cf0\u7684\u7f51\u7edc\u65e5\u5fd7","icon":"http://www.ruanyifeng.com/favicon.ico","url":"http://www.ruanyifeng.com/blog/","desc":"\u962e\u4e00\u5cf0\u7684\u7f51\u7edc\u65e5\u5fd7","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["BlogView","\u535a\u5ba2\u770b\u70b9","\u4e2a\u4eba\u535a\u5ba2"],"ownVisible":false,"id":851},{"icon":"https://www.xiejiahe.com/favicon-128x128.png","name":"\u8c22\u5bb6\u548c\u7684\u535a\u5ba2","desc":"WEB Developer","url":"https://www.xiejiahe.com/?from=nav2","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["BlogView","\u535a\u5ba2\u770b\u70b9","\u4e2a\u4eba\u535a\u5ba2"],"ownVisible":false,"id":852},{"icon":"https://www.yinwang.org/images/Yc.jpg","name":"\u738b\u57a0\u7684\u535a\u5ba2","desc":"\u5f53\u7136\u6211\u5728\u626f\u6de1","url":"http://www.yinwang.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["BlogView","\u535a\u5ba2\u770b\u70b9","\u4e2a\u4eba\u535a\u5ba2"],"ownVisible":false,"id":853},{"icon":"https://overreacted.io/favicon.ico","name":"Dan","desc":"react\u4f5c\u8005\u7684\u535a\u5ba2","url":"https://overreacted.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["BlogView","\u535a\u5ba2\u770b\u70b9","\u4e2a\u4eba\u535a\u5ba2"],"ownVisible":false,"id":854}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","collapsed":false,"id":1,"icon":"\u{1f440}","ownVisible":false},{"title":"My","createdAt":"2023-12-16 07:00:58","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"MyNAV","createdAt":"2024-07-14 14:06:50","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcElEQVQ4jXWTP2iVVxjGf+85596bm5hI1ArW1D90lXZRdFIJIia0IDhJqlhELXFwsDi7uOjgFAUVRW276CSJgyTYiEspCg66OEiMDjoUrybXe7/vO+dx+BJ67+A7nXOe9z3/3ucHnXFW7v+J3MiYBraPaQA61rtywLqEs5b2HNeGeo2j5hhWZAPCLDCHmGm2uD59xV4v53ZsIAeWfhrX4VDlgjPWxggSIMBBJUBMvMvb/D512f5YrrHlwc8ndchXuFXkQCLD8AbmygurnRGdp1qtQZHxy+Ql+xNkBjB6VBtDnWcS/UkkA79UyOcWtDPY+C3kkfhxARcCjdYCPz64YfMOwPVwwldYqUQRHB5goQkLTWzzEHb6Vzh3CoLHx4IiVBis9XECIICcM4ZTREn4RgP66rDjB2x0J9q2BaoV7N5DNPcWVq3EFzlyxjDIhd37GUhiPQX09mAH9qJdW7HvvxNglgTtDE09gnoPEpgEEkPbx1jhil7MwElgBoP9sG5N+f52Vrbp6Qt4OQf1HkgqtQTWn2Hu8V80zJgPFVj8jC7ewg6egclZo1YVgCZny3ZLGELmIDjmp+/wyYEliRnnMW/E1YPlz1+7ixabxqs32JPnqK++dLqIPmCCGbDkAPLI1VTQwOPzgtjXC/81YPof9Pe/aLEF3oFEdI4Qcz4021xdcmJppNFxHanWuFFkAGQp4lf0YilBs4WcJwLVUIEs5/D9CbsNcl1WHh3XkWqF8+b5JhUQY6l6Dy6AEu/znDNTE3azw8rdMO37TZtqNY4hdqfEEIB55i0xmyeu3J+wuU6YuqMbZz8ypoGREmf/NZy/AG6PHowdArJiAAAAAElFTkSuQmCC","url":"https://mygithub-1.github.io/nav/#/super?q=&id=0&page=12","urls":{},"desc":"","rate":5,"id":855,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Hoarder","createdAt":"2024-07-01 23:37:00","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC","url":"http://60.205.125.139:3000/signin","urls":{},"desc":"","rate":5,"id":856,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Home | TOP500 Supercomputer Sites","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsElEQVQ4jY2TTWhcVRiGn+/cM3d+Osm0UYuRpKQLFenCVrHipljUgnQhCq24qLhyJUYlCkKLQVChWFoUxFVNNy78wYU/VQQVxCLRgo1VrEUSisVJtGk6ncyd3HvPeV2MO0Xy7t+X74PngXXk08cZXTjMwdlnGAfQNG49PTSNB1h4id06jrI3uPDHER4FkDDg/5dsmhKwjU2myoJQRsav38iJ9lGeMkMSZgD7xqjffhdpvzsiRoDlZUab2P070/HhND/UrLG/V1gQkCD5Cr69zD0Tz/OFnTnI1i2bec/DBkUiYDIwj7mSLY069W5uQUEOAY7QqOFX+3z73Al22eIRDm3exItZGMLXNw1uzzvE3grl8FbFq4tBZS9xQ6OQDqGVBQh59BVYusIen6b+3qJbBm56IPpdx5ySlOL0YZRUrb590uJfc77/1ZM09r4rnEeXz9M7+Yhq7s+kUWW385QTZepc/tPbSXFuxmJ71uU/HnfVHZPW/+QAVJqq3LxPUrTi+5flxu42d80txBKCkhudwAtDZTTyDioziD0AwuXzqL+CJR7MKd3+NPncm8TF7yABR/BO0PbOMCPK182qLWL3CmHpjDUe+siS1gTlxW+wWovex/vpf/6EFDOcgyB+91nBqWYt3EYFlT/PUP72ISSy7OSDSsb3Rl36QXH5rFv77IDUPUfSMEWJImBRnLILr3DHdS2+LoVXgUkYKVhJqBseD2sCciAdAJp6LCv4dXaOnQZw6RhvjbR4rNO1NeesohhVr1qymrsvr2a8XsRw0VzdiiKjZkTn8SW0J55l3gtsdpGpbSk7hjfo1s6q+o2UWifTB3smw8OnoRjAkf037gIz0C/T3DB2LTPVGvfla2Rn59l256vM/yNU/FfzBWSGBk8xMAtwi0eZWnqN99+BZD3G/g0EOj/O4xBoDgAAAABJRU5ErkJggg==","url":"https://www.top500.org/","urls":{},"desc":"","rate":5,"id":857,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7a0b\u5e8f\u5458\u5ba2\u6808-\u9886\u5148\u7684\u7a0b\u5e8f\u5458\u81ea\u7531\u8fdc\u7a0b\u5de5\u4f5c\u5e73\u53f0","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jZWSvy5EYRDFf2f23sXSKCQkGpVSi2rjCbwGpUojHoAXINHtm4jgFSgVJP50u3at/Y5i7967f0Riii+TmTlzZs584vKdaTMIG0CaymVFAqTKBc+WDi3A4Mx2N4FVMIBdNpgAhETPh5tz59sNuvZgsqiAVeBIhrpaj708aO0tbSxIyRrNhYQEKicMMKGPTx/fdJrr+f5G3V8uJtUvDJkk91NzLT/bbZzed64eerW6om9DghTTQmVgzPKiju7a10996jrZmt9ZzQf2S9sHt+2eDYHTECku3gC+EqHIlQZemVcjk+E78fyZDIRIJmLIABBzgZVsQq9dKkFrQ52FypEkIFXHg1qRNeXq1SbVpUeJQv0iUla7uH1WiVA2gzGKWYbSNPYy6Y8FY/a3/G3/BvwAXPGMy7CiL0wAAAAASUVORK5CYII=","url":"https://www.proginn.com/","urls":{},"desc":"","rate":5,"id":858,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"CloudConvert","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://cloudconvert.com/","urls":{},"desc":"","rate":5,"id":859,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6cb9\u5c0f\u7334","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.baiduyun.wiki/","urls":{},"desc":"","rate":5,"id":860,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"www.similarsites.com","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuUlEQVQ4jU2TzWtdVRTFf2ufc+/LF1KKQpCSkkSL0I/QUIsO7aA4qQMnzhQ1VqkRHNR0UAcVcWAVdZAmpYSIDvoPSEGLYoSWSkTUCELVECTFGKyE1qRN3r3nbAfvvZozOwvWb+99zl6idQQ4nOna82Bf369/nrzZ1jn+uo82CvZJLC/Mc21uTpvgAjmAdcz7B6aGRh/uvxgaXb0d84lTPtFocBXjExefjzzO1dcm/OmW2dWprAPD0w+Usbzm5LXvr790COD4uD9SdPOzRMyZGrAYMQtQV7wzeVZvgssAD2ZnY+gbAi13qodGGpQRU6IGAqC6pm5uUZUlp8cn/BWQ68Dw9JEi2GV3F3BjY+3Wvus3J9affZWd9/XwowK7Uk0FRAlyJofW4LdSxaMWQnhOCsFJlUIx0L1jxzMg//Sc/sEYM7FhRoFTu4OE5YyHyE5FXjaDx7InlxQ8VzlYeHvvrnMPAUy+qy+qLY6FyHIsKIDU/jOlGjdx1NzrAfcMKODZwfu7eopLe4dbkKkP9PXdiidSZiFGYhtiOUPODJsLA0cCJHOaNWhPV+z+cmRw+jDAhfe0WDV50p1fQiDi5PZbRxNhRQq4u7c0C5mqgnp3UZSXRnZPH8RdFz7SStXkecQmgAzMuGFyfSdFpHtUhGL2ugLuD6XNMPhWA1znP9S8Zy6HgmBCgm+tzukinnWvgf8hIftWQoweLPoPd7YvJRZCILlTVZlZ+2lx9TMnfRWsN7rnJmwjyR3Hc06hIwhiTy/Bxcz59zVncKb2Kr6YvPlbDH0NkLlnh5yDeiLypb/W78x3mLHkqfXbXLn7N6c6q6wflsb+qNPmEff6Y0drpsJEaVn+u+fyhdXVNzYATpz0YzhXVhY5Ojurf9sdbY8z7B+YGirKeMgU0u2NtW+2R3ts3AdnJrXUurUi/R8QyTtLzvPYgQAAAABJRU5ErkJggg==","url":"https://www.similarsites.com/","urls":{},"desc":"","rate":5,"id":861,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Etsy China - Shop for handmade, vintage, custom, and unique gifts for everyone","createdAt":"2024-02-06 13:28:49","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC","url":"https://www.etsy.com/?ref=lgo","urls":{},"desc":"","rate":5,"id":862,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"The Verge","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABsUlEQVQ4jXXTO2sUcRQF8N8dJxojQSEgihCiILFTxGCjhYqiRUISDdhpo58ghaWFn8LKRiSs5okoijYi+AIVUUFsIj6IhUUivpLdv8XObNbFvdUczjmXc8/MxElpXyK0mcT8lPha4jFpyzK9GSlIeeISBlD7jz+CcVyBi1L2kgsZZ1Cr8SxPTAeHsLZNgs7y+QXbM4awCX+CmTxnrso57C10j/G09AevGnE4jr4CvsVsXhGfRqWppgVffjJ+S/xuTjIkdQejVvuanhQfM6gyg88FcbCLPa2nrKn3NFDAhRrTkKkf/yZxtyB7agy3NBHBCLqLXu5v5nVjQUVUExP4Udw6OCZtW311+tTvh1+YuCyWGwtgAw8TTwrYv8KRkqtyDDsK+DznQck1FlwVi0GlnlCeMXZW6hyUulK9vFJ7oyK+lb68paubidNBb2LrEn0d9GB/wc8n5poNWTOY5ANO4QCGM+YLvLGQ3N7N+2ZP23+gXl7qXeFO0I+ljJHr4l7bBK1T5Wiws4CPov6V/jOtHTTmhLQOh7GI5cS1ivjeqmt7wnmpY4FdwXpUa7ybFUutur/QZXoo2k7BZgAAAABJRU5ErkJggg==","url":"https://www.theverge.com/","urls":{},"desc":"","rate":5,"id":863,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u516d\u661f\u6e90\u8bfe\u5802\uff1a\u6bcf\u4e2a\u7a0b\u5e8f\u5458\u90fd\u5e94\u8be5\u8bbf\u95ee\u768417 \u4e2a\u5b9e\u7528\u7ea7\u7f51\u7ad9\uff01 - \u77e5\u4e4e","createdAt":"2024-02-07 13:25:40","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=","url":"https://zhuanlan.zhihu.com/p/505139756","urls":{},"desc":"","rate":5,"id":864,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Gumroad \u2013 Sell what you know and see what sticks","createdAt":"2024-02-07 13:25:40","icon":null,"url":"https://gumroad.com/","urls":{},"desc":"","rate":5,"id":865,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"HiringCafe - Find Top Remote Tech Jobs","createdAt":"2024-02-07 14:21:12","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAZFJREFUOI2FUj1v20AMJc+WFsGwJ0/p6sCZLED/IoWz+6c4q7WmQLoJ3lJ4c1atzj+If4GGBnAWwSkEAwfcHV8HtlcjSJE33JF8j/dBkgEACCHQZ+j1eszMIsLMn6oVAPpEdDweN5vNz5eXnjEf6oLIl4uLxWIxGo0MMz/tdrfLZZokzAyAz6BumiS3y+XTbsfMFEJo2/ZmPi9XK/wH5Wp1M5+3bRtCIO89gNfDIZ/NyrIEYK11zjnnrLUAyrLMZ7PXwwGA955ERHOaprmaTquqUkKDVVVdTadN02hQRAiAiDjnAOz3+8vJ5HG71Zc8breXk8n++RmAc05EAJBuMaeu6zzPu67rui7P87quz9Ui0o+lMMaISFEUWZadTiciyrKsKAoRMcb8kxGROupbazWiq7VWbWWJqK+t0aoTkTEGgDEmyzLvvVJ6iSrNeduVS5JERL7d3UFkOBzGsxX9aOnD0jT99fb29fp6PB6v1+vBYPB+2GI75S9+PDx8v7+PU6z1iWAAMTN+98/MhXBeHw3+Btg7btfem1ozAAAAAElFTkSuQmCC","url":"https://hiring.cafe/","urls":{},"desc":"","rate":5,"id":866,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Data Structure Visualization","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABj0lEQVQ4jbXSO0jVcRQH8M+595pP1K4iWOZQbSkZQVhhS2FhJNRgY0UQ1BK1RLRENEhBU1OvXaFBycGxIJoMygalprCHiqgJCnr7/RvScHXoTAfO+T748g1XDtrK5Lb0jUJTvmxmkRUo1GqosrpmfoESBY1F+WR6jm121Mtl/4C1G0sF1ZsIyzed/ioMjBzuOy4O6b1g6Ka4xjNDb/R2GRx1/ioHzN1VXae81fiYQt++knImnSiCb+4/1Nvl3ai+k2oeO31JsX2dPivJfZpIJLn0cTqRoizduZ78SEdOpVfDaXdTsj2RxodTRNp/JhXShrmUQfZV1WXLz2XfxTG+0MOa9jaPXnryflOs68g2Ky/cfkCz7LPoY4wZWtw4Z2Jcbk8dWPF2CjqKWnr0PxVHIQ3QyE7ZB7ELCqv5XDW13Qa7YXLW8ghELQvUUwPRTIkqueK9kGJxNDp6Y+p1rAzF2f4gsl+hPjpvhfkg5MPeUBehklVa+M0sDfykSCVLLNFKkNhGhULTxc4tVSP+e1v/ALHxh1lBNmIPAAAAAElFTkSuQmCC","url":"https://www.cs.usfca.edu/~galles/visualization/","urls":{},"desc":"","rate":5,"id":867,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Stripe \u5982\u4f55\u521b\u5efa\u79d1\u6280\u884c\u4e1a\u6700\u597d\u7684\u6587\u6863 - Mintlify","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABzElEQVQ4jY2SP2hTURTGf+e+l9ikrwGzpFL/rFIFLUIJSAd1kE6lYAUJREqHzg9EOj4cNcWSUZBUS4dCoTg4ZCy4BAqpFroUpwqti6KmNX/63nGIjX3Jq3qmey/f75yP7x7htFLPDO4OPRR0RtERIBmh8iWKTe8UU/F4fA2R26cO+F12D1zMpeyAMiLZf8EAphv2M5mySZz5LzjUIF3MpZpNqyyqFaOM4Qe3VHGBD39r0M6gmEs5TasMZAUd+/Fo6V1HoZ4Z3D3nAk+7HbcdTE1ZTtOsAVkAVSuci3jB/sXZeQIeRxiom4HRZB7+pK3Gvx5ldX9x77nA+/Crbho1OhMaqDKN5/VYxfOCQLUU0oq8NAQyEm6qw/19O1eiXBiheuK6vnf+bMkgGjsBH2HLg4O55S2nMD2MFw7NGFoAWm9VGg4TyH1fnEJ+C7h6DNfc16sDz/KTKqwA2wolQaqi2rIupO+JZd/k4/e7X+defKO9ibKCBpcj4BhwTWABFBXwP32p2Ed9HRjAriX6F5KHB9VD99XbLjhUAj0wnUUCkoX8uIE3UTCq6zE/MdENA1jHh9adG5/jRhtABiWN0AA2BJ7ULtXd+uzSz6if+QWXj65atnGG2AAAAABJRU5ErkJggg==","url":"https://mintlify.com/blog/stripe-docs","urls":{},"desc":"","rate":5,"id":868,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"TechCrunch | Startup and Technology News","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://techcrunch.com/","urls":{},"desc":"","rate":5,"id":869,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"MEGA","createdAt":"2024-03-30 08:26:49","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABpklEQVQ4jaWSwUtUURTGf/fNzMNkZoLRzDcbhVLb+Y/YyloFQRHtIhlbDCi0dlFQyyhBcCduBP+PcGVmQ4H0cHARvkfJe/ee02LmvRlnGkg8cOHej3O/832cD65ZZhDQ+vwkJmkgZgnDfBc+BPag9N78PDobSWCDmWVjzCeUmyMGniv6tBj+2B0isFMzy2p051+qBkUaNQ+L7Q6JAdDp6VuJlI6B6v/4Bs4T489VTr+1PYDftvDCiVSdCP5Ji8LbDZwqTqRzVPHebOCftDKs6snFSk4X1YLPUS3QqBZoVsnWtkYTdY0m6ppsbed41hfVggOAIoB17l6/PglDSo8fIdaCaucehnhBgHUua1vICZzIJYMXHzbxgtuMPX/WfX9EwlPGX6/19yb9BIfAYq5AhHi1iaQWgLi5znjjJQPDWj0CJ3uKLgJomiJpirWWX6+aPVtpCtbmFhT28zUel8tTfmK+XmmNvs7djeN2HprvhfKVgjTr4l6QclOFGw8UNsFURvyNgCd33J/hKGf1hcqk56UNlPvdVSWgR8aYfSeldwtEZ0O816m/ibHiwE2Nd0oAAAAASUVORK5CYII=","url":"https://mega.nz/folder/uMtFyLzS#ChIPIPw26YFeqjyprEq2ww","urls":{},"desc":"","rate":5,"id":870,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"namakxin - Digital Artist | DeviantArt","createdAt":"2024-03-30 08:25:56","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC","url":"https://www.deviantart.com/namakxin/gallery","urls":{},"desc":"","rate":5,"id":871,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5c0f\u7ea2\u4e66\u5343\u5e06PC\u7aef","createdAt":"2024-03-22 13:45:19","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACNElEQVQ4jW2Tz0tUURzFP987I+IMuYjARmq0RcRAi0zKbFOLEPoHoqBtf0ntoyJoZ9AvEMooSFQICoMCN0ILYSTNwChFcyZ0sne/p8V9TQo9uLzL/X7P95533jlIqkqakuSSotxd7pLLFaOUF9LGU086mpJURdJ0Xs52FV0xJtzrd9KNO64vK+k8DfmdY6bZBXZJ7pIUY2JRX5RGrkoDF6Xrt//VUm8mSQFwIJA/BkIyDHHvEWy14FBFLCyZbbdECCDlrcSQb0BK7ywzFQowPWO8+QDlEoRgrG+K+pIJwGU5ztIAd8NMuBshyJo/4e4DKBQTg44OiNGoL8okQEKJcABECIm2JEIwRp/CwjLs7MD5IejtSfd9nDeZGWZGmqCQqMtwT1TrS/DweRKkchCuXYbeA9BXgWYDe/teSGmguyXxclaYwc1RWPkO3WUYPg4vJ2BnGyr7oasTnozD4/GEMSPk3y6KRZiaEeOTcO4kXLoA+zphdQ2yDLZ+QRahuxtm5+DbGm5mxVxA+NEUt+4bV0bEYM1Y30wCHumDwROw/BXGXiTpKj2i3EUAmWJ0hWD2bALq8+Jo1VhZFeWyMXQKasfALDGenYNPn53TA0H9hzHJzSW3VgteTUDMoNGE/n5j+IxUKplJ+mschbbfsGRAFQ2MQiFS6gpsbBhnh6VaDQOzGNOfMQMzmXt7ACEIKLTD5K1WpkYj+d3dd3n+f2tPmKqSJmMeRbnHdipT8rwd9b1rUlL1D5CO+mEah6VfAAAAAElFTkSuQmCC","url":"https://ark.xiaohongshu.com/app-violation/violation-manage/list","urls":{},"desc":"","rate":5,"id":872,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"3Blue1Brown","createdAt":"2024-05-17 23:30:24","icon":null,"url":"https://www.3blue1brown.com/","urls":{},"desc":"","rate":5,"id":873,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"RegExr: Learn, Build, & Test RegEx","createdAt":"2024-05-29 12:09:10","icon":null,"url":"https://regexr.com/","urls":{},"desc":"","rate":5,"id":874,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u706b\u5c71\u5f15\u64ce-\u4e91\u4e0a\u589e\u957f\u65b0\u52a8\u529b","createdAt":"2024-06-15 00:55:06","icon":null,"url":"https://www.volcengine.com/docs/83571/1171733","urls":{},"desc":"","rate":5,"id":875,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u79c1\u6709\u5316\u90e8\u7f72 Dify \u5e76\u5feb\u901f\u642d\u5efa AI \u5e94\u7528_dify ai-CSDN\u535a\u5ba2","createdAt":"2024-06-15 00:55:06","icon":null,"url":"https://blog.csdn.net/m0_59235699/article/details/139333392","urls":{},"desc":"","rate":5,"id":876,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5927\u6a21\u578b\u77e5\u8bc6\u5e93|\u5927\u6a21\u578b\u8bad\u7ec3|\u5f00\u7bb1\u5373\u7528\u7684\u4f01\u4e1a\u5927\u6a21\u578b\u5e94\u7528\u5e73\u53f0|\u667a\u80fd\u4f53\u5f00\u53d1|53AI","createdAt":"2024-06-15 00:55:06","icon":null,"url":"https://www.53ai.com/","urls":{},"desc":"","rate":5,"id":877,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5b8c\u6574\u89c6\u9891 - HOTWIFE XXX - Hot Married MILF Visits a Stranger To Fuck Her Brains Out (Freya Parker) | Pornhub","createdAt":"2024-06-15 03:29:26","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABhklEQVQ4jZXSP0iUcRgH8M/vvffULIQjU5SIWlys4bCg7YIKgpYKAonWiDBoqqkghIKIxohyazHStcIhiChoqAazhgYnMzVTDgk9r7tfw5ueUMs9PMMDz/f7/P2G+FBTljQHbxDChm/NbFYLjThVJ0/XFlyFHxSoskykg3aW+C21XXnJzVGzZT8X9XQbOurwgFPDDu51/RypJy+MffDovJ1dxDHTt6Elp3jgb5t3N2B/rzghvjJ0BKZviU8lanIJjF/0cVJ8DCMv9ffa10kLebsLkM9Rl2Zjh2Dkja9XvH0Nx/rNrXg+pXCSYLUilwghW5oQJMGzTyYmtW1zb9DgcVfH9XQ4cYjE+y8mZzavRD2q1d057doFFulmzsyyswNG7tLq/rDLo2LMCDnVGpTX2ME8C1Th8ywztJr6BtUaidSqQrtLJaU+vrNOJDpTVNzDLypKfRZWdLRREeID8uxihTIpkUAn6/99XEKNeWK20YZAlkAOrLJGPRsps/iPyupb4tgANK3WP/AcfVDZ7aoLAAAAAElFTkSuQmCC","url":"https://cn.pornhub.com/view_video.php?viewkey=663a682427161","urls":{},"desc":"","rate":5,"id":878,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7b80\u5386\u6a21\u677f_\u7b80\u5386\u8bbe\u8ba1\u6a21\u677f - Canva\u53ef\u753b","createdAt":"2024-07-05 13:02:12","icon":null,"url":"https://www.canva.cn/templates/?query=%E7%AE%80%E5%8E%86","urls":{},"desc":"","rate":5,"id":879,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"30tool-\u53ef\u80fd\u662f\u6700\u597d\u7684\u5de5\u5177\u7f51","createdAt":"2024-07-05 13:02:12","icon":null,"url":"https://www.30aitool.com/","urls":{},"desc":"","rate":5,"id":880,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4eba\u5f62\u673a\u5668\u4eba","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.ti5robot.com/","urls":{},"desc":"","rate":5,"id":881,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Meta \u53d1\u5e03 3D Gen AI \u6a21\u578b\uff1a1 \u5206\u949f\u5185\u751f\u6210\u9ad8\u8d28\u91cf 3D \u5185\u5bb9 - IT\u4e4b\u5bb6","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.ithome.com/0/779/308.htm","urls":{},"desc":"","rate":5,"id":882,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6708\u4e4b\u6697\u9762 Kimi \u6d4f\u89c8\u5668\u63d2\u4ef6\u4e0a\u7ebf\uff1a\u652f\u6301\u6846\u9009\u641c\u7d22\u3001\u5168\u6587\u81ea\u52a8\u603b\u7ed3 - IT\u4e4b\u5bb6","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.ithome.com/0/780/363.htm","urls":{},"desc":"","rate":5,"id":883,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"MindPal - Build any internal AI tool in 5 minutes | Product Hunt","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.producthunt.com/posts/mindpal-3","urls":{},"desc":"","rate":5,"id":884,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Free Essay Checker AI - Essay AI\'s free essay-checking tool to review your essay | Product Hunt","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.producthunt.com/posts/freephotoai","urls":{},"desc":"","rate":5,"id":885,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Validator - Research and validate you micro saas ideas fast as Cheetah | Product Hunt","createdAt":"2024-07-09 14:07:57","icon":null,"url":"https://www.producthunt.com/posts/validator-2","urls":{},"desc":"","rate":5,"id":886,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"iLovePDF | \u4e3aPDF\u7231\u597d\u8005\u63d0\u4f9b\u7684PDF\u6587\u4ef6\u5728\u7ebf\u5904\u7406\u5de5\u5177","createdAt":"2024-07-10 14:44:36","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACVklEQVQ4jY2TO2tUURSF19rn3puHOkFRRnzFQJzEScxEW7EQGxv9CWLUwspG1EKiRLBQFEsLQcVGUAvBRyNIsBC08ZEUvmGMMcGAISo6c+eesyySkRjiY8Opzt6LtTbfBgAIIOYpAZz9N19fBAAEVO4pbnOG3YCtovS2Rn+RT188BICRQmFl+upVM4HXAoxAqAsQAEZ61x9uYHQqMcJLiEikCmnV+32cmBq01hX3k0JH0+TV69vb03R4tgg/lDq2msX3KJkHaiAdJB+TSQpMIcvGGpubO5deuoIvd+6Uxw4d2dkJDQkkgRABUV9CuoqUAYhnXLlUkpEtzrmWapb5Wpwod/BQq759vfVygDsJPBNgRsNaSIEkAQiSQIokJakWQgDpVK26QKrlaP+a/Iljt4aBEoEQBYXnsGhLCMETIElIAsiZB0IQ4pgGwMcJWvoHViOKbr47f34XR0vFjaA9cMTCTMoIOP1SAQWApBp6SsCiRYT3gXGS5dJqMvH40WkCwGip2Bc7dwGSS6d34TAjQkwnC5UK5LNgJHNmNllNbzQ15fo4Y1blns4diXNnGmmF70FeEEHaNEGSzEKjmcukGshzle7Fx9suD1ZYJ4yAhrrb8ktc88nYcW8tSAKmEwC+ySyqSkOVWnagbfjFYJ2j2Zj+gmOkp3ggieysDzIP+AVm8Q8fbn+36p51T95MzKVxLvsGAO9Lxf3jG7v9500b9LG36+6zfH4BAFwD3Hx381vVm0Z6uy6M9XaPj7W3L6u7/OdwPZsAfioWl5e7Ojb/6RL/u/42/BOE6RCtuVZPJwAAAABJRU5ErkJggg==","url":"https://www.ilovepdf.com/zh-cn","urls":{},"desc":"","rate":5,"id":887,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u767e\u5ea6Apollo-\u81ea\u52a8\u9a7e\u9a76\u3001\u667a\u80fd\u6c7d\u8f66\u89e3\u51b3\u65b9\u6848","createdAt":"2024-07-11 14:21:29","icon":null,"url":"https://www.apollo.auto/","urls":{},"desc":"","rate":5,"id":888,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u817e\u8baf\u5154\u5c0f\u5de2-\u514d\u8d39\u4fbf\u6377\u7684\u7528\u6237\u610f\u89c1\u53cd\u9988\u670d\u52a1\u5e73\u53f0","createdAt":"2024-07-12 13:30:01","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACKElEQVQ4jY2TTUhUYRSGn/PdO86MP5hZTY0SoqQVUgZJYOQ2iIJAJFdhi4oWES3aFZqLKGgTBC0jCqkMIgraRBESRkLkxiKSEiIi+zEVdcZ779tickbNwHf5cd6P9+ccWBFkkkxS/MsPHc3M6dxHKbEyLiAwgOdD6s6G0s9J3QaQup2/dHhru0qTFUQAn2ew1jrMHhJdPUtbbZW6YqZw8L27BdDX12WWZ7bLa6rkpnnsJSRjhjmHZbJQUQqXj7O2uQF35xnjHYfYwph9BXDz/G0JEgb7nGM1jg2ex/pMQMr3SfUcIdXcIPf4Fbp0l7LGA1TPZ5O38H0cpUqYVkSZg2hyGldeAj2dUJ+GC73GvX5cJBRP5iwCtjQDc+CmZmH/LtzpNkhXwtAI3H+BMgGUJWFiqpBv3sKaVTnPM1loqoWTB2FgGMIQttfBtVNQXgxjvzFF2LIKzCAbQFsrbFwHpQnwPAhC2Fkvu3HG6H0Kg2/h3V/Oog8kiMfg0Uuor8rJzwZQ5EMYmTZVY12HA28OX0UXQTqfl0L6mIpTjhHnkZrJEBbHsEjQ0ghXToA5JGFA4IwWM3styQoZfMIAEyiZwMfHw8d7MoQ38B7PwHeG54z4gvoX1FiDUhA4DxdmNWxmo54RC+fQg37YvRlJ+BLfnGMkl5lFhU3sVGJHgl9mjE7MsufDdRtbuubLIW8hXYQD3kQBHTlyoeLFQcuWewdkNZ3zJ/rfoX/wB6c+y9Xr8Id6AAAAAElFTkSuQmCC","url":"https://txc.qq.com/","urls":{},"desc":"","rate":5,"id":889,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Tabby - a terminal for a more modern age","createdAt":"2024-07-12 14:22:42","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfUlEQVQ4jaVT3UtTcRh+fmfHzX2yrZofldGHwxAHMdRpeFN/QBdhEV3oRfdBZFBUHpBuhCgEiy6iukgy0YsIrypRwhnlRzOZNVJDOzm1tua2s+3s/N4uTJs56aLn6n3h9zzv7+F9XiAHEpGwUUuSgP8F5QhuBzG3GSOqiySoTVHTqSxplxljkwDwlEh3ijFtOxEGAGekrorOwQ8/BxWiIY3oeSwTe7aq3uiSYzvXH0p5fiRAkhgA2J0W+/i7kK33UX/mY2AuLYIsZot4xWg1jPTGM80AIDHGiYhtmQ4Aze0Pim1WVzcX9A3JhMJdpQ5eVeMmR7FTnxUEqJwPxNOptiaHdSCfAANA4h53a5W3oaXm+AkRBrMhHlvVqqrd/JCnDExfUEDgULh2f3hupuWuxxMBAF2uHb5r98ridCA1MfzCZLPZdbXHjlr3HSxGYaFeIK6pcjSKhZTiJbGw199xS4YkCZv8rONC+82LFT7f9cM19ea0qkKOxvApvMQToiDozQY1HU/6bh+pnADANq3xC1GlHNGuoUB3Wm8Evi7Ftal5GfOrMcHktAvp5TDNDU09nAylg78pJK77P3n1cfmQP/Sy2ldetPw9Q2PBBS0ohxlMRp1BFDPv+/qS/u4ny/HPs0HwqPonSJLEIEnkcll3DLyZLpqakTNkNgoriqqzOizZ+cBocrinK/ptMvAKRmunpEVGJcb4ljU2tt4rKynd35dhopeZjTwRWVT8/d3x0MjrcaTUO42Jxf6etTQyAJQ3jaYDntb6pktKXVPLD12p+y2MzvOoPWvbFLx8xI26ZK8Xqew5EFIwWDooHJpla9MEAPxvcl4QEcuJ6z+v8ReH4CD5bSHEzQAAAABJRU5ErkJggg==","url":"https://tabby.sh/","urls":{},"desc":"","rate":5,"id":890,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"XPage","createdAt":"2024-07-13 01:52:28","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC2klEQVQ4jY1TTWhcZRQ99/vezHSS6WSm+RlNhf66SZVCA24MpSoustI0Dtq0qY1GYi0FF20plVIRUaggWCOBIOjCbEapRVu12mJwUfoDKTZk00UgRBLCzHuZTOfnTeZ73+kiSRsTBO/qcu853MvhHGBNkZTlTlZNZWkHWYv/j6ICgMMt7keHW7zP/g9BPlwmzY0XUwDQ27xwrC9V5ttPVNnbmD8FAFNTTD4+wPXfuK67K2Al+9vX5ZHucK5ypNUNjrS6Zn8ot3j7J3/UMD9161qhcTVHAKCnKdse0bH3oKvtZy837H7qaeBEh8vctKVZBNo6HDn3a1JuXjT4oq80FotFx32/OPyd13hDAYAxrHd06K1KgbsvvOMFEoEZGIzTL1Gicci7QxvhzVoz/P5CoDX3aITfhJIkACgAyORb/vJN4VZ9Q8hOjQf89kRBt3WEVPfJOvR+EkNqqyNDRwu6kAsQiSpbMd7EP7m/rwKAsySIWCF+ZBB6LpYU/vGNj+3tYRuuhzI14tLnFXv390WpSygi2KDIyqVRvGAAKmdFB1o7Q2UhigIIrgyWxQZgOCooekQ4oghyWTozCwBpQBwAFgBE6VdFAbUqsLERcvbnpJ2brKmGlKCUBz54KQ9aAVUAJc4rAL76HrAKEPYk5reIkpcNS7JYpuo7H7eJlKiRcyVePF/hjj0h6T5Zx+K8VVQlQmTvwZjbBsiSeUKOekZrbUrzqO07VGeeT0fU5S/LwcSo4ehIFXeuVIPXzkTVro5IUF7QVilV1VE8+8gMaVB3xsaaP+6aO0hDTk+Y2qEmj72prOnZlK0N7PRYzJK52Zr/evN054Ftk6l9+NNZ58R7PJ0M6F8Yu/5gbzoy/0P/kz77N/vscrxf7t8pH6gx/ykIvc6JK3kAZEVmHN/pxhcK+irB+mhCvzh8P557jANWY/8dK2Z0Jk0NAG80ZVv3J2a2AEAmQ51hRq/FPwSJI1dehpVmNwAAAABJRU5ErkJggg==","url":"https://xpagecn.com/site/","urls":{},"desc":"","rate":5,"id":891,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"iOS \u4f7f\u7528\u6559\u7a0b \u2014 iKuuu VPN","createdAt":"2024-07-13 12:59:22","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC","url":"https://ikuuu.pw/user/tutorial?os=ios&client=shadowrocket","urls":{},"desc":"","rate":5,"id":892,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean","createdAt":"2024-07-14 11:57:48","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==","url":"https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7#step-3-installing-php","urls":{},"desc":"","rate":5,"id":893,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u767b\u5f55","createdAt":"2024-07-14 14:12:27","icon":null,"url":"https://lib.plagh.cn/assets/theme-1.2/login.html","urls":{},"desc":"","rate":5,"id":894,"breadcrumb":["My","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"createdAt":"2024-07-15 06:18:29"}]},{"title":"\u5e38\u7528","createdAt":"2024-04-14 07:40:21","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"Top iPhone Apps Ranking on 19 April\xa0| Similarweb","createdAt":"2024-04-27 05:23:59","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACqElEQVQ4jV2SUYjUZRTFf+d+3/8/M2WYZTk1WUYlskhByxqKhRHYw7ZFrPsYSkhUlFEWVBD4GBGiySJGRERvQSW9GYRptBUMGWTQS1svsriTQunuzPz/33d72BGj83zvPefcc8QKBDhjO1a1r1t9+8IPx38F8CM8T8nrJNoYvwGfcJZDOsLAwQTZriyvu3fqzs61a0+05HcD9N9jJw1mcdbjBGAzBW8zxtd+mHsE2UEG+E0TM+2i0fxK0taNqxe/BSjEFA0ymQFCZDLL1DTZRskJn2W9wA2gJM9aUdzlni/2lmJjZOsijpHRyKQwApcZ0mIDcNRBdsv9048iezJXw0qy689XayYAepf4iCV6NChxahwBwihYIhGZ5CiTZsH3yAzHM2ZKqdjvoHVv8HudmQYWKSnI1P95txNxMrsNaSs54VDkVCcL8aHO+PQ7AMULnLp8iZ1kztIijpQAGBUADxjoNneXQALzVCeL8dVbJ3a9e+AAtuplzrDMIww5TWPEK0RCiI46W3Yt494EXJLc3R1SCEXMqfqynf96uts92fOD3MA1nCIyxoCMYWRqw/1PydxdDiBJgpBTVVkspxZs7fHt2yfX6BUu9Ae8SB7lYgDMm+OnMRPy7COs3CDmejiwotw232++5aDWS5xkSJdAwBDwjdW1f+g5pRX5V21IkouY6zojnnh4x4YG4Fn8QpNExQDjAzv/0+dz7vmYxTJIqt09CcDdcVyGO1re+M+NaVSwSIuAc0zP8aMBdm7xwv5cDT6zWJayEBzJV1KJZmUw5U/f73arZ8YpDB6nx/cs8eZo5io649PPEsNesm8CLxF9d//4jnjute/m5vpplqeCeIyavdrH31d69T/MhPZ9eVOIfnNKeX7hzBd/APgMgQfZrH38DDBi938BGLwydtX32EQAAAAASUVORK5CYII=","url":"https://www.similarweb.com/top-apps/apple/","urls":{},"desc":"","rate":5,"id":895,"breadcrumb":["My","\u5e38\u7528","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Website Traffic - Check & Analyze Any Website | Similaweb","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://www.similarweb.com/","urls":{},"desc":"","rate":5,"id":896,"breadcrumb":["My","\u5e38\u7528","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Top Websites in the World - March 2024 Most Visited & Popular Rankings - Semrush","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://www.semrush.com/website/top/","urls":{},"desc":"","rate":5,"id":897,"breadcrumb":["My","\u5e38\u7528","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6709\u9053\u7ffb\u8bd1_\u6587\u672c\u3001\u6587\u6863\u3001\u7f51\u9875\u3001\u5728\u7ebf\u5373\u65f6\u7ffb\u8bd1","createdAt":"2024-05-02 00:24:45","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4UlEQVQ4jSXTy6tVVQDH8e9vrXX2Pvvktby+8lXUDWkiRg8bKAjSqKCRDePeECIaFzTIBklQDhrUMEt60CAciA4iSkxL7P0YRYH2IrES83ruPfecs/davwZ+/oePADyzY4GQnsftHVDAFrmI1dFs7kGyaLMZtWaxhREXmU4PafzXO/LMPQuEeBQyuBRk0Wa8oSfNDUzJMO1El824hVE2yyWw3JpJuyDf/MCfyFtxyVAiOZtBgPtuESVDm6FkyJ1pCwxHsDjOlCqx1P0ekLZgCigQo10Cvn1GbiogQK9nVxX0KhEDbL8L9u2ONC6sTtsSkiEIjFfGlBQVZvr2qBNVD0onXR1CXZsrf4uXDpuVMZw7K2bXODj2xHBEPrBf5cMjXA0Td5da6dkXYf8TMDR+5jn81vvitTfM3Hb49YJoaripp4ClSQgaffm9495dCg/uVLd9Du3bg099Cy+8DPfvRseP4Y0bxdZt4vIl069FlZRKKe4GDd2575R//MmDp+ZF08fnvgEMu3bAI/N4dBGdPwtHP4ClJdGvzRhStgkxElyYHDlG8/pBDPixp9Hdd+LrQ/TPNXAPb9qCYjJLiyJV4uLYwQRRrNTMuDv+sbwyYXrmC66cPEn31Q+E9evRkcPw5AE49AruV2K4hC9MYDErRIJjTKbtFDdtNP2ayatv0k2m/PvJp1x79HFWpktM99wLH52xTpyyP7+MrmTTC1a3Zm/OsvJwkfqzdymral3f+bC7qqdcJrST/8iMicib022KVd+KQURMKU4KUaGb2rOz6k6cpjt93gpJIUQowW5m5XbZdewrrVpnlynYxsWEgDz70B8mb+ty23WLV1OpknMdafNU2S05T92VqTYMNrkOFTfOOCMSlN8CxQel5BRSimvXFg0GCBEUCARLSeuaW13HBgMQTEgJYqGEg0HXTr1NZl6h/iVmES0HRYIS/diwttngpjcjA1K48YPwMyXP6/rX7/0PF06Fun4dhroAAAAASUVORK5CYII=","url":"https://fanyi.youdao.com/#/","urls":{},"desc":"","rate":5,"id":898,"breadcrumb":["My","\u5e38\u7528","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"Todo","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"Claude \\\\ Anthropic","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACDUlEQVQ4jZ2ST0sbURRHz31JqDABQ90adyZu6idocCMUotBQcV3FbqSburGfQVuwn8Fu3FlrnGDtkJXdhVjQTApqsnBjiU5qhubPJHldiEOiFml/u3t597z3Lkc8r/FM6+4qyDj/lkOlZFlard/f/2P4JkfSatW7gPR2RQQRQWvt11prv+6JDt437LourusSiURQSuE4DoZhEA6Hb0NE3R5ut9usrr4nlZphff0jlUqFxcXXrKy8o91uI9J3H30ApRSlUhnTzFAul9nc/EQwGGR4eJh0Ok2pVEYp9XcAgGVZuG6NqakkJyen5PMHpFLPubqqYVnWnS36ABHBcaqYZoaxsTGWlt4wNPSYra3PjI8/IR6PY5oZHKfa9w0fEAgEyOVyHB0VGBkZwXVdotEo+/vfuLy8ZHo6SaFgk8vlCAQC/QARwfM8TDNDvd5gd/cLCwuvyOcPuLi4YG/vK5OTkxiGwc6Oied5/iuCN8s7Pj4hm80yMZFgfn4OAM/zWFv7wPZ2mtnZWRKJp2SzWU5PS8Rio3Q6nWsAgG3bRCIR5uZekkxOoXUHEcX5+U82NjY4OztjZuYFxeIPbNsmFhu93l2rVdc38jQaDQYHBwmFQmitERGazSa1Wg3DMAiFQlSrvxgYeORL5avcq2+vbQ9orRVwCKC1ptvt3vG9t3/PmaJSSt4ChTuGPBxbKVn+A+V/CrLvaunfAAAAAElFTkSuQmCC","url":"https://www.anthropic.com/claude","urls":{},"desc":"","rate":5,"id":899,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Mintlify - The modern standard for documentation","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://mintlify.com/?utm_campaign=poweredBy&utm_medium=docs&utm_source=docs.double.bot","urls":{},"desc":"","rate":5,"id":900,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Models - Double, the AI Coding Copilot","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://docs.double.bot/models","urls":{},"desc":"","rate":5,"id":901,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u706b\u5c71\u5199\u4f5c","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://writingo.bytedance.net/document?docId=1","urls":{},"desc":"","rate":5,"id":902,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u8fd9\u662f\u6211\u4eec\u7684\u6545\u4e8b\uff5c\u5b57\u8282\u8df3\u52a8\uff1a\u6fc0\u53d1\u521b\u9020\u7684\u65c5\u7a0b - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==","url":"https://bytedance.larkoffice.com/docx/H5XOdXoeVog1MVxiOaWcLQ2wn9c","urls":{},"desc":"","rate":5,"id":903,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u{1f31f} Anime Wallpapers 4K - HD Anime Backgrounds for Desktop","createdAt":"2024-03-08 14:55:13","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=","url":"https://wallpapers-clan.com/desktop-wallpapers/category/anime/","urls":{},"desc":"","rate":5,"id":904,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5927\u7ebf\u7d22\u62a5\u9053\uff1a\u770b\u5b8c\u6296\u97f3\u7684\u521b\u4e1a\u6545\u4e8b\uff0c\u6211\u660e\u767d\u4e86\u4e00\u4e2a\u9053\u7406 - \u77e5\u4e4e","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://zhuanlan.zhihu.com/p/315789097","urls":{},"desc":"","rate":5,"id":905,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"TikTok\u5185\u5e55\uff1a\u5f20\u4e00\u9e23\u7684\u5de8\u6d6a\u5f81\u9014","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://m.cyzone.cn/article/680806.html","urls":{},"desc":"","rate":5,"id":906,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"AI\u667a\u8c31\u6e05\u8a00","createdAt":"2024-04-09 12:33:18","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jW2TT2icZRjE5/n2T0yKq0aJ0hqs2lTFapWCMZjQUlQiaFFUEFsESeKhiAcV6kFB1IN6ElosshBFPfVgG60o0kK8iM0xRRq0TWNqaRvTxP2S3ezu977Pz8MuasGBB57DwAwzjCQJ2A3MANGdGCPO/8KJkQicBkYlydpPWZLc5UlCIpkWllzHpqJOzUVJUl9vouGBPD3dZpKpjT0C5gEPkQycs+cjo+/VveOhFG2rUBxI6RhI0f2pl7anHPmxCYSWHZiVuxOCO8CxqYybhle8tL3CGwfWOHEyY60egcj0bxkP7616xwMVfp7OADw6WIjuucTs+FTkqdfWtP5G2SvPdapYTPTHJanelK4vSff0mW7f4BoaqTE8mNenb11lDhjgFxbdhsbWWFzGNm3sklkicPX2mJKc6fKy6+KSqfsa0+/na7rjFnH84y4zE3kJO3Ao05n5aFs2d2lgS6Knd7r67zZ1Fk0ylAXTzJz0wxR6t4w6O8wkJMmUrjp3PpNS2lGjPOHtbPyf2lrVRQDmLwYK/RVe/ajO4UnIQiSZu+A6dwnt2JbT6C7JHYUggQSmEJBjktDe9xu6tmTa2lfQ/kNoYUnKF/JSCNJtG1qOsoByiRQdmaR8vtX52580dfT7TOMfdmr9DYn+/MuVVk3KAn7f8ytserLqK9UrrYPzy2zg2X1VtLnCmwfXAOf1/fjgS85qDRfgRyab6N7UB0erXj7cYGKyyfjXDUbeqbFuqEL3zpTPv20AcPArvPcJfPyblpABSOiL74Je/qChdBGKJVl0lM+ZHn2woD2PFVQs5PTZUXHyDDayy7TvBWGSGTCLtNEU7dTZROUJ10/TolqXmSUqrWvlsloztvZhLz5ueqQ/SOSE7JwBuyV92dqGS0p0uSL9Oi8tLEuNJrruaumuW0039/zLaWNM7TmPAadjJMbo/t8QrzxiaM15pi2svwHcLD+MVIJbdgAAAABJRU5ErkJggg==","url":"https://chatglm.cn/main/alltoolsdetail","urls":{},"desc":"","rate":5,"id":907,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5bfb\u4e00\u6b3e\u5f00\u6e90\u5728\u7ebf\u76f8\u518c\u8f6f\u4ef6 - \u95ee\u9898\u6c42\u52a9\u2753 - \u5c0f\u4f17\u8f6f\u4ef6\u5b98\u65b9\u8bba\u575b","createdAt":"2023-12-23 14:02:43","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACJElEQVQ4jV2Tv2tVWRSFv7XvfS/xPpMMDIyoRWIhgzMZjA9MgiAW2ihiaxETsRkG5m+awh/gFFaWFnYDIjLRJiNYWdupL+S9vLuXxbkvhjlwqnP2t/Za+xzxx94q9dxD0CXcmrQQAqgENiSzJSOMKoF3mY7vB1XvMfX8kJwaJIQiBKOWe5cXuDs8CaOWCMApLJFTU88Pqeongao1DvcTKXAKZNuA+P3qEg+uLAJgBApDCilKTX2xxplAAMagQB4nP6/Msb48z6Q1y2fn+PjpEPVDtkzhB84MbBUJgZDCMDHb6wvUlWj6wdblBRgniu6iSgm2AiFsutbIQ2iWarY2FrGNDVsbC/QGVYmJWRYGdcxCNJUMBy23fm1Y+bFHJtjml9N9rl9o4CCJ6EbTdRFdK4BIBBLbm506prWxxc7GIhg8E7SPAQBJeJycO9PnxoWmHAZUIZC5udpw6qcenuSR+jGAiTCMkzu/DWj6QZswe1Ftwg9Nxe3VAYyTKvx/gEgLQgxX5o/any13WQyX54qHMrEOUKaPOofTtiR/rL48ERdQp1f4xoHkWYgQfrG3X5IGpm0BIhEhXvy3D1XYLnJIDhSByMyUGunZ66/++81nenV835X465/PPP93ZJ2QMlNlaBHizw+79Jo1JqMSb1rYbG8ucu38CQy8fL/P01dfoCeQDDb9QXA4eqfynfuPINbItvNiMUqQj0wzqDhyHpUg3zKd7HwD5ZsKj1FuVYsAAAAASUVORK5CYII=","url":"https://meta.appinn.net/t/topic/40404/12","urls":{},"desc":"","rate":5,"id":908,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Shell\u662f\u4ec0\u4e48\uff1f1\u5206\u949f\u7406\u89e3Shell\u7684\u6982\u5ff5\uff01","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4jV2TzYtcVRDFf3XvfR89Pd1oZoYkaBKURCcaJaCLQCALEdGF/0EQNAiBQATJQnQliIuAC3HjOpu4NhDE5A8IiCFDskt0jF8ziuPHTE9/vPfuPS5et0xbq3urOFXUOads7fkjT/i8/DTJXjUUmIWZMR9Cmj6scaavYjV+J1hWfr7o3Ss7TUpzQOcgJTRLe9/mJRnyi969vp2Vhd194emEkRAOMHNOSpE42DXXKbGiBAmNRrLgwQdD0gwTwGjBMnNOsarM8oKlN87RP/MS+aHDECPj7+7bxicf02xuyLLMpgMJIDDMMMW6Mt/vc/jyZ/ROnQagGezgfKB88ihbV69Q/fSj+TwXyJAUMDMEyTDVNQcvfUDv1GkmD9f55fJHjNZuY97TeeYE1a8/47IMJJvxZXdfXBVAmowpjq1y7IsvAfjhwjn+uXmd8OgSpESqJri8wEIACaZchxnjaVLROf4sLssYr3/PcO02YWkFm9Z9nreqSHMKu6nooIRf6CKJNBoiCbTXBXs//L+BMO9p/tzCzCgOHSFbXiENB60fANUVirGdvqdZW00JK0uGd76l/vsvfK/HgXffI+xbJg2HpGpCWNmP7/dRjP/tD9AaCcycVzPYtqWzb/H4+x8CUG1uMLx3B9fpsvDcSR5efJvBN7fw3a7QTEYMDEnJQndRW1evWNrdZfnsm5RPrfLIy68BMHpwn/qP33FZmIKnBpqzsrUbxt0B1utbfvAxfHeBZmeH5rdNUdfg/byVBTf6s2OSkJm5Xh/Fhsn6A0gC57AQzLynlQf1vPPbTfraqR6fH8R0TVicXRspyczhihLX6eCKAnNOUzDC4iCma6rH5/8F5tA3xipPqRgAAAAASUVORK5CYII=","url":"https://c.biancheng.net/view/706.html","urls":{},"desc":"","rate":5,"id":909,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"HyperText Transfer Protocol (HTTP) explained","createdAt":"2024-04-19 14:42:02","icon":null,"url":"https://http.dev/","urls":{},"desc":"","rate":5,"id":910,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Python | Program to implement simple FLAMES game - GeeksforGeeks","createdAt":"2024-04-19 14:42:02","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=","url":"https://www.geeksforgeeks.org/python-program-to-implement-simple-flames-game/","urls":{},"desc":"","rate":5,"id":911,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\ufeff\u2063\u2062\u200b\u2061\u2061\u200b\u200b\u2062\u2062\u200d\u200c\u2062\u200d\ufeff\u2063\u2063\u2062\u200b\u200b\u2063\u200c\u2062\u200d\u200c\u2062\u2062\u202c\u2062\u2064\u2062\u2061\u200b\u2061\u2064\u2064\u2061\u2063\u2062\u2064\u2063\u200d\u2064\u200b\u2061\u200d\u2063\u2061\u200d\u5b57\u8282\u8303\u5178\u578b\u6848\u4f8b - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcnFcpDMoKpOssCHIp5SchDQs?bootcamp=1","urls":{},"desc":"","rate":5,"id":912,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"AI Is Turning into Something Totally New | Mustafa Suleyman | TED - YouTube","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://www.youtube.com/watch?v=KKNCiRWd_j0","urls":{},"desc":"","rate":5,"id":913,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Y Combinator","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://www.ycombinator.com/","urls":{},"desc":"","rate":5,"id":914,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Perplexity AI becomes a unicorn","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://www.perplexity.ai/search/Perplexity-AI-becomes-SpOKfAvjRVmdpy.XYcXl_w","urls":{},"desc":"","rate":5,"id":915,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"MySQL - LOAD DATA LOCAL INFILE\u5c06\u6570\u636e\u5bfc\u5165\u8868\u4e2d-CSDN\u535a\u5ba2","createdAt":"2024-05-01 22:54:40","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC","url":"https://blog.csdn.net/Milogenius/article/details/95733175","urls":{},"desc":"","rate":5,"id":916,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u58a8\u5929\u8f6e\u6570\u636e\u793e\u533a - \u4e50\u77e5\u4e50\u4eab\uff0c\u540c\u5fc3\u5171\u6d4e","createdAt":"2024-05-02 00:24:36","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACyklEQVQ4jSXOzW9UZRQH4HPe996Zuf2wHbG09gMw5aOgDrRoCogGFpAIYWl0YwgBlBBilBAgBMIKDCtJgAUhxhA0MbAxgQRTU5AU0czAVKyttp2ZDq0DLZ2WInRg7r3n/Fjw/AUPqyozE5EomMgYvjkYnLhcfhbQznWRj1dHRJWIrDFEBMAwMwBVWEPGUDIbnOryZ0oUhjjf449M+tYYa4xCCcTMrKoAjOHCNL65Wr4+EFrL1TEKVSts5Ucb0xm/+6sVn9d58ZcXo4BhKkzJ3h9K3f3hp2sjO9a5ROSH2NJh47Uz3w1c+fLGsannM8SkAImID3zxoyYO/H/5ThkAoP8Uwt68Lyqiwbm+i83ffnDk1kkAoYQEoJTL/Xrlr66/QwAiGoQCAEAo8jK8r+fE0gubUuN9AOz+Za2lrw/Pu3VxkfeY2lczk7VGFCpwrFEA0N/H7/ZNDd28f8dzPJ7Y0EmBL2BSnXP2QmTpW9ls9t/BISgWLmptW7Kkvzi89ZcDbEyoErURh6MxLT+3jgvXcTxvYvpRT89vCjDz+MOJmsqaWE1MNRRVkHFca6r3HrKvzcXsbOUnW2lB65+plB8E777T/t6aTgIl06n50YZdHbuqKpobqxoOrtzpxNZvJMd5tGebyzxSuD82OtpQX9/2ZsI1lL83OpzJZUbGPovnNy9b4LVsf7WizoFIZNVab9X7T5886esfYOMkEu3ubBIiy1es9Kobm+mSf/tgU9MmqtgvKiwibAxPPkwPDd8eHGp9Y/H6eT9L7jgRTMtuY13NnjTxt7mjS516gjpERMB01Bv8rxCLVCUWejxyGlC2Ec2fESHb+OGD2qNadJsaADIGADPnM5mpYrGtbXHd6/MDqmIi0gDRuNv503TL91dv5O6m/2A2zEQioqqTk8VkMlWafapAWDjvX6v1u18Jx84p4JfLvb3pXC6vUFV9AQr9oMOJNcy4AAAAAElFTkSuQmCC","url":"https://www.modb.pro/","urls":{},"desc":"","rate":5,"id":917,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"mysqlimport\u662fMySQL\u6570\u636e\u5e93\u4e2d\u7684\u4e00\u4e2a\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u7528\u4e8e\u5c06\u6570\u636e\u4ece\u5916\u90e8\u6587\u4ef6\u5bfc\u5165\u5230MySQL\u6570\u636e\u5e93\u4e2d\u7684\u8868\u4e2d-CSDN\u535a\u5ba2","createdAt":"2024-05-03 05:44:01","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB/klEQVQ4jU2SPWtUYRCFz5n3bvbubhISoyJiJxEsEkglghZJZUTUJkhAUoja2WihgohFQPAXaGVhk8rGRkQrURDEFOL3B2idkDXJ7t3Nve8ci7ubZOozZ2aeMyzmptAvSSBpBgkxgkQIkOQOkgCAZLeaJEi1NkBDWgeEzXUkFVZTuIPcaSjVkqPb5bEZTp/H4aPMc//0Hs+X9Psb0hrlILm9kuRw5+XbNjsPuX//yNEx239Inbbfu6IvH5jWISU9fzNlmV26FWbn/d0rf7SI5oosaPosF25gZC9iLH1ZzE0JRLeN8YnwYEl/fsSb8+xkTOvyiK0O9h3ERhMSAZAGgKTy3E6eppmePcHmOhtDgmjG2iDXVtjnAcAAyCNrDYxPSNLXZVZTxYIlZTmSBKSkciUrb0BSwfAe5DnW11DmUE7u6bhN3/opRHTbSALSGgSaARDAEOCuYmu72QAwJGq39OszLXDqhP6tKjrc6VEbTdUaHDugIufODRAt6OVTxcIWrtuZi6imCokGUkwet7sPbfExBqpy72Etc0C7xVMX7OodVCroZGquojHIoRECvvzG71+DnLRdSQPIWhiftJlzODLJ4VF1Mvz9qeXXevsCRcEQ+hN2Ps/UaaPIUWswJJKjm6EoWB8syZLsPV8PgiLTGlhHjIoFSaR10OQRpSPwH79sFlWOAVADAAAAAElFTkSuQmCC","url":"https://blog.csdn.net/blog_programb/article/details/107595133","urls":{},"desc":"","rate":5,"id":918,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"How I Won Singapore\u2019s GPT-4 Prompt Engineering Competition | by Sheila Teo | Towards Data Science","createdAt":"2024-05-17 23:30:24","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAM5JREFUOI3NUaESRVAQ3bvubJMoPsCQFEkUJNVP+DPBqIoiKRRNlCSqsq4XzBjvlee95KSd3T1n9pwFeDCEEGeNiGdHCHEdaR80XdcBgJm/a9u2XZblsizDMKRpCgBRFFVV5TiO67qmab5xiKht2/2COI7rut73PcuyoijCMDykJSIqpYIg8H2fmRGRmaWUSZJYlrVtm+d567oahnF4w1+zQaUUADRN03WdlBIRiQgR8zyfpknTtL7vx3Gc5xkAjuW/TF9jJaJbx9183APxAkMeYSPGQDyBAAAAAElFTkSuQmCC","url":"https://towardsdatascience.com/how-i-won-singapores-gpt-4-prompt-engineering-competition-34c195a93d41","urls":{},"desc":"","rate":5,"id":919,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u771f\u5b9e\u6848\u4f8b\uff1a\u7a0b\u5e8f\u5458\u6280\u672f\u6700\u5927\u5316\u53d8\u73b0\u8def\u5f84 - \u77e5\u4e4e","createdAt":"2024-05-17 23:30:24","icon":null,"url":"https://zhuanlan.zhihu.com/p/81406691","urls":{},"desc":"","rate":5,"id":920,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Jeff Bezos: Amazon and Blue Origin | Lex Fridman Podcast #405 - YouTube","createdAt":"2024-05-04 12:37:33","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABx0lEQVQ4jZ2TQWtTQRDHfzO7yUsNKSG0heJJ0YKnCvVSkHrV7+BBeu7Vk9+lH8CLN6EXk4Lo1V48lGClFBELGmmSmr73djy8fS8vll4c+LO7s7OzM///LhQmBmrg+uDtZrgIBQQAKyf/YQbiBexFt9t9niSP7ji3umrW7og0UfWL0ZaOzGYjmBxn2c/BdPpJxuNz+vDwFxxnqmaqZs4V8L5AuS6haqmqXcDpO3jCEN4YmEFmkMcxrSCSGqSh8GcGIY52Am91Ce5HJ5EYBRwbG45222HmUHVS+DX2DhASuKu3oAeolGSqCiDs7gqHh8L2thCCxOQSbxFAO9BToClzNQSJokwmsLUFgwHs78P6eklnlQho6c0axUKbTVhZgUYjHpeqCwE8kMWFxYNF9uVlGA5hbw8ODuqJzajqnPENPtfYDxU2N4OtrRVzkVDfC0V8/h2G/g98AR7ESkJF8tFRcYdzkOf15iRW6y/hlD48voCz+BbmELFrvhrG8OMjPBOAV3D7qXM791R73Var00qSJRoNTyifB5Dn+eVsNv19dTX+mmWj93n+4SWciM1LKkmqy7RoImFBqPqPfH39K7t/4A18f74nAH8Bjm35s3ZkOjEAAAAASUVORK5CYII=","url":"https://www.youtube.com/watch?v=DcWqzZ3I2cY","urls":{},"desc":"","rate":5,"id":921,"breadcrumb":["My","Todo","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]},{"title":"wallpaper","createdAt":"2024-04-19 14:42:02","nav":[{"name":"Wallpaper Pack - Sleek, Simple and Clean HD Phone Wallpaper","createdAt":"2024-04-19 14:42:02","url":"https://www.wallpaperize.cc/2024/03/wallpaper-pack-sleek-simple-and-clean.html","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==","id":922,"breadcrumb":["My","Todo","wallpaper"],"ownVisible":false},{"name":"High-Res Preppy Space Pattern Wallpaper: Zoom and Enjoy","createdAt":"2024-04-19 14:42:02","url":"https://www.wallpaperize.cc/2023/08/high-res-preppy-space-pattern-wallpaper.html","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":923,"breadcrumb":["My","Todo","wallpaper"],"ownVisible":false},{"name":"Classic Nokia Lockscreen Interface Wallpaper for Phone","createdAt":"2024-04-19 14:42:02","url":"https://www.wallpaperize.cc/2024/03/classic-nokia-lockscreen-interface.html","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==","id":924,"breadcrumb":["My","Todo","wallpaper"],"ownVisible":false},{"name":"Classic VHS T-120 Video Cassette iPhone Wallpaper - Retro Tech Chic","createdAt":"2024-04-19 14:42:02","url":"https://www.wallpaperize.cc/2024/03/classic-vhs-t-120-video-cassette-iphone.html","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":925,"breadcrumb":["My","Todo","wallpaper"],"ownVisible":false}],"icon":""}]},{"title":"\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","createdAt":"2024-04-04 13:39:48","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u5c0f\u4e91\u641c\u7d22 - \u963f\u91cc\u4e91\u76d8\u5938\u514b\u7f51\u76d8\u641c\u7d22\u795e\u5668 \u84dd\u594f\u4e91\u641c\u7d22| \u7f51\u76d8\u641c\u7d22\u5f15\u64ce","createdAt":"2024-04-04 13:39:19","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABE0lEQVQ4jWNgGM7gPyPD//+MVDILalDDfyZ0KRYUXsN/JoYGxn8MDf+ZNAUfazEw/uX5+I790jNGxm8QecZ/6AZgdaLR5CdObOxMkj/+/Of8+/evHDcH0/Nfv/8J/vzz/9bVPLm1DAyM/zEMkOl7zCnOzezOwvT/6+dfrMevZYt9YWBgYDCc91xUiIFB9DfDv8/vv/93ZvjPyH05R3oqA8N/RiSD/jPqT3mobTP7uYPtvNuiEOc2MGHzs87kJxk6kx65wfQRGcqwQGxklOFLZhdmZ8j/w84w62qK7DvUQPz/n5GBEeE/pKCCiDX8Z3jCwPhdavqTK+z/WfgZGBjQDMCqGdOgbz9/nWZnkn5HnOuHPwAA6T5kFPG+MYgAAAAASUVORK5CYII=","url":"https://www.yunso.net/","urls":{},"desc":"","rate":5,"id":926,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u55b5\u72f8\u76d8\u641c - \u4e91\u76d8\u8d44\u6e90\u641c\u7d22","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACQElEQVQ4jX2TP0xTYRTFf/fx+g9pCQYINSIEkxoT2N1YjCaIOrurY0OMcXRxcjEKLg4yubvAwuSKmyE11BghIv+kUmjfa1/73vddh7aQSPFOX27OObnfPecK55SqSqlEH8DgIJ6IaDec/NvYrug1V3giDjOqZNvtXZRlR3k1lJFv5wr8rmlelZcoyYZRahHEBPriJ7BAlWcjaVk4I7BX1bwIr6uhysqWpXiseDWl7hmu9Av3cj1cvegCqFXy2bS8PRH4VdFczOFLNdTk4rrlOARVOD6MsBbqYUQlaPJ8Os31IReFwHGZGk7Kdwcg1sMckFzZOiV7FYO1renqoSGIlIXPHkYVgaSGzAE4qiqq3GkYpXisRJFSPTKEzdbSjVX8ZgTAj6OQ9VLrjcOMqoqzCykHLvkhHJYtlbIhilpkBf7UGti2gZGFnapp+8wokHCyrYmJO2BC5XJGeDDpYlU58ALqoenkgoa1ZBLS2b5uAg4QIGz1xYWxfmGjHJFJKLcnYDRz6rJnLOm4MDUc7/j3cxwajoiowBLA3ZxDyQ948anKYd0ym0uQcIVaZAiMZXosSW9MOl9YanNhP9AJDGsovV8PQuZXffY9S2QV3xgSLtzPpfhYrPP0RpqbE6kaPUyOpGTjNEi+PhLlHSCRVYqliB3P0J9sjZ1yhdXtBh/Wanb+1sDjkYy8PxPlPV8forwR6O12OAi+QH74gix2vQWAcl3Hm4Y8MAuMtUGb1rKshvnsgGx2Fe9WhYLGCwWN/w/zF2tGKASRR1acAAAAAElFTkSuQmCC","url":"https://www.alipansou.com/","urls":{},"desc":"","rate":5,"id":927,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6211\u7684\u5c0f\u7ad9-\u4e91\u76d8\u8d44\u6e90\u5171\u4eab\u7ad9","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://pan666.cn/","urls":{},"desc":"","rate":5,"id":928,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5730\u5740\u53d1\u5e03\u9875\uff0c\u6536\u85cf\u6211\u56de\u5bb6\u4e0d\u8ff7\u8def\uff01","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://upyunso3.com/","urls":{},"desc":"","rate":5,"id":929,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e91\u94fa\u5b50 - \u767e\u5ea6\u7f51\u76d8\u641c\u7d22\u5f15\u64ce","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jYWSQWhbdRzHP7+X9/Ly0vdM0jQ10xJSRQyoE10coxS2oeJF8LJLDx56d7AiOsRLbp7EntxEZRdhB3MZIioIm4oYcWoPYqvrWMY2m7VJ99K+JC/pe/+/B6F0c2Wf2w9+ny98f/yE+zDyD1dlLHVUi1RAh/7IWo3FunDA+bp5767sHfTVx6qxZZzRCaoqmYSUTSg2PfFQGhDqiLkwlf7q5v8Cou+nT5A3zg9FzO1IuBPDhoah45DwPDK2SWhN8pN6ttVRmePvTZxc2Q3Q35QrytS/DLpJ13c0PVtWgiSLYZKf+4XxlErIixrjVKOfm1h3Z8g5btMy1HO13IJvAuhYnyE03FTLIlEa1ZOy8/qh2Wa4p13jy2svfHq9l7n4++bVykzp8XLKzr0LvCW6Xq4oUy9Lx0a2rFWyvWdk/i55l+y5c2Wl4mXLNVJm5Qn/9mZUMJRSr/APyJYFsLifDODPzzclGH2209cIZB8et6qG8aEuG2c1/KGhr3/cT95lEF2WYISOYgSeNOkAWkNbQcd4oI9SEb0RY4EwkS9goOW/5xjEcF0femCAyBFCm5LzKHlj7C8DFX8HMGwGsCOn9LFj5n7ueO3jKR3YJ3KTj2C7TjBwdpYM+fPWUvdGp7H59xrBRvtpNtY/uF+I9+ZHE9FIn0cns8XKNKA/uTQ9HZoAYbe/APwQrG+YVvqhN660X6r+9tRr70vMZb/YvXn8Ui2yverpoZufjZMZbpg27W58AcAAKEJDYC7Qk9HS2kHCKH1EI5+rhFzLtjJTAG2ef8fdTtdTA8Wd7SStoftFoaFnd89+AOorzL28HpZWb1+5xWCrf3eHmkRrUphz+vFisTeklIdimrZwDxepmQH+qxqOjuW9Kc/zTh5uvt3au1M+6592ZjK/Lh+Ub/8Fi4EgXsA+nT0AAAAASUVORK5CYII=","url":"http://www.yunpz.net/","urls":{},"desc":"","rate":5,"id":930,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u767e\u5ea6\u7f51\u76d8\u641c\u7d22,\u963f\u91cc\u4e91\u7f51\u76d8\u641c\u7d22\u5bfc\u822a,\u7f51\u76d8\u94fe\u63a5\u63d0\u53d6\u7801\u6216\u5bc6\u7801\u67e5\u8be2 - SOSO\u4e91\u76d8\u641c\u7d22\u5bfc\u822a","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACS0lEQVQ4jZ2TTUhUcRTFf/fNvEnUNLXUCkOtNF24EUwhqSioiKBo0aaFrtq0sahWLWoRWBCUi2rTKsK+KINImKAQWqSoJYIbP6IGs4+Z8eM933vjvHdbmMhkRvSHs/hzzj1cOOcSjUbzLcvqdF3X8zxP/wWu63qWZXVGo9F8sSyrMxwOn+A/XjqdfiCO43giEvkfA1VNhUEiqpnEQgAvPxoMxw0iIWje5LOzVP9gIRFxHCeDUYXrfTD4TSjLE+YXIOEqJ2uVAxUrLQzVxaElTCQDukccGjekuNLsc22PTz4ed/tcVJXf9QYoS9BkEvvtO/JGh6lcmwbANKDE9IglUgz9EFL+sh4Use15Bege83n43uHik/Nsno4xvaOO+bMX+K5Z3BwU3MAAoCALzjXA9oLFv9i2reMJn5aueaqLDK6WjLJmoBf7/iPulB2ma3cLhTkhTjdkYRrQ0euRbSqdx3MIGUJYFd6Mu0wmbG4dKmRdSR001DHWM8DryiZsx+XGwQKatoQA+JyE9h6L8UQW24rChFUVQ33isy6fkilqik28dEBbVSuDUsztvTk0lpksRb2v0mRkymRjrqCqyNycpXHbp74jRipQjtbm8OGLx9DUApf2F3CmOT8jtrgDryaUY9VCJCQYqkphtsHz1lJqtuZyL+bz1TRpP7Ketl15K2IbmfK4/GKSuO0vbjAzM5tR5SBQREBE/lZhRARVTRm+n366WBD9RSyLVsMS7/vpZ6H6+vpoeXl5hYhUiUho9dPJ2CAVBP7j/v7+Uz8Bm4xsvDLO8vAAAAAASUVORK5CYII=","url":"https://www.sosoyunpan.com/","urls":{},"desc":"","rate":5,"id":931,"breadcrumb":["My","\u4e91\u76d8\u8d44\u6e90\u641c\u7d22","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"AI","createdAt":"2024-03-29 13:51:13","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u300aPyTorch\u6df1\u5ea6\u5b66\u4e60\u5b9e\u8df5\u300b\u5b8c\u7ed3\u5408\u96c6_\u54d4\u54e9\u54d4\u54e9_bilibili","createdAt":"2024-03-29 13:51:13","icon":null,"url":"https://www.bilibili.com/video/BV1Y7411d7Ys/","urls":{},"desc":"","rate":5,"id":932,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Open WebUI","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://openwebui.com/","urls":{},"desc":"","rate":5,"id":933,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"AI\u5de5\u5177\u96c6\u5bfc\u822a | 500+ AI\u5de5\u5177\u5bfc\u822a\u5927\u5168\uff0c\u56fd\u5185\u5916AI\u5de5\u5177\u96c6\u5408\u7f51\u7ad9","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACPklEQVQ4jbWSO2hTYRTHz/lu7v3uK83LkIIkrTpEVBAXV9tBHMTHEkWhEHDQoYhFobTYekuHDgYLog5SKII4xMVFEBxaEFwURKoBsbUFCZi+Yl73kdx7j4NG+9DNnunAOed3Xn+AnTICQgLCtr9jjbaRCQgRkObvF5NlW7y93lTVNdMZujge+9iObcxn25DGT+iKKd4Sefy8TdqpZVu6Z/RQYKxnVtiaHthUaxBDA30AgLIt+GUCKFoAJYuZE7PobpmcNq3QHi+bXZTTnd1KtFUTWiJOlBwuJyXrcTrGzs5XqfHhU2Vk8mnSAiAEQGK/OwPS8NXaub2x3XMB31lsCMJ0YcEaGJ+U+o4mnEFV1q9E1OD1rj2R53cGSIFft8A26WZ/9ZKmaFMcXRDBhniwA8CrvWcOHj+UsF40SDvy5bttVSmqFmvWDDjKaeMBNBgA0ug180JYU6ZUZrsK2q2gRD56ZSeha4dDevOZ0/JGA+hVdElUvWbF0mWlt4bmXQAkvNH3TdsV15YishgSwKGQLEmy0ALOPAhAq56MxvX1yvKg7VkvIRB/XayjXLI5rJjWZ2nuzQGWCifcGPdXE0EupiIdkozmI47OGc7cUlckrEc4QQdH4dhQ9zvbLp/kgr/EmVsBn0aN2V4XAQCejKwdjOqhfvTqCyeGwzkAgLe51f1Rnfc3m/Wv6c5XubFCgQzD8KezM3JTSvHLD/dV/inPfIa2Cab9rQ2a/aNiAkLDILaxkIgwnyEhn8n/Ffbf7AeJCvhL+7aUVQAAAABJRU5ErkJggg==","url":"https://ai-bot.cn/","urls":{},"desc":"","rate":5,"id":934,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"AI\u79d1\u666e\u5728\u98de\u4e66\uff1a\u4e00\u4f17\u77e5\u8bc6\u4ed8\u8d39\u5185\u5bb9\u7684\u514d\u8d39\u6e90\u5934\u627e\u5230\u4e86\uff01-\u4eca\u65e5\u5934\u6761","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACk0lEQVQ4jYWUzWucVRTGf+d9Z5JJZsYwpE3RpllYxapQMK1IXSpVqCKKiCvpoiBIF/4BhSy6Ef8BF9WuYnHVhf2giIW2SXXZrSmllCkRU43Nx8xk3o97z+PinWC76oHDfS4X7rnn3ud3kdSRtCgplxQlRblLkstdT+lqLco9V4yL6m52UFFckCSVZVAIUSG4YtxNKUZptI2PKgRV0ZNftCAJwIAEEFUYT4QAuXCHLDeK3OkPFLMsNf/5slteoOGO2XAo9Xpm648hBpHlxmAA6+uVHg5FUUBRwPg4uMt06LAjQSiNLBeNcePVQ2L1TyPLYGwcPvkINjbEZNNIa6I5Yfx6XWxtU6MzZTjo69PYzF7TpSvY6a+MhbNw5w58+jEsnIGlZaP7ULx/3EgSce0Xw4wa0YWE/bFibGzKBjtV+0UOk024/Rss34aXDkJRGu22+OZbw10kCQlmRlEYBw7A668Ze/ZAfwDdh7C9BZ9/BmWAG7fgrzX48Sfj3Xfg2FtGf2A1yhL2vwD37sHqKrzyMszNwpen4N/H0GrBo0fVOP9GdaKyhBjBoEaei4MvwpF5o9UUH5wwrl6DuTlYuQv378N7xyHL4O9/oNcTW9vG8u+i1SKh3TZuLhnnfhCzs8Z358SZharnfh/az1X65hIa9OHWsunDE7D/eSNGM735tuMOJ7+onvH780aaiqPzRppCrw+bm7C2JvbtMx48ENPT1SUOdjAdPRap141QgiUwMwONMSN45YlmE1pNMTVlqtex6WlprG7WakkTE1hYuau00Yg0J41GI6FeF0kCaWokyVNu3rW4PzGnJ13UCJA4AsYrVv6HaReuEFwhRJVlxVNRXEDdbkcxLso9l/uzca4yH30Bnf8A/anw+G86KOcAAAAASUVORK5CYII=","url":"https://www.toutiao.com/article/7340217488414147084/?app=news_article×tamp=1709522093&use_new_style=1&req_id=2024030411145212FC51C905198761A1FA&group_id=7340217488414147084&share_token=34E1BA2D-EC9A-4CE1-9EA9-B1B7D7F6679B&source=m_redirect","urls":{},"desc":"","rate":5,"id":935,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Coze: Next-Gen AI Chatbot Developing Platform","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAptJREFUOI1lk09rnFUUxn/Pve8748xk0mbMFBMXSolFLfgdJKTGNlXSVhR34sKFuFCp0JXtVxDcKMF+C/+AiqAo1YV/aI0uSoQukkXNJE1mksl77+PinQji8sK55zzPOb9HFy5tvhVj44bz0QnbAgArBBHC5GXIGWwMIMkK5U5K4/e1cnlzL6jo5FxliQAmBDEamYODDEDZEJ12wAbbgHIIRciu9gtBJ+fK4ACyLXZ2k545Gzlzpo2Auxtjfv6lotmMDkGAQ86VJTrFRJZqqdZ4nHnzjS6rL3SIceIB89kXQz74cFeWUG1UNj52SYzBe3uZK6strqx2AVFVpqpMSrB8rsPrr02xP8yEEAxGEkGqp6eU1WnD+eUpcjbHu4hRSCZn8/y5NvOPiPE4SQI7K9hGgpRhbi7Qmwn/+VgX1jpbLfH4YwU2BAnb9dYlMRhk9vczMQowR1WenM/EWDcFsbObuf93IntiofaauXj+IV55aZqyFD/+NOT6jS1qFsS33+1z+/YISby40uXVl6coy1pZUSXRO5m5+vZJiiJgm/5sQX+25Pc/DklH5v52YmGhQUpmabHN0mKbjb+2uLOeiU+efff66ADW/zykWYr5+ZKHewWnTzdYu7nDp58/4LmlKZ5YaJIS/PrbIR+vDbizniii0MqlzSxZg4H96HzWJx/N0WgGQk3GhAORDUHwzntbfH8ruT8bZePimPVeL2j3AazdHDAcZZ5+qsGF5WkAfrg15Muvh5zqF9zdMKf6QfWphS5e3rQngEPwaJRIyep2zeKzTTrtyFffHHDvnilL3GpFJAuwJP0vTBJIUFUwHCZyNu12pNnUcSKx+TdMweYaCtuSsHHOOCUIAaanIzMzBWVZY50ztrEkUNi2ufYPQaVaNw1406cAAAAASUVORK5CYII=","url":"https://www.coze.com/","urls":{},"desc":"","rate":5,"id":936,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Cici - \u4f60\u7684 AI \u52a9\u624b","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://www.ciciai.com/","urls":{},"desc":"","rate":5,"id":937,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"WayToAGI","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACiklEQVQ4jX2TzWucVRSHn3PvnXnnnZnMhxPT2HYaRTTZWCwIXRRroCi0LmyRgLgRQeyiCu7cidBlQcRm50balSv9E7JVC1JCIYik1abBmDQwaSYz896P4yI4aSHk7s6B53d+5+PCEU9BFOwzua8xukD5/1iOgI1AAtAr9Sk0v0S0bwFzqBo2N96WX9hxR8F6hSn0+S8I5mNynabmIS9Q66PM0OYwgTF8uX2RWL5JPb3M5BNoD0Kqq0pDjFbs7iDgAdyh8Huda6j7jheGhlM9nyaweiy3ZjpHOhVJpZJo2EuweSBwAD/3CcYtcmo30u0HP505N9fCtyq6FjK2vEp/kPBBZexgDL/ffIOifJPubmSmjz9Zt/ZMi/uhyt2eZSs4eWBe0UfalVERBRbHDlTncRTZt3SKinZ3Q5ysWHumJcuDCb0zNKymWflJP9IVfzbVnkykLAz2BcbV2513Qc5xYiekuljzWou/Q55+HRr5LV7gh/Clnlib1M/Wy66z7WtbvqqLgNnvAIjuQ5peaQbVbp2ikevvfSPL8Szfh6/03EpLPr9j7Mx6uu0K88H5+2wAOAHVizSIvElzSMqw9niV1ZGTh6EpP+qn6dVHdb38R6l4bOLV6zfsrac3ZwDIG7NYjlEtoGZJ1TIbPumKvq7/+rl46WHZ+pgWr98o35qfV7ewoOPz3h+ilo6TKdgYyMtm5Kz29gx/6qw2djLTflwU/Si3FRVZIoGkZx1EyXEYnJZMzViTWeudtdvlKTsVKjYvZO9epf+XIPo0fODA8A+eVZQRICGqxAiiUUqjZC2yvpm3R4f9GwcgP28t6WlOUyeuNQdysrmqk7xIKbsrvd47srw9SkvfvDQ8TOA/VtwsjpTB5CEAAAAASUVORK5CYII=","url":"https://www.waytoagi.com/","urls":{},"desc":"","rate":5,"id":938,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"The Top 100 Gen AI Consumer Apps | Andreessen Horowitz","createdAt":"2024-04-28 14:15:55","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbElEQVQ4jXWTP4hcZRTFf+e+NzNvN5kkaJMVo0QDoiwbMEkRsVAIiAHFSixWSCeCfxIJptMYBAujAQsbsdVG6wUtsqCVkIDYKAspDEiMMZkk7u5k5n33WMyss40Xvu8299xzL/ccnYU49QlnI3hjPGa3BcDkn+X/Dd09z3tNjw/uDrGN0QxkM2vnKUBgTzJAPTanxkNyCq5mpWirCM9m2Q4GiDR7PCkIacajCNvTbhF4G9ievQiRCBnJqrAqudhlPSc8CbmZkJNdrAAF0mSoSBNGotj5T5HvFFcLxzT//BdYFXZNc/Qc2rEf3zPeSDxMXMCCUGBaW/0Dmjv6tjtPvCz199F97AVwMPfMZ3QXX6Xcukr1wCG6SyfoHHgR7XgQCujGR1g7H2HnS99S/vqZzsNP017/BdoR46s/0jz5Ju2fl4GK0ZUVuvufpXdwmTtfHae9skLkEDqPHidv/8bg8xOsf/8uqIJMmoPLrK+eYfDlK1S791JurNH+cZmNix8yXlsh5kR15jnedxZ6S6+r3tO4OfKWoEB0yZtr1AtHqO9foLrvcWJ+L/NPnfa9X7+R2ptmeIuaDirXLrF58aS7i8tqf191e+2S1O0zWvua7uJr1A8dZmP1HWLXPm9Gql445HL9J+UA9PfHFIRyiFRwgqLGNqIGjyanjB52IsokR4OjwrVNyGQ0W7eVsRXCmamYr5BsJ5JsKTA2mU4TdYgBsMuZ6ZmUbU8V67LlCWOwizBFQhKD6IgL/YZABJ7o7T8vTeW6zR9gUiL6DdERF6red/xw+BhRVyxl0mzzH1OW7WEBnQ63Ry3nPz3NuX8BMjctuhbqzw4AAAAASUVORK5CYII=","url":"https://a16z.com/100-gen-ai-apps/","urls":{},"desc":"","rate":5,"id":939,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Kimi.ai - \u5e2e\u4f60\u770b\u66f4\u5927\u7684\u4e16\u754c","createdAt":"2024-05-01 12:39:18","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACCElEQVQ4jYWTMU8bQRCFv9lbG2NkkFzEEpIjpUv4J5ShoKCAdGkoIgHyj0AKRRo6SiLxAyJRpqV2ESIr4uKYAjchyDmdvPtS3B1cSJS8Zme1b2dm3+yDAtvAEPgJBCACKtd6HLBkBjYEdsq77NRI4S+XHsf1/TbAZ0Bmlrdareicq5MEqLW4qNZCM9JoR15sRDpP8+LMLnHOzYC4vr4e0zSNg8EgAvLeC4h7e3tx/G2iN69fiWcb0b2TePm+LOJmzswWAFZWVuj3+7a6umpmphgj3W7XDg4OrNd7wofzc5F/N32diPRj+XoteEkGEEJAkrIsQ5JJYnNzk16vx9HREZ++TMySqfT2Ocx/VAnMm5kBmBlmRrfbpd/v02632d3dJU1TTk9PC3rIDXLASnmAJEkiELe2tqIkhRBUx3w+1+3trQ4PDwtRzerTiL6aZYwRgKurK0ajEUmS4Jzj4uKCtbU19vf3OT4+ZjQaYWZIRQe+7IcQAgBnZ2cMBgOcc/eJT05OiDGyvLxMxa/gVaUCJOG9LyUpqjjnaDabVTJVvArOzFRqgZlZkiQ1hYoOvPc453DO3Qte1XSScoC7uztubm40nU4FmCTK7nR9fc14PCbLsofSBTKAS0BJkuSdTid67//4yo1GQ0tLS9EeJlB+ZS4rJ/7LMI/jUNv/5sghMPuvnQvLDysn/gK2LDHPFYe+SAAAAABJRU5ErkJggg==","url":"https://kimi.moonshot.cn/","urls":{},"desc":"","rate":5,"id":940,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e07\u77e5: \u4f60\u7684\u4e2a\u4ebaAI\u5de5\u4f5c\u7ad9","createdAt":"2024-05-08 00:47:45","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC7UlEQVQ4jV2TS2jcZRTFf+f7/o95Z4bEhCQtilBqhVKoWFEIaOnGRXEjFJGuFJUiWdiFSN2rIG4E3RYLEh91IQoqPlaKRQUVfFWUgiY1EweTTGam/9d3XSRK9a7u4nDu5TzE/2Z6ev6Q9+5+iduBGTBAfwKXyjK8NRhc/eF6vK7b3czM/LL3ehDURcrAqj2IN7NU2CZwYX197UV2mfF7JPHc3MILkntI3lU45VQmQhBmAqFIOXKpBY63Wu0bR6PhR4B5gNnZhSckHpH3g2onl2WF9/XUK/ZOkXeSc9XWWCqCqRZNMO5oNtthNBp+pl5v7nCS+NfwPq62JmX77gONGx69p5semk2UeAdgeRWy7/v5xksfbw4//XnsO/WIKhR5Xp3ync7UWXl3Vxjl4/qRfY2b3zyz2Dpya10971yj5l2r7qPplm/ecrDWuvdAc/u97yZVf7tQHPecsEjSMZwKsiKeeuxEN3Rv8qvn394ePPPO1q5MuypNP33f1PTpk53Ow8e7/eVXBr6RVs50zIH2W2nQSOIwOxvtWGpbK19N8stXQtnfpOxvkl/+NWytfDHZCbHZvoVYtSi2gJmxPwLzkjyYsiKWqUVy7nS38n5ow5EBuM5hJU+eao9dT5NvV0tlhVOr4QEfAX9IHETkOTWVwcHSnWm8tJRayHbd9iklTYpvLhX5+Q8yteqRQkgMrkRgX5q5owQrJknbmVuUfv+p0o+/BJyQBNcK0+dfF7z6bsZg01GLzYI1gUuamZk/6iP/IVnminPLidXrLn75Qsbq1YD3CBNVMMbXoN0QcWyEIESoyuyE9oL0vHPurJXhL8YjT5o60mQ3rQZI4JwIVcAoJfXMwrPr62tPCXBAMje3+Lqkk+aUYVZguP90xawCIkm1EOxiv7/6AFD5vVKUo9HwYrPZFsZtgg5mkRnC8IJEUgoam4Xn+v21ZaD8twt7l6rRaPhJo9F6X0JmdCUaEhXwmxlvmPH4xsbaChD+eexvvWFS9eInlokAAAAASUVORK5CYII=","url":"https://www.wanzhi.com/","urls":{},"desc":"","rate":5,"id":941,"breadcrumb":["My","AI","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"software","createdAt":"2023-12-16 07:00:58","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u543e\u7231\u7834\u89e3 - LCG - LSG|\u5b89\u5353\u7834\u89e3|\u75c5\u6bd2\u5206\u6790|www.52pojie.cn","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC1klEQVQ4jQXBy0tUURwA4HN+59yH470zcxkFx8eoJCPooKLLwhqqRbUIJAgiV4HQwm3QTvoXahGuRHGnOC5cyFj0AKUgMgysyMcMMzh10e6VuXNf59H34cuVldbqKsnlhG1LzsE02ekp6Drp6eHn57xeJ4ODGAAsi9dqxtwcma/Xo709GUUoiqL9fePxY0xpsL0dffqk377dduMGGAYiBEzTW16GdJo8v3eP12rWq1ciiqwXL6QQpKtLeh47ORGO0z4zQ4eGhJTB2hr/+1fJ5yE+PVXGxmQUxd++hXt70nHYr1/B27dgGCSfh2zWf/eOWlbb3bs4mRS2TZ5NTupXrwrP08bH6ciIt76uTkwI28aU6rduyYsLms2CacowlK6LNQ2wEM3FRazrSFXDclkdHaX9/fHv3+H377xaRQDBzk5QLmNF8T9+pAMDAP398dFRUCr5pRLJ5TBA9PmzOjwMigKWJVstVq/jTAYyGQAQ5+e4cf9+sL0tgoCYJh0YCA8OEEK0owMxJnxfLxZJV5e4uAjev5eel3jwACCVEkFgPnmiTk2xajX59Knx6JH0fSQlzeV4rcaOjyGd1qanBWM4nabxwYF+/Xr77KxoNKKTE21ykh0fY1VtLi21zcwkHj7kjQZJpaL9fX9rS3oekN5e2t0dfPiALQu5bvP1a27bvFIBw6BXrmBKsao2NzeVqanEnTvx169Au7ul57UVi/zsTJ2Y0ItF6Tjh7i7WNDI4yP79E64LmobiOD48VEZHQbguVlWSzUrXlYxBJqPfvEnyedFs+hsbeqEAiYR+7Ro7OoorFYQxxD9/Qk+P8H3a1yfDUDgOAkCMIQBlePjy5UucTCKEkK4jjIXjUCRlUC5HX75gIUSzKTlHnMc/fkAqxet1Vq0ihITjIIwlY9DZiVtv3jgLC0o+L2xbtlrQ2yuDQPz5Q/v6WKWCLUucneFkUikUUBwn5+f/A3gvfAEHLK4lAAAAAElFTkSuQmCC","url":"https://www.52pojie.cn/","urls":{},"desc":"","rate":5,"id":942,"breadcrumb":["My","software","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5c0f\u4f17\u8f6f\u4ef6 - \u5206\u4eab\u514d\u8d39\u3001\u5c0f\u5de7\u3001\u5b9e\u7528\u3001\u6709\u8da3\u3001\u7eff\u8272\u7684\u8f6f\u4ef6","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACHElEQVQ4jS3OTWtcdRiG8et+zn/OnJkkpNGQ1Jiiu/iWoPhS6kIHwYIFXbhx5wco+KXcuBfBvYgIinRn1Q/QhYWkEyYzc875P7cLu7w2Py7x8B80EBMUzXgTMRurd7WJiOXYNoXMTZYZNjngNhAgSJzJZKz45vr+eweLiz1vVo5W0ZEJBqEMqAA2tdpTl9m0bL9e3Prqw3mrVWpSs6FWnCCoBSWEMsONo82+f/NO3HtlZxjmb9wpj56so5tpHDLTIXBgsML6v+gvP3v36DB8MtWnFy9Qr8AyYbCwAgKaJJLwuH5p7+bz90/wYA9f3D09nC4z+4xIBA0QuEA4moyGzfKTt148P25twO+cdh+d7bO5yiiO53Q8vyJQlGZ48MHx3K7WaO3YD+6+HGxRQIMhS4iUK2rp+9dv5+Js3x4a0WAz3H/78Oyo0q8VLU4g3GClGBieLc6PbndBMlJ6Tag66WJxcUy/RFsiaRRIiPCm9er8dCI7HWOoQjrCvjhti1fyFhlRyBFkJolqBcDbqWUMA3TVGNkNiKwxqVUZqdnIzk+Pr9eSIqjbyA2hlfTz36uqXWuuVKlDhDNsgO7Wj388/e7RclNmUeZudjdN9+3vVz/89i+zfQhSYUsP/5SVFMqE9eW+Lr/8+NV7rx0Mmb8+vvz+lyfPvM90j3GAlCy++Ytaiz26aDrzsOX6aVcylX22dAdM5wyrYJsqNJP/AJrRJwwuJvJRAAAAAElFTkSuQmCC","url":"https://www.appinn.com/","urls":{},"desc":"","rate":5,"id":943,"breadcrumb":["My","software","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u963f\u9177\u6742\u8d27\u94fa - \u4f18\u8d28\u4e92\u8054\u7f51\u8d44\u6e90\u5206\u4eab","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACUklEQVQ4jX1Tz0tUYRQ9537fG5UakfLHRgKniNKZeW/a6SKQIGgR4sZF7dq7cRG4LYqgPyCoTUhLiSLQRVBQuQiCfI0TjghuKhSXZerMe/e28I1OUZ3NB9+953LuOd9HHEEAKAYHu8q9vVM0TJAogmw0Gzpdq8WvARCA4Q/SIXkkDMej/v4lAR+TmDSzgiNHgpzMZn0WhuFZAEH7AALQUql0PRB5CdWKmoIkSJqa7anZAgBEUXTfeR+Xo/LzgYGBYwDgAdhwGFa8yCNThQGgYDNRfaBm71Lyy2ocrx30cpJAp0Cu9PT09G9tbW14APCUOwC6DFCSn5uN5kStVltvW5UAkqamM967GTO+qNfrGwDA8+XyhRzdklnaISI/d3eTsXp95VOmTjPTfjOuHV4gF4XWYRQqsJiRHYDkL/2SDW2dEAcdMgAkkabph0zuv6BZXVoJejOmdnT7P3IL1q7Ok7ZOEmYGOj/6n30JAIVCoTufz0+rcqVaXX4me2avTG1HVZXE5XOl0iiANDPRZVJ9y8x8vvthEAS3ncd8MSqOyVq1ugpgwTknUPUdzj0ZDsNKJjPN9k4ASBRFd0lO7Tca+1BLRTUlAJwpFk8fD4L3pnrywFD8MOUcaW9U+R3AkDhcE2AsUd3LBUFnkiT34jieZeuDjIyE47mczAN2QtUgIkduEDBTmAHeOaSmc8sfl28AUNfKd3t7a6Ovr29RxBUAnCLg1AzWyoUCkl9V9Va8HN9smd0e2+HjKFcqlzRNr3qRYQAdZthUyNvG3s7Ter3+rT2aX95EAq8MhX9UAAAAAElFTkSuQmCC","url":"https://www.coolexe.com/","urls":{},"desc":"","rate":5,"id":944,"breadcrumb":["My","software","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"mefcl\'blog - \u5206\u4eab\u7eaf\u51c0\u597d\u8d44\u6e90","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACzElEQVQ4jY2SaUhUURzFz//Oe7ORW0UFtkALVgYRk/UhghbaXBJKW4fKEiWooChsxTtBDQUtYgUtFpFYahZUZmUogrQxlBQUfciJJNfR3Gaezmvevw+jYCXU+fi/99z7O+deAgBmEBEY/6GNecdOWcdGQ7dZaHLshBoFCJvfVBQm+DV/Kvf7A342V6ds2vUSALKyHGpMzOLErq7OOX6/PxAXO9HaIALzOjp8k8X4iU8IAD5U31oU0Pr26IZyTg3qLS2asVDr485PDS3ldrt9R6+mNbY2Nb3TdT1Ba/2xfkXyin3xDjTNnZutg5lFXU1xwcdXd6cNRS26fnXJg/ulu4uKiqYPnWet3bw1LSU1BwAcDoeqvH92f7RthM24/eTtF2YmuFyE3Fz2eDxf29vb0mZNiSiUUoqwXcLrVWqtoYgDzKwQkS7sUYE+DvVbc9NnKi6Xi0hKg4hYVVVFCOWKYUTYpZQGAEgJFkJEdXd3/wRgACAAQN3Tq+66Z9ezAaCkJN00TPkEQABAcnLyJafTuW5gHiZjz8PRtaX596rKzq8Og0IwMzEzDeJLZrF86dKTSUlJBcxsGrydqr7Xx5W9e5wfH2FrmtrckaD19NxKzTzuBgAGiABuaHhh27ll/w02WYxHlVUZRBQMLwPC16l5I6NHXfjW2Gr5abak9OihhIt5OQVSsiAA508cHrs388hz1Wz++qiyyklE/YPm38QYbJrpjDv7qftYZp7Xy9asNSs9GWsSj/6WeYjC+aQUBGmE8xLPmDLfqTKSrp1dXaGYg72rNpS7AZgGmv+nCJLF6YPb7uRsX8A5GcuyAVB6OoZ7nb+RwmnIMDikcYiDJkE6AI6pdwy3d+AjDFFlyeWo1u4fqz6/f32xx9c4MqhbKiPHzd7szs9v+yeBz+eLjZ40PhHUv9xus9XbR0TeJJhUFnzodnHh9ubm5jF/HvALtd856R2nXDcAAAAASUVORK5CYII=","url":"https://www.mefcl.com/","urls":{},"desc":"","rate":5,"id":945,"breadcrumb":["My","software","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5373\u65f6\u5de5\u5177-\u81f4\u529b\u6253\u9020\u5373\u7528\u5373\u8d70\u578b\u5728\u7ebf\u5de5\u5177\u7bb1","createdAt":"2024-04-14 07:19:11","icon":null,"url":"https://www.67tool.com/","urls":{},"desc":"","rate":5,"id":946,"breadcrumb":["My","software","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u7f51\u76d8","createdAt":"2023-12-16 07:00:58","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u963f\u91cc\u4e91\u76d8 - \u516c\u6d4b\u9884\u7ea6\u4e2d\xb7\u963f\u91cc\u5df4\u5df4\u96c6\u56e2\u51fa\u54c1","createdAt":"2023-12-16 07:00:59","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jT2SzYuWZRyFr/O77+d933nf+TBIDHNCCLVIZ9JF6jZaBa2SIFo1YYvoH2jnpn+iQImoTRS0zkVgLcJh/AIVMTSHFMPMkvl4n+e579NiqD/gcLjOdXT6zPYbOfLnrvUFu4BQTjI4JEiCFJCkmoQG2MOcmG3SvYZ6OmfFWaRF11KAENbGprFNDgAYZJibCckWCLpSHWk/+GyurovuSolE9J0pBR85GCwdFHMTsbFpbt6u3Lpthhk3CWyi7dsSSYuZ6qrYCTcZPjjVcGI5dpoQYF4/CWvXen3zfe92y4REiGhVa8YOCvRdZeXtASeWE7XiX670Wn9g9jwrji8ljh3JyOiLLzsim2qwpSzkrW1z+GDixKtJbYfPfdvqwmqhaaB0ZvVq4sN3BxxdSvz8YvH1a4X5oajVBLb6znrlQAiLy9d7XVjt2bUgJhNY2CXWrvf8dLGjFHHokLQ5rdrurK2uKlNM2CzMCoB7901KYJlqEzvuePjYpCRGo2C7iu0CqYrs3tTetFMAMZnZ2e4/ziozmIib65ULax1KJs2Y1tAAoT5QL+7+VpDM8suJuVloKzQjESMYz5tbDws/rHYcP5b59JMZ8th0YaL0eJjDa5erH/9l790TvPfWgGYIG9VsB/xT4PBLiY/fGbnJ4vdH9t+dnEfhTGflDE+eVL7+ruWj9wecXE4s7h1x5U7P0xaeeyZ47UDyeCA9+LPw1fmpRhNImOyiWiqaDIPVS4XPRh2n3szatzvYt3vw/5nAunG/+tz5lk1gvCDy1M5RFVUutRDjkbh4uXDnUfHRpaT9zwfDoXg6rdz4w756r6d0MD8vvEUdpEiZGus5p8VSpqX2xMyctbEh/3ipJ/8KaQw1gQJGA8uSveU6nB2laMt6eOoVF+7KWVRcWjnV8CSLcYiZELONmDTJQTiMc0qKpLsps/Iv6sh0VzXh/zcAAAAASUVORK5CYII=","url":"https://www.aliyundrive.com/","urls":{},"desc":"","rate":5,"id":947,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u84dd\u594f\xb7\u4e91\u5b58\u50a8","createdAt":"2023-12-16 07:00:59","icon":null,"url":"https://up.woozooo.com/","urls":{},"desc":"","rate":5,"id":948,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"123\u4e91\u76d8","createdAt":"2023-12-16 07:00:59","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACx0lEQVQ4jXWST2hdZRTEZ8733Zv38lSKTeMf0Lpx70IogmsXbuymSVqsiiC4U8GFWJMUNXWhSFEJFBWXEkNX1j8VF1JrrSAabF2IIojQlqRQTdO8d+/9zhkXr9aVsxo4DPyYM8R1zR4qj8DsoAHTZnQRRFw/UpQgABRwDdLnf//1+7HP3r63IQDsn+9es5RfEAAI/y8BIJASUDo/WbbSAc68WGaqXloprbckoBAEgeA4QRoFCnDcgJDqftXrRvFuZsITJJCrVHsR6h4B+4+ktEB4Qd3P6V+QCKAdhsM4k824uzR+VuIKiWebRh8QWAeRELGLKR8EOdWNYlG0Bh7JEu4n8ajkA5PQD+jblaV0FOAFmX1faKfa1r9eWaoWu9LupfGi0862Lb5pwj7+8JX0eDDeSVVOZoSM7O/bp0TDoD+BE5M9nJ+6o1qbm/el40cmfiK5OTmJMzt2Yq1Xx68PPa8BHJ+SYBYAkFpdpc8teNU1uOCh97shrnhnxx94Tn3I72m27bvisczQOrCBlKaflqBxwzFujIR3xR/76NW04F5O0nDX3YN4r6rTlISLOaVz8LwG3AYRt8ODJkAIAIdlXmJ97cd8evZQt7BjV/1z/2ac7t9kB9qhY6LHvYNb8EPq6c92e4PhcYTJkAkQVIPDDL7Ubf+2B37fMH959XKRuzYtp1tFPDm6Vo6NrqJlype+Wp7emp1vd0MJ3L/ov0TonIfeTMDrCi6RcQkOL3VVai93Ou1owJ5Kwmagy2bVHjJehrCTc/PllCV70D2cogniWHZjvxEOswSI4ylnoLSCECOL4ImUSLgESJSkCIUXRSkKd0FQFFdEkaJEOyrDlAmjnTFdseWu1Rf1IFeCDARoHH/XKJICOPY29nUv9wX9EcPuGVtd5tblljPdKN4ysw0BQEAkAxAggYQACBIADL3gk67hwytvTJz/Bx/omhF6i7KiAAAAAElFTkSuQmCC","url":"https://www.123pan.com/login","urls":{},"desc":"","rate":5,"id":949,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5b57\u8282\u7f51\u76d8\xb7\u4e91\u5b58\u50a8","createdAt":"2023-12-16 07:00:59","icon":null,"url":"https://www.bytepan.com/","urls":{},"desc":"","rate":5,"id":950,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u8fc5\u96f7\u4e91\u76d8","createdAt":"2023-12-16 07:00:59","icon":null,"url":"https://pan.xunlei.com/?path=%2F","urls":{},"desc":"","rate":5,"id":951,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"TeraCLOUD","createdAt":"2023-12-16 07:00:59","icon":null,"url":"https://teracloud.jp/en/","urls":{},"desc":"","rate":5,"id":952,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6211\u7684\u575a\u679c\u4e91 - \u575a\u679c\u4e91 - \u4e91\u76d8|\u7f51\u76d8|\u4f01\u4e1a\u7f51\u76d8|\u540c\u6b65|\u5907\u4efd|\u65e0\u9650\u7a7a\u95f4|\u514d\u8d39\u7f51\u7edc\u786c\u76d8|\u4f01\u4e1a\u4e91\u76d8","createdAt":"2023-12-16 07:00:59","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADNElEQVQ4jV2TS2hcZRiG3+8/Z2YymSQzJk0yqEljZMQozaJQazGKSGvNoo0XQtGFqJsuFHQvyGykaxcuRHBhQZFgdVGFilKQQdzUggnGaG2bxEliJpnOmTmX//65kELwWb2bl2f1EA7A9bqget2/cup4rVDse91oO9mN0+s/3tj+srOzcxsAGCAC+O6H7o7FxcVgaWnJnZ478dzJI9XP7+0PK5ViiF4q0UnS/dVm+9IHl5ffB+TWOydn3hwrhU98s/L3JwQA9TpEvQ5/4e0Xzy08Of1heTA/cvnqTSeilKpDAWmlqRgwGn9s3YwT2Zqo5I/fanVxbTNaJ2YQEfi982cW3jjzyFdj9xRJSu0gWHzx7e9wuxHGBwSSTNrBkHPLzTu4cGX1irL8GQAWIODpY8eqZ5+a+rg6XEAUZ1YZGzijce70FOICsLPfQ45cGCWZLefZ1cYGSqPAJQAXBQH82tmH3pqdHh6NYmkF+YDYwhgDqzS9PP8AbUhJ3SgmdiYwztPD4wNzHeAFABBTlanKzP0Dr1qj2TsbsDXE3jC8IaUyDOUcnj81ievbEROYW4n1g4WQq+W+eQA58dLC4fn7DvVNxEnG8JrYK/ZWElsJ4RXanRjT1RJmZsfp51sRdZUlImComHsQwKh4rDb8TLkf7Iz0bCWczohNBq8zZFIiURZbeylOPDqGzVShHWswCEycB1ASYHeUvIY1mWDzn9kahVRq9DKLJDVIjeP4TsZHD5e5FWuwZ0SZTQBIEbAdd0aBnSLvFSttkEiLVFmk0sKw57iraH29Q5OH+lHsE9xONO0n+i8AndBoKckbVsrCey+0dayth7Yelhm9SNE/6x1OM4NyKc+lQhgub3StNL4BoCd+vdFqGOdEIR845dgpy5xpj16ssb3Rwcafe15K68ulHP3W7AZX1/ZX1lrJRwB+AICgsbL7i9VubrgYTJB2Iusp6u0lFO3GJHuagkCQtF401trm4k+b33VS8y6ATwHsHoxprJIX5x+vjTxb7g9rA4WwQiRykbS2nejWarO7uhWp7wF8DWDtYMEEgLgOojo8gBEARwDMAhgHIAGsALi2CDSXAIf/8S/HtuzGYHC3cgAAAABJRU5ErkJggg==","url":"https://www.jianguoyun.com/#/","urls":{},"desc":"","rate":5,"id":953,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Apps|InfiniCLOUD","createdAt":"2024-04-03 14:38:13","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACKUlEQVQ4jW2STUhUcRTFz7n/9zE+R5RGDUIiiYIQDal01SYItGhTmyIKDCKM2lu4UWohtUkqoVUULWoVRB+EFAQWBQaWGFlBUQlWjpjz9ea9978tJtKsszv3nstZ3B/nB/GvVEH+38rKaGUtAooqVAGQIpU5AGdFmgoINbQA6BtQNIxglSkCqgpneSMBJbWgTvNWf1uvaWyFOPb7VDhxLX77kC5JZXYAJEBRa6FAAq/zWNA1TOMtLy886i89PiseHBIKoGRZ5cINtPCTfi3ESRY+R6+uA3BbD5i65mDHGTv7sjx5n/MDsAlSncf9jhMMGmz2Q+Fur4ZFOjb+NA3ArFmXPvhAMhvid/dyN/aIDeFv6Ql2XTL1mySod5o60z1PgDD+Oi21ntT68czHcPwyQFndxqpAmDJ+x0nVJMm+L472Jfkf4qWrui9CoFYBgoCNAUAcQIR+tdQ0AVKeuJq7OVR+cQGAu77L27zXLkR2sWRWZbz2o4Dab5NayjtazCXZaTeod1v2B91fSk+HvLZDJrMx2H3FZFo0yvvtR0xDC4BwfETLirnTWLy1z+pv5W4fXhhps+W8/q3i2PlsP7KDNKd2Mp6ZsnOvWd1It8ZZuz0cOxe9ucOgTq21+dl45nlxtC98NozK4+YHoARCwAO9NI2jcaiFIgT0XAAaRYiwhIYCBJAStVbDnCogoC9Q1SQCQAM4BppUCHJIqIKwZOUUANRacglptckf+wtMOxhagzwf3QAAAABJRU5ErkJggg==","url":"https://infini-cloud.net/en/clients.html","urls":{},"desc":"","rate":5,"id":954,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"MUSE\uff5c\u6587\u4ef6\u4f20\u8f93 \u4e0d\u9650\u901f \u9ad8\u54c1\u8d28","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACa0lEQVQ4jVVRO0szURQ89+4KMbJJFInVgkYRDNqIjVpIhAQfIFhYxMpWIYX/wH9go0XwJ6wICVrYiYqFpvIRO1FEWXyxcTEa9t4zX3Et/KYaDpw5Z2aE1hqAZVlEpLUmIsMBCCH+EmYWQkghhNa6Uqn4vi+EsCyrVqudnZ0ppTzP832fiDzPOz09/VUE8PX15TjO6uoqgJ+fn97e3mKxGASBbduHh4cAhoaGSqUSgFarJQEASKfT5XLZ933P8+7v77u7uwEkEgkpJTMnk8mOjg4ARGSbQ8lkMpfLra2tKaUmJye/v7+llFrr9vZ2KaWUUilFREQkhRBSytfX11KpVK/XR0ZGJiYmXl5eHMeJxWLVavXm5ub29jabzRrrEoCUMpPJJBKJvb299fX1WCzmui4RbW1tHRwczMzMzM3NLS4uaq0tyyJmVkrhf7RaLWYGoJQKgsAMlVJaa4qiCMDJyUmhUMhms7lc7vLyEsDn5+fKysr09HQ+nx8fH9/f3wcQRZFtWVYYhktLS7OzsxsbG8fHx0YbwO7ubrFYXFhYCMNwcHDQFGebmlOp1NXV1fX19fLysuu6AGzbTqVSURQ9PT21tbW5rvtrmpnj8fjR0dHU1FS5XB4eHt7Z2TFZCyHu7u5qtdrFxUWz2TQLBKDZbFYqlefn54+Pj4GBgfn5eQCNRqOrq2tzc7PRaDw+Pr69vTGz1pqYOQzDfD6fTqf7+vrGxsbOz8+ZOQiC0dHRnp6e/v7+zs7O7e1tk57QWkspiejh4SEMw0wmE4/HmZmZ39/fTQDM7DiO4zgAhBkJIX5fJDISplD6A2Ymon9KZZgFuJtEJgAAAABJRU5ErkJggg==","url":"https://musetransfer.com/?utm_source=appinn.com","urls":{},"desc":"","rate":5,"id":955,"breadcrumb":["My","\u7f51\u76d8","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"wallpapers","createdAt":"2023-12-16 07:00:58","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"(300) Pinterest","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://in.pinterest.com/docarc/mobile-wallpapers/","urls":{},"desc":"","rate":5,"id":956,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"iPhone \u58c1\u7d19\uff1aiPhone 14\u3001iPhone 15 \u3068\u3082\u4f7f\u3048\u308b\u304a\u3059\u3059\u3081 iPhone \u3092\u30b2\u30fc\u30e0\u30dc\u30fc\u30a4\u98a8\u306b\u5909\u8eab\u3055\u305b\u308b\u58c1\u7d19 13 \u7a2e\u985e\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9 - \u30a2\u30c3\u30d5\u309a\u30eb\u30b8\u30f3 - iPhone\u306e\u4f7f\u3044\u65b9\u3068\u4fbf\u5229\u306a\u6a5f\u80fd\u7d39\u4ecb","createdAt":"2024-02-25 00:38:44","icon":null,"url":"https://applealmondjp.com/posts/18715","urls":{},"desc":"","rate":5,"id":957,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"GAMEBOY WALLPAPER IPHONE 14 PRO","createdAt":"2024-02-25 00:38:44","icon":null,"url":"https://www.wallpaperize.cc/2023/05/gameboy-wallpaper-iphone-14-pro.html","urls":{},"desc":"","rate":5,"id":958,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Bodega Supply \u2013 A design store of hand-picked digital goods for you.","createdAt":"2024-02-25 00:38:44","icon":null,"url":"https://bodega.supply/collection/all?&page=48","urls":{},"desc":"","rate":5,"id":959,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"13 Gameboy Advance SP Wallpaper for iPhone / Android Colorfull Retro Phone Screen for Gamers Wallpaper Variety Pack Digital Download - Etsy China","createdAt":"2024-02-25 00:38:44","icon":null,"url":"https://www.etsy.com/listing/1537369104/13-gameboy-advance-sp-wallpaper-for?click_key=7efd2c27827dc8ca285676b663d1a37b09e2339f%3A1537369104&click_sum=cf64a9c7&external=1&ref=hp_signed_out_opfy-1-3","urls":{},"desc":"","rate":5,"id":960,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"iOS 17 - Concept Wallpaper - Wallpapers Central","createdAt":"2024-02-25 00:38:44","icon":null,"url":"https://wallpapers.ispazio.net/advert/1860802/ios-17-concept-wallpaper","urls":{},"desc":"","rate":5,"id":961,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"iPod Wallpapers Collection for iPhone - Wallpapers Central","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=","url":"https://wallpapers.ispazio.net/1876841/ipod-wallpapers","urls":{},"desc":"","rate":5,"id":962,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e2a\u6027\u5316\u7535\u8111\u684c\u9762\u5fc5\u5907\uff1aWallpaper Engine\u4e0b\u8f7d\u3001\u6ce8\u518c\u3001\u4f7f\u7528\u6559\u7a0b - \u54d4\u54e9\u54d4\u54e9","createdAt":"2024-03-01 15:56:15","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACaElEQVQ4jY2SP2gUQRSHvzcze5c977jDiBhQTGEngqIBAyIkRYKNIJggYiOCImprJXiWNnYiEaJoIXIKgiBIIImFqGCMQv7YiWIjGjS62c1lb2fGYs0ZG8kPBh7vzbz38XsDqxqZCrg7f47R6V4Ahhq6XVuNR6d7uTt/jpGpYLUk1L2CK7Dt6C4qlXe00gWa8RFO7X7OWo2+O0DHhkcEhU1E0W4+P5yBy0j7wu23NaR4g7B8jJXkO5kdwuvX+Rjbg9EPKJY2srx0H79ylpN7FnOCay9CNtXqoI7jfQWhig7AWbBZAoA2JZQG2wLPT0QicPdYWKwbOqtXqXReIPoB3iV4iXCpQxDAAODsL6z1gEIwIFupdF7ESyjcmY/RgaLVOoxTrwBoWk+HFirWAxBpaecAlNtPEDzGtaxB6RKt9CfdXyfp68tYjyYnJ/m4eQVjqgbwKBE+dIU0GgnLu8bw3rOSHOL03rzhzTeGQvgUpSCcGeBDV4hxAniD9wIIsU5RPQGFrB/vwTY7crOAxlyRNOhHBOKegDhLqToBUH+gPLXE8Kk7JUsnyLJxPreW28jzX5tk2ThZOsGn7pRakpPnrkpulCpp6uII5wZ4MjtIvS8Dcrp6X0ZpdpBwboC6OFSp/UsNIDjvCXfEAAwP2zV2+Xa0Nl94G5Ps9IAYnE0ICkXi9/005l7ypaDYYH17hauKtBBrYUvqiKWXICjisiWD97coV88T/RgjyRKqrXzXy/LPe4yDqoMEj9ElylVYXLiuOXjiGcpqUNuBAHD/PaIsyDeayQ2+L176O2ZkqoQpa9ajbMlyZl8C8BsqkQfT9fYhAwAAAABJRU5ErkJggg==","url":"https://www.bilibili.com/read/cv22119214/","urls":{},"desc":"","rate":5,"id":963,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e0b\u8f7d\u590d\u53e4\u7ecf\u5178\u4efb\u5929\u5802\u6e38\u620f\u7537\u5b69\u58c1\u7eb8 4k - Boring Day Arts","createdAt":"2024-02-17 03:17:50","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNElEQVQ4jX1SQY6CQBDsxsTgfeEtxOMQTFAT+JX6JeEtetDIG4CZqj0MC+iqc+qkqyZV1aUAVFVmj+Q4jyuSqkpSSc4RzjlVXSwWfibp5wGtqgBGNAC/7rpORJbL5fjFpAIAAOectZbk+VwVRRnHcRzHRVGezxVJa61zziMHgkcfDycREQmMSY1JRQIROR5OnjMRuq4DUFe1iCTJ+na7e2O32z1J1iJSVTWAvu8HgrU9wN12H4ar5tFcLtc8z/M8v1yuzaMJw9VutwdobQ9giKJt258oMiYlmWUbby/LNiSNSaMobtuWpHMumCKXp2s8XUam3D9J2npJj/+SBtNE9dl0XdXgzPS7WM23WF8OV5bD4cryzeH+qqFCcGzOSzWCYJaNl+u79aV8Y3nV19tzvtR7XP0CAuh8NWjFB9kAAAAASUVORK5CYII=","url":"https://boringday.app/2023/12/04/classic-nintendo-game-boy-wallpaper-4k/","urls":{},"desc":"","rate":5,"id":964,"breadcrumb":["My","wallpapers","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]},{"title":"\u58c1\u7eb8\u7f51\u7ad9","createdAt":"2024-01-20 10:17:33","nav":[{"name":"Awesome Wallpapers - wallhaven.cc","createdAt":"2023-12-16 07:00:58","url":"https://wallhaven.cc/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC","id":965,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"Desktop Wallpapers, Full HD/4K Free Backgrounds for Desktop & Mobile","createdAt":"2023-12-16 07:00:58","url":"https://wallscloud.net/en","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABbElEQVQ4jZ2Sv0tCURzFP/fqU18RRJSUtgtJ5NIkSFvYH9CSQ0NTS82Ck0NrLrnUlv+Ci4tFEtFShInNZmkGguTP914NpWnPCj3b/d5zvt9zz/eK+aO3oBTGCbDAKDC0l2b+LCxc8VpxZHFfEzm2GEBa5+Rf994piXfqTwrWYUX/rGR31cHi9Ke4UDU4um6SqRhmE8PEkTWVXFkjnKoTTtXJlTUia+pQN8IVr713D7GAA4/TQr6ss3feHCDGAg4AU13+JETTDQ6uWgDsL9vY8SgA3JV0fG4rieAEGy6LOQOP00I03SBTMfDPSuLrKqpNAJB71TnOd7gs6oS8ClsrdpLF+qADVRG9rts+OzOTElURqIpg22cHIFszOM12euEOOLh51NhcssF9m8OvJ/SjG2DIq1Cofm/DFKLPPXSzPRSqBonbFsmibm7QP+k3ZGuDf8E07ifhP0jgaSRFPwytIqWQO8DzGOJS++Ei/AFayn5TS9doTwAAAABJRU5ErkJggg==","id":966,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"Alpha Coders - Your Source For Wallpapers, Art, Photography, Gifs and More!","createdAt":"2024-01-20 10:37:23","url":"https://alphacoders.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":967,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"\u4e16\u754c\u8457\u540d\u7684\u58c1\u7eb8\u7f51\u7ad9 \u7535\u8111\u684c\u9762\u58c1\u7eb8 - WallHere \u58c1\u7eb8\u5e93","createdAt":"2023-12-16 07:00:58","url":"https://wallhere.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABs0lEQVQ4jZ2SQU8UQRCF61X37M4s7DgYlmWJYjxI0LD4Czx71Ss3fxr/w4t48uZZI3oxxCDBsMDOTHfX89BI9Ih1+urVq6S6unB4dCB3Cb2T+7YBJEn+y8ipiPyteNKSBe+GImIWKeZ0ICIxtYBS6FAAyIrTQgtXzZo5yWRhtZyuj3eShZj6rbX9ZvRwWj916kkz2qyZF65S76rNZk7SLK6W0/Xxk2QxWT9r5s3owUb9zOkAohDdbPa9qzxpMbUAAJjFZB0AEcTUJot9vGrDIqQlyS4sROhFBND8MgB57iwaU11Nn2+/jqkXYG3l0dfT9x4AadlBmlmCKMVIqvo2LE7OPwZrRWTgxwrnSStcFVPfxYtxOR2Xkz4sAAVcSl1M3a/r7yEtKdKHK0D9VXem6na3Xp4uPk/u7RRaPt544XQwGt4/uzye1LvOFZREkbx69+rN3tnl8drKdl3Nvvx49+3nh61mryzqTydvu3gRrV325xRCENL1Mpzj8OiAtD5dC8W7ocJlLlyp6pP1+ufjMnuSgJa+FhGKicgtk3Q6zJchIpl97s7WHLcMQG5WjJvKf1zrb+JE/PdkwomPAAAAAElFTkSuQmCC","id":968,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"DeviantArt - The Largest Online Art Gallery and Community","createdAt":"2023-12-16 07:00:58","url":"https://www.deviantart.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABzklEQVQ4jXWSPYtTQRSGn3Nm7k28SUwUTBYVEVdWEC1EQQQLERFsrNZSe2sLf4CFv8DfoJ1gYylaKIQttBN1IyyIa9wg+3U3H3fmWNxkdwX35RQzzHnmPcM7cmbhAgACgKoggKBOKWWMxxOwcueLYICKAUg0RAAkFPhhgcVJooHITB4LQCx5ERU1ABNn/VvzVqtk3e/Jz3XTqaG3GHYnkgCl4Sis3jmfP7lLqvnjl3O9Qcz8FIjl5SoabNSub54+KsEQ8vtXcUo+0e0hYrMZ8EYEJMLWpH/vkj26zXCCCqnHjM+rR5ZWQirMnqEYGGZYDJY6Whm1ConHjCLK867+ySMSjbJc1mwZJYVU/Xhjh2DMHcYpH751nr6m6szJrMVcvdGarp0mvbXs7Zd88TKdJmasDLbPHtP1PP21gQpmmCkWp0XUIvx+cI2LJykCIXL9HA9vbs23ZRRmBvjdRChsfKLF4pUycWKkCGCEvdRgH6A7k8GNBebbAEs9fdHFCdD89CNWk/8AFEajSq3C2mb27E3z3VdSB8RqUpKlXL3RnP4xL35YjJb7/tXH1vtlyxJLnaUO3esGpHP81D6ToMNgTu2Q5wD9e+BdrLuDWkv9BYV01UqnLr2CAAAAAElFTkSuQmCC","id":969,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"Wallpapers Clan - Cool Wallpapers - Free App Icons - Cool PFPs","createdAt":"2024-02-07 03:34:44","url":"https://wallpapers-clan.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=","id":970,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"4K Wallpapers for PC, Desktop & Mobile Phones","createdAt":"2024-02-08 13:49:52","url":"https://4kwallpapers.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACW0lEQVQ4jUWRy29NYRTF1/oe5z76un1oq1qtElHPxsAIEyREYmAkjDqQYCJGzBASMxOviVcYmBMxYOAPMCGmbVJSVG9b7e2555x7vu/bBqdi7cGe/Nba2VncNL6duTPGQCkAreBV7q01uWbabLbRsFJGEMfQaiZVY/XWvuFoYEOSZcp7L7LBttmBvjhLuzPu3T35u7tNFureqF5nd0zu/2Whbg8dufjmbX14KHL5WpbdGT8+9fbd3EBtsq6fXL1nL0zJn0ZTy4Gs++7tR/mJY8pSmUoFJIWAWKVNuQKqwJC6lgrBWKuNyRmyJKFzJkDEeaVIrRSUkCEEEBCI1otJki3ONyTpkFqpt9ORxlA5reK1OFmL4+B92iIIQdC63GzePHTYPXxAE50a2/e8spq9/2g+zU2fjdXrS+fzxy/7Fdq3DgUGECCV9xO1vrBnt6buHR2bz5exsoItg+Ovzlxf+L48G8czq6txM70VJzh08Fx11/cP3wZfPO1mNeofvDF28vNc2nPtqsk77OWPz0aOvqls7F2OG492nq7evwIIAIp0RlGr1qX6atMLdfWtXiqXjfW0He0/s1U1s7LUaCRddQWCEJHicxGB9yVtYI2IGCHoQ8kYrU3FOV2KAIGQpAAiEBGAAlAEpCIJMkD+CQCA9U0AJCiCwiemQCgUKeKCSACKdBSQCCEAIIBi0TFBUkRKNDaKiuI1WEAQIbE+W7ZNrB8hc+cm2vvjidGZr1964nxg89iMj/FjPhjV6U3P6MhsY+m/oVDic93MSm1Vp9lKszIVowgCR3FpWtb2L+29QKybJsLyAAAAAElFTkSuQmCC","id":971,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"57 Best Gradient Wallpapers for iPhone and Android","createdAt":"2023-12-16 07:00:58","url":"https://wallpapers.ispazio.net/1866361/best-gradient-wallpapers-iphone-android","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":972,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"macOS Big Sur Stock Wallpaper - Official Wallpaper Abstract Dark (Full Quality 5K) - Wallpapers Central","createdAt":"2024-02-08 13:49:52","url":"https://wallpapers.ispazio.net/advert/1831643/macos-big-sur-official-stock-wallpaper-full-quality-5k","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":973,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false},{"name":"Wallpapers Central Collections - Browse Wallpapers by Smart Groups","createdAt":"2024-02-08 13:49:52","url":"https://wallpapers.ispazio.net/category/collections","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACTklEQVQ4jSWRzWpbVxRGv73PObpXf/6BptSjqIknIZmUDto8QMg4j1UIoU9Q6KSTPkAho4Ah0IADGQQHYjlRIsuWFVm+Vz+W7j1nfxlojReswZL45y8iSVAbowAQBQgCoCghNBqQFAA9LPNa3YEAYgoDBIKtDQESABMYKWACPMx7WR1QvThHdSABCIQCgDADCZhySdZigKlPm474Bi2zpF4UDTUzrQgmNhQxym0lFqBGJJj6eLvnQqibTdfrTRB3P10iD/HR3Wq9CGeD9oblw149vtrpD1SSMPhG2UnO8aA3f/akKIr1P69+enCYnv2+Ksrw10vv89HTX7+dfLjfLw8mS3PO1ysT13CTStbrfCdfPL5/ttvcX83beT777bCgTb8Os/cj+1wuigrdpsq44WaZO5mF40Hebnfu/Xw+n09Ph16k+aC3/LGD/sXB0Zf5yXRyLfU4qJS0onKzaEeD1gKlWF3cYrpoRgnJz8ezO6PF8u3l+CrWN5rmldcLxE5yTZe9/lp+HNY7VUdtdnI62t1JP7SXyyK8H52enWfsyqwOt155GTGI8fMmP17qi//Pr4pVt42/3315/l+/vNk7W0yO+qRvodFOWb7MPEzDRtJGI3zr3+Hhp4uV36ze3KyOpxxO5LIsThcd5E31Gb1jEMMf27sGEowobzCfwSqYoiZokgViT1r77GaSecEWE0AgQbsdeGcbgioKiDEp0GLI4SDwCdcEBCQEgBoDEmEKKgFgW/aoDRsz9RFXBAVCcI3kAIIRJhDdpgHCE+ogBnwHMEFeddcFe/oAAAAASUVORK5CYII=","id":974,"breadcrumb":["My","wallpapers","\u58c1\u7eb8\u7f51\u7ad9"],"ownVisible":false}],"icon":""},{"title":"\u5de5\u5177","createdAt":"2023-12-16 07:00:58","nav":[{"name":"\u58c1\u7eb8\u6837\u673a\u751f\u6210\u5668 - iPhone\u9501\u5c4f\u6a21\u677f\u3001\u624b\u673a\u9501\u5c4f\u58c1\u7eb8\u6a21\u677f","createdAt":"2024-02-07 13:25:40","url":"https://mjcn.club/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC80lEQVQ4jV2Ty2udVRTF1zqP77v3JrnJ1TZKW6XSx6DSQqtmoLYYjODAkZKWgkqs4kQU8X8QHDjsQMSqAymV4EBLBR05ECRKaSNUB9KiqFET87jhPr7HOWc5iNGSNdnswYL9g/0jAEggCQGAfnjpCeSYqwfpcQNMxoRgaVatMd9F1hfc/R98enuH+De6NjdRZ/YdCz4Tfo99tmE4ZsasDNbrfm+oEPY022Mhat5vbr7Ch+fXAIASiKuz7dq3L/td+cnh5/2/4kIYSR3Uo6cb+YYvqk/WFtFT4U6NHKwe2Hvojqrb/zZLxZM4dnHDkFBhR9/2nebJulsOUi+BNZvqI1MtVQr1MFWuUmwMUnBYr+qs3ZiqlJ8nIFbX5h6yDfuNCRFwgPosBt+nYCcZ7X7TMZHpZvn3RjcV9vjIbu+SaUICmg1TDePTzjq+NpTD+S86y6s9l16dWRvfN53GYyGoAhJhD7fuvhNOuLU50n/zl6mlA62ufePQ9bu8Dc86g/TU1R/tn5cWOruCmB/cXfZenlxXXVg5K0rAMEY1zQAfLx83V7pH9uXrg3Jm/OflqdHfHnVybuLwnlon7h1urPSMf/C+gkqGhgJAkpKRCHg8Mr5Ufra6Mtzf6IYDrY1RWS9Wi+eG3qFRBlQxGbayZOtAQ0oCCQCkJJGeMfWjjx4xZC3brIfxawODW4lG1sDnTr4KNKIgbL+IBDESqMtkU85gstw2Y4SM4VtGwoLJLFNETJJIiVtlSlsYruWda2c+n8ica2U2GayksnrRHb1wxVHp3VDE56wlBUiCASQAIEBACoPqsoBfSXRp8JMtB1/aE5eW/mMsF1+4mHWaZ6v1oiLhSUJJ0Y9ltupV8/mx989gR7ZdMBKYIbxeb5aL2UQjk5CUlEBCIRHCPboxOyrNWukxtzX/l4/bi64/vzdY96H1doaGqIsASPLNjKGM0/7oe19JMCTS7Zdwp87hxrnToDmT6jRtG3YilOlm5spTPPLRHzsxAOAfWWWgmsbtPiAAAAAASUVORK5CYII=","id":975,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Shots - Create Amazing Mockups","createdAt":"2024-02-07 13:25:40","url":"https://www.shots.so/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3ElEQVQ4jYVTXUsUYRQ+531n13d31mnVplVLy0otTKWiiCSKgiDqIoqCrroIuu4ftAgVXVjQP+iiMu077csPktA+MIRay1i2XDZsZ2tzdx232RnnPV2khmJ0bg6cj+c853AegCWMiHCJGCMivjinLC4Mh8MMEWUsFqvWNG2/lPJjIpEYQcT8UsMWoBERIiLF4/G1Qoje4uLiGtM0iXP+hTH2EhEHhBD9QojYP2lHo1HdMIz32WyWUqmUlU6nXdM0ybZtIiKyLCsyPDzsWbDCXHMikfAJIW6qqrrJsiynqKjIyxgDAHSJyAUAK5lMnu/q6nLn2C5gkclkrjuOQ7lcrmCapszn87JgWXJmxnWIJLW3t19dvD4SEcKHTo9ZfeCi6lfP5PPTtqIoCjKOnDMAQOKcsfu3H7tPnj0qVKzUO3O53Nm2trb4PEr3d6rbq1qRIp/gCMAAAEgSAQAhQ/aqPyKH+sZoeZWXuZ4s/iqYU4aRPNHa2tqthPeA0nC64eSIv9G09x3SQvX1MrR2DQZDOiEC+/B6TI4NfKHG9VtBLQm4UxSXnxJD45OTU7k/R0wB+6Hau01nrGTiTdBKjX70jEhBgVA5ikBQ5g2HNlbWga6vgMlppKf3pr0DPdaNgfTlFwCECACwv7K06miN72GB+5t9q7fatXVbuGt7ARwPVFfVQpm+DiLvJuBW51uY+FFBFaE9BY2VnToXUW7i7B3YttLAhpO1y67RzExz3lth72g5yJuaWgBNDoN3B2n4+Tj5RSNTy3ZwR22B78y17ExmHQIAhAFYGABO1QSrjtTpHU7B3v4p6RbKyzYyJSlRi9nKBqUZLH89fBaV38bFqt6ox3cnEkt3zb/yLIi8srlc37W65F7Ay3YaSRu0bBC0Sd3wflvWE5f6wwduou8C3E0vqYU5kEsNWunhhlVhAK5lDW93NGb1Hf86+vNvHbE/HuV/BTavFQizDjjGF+d/A76eaE3Mucb7AAAAAElFTkSuQmCC","id":976,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Free iPhone Mockups \u2014 Mr.Mockup | Graphic Design Freebies","createdAt":"2024-02-07 13:25:40","url":"https://mrmockup.com/free-iphone-mockups/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACoElEQVQ4jSXOS2+UVRgH8P9zznkvM9OZ0o5FMoBNW6AErYq3aAwY07hx4QZXulEWYOLKFV+Bb2AMYYMmBl3qwhgjSkyNSKIr7RtKp9KGJsNgp5133su5PI8Lf5/gR4UPAHNtSSsipYW0C4iIiEFMOpLAvqgFCmmDtKJ9VxhmFbcUWIEUCEAACBDvxQUJwkyIDBnFApPAEjv76Rf83W1+PPKzbXVmsfHqy3plhXo9ajQJgMCOJtpomIRKKXiz/++Fy9xpR93ptGJkW+HRkBtJdPaMOn6UpqfDo5G9t92+flWfWqKyyj17Lmsze/j/jELQ6xv4/Y69teb+uu8He/pYL1o9l35yEWlKB+XAiNhrX9kf1/ReHk13aHlBnX/JnHtFHZohpN5ViBJ2jq0DC9X10Gf9ybsfpycXqN0O4m22KVsPuZni6JH4xWfRnXH9hz7bmrp2NVo5TZUNrijhLGZnoBAD5MT/8wC3f7C/3fXrfR6XMnPIvHW+eel902nTxFU+z+sbX+tvfy72H7fmutHJeb36unrhrOkdE4ABBcg4D5pYQBMuzd/39i5c1sePtOZ7oZyMsvVod6CqQi0t6qefCZpkfFBtZM3Pb8ZLi1Qwi60lMJpNBa9hNBg7O27tzuSn7/1GhoOxe3IuffudznsfShpTxT7sjfxnX9a3flG7A99tNVaWsfqaev655KklUsQCxZA8d2mklKYyBHu/X39wheY6yXzPD4Yq27Q721pPuHdYL5/2SVIPd8P2g+7Nb+jEApV5EPZcWTwxZQgCmP193h2Wd3+lP/60GxmPD3SzRW+8GV36CNpQ7lzsmBEUJOIATZ6CShpAHABxTgSilDIaRSHaUBWEQ0DtYqVq9jEJEYnRKijxkNgwg6sycKCpJkf6P0nlc75ue+HdAAAAAElFTkSuQmCC","id":977,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Screenzy - Beautify your Pictures and Screenshots Online","createdAt":"2024-02-07 13:25:40","url":"https://screenzy.io/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC1ElEQVQ4jV2TbWiWZRTHf+dc133v2bMJipVjbSMVS0Ob+qgjmhl9eBCxPpQiQTRmLyBm9EFEhqFBDEUxLJUipKzAD4KvQSAIww/TBF0vBAWpzFyxpg734p7nvndfxw+3lnQ+HQ6Hczj/3/kLAJiAGMBLi+1FMzpUeR54rFqFtMKAenrqpnLo5AX5gYdCHiQvPGGF+ul8rMLbXnGVCphB80xoaILBG9B/hUoUs6/UR9cOJNwfYFJ+hmKN51jsKU9mhGpCaGjCbeyCxha41IstaiNc6MF98wmC48ipS7wOoCAWe3bFEeV0kiQLSE0NftteWNJucqAbPnwP+fYgfk1nkKmPkkjgtZdLdIEEXd1qyxTeSSfJRPFpFZn5FDZ7LjKZCuMjSG0RmV/Chm8q42O4YASELavn2RxVZaNzRGaYGaIeuz2EjI6A87DuLSjWQ995ZPu72PgoKp7ghClWS4d7snHHHoNp9zGo98jwTSgUoHVZLmLLLPh6P9weQgpFxAImgmCgAs0YEgwRwQCcg0N74czxnNCKlbD9U4hiCCFnHgIItCiAASI5tsoENM+ChW1wsBt+vpjXl5ehvQx3x0Ddf3+gBn+qYCpYtYK80gEHjsLuw9DaBp/vhiyDEGDpchBFDEwVDK4rgXPqkCQlNDRh69/HRkdg8xv59sEBuDWUb4tizCmG5RqYcU4t4wsLhJAhj8zAfIRc/Q273At3hsFHEMegalz7HUkSglM0yxjThMP63S9yPjP2Fwu4gX6yO8OE0nPIq53Y3AXYpg+wadONG9eEMycItXUEFdSMj079Kn8ImKx9migpcjxLWTV/KWHDVkLLbFyW5WbpPYt9uY/w13V8fR1UU746fVk6wfRfM5WwqGkJu6oTbCrW42c0QqEI//wNtwbzU3zEaJay8/SP0v3AwfJ/O6991lZM3OXNJKEd4XHnsLiGfoOeNOWz73+Svof77wE4ay2MNoWW1wAAAABJRU5ErkJggg==","id":978,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Check.: \u505a\u4e86\u4e00\u4e2a\u58c1\u7eb8\u5957\u6837\u673a\u6a21\u677f\u7684\u7f51\u7ad9\uff0chttps://mjcn.club\uff0c\u65b9\u4fbf\u5957\u4e0aAI\u751f\u6210\u7684\u58c1\u7eb8\u53d1\u5230\u5c0f\u7ea2\u4e66\u7b49\u5e73\u53f0\u3002 \u58c1\u7eb8\u5957\u4e0a iPhone \u6837\u673a\u540e\u4f1a\u6bd4\u5355\u7eaf\u53d1\u56fe\u7247\u66f4\u6709\u6c89\u6d78\u611f\uff0c\u66f4\u8ba9\u4eba\u60f3\u62e5\u6709\u3002\u73b0\u5728\u7684\u5c0f\u7ea2\u4e66\u5927V\u57fa\u672c\u90fd\u662f\u5957\u6837\u673a\u7684\uff0c\u800c\u4e14\u6548\u679c\u5f88\u4e0d\u9519\u3002 \u6211\u4e5f\u5728\u505a\u5356\u58c1\u7eb8\u7684\u4e8b\u60c5\uff0c\u4e3a\u4e86\u81ea\u5df1\u65b9\u4fbf\u5c31\u505a\u4e86\u4e2a\u5c0f\u5de5\u5177\uff0c\u60f3\u7740\u81ea\u5df1\u73a9\u8fd8\u4e0d\u5982\u53d1\u51fa\u6765\u8ba9\u5927\u5bb6\u7528\uff0c\u6ca1\u51c6\u53ef\u4ee5\u78b0\u649e\u51fa\u66f4\u597d\u7684\u60f3\u6cd5~ \u{1f4a1}\u4e0b\u9762\u662f\u4e00\u4e9b - \u5373\u523b","createdAt":"2024-02-07 13:25:40","url":"https://web.okjike.com/originalPost/64b659634bf4deb326529567","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":979,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"\u521d\u661f\u58c1\u7eb8\u6837\u673a\uff5cCX Mockup","createdAt":"2024-02-07 13:25:40","url":"https://www.cxyxkj.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":980,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Device Shots \u2014 Free Device Mockup Design Generator","createdAt":"2023-12-16 07:00:59","url":"https://deviceshots.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC/0lEQVQ4jVWTz2tcVRzFz/nel5dME5NQ28wkTatJqRaiaTYKbooL3fc/0BZBdGEXSltQENSFS6u48AfVUipi27E1Oi1NiMEarQGtViXFhT+KmWRCoJmZTN68mffucTEzQs/q3PuFL9/v555LAMhmR54wC9708lMA2JEkoX2htgDIaD97n5wolYqz3D408mTo3EUA20imkgwt/d+jY0hCkgfgAGw10vSQ679n4HOSoxKaURQ5SUjTFCAZxzGTJKGZIY5jdAYyWgKix8gDBmCCpI+ireDIkcO49s3XePedk3xoYj8WF7/T5cK0xsfHMHO1wLm5qzj89FOobFYDM/MAJowkAVASnn/uWfT0dHNmdlaVShWXC1c4MzvH2mYNl774SvsfeJBTUwcQxzHMjAAYACAAmBnn5+f14083dOrUhxzK7cKLLx2HmWFwcABvvP4ad+64V8ViEWFXV4cJmRveLQBI01T79u1lPapjubgCM4NzDu0aAGBs7D5EUYTbt/9VGIaUBCMpM1MURTxz5rSOHn0B6+vrcM6h2WwiSRKQRLlcxgfvv4fjx45pY2ODzjlJUtAmC+ccFha+x9LSLYRhiPbzgQQkwbkA16//gL/+/ufu+vDIHkmCJGUyGXrv0Wg0QQJmrUh47wEA3d3d8F5oNGJ12Lm+vv5XSWKzVmM+/5mGdg7h0sXz7Ovtx507G6jXI4RhiNWVZeTz5zS+dxznz33KgcHtrWDmhnenwyN7fP/ADv/rb7/7crmst06+7Q8efFzXvl3Q9PSXeuTRx1QoXPHValWlUsl/9PFpn82N+mxuNA06ee/qCnj27CeYnHxYtc0txnEDa2trKm+UkSQJS6VVei9F9TpWVlYBQADEbG70F5KTEpq1Wi1oNBoIAodMZhsrlTLIVg7WSsu6cCGPpVt/4JWXTyS7Ru/vSpLk5l2fycxSMzPvPSTRzNSG2PatI0CXpOlWM00PuahW/bO3t2/R6Ca897k2cZKk9x7ee3R8mqatjYUb8ukz62vF2f8A6CG0i03SuBgAAAAASUVORK5CYII=","id":981,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Bigjpg - AI\u4eba\u5de5\u667a\u80fd\u56fe\u7247\u65e0\u635f\u653e\u5927 - \u4f7f\u7528\u4eba\u5de5\u667a\u80fd\u6df1\u5ea6\u5377\u79ef\u795e\u7ecf\u7f51\u7edc(CNN)\u65e0\u635f\u653e\u5927\u56fe\u7247","createdAt":"2023-12-16 07:00:58","url":"https://bigjpg.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4jaXSTSvmYRQG8J8HD5Ekk5eZLLyEWJjV7MySKF9hmrUPY2nBN7CxU5KFbGxINLGlaJKGYUEeHjbnX//ubjauOt3d933Oda7zwifRkNy7MYRzfMMCqnjEDXZxhtsioDEh+IJpDOISdxHwD11YjKQ1XEFTQlAN9nschZVxiN6wY6gkDi14+qDkF/zASfGQI3hEPRPcgd/YwsV7BE1RY/m9inEsYweb5YB0ClP4GhO4xzwmcY1VrKfqUoIJDGAUe2hHM3owjFasRTOzGMMs5jJ/lVC0je/lmst4yfSlQB0bcf7CH9RS59cgeX1PIvbxF305BZXMdqaoRT/uZOS2RfacgraY0BIO8L9QUIk51/EzMtRiEjN4DsKnIDjESsFaLM1IOLSgM7auP4hu8FCy0+gTeAP16Ea6ZRH4EgAAAABJRU5ErkJggg==","id":982,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Photopea | Online Photo Editor","createdAt":"2023-12-16 07:00:58","url":"https://www.photopea.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADDElEQVQ4jUWTX0jddRjGP+/39zvn6NyZOlMXU3MGNpnUIFdGq1gZjBWjoIIRRQhBEF3UVd0J66aL6CaIoD8wgoi2tqJujGl/WIFtpUGjcDSZZZppeTp6POf8vu/ThYHPzfPw3DzwvnwMYHZ2tr2nq+u5vDOMx5Rt2f+u7cYyL+S/nJiZef3+oaE1+3VpqbO3re1TS5Kh8wtzlD0SLGBAMMMAGbiL6E4B40h3H4UYv56enz9u5XL51aamphfu/eS92uTC1UCaGmYCjHpNxMwwg1xBhMTI6jqwu9MvPfp03jY3X0qbkvTQ9N/LPrl4LdDSmqQYWb1KzmX37LlB/c27bbmyzvjSvNbkpMUiP638wecLc/5gc/tdKZJXsswsTcyArLLBna0dvHX4qPZf12lEhxC4urbKw+fPMrNRwnI5ah6NiAXATDJh8lrVhlvaNXHshEWw45+9r+Kp1zh85m1M2NkjD2mnMElmUQZ4AHPcASxx6c3hEZsr/aPbPnqHL5YX7MS+/fy88S+PTZzTvl2tYaSjS9Rrsq3HKAWBBFmdoY69dnPbHh4Y/5CGXJ6pY09wY1s765Mfc3r+inm9ps6GRkNuSIArBRwJ3Onf2SrV61xYWbRHevvpK+7iwAdvcHllgecH7yAQ7IfVZUhyuDs4SuUSLjBhyMxdaQjMl0uY4Mm+AZpvOsgzg4d49/L3mlr7y0hzZB7BLKYml+TAVspipCVf0Pifv9krM9/ybP8tlOo1Tl78Sidnp7FCQaqsb40qkgrkkgLY1jUEUiCf14u/XOTlKz9S80gtqxmNOzyBIMxcEhY8rdbqVrAgj1FRCjFGLARhWFJopKwISUJSKMrdzUOQYqa8BUVFpYul1W+GuntH7m7vievr61ES1WpVbFYsJrUtniSimZAMd93eej1He/rC74tLF2xycrJlcGDgdFOxeN+1tVW6iy1MryyxkWWEELY5NCGJPMatnXuplMrnzlz67nEDGBsbaxgdHX0qjTpYrlZoa9xBYgGXjC0q5QJwQhJUcp/q6ek5BcT/AEQAqyv0uVORAAAAAElFTkSuQmCC","id":983,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"TinyPNG \u2013 Compress WebP, PNG and JPEG images intelligently","createdAt":"2024-01-20 10:58:33","url":"https://tinypng.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC50lEQVQ4jbVSSUhUAQB9f77ZpanJaSqzTbLApbKcDCpCoZLIILq1UxJ0KAtKo1WlgjwlYXSoPBRGtJptJIatMhahZTqjTsW3UnO+3/l/1v9z5nWoGerQsXd/Kw/4XwiEQkUjur7BIHM9pJmkCEAAcNxqtVb9k6iqg2maolzxKQr9mpeqIlMdVoYikci36upqCQABcPOmjQ+bmpoSYrwpeXl5Y0ju6/8iGX29Er9Knyl9clNVZGrKELXhIZJkVVUVAXBNwSpmZGQkAsA1AGpFeXk/SSqyh/LgAKVPPfQM9NGneRlDOKCRJAtWrpABHAEAZKSn02azUfZ4qIeC1LzDNPQwo5ER+n0qA36Np09XsqKsjOQISfL5k4aaWHTT1JQUZGZlwZqUBMFkgtPpwtIly3D99m0Y4TBCoTC6nE48eNyAsrIT0HUd6ZlZa8+Wl48FAFNDY+P5aCQa1A0doxJH42ZdHTSfD22v32K8xQzrBBtKS0tQtGsHXE4nPrrdSBiVOGH5unX748vX1NQcivVMmTaN+WsL+ODhfV48f47Hjh5j6owZvHW1liT5tVdit6uTzY2P6uICJFeQUfZ0ubh3z162vnlDr3eY2QtzCIB2u50k6e54xxdPn7D9rYMVB3Y/S05OzvktoM8dMQx6Bgd/xYj8iC/vaHEw4Pexu8vFg7t38tK5M+xoaeLJowcJgCYAEITR7ZFopD8hwYRQwI9mRwtKS0pwr/4uetrfYVluLvLy8zErKxvrV6+Cq9uNC5drIYoihD9qHAZwKuz3IWzoaHvfjmZHC169fIWli+3YsnUzvLKMyspK1N64AwAQRfHvG/dKUidJGsEANa/C7s4OOjs+8LWjmdu3bWXsxhMn2mg2mymKIuNfLi4unj4zNTWpsLAQqqqirbUVwWAQFosFHln+y0iAgDmz0yAIAuICfQPf70aj0Un19fW/4plEjLOMjZMX2XOQPW8eVE3D7LQ0LJg/H5MnT8JPbLra8gg0m0gAAAAASUVORK5CYII=","id":984,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"Convert image online","createdAt":"2024-01-02 12:33:54","url":"https://www.aconvert.com/image/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACnklEQVQ4jXVTSUiVURT+7j/4prT3qLA0pGmRljaBi0qwiCzDDMF2SQmGBUlCmyLihRgNbmoVhgsriKzAqTCkEW0TtVBEjUAsSrN85fBPd2yR75H2OnAW95zvfOfjnHOBBaYAAgAvjhb6VQt0Vf7HW8qhYy73X4sXjzeU1PZeKD2WDBMFtL/f/zD+bCg+H/ZrdaMxpyvA7ValZACCCs7kyI1h99XV9uEZBRACqHkEI9HCcCTkr0815EnquZxIZqRAQHEGcArGKGwm+wZn/bU7bg48n6tVWly2JcwNuvBOSGcW3HWUcCzlWTPSs6alY88Kz+MsSFTeqhT6qKNiUz4ApQCixaVsrOvuHfzBSm2XTgaVY7qUOtMOt6c8Yk8xU3ChmTGXOCGCcKaPnYur1xMDjMJYeenT0N7cjN4lxCn+YPkftH6PVI3zUPMEDdxJBc1OM/U1DiOwmJYRysq+u294dCrpWtoqcrYYpj/9QNP7rnjsdnn+6vQ0sd+lirnSoINWsC3a+vIXAYDP9QfzAj5ZqZjHpeRa+0Tqlarr7d/ixR9P55z5bOuduxr7hxY2IwAwWle0Jyuid8NzASLwZdJ9YnC7UVeO4lQKU8NlKC3cFwsc2t3c/64F0A8DIkHQcbwkuD0z9iZisFzLpZ4PLCA4gxQcQigwQbipEeMnNcY+OUblzqaBp/HhawogJY0d9vi0d9Z2PG8RnAB1bcE9T1AqBeUQTBDtl0u8sK5WhAhu1ZYVLE96ia+rNxWtDdkXdS63AsTkkkBIAiXBfQTGGPV97bEWV9fc63kMQM4jSJznulO+hwVvNpsallKpEwmw9frMNVeakU5rWVnd/Wdvk20ufgtasnjrkW010bKCrXONkmLmWRTQVPSPz33jhMqF2N9aDlm+XFfI6AAAAABJRU5ErkJggg==","id":985,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false},{"name":"donaldcwl.github.io/browser-image-compression/example/basic.html","createdAt":"2024-02-08 13:49:52","url":"https://donaldcwl.github.io/browser-image-compression/example/basic.html","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":986,"breadcrumb":["My","wallpapers","\u5de5\u5177"],"ownVisible":false}],"icon":""},{"title":"01-wowpapers","createdAt":"2024-02-11 08:35:39","nav":[{"name":"Ocean Black - Wallpapers Central","createdAt":"2024-02-11 08:35:41","url":"https://wallpapers.ispazio.net/advert/1827169/ocean-black","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":987,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"iPadOS 17 Stock Wallpaper in High Quality by @ispazio | Dark - Wallpapers Central","createdAt":"2024-02-11 08:36:03","url":"https://wallpapers.ispazio.net/advert/1870142/ipados-17-stock-wallpaper-in-high-quality-by-ispazio-dark","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":988,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"Apple Tower Theatre Wallpaper by @ispazio - Wallpapers Central","createdAt":"2023-12-16 07:00:58","url":"https://wallpapers.ispazio.net/advert/apple-tower-theatre-wallpaper-by-ispazio","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":989,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"Holo Pattern | Whatsapp Wallpaper - Wallpapers Central","createdAt":"2024-02-11 08:41:21","url":"https://wallpapers.ispazio.net/advert/1830934/holo-pattern-whatsapp-wallpaper","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":990,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"iPhone 15 Pro Max Concept - Graphite - Wallpapers Central","createdAt":"2024-02-11 08:42:10","url":"https://wallpapers.ispazio.net/advert/1873301/iphone-15-pro-max-concept-graphite","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":991,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"Dunes | DUAL - Wallpapers Central","createdAt":"2024-02-11 08:44:34","url":"https://wallpapers.ispazio.net/advert/1836337/dunes-dual","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":992,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"iPhone 14 Stock Wallpaper - Midnight - Wallpapers Central","createdAt":"2024-02-11 08:45:09","url":"https://wallpapers.ispazio.net/advert/1854357/iphone-14-stock-wallpaper-midnight","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":993,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"macOS gradient wallpapers for iPhone [Download] - iDisqus","createdAt":"2023-12-16 07:00:58","url":"https://idisqus.com/macos-gradient-wallpapers-for-iphone/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRUlEQVQ4jWWTT0hVQRTGf+fcef/kqYFGtLCigqBNUNiq17Z1L1xIgRBa4iZo47JaFAQhtLMQwUW0EBVcJO2k2kSIuKlNBK9NBAWpofe+e2dOi3t9vOrbDJz5vjPfnG9GyCGAAXBr+RK4mygNCMeL7RZB3kI2z/Pmu26NcICRmRqDpx+DTuJKJYIHs4IqoBFkaQphlh+fp1m8u190ua+MnK0wUFmh1n+FeCcAgSyN1CcAhKgMruwBpdqn7G+/5mdylcWPSQTrRuPGE3r6r7O33caCUu6N+LSGrUxjm0tQ64Nj5yPS2EjbKT39Z3BZnY3JNcfE6jCRTBHvegSHoRCMaq/I4EnAsFo/BDNAERzxrifSKSZWXzjUxomqJdI4A1FEjSwROXwKvTgKZoSBE1iWCKIGIpgFXLWE3x9XxBr4zMAUQTAvlGrY1038q4f4tUfYl/dQqoEFQRAwxWeGWENBhgiZ5J2xIsz/IeSpGLmLXDOknfzlYJWcKNIl/qcmnWNMwVqos5yAdAT/OeiIBTNQZ2AtBVnHOQEJhT3rPKBu5LXikhIKzbrS9nOkcYJq7tNCPu3uJhbIa+QcVSGNE9p+TplvbhH8DJV6BGSIBCwIkTN1FVNXMaJS0dgCkFGpRwQ/w3xzK3/KF45GDB95SfXQNZIdQDKyWCXZEwAr14xSLYA5Kn0Q/1riw/dRNr75rmmNREyOPUDtDlGljoVOQCAgCj75TZCnzC7cg0V/kO7fuL18DnFjwGWs+M6iLeANli3wrLnVTf8Dz+MJt/sFlxEAAAAASUVORK5CYII=","id":994,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"Imgur: The magic of the Internet","createdAt":"2023-12-16 07:00:58","url":"https://imgur.com/a/xtIGdVe","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADQ0lEQVQ4jS3R3YtVVRjA4d+71tpnnzlzZsaxsSPp+JGiTEUmJHWRXYRUKkIjgiQiZpRdmBJURMQIZWKYkKDBRIUXUuhVgQXVhfgBEcIQgxYqmOQ0Ot/OcY6zz95rrbeLunr+gEcAaj/u2epKyXuxCI8JagUAkf9FABUUQCHgzGWfF4dGNhw7JbWf9mx1xn2DiNE8RGMQH6NEVYJGIkpURVEQNMFpuZwaVKMv/DZno+nDYrQZfJToMu/pTCpasSV5IKnS7lqo2BKJdYpG+ev+hFxrjPgkLTkrps8BK7QZNCZq27RM3yO92tOxQOakVWa0oKmRQiCIijVOuynLzkuf28Hpv7XFpSuchuhsainqOY3jt3Xzt6vlMwb4+voAc8pVChHUGsQ6ciPSX3tOeyrz5dLUDSqaOmPKRnU2Uhwa09pYi7yy71M2TXfzTHs3U817aCyQEDAhIsHT9LmooIqgqBp/18tU3y1mLk3L+pee5pezA0z+Psr22ip8nqMhoDGgwSMhkiA0Qy7mvx1xxcEJju56jR/O/sbBj/o5feITzPNdvHH5NKlzxOAxQFTF4kjVUPcZRkARjLnqianifeRk/8cs2raM7QMn8CHHRsX7nHrWoFHMUlJoEcNE3sCKARSThYLdu4+w7tnVLNixmM3nj6PBkypkRUYzb3K0ZyNr27uZbjZok4Tx/B4Wg6IYZ606W2LZ4of0emOEsZm7lDFkRZM8z/ji8S10Xcx4J1nDjoWrqOf3acRcrTEoqJmdLeSFdU/y4aGTsnZokR5Y08vNqRGyZsbJp3biz4yz74N+9u/7kjcbq/hjekjv5vfFYhBEpC3tLWrzO+zQ8BidHVU5f+6I/vzgdVlerZF/N8WWXQfonNvG6D+TPLxxibK3Q+6FTB0GFQmmpZRca620ypz2aljZs5AXN7wvi86V9eZXN9j08n4OH36dJ5YuxT1a0fqrJZnRJlZtoGQFuGZTVk6MT8xsrlQqdv3GNfHChSt8f+ZXGb4zye3hSUZvTHFrXh337lwptSdKISqptSgxEPba2fDnlarruTqbFcvPXRycZ1RMe1sLra1lmRyuc6ergXm7k6TDqWYKVqJYM+gL/9bI+mOn/gWZFaGEUyA9lwAAAABJRU5ErkJggg==","id":995,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false},{"name":"30+ Stunning HD Purple Tone Phone Wallpapers","createdAt":"2024-02-11 09:05:27","url":"https://www.ideasdonuts.com/purple-tone-phone-wallpapers/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACt0lEQVQ4jY2TMUtjaRSG33PnRqLCTGVlFK1stFC0UpKQaBPBTi5WVsYfYGG3uzM4hXZX7BTsBBGConDBIIkiWKRQCyE25iYSi2Ay60RC5Oaedwt1WJcp9ik/TnO+8zwg+YnkV5JVkr7v+z5J5W9otVo+SZ9kjeQ3kqaQ/APAVwBQVTUMwwCAy8tLuK4Lkujp6cHo6ChEBCRVRAy88k1I/iD5haQahvEpk8lgY2ODJKWvrw8igmKxCM/zmEwmZXp6GiR9AIaI/ISq0vd9JcnNzU1GIhHd39/n8/Mza7Uaa7UaG40GHcdhLBZT27bJ111VVYlWq6UkeXZ2puPj4/r4+MinpycWCgW6rsv7+3uWSiVWq1XW63VGo1E9OjrStz9RUVUlKXNzc7QsS8LhMOr1Oi4uLuA4DkgiHo9jamoKgUAANzc3sG2be3t7EggEaIiI3N7eotlsSiKRQKPRwPn5Oba3tzE/P49kMond3V04joNms4loNIpgMChXV1cQETFJ4u7uDt3d3QgGg+jt7cXJyQmWl5cxOTkJAOjs7MTa2hoWFhYAAP39/cjn8xgbG4MBAKZp4uHhAYVCAel0Gul0Gh0dHXinvb0d2WwWqVQKxWIRpVIJpmkCAIQkXddFJBLB0NAQurq6EAqFkMvlsLS0hLa2NqyurmJ4eBiVSgWVSgW5XA7Hx8cYHBx8lcf3fVqWpQcHB7+sS6VStCyLs7Oz3NnZ+fV+enrKmZkZfXl5oarqhzOGw2Etl8u/s5gkWa1WGY/H9fDw8F1t/SDS1tYWJyYm1HEcep737waYyWQYi8V0fX39g0iiqn8D+PyucjabhW3bFBEJhUIQEZTLZXiex8XFRUkkElBVlVfqQvIvAH8C+BDK9fU18vk8VBUDAwMYGRnBf2cArICkSXLlLdH/m/MPkt9JBv4BpIho0YzrPsQAAAAASUVORK5CYII=","id":996,"breadcrumb":["My","wallpapers","01-wowpapers"],"ownVisible":false}],"icon":""},{"title":"02-bestwallpaper","createdAt":"2024-02-11 08:08:51","nav":[{"name":"Wallpaperize Backgrounds","createdAt":"2024-02-11 08:08:57","url":"https://www.wallpaperize.cc/search/label/MINIMALISTIC","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==","id":997,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Cool Phone Wallpapers - Aesthetic Phone Backgrounds - Its Lit \u{1f525}","createdAt":"2024-02-11 08:11:15","url":"https://wallpapers-clan.com/wallpapers/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=","id":998,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Iron Man | Marvel - Wallpapers Central","createdAt":"2024-02-11 08:36:12","url":"https://wallpapers.ispazio.net/advert/1828062/iron-man","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":999,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Lake, The Beach Day \u2013 Official from iOS 14.2 | Stock Wallpaper - Wallpapers Central","createdAt":"2024-02-11 08:42:24","url":"https://wallpapers.ispazio.net/advert/1836678/lake-the-beach-day-official-from-ios-14-2-stock-wallpaper","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":1000,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Traditional Chinese Landscape Ink Painting Apple Bundle - Etsy Taiwan","createdAt":"2023-12-16 07:00:58","url":"https://www.etsy.com/listing/1457989156/traditional-chinese-landscape-ink?epik=dj0yJnU9Rlc4X1QxY1BubEl6dXNHWW9QdU5lNDVhRHdNRWZlYWomcD0wJm49R3dCdUdCVUptWHFJUHhpY0lJaUtZZyZ0PUFBQUFBR1RxSlo4","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAB40lEQVQ4jV2SPWsVYRSEn3l3996YD4wxEkG0ERurgFj4C7QxAf+AQmwMFnY2GtL4D0RBsLP1u1CwCWIqG600YGGhEDAESbI3yd3dMxZ7E6OnPsM588yonAPhAEAAmP9HSGAQOcJGnQ5KVLsIUn5g16SCqF1XEkCOEjuRpi8VlxewcdDvEYFwWGOT6fDx3SfzzfIzRhKOHAddms9vvLrSvfNRQ2Pbd896Y11Fct/Z6enu/Auaev9ijpGIpoqfK177ztQZ//rmXkUGDfXy2/ziBw2POwYG9zwklDIpKWXqjhAlQZo64XKnenmPrVV1wAZyQC0lB2Db67+jhKBzbaH59Lxeeq0xBgKR74MDU+8o5Z25h65rdYey6dl66YFGkwo5GoQg/cPbByKIAIOJQJKQGbw0CEuQdRxN//GN9qWhW6HhIwTerikgoVbgdluJlEloYjwNlYjq6W27cUF+/kp8eedyk4zUmsY4wmCH+z33K+rKWxteK9Oxk8XMoqP5m4OFg3T4qEYnlHfTqXPx46uKhNHkROfqfZfrbPUoWkHK6DX5hdnOzKKKQ2xvdm++ot6lbVtKGp2s3z8ikARWeR0HGh4j71LtILUp7sEImpqoXe22WHOMEi438eYg/YMN116904DkHxvv8NdPLeR5AAAAAElFTkSuQmCC","id":1001,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Relive the Nostalgia with Sony Dynamicron T-120 Video Cassette VHS Wallpaper","createdAt":"2023-12-16 07:00:58","url":"https://www.wallpaperize.cc/2023/02/sony-dynamicron-t-120-video-cassette-vhs-wallpaper-iphone.html","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==","id":1002,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"LCARS 2023 Star Trek Wallpapers | gedblog","createdAt":"2024-02-11 08:52:52","url":"https://gedblog.com/2023/03/09/lcars-2023-star-trek-wallpapers/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAuUlEQVQ4jWNkYGBgOF/K95+BDGDY/YmR8XwZP1maYYCFkZGREv0MLIxM2A3Qa3uHVfxSlRBxBuAC6OpZGJmYUAR0ml4zMDAwMFypE8VhAKp6FgY0ATjAJY4GcHoBJq5d9wJF/GqTBLoB2G0iVpyFCYdCmPiNNhkGBgYGBo2qJyjiRHuBkDhGIN7skmdgYGBgUK94jNUAdPU4wwAXQFfPeKtXkcK8QGJKxHARAwMDw50JymS5QqXgLiMAzbscf1WKWFsAAAAASUVORK5CYII=","id":1003,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Download \xbb ArtStore - Beautiful Wallpapers","createdAt":"2024-02-11 08:53:23","url":"https://artstore.asia/download/2397/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACw0lEQVQ4jZWTX4jUVRTHP+f+7vxmZmdad9yadm0N2cRQIyOhl9KwXoRKkTCCoOilyB580h4KXKiIgqAewqiXMuq1iJCK6C0QM3c3cMnUaVUo/8yqM+Puztzf757Tw+zSRk994XAPXw7nHA6fKwBmEw4O7Qd2A2X+kazIbYV3BXhPRH4AJvz1Vnjf/r9aZvYYE2/89GavZ2amamaZmcWoGlUtqlo0+0/kZhaWmvziS8K+NEVBRFW9OIcT+dfiqoYIiBMD3FIYMOpLYgMaTVwiOOfAjB8vX+XrP66zpVziufvGcEnSrzfExJavISJivurV1EwcQicE++hcQ744dpabl+HYHbeyoR0YPTFI5aGU+gNDWDQkcQhghnOVJJI4Ryf07PCZU3J06jR7yTny5EayrvLdi+eZPDjN9GeTZBpwIojmxG6LGBbNrXJRQp7x1YXfOHW1ybYQOPDUo9w47pk/26HyeMBt+50rMyfBFYkaaHx/mEuNSRYXOrhhl/Fr8yJnFlvUb87z7CP38/ORJp++dBzrttn6wjo2j9apJVXipdM033mePxszJGmV8mDdu0Le5sLCNVSNe2oVav42vpyYYmDrAmlYZDAUqBRSarPTnHt6B43Gecb3vMrw2s34hMwN+Z4Vc6A5x6bVdcR5urHH7Jwx2G4zNrKKwl1lkr9mmd2wnfXvfmtrRsekUOwD66vlyIO3jzOe3GLr164jLRVlz8eb6B09wc5d97JmuM7c3rspbXmFHU9st4pzYqomzvWxvvbh2z2L0fosqpmZ9iHLVnpL0r6hukxlw/m5ky27OGM5YAgKogaKJxogggGqoAgRkRxZpvGT5NDD5dw1p3Ymq0eQgSHEckQDogG39IoGxAISezgyXHYDup0PSKuvCUB4a2SfH0hftqE7a5IUTa0/Yvkzm4GI9QH2fj7G9HP/zDevC+jfCEzIHkv+fzcAAAAASUVORK5CYII=","id":1004,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Ship & Swans Light Blue Wallpapers - Light Blue Wallpaper iPhone","createdAt":"2024-02-11 09:33:15","url":"https://wallpapers-clan.com/wallpapers/ship-swans-light-blue/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=","id":1005,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Wallpaperize","createdAt":"2024-02-17 03:56:31","url":"https://www.wallpaperize.cc/search/label/GAMEBOY%20WALLPAPER","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbklEQVQ4jaWTO2hUQRSGz8y9e7Ovu4RETYhBYuGjio0g+CCNjZpAVFaIDyy0tLJQK4kWtooEY2GRJqKrTRBEETWCAcFYCIpCEoyvDdnNZrOPe/fOzJ35LTbRqLExfzXnn3PmwfkO0SrFlhYA+E+TMQOALdsHYwzLCxfzf/P+/wXA1Aal2i5rTRFjwmIi4Z7xMHMgopr6AGLGmOexWOwWAM4YAXiTkrLzulJylIiIurqye2ZmQgAGADA/pXbfPZcfxKKq1er38fFsvJ/q3xweLlwDgHLZO0X9IE4kjgwMFHygJKQW4aex4NExqj2Znqr4taAcBIEw2Wyxl4iomeZ6Hz/0pUFpOpN5nyQCMYdqF/q6K3mlS7LqVczs53LQw8Tb24MLuRAlHSpAo3KTqLbxUEfpnfCBIPBuEBFxYoTWqNWRG3XK3ya15Jyhqd046/fLxP179gIMmBCBCTTr2Rengd5urHVikoRnjdQPoIkGNxWui1dtOfmUV7hjuMUs2pXWqa3bVZSTTUIoWIzaTp7wt+04yBKC5Jex4Wej9S7EvbYdLoY6c4mWnXurTvqB3gxpURhqIiJEYxZXisA4SMtQpBobYzKUV6NO9CwAzikeR0vEku3NopW/aOClDwh4jAznXDsNFsvlw5Bxo2FIM9u2pJCkhBpZ4oDTHBWaLXNxTTK80ij1K2+EinE7abtJN2LI8NNHzcTrl2S7rhtJua4jVTieTCbHloj9i6yPbn5L8Wvxku/7dypi9jBRof183/xxzysP1Wq1oVyutGkRZbasrJ+nKWOtyCqIrej/SyAwZGAB4PWBAUunf8V/3Lx6/QB5Wmv1+UIz9gAAAABJRU5ErkJggg==","id":1006,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"Classic iPod wallpapers for iPhone (Free HD download) - iGeeksBlog","createdAt":"2024-02-17 03:56:44","url":"https://www.igeeksblog.com/ipod-wallpapers-for-iphone/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACi0lEQVQ4jW2TS4iVdRjGf8/7ff9zPHMcs+ME4QQVOIkcyEUtCqqRiiCIZCKkqFWFBKHr3LV0a9NiFrWRLnQhGMKgs8hxkgxy18JyEYSXiJKZUc94Lt/3f1qcMVz07h/e5yoAG0kYwL/xBJk3EfOuuA9AictkVgk+1F7O3okRW+fzTLGT49S8TanE0DjLAAqLpqDymIIl1nlXj7IJIL9HsEDLLb5Wm+e8pmyTJWLrCzbGZAWhjsM36ekWL/Ewm9qi/T7bOZL/YWiRdFvQBIxu85StzFgdmvRZ1F6Oyhd4HHEGKVEC2ZBlArkGFUCNrYkUW1l2AGMy8+W45nCaIX3xqasvv6N4/SCcOGnWNqAI/NoLsHYd9X7EgyG+a9p651WqQ6+Q6jUOR4gDDHFKxL274NvTcPon1J3D19bRqRV09jz+5SJ68hFY/RlOLhMgYw6UrpilltY3zF/XoN2CXTvxGy+j3TPw4G5YXkHTbby9DZ0d8OLTiIFFzWzYQDK//g7L38NgCM0EFy7C0ufwVQ/KgNEILl2dWDS1DfCkBEHJFUpcFLiRoK7h6t/ojz/xdBtubMJgiCXUnYP1G/DZKUzLVnAlgBUK6Z67yXP3w7OPQXcP/uQblAr8/FO4uwdNT+EPPoaHHoCDz5AJCViZxBicySNU1YrGNsd4hENQjVGzBdUI1xnKEqosNxsOYhJjaB/ngKWYoWwUrvKYnApRhGg2ca7kshDNJBUBzXDFDgCWtI9zYSMGHPMGPTo0JJFr6pxxzpMKGpwzlS3ToeE+PQYcs1FIWPvp6yYL3GJRyXW0KaNwSJMaKxzRplRyTZ9FXWdB++n/t8b/mfNbwLxrZgFUcjmb1Zz5KHX54U7Mvz7fN6zfi4ePAAAAAElFTkSuQmCC","id":1007,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false},{"name":"GameBoy Wallpaper iPhone | GBA Famicom Edition - Wallpapers Central","createdAt":"2024-02-17 04:24:24","url":"https://wallpapers.ispazio.net/advert/1872604/gameboy-wallpaper-iphone-gba-famicom-edition","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":1008,"breadcrumb":["My","wallpapers","02-bestwallpaper"],"ownVisible":false}],"icon":""},{"title":"03-wallpapers","createdAt":"2024-02-11 08:09:24","nav":[{"name":"Ultra HD, 4K, 8K Wallpapers for Desktop & Mobile | Wallpaper.cam","createdAt":"2024-02-08 13:49:52","url":"https://www.wallpaper.cam/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAx0lEQVQ4ja2SzQ2CQBBGn9wMp73TwTZgYgV0QA1GK5ACKIAGtAmudMDJGijAhCteZpMvm10k0S+ZhHnzywD8qEPkrzvripBbRIF2R3Grg+INABbgaM9P4B3Fr98m1DZhBfodG+HMSmGTNKkSNaUYsyQ7S6iETYniEJsBvIBREh/Ca+GDcJ+CZ0kObDFfhw2ba5kuwu/AS3y9GQCdBG/C9UbBusRhwVYNSUGnRIOsmsw/MApvthog7+mFucR9svLxhU199IX+ow+Ipksw4z4/ngAAAABJRU5ErkJggg==","id":1009,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Stunning 4K Desktop Wallpapers - Free & HD Full Screen","createdAt":"2024-02-11 08:11:44","url":"https://wallpapers-clan.com/desktop-wallpapers/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVQ4jW2TzWpUQRCFv9Nz72SSmLhKHFBwKf4tFdy5cSUxPoZufA1BVxLEuPMRROILmLUIoojRoItgfsQQdZyZ3Jlbx8W9E5OMtenu4nR31Tmn9OXK47bz5rKSFoyxkSOkJJAAwMZhlJIlLITNStHt3c2c58uTzhY7v/4EILKk1MpwUeKiBEB5A000iP5ADALAJ6ambzHVVBbDWCzaecxcPyeSVO503H2zqebZkzTPzYGgWN+l+PSDycttZ6dnhKH4sBOxsb/A2qWl2HmwGq6j927La5eXvPvs9Sjlvefv/fHCI3defT3IfX+4GmuXliKrexTGtlX1WvXvcNUCQhKOqLiQHGUI4YSQbVxxcxC2/7tHVNj6lAFI1Q+jvW3USFUlgBoJlzGGA8g4FqPLw60OvbdbYDP49pvGyRYu4zh8/AEGQWNumtnb58nbJ3AYl0E+Pz0GBUhjFQgI42Fg1WYKiN6QwxwdqcD2P6JSouzss3nvJWkyr1xYmvJHl1P3bxzgRmuGsSRVYljYSKL82Sf2+jXXqkisJECSKz1wzYFcSS2UxlUAcBk4McopNZIx6PPVJ87bMzFx8ZRIqNz+4967baF/UgF4GLTOzzs7MytsFx92XGz8Slq/9vTFlJsLne7RYTrKbG2g/SEehOthSr00WMkG/eJOdyqRzbZuVm4GR+iwWVDtj1buNFlZthfDlbLTv/sXSlRJcgO3LRYAAAAASUVORK5CYII=","id":1010,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Nature - Vector 8K - Wallpapers Central","createdAt":"2024-02-11 08:34:02","url":"https://wallpapers.ispazio.net/advert/1841756/nature-vector-8k","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3klEQVQ4jU2TMWwcVRRFz/v/z8zO2t6EGEQAQSRbiiwDFRR0QEQTKqQIUdFQ00ORCiEhaFOmQAjRIdFFtBQpkCKKCBmEsTHeGHu9Xu+uZ70zOzP/PQqHiOqc5ha3OAKwuPP2rTR3n8XWNgwTAJDHNHgihoiZ8+73ptLb2cc//SCLOx+8H0S/ccHldWMqmNj/xwbIhYqomaqlwZwa87aRD4OVl76QJM2rSlqceLtYX0C4MDMQM0xFtGZRxjb1dLWNXwaqlbWqSU185q2J4ry36L0ASF2DgAUPGkWqcyN6Mae+NDUnsh50voSlHSFkVGsvWRWjLPcHuOCpN6/RlCWdnT4Opbq+Ke341Lo7u/L4lTmd51gRqFeft3jzhpy9+QZHnR6LV14lee8m7bvvMHz6Ocqr1xjfeItfN1+Wk7hi9chRFwkhFl5cSGhHUVg0XF5eZvDaBoNel6vFjF6eU7y+waSOHPb/prO1R9Wfiy6UTpaIk6nD5h7/55j4sE/aybi8/gKH0zFH/QMS57iy/iKzK0vo3j+sPthjvD9hMmmopoqTeYTzFlc06P1taJW2jVTnc9rRKajhcExGp/QGE4bbR0yKkrpsiGUkMFekbiH1+F8OqH57xKQHqXecb+0zXF6lenYFnUxh+5ij/RF5kiELcM7h5AxjGpGpWna4oPruZ4YnQ9IsML73kK279zg4PSYdnDK4v0OcKVkTLKsTOmWwoIWAU/BRhGDdH/vyzO4xM1tgDw4peES5NyIZFlR/nNELXcsXmXTJSDVFitWvVAVEDBOTaGblfCYnzYwiaWg14qqIeQdBzIuXXsjtqdBlyeUEPdPdzMJ6rbFFxAsmCV27ZE7SpkZRnPOIYrGK4sVZxxJdcV1vYjuhzYpP2k77rUPyxlRNDDUVb0puetGSPK7TzASxjou+YVHaInwqAHtrH90Kjs8bi9f/y1kvKngSo4CZGU6cJYTtRu322l9ff/8viN2pk9Uw0+IAAAAASUVORK5CYII=","id":1011,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Popular Desktop Wallpapers, Images and Pictures - Download Free Backgrounds","createdAt":"2024-02-11 08:47:46","url":"https://wallspic.com/album/popular/for_desktop","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsklEQVQ4jVWTO4hdZRSFv73/x7n3ztwzucMomkJkfDNgIcEgNk4iQopgZ6GN1qKlYCGexoBGESwEC0tR1CZJp2hACwVBEwuJzIBIUBLJDMPNfc05//9vi8z4WO3mY7MWawmAGSKCXT/H49WC5/c7TpdObhezLBX7MfKVRj5eeZpPAKxBpaEAyCG8c47XbcardZ8qC0w7rO9FZhMjBkDAHF+myMtrp7nSNGjTUARg9wKv1Mqbc4WwypZFzvrIlTzn+OIvmjSRyjCGPXwH11KPU6OnuGQgsviW9ekOlwYjBtVRSq54MtzFNxxo+h3vVVNe2hvTASz1JMyS/bo65JhsMtHFmGfq2xiGO9GUmF37nh/sIt62qOwiXoTfXQ80CBrx82zt6hF5YNzyAoBqZMXfAaWQXGBp7UEelU0SX1Nkk9R1PJEMXDRxETTiElZwPGuG82GNTIXRUsRRucjbtsVJuY/x/DIndcapxZxMwAGiIB2Ieu69cZ6BuorfyhyxQuhm5NDnWNvxWXuZ47bgfVUcAVwEFzEJiHgEj+wFRKY/clQyP4fAqOswMSRUaMq0JGLKmOq/XQHMKZoKu4MV7talR/gz3eQtn9A8oXQ3sbZlZkIwT3EVSEC0OvgesNDHXOQ6mX21Bh2e4OyNP/iw1xLEkd2ASjxoPIAjJh7RgImnSI3guCAbtMJ/tPs5Ly7dr++6Hr5kkP9dASjqwIw2deXh3gbbCmCf4gBGj/V/8kvLitWmumwiNSI1UAssGwyL1rWzXL3W22DbGtQD8AsGkKY68FXtSiYZ5kBuBVcsoerdEdWyM/8gPLT3jhkqcrCFw0UCmrfv+cKNBidsr2SzoiIiMlBsP83Mpm+49atn7JY7A9B/3AmIkJ0fP5fH5TzSU3XLBmFCKx+l2WTTrV89Yw16CAP8DfU4LOFrYcKVAAAAAElFTkSuQmCC","id":1012,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Heroscreen Backgrounds","createdAt":"2024-02-08 13:49:52","url":"https://www.heroscreen.cc/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAApUlEQVQ4jZ3TMQoCMRBA0T+TqFh4pL2BjaWCCDbexcpGD2Ch99A7uYVsxkrRXZNN9kMgE8hLFeG+POJGC4zAd4JhCNFEaB4Hj47XqMxa199IPCfAdKuE5xXvwKxsBQOxoFSXHXV9ZuITz8VTAKrLZiiin91ARH+mAYh2TgqRLlCI/AcKkDiQiaSBDKQf6EHygASSD7QRFQiiqf8W77Y64fycpt6/AGwlXQXtuVx5AAAAAElFTkSuQmCC","id":1013,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Post36 - Google \u4e91\u7aef\u786c\u76d8","createdAt":"2023-12-16 07:00:58","url":"https://drive.google.com/drive/folders/13hPJn3J6f1qfen4DVz-Cy60tq93CH3_7","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtklEQVQ4jZ1TTWhUVxT+zjn33TczeTNm8rMwMgzUhVWKjotutAGlVhRKKW0tgnEhrtwKapGALy76Q7sRXNlNq4tKbAvRnSB1U6EtSKWlUGml2FaCzSKZZJz33n33HhdJNNCsPMtzvj84fMD/h9bZAQB0nZtZh6zbvjjwei93h0PmCACqFdaLAw+u0sTDW6uY9dwIALZNv9lKotov891uwy32sQCLt+vzuDR0t/u467dvPIKHK2AFAH5GT5eVqxSfJ+HGANuszHyRZEVx1vyeifGN4SqmCNAVLJ4LpGCkCJ1v3tktRibKXuFja2KXNOyJxiO7Oe5WskV4I5jQGeymFEHTZe7zBAqKAn8EQAAEFdGkWZs9PvTPLASBgEAEKQM+Vl2bYMV959fvHeVYxn1elgDIVIW7Uj81utifQg1MBHIZSmPxmp/B0dUUBIBemt7XGOLBe0TUCoX3bCWC6s8//frKq/oopfIgfmRGp8zhTAQB8Dc77MD76DIAbfLwSYltOxQ+ACwkjCA4gzQt6RKcIXwAYSggrkDgGG0YnCRAafv0W1ti0TvqaRBBPVclKotw9e6hmSNIp8whANfSc0G/3XAFlaXDRR/OsAoM5jnoLmp9+MM4u+S74BwRASxE7UrrvuXGgkcQA0WPbNhcPKhf+O3dLcF5VQJiYTW2v1e6tz7/N+4MdIg2bs2WYt+kUW5Wk5EAbGLQWICMVdVt+iMaGRmc7aPz1+3AbkzcnF5v3Lj3KQPkOZ6bBHp5xXoeTdS7su98/qT0rl+GolfmRVY28yfuy5eP+f+GWmx4Ic/rOgmQCqC89P3g43jXmag9OrwnsZYhViSKmSPLHFmmqMIxk8zVahxV2jT+5+XP6rfvf6VYfiMAJYB0/yfuDaehCYVnXtsTjxBEQYXknMzfOU03FSBaU6oXnqcPZiRKuF2x1gAAAABJRU5ErkJggg==","id":1014,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"\u58c1\u7eb8 - MACGF","createdAt":"2024-02-12 03:43:17","url":"https://www.macgf.com/wallpaper","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVQ4ja2TSWhTYRSFv/9/r69/mmZo05gQdVMoGBUp6EZdiRPoQpQ6oKLghCsHUHCnC3XjgK66sQ4IFoqo4MaCQ+sAgiIqWBCs0lZtwQ5pmzyb5L1cFylYbHXlgctdnHu5B849MA2brXL9X2hos8od9Y850cZc3R0I3N8OEgapAKmcwjsgeuqGmtIFZF4stqbLcbrVxMTqd6VS8odSxUoR/1M+n+p0nL5Vvj9rIJc7fhKUOylNFBywAQtGq2x7AM+rG4faZ56XuFEs1rWIRHRV1fOr4XDzTmPajwLJPwQAiGXM9b21tfu/Q2EJbNoImEkyDN+W19Wt7Y3FVvSBJMqHwYae+cFg62rbPpTWOtOUy23dA04v3H0Feh0MPoG1n2FHk+seOeg47deBPCgBlI5GLz4MBLou+X5ik+ct+JLPr38BSz3oaIXbTxOJDgsqSzAqrruhHfLjkcjhc47TuxDEVsa0rnScD/u0HllWKv30xsbc1zD7E2Q/wuY+iGTgVgxOd0GVBIPXztv218VaD8z2vMhj9due2xsaGy+3NTWtoLPzLZ5nGBrKYtvVhcFBNzcxIQUR7fp+xCkWG1zL+lbt+8mXNrRZIqqolHR43qMfuVwmWl8/R9LpeiuTGaK/v99paFjkDA+Pkc1+p6Wle0ipYzszmeQHSI5MKjil4SS23XzCmLNnqqtHCyIhHY/HtdaaVGquHwgUpKfHd9682XYM9l6YwUYUSDgavXglkWiUVKpG4vGQxOMhqakJSjicFss60wwSKmelbOMMfy3GmAdbjbmzq6KiLy1iF0Xq3+fzW25ms8vvgSrM9Moz5SIIhIASMA7q599np2FanNXfIv4LkuH+RJk7XFQAAAAASUVORK5CYII=","id":1015,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Top Wallpapers - wallhaven.cc","createdAt":"2024-02-12 15:13:35","url":"https://wallhaven.cc/toplist?page=3","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC","id":1016,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Peder M\xf8nsted - Snekl\xe6dt landskab med pige g\xe5ende p\xe5 vej - 1923 - PICRYL - Public Domain Media Search Engine Public Domain Image","createdAt":"2023-12-16 07:00:58","url":"https://jenikirbyhistory.getarchive.net/amp/media/peder-monsted-sneklaedt-landskab-med-pige-gaende-pa-vej-1923-47ccfc","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1017,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Artistic Ocean HD Digital Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den","createdAt":"2023-12-16 07:00:58","url":"https://wallpapersden.com/artistic-ocean-hd-digital-wallpaper/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC","id":1018,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Colorful Earth HD Minimal AI Art Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den","createdAt":"2023-12-16 07:00:58","url":"https://wallpapersden.com/colorful-earth-hd-minimal-ai-art-wallpaper/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC","id":1019,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"2932x2932 Earth HD Colorful Paper AI Art Ipad Pro Retina Display Wallpaper, HD Artist 4K Wallpapers, Images, Photos and Background - Wallpapers Den","createdAt":"2023-12-16 07:00:58","url":"https://wallpapersden.com/earth-hd-colorful-paper-ai-art-wallpaper/2932x2932/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC60lEQVQ4jV2T32scVRzFPzN3ZrLJZibd2enSlmjxJfpijGk2aTex9UfUphErCQREwQdfCkKpoFANavogCGqe/AGi/4FQ8KWkRCjGWne3m6YpFFtKBUmy3STrJm12N3Hm3vFhzTTm+3Tv5Zxzv/d7z9HYVf39/QeCIDjj+8GgaZpPAv8oJa8KYf4ehnIym82WduK1nZuent5xIfSzq6srVrVas6SUAAghcBynkkgkRBiqc7lcbnKbI7YXnZ1dH2xu1t9fWFhwtra2hFIqElZKUa/XmyuVSpOui86DBx+9XywWZyOB7u6eiVqterZcLju7n7Szxicmeaq7zy7dW+pLuq5aXFy4oqfT6X1C6O8dGRiMf/P9jwwcHYwII2NvcSidAaClJc7Q8Chjr7+Nl9qf0jTOZTKZlBGG2vjaWiXe/shj9B4+iuMk+PWXaQZfepUPP/4cgFdefJrOrjSx5maklMxcuohpGkYy6Z7Ww1D2bGxssFmvARCLxQAYPjkWdZJwPY49NwTA3GyWWq1KtVqNSan6dcMwD0kpebBxHwBdGNhOG31Hno0EHGcPmWdeAGDqwnkApJSYpnlYD0MUwPra3wBYlsXLQyNYlvXwe3sHsO3GfK9dvRKdh2Ho60oFs0IIVlca/mhqinF8eASAu3duAXB8eBSA5VKRP+/eBsAwDILAn9M1TZttbW1Vy6Vio922PXR191G6t8QP3zX8sv9AOwCXZ36ObrdtOzAMI6srpT51XXdrZbmI7/sI0fDW9NRP3Lhe+J8PZi5NPRxsIuGHYfiZXigUirVa9QRo63du34wAFy+cZ2nxL+bn8gD4vk8hfxkA13XXpQwmcrlcOcqC53mPH3v+xPRro2+0A7z7zpuR2N7UPpLeXv64eYNUKlU2DOuj+flr37I7TEA8mfS+EEKcEkIQBAH8F6Z4PL7peZ5USn6Sz+e/3CbsFgCgo6PjCdtu+9owRJemaS1BEMzouvhNSv+rQqGwuhP7L+95HOzwS6I8AAAAAElFTkSuQmCC","id":1020,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"Wallpaper Search: like:7p1v9y - wallhaven.cc","createdAt":"2024-02-12 15:19:29","url":"https://wallhaven.cc/search?q=like%3A7p1v9y&page=4","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC","id":1021,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false},{"name":"long hair, looking at viewer, Pixiv, anime, anime girls, umbrella, water, heels, flowers, leaves, flower in hair, rocks, waterfall, dress | 3186x1826 Wallpaper - wallhaven.cc","createdAt":"2023-12-16 07:00:58","url":"https://wallhaven.cc/w/yxg88x","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACtUlEQVQ4jZWTv08jVxSFv/dmPAbv2kbyJhKOIAUIZAQFEhIFBTRLxT+QkpqKOkgp6dmgbBWlWjo6N3FBwVIgKgvJRFhipSWLvCba4IGM5837lcLYkZIqR7o6rzmf7n26V3jvo+vr66+enp7GtdaCZ+Xzef4tpRR58ric8y9fft2XMv1DtNvtH8Bth2H0bRRFSBkAHiEGrIF7vAfvwVpDlmUYbW5FGPwsms3m58L4eLnw4kUQRZEIgsAPg0MIgPceax0TEyWc89zefrRPj09xqJR6VS6XhfdeGGO8MUYMw1JKvPcjQC6X482bH+l0On5nZyfQxlRCY40QApxzHhBhGAIC7/8Zw3uPDCQHBwfUajUWFxcBsNYK6axDa4MxRjjniOOYRuNXjo+P2dzc5P7+Hucc70/f02632djYYHl5WVhrsdYhrbWjsHOOvb09ZmdnmZubY2lpiZmZGcrlMkdHR2xtbZFlGXEcY60V1hpklmXCGMOAaGm1WkxPT1Ov1ymVSpyennJ2dkar1WJ1dRXnHN57jBl0LZ8fDCH7+/s45zg5OWF9fR3vPZeXl8zPzxNFEc8djyq0xnpjDIMPzLGyssLFxQULCwu83nyNFJJms8na2hpaa4wxQ/fGGGQ/7aOUIk1T/+nT71xdXXF+fs7u7i7dbpdut0u9XqdarRLHMUoptNY+yzLSNCXMsowkSUjTVBweHvrJyUmxvb3N2NgYaT9FCEGhUKDRaKCUolarYYxBKUWWacTbtz/FlcqrqFgsUqlUCIIArTVSytE2FotFtNb0+32SJEEpxePjI1++/KnDTufzuyTpf1etflPKsowoisjlcgRBMAL0ej0AnHNYa0mShLu7u78eHh7ehTc3N99PTU39YgwThUIgpcyJIAgAGPrz1o3cWut6vV6v2fzw239O9v/qb1y+r4hqE7hHAAAAAElFTkSuQmCC","id":1022,"breadcrumb":["My","wallpapers","03-wallpapers"],"ownVisible":false}],"icon":""}]},{"title":"\u82f1\u6587\u7f51\u7ad9","createdAt":"2023-12-16 07:00:58","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"CNET: Product reviews, advice, how-tos and the latest news","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.cnet.com/","urls":{},"desc":"","rate":5,"id":1023,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"The Latest Technology Product Reviews, News, Tips, and Deals | PCMag","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.pcmag.com/","urls":{},"desc":"","rate":5,"id":1024,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Our Solar System \u2014 Google \u827a\u672f\u4e0e\u6587\u5316","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://artsandculture.google.com/project/explore-the-solar-system","urls":{},"desc":"","rate":5,"id":1025,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"NPR - Breaking News, Analysis, Music, Arts & Podcasts : NPR","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.npr.org/","urls":{},"desc":"","rate":5,"id":1026,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"The Difference between the U.K., Great Britain, England, and the British Isles","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.infoplease.com/geography/difference-between-uk-great-britain-england","urls":{},"desc":"","rate":5,"id":1027,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"four-day workday - Google Search","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.google.com/search?q=four-day+workday&newwindow=1&rlz=1C1GCEA_enCN904CN904&sxsrf=ALiCzsa9sGYC_DBLIJKEHcZwqCEtGH9tLA%3A1665217625269&ei=WTRBY8j6D-2gqtsP_qaV8Ao&ved=0ahUKEwiIi5yIm9D6AhVtkGoFHX5TBa4Q4dUDCA4&uact=5&oq=four-day+workday&gs_lcp=Cgdnd3Mtd2l6EAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyCggAEEcQ1gQQsAMyBwgAELADEEMyDQgAEOQCENYEELADGAEyDQgAEOQCENYEELADGAEyDQgAEOQCENYEELADGAEyDwguENQCEMgDELADEEMYAjIPCC4Q1AIQyAMQsAMQQxgCMg8ILhDUAhDIAxCwAxBDGAIyDwguENQCEMgDELADEEMYAkoECEEYAEoECEYYAVDoB1joB2CICmgBcAF4AIABAIgBAJIBAJgBAKABAqABAcgBD8ABAdoBBggBEAEYCdoBBggCEAEYCA&sclient=gws-wiz","urls":{},"desc":"","rate":5,"id":1028,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"five day work week history - Google Search","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.google.com/search?q=five+day+work+week+history&newwindow=1&rlz=1C1GCEA_enCN904CN904&sxsrf=ALiCzsYOO2HGUPghq_j0Pe_NLrQ1L4gnGg%3A1665217800782&ei=CDVBY5WkL-6lqtsP5fuO4AQ&oq=five-day+workday&gs_lcp=Cgdnd3Mtd2l6EAMYATIFCAAQogQyBQgAEKIEMgUIABCiBDoKCAAQRxDWBBCwAzoICAAQHhAIEAdKBAhBGABKBAhGGABQoCJYlS5gjVFoAXABeACAAcUCiAHCDpIBBTItMi40mAEAoAEByAEIwAEB&sclient=gws-wiz","urls":{},"desc":"","rate":5,"id":1029,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"inflation - Google Search","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.google.com/search?q=inflation&newwindow=1&rlz=1C1GCEA_enCN904CN904&sxsrf=ALiCzsagqBM_ytrARbeUCQW-uguNwxT3Hw%3A1665221373060&ei=_UJBY-KnA8KnqtsP2-2ymAY&ved=0ahUKEwiimqeDqdD6AhXCk2oFHdu2DGMQ4dUDCA4&uact=5&oq=inflation&gs_lcp=Cgdnd3Mtd2l6EAMyCAgAELEDEJECMgQIABBDMgQIABBDMggIABCxAxCRAjIFCAAQkQIyCAgAEIAEELEDMggIABCxAxCDATILCAAQgAQQsQMQgwEyCAgAEIAEELEDMgsIABCABBCxAxCDAToKCAAQRxDWBBCwAzoHCAAQsAMQQ0oECEEYAEoECEYYAFCACFiACGCSEmgBcAF4AIABxAKIAcQCkgEDMy0xmAEAoAECoAEByAEKwAEB&sclient=gws-wiz","urls":{},"desc":"","rate":5,"id":1030,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Bright Side \u2014 Inspiration. Creativity. Wonder.","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://brightside.me/","urls":{},"desc":"","rate":5,"id":1031,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Verywell Health - Know More. Feel Better.","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.verywellhealth.com/","urls":{},"desc":"","rate":5,"id":1032,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Lifehacker | Do everything better","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://lifehacker.com/","urls":{},"desc":"","rate":5,"id":1033,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"VICE - VICE is the definitive guide to enlightening information.","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.vice.com/en","urls":{},"desc":"","rate":5,"id":1034,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Exploring your mind - Blog about psychology and philosophy. Articles and opinions on happiness, fear and other aspects of human psychology.","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://exploringyourmind.com/","urls":{},"desc":"","rate":5,"id":1035,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Microsoft Accessibility Blog - Making technology easier to see, hear and use!","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://blogs.microsoft.com/accessibility/","urls":{},"desc":"","rate":5,"id":1036,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Fast Company | Business News, Innovation, Technology, Work Life and Design","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.fastcompany.com/","urls":{},"desc":"","rate":5,"id":1037,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ExpertPhotography \xbb Photography Tips and Tutorials","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://expertphotography.com/","urls":{},"desc":"","rate":5,"id":1038,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"News, sport and opinion from the Guardian\'s US edition | The Guardian","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.theguardian.com/us","urls":{},"desc":"","rate":5,"id":1039,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"History, Travel, Arts, Science, People, Places Smithsonian Magazine","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.smithsonianmag.com/","urls":{},"desc":"","rate":5,"id":1040,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Investopedia: Sharper insight, better investing.","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.investopedia.com/","urls":{},"desc":"","rate":5,"id":1041,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ABC News \u2013 Breaking News, Latest News, Headlines & Videos - ABC News","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://abcnews.go.com/","urls":{},"desc":"","rate":5,"id":1042,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Worldometer - real time world statistics","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://www.worldometers.info/","urls":{},"desc":"","rate":5,"id":1043,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Xtreme Download Manager | XDMAN | XDM Home","createdAt":"2023-12-16 07:00:58","icon":null,"url":"https://xtremedownloadmanager.com/","urls":{},"desc":"","rate":5,"id":1044,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Breaking News, Latest News and Videos | CNN","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://edition.cnn.com/","urls":{},"desc":"","rate":5,"id":1045,"breadcrumb":["My","\u82f1\u6587\u7f51\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u4eca\u65e5\u70ed\u699c","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u4eca\u65e5\u70ed\u699c\u5b98\u7f51","createdAt":"2023-12-16 07:00:59","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACbUlEQVQ4jV2TPYidZRCFnzPzfns3NlokpYhEghAIwXWRCAFjpY2dWAkiKIh1CgvBgNhpFZuAnVYWopAishgkQpYFQQRZXEghKgqriUnMvd/7871jca+54jTTzDww55wRQLA1sHX2KL2JMQWbG2IsAcDmQ+IehYMfbolPp+U8EgSAAOKJN04x2GUwo3snMEidUBBuSIXw3+lxlRwXtf/eb6xqCdh+ZZu0sQcO4RACJcBh6stOAm1ArwcUe0Hfv/tjgAwAKx2NDY0dzSdsnGB+k5i/j40Ny8C80W8XEidI+cPg9UEQS0B0oWJYNqwEQzgqO/w1XkD5EhoPSM3x4sTdCS/n2D5yGmAJGOZgBVQ7aXLi3hdM9SK+m7X70Zsof4I3YTXQCEMT5BP/ASyWAMuBN6HxmvY+vsadB315Yv4OLcBGYSVQDWycrQFU8AJeBYvAyktx9vlj+uX6Is68eARrr2IllsvF0GiQf2Yp7QpgAeEG1nF/EnE1zj33DTE/jdJT9BrIxDAYU7tBY+9/gA5hQZjAgpROonSSPsHUAvMAE/QFxnl9+/ntWJkNQwVNK1ct6CY0QVRADXcjJpBDK6/p6y8/+5eW7rsQG4CJbuAuenuL8BnJ3qHXTnhH7qT++CqEsRaxtbgvkufAchB3drSzewHyLt4M5UC54/18PHvmaUGsk5hCWHOsCquGZzFwNEDE/G1s7HgdUHaGOmOYPoitrQfWSay9EfxBcBP6nzDdote/BaEr+ztEvYSXu6geMi0OsXqKY+3l9TM9xozjxx9mliEDsxkc3vhV11kAxDNssvnoI8gbACU5oayv9n/6B0NOO7mYhb9bAAAAAElFTkSuQmCC","url":"https://tophub.today/","urls":{},"desc":"","rate":5,"id":1046,"breadcrumb":["My","\u4eca\u65e5\u70ed\u699c","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4eca\u65e5\u70ed\u699c | \u4e00\u4e3a\u5bfc\u822a","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACB0lEQVQ4jcWTzUtUYRSHn/d974yj11tZmaDVNI5E31BIRVG0SXIl1ExqKkT/QMtW0VR/QFAkLYOKahYJ9gFBheSi1tEq7EMlxbIPbe44ztz7nhYOkUO1EnrgHDjnd87iwO/A/0b9oRYWkqoQpHJm6cimMQ3gAlcVPAY86WzeON+bHCj1Jgeke8MmwC1r11aDlwVTeUIT8FZBledwbuZEsg30fpSAZcjcGBm2cBYIgRbgA4AW0DOd8Xbpayg5mn6BfP+e+gSovV8KAaB4Ojk3ZuGUATRclnSL/z2VaBNQTv7Yul210egjiNwK7NTppOvYnublHUUrxnXUG6x9efz5xCqgKYRJ4HwYlSueMn359PpWR0eoLoS2qBU9flf8dsxx8mhawoDc6Oz8yc0PPtYqeAjgai7luhOHcyJ9WlRJG6lRnw7V19Y0ekMxo3b6AcVAbGRl1OjX3+az2++PN2poFagWePG1KzFebXRKKyiF8mrOnz2o1wx9zlkrFxRoEXFiWhtExjqeTYiCA0oRE8hldtSN1EVNKh8IjlJabHixfnD6hxZQy+68H/RLct2NaCeqVFAIw8w7P3QVIIIChs9sW/GkaLFeldZ+EN707o7eW2S2LJhCT7x9KhXfV25tAY6WYyvAdHrt7kLvhiNS9sC/qLT433qLkcyCL35bMOVQLDyAlswvfWn4CbV0xUZt23hWAAAAAElFTkSuQmCC","url":"https://nav.iowen.cn/hotnews/","urls":{},"desc":"","rate":5,"id":1047,"breadcrumb":["My","\u4eca\u65e5\u70ed\u699c","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4eca\u65e5\u70ed\u699c - \u5168\u7ad9\u70ed\u699c","createdAt":"2024-04-14 07:23:31","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACjElEQVQ4jT2TTWhUVxiGn/fcOzMZJ+roJIZgjEYQgijiStCCKxcuhFq6sC1Z6UqwUAoFQVEX4sYf0J3oQgQVreJCFBeCgeKipStrwW7aVBSCRo2azMy9c8/r4sYsDpzFOe93nu/5jgBaE96mwFEimwQ1CQSJjSj3MRoDtumR8rzIOPvumu6rtc/bQo17iAEXICBGiIZKAt0eANRSFpJACSC6MeP7oIqPIwackwliryA2arjVjztdPNrCw008nxGznBgC0QUZkRqJT6bARhfEJCHtZGjNIP71F9Rfh79f4K1j0OyHB38SfrqEZz5BNaXiSJS1IZXpA4LBSYDZOTTYxFkOZ+6i/6bhu51wbJ/5MC8duID7KlAYSRCinSJAuDBeUkVL62jyL/TwD5h+D6fvwLP/xa6teOVSyHtIAEZBZY8IoCxHo4O4ksC/09BowJIaJKFcn9rlGQVsEELBlBECigLWDSEbfn8Oc+9g5iPs3wXjI3BtEmbbuBIQlFpTBWMLQqlufDVIcGgPfPsVrF0F28fh+iScvwfL6qjwYk2CTJTAhiAYG4Ish1tPSozVLZidg8NXoZNBmmKXAZZwMIoAhXG9CqOr8MsZuPIIjlyEny+XGg/uhnYXBxafry9FrYUJq9fwcBO9/lCqGh6Bx0/h6RQc2oO3rEcf2zh86YEhGPdsLFDeQ7PzeHgFqlWgKHA7gxM3cDVFpyZwCOBYXrawBn7If1Oa7lDhXtZTMjYEyxvwbGrxI9HJYfPakv2fVwCOBAVi8VLNb97sTfubN0WSYmI3Q0WEehUFlb4l3O6W4H1VLBEIEDszPwqg+fXURNoYPIrq65OST9GIBTQLBxamNQK0X8X227Nvb4+c+wyjGzAI92qC4wAAAABJRU5ErkJggg==","url":"https://rebang.today/","urls":{},"desc":"","rate":5,"id":1048,"breadcrumb":["My","\u4eca\u65e5\u70ed\u699c","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5373\u65f6\u70ed\u699c-\u4eca\u65e5\u70ed\u70b9,\u70ed\u641c,\u6392\u884c\u699c\u805a\u5408\u7f51\u7ad9","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFklEQVQ4jV2TX4iUZRTGn3Peb+b7vplvdmZcc9Zdt7YWI8ElI6IiEOuiCKxASiHsYm/WQLyJsCLQyboT6c+dBla49AepzbsIZa3AIoxAEOwiWdpNK52Z3fl2vr/v+54upq3J5+pw4BwOz/k9hAEJwACEABnsL31UGQ4cvGR1flxb58FaVR2KE9xhRe+nwWECLAC0mus2OQpbyc8vRmUZqa/jz2IrH8DIol9Sn8ICYWJ3rd8bzjlrCwiw7Zn6lFsuvCm5PKHZzMIU766IPagyGRPRE+zwy8UCobNiP16/N5yTJpgFYAE4fG7jTMV6l3zLz+gINxHzlGvoXV/zWLeDvKLUfrFoRJGFgp4VAQGAQ4BtPYkhR2hrmtpjPWtPbSjfuNKx8PK4tk1DHQ0CfiDs2LQQoJiL/VN09D0RBIDw8lS1XozGT6uQt5suP+LFzodhb+RnP2p8bbqFkRtZa3vSk+9cza4vTKzpq/o0lpt9w0Er948fcVx+0ZbNJ+Jan0pi4UqGkmwIqrSnq/MXnOH4nCX/qgpsQTv6oHHJgrMv69PJgkOJ2mNz+1blwtJ7uEXdfY2rcNUb5dej2eWmd8ZJ+Vlj1GvKMa9UKsmiCIiRcENF5sf5HXD6zwCkX0NnuICUqgKQyulbr6AUJ+qHoZnwJO2GIYIwUjhJyKuPnofubKtV5yfgXQ9Hi50dtVoh5lc5pssEiOmRxipAPXtcAJJm3wOHQGGR1ZgAl0M7dPThRu3p1DUrjhuMUyZRZtLHAQAZT6620G1VO2eHAEGzTytDcIVI7SRA0lQOm0T+Kmm1WTIcitvxvbXTN38CAEr5KRNj9s4mkn+QBwCwiH3bEE2366O33/bL4rWsm+00ifxOq2rL8Pn2EgC0dzWe55i2eBkd+4/8fwkGwrG7Pi8S39fW+rGNfywsdO4ZmfAD91fNeCcP7JlSIN8kyh6pzl07LAANho0EoOuAX980+QWDHsogp5SS+cTPXa+sTvpl8aKiOVE+u7RvMHD/u2BNyejkASE64Dm0OYJ+P6/oc55HVe/ibyduZWRNfwMy7XT2KrymjwAAAABJRU5ErkJggg==","url":"http://www.jsrank.cn/index.html","urls":{},"desc":"","rate":5,"id":1049,"breadcrumb":["My","\u4eca\u65e5\u70ed\u699c","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u6559\u7a0b","createdAt":"2024-04-14 07:46:39","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7 | DigitalOcean","createdAt":"2024-02-09 10:49:47","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACMklEQVQ4jW3Su4udVRQF8N8537m587gWEhR8oDYiYgwIQRszDIPgX2DQLoIWBqIE01hIvpBCwSmChY0WKUQxFwQbQQsdEBVFlKCgxMpmkEi8CPO4M99jW9zrMEJOdTh7rbX3XuskIBIpQB2reF5Ywb0S2JR8LbyvTp8e5szKcD6WjaxLXlApWvxXDRT0euEjU2e9kW6aQSI5Y9mdPrFoza5WpUho7YFiCBqtJcWuH/C02iSTwh3esmTNjqmBovel1nM4pvWofc/qfW6g2DG16AQuz1a4EE+qbOiEI4rG2+r0iludOtYVr2q0KlnrqYwXZUmRNb46ID8T1cyoSLM76nRe4xsDlUqSnM6SNSErMt45II9TN0smhXHqDkTCe5I0N/mJgtD6U6dR+enQuHnetQdj/VzgF/t6WcbdxZaHjST0Xrc7A6fO+JYuUEliLhWiWE/b/wOci0UjJ1Sq+VTfqlNvVWVDq/eYoawVkj+K1+KooXtwAzfsuV/lM9mC8I9dD7gaW06l1tkYys7ohUrS2sgGTrvdNbysTr1Kg8X5V1rwnW2nUqeOkaOuGDiu02lNdd4tsr/s+U0IdRzDffhe44hkasVJq/GQ5CXFcfumli3Y9qZL6edi04eu+8CKc27zoy3XbXrcxJ5H3CX71dBIg0ZvyYIdVyUXiVxM9DZS52QEBkJGY5w6D0ZnOF8qI+zYcdlFF5jFWw7ybXxs2+9aE5P52yysv4Wbel/oXHEpXTsc2r+1tOK91zHuCwAAAABJRU5ErkJggg==","url":"https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7#how-to-find-your-server-s-public-ip-address","urls":{},"desc":"","rate":5,"id":1050,"breadcrumb":["My","\u6559\u7a0b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"KeePass\u5b9e\u73b0Chrome\u6d4f\u89c8\u5668\u81ea\u52a8\u586b\u5145\u5bc6\u7801\u65b9\u6cd5\u4e00 \u2013 \u5976\u7238\u5efa\u7ad9\u7b14\u8bb0","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC90lEQVQ4jYWTW0jTcRTHv+f3W3O3TJeztS2XeRldsKxWVlIWSyga6UN0I6SHlKLsIQiKbhBUTwZ2gQp8KAoaFEVQdNGU0OxCBl2R8pJOzemUWM79/f93eijJosv36Rz48jnne+BI/FtLAUwF0AGA/+MFABAAmACHxTKhesP6kuHTp87H/P6iWgCusZ5RyT8BklKdlVkZacXJ1hQkjk+ijIzMaR0dnZP6+nqv/w4QY5sfO+qyHIaFpevztGyXSl0tDynUUa8tnpvmBTCO+dckvwDoO4PCA1+0oJYl2joV6o0kkD1jmaive6wBICLivwL4yBEBAL48j2nBlAiVFOXGy9bOYY/jK61avcQ81vMniQAHJHNAzsu276it2hPj0G3m8D1+dO244s31lAcCLJlZjh08ehDinxEAADk5rvZVhXlpZDDj7oNnwabGt67fBhIA1o0WBKzxbd61ZXKqRa0/VWFYEbWmZNUMMvMAfCNm61eL7bp1bUl09oSo7tzZM1cA3Py5gCnF799bNXQvNMI7y3bwYaOTL033MReUMReU8qUZK7nCPZ8Li3fzg89xrqy6PAypLwYzEcy2Ofmb9tbNnTExcbihWll3v0mkTJ+Nt/1tMsKAFhcwqAq8zkwt1v8ZhzJnavsuVibUXT4fPVBeViATHdnzpDNnS2rnS3ZevaEr9PqEXYuJowluurOoiPoWeikci9Ky1nZKdrpF7E2jrHjaFTfbzOMiXS13xVDw9UieVsMeF1FjjoObW5q4fFDFi80nOX1qOsPo4ORjF/iERcP796+4xiW4MD1I8dbq+KfWT4pQVZUOblxA27Yup+RZboR72vF80iLkuk2EuIL+iAqDFCTz/eju7USSOxG7S5fT/u1raCg2RDoAou5lm/SwmUyS0K2TlKoOItj8CtrzWzSixvFkmgvjP3bTgBRkkJLfNQeptWeApIQgAHa9XuY77VaSej16PgTZaLRSSAOghL9/nNEGmxZBRInCnm5jTQEFQ2FWFK3hG0BvPQUTgoe9AAAAAElFTkSuQmCC","url":"https://blog.naibabiji.com/skill/keepass-chrome-mi-ma-tian-chong-1.html","urls":{},"desc":"","rate":5,"id":1051,"breadcrumb":["My","\u6559\u7a0b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u5c0f\u7ad9","createdAt":"2024-04-14 07:28:06","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u54c1\u73a9-\u6709\u54c1\u597d\u73a9\u7684\u79d1\u6280\uff0c\u4e00\u5207\u4e0e\u4f60\u6709\u5173","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACH0lEQVQ4ja2TS0iVYRCGn/m+7/9/PZLZKtCjGCJUWxcuXQslURS0l6BNdIfWQVCLLruWEUgXKwlamLSOqE0U7SK1tBKEQD36X2daeE4GCS3qXQ4z77zzzgz8I8RAOIoDkEkqgF+xSYwhPD31fUSAilKFgmT2Yytf/tbBRnvqdCQfwNoJElHoSXk8d3tLwaHeAaJoGK0yVtNpmVlq2JHuvfj2YbRYIMs+kdTeErlOSp2G2cP4/jFKScgbzx2xGyFxE7hwjzjq3uSNDtIR7uDDNaoQAQGzBhvFONZ/hVpyH+eOk8pawGyFXBUlI7LmSLJKoRVKQTAhuBqlniKWAaJwmrViifV8XGaWGgF8jiGIBQjeQEAqwAGO4Hej+oKV9Qd0dbzEAWl5UZ4tLBo4R2n5plsIVRUJGEaKmWAkoDmN8gw7apdp8wNk5aRMfb5r4ATUgeVgihDwltpYbzeifVRmCLvkyeIrEjdI4k+wUX6jyM+1FgTgkCIDUaDEqBHHN/DSiQFKbgfqgwR/C4BSL8jTr1+a3ZsEtDU9YJ0QX8IxisoqgiLmaA83SXwvefVQpuYnWtJbdxDQrEDiHNiJk2NgyzhroFRAH87tIau+kxZnf5fegsOqLRODA9XrqL7DEaNiiEBRnW+5Ln8QOF8i5ERilPqGR3NXwXvMlAhHqRPbSd8a4f3iPPvrI1gck6dzAmrlj9dI1xAAy43Nx9mm+L/gJzhY/QXbkyLLAAAAAElFTkSuQmCC","url":"https://www.pingwest.com/","urls":{},"desc":"","rate":5,"id":1052,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4ec0\u4e48\u503c\u5f97\u4e70 | \u79d1\u5b66\u6d88\u8d39 \u8ba4\u771f\u751f\u6d3b","createdAt":"2024-03-09 12:41:02","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADJUlEQVQ4jVWTQWhcVRSG/3Pufe8lk3SSTtUmmVQXaZXYgGOibaKILSoKCioaXCi0AXddNwXpRugmdeW2XWRcKYpCN0IRKrRU22BD0kaDbYaCpkksWDKTzMx77957jhsj9Vt//7/7CP+iABGg6eTE/kj0OAkOifcVFYUyL6jQXOp9tefi/MqOCwCEhwjvj0+T6CmytoTcw0cdUDaImtsACM6FB14wU/jhl7M7G1aAASC8N17lJJmRpFByqXNZKw06Mqr23LeaFveE1mbDBXCpk2imcaRSVYAUYPMpoG7yxZNGw8mw94mcP5slub1s5dY8AYB59yNQTy/ZDz82YiNpz/3sdnV1j9X7H212/rlx1abvjA2x6mlpZ6JdRYPdexhxonzsBPHYBNQ7SO4hF75Wd/UKa0fBNNNcoHp6c2zkO45MNMXGFH2rLRgaZl35Xf2NayQb63DfXwBEIPc3wAcrxP2Dqu2UnUC6gKIYTLF4PQwXVMkQTbxM4dYNkrVVyN0a7Gtvwl+7Ako6Eb89CRoeodBOSUHkgqoKDrOCKr7eAB0cJX66AjowDO19BLrdBD81At3agvvpMvxvS0CcAF4UQSn1AhE8Y0MI4CiB+WAK7vznal56haKpE9BWC+HXRVBPL9BdRFj9Azz0JIQMGAxSQIOA0U4X4r4y3KWL6r6qkipBm02Y58ahWQZ6rA8odIMHBmHKgwjbTfJra2pzB1IsWtjkOv5af9XfvqNIOpXyDFKvE2cZZP0eqLcE2tsPvzAP6i7qrulPQANlpfPnqLVSu87k0tlWHhq2UGDNnYgIcW9JKY4BMLRRhykPwgwdUC6XyY49LyZOuBnFjbx2d9Z2XFqqNY6OnilE5mzebOUIntA3wEgzjd94C+7yj3BLS8gXFylsbIg0tsLuNIsz4MzjQI0UYAKkfuTZanG7dax99HXowD6XffMlq43Z31sFBIKOTiEyUY+1+Fvpi/6bN6dARP+LafOFyjRn2amEbSn3AZko1FjECpigSIM8cKIz/cvL/8X08AEB0PsTo/uty4+r0iEJWtEgUNUFUsxlaV7dV6ut7LgA8A9TRbIkiB/PvgAAAABJRU5ErkJggg==","url":"https://www.smzdm.com/","urls":{},"desc":"","rate":5,"id":1053,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7ad9\u957f\u4e4b\u5bb6 - \u7ad9\u957f\u8d44\u8baf-\u6211\u4eec\u81f4\u529b\u4e8e\u4e3a\u4e2d\u6587\u7f51\u7ad9\u63d0\u4f9b\u52a8\u529b\uff01","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAi0lEQVQ4jZXS0Q0CIQwG4La4kMkZF3AinOPWcAncABpHcQGRe4Bw2ANT/jfg+9M0AY11MBVjXWoSQogeo0dxn2Oso7bMzOd0qcfT/XkcQCM9Ck3pUtDrUhD6hf7omDmvROKBlm9XXx/vnx2UuhSy0+h9QlcDgNCdHf7ks94mCllrC1WrCq0GAJz93htemlx/Nw7NbAAAAABJRU5ErkJggg==","url":"https://www.chinaz.com/","urls":{},"desc":"","rate":5,"id":1054,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Solo \u72ec\u7acb\u5f00\u53d1\u8005\u793e\u533a-\u94fe\u63a5\u6bcf\u4e00\u4f4d\u72ec\u7acb\u5f00\u53d1\u8005, \u4ece Solo \u5f00\u59cb","createdAt":"2024-02-07 13:25:40","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrklEQVQ4jX2Tu28kRRDGq3umH9UeM3cnj/Yxa1vy7uoYm7VkLGxE4ARhJExAQESGkLzmTyBAhM7uREaASHBCbBwQIAiIzAoHIGxHzjZAwlzifdxMz0fg2ZM5cVdSd9L9VdXX/StB/w1BRACgdnZ2esPh8DUiklmWXR4fH/8qhCjoZQFArK2tvdtsNr+P4/ivKIrKKIoQx/GThYWFn9bX1z8EEPyfVgBQ3W73sXMOSikYY6C1hrXWG2NgjMHc3Bwajca3+/v77nlxmGXZ4+piWavVTlqt1mGtVvvZWgtmLpxzubU211ojTdPvAKjKMtH29vY7zjlYayerq6t9AAEAASBst9ufMzOY2TOzt9Y+ZWZsbW19MvOtW63WiZSyXFpa+qHKTEQUVOdcr9cHWutZJ4VSytfr9d8uLi7mZf/j/sPJZLIppSRr7R9EVFRiT0SSiPIwDM8BkBCiBCCllGI8HvcODg7elpdXl6/mef6AiOjm5uYtItKVOCCikojMaDR6Q0oJALeblGWe5+Hp6WldFkUhAQRBEOD6+vrNdrv9xWAwcADE4eHh/cXFxUej0eihlLIkIimEmFmH957Cbrd7eX5+/s90On0AwA+Hw892d3ffV0r9OZ1OXx+Px10hRFnZEUII8t4LY0y5srLyNwEwaZr+qJTyzrmcmf2MAWMMmNk758DMsNaWdx7x97Ozs3tSCDFtNBpfaq2l9x5EREEQlGEYFkEQlOK2Z9BteQDwYRjKZrP51cbGxpNnIHU6na+ttaj+uXDOlXcXMxfM/FQphTRNTwDoZyBVSczy8vI3zDxD+C48pdYazjkkSXK8t7d3/0XDFPR6vY+SJPkliqKJcw7OOczPz+dJkgw6nc6nd0B7cVxdXdksy96L47gfx3F/c3Pzg6Ojo1eeG3siIvoXsuwwBwy7yPsAAAAASUVORK5CYII=","url":"https://solo.xin/","urls":{},"desc":"","rate":5,"id":1055,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"(\u3064\u30a7\u2282)\u54a6\uff0c\u53c8\u56de\u6765\u4e86!","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAADG0lEQVQ4jQEQA+/8Aff79/v9+5LhlzXkE0QjTPYZDAwEC8Xtxez97E8XT/j9+AMEBgH8/v/+/gQEBV/GXwMYWxju++1AET0EGxgaFyKk5qrV9NU3DzT15PYKFQuR1I4w/iIKDhL/BAMA/v4wETAB6/nts+KxFAgUEQIOOxg98tLTle2nBeAW4brb9kgASRkrVMkP+n1bAcjUBTMqAQYEAgDy9wQHBDQPNDEYOP0CAg/r+gWp+t3T30VWQxTWD9i24fs5JAL+/ffW2vD27P8AAAIwPlPxue/eDePBv58C5O3ZLRiow8MX+Q/Z09kS/w2vt77UHA0FBAXuYj2t7rby+vEDJ1ijzL7FAN/fO/QWGCIin6ypojSgwTzDvJjEvWK76C/nJMwe9Sr2CfUDRxxGk9iTAvbduQ0zWKC/BGa/xucN+z44OxH9EwjlBFYiGAniBAvwDC80MicLJuD54Pn8+XUsdQJ0VCPx1q8yRFf2C0BbY38NDQg8vkecjEmg7giPlT44r0I3NzYfCSDs/O78APyl3KUCHBge9ubm3MjLHycu1/IXq6uoFyUS+kIg5RINB0IqCx0GAv3+APr8QQo7qt+pJxAnBAAdAAUWB///Afz9+wwNDeHi1/Hy9/5NS7DfChIfJfy3tcGGkz4sMR0IBEhAQBoUIwT7F/r8BAAHAgz4+ff97NXr/e3+AQLY0dI6Pj/b19fz6OulANTZFgoTEBFgGEr8/fwDl4SYtuGR9e0J7dnKPBzxWFpbIyIi1NfX6Oblzc/PPDs7Tk5NzdHUrrOw9/j2OTg5AZfamBwMG8GEwgL8/y86Lf73/gEDAfwD/bCxsSwrKiQjJP79/sjNzx8aGcvNzCotLAH////w6fGFqIPhFt94JHq+6rwTBhQ6FjsBAv/9/v77+vv+Av7i5uYQGRYXCw65u7oBseGxEQkR2fbZCgILWh1Z0vPSEwcT7Pns9vz3/f78AgICOhE6AAAA/J6z/1hBBQoMAd3y3QL/AgD+ACAQIPr6+gYEBgD/AOP24/8A//7//gEAARsKGwD9/9fJubQPzl4ZY46he1piIDWyAAAAAElFTkSuQmCC","url":"https://blog.laoda.de/","urls":{},"desc":"","rate":5,"id":1056,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5c0f\u4f17\u6280\u672f\u5de5\u5177\u5e93 | \u4e13\u6ce8\u5206\u4eab\u5b9e\u7528\u8f6f\u4ef6\u548c\u7cbe\u54c1\u7f51\u7ad9","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC9ElEQVQ4jV2TTWhcZRSGn3N/MjMx5mdi0kZKI80P6kKJWmKs8S9CxYpCXYoiSC0tIroq2IUjbgrFQne6EYRQDKW40I3SdqF0EUMSTUI7JlibNNE0TTrp5M7kdu7c+7qZkdqzejk8H9853/u9Rq0kOWaW1PRQAq8qYbc5GAmricN53+yne1nv7obCsI9U6tSVudmR6clfM38vL5EoovuhXgaefPpDSRPAcTP7uX7GJJmZSdIwcO7336Y7Tp/4TMFWMQ6CEjfXVrlzJ+T++zLOW+8dcY5+dKwKfGBmX+VyOcczM4Vh2AN8t7yy0n527EyltaPL797zsLsdlllY+JOdO3fQ1trExtrNaGF+3u3r7/8yiqJrvu//6AB4nncCaD/zzdeVsdFR/+rCHwS3b9HS3GQH33zDBocGmZmaYvGvBe/7c9/GShI8zzslqQlJj8dxXJYUn/7iZPz6/heTMNhMdE8dOfROPPjIruSlvY8m+cuzVUmqVCpve8CImWUAPTP8PMFWgYnxcbr39Kq9s9NmpiZpaEhr37Mv2KWLF4i3ypRL2wIEHHCAXjMTYNn2rKWbs7o0Pmmzc3OWSqVZvL7C6NiYOQ1pSze16OjHxxh4aq8L4Pt+j1O3EpDrehrZN2QWljSfv4zrekhVos11+nd1KZfL2buHDlO7HcA1SceBz4G4miRuYfGq2uJtJ8p2aNs8yziQKQcEQYmwJZs0tz1gvuclZuYAPzjAL0AMOJ7jWOOOB2018bR+u2RBsST8Ri1vhaw7KbV3dlmD71NfGbhgklzgIvCcpKqZubc2NylsbFAOAltbXSGOKhp++RUy6TSSEjMz4AYw4JhZDHwCVGtjVbOtreb7PvMzE+rb3aXHBp5gq1gEsBrvAJ+a2Q0kObU8vF/3fDsMo3z+SlQJi7FUjReXlqr5fD4qFAp15GQ9Q9wtJO1PkmS6TgVBoI319f8+U6VSuSbpcI01ag/xvzhLagQOAq8BPTWbrwPngbNm9k89gAD/Ah/Lu7htjeb6AAAAAElFTkSuQmCC","url":"https://www.xiaozhongjishu.com/","urls":{},"desc":"","rate":5,"id":1057,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5f02\u6b21\u5143\u8f6f\u4ef6\u4e16\u754c - \u8f6f\u4ef6\u6539\u53d8\u751f\u6d3b\uff01","createdAt":"2023-12-23 14:03:21","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACWklEQVQ4jY2TX0hTcRTHP/dud07dJprTtkqLelCuhZAVQY2hJGosjKZUD9GDUQRFBr71JL0UUWC+aS8lPWhiKBGJlfhoCCZeMoSk4d9N03nT/bn708NczlLw+/SD8/2e8z3n/I7AP5j0ac7u8cD9YU/YMaNGswDsZp3/ZIFhqLYk/WmxVRpM5QvJhxqP57UMqu3dYwFX/N+sKeRa2djXWGFpMAuC928CNR7Pa+xe/jQyo8k7aLeg1C4pLe7scrMgeEWA54Nq627FAKOzmvzs42o7gDjp05xvxgJ1ACZ9lJtlemyZ0f9E+RmJmEVKxHqUoGvCq1Xp7DVNj5WFiAzgliXuOvZwviidEc8a3vXEiIpyYrS5c3EcNrGyrvF1IQZALB7PEoc94cpkFUkUWF7TUOYCtNXnUXEQDlkivKi38mMpzOLvMDph09WXaa1SnN1YVRKRWJw7vX7eKSqPXFbOFEo8eL/I7Z4VwpGt+5lXo2ni9mMS6P++TuvQEvecuZwuTGOn1eptZp3/58qmC70o8KTGzNkjJi6/nGN61cfD6lzyTTqkVP9AvkkMiacKDEOp9rMzJcoKMrjV5WVKlRiYghtdXo7a07GaDcRSrJw4YOgXvvk059XXvz4DWKQo148beasE8ai6LdX2ZUa5VGLk1WiQ5VAi1nElp1oAaB7w9/YoQdcObW4LV7HxQ3NlVpUI0FhhaSi1S8puxcdsktJ0znINQAQwC4K3xZ1dflE29u2mcmtd4g5IvcYkJuaDFzrHQw3D05pjYeOP7DXrQmX7pX63bOyQbWmdqfw/Cxne8dCeVlcAAAAASUVORK5CYII=","url":"https://www.iplaysoft.com/","urls":{},"desc":"","rate":5,"id":1058,"breadcrumb":["My","\u5c0f\u7ad9","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"tools","createdAt":"2024-04-14 07:28:38","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"Emoji\u5927\u5168 | Emoji\u8868\u60c5\u7b26\u53f7\u8bcd\u5178 \u{1f4d3} | EmojiAll\u4e2d\u6587\u5b98\u65b9\u7f51\u7ad9","createdAt":"2024-03-29 13:51:13","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADTElEQVQ4jWVTXWyTZRR+ztuvX9v9hM3BsjV6oSYaftZmSDe7tVOUAMafrqWLcfFvKu00jHhBCCYG6xX+hBDCDeNCE0KQGy+EBJkOaV032FAcTbfgqmxituzHDRi6td/3fu/xYjT+8CTn5jnnec7FeQ7hf3h6+0v+m/OLHVJaQd2h3y+IkF8uTGl220DlfZWfne850Xd3lAAwFYWxWMyeGf3jACvu8njW6g0+L9y1awAQpmfmcPlyBsNXR00hxNENazfsO3YssVTUirZEQn+8KXzm+dYYn/06aTGz5HthfdubVuG2d9gfiCRjsUQJAAEAaGwOf/pcaCfncuMFZmYpJVuWpYolTVNZpsHMzOO/ThTC0bc58ERbNwDgqW0vb/T5XzDP9aTu2aqUYlaKFTMrZjbu8qnUJdMf2GG1Rjuf1G4t3IzX19dpW7cGlVKKT35xGlJKevWVCAgEFgSMZUCzk9CImCuqEGxpsHm965DJjOzSTCmDjT4vE0gs5/M4fuJL5PMFRHc8g9LSEjAzqOcUOHkaCkSWxw99vY8bfB6MjFzboum6XlNbW00A2OVy4sjhBElpobS0ZOVWRKD23eBQB2xOHTbHCu+urSYQlWv/zoBSCo8+8vB/csHMUFU1QFUNsmMT+HNxmv2b1qz0FEMzDGNmemauAgAx/yO0LAtCiBUDaUGzazj40RFUrCon/6Y6npyaYd2hmULT7OmhoQwBsIQgnpub56WlZdhsNhARhBDQ7Bqy2Z+RHc1xNPosA6DBwWEucTkvitUVld3DV7Oy93w/hBC0d98Beu2NPdw/8ANu317EwsItfHWmFzs73+OWgI8CzT7qSw/Jsdy4qK+v6yYAaAxGDlVXrX738KH3DSKyf/zJUfppeIRdLgeUYhQKBiLh7di7J043bkwau3Z/qJeVu86d/KCrFQDE64mEs6kl+k0o0snJ7wctZubZ2Xl1IXmRk6lLfOfOX4qZ+bsLAzIUiXMoEvvlypVr7uJHAQASic+dqXTvwXx+Oe71rLM1Nz2Ghx58gEGE69d/Q1//j5TLjcPtru55q+PFzs2b/RMAqGhAABgA2tu7tvw+NfsmmLdZyloFAC6XwygrK0tv9K4/vn+/8xRR3Cxq/gZYvbxpRSw4agAAAABJRU5ErkJggg==","url":"https://www.emojiall.com/zh-hans","urls":{},"desc":"","rate":5,"id":1059,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Apple logo Icons & Symbols","createdAt":"2024-04-19 14:42:02","icon":null,"url":"https://www.flaticon.com/free-icons/apple-logo/3","urls":{},"desc":"","rate":5,"id":1060,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"MSDN, \u6211\u544a\u8bc9\u4f60 - \u505a\u4e00\u4e2a\u5b89\u9759\u7684\u5de5\u5177\u7ad9","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACD0lEQVQ4jY2STUhUYRSGn/N502szxCDmTGR1hVqUCS0EI4sSiqQSC5IWBeNCKNrkIsilkAVBRZugQEKjMsTAIELDGhdBP7QYAqPAdAJHBEknm2a07tyvRXOdm8xE7+bj/LzPOXA+IauFY1YYpAMwEYnG1y21bb0Z/wpw+XFReMnMnEfwO5pxneFM1yE+AxgA35qtOo10i4iR5VkbposNoOn23dK66dJ0t9urBEsb9AB7ABSAUqrVYwbAETkyca4iOBVKt7pmVwK7L40QzAFE224xZay6oR09gtaxH/gIpI0ZDe8yijYg6YHY2Rei4YbqqoXYaxHxa/T4WEVo365br+Juc38/RZNruJpStP/ZjicXD9C0vMGO3sjYcKi+FhgUzVQwmT7e39JS5AK+l7A5KVQ6MOoTumrmOerZJKeG60PVMd/6xsnTNdfcnH5GH0LIjWMOPVUH6XVjA2DtnfETs8Xl7RHRO9HEgGXAl19lA0FjrtZUdAD4FaPeoQpgtqTcQrRJHlmH5x6RYciNVzYpAE4GrijHHswHADA8R1ydFwA4yqCQFj1z7b+/RA7wLyXsQEHLfwG8U50VtXyASp7qEm/iRaY+UQieA2h5CYBgMJ/oCNyf2LTtwdvqjX3vL0ScvYtAFMDk5/78gFOB50A7WmaAzgRlHz84WzobzNGBe81nP71JbW9E8xCw9TBh1/YbqbqoHhHn6oAAAAAASUVORK5CYII=","url":"https://msdn.itellyou.cn/","urls":{},"desc":"","rate":5,"id":1061,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Greasy Fork - \u5b89\u5168\u3001\u5b9e\u7528\u7684\u7528\u6237\u811a\u672c\u5927\u5168","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWklEQVQ4jZWTP8rCQBDF3+KiKQxJMChoIbKVdxA8VMADeIUUdpbewBt4AFshoPinUBHRSAqLfV+Tb1HyRx2YZtn97Zs3M0A2FIAJgBWAZ5qr9Ezl3H+L6WAwoGVZBFCU09yXQoglAPb7fe52O0opyyDLzM8AGEURa7UalVLfQIwSNRwO2e122Wq1uF6vDWS73X6CKACYeJ7H0+nEdrvNZrPJzWbDSqXC8XjMw+HAarVaBJggdZi2bRtIo9Hgfr/nf8zn8yLASgLoAUAcx1BKIYoihGGITqdjDDqfz0Vd6yHts6Hats3b7UattVFwPB5Zr9fzFDxNCa/pOA4XiwVnsxkvlwu11rxer/Q8L1MCUiMKnXZdl4/Hg1pr3u93uq5LIcSbiaoMAIC+7zNJEgN5KceM9rQMIISg7/uM45gkGQRB7kgvPylxHIej0YhSyswof6WkdJle4qd1/gO5YCO0UWoSswAAAABJRU5ErkJggg==","url":"https://greasyfork.org/zh-CN","urls":{},"desc":"","rate":5,"id":1062,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"PowerPoint Templates and Themes | PPT Slide Templates | PowerPoint Slide Designs | Presentation Backgrounds | PPT Icon","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACCklEQVQ4jXWSS2tTURSF1zrnnptnE7WxTWpbK1KxtQWp4EiqFFHpyJEgOBD/iE5E/AWO+w/MUEciWgdiBUsxtqaooU9jtSTNTe4992wHfUDFrtne7LX24Ft0ZRwhQgTHJ9D6gdQpBquSHkBQ0w/vHn2tDa9+pIQceQytOfqUdptHfwAFyI9JsIJEkeGaJEpor9GV4YQiB8kAQQoBJ4QVKMBBFCmiNDwAOiEwgNtPFqADADopUIAABCiwkA48CL5UM5++d0nMhJGEiXqOReNDTVLml7o2tkzHmjAitIwPNs6fbnFjxr/95PKDyW9TF+uEimJ5NV8oz5WccHps7cbET99Q4N5Wup+9ODNz/73XUwjvXalNX6v39bRdmyopXvev2opnrbo1tTXcH7iAypdssV5b8bxGRyGJwWKrUk3DhwPgofI5fX1o8+bZ9cpiChoOgI/Fr+lSIsimoB/dQSEXld/0si1B6M1+yNeWzaW+rXwqmqvmV+spCpeW0y/fnZgc2DQ6pnsOGmw39OzrzJ+GyiXj0d6GAyBQ5MJ6Zsd6hu7cyVYuaUMLujJEQI8U+b2A5g46AuxjSRkQANC2iB1IKAAkxIoT5oYJn86S3DO0QjRDNkM6we5S7QEm6ET76L+AbBZxtMscJBRFUQ76og71LRYaKY0im6PYPc8/UocmQmLQoDiCdIbi/mP4Cxdq555GkbmfAAAAAElFTkSuQmCC","url":"https://www.slidegeeks.com/","urls":{},"desc":"","rate":5,"id":1063,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Download subtitles from Youtube, Viki, Viu, Vlive and more! - DownSub","createdAt":"2024-04-15 13:08:31","icon":null,"url":"https://downsub.com/","urls":{},"desc":"","rate":5,"id":1064,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ProcessOn - \u6211\u7684\u6587\u4ef6","createdAt":"2024-06-10 02:48:53","icon":null,"url":"https://www.processon.com/diagrams","urls":{},"desc":"","rate":5,"id":1065,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Hoarder","createdAt":"2024-06-29 08:47:08","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA80lEQVQ4jZXTQUrEQBCF4a+d6EIEXbh2obiYcwjeQPAAegDPI3gBN+JBBjfD6MIruBhUMDOTcWG1NgHb+KBJJ6n8XamqlzDDkS8lP1rH+k0Js4QuHszRFgGb2O1B+2pTnPKGS0wwCugYN9irABZNbFZ4xlPxssGy8vF3UE0pIJPI9BD75W9tDAC84AInOMV1Wau/AOLkj6jTA65w+x9AX++4z92rAbqixX3Nc4FrgMWQLtQAq0oGgwCDNBSwjsk8w3bpkaa4jqNdeZQPsBWzcB7rGHeY5mHKZkp47RVthJ3Yd3Gfs1mG2dqExwF2Tj1r57jZJ91jOl68AMwmAAAAAElFTkSuQmCC","url":"http://60.205.125.139:3000/dashboard/bookmarks","urls":{},"desc":"","rate":5,"id":1066,"breadcrumb":["My","tools","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]},{"title":"\u4e34\u65f6\u90ae\u7bb1","createdAt":"2023-12-16 07:00:58","nav":[{"name":"\u2709 Guerrilla Mail - Disposable Temporary E-Mail Address","createdAt":"2023-12-16 07:00:58","url":"https://www.guerrillamail.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1067,"breadcrumb":["My","tools","\u4e34\u65f6\u90ae\u7bb1"],"ownVisible":false},{"name":"\u4e34\u65f6\u90ae\u7bb1\u3001\u5341\u5206\u949f\u90ae\u7bb1\uff0810\u5206\u949f)\u3001\u4e34\u65f6\u90ae\u3001\u4e34\u65f6Email\u3001\u5feb\u901f\u6ce8\u518cEmail\u300124Mail--\u67e5\u9519\u7f51","createdAt":"2023-12-16 07:00:58","url":"http://24mail.chacuo.net/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1068,"breadcrumb":["My","tools","\u4e34\u65f6\u90ae\u7bb1"],"ownVisible":false},{"name":"Attention Required! | Cloudflare","createdAt":"2023-12-16 07:00:58","url":"https://temp-mail.org/zh/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1069,"breadcrumb":["My","tools","\u4e34\u65f6\u90ae\u7bb1"],"ownVisible":false},{"name":"Moakt Email || \u4e34\u65f6\u90ae\u7bb1\u4e13\u4e1a\u670d\u52a1","createdAt":"2023-12-16 07:00:58","url":"http://www.moakt.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1070,"breadcrumb":["My","tools","\u4e34\u65f6\u90ae\u7bb1"],"ownVisible":false},{"name":"Mail1.io - Temporary Email Provider","createdAt":"2024-01-20 11:00:41","url":"https://multiscanner.org/?aid=aJn3rb6eGx","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABfklEQVQ4jZVSu04CQQCcfeADCgN3cjEUSrTBX7AzlkYt+AB74yNEjR+g8SyMBUH9CWy1g6jRH4DC3F1DAGOhwQQhwt6uxXFITjRxmt2d3dnMzC7RdAP/AfcGKaWUklJKKe3vSUD5cwLQvkApNT+fSiaTlUqlVCoDIIQASAlhSFcBBHimzOIcADTdiMYmc7lzpVS1Wt3Y2JyMT8W0uKbFz0ZGbeAJcIDTsXFNNzTd6FmilAFIJBKmeTyTnMlmc1BqemkxGh7/uL9XlkUDGTx0ut1IJLyzvTU3OyuEWF5d4aFQZ33907KCoT3cXN80m810Or22tgqgK0Q+f+Xe3i0MnKGDgnq9vrd/cHh49Pr21mg0TPMkk9mt1WrkZ61+Etpqtc4vLkvlMme8UCx6XQ95Bw/KL7RQKAJgjHnLXwV9MMaG8sEMwduG8T2B7TgPD4+27fz00CakQUjb54n3+TjnjDHXdYUQAYEh3Qmp3il5oexb8AeUV4ZvbHjoQIBBl1+HUIfoFURH2QAAAABJRU5ErkJggg==","id":1071,"breadcrumb":["My","tools","\u4e34\u65f6\u90ae\u7bb1"],"ownVisible":false}],"icon":""},{"title":"vpn","createdAt":"2023-12-16 07:01:50","nav":[{"name":"\u7389\u8c46\u5206\u4eab","createdAt":"2024-07-13 13:21:29","url":"https://www.yudou66.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB4ElEQVQ4jcXSP2gTcRjG8e8v98ekMU1CEmnSEgRxqCCUIr1m00pRcdBBtOIiKEJydCjiVAR1dBNJF3ESuzi5KHaQ6mRQqKJUKxUkkRwWsUmaNL27Xn8O0rTY2qqLz/w+H3hfXvjfEX86KHPGKTwOgQzjF5fFrcJXAHXbotl3pVxzb1pVB6VTw9euEC95GnBmW0CaxpRVdXrUtI4v5GO56IACCGqrMy1A5vpHEewDeV/kC49kznhl1d0eEVFoPxrB/eaCELhvmxDRn2+4gRw2usrfnZKiCaxFl5rj0R0N4OkQOv4TcIsO7iebzntTrZ6vJd0ufEmdT4xLQBOCYt1hprKEYksWHlewp5ssz9qkQjuur1+zBcisYYrBiXMdQ4nhRFijN9bG5wWbmaqNsgQrcx7JsD4rxl5c2wBIsy+DwC/ZH0WT08ETUeJta8j7SpPkTu2jyBf2/nrotRuMZALWvL2YxHeXfPpqY7JWbjycZ67iYssVDjx4t+nPtFbAls+SQe0pusySK90IBrSDu07GLsRDGl1BHWkag1sD+AdEvnAYVX1iCe8iA29eciw13nE6dsdzJcDZLQExNlmXI5kAoCYbe1Sy6VGyH4bEkYlLqUhgN4jXmwG/jTT7e/+q8K/5AXzmsIjgOiEFAAAAAElFTkSuQmCC","id":1072,"breadcrumb":["My","tools","vpn"],"ownVisible":false},{"name":"\u9996\u9875 \u2014 iKuuu VPN","createdAt":"2024-07-13 14:20:56","url":"https://ikuuu.pw/user","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADLUlEQVQ4jY1TXUybZRR+zvv9gGtXISGSDLbZkJEUsplAQEJCUrYlQkzmMle2RFFjNDFeeLErjReaqTOpi2Es0xvRCx3JwHmz6NDMoUNlQ+wKYVDChIGVdhvttHz9eb/v63u8sJqqNz435y/nycmT5wAlMLOO/wlm1v7KCQCOHXu1w+P1DuSlTDp2IbE4d+NaY6B5Z9X9W3eDNJGxrJgj7YXm3c1ttuPUQaEundp44/jxlz/XAWBsbGz9xedeemh/9/6Hw4NhGJXmCzU1NXBdBwzGVs8WJK0M7iRTeDL0NKKzEZz/dDgBADozCyJao0L2wvWrVx6f+O4r2dUVNJaWYuw4DjEzBBEL3aAvLp53t/uqDdMwv5+YuBxhZkGhUEgbHR0tGjA6auvrvw40NVcamg4GA2DBTCCCUqpIIKFuLsU4Hl89JKW8AEDQn1KENGCUWls7b+ka1TmOrWy3SFAMxQxd16DrGmtCCBL6ZjqdaRoevuS2tz+QpJmZ2N6GBv87s7ML0b6+g8H67Tv8muHhlj278NjBA8ItFnH2k7NqeSVORAKrKzd/+2Do42udnW2dyeTdt0Uu5z7i8Zgta2urzzq29P96O8V72vbSwKmTVF2xk3fUBPi9MwO07cEmJNOb7DqyOha70eP1VviUUn4tEOiNapp2Jxx+07O4OL/tXiohaqsM7mjrEndT68jbm3BdxkdDpzE3M0UFKTcymczFYLD3rcHBz979h0F0Xd9HJPIAiv1PPKW+uTShfvj2avHw4SMKgG2aFdzTc+CV/zhrZGREKyu/7O9/nqenZ5zfM/miZcliJDKnjh59xm5taVcnTpw6B4DGx8d1ANABoK9vngEg+tOtQ1b+3q6pqR/dn5fjWF5eY6UYUjrc0NDo+nxeY3LySg4Ad3d3q78JwK8x6PUt64mVcO+jQf/8fBQfDr0PgGBlN5HLZuG6zn2WlXUTiV8mAWgAygiIagE0nj5z8pwm3H2JeLzqemTaNExTyEKh4LjObSnlQqGQuwxgA0ATgBgAp2Qk+ABUAkgDEKVcLz2bBGCVaWSULpAAmMoGYGYqLTER8b+0FqWoypt/ABYahFd4KjLLAAAAAElFTkSuQmCC","id":1073,"breadcrumb":["My","tools","vpn"],"ownVisible":false}],"icon":""},{"title":"\u6fc0\u6d3b","createdAt":"2024-03-06 15:02:07","nav":[{"name":"8866-PyCharm\u6fc0\u6d3b\u7801\u6700\u65b02023\u6c38\u4e45\u514d\u8d39\u63d0\u4f9b_pycharm\u5bc6\u94a5\u6fc0\u6d3b\u7801_Intellijidea\u6fc0\u6d3b\u7801_jetbrains\u76f8\u5173\u4ea7\u54c1\u6fc0\u6d3b\u7801","createdAt":"2024-02-19 13:39:55","url":"https://vrg123.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1074,"breadcrumb":["My","tools","\u6fc0\u6d3b"],"ownVisible":false},{"name":"\u4e91\u840c Windows 10+ \u6fc0\u6d3b\u5de5\u5177 - \u9996\u9875","createdAt":"2024-03-06 15:02:07","url":"https://cmwtat.cloudmoe.com/cn.html","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1075,"breadcrumb":["My","tools","\u6fc0\u6d3b"],"ownVisible":false}],"icon":""},{"title":"\u81ea\u52a8\u53d1\u5361","createdAt":"2024-04-14 07:43:37","nav":[{"name":"\u81ea\u52a8\u53d1\u8d27\u53d1\u5361\u7cfb\u7edf\u642d\u5efa\u6559\u7a0b_\u5c0f\u7ea2\u5e3d\u6280\u672f\u7684\u6280\u672f\u535a\u5ba2_51CTO\u535a\u5ba2","createdAt":"2024-02-08 13:49:52","url":"https://blog.51cto.com/u_15274085/5820637","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1076,"breadcrumb":["My","tools","\u81ea\u52a8\u53d1\u5361"],"ownVisible":false},{"name":"Agiso \u963f\u5947\u7d22\u81ea\u52a8\u53d1\u8d27\u8f6f\u4ef6","createdAt":"2024-03-06 15:02:07","url":"https://www.agiso.com/","desc":"","urls":{},"rate":5,"top":false,"icon":"","id":1077,"breadcrumb":["My","tools","\u81ea\u52a8\u53d1\u5361"],"ownVisible":false}],"icon":""},{"title":"\u89c6\u9891\u4e0b\u8f7d","createdAt":"2024-04-14 07:49:46","nav":[{"name":"\u8d1d\u8d1dBiliBili - B\u7ad9\u89c6\u9891\u4e0b\u8f7d","createdAt":"2024-04-14 07:49:35","url":"https://xbeibeix.com/api/bilibili/","desc":"","urls":{},"rate":5,"top":false,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAC2klEQVQ4jQXBS2xUVRwH4N//vO6987jtMNNbSjtlhlZFKQVttG3apELkEYhoiCSQWAMutGxYuNFEVsYo6cKVCTuDBU1GmqaGEDEGSGUFCZQSaSGMMzVoC/Q1HWnnceeew/dBIkTc5oAA6mwVq48yIgAuRciSEHAAIoCIQQKKHMZKBpbNT+7b+7YXV4FZNPzy/enMzVuwCTBUBgMCAgxJgGtmEmH73ImPBkXilfn1LUKlOb2bTLmtG67/lSWjlBE+AhAUoAFujDxzZP/hchHF0p+NsW9nHzx3ZXup1OV5K5HQZP4/h7lVU2EwDKhxsNSGTQNNyUJ17UqD+nj055VoaGhkdGS96Gv7g/7dVsj5Xy9LpjjgCw5hsXiU3AJkOH325u0vjxz7pWf38IfHhn+9lm1JDo+P1dl4p7fL1yUjBGkOYzgnPbhte/Mqn5S493h6j8O3CNX6+sDx7848LTy5cOLo0Gs7V5m+nfvHZgLa58VyxW2L98TjzZa7tcV7ae5JlPEpi12dnhkf+rTv8VyQy/W81fdMyclc1iHiLoVv5PObujoHhGzLzcJLXGKhL37K/HBq8M38Uk05DzsbE4/m32vrnKgu5+cXOAiVoHrl7qTT2NCyo+PSWuGr8YvffzLU9/eCbtj448rSyfOZ3jd2pgt+LJ2cuDdFilAVYAFIw0skiPTZo+93P1sNZOhCpXp6bMwP/M8OHfjabrrvhQ9lRlgNgIECIjI6v7jY393f6zRFF5fvtNLnFzN+4DdE7IPJjavrC2vks3KNG2kjCGpAJagyZmWzjxJebHtrKvK02N7x6uZU8vSuvh35f7G5/tzc3O9TMxzGgtEcmgEwQY2ZqzMzTnt6r5t6mdQuGfKWVuoaY3/o2jejvwWBTRbIB5MghqAsDBlIzSvGHOzvPtyxrUmbNQsTudnzl689h9FCABwAgDCYTZI4hwSTFAXQTJSudx1HAeC8noSEwgsTsxoSF44BMQAAAABJRU5ErkJggg==","id":1078,"breadcrumb":["My","tools","\u89c6\u9891\u4e0b\u8f7d"],"ownVisible":false}],"icon":""}]},{"title":"game","createdAt":"2024-04-14 07:30:40","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"ZType \u2013 Typing Game - Type to Shoot","createdAt":"2023-12-16 07:00:58","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0UlEQVQ4jYVSS2hTURA9c9997yUmNomNitGFKwWlC7VFEZEWFLoRdFFBRCguqqBQP7gQRJ67LpRWgi4E0YUgJPgFhSr6qlWxtRZUVMT/B21BLdGmyXu5946LlBRR8Sxn5sycmTOESewoDyxwQnexgdECRIACIDEFBQ3AtiSFYWkse/RaPzzPEAAsynnOmrWt/dFI3TdNpgiwRQaAABgAwIABIIhhDDSZpWoi2JStX3FfAsCy1RtsVS5Yb173b8o3bivgP9hTfHSJpZPClMYRECJOKrMo0f7WD4rSpdQ8h8aevVH5xRtDMFO1Li9AG7WwrIpAVb0AgI/PnUDY9qjrWOdiEat3lq1uyC/jFzOZ+QN7xh8fARG3TZI7PvtpUwkW6ooeqSnoa2lR89lfF/9qzwgcLdySLgnLbRBSnFXlidtgpjyR3vzyal10Wry3otWZY8nlw2Am+tuO27/emxtxnV4dlA9m06vOg5na3512k/UN18F8qyfRdADMBCIWNRZ7AgC2friTcW3psw67s+lV55vZlzh0yErObLjMMAM9iaYDHrMAEU+NZBAAtI/5yc7C0NDOscFOAOjgIRsA7f4xfGVXcfg4AHjMsi2Xs/6QvWWkN9ZZGLzbWRg8CADN7MuqZY+zeyeeHP6XpQRm6nh4QkYXLM0R6FVPXeM+j33pUYva9WPoFAOtYVDZJi1MF2A22pAzra5o1Pjt7sTK7xJE7BYeLCFLpHtiyzZ47AmPWnSz70kVhi9I0KjjymYiFgyQkDzO4NYg0HkAXRIAmGALskYBwCPPVK31VB+8rr+69OlmmWwrWfsDYdvEbFLr315IzhE2VX85gbitfjtWGEBGUzKggDIM87PWQE2E7xm6fq5b3wdBKkkgGCaIKT6BWEaYqMwVskQGBvur8Um0Pc3FE+kZMW0c4xZLZM+OcqVYquWDWJTVaIkQB5woq5OJ1u8A8AvD8D79cc9ctAAAAABJRU5ErkJggg==","url":"https://zty.pe/","urls":{},"desc":"","rate":5,"id":1079,"breadcrumb":["My","game","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"python","createdAt":"2024-03-29 13:51:13","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u83ab\u70e6Python\u7f51","createdAt":"2024-03-29 13:51:13","icon":null,"url":"https://mofanpy.com/","urls":{},"desc":"","rate":5,"id":1080,"breadcrumb":["My","python","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Python Projects for Beginner to Advanced - GeeksforGeeks","createdAt":"2024-04-08 13:23:32","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABBElEQVQ4je2PMU4CYRSEv/cv1sIJ4ALgHmEt3FjKDTjCEoitHAAC3oAbSEnYBm/wZ0msd29AT/YfCwMajAWxM37VezPJZAb++TV2PLrT9MGZJmA3oEpiXozz5y/eAqwNqoIs2403K4DGZ5SaQssQ5M1Zx8GiN0tbEt6hZYBMIZTOEWM0vzU4pzu7GziYA5WwVTHaTH6c0JulE4OnS7YLvRajPGmcC8f/I1QDYR6pLMZ5dvKm6RLYnxrE8/uO6trLbAt44NogC6JfB5VXji3Gi7DKUBvRtyiK/XBdOgA/XJcWRTFiD0oQrTqE2914s3p7zP0hkEhmoEQyOwQSP1yXl0z+y7wDOll6dr4VpWEAAAAASUVORK5CYII=","url":"https://www.geeksforgeeks.org/python-projects-beginner-to-advanced/","urls":{},"desc":"","rate":5,"id":1081,"breadcrumb":["My","python","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Python Syntax Checker PEP8","createdAt":"2024-01-02 12:33:54","icon":null,"url":"https://www.pythonchecker.com/","urls":{},"desc":"","rate":5,"id":1082,"breadcrumb":["My","python","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"docs","createdAt":"2024-04-30 13:29:52","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"The Everything App","createdAt":"2024-04-28 14:57:35","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABNUlEQVQ4jY1SQYrDMAyURG+lkJIfJIf8oqc+u59xKARKbBObXoo92oO6blh2Yediz3gk2bJYVYlIVZnZ9kTEzCY2agYi+pj+CbGl1Xm9Xi3FnjZR9tHbtl0ul23bfqWGg0Vbglrr/X6vtdpZo83AzG+3oZTinCul/ErfYaoKIKUEQP/A3kAAQgjTNHnvAZRSWmSj3vtpmkIIAISZAazrKiL8jdZ+g4is6wqAmUVVRaTv+5wzgH0HbQMg59z3vYi8rwTAOTeOY0pJVWutJlp/UkrjODrnTDxY6a7riOjxeJRSzudzu1KMMYRARF3XvWenJVuWZRiGYRjmefbee+/neTZlWZZWlq0h9tAYY875er0+n08iOh6Pt9vtdDpZTbOxvf3zkUQxxkab9TOzrcKP2d43aj/hX+p0kdT5jcFLAAAAAElFTkSuQmCC","url":"https://anytype.io/","urls":{},"desc":"","rate":5,"id":1083,"breadcrumb":["My","docs","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]}],"collapsed":false},{"title":"\u5de5\u4f5c","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"\u65b0\u4eba\u770b\u677f - \u65b0\u4eba - ByteTech","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytetech.info/bootcamp2/mentee/training","urls":{},"desc":"","rate":5,"id":1084,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6587\u6863\u7ba1\u7406-\u7ebf\u4e0a-\u706b\u79cd\u670d\u52a1\u8fd0\u8425\u5e73\u53f0","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://vsop-online.bytedance.net/doc/manage/?current=1&pageSize=10","urls":{},"desc":"","rate":5,"id":1085,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6587\u6863\u5de5\u4f5c - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytedance.larkoffice.com/docx/S7NVdBnbeoOyCDxIOJtcx1WdnSv","urls":{},"desc":"","rate":5,"id":1086,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"APIHub - \u63a5\u53e3\u7814\u53d1\u5e73\u53f0","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://apihub.bytedance.net/project/2536/branch/dev-1695712378/order/104","urls":{},"desc":"","rate":5,"id":1087,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u706b\u5c71\u8d26\u53f7\u7ba1\u7406-\u8d26\u53f7\u7ba1\u7406-Byte BABI","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://babi.bytedance.net/finance/basic/volcManage/","urls":{},"desc":"","rate":5,"id":1088,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6743\u9650\u4e2d\u53f0","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://authority.sre.bytedance.net/MyAuthority","urls":{},"desc":"","rate":5,"id":1089,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u202c\u2061\u2063\u200b\ufeff\u2064\ufeff\u200b\u2063\u2064\u202c\u200b\u2062\u200b\u200b\u200c\u200b\u2063\ufeff\ufeff\u2063\u200b\u2063\ufeff\ufeff\ufeff\u200d\u202c\u202c\ufeff\u2064\u200d\u200c\u200d\u200b\u202c\u2061\u200b\u2062\u202c\ufeff\u2062\ufeff\u5de5\u5355-\u2063\u200b\u202c\u200c\u200b\ufeff\u8fb9\u7f18\u4e91\u6587\u6863\u4f53\u9a8c\u63d0\u5347\u4e13\u9879\u8bb0\u5f55","createdAt":"2024-05-17 23:30:24","icon":null,"url":"https://bytedance.larkoffice.com/sheets/BWWTs1jPQhziX0tTN10c8pTsnIe?sheet=fc2YLy","urls":{},"desc":"","rate":5,"id":1090,"breadcrumb":["\u5de5\u4f5c","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"collapsed":true,"createdAt":"2024-07-15 06:18:29"}],"collapsed":true},{"title":"\u79d1\u9510\u5c14","createdAt":"2024-03-29 13:51:13","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u200c\u200b\u2062\u2064\u200d\u2064\u2064\u2063\u2062\ufeff\u2061\u200c\u200c\u200b\u200b\u2064\u202c\u2063\u2062\u2064\u2061\u200d\u2063\u200b\ufeff\u200b\u200b\u200c\u200b\u200b\u200b\u2062\u200b\u2062\u2064\u202c\u200c\u2064\u2061\u2063\u2064\ufeff\u2064\u2063\u202c\u2063\u200c\u2064\ufeff\u2064\u79d1\u9510\u5c14\u4eba\u529b\u8d44\u6e90\u670d\u52a1\uff08\u82cf\u5dde\uff09\u6709\u9650\u516c\u53f8\u62a5\u9500 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-29 13:51:13","icon":null,"url":"https://bytedance.larkoffice.com/docx/BB4VdceyooupzPxURGpcDNEsnDf","urls":{},"desc":"","rate":5,"id":1091,"breadcrumb":["\u5de5\u4f5c","\u79d1\u9510\u5c14","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u202c\u200b\u2062\u2064\ufeff\u200c\u200b\u2064\u2063\u200b\u200b\u200c\u2061\u2063\ufeff\u200c\u200b\u200b\u2062\u200b\u2061\u2064\u2061\u2063\u2064\u200b\u200c\u2061\u2064\u200b\u200c\u200b\u2062\u2061\u2064\u2062\u2062\u200b\u200d\u200b\u200c\u2061\u200b\u2062\u200d\u200b\u200b\u202c\u2061\u5b57\u8282\u8df3\u52a8\uff08\u4e2d\u56fd\u5927\u9646\u5730\u533a\uff09\u5916\u5305\u7ba1\u7406\u89c4\u8303 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-29 13:51:13","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcnbDslcAXsEgZb39lylXGHKb","urls":{},"desc":"","rate":5,"id":1092,"breadcrumb":["\u5de5\u4f5c","\u79d1\u9510\u5c14","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5916\u5305\u8d44\u6e90\u7ba1\u7406\u7cfb\u7edf","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://rms.bytedance.com/complainApply","urls":{},"desc":"","rate":5,"id":1093,"breadcrumb":["\u5de5\u4f5c","\u79d1\u9510\u5c14","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"SD-WAN+","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u706b\u5c71\u5f15\u64ce\u63a7\u5236\u53f0BOE-SDWAN","createdAt":"2024-04-28 13:41:46","icon":null,"url":"https://v-vconsole.bytedance.net/ecw/sdwan/gateway/list","urls":{},"desc":"","rate":5,"id":1094,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"SD-WAN \u63a5\u5165\u670d\u52a1 \u66f4\u6362 Edge \u8bbe\u5907-\u64cd\u4f5c\u6307\u5357-\u6587\u6863\u4e2d\u5fc3-\u817e\u8baf\u4e91","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://cloud.tencent.com/document/product/1277/64770","urls":{},"desc":"","rate":5,"id":1095,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5982\u4f55\u91ca\u653e\u4e00\u4e2a\u4e0d\u9700\u8981\u7684SAG\u5b9e\u4f8b_\u667a\u80fd\u63a5\u5165\u7f51\u5173(SAG)-\u963f\u91cc\u4e91\u5e2e\u52a9\u4e2d\u5fc3","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://help.aliyun.com/zh/sag/user-guide/release-an-sag-instance?spm=a2c4g.11186623.0.0.3ba36758zqdP9B","urls":{},"desc":"","rate":5,"id":1096,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5b89\u88c5\u548c\u767b\u5f55EAG App\u5ba2\u6237\u7aef--\u8fb9\u7f18\u63a5\u5165\u7f51\u5173-\u706b\u5c71\u5f15\u64ce","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://www.volcengine.com/docs/21698/1110782","urls":{},"desc":"","rate":5,"id":1097,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u2062\u200b\ufeff\u200b\u200c\u200b\u200c\u2062\u2061\u2062\u2062\u202c\u200b\u202c\u200b\u2061\ufeff\u202c\u200b\u200c\u2063\u200d\u202c\u200b\u200b\u200b\u202c\u200b\u200d\u2063\u2064\ufeff\u2063\u2061\u200b\u200d\u202c\u200d\u200b\u202c\u200c\u202c\u202c\u200b\u2061\u200c\u200d\u200c\u200dSD-WAN+\u4e8c\u671fMVP\u5dee\u5f02\u90e8\u5206PRD - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytedance.larkoffice.com/docx/HoOudxKwUo9gyLx6Fsqc6ybvnre","urls":{},"desc":"","rate":5,"id":1098,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200c\u2061\u200b\u2062\u200c\u2061\ufeff\u202c\u200c\ufeff\u2063\u202c\ufeff\u200d\u2063\u202c\u202c\u2062\u200c\u200b\u2064\u2063\ufeff\u200d\ufeff\u2063\u2061\u202c\u2064\u200c\u2064\u202c\u202c\u200d\u200b\u200d\u2064\u200b\u2062\u200b\u200c\u200b\u2063\u200b\ufeff\u202c\u200b\u200b\u202cSD-WAN+\u4e8c\u671f\u4ea7\u54c1 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytedance.larkoffice.com/docx/UiIpdS2EEoet7JxmXy3cJrLsnpc","urls":{},"desc":"","rate":5,"id":1099,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u202c\ufeff\u2064\u200c\u2062\u200c\ufeff\ufeff\u2063\u200d\u200c\u2061\u2062\u2063\u2064\u2062\ufeff\u200d\u2064\u200d\u2062\u2063\u200b\u202c\u200b\u202c\u2062\u2064\ufeff\u2061\u2061\u202c\u2061\u2062\u200b\u2061\ufeff\u200c\u200d\u2063\u202c\u200c\u2063\u2063\u2062\u200c\u200d\u200dSD-WAN+\u4e8c\u671f\u6587\u6863\u95ee\u9898&\u6c42\u52a9 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytedance.larkoffice.com/docx/LBOudiC9oo0ONzxzkZBcySJjngj","urls":{},"desc":"","rate":5,"id":1100,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"SDWAN\u4e1a\u52a1\u7ebf\u9700\u6c42-\u6587\u6863 - Meego \u9879\u76ee\u7ba1\u7406\u5e73\u53f0","createdAt":"2024-03-22 13:45:19","icon":null,"url":"https://meego.feishu.cn/ecn/storyView/DIpHH9oIR?scope=workspaces&node=56515074","urls":{},"desc":"","rate":5,"id":1101,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u2061\u200b\u2063\u2063\u2063\u2064\u202c\u200b\u2061\u200b\u202c\u200b\u200d\u2064\u2064\u2063\u2064\u200b\u200b\u202c\u2061\u200b\ufeff\ufeff\u2063\ufeff\ufeff\u2064\ufeff\u2064\u2063\u2061\ufeff\u200b\u202c\ufeff\u2064\u2064\u200b\u2064\u200b\u2064\u200c\u200c\u2064\u2064\u200c\u2063\u200d\u4ea7\u54c1\u9700\u6c42 - SD-WAN\u8bbe\u5907\u9ad8\u53ef\u7528\u4e0e\u52a8\u6001\u8def\u7531 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-05-29 12:09:10","icon":null,"url":"https://bytedance.larkoffice.com/docx/CK9idUO7Zo45fKxksqzc67j4nzb","urls":{},"desc":"","rate":5,"id":1102,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u3010SD-WAN\u3011\u3010\u7aef\u3011\u5347\u7ea7/\u91cd\u542f/\u91cd\u7f6e\uff08\u672c\u5730\u63a7\u5236\u53f0\uff09 - Meego \u9879\u76ee\u7ba1\u7406\u5e73\u53f0","createdAt":"2024-05-29 12:09:10","icon":null,"url":"https://meego.larkoffice.com/ecn/story/detail/3011107035","urls":{},"desc":"","rate":5,"id":1103,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4ec0\u4e48\u662f SD-WAN+--\u8fb9\u7f18\u63a5\u5165\u7f51\u5173-\u706b\u5c71\u5f15\u64ce","createdAt":"2024-06-19 12:43:23","icon":null,"url":"https://www.volcengine.com/docs/21698/1214105","urls":{},"desc":"","rate":5,"id":1104,"breadcrumb":["\u5de5\u4f5c","SD-WAN+","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u8fb9\u7f18\u667a\u80fd","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u200c\u2064\u200d\u200b\u2063\u2063\u2062\u200c\u200d\u202c\u200b\u2062\u202c\u200b\u2061\u202c\u2064\u200b\ufeff\u2064\u202c\u2063\u200c\u200b\u2064\u200d\u2063\u2064\u202c\u2063\ufeff\u200c\u2062\u200d\u2061\u200b\u2063\u202c\u200b\u2063\u2061\u2061\u200c\u2064\ufeff\u2064\u200b\u2064\u2064\u2063\u25c6 VEI \u6587\u6863\u9700\u6c42\u53ca\u53cd\u9988 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://bytedance.larkoffice.com/sheets/shtcnX0qElSlxMUJqZrv4bbtgEb","urls":{},"desc":"","rate":5,"id":1105,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u667a\u80fd\u8fb9\u7f18-\u63a7\u5236\u53f0BOE Stable","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://console-stable.volcanicengine.com/vei?projectId=p-2100001281-rp88g","urls":{},"desc":"","rate":5,"id":1106,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u8fb9\u7f18\u667a\u80fd\u6587\u6863","createdAt":"2024-03-22 13:45:19","icon":null,"url":"https://www.volcengine.com/docs/6893","urls":{},"desc":"","rate":5,"id":1107,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u2605 \u5f85\u6211\u5904\u7406-VEI\u8bbe\u5907\u7ba1\u7406&\u7269\u8054\u7f51 - Meego \u9879\u76ee\u7ba1\u7406\u5e73\u53f0","createdAt":"2024-03-22 13:45:19","icon":null,"url":"https://meego.feishu.cn/iec/storyView/o4NMp5ASg?scope=workspaces&node=56589639","urls":{},"desc":"","rate":5,"id":1108,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5de5\u5355\u4e2d\u5fc3-\u7ebf\u4e0a-\u706b\u79cd\u670d\u52a1\u8fd0\u8425\u5e73\u53f0","createdAt":"2024-04-18 00:15:01","icon":null,"url":"https://vsop-online.bytedance.net/ticket/list/","urls":{},"desc":"","rate":5,"id":1109,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ArcoSite-\u8fb9\u7f18\u667a\u80fd-\u8bbe\u5907\u7ba1\u7406","createdAt":"2024-06-15 00:55:06","icon":null,"url":"https://arcosite.bytedance.net/sites/1706781084484/65bb7c1ae03b3e030170b6ef/editor/65bb7c1e43a30104e924443f?docLang=zh&bv=65bb7c1be03b3e030170b6f8","urls":{},"desc":"","rate":5,"id":1110,"breadcrumb":["\u5de5\u4f5c","\u8fb9\u7f18\u667a\u80fd","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"IoT","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"E19-1.7-\u79df\u6237-\u821c\u5b87-veStack","createdAt":"2024-03-29 13:51:13","icon":null,"url":"https://console.auto.inspirecloud.io/login?redirect_uri=%2Fproduct%2Fvei-iot%2Fregion%3Avei-iot%2Bcn-velab-auto%2F","urls":{},"desc":"","rate":5,"id":1111,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Sheet","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://bytedance.larkoffice.com/sheets/NTf1sv0FmhGU0lt85cucaOrxnTh?sheet=47f27b","urls":{},"desc":"","rate":5,"id":1112,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u200b\u200b\u200d\u200b\u2062\u2063\u2063\u202c\u2064\u200c\u2063\u2063\u200b\u2062\u200b\u200b\u202c\u200b\u200b\u2063\ufeff\u2063\u200d\u2063\u200c\u200b\u202c\u200d\u200d\u2064\u200b\u202c\u2062\u200b\u2061\u2063\u2064\u200b\u200c\u200b\u2064\u200b\u200b\u2064\u200c\u200b\u200d\ufeff\u200b\u7269\u8054\u7f51\u5e73\u53f0IoT Arenal - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-09 12:25:35","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcnDJN3LSSnGg55GBdkptnvhf","urls":{},"desc":"","rate":5,"id":1113,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u200d\u2061\u2064\u200c\u202c\u2061\ufeff\u200c\u200b\u200d\ufeff\u200b\u2062\u2063\u2062\u200b\u2062\u2061\u2063\u202c\u200c\u2064\u200d\u200c\u2063\ufeff\u2063\u2064\u200b\u2063\u200b\u200c\u2063\u2064\u200d\ufeff\u2063\u200d\u200d\u2062\ufeff\u200d\u2064\u200b\u200d\u2062\u202c\u200d\u202c\u6570\u636e\u8f6c\u53d1\u4f7f\u7528\u6587\u6863 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-09 12:25:35","icon":null,"url":"https://bytedance.larkoffice.com/docx/S0ved7xTjo6KQDxRpPLcqcz3neh","urls":{},"desc":"","rate":5,"id":1114,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200c\u202c\u200d\u2064\u200b\u2061\ufeff\u200d\u2062\u2061\u200b\u200d\u200c\u2063\u200d\u200b\u2062\u200c\u200b\u200b\u200c\u200d\u2062\u2062\u2062\u200b\u2061\u202c\u202c\u200b\u200b\ufeff\u202c\u2062\u200c\u200d\u200d\u2061\u200c\u200b\u2064\u2064\u2062\u202c\u2064\u200b\u200d\u2062\u2062IoT\u4ea4\u63a5\u6587\u6863 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-09 12:25:35","icon":null,"url":"https://bytedance.larkoffice.com/docx/AwuAdIYvtohh5bx1tNUcHOXTnJg","urls":{},"desc":"","rate":5,"id":1115,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u200c\u200c\u200c\u2061\u200d\u2063\u200b\u2063\u200d\u200d\u200d\u2064\u2063\u2064\u200c\u2064\u2064\ufeff\u2064\u200d\u200c\u200b\u200b\u2063\u200d\u200b\ufeff\u200d\u202c\u2063\u200c\u200c\u202c\u200b\u200c\u200b\u2064\u200b\u200b\u2063\u200b\u2062\u200b\u2064\u2064\u2061\u200b\u2062\ufeff\u5907\u4efd - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-10 14:13:28","icon":null,"url":"https://bytedance.larkoffice.com/docx/YycrdhESuorX9bxvHeScQBarnfd","urls":{},"desc":"","rate":5,"id":1116,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"IoT-SDK\u8bbe\u5907\u63a5\u5165 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-10 14:13:28","icon":null,"url":"https://bytedance.larkoffice.com/docx/WzvLdKw6vo8jgIxzH4vcwRjDn6e","urls":{},"desc":"","rate":5,"id":1117,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"EMQ \u6587\u6863\u4e2d\u5fc3","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://docs.emqx.com/zh/","urls":{},"desc":"","rate":5,"id":1118,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"JetLinks \u7269\u8054\u7f51\u57fa\u7840\u5e73\u53f0","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://hanta.yuque.com/px7kg1/yfac2l","urls":{},"desc":"","rate":5,"id":1119,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7269\u8054\u7f51\u5e73\u53f0(IoT)-\u963f\u91cc\u4e91\u5e2e\u52a9\u4e2d\u5fc3","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://help.aliyun.com/zh/iot/?spm=a2c4g.11186623.0.0.59c63f42nzw9Ar","urls":{},"desc":"","rate":5,"id":1120,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7269\u8054\u7f51\u5f00\u53d1\u5e73\u53f0\u7b80\u4ecb_\u7269\u8054\u7f51\u5f00\u53d1\u5e73\u53f0\u8d2d\u4e70\u6307\u5357_\u7269\u8054\u7f51\u5f00\u53d1\u5e73\u53f0\u64cd\u4f5c\u6307\u5357-\u817e\u8baf\u4e91","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://cloud.tencent.com/document/product/1081","urls":{},"desc":"","rate":5,"id":1121,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ArcoSite-\u7269\u8054\u7f51\u5e73\u53f0\uff08\u516c\u6709\u4e91\uff09","createdAt":"2024-04-15 13:08:31","icon":null,"url":"https://arcosite.bytedance.net/sites/1706845848448/65bc66bbe42205030496fec1/editor/65bc66bdfe7d4d04d441a763?docLang=zh&bv=65bc66bde42205030496fecb","urls":{},"desc":"","rate":5,"id":1122,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6c99\u679c\u5f00\u6e90\u7269\u8054\u7f51\u7cfb\u7edf SagooIoT | SagooIoT","createdAt":"2024-04-28 15:05:51","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADCklEQVQ4jW1T32tcVRD+Zs6552bvktRNtrFNEy32hy1VyqpE8GlbBZX0QRCrhIK40oKIFEr/gCj4Iq0IIRXBvrQKYlqrPqmlUqFvagu1FdqmuDaNm2zSbdzsj3vvufeMD5utIh0YGIb55htmviHcxwSgbkzd1OfjObA+AqNKiJLfEYZFlKYX+X9AXgVJ1wEgf7w0BPJ+RF+mhFjOAupllKYX78sIAPXR0YE7xeLw7I6+fgDAn2M5nHnpTZx9rnCvaGKiSwYCIALocLTwOml+NY3C7YjjjOtb01Se/nkuu/HEi2sP+55pbQxyMreSzP1w/ej4EgAiAKg/uTWvVPZkYNQLEsdortuA+b37ET66A8b4aAnhQqsX5y9XUZ6tAXDXrI3fvvzB7nMkmzf7K/3Z073GjDWcs2wthUMP8bVjp2DX+OwigAlY2wOc+7WafPrtFfhBVidxeDeN7LO6mcuMZ5Qaa0VhoqxViCP2F/4SszSPtGcEXiySghAS4Y9KXS03LHpdw2o/k1OevKuhvbdUu+VWni7S8jO7KPfTd3Jn9x4Khx8GJwLHRAwgToBiYYPU6m1aN5DV5UrD/Xajuosaozsj0dqb+fAk6k9sJ64DogGOAIF0tkyACEGrThz0AOcvLsixM1dJc9TWjS1PobVpG7yaEwGIEkCIVm8rHUUASB3EOYFmksH8A5QP3CxTYssYfBBiqNOeSIS4C4Uw/6sWEWJJEQnYJH/TvoGvTzOH4RfGWhIHYRKo1R5udXYd1TrTEESIYI2mwFZd4dZE9YBMTbGZr0wmi5VyEIHbzJQKSESImWT9zSk8fuF5GZ75SBJF5CV1t/7WKbvz4hs8svjNe3QIM5qamK9XrhwcunT0K1V4hZs8nDqwZhtT/8L3oqMlGpj9Ejq+63qXf3F9UvZaK8mJbHnu4wkQk3R04uJPBg9IftNkHIyYUAIHsdTTuEnKhSIAjGuSNj5aqX+8xo+8M7J3un3vW0VARJDmZ1v2GOb3xcljDiCnMgBImABifTt16ZHgtUuT/328fwB47GuHDtGS+wAAAABJRU5ErkJggg==","url":"https://iotdoc.sagoo.cn/","urls":{},"desc":"","rate":5,"id":1123,"breadcrumb":["\u5de5\u4f5c","IoT","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u4e91\u62e8\u6d4b","createdAt":"2024-03-06 15:02:07","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"ArcoSite-\u4e91\u62e8\u6d4b","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://arcosite.bytedance.net/sites/1692956286931/64e876e1814dd502ace091c2/editor/64e876e348f8bf7f81ffdcfc?docLang=zh&bv=652fd8f4fb401502ea5f2aa2","urls":{},"desc":"","rate":5,"id":1124,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u706b\u5c71\u5f15\u64ce\u63a7\u5236\u53f0-\u4e91\u62e8\u6d4bBOE","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://v-vconsole.bytedance.net/cloud-detect/overview","urls":{},"desc":"","rate":5,"id":1125,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u706b\u5c71\u5f15\u64ce-\u4e91\u62e8\u6d4b\u6587\u6863","createdAt":"2024-03-06 15:02:07","icon":null,"url":"https://www.volcengine.com/docs/83571/1132368","urls":{},"desc":"","rate":5,"id":1126,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u5e94\u7528\u5b9e\u65f6\u76d1\u63a7\u670d\u52a1ARMS-\u963f\u91cc\u4e91\u5e2e\u52a9\u4e2d\u5fc3","createdAt":"2024-03-06 15:02:07","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABXklEQVQ4ja3TvU5VURCG4WfW3ptwEjDGWOglGI0WdFZEr+FcgdGAFnSGkk5iR4XReAVcg4TKzkKjsbOVwlgI5BD2z1gAxwYsPE49X9a8M+9i1kpiluw0nM8t+m5wbHDFSOUgXmshn2j0Fv0yMa+4qcRLB1DnijsqW44sWTDnqpHWR60H+Al6ixq7brinM3HkJJ/5oLcWueqzebedYPBVeCe9iW2fzvGCzFV3hcfSQ8Utczj2JfKpVOu0Nv2wETv6v3KPVa7b0FjXqYsw6Ewc2owdfS6rLw0vq2NH79CmzkQYaimkQaNA7OlyxZbGff3pElUarffxyhpoFGlAXPxa2Be+Gc5wapWwf1FrLSSK1jAdc9uLSxH2dFqDeUXIIhW1kQXrOVbFnu58WUlJSo5VU7yxyoJ1tZFU/sMZz0ViyWBO/UekeHsqUj5yTWNXcyZSccKZSLOqPPNn+tfstH4DoqinIboRo4IAAAAASUVORK5CYII=","url":"https://help.aliyun.com/zh/arms/?spm=a2c4g.11186623.0.0.30158cabxdoTMD","urls":{},"desc":"","rate":5,"id":1127,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e91\u62e8\u6d4b\u7b80\u4ecb_\u4e91\u62e8\u6d4b\u8d2d\u4e70\u6307\u5357_\u4e91\u62e8\u6d4b\u64cd\u4f5c\u6307\u5357-\u817e\u8baf\u4e91","createdAt":"2024-05-17 23:30:24","icon":null,"url":"https://cloud.tencent.com/document/product/280","urls":{},"desc":"","rate":5,"id":1128,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e91\u62e8\u6d4b-\u6587\u6863\u9700\u6c42 - Meego \u9879\u76ee\u7ba1\u7406\u5e73\u53f0","createdAt":"2024-03-22 13:45:19","icon":null,"url":"https://meego.feishu.cn/netarch_platform/storyView/fL9kPi4IR?scope=workspaces&node=55251844","urls":{},"desc":"","rate":5,"id":1129,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u200d\u2062\u2063\u200b\ufeff\u2061\u2061\u200d\u200c\u2063\u2064\u200b\u200b\u2061\ufeff\u202c\u2062\u2064\u200d\u2064\u2062\u2062\u202c\u200b\u200c\u2062\ufeff\u200c\u200b\u200b\u2062\u2061\ufeff\ufeff\u2061\u2064\u200b\u2064\u200b\u200d\u2064\u200d\u2064\u200b\u2063\u2063\u202c\u200c\u2064\u2705 \u6982\u5ff5\u660e\u786e\u548c\u6587\u6848\u7edf\u4e00\uff08\u6570\u636e\u6cbb\u7406\uff09 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://bytedance.larkoffice.com/wiki/TKYEwGoXPiNQfLkC2PDcvDIHnkf","urls":{},"desc":"","rate":5,"id":1130,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e91\u62e8\u6d4b\u5de5\u5355\u5217\u8868","createdAt":"2024-04-18 00:15:01","icon":null,"url":"https://oncall.bytedance.net/admin/review/all?tenant_id=2283¤t_page=1&page_size=10&filter_fields=%255B%257B%2522field%2522%3A%2522tenant_id%2522%2C%2522value%2522%3A%255B2283%255D%2C%2522operator%2522%3A%2522in%2522%257D%255D&extra_arguments=%255B%255D","urls":{},"desc":"","rate":5,"id":1131,"breadcrumb":["\u5de5\u4f5c","\u4e91\u62e8\u6d4b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u4efb\u52a1\u65ad\u8a00","createdAt":"2024-04-08 13:23:32","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"JSONPath - JSON \u7684 XPath","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://goessner.net/articles/JsonPath/","urls":{},"desc":"","rate":5,"id":1132,"breadcrumb":["\u5de5\u4f5c","\u4efb\u52a1\u65ad\u8a00","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"XML Path Language (XPath)","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://www.w3.org/TR/1999/REC-xpath-19991116/","urls":{},"desc":"","rate":5,"id":1133,"breadcrumb":["\u5de5\u4f5c","\u4efb\u52a1\u65ad\u8a00","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"json-path/JsonPath\uff1aJava JsonPath \u5b9e\u73b0","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://github.com/json-path/JsonPath?tab=readme-ov-file","urls":{},"desc":"","rate":5,"id":1134,"breadcrumb":["\u5de5\u4f5c","\u4efb\u52a1\u65ad\u8a00","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"JSONPath\u5728\u7ebf\u9a8c\u8bc1","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://www.jsonpath.cn/","urls":{},"desc":"","rate":5,"id":1135,"breadcrumb":["\u5de5\u4f5c","\u4efb\u52a1\u65ad\u8a00","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Introduction to XPath - GeeksforGeeks","createdAt":"2024-04-08 13:23:32","icon":null,"url":"https://www.geeksforgeeks.org/introduction-to-xpath/","urls":{},"desc":"","rate":5,"id":1136,"breadcrumb":["\u5de5\u4f5c","\u4efb\u52a1\u65ad\u8a00","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"\u5168\u7403\u5316\u6539\u5199","createdAt":"2024-06-10 02:48:53","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u200d\u202c\u200d\u2063\u2061\u200d\ufeff\u2063\u2061\u2064\u200b\u2062\u202c\u2062\u202c\ufeff\u2061\u2064\u202c\u200d\u200d\u200d\u2061\u2062\u2061\u200b\u200b\u200b\u2063\u200d\u200b\u2061\u200d\u200c\u2062\u200b\u200c\u202c\u2061\u2062\u2061\u2063\u202c\u200d\u200b\u2061\ufeff\u200b\u2061\u2063\u5168\u7403\u5316\u5199\u4f5c - \u6587\u6863\u6539\u5199\u6392\u671f - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://bytedance.larkoffice.com/sheets/shtcnUxO5eskuKTvYMLfZVELZ2b?sheet=Qs4H6e","urls":{},"desc":"","rate":5,"id":1137,"breadcrumb":["\u5de5\u4f5c","\u5168\u7403\u5316\u6539\u5199","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u2061\u200b\u202c\u200d\u200b\u200b\u2062\u200c\ufeff\u200d\u200d\u200c\u2061\u200b\ufeff\u200b\u200c\ufeff\ufeff\u2063\u200b\u200d\u2064\u200b\u2064\u200b\u200b\u2061\u2064\ufeff\u202c\u2061\u200b\u2064\u200b\u202c\u2062\u200d\u202c\u200c\u2062\ufeff\u2064\u200b\u2062\u2061\ufeff\u202c\u200b\u5168\u7403\u5316\u5199\u4f5c\u548c\u6846\u67b6-\u8bc4\u5ba1\u8bb0\u5f55 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-05-06 13:46:37","icon":null,"url":"https://bytedance.larkoffice.com/sheets/Yiv4sErPrhsk6ttsuHqcJRx8n7d?sheet=aHoBpC","urls":{},"desc":"","rate":5,"id":1138,"breadcrumb":["\u5de5\u4f5c","\u5168\u7403\u5316\u6539\u5199","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u2064\u200c\u200b\u200b\u200b\u2063\u2063\u200b\u200b\u2061\u200b\u2063\u2064\u200c\u200c\u200c\u200b\u200b\u200b\u200b\u200d\u2062\u2062\u2061\u200b\u202c\u200c\u2064\u2062\u2061\u200d\u200d\u2061\u2064\u2061\u2063\u200d\u2062\u2063\u200d\u200b\u200b\u202c\u2061\u202c\ufeff\u5168\u7403\u5316\u6539\u5199 - \u2064\ufeff\u202c\u8fb9\u7f18\u667a\u80fd","createdAt":"2024-06-10 02:48:53","icon":null,"url":"https://bytedance.larkoffice.com/docx/NrsNdMgJCoNSCVxW7otcP3ehnjh","urls":{},"desc":"","rate":5,"id":1139,"breadcrumb":["\u5de5\u4f5c","\u5168\u7403\u5316\u6539\u5199","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"AI\u6587\u6863\u68c0\u6d4b","createdAt":"2024-04-12 13:54:35","icon":null,"url":"https://bytedance.larkoffice.com/drive/folder/XBBsfEa4LloFC7drwYCcJWDJnOc","urls":{},"desc":"","rate":5,"id":1140,"breadcrumb":["\u5de5\u4f5c","\u5168\u7403\u5316\u6539\u5199","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]},{"title":"MC100","createdAt":"2024-06-10 02:48:53","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"name":"\u5317\u4eac\u4e3d\u660e\u79d1\u6280\u6709\u9650\u516c\u53f8","createdAt":"2024-06-10 02:48:53","icon":null,"url":"http://www.limingkeji.com/index.aspx.htm","urls":{},"desc":"","rate":5,"id":1141,"breadcrumb":["\u5de5\u4f5c","MC100","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"How To Set Up vsftpd for a User\'s Directory on Ubuntu 20.04 | DigitalOcean","createdAt":"2024-06-10 02:48:53","icon":null,"url":"https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-20-04","urls":{},"desc":"","rate":5,"id":1142,"breadcrumb":["\u5de5\u4f5c","MC100","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\ufeff\u2064\u200c\u202c\u200b\u200b\u200d\u200b\u2063\u202c\u200c\u2061\u2062\u2061\u200d\u200b\u2062\u2061\u200b\u200b\ufeff\u2064\u2063\u2063\u200c\u202c\u200c\u2061\u200c\u200c\u2064\u2062\u2061\u2063\u202c\u2061\u200b\u2061\u202c\u200b\u200b\u200c\u200d\u2062\u202c\u200c\u2061\u2062\u202c\u8fb9\u7f18\u667a\u80fd-\u5929\u82b1\u5bfc\u89c6\u9a71\u52a8\u5f00\u53d1-\u63d0\u6d4b - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-05-29 12:09:10","icon":null,"url":"https://bytedance.larkoffice.com/wiki/ONwUwxhydi5nEOkjj63cGU8wnyg","urls":{},"desc":"","rate":5,"id":1143,"breadcrumb":["\u5de5\u4f5c","MC100","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200b\u200c\u200b\u202c\u200b\u2064\u200b\u200b\u200c\u200b\u2063\u2061\u2064\u200c\u200d\u2064\ufeff\u200b\ufeff\u2062\ufeff\u2063\u202c\u200b\u2063\u200d\u2061\u200b\ufeff\u200b\u2063\u2061\u2064\u200b\u200b\ufeff\ufeff\u200b\u200b\u200d\u200b\u2064\u2064\u2061\u200b\u2061\u2062\u202c\u5168\u7403\u5316\u5199\u4f5c\u548c\u6846\u67b6-\u8bc4\u5ba1\u8bb0\u5f55 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-10 02:48:53","icon":null,"url":"https://bytedance.larkoffice.com/sheets/Yiv4sErPrhsk6ttsuHqcJRx8n7d?sheet=v2yvym","urls":{},"desc":"","rate":5,"id":1144,"breadcrumb":["\u5de5\u4f5c","MC100","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u2062\u202c\u200d\u2061\u2064\u200c\u2062\u200b\u2062\u2063\ufeff\u2063\ufeff\u200b\u200d\u2061\u200b\u2062\u200c\u2064\u2063\ufeff\u2062\u2063\u2061\u2061\u200b\u2061\u200b\u200b\u2062\u2062\u200d\u200d\u200c\u2061\u2061\u202c\u2063\u202c\u2063\u2064\u200b\u200b\u2064\u200b\u2061\u8fb9\u7f18\u667a\u80fd-\u5929\u82b1\u5bfc\u89c6\u9a71\u52a8\u5f00\u53d1 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-21 13:03:37","icon":null,"url":"https://bytedance.larkoffice.com/docx/UMPIdh1IXoh7Wzx1X4EcvetjnNe","urls":{},"desc":"","rate":5,"id":1145,"breadcrumb":["\u5de5\u4f5c","MC100","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}]}]}],"collapsed":false,"id":0},{"title":"ljy","createdAt":"2024-06-18 13:04:19","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"\u2063\ufeff\u200b\ufeff\u2063\u200c\u200b\ufeff\ufeff\u2061\u2062\u2062\u202c\u200b\u2064\u2064\u2062\u200b\u200d\u2064\u2064\u200b\u200c\u200c\u200d\u202c\u2061\u200b\u2063\u2062\u200b\u2061\u200b\u2061\u200b\u200d\u200d\ufeff\u2063\u200c\u2063\u2062\u2061\u200d\u200b\u2064\u7efc\u5408\u79ef\u6781\u60c5\u7eea\u7597\u6cd5\u5bf9\u62a4\u7406\u4eba\u5458\u4e2d\u91cd\u5ea6\u804c\u4e1a\u5026\u6020\u7684\u5e72\u9884\u7814\u7a76 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-10 02:48:53","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==","url":"https://bytedance.larkoffice.com/docx/LV4jdx9sLoAMlSx81d2cAWornxd","urls":{},"desc":"","rate":5,"id":1146,"breadcrumb":["ljy","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u9996\u9875","createdAt":"2024-06-10 02:48:53","icon":null,"url":"https://lib.plagh.cn/s/5/137/16/172/G.http-81/newjiansuo/","urls":{},"desc":"","rate":5,"id":1147,"breadcrumb":["ljy","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"createdAt":"2024-07-15 06:18:29"}]}],"collapsed":false},{"title":"job","createdAt":"2024-06-25 14:58:28","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"\u2062\u200c\u200d\u2064\u2062\ufeff\u2062\u2064\u2063\u2063\u2063\u200c\u200b\u200c\u200b\u200d\u200b\u200b\u2063\u200d\u2064\u200b\u200d\u200d\u200c\u200c\u200b\u200c\u200d\u202c\u2062\u200b\u200c\ufeff\u202c\u202c\u2064\u202c\u202c\u202c\u2064\u202c\u2062\u2061\u2064\u200b\u2064\u5168\u7403\u5316\u5199\u4f5c - \u589e\u5f3a\u6587\u6863\u6e05\u6670\u6027 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-25 14:58:28","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==","url":"https://bytedance.larkoffice.com/docx/H52YdcPqTohSQjx7s7FcwmA7n6b","urls":{},"desc":"","rate":5,"id":1148,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u2063\u2063\u200b\u2064\u200b\u2061\u200b\u2064\u200b\u202c\u200b\u2064\u200c\u200c\u200b\ufeff\u200b\u200c\u2063\u2063\u200c\u200b\u200b\u202c\u200c\u2064\u200b\u200d\u2061\u202c\u2061\u2063\u200b\u200b\u202c\u200d\u200c\u202c\u2064\ufeff\u2062\u2061\u200b\u200b\u200b\u2061\u200b\ufeff\u2063H1 \u603b\u7ed3 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-25 14:58:28","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB0klEQVQ4jX2SPWtUURCGn5lz7t7NSmziRxtQEUSJP0HLVBaCnSBWgghW1gF/giBWIoKFhQr+AdOJWFgEVkTEj0YjZCPEhHV3z3kt7t29l11xYDjDzJl33vkwajl9XcvpEMZ/ZLLH6MsjG7Z9BnD+ti4E5ymJIMCsBaTZI4wBzovhkLv9+/YbIAKQOBVKjk0ymFW6IAKMldjljhIn2NAVNpDX4XHOZMREmcqaUxMikSb7JHcur+2wBqbYquAGGidsNPnnLNQpsMKROTI4A7yLAG6YOxyM4ewqXL0I0gKAPX6F+t9QrwQ3Os0MqBJigO8DePmmHu8UpLa3d7HomIRlVdEZgNUg3QJWjzcM1AyQz9uN3+tNxRZFsqAs4ejhpngMUITK7nWrP+0txTpRqj9vD+D565qVwc9f8GMXgsPyEnQi5DwH4IaZoVFC51bRjXUsJegUsLkFTzZhqYRJAmXwBQaQc6763/oKNx9QH2TVSgxVcp4mq2I9AxiJ9yFj9azU3sG0mCqvBJIxa8JB1r/H25x4VvSIFgjmmIdGbaqOY0R3HChqBiaAP2NdswM+GVySODIr3r5JIQPSmETg43wYgJO3VK5AubNwiI2EffThoe0B/AU8oMSk2dj9JwAAAABJRU5ErkJggg==","url":"https://bytedance.larkoffice.com/docx/AFbTdBr4TodFjqxxiorcwwSjnth","urls":{},"desc":"","rate":5,"id":1149,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"Docs","createdAt":"2024-06-25 14:58:28","icon":null,"url":"https://bytedance.larkoffice.com/docx/YY7SdYBb9oDsunxxdXxcdbL9nnh","urls":{},"desc":"","rate":5,"id":1150,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u2062\u2061\u2064\u200d\u200d\u2064\u200b\u200c\u202c\u202c\u200d\u2062\u202c\u202c\u200d\u200b\ufeff\u2061\u2064\u2061\u200b\u2064\u2062\u202c\u2064\u200b\u200b\u200c\u2062\u2061\u2064\ufeff\u200c\ufeff\u2062\u200b\u200b\u200d\u2061\ufeff\ufeff\u200b\u202c\u2063\u2061\u200d\u200d\u2061\u200b\u6587\u6863\u4f53\u9a8c\u63d0\u5347\u4e13\u9879\uff1a\u57fa\u4e8e\u591a\u7ef4\u6570\u636e\u63d0\u5347\u7528\u6237\u7684\u6587\u6863\u4f53\u9a8c - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-26 14:11:05","icon":null,"url":"https://bytedance.larkoffice.com/docx/SXGTdgWt2ogfqmxN6W9clDhHnsS","urls":{},"desc":"","rate":5,"id":1151,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"7 Best Practices for Planning Developer Documentation","createdAt":"2024-07-02 14:01:09","icon":null,"url":"https://daily.dev/blog/7-best-practices-for-planning-developer-documentation","urls":{},"desc":"","rate":5,"id":1152,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"5 Metrics to Measure Documentation Quality","createdAt":"2024-07-02 14:01:09","icon":null,"url":"https://daily.dev/blog/5-metrics-to-measure-documentation-quality#:~:text=Measuring%20documentation%20quality%20is%20crucial%20to%20ensure%20it%20meets%20user,improvement%20and%20optimize%20your%20documentation.","urls":{},"desc":"","rate":5,"id":1153,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e91\u901f\u642d(CADT)-\u963f\u91cc\u4e91\u5e2e\u52a9\u4e2d\u5fc3","createdAt":"2024-07-02 14:01:09","icon":null,"url":"https://help.aliyun.com/zh/cadt/?spm=a2c4g.750001.0.0.378d2842f0AIa8","urls":{},"desc":"","rate":5,"id":1154,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u6210\u957f\u5730\u56fe_\u4e91\u6570\u636e\u5e93 RDS","createdAt":"2024-07-02 14:01:09","icon":null,"url":"https://support.huaweicloud.com/rds/index.html","urls":{},"desc":"","rate":5,"id":1155,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\ufeff\u2063\u2061\u200c\u2064\u202c\u2063\ufeff\u2064\u200c\u200c\ufeff\ufeff\u2064\u202c\u202c\u2061\u200b\u2061\u2063\u200d\u2062\u200c\u200d\u200c\u2063\u200b\u200b\u2061\u200b\u202c\u2062\u2063\u202c\u202c\ufeff\u202c\u200b\u2064\u2061\u200d\u200c\u200b\u2064\u2064\u2062\u2062\u202c\u202cREADME - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://bytedance.larkoffice.com/docs/doccnZ8HaCrBXYHnbx5JMwlx8Gh","urls":{},"desc":"","rate":5,"id":1156,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u57fa\u672c\u6982\u5ff5--\u89c6\u9891\u70b9\u64ad-\u706b\u5c71\u5f15\u64ce","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://www.volcengine.com/docs/4/3019","urls":{},"desc":"","rate":5,"id":1157,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u202c\u2063\u200d\ufeff\u200b\u2061\u2061\u200b\u2063\u2061\u200b\u200c\ufeff\u2062\u202c\u2064\u200c\u2063\u2062\u200d\u200c\u2064\u200b\u2063\u2061\u200b\u2061\u2063\u200c\u200d\ufeff\u200c\u202c\u202c\u202c\u200d\u200c\u200d\u2062\u2062\u2062\ufeff\u202c\ufeff\u2061\u2064\u200b\u200b\u200b\u{1f310} \u5199\u597d\u4e2d\u6587\u2014\u2014\u4e3a\u7ffb\u8bd1\u800c\u5199\u4f5c - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://bytedance.larkoffice.com/docx/X81kdvE1ioCCg2xxcUFcLIKxnch","urls":{},"desc":"","rate":5,"id":1158,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u2061\u200c\u2063\u200c\u202c\u2064\u2062\u2063\u2062\ufeff\u200c\ufeff\u202c\u2063\u2061\u202c\u2064\u200b\ufeff\u2061\u2064\u2063\u2063\u2063\u2061\u200b\ufeff\u2063\u2064\ufeff\u200b\u200d\u2064\u200c\u200c\u200b\u200b\ufeff\u200d\u2062\u202c\u200c\u200d\u2064\u2064\u200c\u2061\u200c\u2063\u5f00\u53d1\u8005\u8bbf\u8c08\u5b9e\u8df5\u5206\u4eab - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcnctYIhzKWPjL8toiYIUSS5d","urls":{},"desc":"","rate":5,"id":1159,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200c\u2064\u2062\u2063\u200d\u200b\u2062\u200d\u200c\u200d\u200b\u2061\u2063\u2063\ufeff\u200c\u2064\u2061\u200c\u200c\u202c\u200b\u200b\u2061\u2061\u200b\u200b\u2062\u202c\ufeff\ufeff\u202c\u200c\u200d\u200b\u2061\u200d\ufeff\u2064\u200d\ufeff\u200d\u2061\u2064\ufeff\u2061\u200c\u2061\u200b\u6587\u6863\u5de5\u7a0b\u5e08\u804a\u5199\u4f5c Master the Craft of Writing - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcndjZPM1gOeTWjf4hTFmL7ch","urls":{},"desc":"","rate":5,"id":1160,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e00\u4e2a\u60f3\u6cd5\u503c\u591a\u5c11\u94b1\uff1f94\u5e74\u5c0f\u4f19\u628a\u5947\u601d\u5999\u60f3\u53d8\u7206\u54c1\uff0c\u4e00\u4e2a\u4eba\u5356\u4e863\u5343\u4e07 - YouTube","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://www.youtube.com/watch?v=eOyM3GJDn5Y","urls":{},"desc":"","rate":5,"id":1161,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200c\u2061\u200c\u200b\u200c\ufeff\u2062\u2062\u2064\u200d\u202c\u200d\u200d\u2064\u200d\u2062\u202c\u202c\u200b\u2061\u200c\u2062\u2061\u2062\u2062\u200b\u2061\u200c\u2061\u2063\u202c\u2064\u202c\u2063\u200b\u200b\u2061\u200b\u2063\u2061\u2063\u2061\u2061\u2061\u2064\u2064\u200b\u2062\u2062\u6211\u662f\u600e\u6837\u5b66\u5199 API \u6587\u6863\u7684 \u2014\u2014 \u4e00\u4e2a\u6587\u6863\u5c0f\u5b66\u751f\u7684\u544a\u767d\u4e66 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-07-04 13:44:13","icon":null,"url":"https://bytedance.larkoffice.com/wiki/wikcn3TlDetCC9nXHLbaP9P5sjf","urls":{},"desc":"","rate":5,"id":1162,"breadcrumb":["job","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"createdAt":"2024-07-15 06:18:29"}]}],"collapsed":false},{"title":"\u5317\u5411\u901a\u9053","createdAt":"2024-07-10 13:26:55","icon":"","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"EMQ: \u8fde\u63a5\u7269\u7406\u4e16\u754c\u4e0e\u4eba\u5de5\u667a\u80fd","createdAt":"2024-07-10 13:26:56","icon":null,"url":"https://www.emqx.cn/","urls":{},"desc":"","rate":5,"id":1163,"breadcrumb":["\u5317\u5411\u901a\u9053","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"eKuiper: Lightweight data stream processing engine for IoT edge","createdAt":"2024-07-10 13:26:56","icon":null,"url":"https://ekuiper.org/","urls":{},"desc":"","rate":5,"id":1164,"breadcrumb":["\u5317\u5411\u901a\u9053","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7269\u8054\u7f51\u4e2d\u5357\u5411\u534f\u8bae\u3001\u5317\u5411\u534f\u8bae\u662f\u4ec0\u4e48\uff1f\u5357\u5411\u534f\u8bae\u3001\u5317\u5411\u534f\u8bae\u7684\u533a\u522b-CSDN\u535a\u5ba2","createdAt":"2024-07-11 14:21:29","icon":null,"url":"https://blog.csdn.net/robin__su/article/details/135752022","urls":{},"desc":"","rate":5,"id":1165,"breadcrumb":["\u5317\u5411\u901a\u9053","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u7269\u8054\u7f51\uff08IoT\uff09\u7684\u5317\u5411\u548c\u5357\u5411_\u5357\u5411\u5317\u5411\u5728\u7269\u8054\u7f51\u4e2d\u7684\u4f5c\u7528-CSDN\u535a\u5ba2","createdAt":"2024-07-11 14:21:29","icon":null,"url":"https://blog.csdn.net/qq_41045651/article/details/133990708","urls":{},"desc":"","rate":5,"id":1166,"breadcrumb":["\u5317\u5411\u901a\u9053","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"createdAt":"2024-07-15 06:18:29"}]}],"collapsed":false},{"title":"\u672a\u5206\u7c7b","createdAt":"2024-07-14 14:06:18","nav":[{"createdAt":"2024-07-14 14:06:18","title":"\u672a\u5206\u7c7b","nav":[{"title":"\u672a\u5206\u7c7b","nav":[{"name":"how to pronounce localizaiton - Google Search","createdAt":"2024-04-15 13:08:31","icon":null,"url":"https://www.google.com/search?q=how+to+pronounce+localizaiton&newwindow=1&sca_esv=e61ceee022fb5976&hl=en&biw=1138&bih=513&sxsrf=ACQVn0-vu3DLTAsDrV27hzXf20M5bQFy_g%3A1713145301434&ei=1YUcZq2LGrPs2roP47yZgAo&ved=0ahUKEwjtyY_Ji8OFAxUztlYBHWNeBqAQ4dUDCBA&uact=5&oq=how+to+pronounce+localizaiton&gs_lp=Egxnd3Mtd2l6LXNlcnAaAhgCIh1ob3cgdG8gcHJvbm91bmNlIGxvY2FsaXphaXRvbjIHECMYsAIYJzILEAAYgAQYigUYhgMyCxAAGIAEGIoFGIYDMggQABiABBiiBDIIEAAYgAQYogRIvi9QlQJYoy1wAngBkAEAmAGfAqABhxuqAQYwLjE2LjO4AQPIAQD4AQGYAhGgAsMXwgIKEAAYRxjWBBiwA8ICDRAAGIAEGIoFGEMYsAPCAg0QLhhDGIAEGIoFGLADwgIKECMYgAQYigUYJ8ICBRAAGIAEwgIKEAAYgAQYFBiHAsICDhAAGIAEGIoFGJECGIsDwgINEAAYgAQYFBiHAhiLA8ICCBAAGIAEGIsDwgIIEAAYgAQYywHCAgYQABgWGB7CAggQABgWGB4YD8ICBRAhGKABmAMAiAYBkAYKkgcIMi4xMC40LjGgB9GAAQ&sclient=gws-wiz-serp","urls":{},"desc":"","rate":5,"id":1167,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200d\u200b\ufeff\u2064\u2062\u2063\u2061\u2064\u200c\u2064\u2064\u200b\u2064\u2061\u2062\u2062\u2061\ufeff\u200c\u2062\u2063\u200b\u200d\u2061\u200c\u2064\u2062\u2062\u200b\u202c\u200c\u202c\u200b\u2064\u200b\u200b\u200b\u200c\u200b\u200d\u202c\u200d\u200b\u200c\u200b\u200c\u202c\u2063\u2063\u2062P0 \u63a8\u8350\uff5c\u7814\u53d1 leader \u79c1\u85cf\u4e66\u5355\uff0c\u4e00\u8d77\u9003\u9038\u5e73\u5eb8\u7684\u91cd\u529b - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-04-27 05:23:59","icon":null,"url":"https://bytedance.larkoffice.com/wiki/AjyFw0g2IiQKmak3mZCcEYxungh","urls":{},"desc":"","rate":5,"id":1168,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e3a\u4ec0\u4e48\u4e2d\u56fd\u7684\u8ba1\u7b97\u673a\u6559\u80b2\u8fd9\u4e48\u5dee\uff1f - \u77e5\u4e4e","createdAt":"2024-04-30 13:29:52","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACcklEQVQ4jT3TTahVdRQF8N8+59yr5numZlmgQVQUUaOkkUKDoonRQIIgCMLyQYOa5CxMigZBDjIsIiyKjIqmFk0alDxq0CTpSUEiWYZUfqX3Xt85578bnFeDDXuyF2utvVbYn2PFS8aeFtbXI/oKFWqhQb0ylTQSav8Ib/vZC42pV8x5XidV9DNcI2MkhMxOBJCIaGVJ8+btdbsS9uZljTUqqVbvukd+cZLJFGNpLMT/jGikBqtQudzora1CKRPVw9vkwYfY+TFlAxrxyyW2rmf1eJDQhzhzlb+uSo35RqcgdPLRu0RTc/Qxevx6niMn2L+ds1OudOLODeL14/LFYzTrqKITZcrNm8WOW9j1AUtnefUbHjzEyXP8ORXbj7DjXb48JTeOhVZET5UdCssz7jvAsUVKEWcuMPmDi5PBwOmM9gpXe5kpdWQnGzkATGbs3sEN93PbJrmwTdy7SV7AtGWULKesioiCjuhFE5XMZbFlHXdfT92wcQ2/XVDmGtEWSiF6tEKuPLRFJ6tMjFg6ze435MKHXJzx/nfiucPy6BJrR3TLw0FfBsY6sheVHFBHYzTsfYDzE3loF089IrqW1Q2lZUSsbVYYdERHI2SEaK9w041i306eeE+c+pvPFsSTH8lrV/H9s6Ivcut6XlscjM2WJggtW67j02f4/DiffEu28uBXnPidO17m8OPywNf8cIZZhTFdq4rYkxezmNu8gVs3icWfpEpEkP2wq1doVysRbhRjhFmVvbesVp09JxZ/lOoh+2nwRAymRUU16E9FpVbrvNm4ZJ9KrbGnasyV8l/vkEMjFZFl0KwWKudNvOO0ff8CDNsVBiQlEB0AAAAASUVORK5CYII=","url":"https://zhuanlan.zhihu.com/p/684961969","urls":{},"desc":"","rate":5,"id":1169,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"(5) \u4fe1\u606f\u6d41 | LinkedIn","createdAt":"2024-04-30 13:29:52","icon":null,"url":"https://www.linkedin.com/feed/","urls":{},"desc":"","rate":5,"id":1170,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u3010TEDx\u6f14\u8bb2\u3011\u5982\u4f55\u5728\u516d\u4e2a\u6708\u5185\u5b66\u4f1a\u4efb\u4f55\u4e00\u95e8\u5916\u8bed_\u54d4\u54e9\u54d4\u54e9_bilibili","createdAt":"2024-05-17 23:30:24","icon":null,"url":"https://www.bilibili.com/video/BV1Hp421Q7E7/?spm_id_from=333.1007.tianma.2-1-3.click&vd_source=2ac52f1ffa7b85c0348647d2edfbbd3d","urls":{},"desc":"","rate":5,"id":1171,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\ufeff\u200b\u2061\u2064\u2061\ufeff\u2063\u2064\u2062\u200d\ufeff\u2062\u200b\u200b\u200d\u200b\u200b\u2062\u2063\u200c\u200b\u2062\u200d\u2061\u200b\u200c\u2061\u200b\u202c\u202c\u202c\ufeff\u200c\u200c\u2061\u200b\u200c\u200b\u2063\u200b\u2063\u2063\u200c\u200c\u200b\u202c\u2063\u202c\ufeffRefresh - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-21 13:03:37","icon":null,"url":"https://bytedance.larkoffice.com/wiki/Wa84wTbVeieupqk7BPicAsU4nJd","urls":{},"desc":"","rate":5,"id":1172,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u200c\u200b\ufeff\u200b\u2063\u202c\u200d\u200b\ufeff\u2061\u200d\u2063\u2061\u200d\u200b\ufeff\u2064\u2061\u200d\u2061\ufeff\u2063\u200c\u2062\u200c\u2062\u202c\u200d\u2063\u200d\u2063\u2063\u2064\u2064\u2062\ufeff\ufeff\u200d\u200c\ufeff\u200d\u200b\ufeff\u2064\u2064\u2061\u200c\u2064\u202c\u200bAI First\u5b66\u4e60\u4e0e\u601d\u8003\u65e5\u5fd7 - \u98de\u4e66\u4e91\u6587\u6863","createdAt":"2024-06-21 13:03:37","icon":null,"url":"https://bytedance.larkoffice.com/docx/M2BZdhFOGofl7Ax5KCicVbt6nHh","urls":{},"desc":"","rate":5,"id":1173,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ArcoSite","createdAt":"2024-07-08 13:39:39","icon":null,"url":"https://arcosite.bytedance.net/sites/1706781084484/65bb7c1ae03b3e030170b6ef/editor/65c0c74fb3773f0300b16caa?docLang=zh&bv=65bb7c1be03b3e030170b6f8","urls":{},"desc":"","rate":5,"id":1174,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"ArcoSite","createdAt":"2024-07-08 13:39:39","icon":null,"url":"https://arcosite.bytedance.net/sites/1692956286931/64e876e1814dd502ace091c2/editor/65099093292d8302fc8549fa?docLang=zh&bv=652fd8f4fb401502ea5f2aa2","urls":{},"desc":"","rate":5,"id":1175,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"An overview of HTTP - HTTP | MDN","createdAt":"2024-07-10 13:26:55","icon":null,"url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview#basic_aspects_of_http","urls":{},"desc":"","rate":5,"id":1176,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false},{"name":"\u4e00\u676f\u8336\u7684\u65f6\u95f4\uff0c\u641e\u61c2 RESTful API","createdAt":"2024-07-10 13:26:55","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC40lEQVQ4jW2Tz2ucZRDHv995nuftZje7S3+m2JIsFilWqT9KKLKgOdRfF/HSggeDBylEhJDe6qXRQ3sQWi8SLJ68SKmoCC0eLJbagiWIf4CoawxoaDFu3mbf3XefZ8ZDxKbBOQ4zzAzz+RCbwnDcEZcTANjRmSPwPGNURsT57ObHP2ytAQBuJCEEFADs8TfH0Bg9BaYZMNUhClBzCBbQy8/z9qcrm3t4fzqIZ2ZPwvE0oBOaCphgCFGopRCChzoswcqzcu2TiwTs/gaTs5Pw7gI82ujlSDVfwplDWdKosFpmRktuLc9cowpDvBWHg7ns2qVFMUx5eFxEkLatrQ7SwX2pnH7Ra79PdUajMsaScW7ap8ceTv18dUAvbQb56NupKS9otbwhjiL2klacw/tviVYzat41Zs5QCZZW/zJsC3TvzYp6uhSLZIj1FuAFnRWDp6K37tKxp8CHdjMcnIA2qrThELqe05o1+kda5vbuIY61ob11Z54al5dN0BojqTSLSIcPUAANTx+ie/s1aFkYx/cCLz+L7i+/IgJITzzKpCXoDH7/fvoOOmi5Q6ZQlKaoAMKYNJx4iWg/CezageA9iktf4M98Tf3S72g6ANxAQWJnxAwJzAS973+0XlEoSAEAjO8TVEcAJ9zz+gkJlQoGV66aq1dgiIjLyya+NUbTKNKoJH63iD/mP7DC0egc//0z4Ry73a4WN27Y6KAHBiZDko0TOp043jqQQ5xrNOuD8pubbumdc7pzZpqp36eZYbj6t3U/XEDj558s2709hYBtpeq9zvXrkQBQPvfGZMjkAsTahZVYuXunzHfVnYoRRQEX+9bMXNrRrGU1rzDRWzGmuezzrxcfQFmfnz4pLp2Gl4m7vTUYdEgPuMCwveqgOvwN1HPy2dUtKG+S6d7RV8ZqO0dORbEZEa2DCSqaC9NCEe+cH/3q9v/LtFXV9RdePZJVME+aDRjfrX15ZUPn43C8jP90/geE9nH5rtBMQQAAAABJRU5ErkJggg==","url":"https://apifox.com/blog/a-cup-of-tea-time-to-understand-restful-api/?utm_source=google_search&utm_medium=g&utm_campaign=15676663585&utm_content=137784982731&utm_term=&gad_source=1&gclid=Cj0KCQjwv7O0BhDwARIsAC0sjWPgb0_YxiOjSCZ3I6Pgfvr3IMMrAFoYyjKC3EvxYA6QdwElrttmceUaAtMqEALw_wcB","urls":{},"desc":"","rate":5,"id":1177,"breadcrumb":["\u672a\u5206\u7c7b","\u672a\u5206\u7c7b","\u672a\u5206\u7c7b"],"top":false,"ownVisible":false}],"createdAt":"2024-07-15 06:18:29"}]}],"collapsed":true}]'),jg=JSON.parse('[{"name":"\u7ad9\u5185","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/logo.png","placeholder":"\u7ad9\u5185\u641c\u7d22","blocked":false,"isInner":true},{"name":"\u767e\u5ea6","url":"https://www.baidu.com/s?wd=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/baidu.svg","placeholder":"\u767e\u5ea6\u4e00\u4e0b","blocked":false,"isInner":false},{"name":"Google","url":"https://www.google.com/search?q=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/google.svg","blocked":false,"isInner":false},{"name":"\u5fc5\u5e94","url":"https://cn.bing.com/search?q=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/bing.svg","blocked":false,"isInner":false},{"name":"GitHub","url":"https://github.com/search?q=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/github.svg","placeholder":"Search GitHub","blocked":false,"isInner":false},{"name":"\u77e5\u4e4e","url":"https://www.zhihu.com/search?type=content&q=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/zhihu.svg","blocked":false,"isInner":false},{"name":"\u8c46\u74e3","url":"https://search.douban.com/book/subject_search?search_text=","icon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/douban.svg","placeholder":"\u4e66\u540d\u3001\u4f5c\u8005\u3001ISBN","blocked":false,"isInner":false}]'),Yg="data/db.json",Wi={token:"token",location:"location",s_url:"s_url",isDark:"isDark",website:"website",engine:"engine",language:"language",total:"total",authCode:"AUTH_CODE"};function j4(){return window.localStorage.getItem("token")||""}function Ug(){return window.localStorage.getItem("AUTH_CODE")||""}function BM(t){return window.localStorage.setItem("AUTH_CODE",t.trim())}function HM(){const t=Ug();window.localStorage.clear(),BM(t)}const Gi=!!j4();var pa=function(t){return t[t.All=1]="All",t[t.Title=2]="Title",t[t.Desc=3]="Desc",t[t.Url=4]="Url",t[t.Current=5]="Current",t}(pa||{});function jM(t,n){return function(){return t.apply(n,arguments)}}const{toString:OX}=Object.prototype,{getPrototypeOf:Wg}=Object,Y4=(t=>n=>{const e=OX.call(n);return t[e]||(t[e]=e.slice(8,-1).toLowerCase())})(Object.create(null)),Ur=t=>(t=t.toLowerCase(),n=>Y4(n)===t),U4=t=>n=>typeof n===t,{isArray:y1}=Array,Vu=U4("undefined"),YM=Ur("ArrayBuffer"),NX=U4("string"),br=U4("function"),UM=U4("number"),W4=t=>null!==t&&"object"==typeof t,G4=t=>{if("object"!==Y4(t))return!1;const n=Wg(t);return!(null!==n&&n!==Object.prototype&&null!==Object.getPrototypeOf(n)||Symbol.toStringTag in t||Symbol.iterator in t)},RX=Ur("Date"),LX=Ur("File"),BX=Ur("Blob"),HX=Ur("FileList"),UX=Ur("URLSearchParams"),[WX,GX,qX,QX]=["ReadableStream","Request","Response","Headers"].map(Ur);function Nu(t,n,{allOwnKeys:e=!1}={}){if(null===t||typeof t>"u")return;let i,o;if("object"!=typeof t&&(t=[t]),y1(t))for(i=0,o=t.length;i0;)if(o=e[i],n===o.toLowerCase())return o;return null}const GM=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,qM=t=>!Vu(t)&&t!==GM,nee=(t=>n=>t&&n instanceof t)(typeof Uint8Array<"u"&&Wg(Uint8Array)),ree=Ur("HTMLFormElement"),QM=(({hasOwnProperty:t})=>(n,e)=>t.call(n,e))(Object.prototype),aee=Ur("RegExp"),KM=(t,n)=>{const e=Object.getOwnPropertyDescriptors(t),i={};Nu(e,(o,r)=>{let s;!1!==(s=n(o,r,t))&&(i[r]=s||o)}),Object.defineProperties(t,i)},qg="abcdefghijklmnopqrstuvwxyz",$M="0123456789",JM={DIGIT:$M,ALPHA:qg,ALPHA_DIGIT:qg+qg.toUpperCase()+$M},mee=Ur("AsyncFunction"),$={isArray:y1,isArrayBuffer:YM,isBuffer:function PX(t){return null!==t&&!Vu(t)&&null!==t.constructor&&!Vu(t.constructor)&&br(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let n;return t&&("function"==typeof FormData&&t instanceof FormData||br(t.append)&&("formdata"===(n=Y4(t))||"object"===n&&br(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function VX(t){let n;return n=typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&YM(t.buffer),n},isString:NX,isNumber:UM,isBoolean:t=>!0===t||!1===t,isObject:W4,isPlainObject:G4,isReadableStream:WX,isRequest:GX,isResponse:qX,isHeaders:QX,isUndefined:Vu,isDate:RX,isFile:LX,isBlob:BX,isRegExp:aee,isFunction:br,isStream:t=>W4(t)&&br(t.pipe),isURLSearchParams:UX,isTypedArray:nee,isFileList:HX,forEach:Nu,merge:function Gg(){const{caseless:t}=qM(this)&&this||{},n={},e=(i,o)=>{const r=t&&WM(n,o)||o;n[r]=G4(n[r])&&G4(i)?Gg(n[r],i):G4(i)?Gg({},i):y1(i)?i.slice():i};for(let i=0,o=arguments.length;i(Nu(n,(o,r)=>{t[r]=e&&br(o)?jM(o,e):o},{allOwnKeys:i}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,n,e,i)=>{t.prototype=Object.create(n.prototype,i),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:n.prototype}),e&&Object.assign(t.prototype,e)},toFlatObject:(t,n,e,i)=>{let o,r,s;const a={};if(n=n||{},null==t)return n;do{for(o=Object.getOwnPropertyNames(t),r=o.length;r-- >0;)s=o[r],(!i||i(s,t,n))&&!a[s]&&(n[s]=t[s],a[s]=!0);t=!1!==e&&Wg(t)}while(t&&(!e||e(t,n))&&t!==Object.prototype);return n},kindOf:Y4,kindOfTest:Ur,endsWith:(t,n,e)=>{t=String(t),(void 0===e||e>t.length)&&(e=t.length);const i=t.indexOf(n,e-=n.length);return-1!==i&&i===e},toArray:t=>{if(!t)return null;if(y1(t))return t;let n=t.length;if(!UM(n))return null;const e=new Array(n);for(;n-- >0;)e[n]=t[n];return e},forEachEntry:(t,n)=>{const i=(t&&t[Symbol.iterator]).call(t);let o;for(;(o=i.next())&&!o.done;){const r=o.value;n.call(t,r[0],r[1])}},matchAll:(t,n)=>{let e;const i=[];for(;null!==(e=t.exec(n));)i.push(e);return i},isHTMLForm:ree,hasOwnProperty:QM,hasOwnProp:QM,reduceDescriptors:KM,freezeMethods:t=>{KM(t,(n,e)=>{if(br(t)&&-1!==["arguments","caller","callee"].indexOf(e))return!1;if(br(t[e])){if(n.enumerable=!1,"writable"in n)return void(n.writable=!1);n.set||(n.set=()=>{throw Error("Can not rewrite read-only method '"+e+"'")})}})},toObjectSet:(t,n)=>{const e={},i=o=>{o.forEach(r=>{e[r]=!0})};return y1(t)?i(t):i(String(t).split(n)),e},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,i,o){return i.toUpperCase()+o}),noop:()=>{},toFiniteNumber:(t,n)=>null!=t&&Number.isFinite(t=+t)?t:n,findKey:WM,global:GM,isContextDefined:qM,ALPHABET:JM,generateString:(t=16,n=JM.ALPHA_DIGIT)=>{let e="";const{length:i}=n;for(;t--;)e+=n[Math.random()*i|0];return e},isSpecCompliantForm:function pee(t){return!!(t&&br(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const n=new Array(10),e=(i,o)=>{if(W4(i)){if(n.indexOf(i)>=0)return;if(!("toJSON"in i)){n[o]=i;const r=y1(i)?[]:{};return Nu(i,(s,a)=>{const l=e(s,o+1);!Vu(l)&&(r[a]=l)}),n[o]=void 0,r}}return i};return e(t,0)},isAsyncFn:mee,isThenable:t=>t&&(W4(t)||br(t))&&br(t.then)&&br(t.catch)};function w1(t,n,e,i,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",n&&(this.code=n),e&&(this.config=e),i&&(this.request=i),o&&(this.response=o)}$.inherits(w1,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:$.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ZM=w1.prototype,XM={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{XM[t]={value:t}}),Object.defineProperties(w1,XM),Object.defineProperty(ZM,"isAxiosError",{value:!0}),w1.from=(t,n,e,i,o,r)=>{const s=Object.create(ZM);return $.toFlatObject(t,s,function(l){return l!==Error.prototype},a=>"isAxiosError"!==a),w1.call(s,t.message,n,e,i,o),s.cause=t,s.name=t.name,r&&Object.assign(s,r),s};const Bt=w1;function Qg(t){return $.isPlainObject(t)||$.isArray(t)}function tD(t){return $.endsWith(t,"[]")?t.slice(0,-2):t}function nD(t,n,e){return t?t.concat(n).map(function(o,r){return o=tD(o),!e&&r?"["+o+"]":o}).join(e?".":""):n}const vee=$.toFlatObject($,{},null,function(n){return/^is[A-Z]/.test(n)}),q4=function bee(t,n,e){if(!$.isObject(t))throw new TypeError("target must be an object");n=n||new FormData;const i=(e=$.toFlatObject(e,{metaTokens:!0,dots:!1,indexes:!1},!1,function(z,E){return!$.isUndefined(E[z])})).metaTokens,o=e.visitor||u,r=e.dots,s=e.indexes,l=(e.Blob||typeof Blob<"u"&&Blob)&&$.isSpecCompliantForm(n);if(!$.isFunction(o))throw new TypeError("visitor must be a function");function c(y){if(null===y)return"";if($.isDate(y))return y.toISOString();if(!l&&$.isBlob(y))throw new Bt("Blob is not supported. Use a Buffer instead.");return $.isArrayBuffer(y)||$.isTypedArray(y)?l&&"function"==typeof Blob?new Blob([y]):Buffer.from(y):y}function u(y,z,E){let x=y;if(y&&!E&&"object"==typeof y)if($.endsWith(z,"{}"))z=i?z:z.slice(0,-2),y=JSON.stringify(y);else if($.isArray(y)&&function gee(t){return $.isArray(t)&&!t.some(Qg)}(y)||($.isFileList(y)||$.endsWith(z,"[]"))&&(x=$.toArray(y)))return z=tD(z),x.forEach(function(ie,pe){!$.isUndefined(ie)&&null!==ie&&n.append(!0===s?nD([z],pe,r):null===s?z:z+"[]",c(ie))}),!1;return!!Qg(y)||(n.append(nD(E,z,r),c(y)),!1)}const p=[],b=Object.assign(vee,{defaultVisitor:u,convertValue:c,isVisitable:Qg});if(!$.isObject(t))throw new TypeError("data must be an object");return function _(y,z){if(!$.isUndefined(y)){if(-1!==p.indexOf(y))throw Error("Circular reference detected in "+z.join("."));p.push(y),$.forEach(y,function(x,k){!0===(!($.isUndefined(x)||null===x)&&o.call(n,x,$.isString(k)?k.trim():k,z,b))&&_(x,z?z.concat(k):[k])}),p.pop()}}(t),n};function iD(t){const n={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(i){return n[i]})}function oD(t,n){this._pairs=[],t&&q4(t,this,n)}const rD=oD.prototype;rD.append=function(n,e){this._pairs.push([n,e])},rD.toString=function(n){const e=n?function(i){return n.call(this,i,iD)}:iD;return this._pairs.map(function(o){return e(o[0])+"="+e(o[1])},"").join("&")};const sD=oD;function _ee(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function aD(t,n,e){if(!n)return t;const i=e&&e.encode||_ee,o=e&&e.serialize;let r;if(r=o?o(n,e):$.isURLSearchParams(n)?n.toString():new sD(n,e).toString(i),r){const s=t.indexOf("#");-1!==s&&(t=t.slice(0,s)),t+=(-1===t.indexOf("?")?"?":"&")+r}return t}const lD=class yee{constructor(){this.handlers=[]}use(n,e,i){return this.handlers.push({fulfilled:n,rejected:e,synchronous:!!i&&i.synchronous,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(n){this.handlers[n]&&(this.handlers[n]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(n){$.forEach(this.handlers,function(i){null!==i&&n(i)})}},cD={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},wee={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:sD,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Kg=typeof window<"u"&&typeof document<"u",Cee=(t=typeof navigator<"u"&&navigator.product,Kg&&["ReactNative","NativeScript","NS"].indexOf(t)<0),zee=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Aee=Kg&&window.location.href||"http://localhost",Wr={...X,...wee};var t;const dD=function Dee(t){function n(e,i,o,r){let s=e[r++];if("__proto__"===s)return!0;const a=Number.isFinite(+s),l=r>=e.length;return s=!s&&$.isArray(o)?o.length:s,l?(o[s]=$.hasOwnProp(o,s)?[o[s],i]:i,!a):((!o[s]||!$.isObject(o[s]))&&(o[s]=[]),n(e,i,o[s],r)&&$.isArray(o[s])&&(o[s]=function Mee(t){const n={},e=Object.keys(t);let i;const o=e.length;let r;for(i=0;i{n(function Tee(t){return $.matchAll(/\w+|\[(\w*)]/g,t).map(n=>"[]"===n[0]?"":n[1]||n[0])}(i),o,e,0)}),e}return null},$g={transitional:cD,adapter:["xhr","http","fetch"],transformRequest:[function(n,e){const i=e.getContentType()||"",o=i.indexOf("application/json")>-1,r=$.isObject(n);if(r&&$.isHTMLForm(n)&&(n=new FormData(n)),$.isFormData(n))return o?JSON.stringify(dD(n)):n;if($.isArrayBuffer(n)||$.isBuffer(n)||$.isStream(n)||$.isFile(n)||$.isBlob(n)||$.isReadableStream(n))return n;if($.isArrayBufferView(n))return n.buffer;if($.isURLSearchParams(n))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),n.toString();let a;if(r){if(i.indexOf("application/x-www-form-urlencoded")>-1)return function See(t,n){return q4(t,new Wr.classes.URLSearchParams,Object.assign({visitor:function(e,i,o,r){return Wr.isNode&&$.isBuffer(e)?(this.append(i,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},n))}(n,this.formSerializer).toString();if((a=$.isFileList(n))||i.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return q4(a?{"files[]":n}:n,l&&new l,this.formSerializer)}}return r||o?(e.setContentType("application/json",!1),function Eee(t,n,e){if($.isString(t))try{return(n||JSON.parse)(t),$.trim(t)}catch(i){if("SyntaxError"!==i.name)throw i}return(e||JSON.stringify)(t)}(n)):n}],transformResponse:[function(n){const e=this.transitional||$g.transitional,i=e&&e.forcedJSONParsing,o="json"===this.responseType;if($.isResponse(n)||$.isReadableStream(n))return n;if(n&&$.isString(n)&&(i&&!this.responseType||o)){const s=!(e&&e.silentJSONParsing)&&o;try{return JSON.parse(n)}catch(a){if(s)throw"SyntaxError"===a.name?Bt.from(a,Bt.ERR_BAD_RESPONSE,this,null,this.response):a}}return n}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Wr.classes.FormData,Blob:Wr.classes.Blob},validateStatus:function(n){return n>=200&&n<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};$.forEach(["delete","get","head","post","put","patch"],t=>{$g.headers[t]={}});const Jg=$g,xee=$.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),uD=Symbol("internals");function Fu(t){return t&&String(t).trim().toLowerCase()}function Q4(t){return!1===t||null==t?t:$.isArray(t)?t.map(Q4):String(t)}function Zg(t,n,e,i,o){if($.isFunction(i))return i.call(this,n,e);if(o&&(n=e),$.isString(n)){if($.isString(i))return-1!==n.indexOf(i);if($.isRegExp(i))return i.test(n)}}class K4{constructor(n){n&&this.set(n)}set(n,e,i){const o=this;function r(a,l,c){const u=Fu(l);if(!u)throw new Error("header name must be a non-empty string");const p=$.findKey(o,u);(!p||void 0===o[p]||!0===c||void 0===c&&!1!==o[p])&&(o[p||l]=Q4(a))}const s=(a,l)=>$.forEach(a,(c,u)=>r(c,u,l));if($.isPlainObject(n)||n instanceof this.constructor)s(n,e);else if($.isString(n)&&(n=n.trim())&&!(t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))(n))s((t=>{const n={};let e,i,o;return t&&t.split("\n").forEach(function(s){o=s.indexOf(":"),e=s.substring(0,o).trim().toLowerCase(),i=s.substring(o+1).trim(),!(!e||n[e]&&xee[e])&&("set-cookie"===e?n[e]?n[e].push(i):n[e]=[i]:n[e]=n[e]?n[e]+", "+i:i)}),n})(n),e);else if($.isHeaders(n))for(const[a,l]of n.entries())r(l,a,i);else null!=n&&r(e,n,i);return this}get(n,e){if(n=Fu(n)){const i=$.findKey(this,n);if(i){const o=this[i];if(!e)return o;if(!0===e)return function Iee(t){const n=Object.create(null),e=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=e.exec(t);)n[i[1]]=i[2];return n}(o);if($.isFunction(e))return e.call(this,o,i);if($.isRegExp(e))return e.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(n,e){if(n=Fu(n)){const i=$.findKey(this,n);return!(!i||void 0===this[i]||e&&!Zg(0,this[i],i,e))}return!1}delete(n,e){const i=this;let o=!1;function r(s){if(s=Fu(s)){const a=$.findKey(i,s);a&&(!e||Zg(0,i[a],a,e))&&(delete i[a],o=!0)}}return $.isArray(n)?n.forEach(r):r(n),o}clear(n){const e=Object.keys(this);let i=e.length,o=!1;for(;i--;){const r=e[i];(!n||Zg(0,this[r],r,n,!0))&&(delete this[r],o=!0)}return o}normalize(n){const e=this,i={};return $.forEach(this,(o,r)=>{const s=$.findKey(i,r);if(s)return e[s]=Q4(o),void delete e[r];const a=n?function Pee(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(n,e,i)=>e.toUpperCase()+i)}(r):String(r).trim();a!==r&&delete e[r],e[a]=Q4(o),i[a]=!0}),this}concat(...n){return this.constructor.concat(this,...n)}toJSON(n){const e=Object.create(null);return $.forEach(this,(i,o)=>{null!=i&&!1!==i&&(e[o]=n&&$.isArray(i)?i.join(", "):i)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([n,e])=>n+": "+e).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(n){return n instanceof this?n:new this(n)}static concat(n,...e){const i=new this(n);return e.forEach(o=>i.set(o)),i}static accessor(n){const i=(this[uD]=this[uD]={accessors:{}}).accessors,o=this.prototype;function r(s){const a=Fu(s);i[a]||(function Vee(t,n){const e=$.toCamelCase(" "+n);["get","set","has"].forEach(i=>{Object.defineProperty(t,i+e,{value:function(o,r,s){return this[i].call(this,n,o,r,s)},configurable:!0})})}(o,s),i[a]=!0)}return $.isArray(n)?n.forEach(r):r(n),this}}K4.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),$.reduceDescriptors(K4.prototype,({value:t},n)=>{let e=n[0].toUpperCase()+n.slice(1);return{get:()=>t,set(i){this[e]=i}}}),$.freezeMethods(K4);const Gr=K4;function Xg(t,n){const e=this||Jg,i=n||e,o=Gr.from(i.headers);let r=i.data;return $.forEach(t,function(a){r=a.call(e,r,o.normalize(),n?n.status:void 0)}),o.normalize(),r}function hD(t){return!(!t||!t.__CANCEL__)}function pD(t,n,e){Bt.call(this,t??"canceled",Bt.ERR_CANCELED,n,e),this.name="CanceledError"}$.inherits(pD,Bt,{__CANCEL__:!0});const Ru=pD;function fD(t,n,e){const i=e.config.validateStatus;e.status&&i&&!i(e.status)?n(new Bt("Request failed with status code "+e.status,[Bt.ERR_BAD_REQUEST,Bt.ERR_BAD_RESPONSE][Math.floor(e.status/100)-4],e.config,e.request,e)):t(e)}const $4=(t,n,e=3)=>{let i=0;const o=function Fee(t,n){t=t||10;const e=new Array(t),i=new Array(t);let s,o=0,r=0;return n=void 0!==n?n:1e3,function(l){const c=Date.now(),u=i[r];s||(s=c),e[o]=l,i[o]=c;let p=r,b=0;for(;p!==o;)b+=e[p++],p%=t;if(o=(o+1)%t,o===r&&(r=(r+1)%t),c-si)return o&&(clearTimeout(o),o=null),e=a,t.apply(null,arguments);o||(o=setTimeout(()=>(o=null,e=Date.now(),t.apply(null,arguments)),i-(a-e)))}}(r=>{const s=r.loaded,a=r.lengthComputable?r.total:void 0,l=s-i,c=o(l);i=s;const p={loaded:s,total:a,progress:a?s/a:void 0,bytes:l,rate:c||void 0,estimated:c&&a&&s<=a?(a-s)/c:void 0,event:r,lengthComputable:null!=a};p[n?"download":"upload"]=!0,t(p)},e)},Hee=Wr.hasStandardBrowserEnv?function(){const n=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let i;function o(r){let s=r;return n&&(e.setAttribute("href",s),s=e.href),e.setAttribute("href",s),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return i=o(window.location.href),function(s){const a=$.isString(s)?o(s):s;return a.protocol===i.protocol&&a.host===i.host}}():function(){return function(){return!0}}(),jee=Wr.hasStandardBrowserEnv?{write(t,n,e,i,o,r){const s=[t+"="+encodeURIComponent(n)];$.isNumber(e)&&s.push("expires="+new Date(e).toGMTString()),$.isString(i)&&s.push("path="+i),$.isString(o)&&s.push("domain="+o),!0===r&&s.push("secure"),document.cookie=s.join("; ")},read(t){const n=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function mD(t,n){return t&&!function Yee(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}(n)?function Uee(t,n){return n?t.replace(/\/?\/$/,"")+"/"+n.replace(/^\/+/,""):t}(t,n):n}const gD=t=>t instanceof Gr?{...t}:t;function ml(t,n){n=n||{};const e={};function i(c,u,p){return $.isPlainObject(c)&&$.isPlainObject(u)?$.merge.call({caseless:p},c,u):$.isPlainObject(u)?$.merge({},u):$.isArray(u)?u.slice():u}function o(c,u,p){return $.isUndefined(u)?$.isUndefined(c)?void 0:i(void 0,c,p):i(c,u,p)}function r(c,u){if(!$.isUndefined(u))return i(void 0,u)}function s(c,u){return $.isUndefined(u)?$.isUndefined(c)?void 0:i(void 0,c):i(void 0,u)}function a(c,u,p){return p in n?i(c,u):p in t?i(void 0,c):void 0}const l={url:r,method:r,data:r,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(c,u)=>o(gD(c),gD(u),!0)};return $.forEach(Object.keys(Object.assign({},t,n)),function(u){const p=l[u]||o,b=p(t[u],n[u],u);$.isUndefined(b)&&p!==a||(e[u]=b)}),e}const vD=t=>{const n=ml({},t);let l,{data:e,withXSRFToken:i,xsrfHeaderName:o,xsrfCookieName:r,headers:s,auth:a}=n;if(n.headers=s=Gr.from(s),n.url=aD(mD(n.baseURL,n.url),t.params,t.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),$.isFormData(e))if(Wr.hasStandardBrowserEnv||Wr.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(!1!==(l=s.getContentType())){const[c,...u]=l?l.split(";").map(p=>p.trim()).filter(Boolean):[];s.setContentType([c||"multipart/form-data",...u].join("; "))}if(Wr.hasStandardBrowserEnv&&(i&&$.isFunction(i)&&(i=i(n)),i||!1!==i&&Hee(n.url))){const c=o&&r&&jee.read(r);c&&s.set(o,c)}return n},Wee=typeof XMLHttpRequest<"u"&&function(t){return new Promise(function(e,i){const o=vD(t);let r=o.data;const s=Gr.from(o.headers).normalize();let l,{responseType:a}=o;function c(){o.cancelToken&&o.cancelToken.unsubscribe(l),o.signal&&o.signal.removeEventListener("abort",l)}let u=new XMLHttpRequest;function p(){if(!u)return;const _=Gr.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders());fD(function(x){e(x),c()},function(x){i(x),c()},{data:a&&"text"!==a&&"json"!==a?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:_,config:t,request:u}),u=null}u.open(o.method.toUpperCase(),o.url,!0),u.timeout=o.timeout,"onloadend"in u?u.onloadend=p:u.onreadystatechange=function(){!u||4!==u.readyState||0===u.status&&(!u.responseURL||0!==u.responseURL.indexOf("file:"))||setTimeout(p)},u.onabort=function(){u&&(i(new Bt("Request aborted",Bt.ECONNABORTED,o,u)),u=null)},u.onerror=function(){i(new Bt("Network Error",Bt.ERR_NETWORK,o,u)),u=null},u.ontimeout=function(){let y=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";o.timeoutErrorMessage&&(y=o.timeoutErrorMessage),i(new Bt(y,(o.transitional||cD).clarifyTimeoutError?Bt.ETIMEDOUT:Bt.ECONNABORTED,o,u)),u=null},void 0===r&&s.setContentType(null),"setRequestHeader"in u&&$.forEach(s.toJSON(),function(y,z){u.setRequestHeader(z,y)}),$.isUndefined(o.withCredentials)||(u.withCredentials=!!o.withCredentials),a&&"json"!==a&&(u.responseType=o.responseType),"function"==typeof o.onDownloadProgress&&u.addEventListener("progress",$4(o.onDownloadProgress,!0)),"function"==typeof o.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",$4(o.onUploadProgress)),(o.cancelToken||o.signal)&&(l=_=>{u&&(i(!_||_.type?new Ru(null,t,u):_),u.abort(),u=null)},o.cancelToken&&o.cancelToken.subscribe(l),o.signal&&(o.signal.aborted?l():o.signal.addEventListener("abort",l)));const b=function Nee(t){const n=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return n&&n[1]||""}(o.url);b&&-1===Wr.protocols.indexOf(b)?i(new Bt("Unsupported protocol "+b+":",Bt.ERR_BAD_REQUEST,t)):u.send(r||null)})},Gee=(t,n)=>{let i,e=new AbortController;const o=function(l){if(!i){i=!0,s();const c=l instanceof Error?l:this.reason;e.abort(c instanceof Bt?c:new Ru(c instanceof Error?c.message:c))}};let r=n&&setTimeout(()=>{o(new Bt(`timeout ${n} of ms exceeded`,Bt.ETIMEDOUT))},n);const s=()=>{t&&(r&&clearTimeout(r),r=null,t.forEach(l=>{l&&(l.removeEventListener?l.removeEventListener("abort",o):l.unsubscribe(o))}),t=null)};t.forEach(l=>l&&l.addEventListener&&l.addEventListener("abort",o));const{signal:a}=e;return a.unsubscribe=s,[a,()=>{r&&clearTimeout(r),r=null}]};function e5(t,n){this.v=t,this.k=n}function Lu(t){var n,e;function i(r,s){try{var a=t[r](s),l=a.value,c=l instanceof e5;Promise.resolve(c?l.v:l).then(function(u){if(c){var p="return"===r?"return":"next";if(!l.k||u.done)return i(p,u);u=t[p](u).value}o(a.done?"return":"normal",u)},function(u){i("throw",u)})}catch(u){o("throw",u)}}function o(r,s){switch(r){case"return":n.resolve({value:s,done:!0});break;case"throw":n.reject(s);break;default:n.resolve({value:s,done:!1})}(n=n.next)?i(n.key,n.arg):e=null}this._invoke=function(r,s){return new Promise(function(a,l){var c={key:r,arg:s,resolve:a,reject:l,next:null};e?e=e.next=c:(n=e=c,i(r,s))})},"function"!=typeof t.return&&(this.return=void 0)}function J4(t){return new e5(t,0)}function Qee(t){var n={},e=!1;function i(o,r){return e=!0,{done:!1,value:new e5(r=new Promise(function(s){s(t[o](r))}),1)}}return n[typeof Symbol<"u"&&Symbol.iterator||"@@iterator"]=function(){return this},n.next=function(o){return e?(e=!1,o):i("next",o)},"function"==typeof t.throw&&(n.throw=function(o){if(e)throw e=!1,o;return i("throw",o)}),"function"==typeof t.return&&(n.return=function(o){return e?(e=!1,o):i("return",o)}),n}function bD(t){var n,e,i,o=2;for(typeof Symbol<"u"&&(e=Symbol.asyncIterator,i=Symbol.iterator);o--;){if(e&&null!=(n=t[e]))return n.call(t);if(i&&null!=(n=t[i]))return new Z4(n.call(t));e="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}function Z4(t){function n(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var i=e.done;return Promise.resolve(e.value).then(function(o){return{value:o,done:i}})}return(Z4=function(i){this.s=i,this.n=i.next}).prototype={s:null,n:null,next:function(){return n(this.n.apply(this.s,arguments))},return:function(i){var o=this.s.return;return void 0===o?Promise.resolve({value:i,done:!0}):n(o.apply(this.s,arguments))},throw:function(i){var o=this.s.return;return void 0===o?Promise.reject(i):n(o.apply(this.s,arguments))}},new Z4(t)}Lu.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},Lu.prototype.next=function(t){return this._invoke("next",t)},Lu.prototype.throw=function(t){return this._invoke("throw",t)},Lu.prototype.return=function(t){return this._invoke("return",t)};const Kee=function*(t,n){let e=t.byteLength;if(!n||e{const r=$ee(t,n,o);let s=0;return new ReadableStream({type:"bytes",pull:a=>Mi(function*(){const{done:l,value:c}=yield r.next();if(l)return a.close(),void i();e&&e(s+=c.byteLength),a.enqueue(new Uint8Array(c))})(),cancel:a=>(i(a),r.return())},{highWaterMark:2})},yD=(t,n)=>{const e=null!=t;return i=>setTimeout(()=>n({lengthComputable:e,total:t,loaded:i}))},X4="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,wD=X4&&"function"==typeof ReadableStream,t5=X4&&("function"==typeof TextEncoder?(t=>n=>t.encode(n))(new TextEncoder):function(){var t=Mi(function*(n){return new Uint8Array(yield new Response(n).arrayBuffer())});return function(n){return t.apply(this,arguments)}}()),Jee=wD&&(()=>{let t=!1;const n=new Request(Wr.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!n})(),n5=wD&&!!(()=>{try{return $.isReadableStream(new Response("").body)}catch{}})(),e3={stream:n5&&(t=>t.body)};X4&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(n=>{!e3[n]&&(e3[n]=$.isFunction(t[n])?e=>e[n]():(e,i)=>{throw new Bt(`Response type '${n}' is not supported`,Bt.ERR_NOT_SUPPORT,i)})})})(new Response);const Zee=function(){var t=Mi(function*(n){return null==n?0:$.isBlob(n)?n.size:$.isSpecCompliantForm(n)?(yield new Request(n).arrayBuffer()).byteLength:$.isArrayBufferView(n)?n.byteLength:($.isURLSearchParams(n)&&(n+=""),$.isString(n)?(yield t5(n)).byteLength:void 0)});return function(e){return t.apply(this,arguments)}}(),Xee=function(){var t=Mi(function*(n,e){return $.toFiniteNumber(n.getContentLength())??Zee(e)});return function(e,i){return t.apply(this,arguments)}}(),i5={http:null,xhr:Wee,fetch:X4&&function(){var t=Mi(function*(n){let{url:e,method:i,data:o,signal:r,cancelToken:s,timeout:a,onDownloadProgress:l,onUploadProgress:c,responseType:u,headers:p,withCredentials:b="same-origin",fetchOptions:_}=vD(n);u=u?(u+"").toLowerCase():"text";let E,x,[y,z]=r||s||a?Gee([r,s],a):[];const k=()=>{!E&&setTimeout(()=>{y&&y.unsubscribe()}),E=!0};let ie;try{if(c&&Jee&&"get"!==i&&"head"!==i&&0!==(ie=yield Xee(p,o))){let Ht,dt=new Request(e,{method:"POST",body:o,duplex:"half"});$.isFormData(o)&&(Ht=dt.headers.get("content-type"))&&p.setContentType(Ht),dt.body&&(o=_D(dt.body,65536,yD(ie,$4(c)),null,t5))}$.isString(b)||(b=b?"cors":"omit"),x=new Request(e,{..._,signal:y,method:i.toUpperCase(),headers:p.normalize().toJSON(),body:o,duplex:"half",withCredentials:b});let pe=yield fetch(x);const De=n5&&("stream"===u||"response"===u);if(n5&&(l||De)){const dt={};["status","statusText","headers"].forEach(zt=>{dt[zt]=pe[zt]});const Ht=$.toFiniteNumber(pe.headers.get("content-length"));pe=new Response(_D(pe.body,65536,l&&yD(Ht,$4(l,!0)),De&&k,t5),dt)}u=u||"text";let qe=yield e3[$.findKey(e3,u)||"text"](pe,n);return!De&&k(),z&&z(),yield new Promise((dt,Ht)=>{fD(dt,Ht,{data:qe,headers:Gr.from(pe.headers),status:pe.status,statusText:pe.statusText,config:n,request:x})})}catch(pe){throw k(),pe&&"TypeError"===pe.name&&/fetch/i.test(pe.message)?Object.assign(new Bt("Network Error",Bt.ERR_NETWORK,n,x),{cause:pe.cause||pe}):Bt.from(pe,pe&&pe.code,n,x)}});return function(n){return t.apply(this,arguments)}}()};$.forEach(i5,(t,n)=>{if(t){try{Object.defineProperty(t,"name",{value:n})}catch{}Object.defineProperty(t,"adapterName",{value:n})}});const zD=t=>`- ${t}`,ete=t=>$.isFunction(t)||null===t||!1===t,AD_getAdapter=t=>{t=$.isArray(t)?t:[t];const{length:n}=t;let e,i;const o={};for(let r=0;r`adapter ${a} `+(!1===l?"is not supported by the environment":"is not available in the build"));let s=n?r.length>1?"since :\n"+r.map(zD).join("\n"):" "+zD(r[0]):"as no adapter specified";throw new Bt("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return i};function o5(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Ru(null,t)}function SD(t){return o5(t),t.headers=Gr.from(t.headers),t.data=Xg.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),AD_getAdapter(t.adapter||Jg.adapter)(t).then(function(i){return o5(t),i.data=Xg.call(t,t.transformResponse,i),i.headers=Gr.from(i.headers),i},function(i){return hD(i)||(o5(t),i&&i.response&&(i.response.data=Xg.call(t,t.transformResponse,i.response),i.response.headers=Gr.from(i.response.headers))),Promise.reject(i)})}const r5={};["object","boolean","number","function","string","symbol"].forEach((t,n)=>{r5[t]=function(i){return typeof i===t||"a"+(n<1?"n ":" ")+t}});const MD={};r5.transitional=function(n,e,i){function o(r,s){return"[Axios v1.7.2] Transitional option '"+r+"'"+s+(i?". "+i:"")}return(r,s,a)=>{if(!1===n)throw new Bt(o(s," has been removed"+(e?" in "+e:"")),Bt.ERR_DEPRECATED);return e&&!MD[s]&&(MD[s]=!0,console.warn(o(s," has been deprecated since v"+e+" and will be removed in the near future"))),!n||n(r,s,a)}};const s5={assertOptions:function tte(t,n,e){if("object"!=typeof t)throw new Bt("options must be an object",Bt.ERR_BAD_OPTION_VALUE);const i=Object.keys(t);let o=i.length;for(;o-- >0;){const r=i[o],s=n[r];if(s){const a=t[r],l=void 0===a||s(a,r,t);if(!0!==l)throw new Bt("option "+r+" must be "+l,Bt.ERR_BAD_OPTION_VALUE)}else if(!0!==e)throw new Bt("Unknown option "+r,Bt.ERR_BAD_OPTION)}},validators:r5},fa=s5.validators;class t3{constructor(n){this.defaults=n,this.interceptors={request:new lD,response:new lD}}request(n,e){var i=this;return Mi(function*(){try{return yield i._request(n,e)}catch(o){if(o instanceof Error){let r;Error.captureStackTrace?Error.captureStackTrace(r={}):r=new Error;const s=r.stack?r.stack.replace(/^.+\n/,""):"";try{o.stack?s&&!String(o.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(o.stack+="\n"+s):o.stack=s}catch{}}throw o}})()}_request(n,e){"string"==typeof n?(e=e||{}).url=n:e=n||{},e=ml(this.defaults,e);const{transitional:i,paramsSerializer:o,headers:r}=e;void 0!==i&&s5.assertOptions(i,{silentJSONParsing:fa.transitional(fa.boolean),forcedJSONParsing:fa.transitional(fa.boolean),clarifyTimeoutError:fa.transitional(fa.boolean)},!1),null!=o&&($.isFunction(o)?e.paramsSerializer={serialize:o}:s5.assertOptions(o,{encode:fa.function,serialize:fa.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let s=r&&$.merge(r.common,r[e.method]);r&&$.forEach(["delete","get","head","post","put","patch","common"],y=>{delete r[y]}),e.headers=Gr.concat(s,r);const a=[];let l=!0;this.interceptors.request.forEach(function(z){"function"==typeof z.runWhen&&!1===z.runWhen(e)||(l=l&&z.synchronous,a.unshift(z.fulfilled,z.rejected))});const c=[];this.interceptors.response.forEach(function(z){c.push(z.fulfilled,z.rejected)});let u,b,p=0;if(!l){const y=[SD.bind(this),void 0];for(y.unshift.apply(y,a),y.push.apply(y,c),b=y.length,u=Promise.resolve(e);p{if(!i._listeners)return;let r=i._listeners.length;for(;r-- >0;)i._listeners[r](o);i._listeners=null}),this.promise.then=o=>{let r;const s=new Promise(a=>{i.subscribe(a),r=a}).then(o);return s.cancel=function(){i.unsubscribe(r)},s},n(function(r,s,a){i.reason||(i.reason=new Ru(r,s,a),e(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(n){this.reason?n(this.reason):this._listeners?this._listeners.push(n):this._listeners=[n]}unsubscribe(n){if(!this._listeners)return;const e=this._listeners.indexOf(n);-1!==e&&this._listeners.splice(e,1)}static source(){let n;return{token:new a5(function(o){n=o}),cancel:n}}}const nte=a5,l5={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(l5).forEach(([t,n])=>{l5[n]=t});const rte=l5,hi=function DD(t){const n=new n3(t),e=jM(n3.prototype.request,n);return $.extend(e,n3.prototype,n,{allOwnKeys:!0}),$.extend(e,n,null,{allOwnKeys:!0}),e.create=function(o){return DD(ml(t,o))},e}(Jg);hi.Axios=n3,hi.CanceledError=Ru,hi.CancelToken=nte,hi.isCancel=hD,hi.VERSION="1.7.2",hi.toFormData=q4,hi.AxiosError=Bt,hi.Cancel=hi.CanceledError,hi.all=function(n){return Promise.all(n)},hi.spread=function ite(t){return function(e){return t.apply(null,e)}},hi.isAxiosError=function ote(t){return $.isObject(t)&&!0===t.isAxiosError},hi.mergeConfig=ml,hi.AxiosHeaders=Gr,hi.formToJSON=t=>dD($.isHTMLForm(t)?new FormData(t):t),hi.getAdapter=AD_getAdapter,hi.HttpStatusCode=rte,hi.default=hi;const ED=hi;var ste=fe(560),xD=fe.n(ste);const Ei=function ate(t){return{all:t=t||new Map,on:function(n,e){var i=t.get(n);i?i.push(e):t.set(n,[e])},off:function(n,e){var i=t.get(n);i&&(e?i.splice(i.indexOf(e)>>>0,1):t.set(n,[]))},emit:function(n,e){var i=t.get(n);i&&i.slice().map(function(o){o(e)}),(i=t.get("*"))&&i.slice().map(function(o){o(n,e)})}}}(),lte=document.title,c5=ED.create({timeout:18e4,baseURL:"Gitee"===Ns.provider?"https://gitee.com/api/v5":"https://api.github.com",headers:{}});function kD(){xD().start(),document.title="Connecting..."}function C1(){xD().done(),document.title=lte}c5.interceptors.request.use(function(t){const n=j4();return n&&(t.headers.Authorization=`token ${n}`),kD(),t},function(t){return C1(),Promise.reject(t)}),c5.interceptors.response.use(function(t){return C1(),t},function(t){return Ei.emit("NOTIFICATION",{type:"error",title:"Error\uff1a"+(t.status||t.response?.data?.status||t.code||""),content:t.response?.data?.message||t.message||""}),C1(),Promise.reject(t)});const d5=ED.create({timeout:1e4,baseURL:"https://nav-server.netlify.app"});d5.interceptors.request.use(function(t){const n=Ug();return n&&(t.headers.Authorization=n),t.data={code:n,hostname:window.location.hostname,...t.data},kD(),t},function(t){return C1(),Promise.reject(t)}),d5.interceptors.response.use(function(t){return!1===t.data?.success&&Ei.emit("MESSAGE",{type:"error",content:t.data.message}),C1(),t},function(t){return Ei.emit("NOTIFICATION",{type:"error",title:"Error\uff1a"+(t.status||t.response?.data?.status||t.code||""),content:t.response?.data?.message||t.message||""}),C1(),Promise.reject(t)});const i3=d5,gl=c5,z1="function"==typeof Buffer,PD=("function"==typeof TextDecoder&&new TextDecoder,"function"==typeof TextEncoder?new TextEncoder:void 0),Bu=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),qi=((t=>{let n={};t.forEach((e,i)=>n[e]=i)})(Bu),String.fromCharCode.bind(String)),ND=("function"==typeof Uint8Array.from&&Uint8Array.from.bind(Uint8Array),t=>t.replace(/=/g,"").replace(/[+\/]/g,n=>"+"==n?"-":"_")),u5="function"==typeof btoa?t=>btoa(t):z1?t=>Buffer.from(t,"binary").toString("base64"):t=>{let n,e,i,o,r="";const s=t.length%3;for(let a=0;a255||(i=t.charCodeAt(a++))>255||(o=t.charCodeAt(a++))>255)throw new TypeError("invalid character found");n=e<<16|i<<8|o,r+=Bu[n>>18&63]+Bu[n>>12&63]+Bu[n>>6&63]+Bu[63&n]}return s?r.slice(0,s-3)+"===".substring(s):r},h5=z1?t=>Buffer.from(t).toString("base64"):t=>{let e=[];for(let i=0,o=t.length;i{if(t.length<2)return(n=t.charCodeAt(0))<128?t:n<2048?qi(192|n>>>6)+qi(128|63&n):qi(224|n>>>12&15)+qi(128|n>>>6&63)+qi(128|63&n);var n=65536+1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320);return qi(240|n>>>18&7)+qi(128|n>>>12&63)+qi(128|n>>>6&63)+qi(128|63&n)},pte=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,BD=z1?t=>Buffer.from(t,"utf8").toString("base64"):PD?t=>h5(PD.encode(t)):t=>u5((t=>t.replace(pte,hte))(t)),ma=(t,n=!1)=>n?ND(BD(t)):BD(t),{gitRepoUrl:bte}=Ns,s3=bte.split("/"),a3=Ns.branch,qr=s3[s3.length-2],Fs=s3[s3.length-1];function l3(){return"Gitee"===Ns.provider}function $D(t){return gl.get(`/users/${qr}`,{headers:{Authorization:`token ${t.trim()}`}})}function m5(){return m5=Mi(function*(t){const n=l3()?`/repos/${qr}/${Fs}/branches`:`/repos/${qr}/${Fs}/git/refs`,e={};if(l3())e.owner=`/${qr}`,e.repo=`/${qr}/${Fs}`,e.refs=a3,e.branch_name=t;else{e.sha="c1fdab3d29df4740bb97a4ae7f24ed0eaa682557";try{const i=yield function wte(){return gl.get(`/repos/${qr}/${Fs}/commits`)}();i.data?.length>0&&(e.sha=i.data[0].sha)}catch{}e.ref=`refs/heads/${t}`}return gl.post(n,e)}),m5.apply(this,arguments)}function vl(t){return g5.apply(this,arguments)}function g5(){return g5=Mi(function*({message:t="update",content:n,path:e,branch:i=a3,isEncode:o=!0}){const r=yield function yte(t,n=a3){return gl.get(`/repos/${qr}/${Fs}/contents/${t}`,{params:{ref:n}})}(e,i);return gl.put(`/repos/${qr}/${Fs}/contents/${e}`,{message:`rebot(CI): ${t}`,branch:i,content:o?ma(n):n,sha:r.data.sha}).then(s=>(XD(),s))}),g5.apply(this,arguments)}function JD(t){return v5.apply(this,arguments)}function v5(){return v5=Mi(function*({message:t,content:n,path:e,branch:i=a3,isEncode:o=!0}){return(l3()?gl.post:gl.put)(`/repos/${qr}/${Fs}/contents/${e}`,{message:`rebot(CI): ${t}`,branch:i,content:o?ma(n):n}).then(s=>(XD(),s))}),v5.apply(this,arguments)}function b5(){return b5=Mi(function*(t){return i3.post("/api/get",t)}),b5.apply(this,arguments)}function _5(){return _5=Mi(function*(t){return i3.post("/api/save",t)}),_5.apply(this,arguments)}function y5(){return y5=Mi(function*(t){return i3.post("/api/delete",t)}),y5.apply(this,arguments)}function Ste(t){return w5.apply(this,arguments)}function w5(){return w5=Mi(function*(t){return i3.post("/api/icon",{url:t})}),w5.apply(this,arguments)}function ZD(t,n="image"){return l3()?`https://gitee.com/${qr}/${Fs}/raw/${n}/${t}`:`https://cdn.jsdelivr.net/gh/${qr}/${Fs}@${n}/${t}`}function XD(){const t=kn.actionUrl;if(t){let e=function(){n.parentNode?.removeChild(n)};const n=document.createElement("img");n.src=t,document.body.appendChild(n),n.onload=e,n.onerror=e}}const yo=function Mte(){let t=tE(AX);const n=document.querySelectorAll("script"),e=n[n.length-1].src;if(window.localStorage.getItem(Wi.s_url)!==e){const o=[Wi.token,Wi.isDark,Wi.authCode],r=window.localStorage.length;for(let s=0;s50)break;if(b.name){let k=function(){if(_.includes(E)){let De={...b};const qe=new RegExp(`(${n})`,"i");if(De.__name__=De.name,De.name=De.name.replace(qe,"$1".bold()),!l[De.url])return l[De.url]=!0,s.push(De),!0}return!1},ie=function(){if(z?.includes?.(n.toLowerCase())&&!l[b.url]||x.some(qe=>qe.includes(n))&&!l[b.url])return l[b.url]=!0,s.push(b),!0},pe=function(){if(y.includes(E)){let De={...b};const qe=new RegExp(`(${n})`,"i");if(De.__desc__=De.desc,De.desc=De.desc.replace(qe,"$1".bold()),!l[De.url])return l[De.url]=!0,s.push(De),!0}return!1};const _=b.name.toLowerCase(),y=b.desc.toLowerCase(),z=b.url.toLowerCase(),E=n.toLowerCase(),x=Object.values(b.urls||{});try{switch(r){case pa.Url:ie();break;case pa.Title:k();break;case pa.Desc:pe();break;default:k(),pe(),ie()}}catch(De){console.error(De)}}}}return r===pa.Current?c(t[i].nav[o].nav):c(),s.length<=0?[]:a}function d3(){const t=c3(255),n=c3(255),e=c3(255);return`#${t.toString(16)}${n.toString(16)}${e.toString(16)}000`.slice(0,7)}let C5;function eE(){if(u3())return;clearInterval(C5);const t="random-light-bg",n=document.getElementById(t)||document.createElement("div"),e=c3(360);n.id=t,n.style.cssText="position:fixed;top:0;left:0;right:0;bottom:0;z-index:-3;transition: 1s linear;",n.style.backgroundImage=`linear-gradient(${e}deg, ${d3()} 0%, ${d3()} 100%)`,document.body.appendChild(n),C5=setInterval(function i(){if(u3())return void clearInterval(C5);const o=`linear-gradient(${e}deg, ${d3()} 0%, ${d3()} 100%)`;n.style.opacity=".3",setTimeout(()=>{n.style.backgroundImage=o,n.style.opacity="1"},1e3)},1e4)}function pi(){const{href:t}=window.location,n=t.split("?")[1]||"",e=wX().parse(n);let i=parseInt(e.id)||0,o=parseInt(e.page)||0;if(void 0===e.id&&void 0===e.page)try{const r=window.localStorage.getItem(Wi.location);if(r){const s=JSON.parse(r);o=s.page||0,i=s.id||0}}catch{}return o>yo.length-1?(o=0,i=0):yo[o]&&!(i<=yo[o].nav.length-1)&&(i=yo[o].nav.length-1),o=o<0?0:o,i=i<0?0:i,{...e,q:e.q||"",id:i,page:o}}function tE(t){function n(e){return!(e.ownVisible&&!Gi)}t=t.filter(n);for(let e=0;e(o.collapsed=i,o)),Un(t),i}function Dte(){const{page:t,id:n}=pi();window.localStorage.setItem(Wi.location,JSON.stringify({page:t,id:n}))}function u3(){const t=window.localStorage.getItem(Wi.isDark),n=window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches;return!t&&n?n:!!Number(t)}function A5(){return A5=Mi(function*(t){try{return{...(yield Ste(t)).data}}catch{}return{status:!1}}),A5.apply(this,arguments)}function T5(t){(function n(e){for(let i=0;i0&&(Gi||!yo[n].nav[t].ownVisible)?yo[n].nav[t].nav:[]}catch{e=[]}return e}function M5(t){const n=document.querySelectorAll(t);let e=Number.MAX_SAFE_INTEGER;if(n.length<=0)return e;const o=n[0].parentNode.clientWidth;let r=0;for(let s=0;so){e=s-1;break}return e}const Pte=JSON.parse('{"favicon":"https://cdn.jsdelivr.net/gh/xjh22222228/nav-web@image/logo.png","homeUrl":"https://nav3.cn","language":"zh-CN","loading":"random","allowCollect":false,"email":"","showGithub":true,"showLanguage":true,"showRate":true,"title":"\u53d1\u73b0\u5bfc\u822a - \u7cbe\u9009\u5b9e\u7528\u5bfc\u822a\u7f51\u7ad9","description":"\u53d1\u73b0\u5bfc\u822a - \u7cbe\u9009\u5b9e\u7528\u5bfc\u822a\u7f51\u7ad9","keywords":"\u5bfc\u822a,\u524d\u7aef\u8d44\u6e90,\u793e\u533a\u7ad9\u70b9,\u8bbe\u8ba1\u5e08,\u5b9e\u7528\u5de5\u5177,\u5b66\u4e60\u8d44\u6e90,\u8fd0\u8425,\u7f51\u7edc\u5b89\u5168,node.js","theme":"Super","actionUrl":"","appTheme":"App","openSEO":true,"headerContent":"","footerContent":"
\u5171\u6536\u5f55${total}\u4e2a\u7f51\u7ad9
Copyright \xa9 2018-${year} ${hostname}, All Rights Reserved
","baiduStatisticsUrl":"https://hm.baidu.com/hm.js?4582be7af7e7c95ef75351e07c6c32ba","cnzzStatisticsUrl":"","showThemeToggle":true,"lightCardStyle":"standard","lightOverType":"overflow","simThemeImages":[{"src":"https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/nav/banner1.jpg","url":"","width":null,"height":null},{"src":"https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/nav/banner2.jpg","url":"","width":null,"height":null}],"simThemeDesc":"\u8fd9\u91cc\u6536\u5f55\u591a\u8fbe ${total} \u4e2a\u4f18\u8d28\u7f51\u7ad9\uff0c \u52a9\u60a8\u5de5\u4f5c\u3001\u5b66\u4e60\u548c\u751f\u6d3b","simCardStyle":"standard","simOverType":"overflow","simThemeHeight":0,"simThemeAutoplay":true,"simTitle":"","superCardStyle":"column","superOverType":"overflow","checkUrl":false,"superTitle":"","superImages":[],"lightImages":[],"sideTitle":"","sideCardStyle":"example","sideThemeHeight":0,"sideThemeAutoplay":true,"sideThemeImages":[{"src":"https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/nav/banner2.jpg","url":"","width":null,"height":null},{"src":"https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/nav/banner1.jpg","url":"","width":null,"height":null}],"shortcutTitle":"","shortcutThemeShowWeather":true,"shortcutThemeImages":[{"src":"https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/nav/background.jpg","url":"","width":null,"height":null}],"mirrorList":[],"spiderIcon":"NO","spiderDescription":"NO","spiderTitle":"NO","spiderQty":20,"loadingCode":"","errorUrlCount":0}'),Vte=JSON.parse('[{"id":100,"name":"\u963f\u91cc\u4e91\u76d8","createdAt":"","color":"#7a74f6","desc":"\u963f\u91cc\u4e91\u76d8","isInner":false},{"id":-1,"name":"\u4e2d\u6587","color":"#2db7f5","createdAt":"","desc":"\u7cfb\u7edf\u5185\u7f6e\u4e0d\u53ef\u5220\u9664","isInner":true},{"id":-2,"name":"\u82f1\u6587","color":"#f50","createdAt":"","desc":"\u7cfb\u7edf\u5185\u7f6e\u4e0d\u53ef\u5220\u9664","isInner":true},{"id":-3,"name":"Github","color":"#108ee9","createdAt":"","desc":"\u7cfb\u7edf\u5185\u7f6e\u4e0d\u53ef\u5220\u9664","isInner":true}]'),Nte=JSON.parse('{"userViewCount":1175,"loginViewCount":1177}'),kn={...Pte,actionUrl:""},nE={},D5=jg,h3=Vte;h3.forEach(t=>{t.id&&(nE[t.id]={...t})});const ju=nE,p3=Nte,yn=yo,E5={now:()=>(E5.delegate||Date).now(),delegate:void 0};class fi extends V{constructor(n=1/0,e=1/0,i=E5){super(),this._bufferSize=n,this._windowTime=e,this._timestampProvider=i,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=e===1/0,this._bufferSize=Math.max(1,n),this._windowTime=Math.max(1,e)}next(n){const{isStopped:e,_buffer:i,_infiniteTimeWindow:o,_timestampProvider:r,_windowTime:s}=this;e||(i.push(n),!o&&i.push(r.now()+s)),this._trimBuffer(),super.next(n)}_subscribe(n){this._throwIfClosed(),this._trimBuffer();const e=this._innerSubscribe(n),{_infiniteTimeWindow:i,_buffer:o}=this,r=o.slice();for(let s=0;s{let r=function Bte(t){return t instanceof Date&&!isNaN(t)}(t)?+t-e.now():t;r<0&&(r=0);let s=0;return e.schedule(function(){o.closed||(o.next(s++),0<=i?this.schedule(void 0,i):o.complete())},r)})}function bl(t,n=Uu){return function Lte(t){return dn((n,e)=>{let i=!1,o=null,r=null,s=!1;const a=()=>{if(r?.unsubscribe(),r=null,i){i=!1;const c=o;o=null,e.next(c)}s&&e.complete()},l=()=>{r=null,s&&e.complete()};n.subscribe(Jt(e,c=>{i=!0,o=c,r||Pi(t(c)).subscribe(r=Jt(e,a,l))},()=>{s=!0,(!i||!r||r.closed)&&e.complete()}))})}(()=>m3(t,n))}function Qi(t,n=Hn){return t=t??Hte,dn((e,i)=>{let o,r=!0;e.subscribe(Jt(i,s=>{const a=n(s);(r||!t(o,a))&&(r=!1,o=a,i.next(s))}))})}function Hte(t,n){return t===n}function Rs(t,n=0){return function Yte(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):n}function Wu(t){return Array.isArray(t)?t:[t]}function ri(t){return null==t?"":"string"==typeof t?t:`${t}px`}function Vi(t){return t instanceof Se?t.nativeElement:t}function I5(t){return yt((n,e)=>t<=e)}function g3(t,n=Uu){return dn((e,i)=>{let o=null,r=null,s=null;const a=()=>{if(o){o.unsubscribe(),o=null;const c=r;r=null,i.next(c)}};function l(){const c=s+t,u=n.now();if(u{r=c,s=n.now(),o||(o=n.schedule(l,t),i.add(o))},()=>{a(),i.complete()},void 0,()=>{r=o=null}))})}let O5;try{O5=typeof Intl<"u"&&Intl.v8BreakIterator}catch{O5=!1}let Gu,Qn=(()=>{class t{constructor(e){this._platformId=e,this.isBrowser=this._platformId?p4(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!O5)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pr))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function T1(t){return function Ute(){if(null==Gu&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Gu=!0}))}finally{Gu=Gu||!1}return Gu}()?t:!!t.capture}var ms=function(t){return t[t.NORMAL=0]="NORMAL",t[t.NEGATED=1]="NEGATED",t[t.INVERTED=2]="INVERTED",t}(ms||{});let v3,_l,P5;function rE(){if(null==_l){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return _l=!1,_l;if("scrollBehavior"in document.documentElement.style)_l=!0;else{const t=Element.prototype.scrollTo;_l=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return _l}function qu(){if("object"!=typeof document||!document)return ms.NORMAL;if(null==v3){const t=document.createElement("div"),n=t.style;t.dir="rtl",n.width="1px",n.overflow="auto",n.visibility="hidden",n.pointerEvents="none",n.position="absolute";const e=document.createElement("div"),i=e.style;i.width="2px",i.height="1px",t.appendChild(e),document.body.appendChild(t),v3=ms.NORMAL,0===t.scrollLeft&&(t.scrollLeft=1,v3=0===t.scrollLeft?ms.NEGATED:ms.INVERTED),t.remove()}return v3}function V5(t){if(function Wte(){if(null==P5){const t=typeof document<"u"?document.head:null;P5=!(!t||!t.createShadowRoot&&!t.attachShadow)}return P5}()){const n=t.getRootNode?t.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&n instanceof ShadowRoot)return n}return null}function Po(t){return t.composedPath?t.composedPath()[0]:t.target}function sE(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}const aE=new Set;let yl,N5=(()=>{class t{constructor(e,i){this._platform=e,this._nonce=i,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):Qte}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&function qte(t,n){if(!aE.has(t))try{yl||(yl=document.createElement("style"),n&&yl.setAttribute("nonce",n),yl.setAttribute("type","text/css"),document.head.appendChild(yl)),yl.sheet&&(yl.sheet.insertRule(`@media ${t} {body{ }}`,0),aE.add(t))}catch(e){console.error(e)}}(e,this._nonce),this._matchMedia(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn),R(vd,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Qte(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let Kte=(()=>{class t{constructor(e,i){this._mediaMatcher=e,this._zone=i,this._queries=new Map,this._destroySubject=new V}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return lE(Wu(e)).some(o=>this._registerQuery(o).mql.matches)}observe(e){let r=Di(lE(Wu(e)).map(s=>this._registerQuery(s).observable));return r=yu(r.pipe(io(1)),r.pipe(I5(1),g3(0))),r.pipe(Pe(s=>{const a={matches:!1,breakpoints:{}};return s.forEach(({matches:l,query:c})=>{a.matches=a.matches||l,a.breakpoints[c]=l}),a}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);const i=this._mediaMatcher.matchMedia(e),r={observable:new Wt(s=>{const a=l=>this._zone.run(()=>s.next(l));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(gn(i),Pe(({matches:s})=>({query:e,matches:s})),P(this._destroySubject)),mql:i};return this._queries.set(e,r),r}static#e=this.\u0275fac=function(i){return new(i||t)(R(N5),R(Me))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function lE(t){return t.map(n=>n.split(",")).reduce((n,e)=>n.concat(e)).map(n=>n.trim())}const F5=()=>{};let R5=(()=>{class t{constructor(e,i){this.ngZone=e,this.rendererFactory2=i,this.resizeSource$=new V,this.listeners=0,this.disposeHandle=F5,this.handler=()=>{this.ngZone.run(()=>{this.resizeSource$.next()})},this.renderer=this.rendererFactory2.createRenderer(null,null)}ngOnDestroy(){this.handler=F5}subscribe(){return this.registerListener(),this.resizeSource$.pipe(bl(16),l1(()=>this.unregisterListener()))}unsubscribe(){this.unregisterListener()}registerListener(){0===this.listeners&&this.ngZone.runOutsideAngular(()=>{this.disposeHandle=this.renderer.listen("window","resize",this.handler)}),this.listeners+=1}unregisterListener(){this.listeners-=1,0===this.listeners&&(this.disposeHandle(),this.disposeHandle=F5)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Me),R(Za))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();let cE=(()=>{class t{constructor(){this._singletonRegistry=new Map}get singletonRegistry(){return this._singletonRegistry}registerSingletonWithKey(e,i){const o=this.singletonRegistry.has(e),r=o?this.singletonRegistry.get(e):this.withNewTarget(i);o||this.singletonRegistry.set(e,r)}unregisterSingletonWithKey(e){this.singletonRegistry.has(e)&&this.singletonRegistry.delete(e)}getSingletonWithKey(e){return this.singletonRegistry.has(e)?this.singletonRegistry.get(e).target:null}withNewTarget(e){return{target:e}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var L5=function(t){return t.xxl="xxl",t.xl="xl",t.lg="lg",t.md="md",t.sm="sm",t.xs="xs",t}(L5||{});const Qu={xs:"(max-width: 575px)",sm:"(min-width: 576px)",md:"(min-width: 768px)",lg:"(min-width: 992px)",xl:"(min-width: 1200px)",xxl:"(min-width: 1600px)"},Jte={xs:"(max-width: 479.98px)",sm:"(max-width: 575.98px)",md:"(max-width: 767.98px)",lg:"(max-width: 991.98px)",xl:"(max-width: 1199.98px)",xxl:"(max-width: 1599.98px)"};let B5=(()=>{class t{constructor(e,i){this.resizeService=e,this.mediaMatcher=i,this.destroy$=new V,this.resizeService.subscribe().pipe(P(this.destroy$)).subscribe(()=>{})}ngOnDestroy(){this.destroy$.next()}subscribe(e,i){if(i){const o=()=>this.matchMedia(e,!0);return this.resizeService.subscribe().pipe(Pe(o),gn(o()),Qi((r,s)=>r[0]===s[0]),Pe(r=>r[1]))}{const o=()=>this.matchMedia(e);return this.resizeService.subscribe().pipe(Pe(o),gn(o()),Qi())}}matchMedia(e,i){let o=L5.md;const r={};return Object.keys(e).map(s=>{const a=s,l=this.mediaMatcher.matchMedia(Qu[a]).matches;r[s]=l,l&&(o=a)}),i?[o,r]:o}static#e=this.\u0275fac=function(i){return new(i||t)(R(R5),R(N5))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Vo=(()=>{class t extends V{ngOnDestroy(){this.next(),this.complete()}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const Zte=new oe("cdk-dir-doc",{providedIn:"root",factory:function Xte(){return G(Pt)}}),ene=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let Ct=(()=>{class t{constructor(e){this.value="ltr",this.change=new B,e&&(this.value=function tne(t){const n=t?.toLowerCase()||"";return"auto"===n&&typeof navigator<"u"&&navigator?.language?ene.test(navigator.language)?"rtl":"ltr":"rtl"===n?"rtl":"ltr"}((e.body?e.body.dir:null)||(e.documentElement?e.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(R(Zte,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),b3=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function dE(t,n){if(!t||!n||t.length!==n.length)return!1;const e=t.length;for(let i=0;i"u"||null===t}function H5(t){return function jte(t){return null!=t&&"false"!=`${t}`}(t)}function y3(t){return Oi(t,0)}function j5(t,n=0){return Rs(t,n)}function M1(t){return ri(t)}function uE(t){t.stopPropagation(),t.preventDefault()}function hE(t){if(!t.getClientRects().length)return{top:0,left:0};const n=t.getBoundingClientRect(),e=t.ownerDocument.defaultView;return{top:n.top+e.pageYOffset,left:n.left+e.pageXOffset}}function U5(t){return!!t&&"function"==typeof t.then&&"function"==typeof t.catch}function w3(t,n,e){return isNaN(t)||te?e:t}function fE(t){return"number"==typeof t&&isFinite(t)}function mE(t,n){return Math.round(t*Math.pow(10,n))/Math.pow(10,n)}let Q5,K5;typeof window<"u"&&window;const bE={position:"absolute",top:"-9999px",width:"50px",height:"50px"};function _E(t){return b4(t)?t:U5(t)?ni(Promise.resolve(t)):Ge(t)}function yE(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}const mne="rc-util-key";function wE({mark:t}={}){return t?t.startsWith("data-")?t:`data-${t}`:mne}function $5(t){return t.attachTo?t.attachTo:document.querySelector("head")||document.body}function CE(t,n={}){if(!yE())return null;const e=document.createElement("style");n.cspNonce&&(e.nonce=n.cspNonce),e.innerHTML=t;const i=$5(n),{firstChild:o}=i;return n.prepend&&i.prepend?i.prepend(e):n.prepend&&o?i.insertBefore(e,o):i.appendChild(e),e}const J5=new Map;function Ku(t,n,e){return{[`${t}-status-success`]:"success"===n,[`${t}-status-warning`]:"warning"===n,[`${t}-status-error`]:"error"===n,[`${t}-status-validating`]:"validating"===n,[`${t}-has-feedback`]:e}}let wl=(()=>{class t{getGutter(){const e=[null,null],i=this.nzGutter||0;return(Array.isArray(i)?i:[i,null]).forEach((r,s)=>{"object"==typeof r&&null!==r?(e[s]=null,Object.keys(Qu).map(a=>{const l=a;this.mediaMatcher.matchMedia(Qu[l]).matches&&r[l]&&(e[s]=r[l])})):e[s]=Number(r)||null}),e}setGutterStyle(){const[e,i]=this.getGutter();this.actualGutter$.next([e,i]);const o=(r,s)=>{null!==s&&this.renderer.setStyle(this.elementRef.nativeElement,r,`-${s/2}px`)};o("margin-left",e),o("margin-right",e),o("margin-top",i),o("margin-bottom",i)}constructor(e,i,o,r,s,a,l){this.elementRef=e,this.renderer=i,this.mediaMatcher=o,this.ngZone=r,this.platform=s,this.breakpointService=a,this.directionality=l,this.nzAlign=null,this.nzJustify=null,this.nzGutter=null,this.actualGutter$=new fi(1),this.dir="ltr",this.destroy$=new V}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e}),this.setGutterStyle()}ngOnChanges(e){e.nzGutter&&this.setGutterStyle()}ngAfterViewInit(){this.platform.isBrowser&&this.breakpointService.subscribe(Qu).pipe(P(this.destroy$)).subscribe(()=>{this.setGutterStyle()})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt),v(N5),v(Me),v(Qn),v(B5),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-row",""],["nz-row"],["nz-form-item"]],hostAttrs:[1,"ant-row"],hostVars:20,hostBindings:function(i,o){2&i&&Z("ant-row-top","top"===o.nzAlign)("ant-row-middle","middle"===o.nzAlign)("ant-row-bottom","bottom"===o.nzAlign)("ant-row-start","start"===o.nzJustify)("ant-row-end","end"===o.nzJustify)("ant-row-center","center"===o.nzJustify)("ant-row-space-around","space-around"===o.nzJustify)("ant-row-space-between","space-between"===o.nzJustify)("ant-row-space-evenly","space-evenly"===o.nzJustify)("ant-row-rtl","rtl"===o.dir)},inputs:{nzAlign:"nzAlign",nzJustify:"nzJustify",nzGutter:"nzGutter"},exportAs:["nzRow"],standalone:!0,features:[xe]})}return t})(),D1=(()=>{class t{setHostClassMap(){const e={"ant-col":!0,[`ant-col-${this.nzSpan}`]:_r(this.nzSpan),[`ant-col-order-${this.nzOrder}`]:_r(this.nzOrder),[`ant-col-offset-${this.nzOffset}`]:_r(this.nzOffset),[`ant-col-pull-${this.nzPull}`]:_r(this.nzPull),[`ant-col-push-${this.nzPush}`]:_r(this.nzPush),"ant-col-rtl":"rtl"===this.dir,...this.generateClass()};for(const i in this.classMap)this.classMap.hasOwnProperty(i)&&this.renderer.removeClass(this.elementRef.nativeElement,i);this.classMap={...e};for(const i in this.classMap)this.classMap.hasOwnProperty(i)&&this.classMap[i]&&this.renderer.addClass(this.elementRef.nativeElement,i)}setHostFlexStyle(){this.hostFlexStyle=this.parseFlex(this.nzFlex)}parseFlex(e){return"number"==typeof e?`${e} ${e} auto`:"string"==typeof e&&/^\d+(\.\d+)?(px|em|rem|%)$/.test(e)?`0 0 ${e}`:e}generateClass(){const i={};return["nzXs","nzSm","nzMd","nzLg","nzXl","nzXXl"].forEach(o=>{const r=o.replace("nz","").toLowerCase();if(_r(this[o]))if("number"==typeof this[o]||"string"==typeof this[o])i[`ant-col-${r}-${this[o]}`]=!0;else{const s=this[o];["span","pull","push","offset","order"].forEach(l=>{i[`ant-col-${r}${"span"===l?"-":`-${l}-`}${s[l]}`]=s&&_r(s[l])})}}),i}constructor(e,i,o,r){this.elementRef=e,this.nzRowDirective=i,this.renderer=o,this.directionality=r,this.classMap={},this.destroy$=new V,this.hostFlexStyle=null,this.dir="ltr",this.nzFlex=null,this.nzSpan=null,this.nzOrder=null,this.nzOffset=null,this.nzPush=null,this.nzPull=null,this.nzXs=null,this.nzSm=null,this.nzMd=null,this.nzLg=null,this.nzXl=null,this.nzXXl=null}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.setHostClassMap()}),this.setHostClassMap(),this.setHostFlexStyle()}ngOnChanges(e){this.setHostClassMap();const{nzFlex:i}=e;i&&this.setHostFlexStyle()}ngAfterViewInit(){this.nzRowDirective&&this.nzRowDirective.actualGutter$.pipe(P(this.destroy$)).subscribe(([e,i])=>{const o=(r,s)=>{null!==s&&this.renderer.setStyle(this.elementRef.nativeElement,r,s/2+"px")};o("padding-left",e),o("padding-right",e),o("padding-top",i),o("padding-bottom",i)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(wl,9),v(Yt),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-col",""],["nz-col"],["nz-form-control"],["nz-form-label"]],hostVars:2,hostBindings:function(i,o){2&i&&Lt("flex",o.hostFlexStyle)},inputs:{nzFlex:"nzFlex",nzSpan:"nzSpan",nzOrder:"nzOrder",nzOffset:"nzOffset",nzPush:"nzPush",nzPull:"nzPull",nzXs:"nzXs",nzSm:"nzSm",nzMd:"nzMd",nzLg:"nzLg",nzXl:"nzXl",nzXXl:"nzXXl"},exportAs:["nzCol"],standalone:!0,features:[xe]})}return t})(),AE=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();const Z5={en:{_webTitle:"Discovery Navigation",_uncategorized:"Unclassified",_modifySuccess:"Modification succeeded!",_copySuccess:"Copy succeeded!",_copyUrl:"Copy Link",_shareWeb:"Share site",_edit:"Edit",_sort:"Sort",_refresh:"Refresh",_add:"Add",_del:"Delete",_apply:"Apply",_batchDel:"Delete",_confirmDel:"Are you sure you want to delete?",_default:"Default",_title:"Title",_defaultTitle:"Default website title",_desc:"Description",_link:"Link",_current:"Current",_empty:"Sorry, we didn't find the result you want~",_goBack:"Go Back",_viewInfo:"View Info",_syncData:"Sync Data",_addData:"Add Data",_collapse:"Open",_put:"Fold",_closeDark:"Close Dark",_openDark:"Open Dark",_switchTo:"Switch To",_infoTip:"Only you can view the following information, please rest assured!",_know:"Know",_devBranch:"Deploy branch",_curVer:"Current Version",_newVer:"Latest Version",_prevDevTime:"Last build time",_unknow:"Unknow",_repeatOper:"Please do not operate frequently",_syncDataOut:"Synchronize data to remote",_confirmSync:"OK to sync",_confirmSyncTip:"Are you sure to synchronize all data to the remote end?",_syncSuccessTip:"The synchronization is successful. It takes about 5 minutes to build",_error:"Error",_syncFailTip:"Synchronization failed, please try again",_inputToken:"Please enter token",_inputTokenMsg:"Please enter your token below for login verification",_getToken:"I don't know how to get the token?",_readDoc:"Please read our guide first",_authLogin:"Please authorize login",_pleaseInputToken:"Please fill in the correct token",_tokenVerSuc:"Authorization succeeded!",_tokenVerFail:"Token validation failed",_repeatAdd:"Please do not add repeatedly",_addSuccess:"Successfully added!",_delSuccess:"Delete succeeded!",_saveSuccess:"Saved successfully!",_errorBookTip:"Error: bookmark resolution failed",_importSuccess:"Import succeeded!",_acceptPng:"Only PNG format is supported",_updateLogoSuccess:"The replacement was successful. It needs to be updated the next day due to CDN cache problems",_updateLogoFail:"Failed to replace logo, please try again!",_resetInitData:"Undo all actions",_confirmReset:"OK reset",_warnReset:"All current operations will revert to the last build state",_resetSuccess:"The data has been reset back to its initial state",_sel3:"Please select Level 3 category",_sel2:"Please select Level 2 category",_sel1:"Please select Level 1 category",_reserveOne:"At least one item is reserved. Please add it first!",_icon:"ICON",_backHome:"GO Home",_syncRemote:"Sync to remote",_uploading:"Uploading...",_addTag:"Add category",_addWeb:"Add site",_clickEdit:"Click Edit",_importChrome:"Import from Chrome bookmarks",_allContentMsg1:'1. After setting all data, click "synchronize to remote end" and drag the table to sort',_allContentMsg2:"2. Website category needs to be maintained manually,",_updateLogo:"Replace logo",_tagName:"Category name",_onlyOwnVisible:"Only Self",_createAt:"Create At",_action:"Action",_delWarn:"This will delete all data under the category. Are you sure you want to delete it?",_mgr1:"Management level 1 category",_mgr2:"Management level 2 category",_mgr3:"Management level 3 category",_mgrWeb:"Management website",_webName:"Name",_webTag:"Website category",_webDesc:"Description",_webLink:"Link",_requiredName:"Please enter a name",_requiredLink:"Please enter the website link",_uploadSuccess:"Uploaded successfully",_uploadFail:"Upload failed, please try again!",_notUpload:"Please do not upload illegal pictures",_shortcut:"Shortcut",_score:"Score",_iconAddr:"Icon Link",_copyUpload:"Support to paste screenshots or copy pictures here to upload",_upload:"Upload",_continueAdd:"Continue to add affiliate links",_moveTo:"Move to",_move:"Move",_copy:"Copy",_moveSuccess:"Moved successfully",_save:"Save",_color:"Color",_remark:"Description/Remark",_about:"About",_webInfo:"Web info",_systemSet:"Settings",_searchEngines:"Engines",_userCollect:"Collect",_bookmarkImport:"Bookmark",_tagSettings:"Tag settings",_websiteMang:"Website",_addRow:"Add",_bookImportTip:"

Supports most mainstream browsers based on the webkit kernel. If the import fails, it is temporarily not supported

",_engineName:"Engine name",_status:"Status",_isDisable:"Disable",_webLogo:"LOGO",_defLanguage:"Default Language",_pageLoad:"Page Loading",_random:"Random",_noSet:"No set",_showGithub:"Show Github",_defTheme:"Default Theme",_appTheme:"App Theme",_keywords:"Keywords",_footHtml:"Foot HTML",_headHtml:"Head HTML",_showWeather:"Show weather",_weatherTip:'Currently only the "Shortcut" theme is supported',_setSaveTip:"Note: after saving successfully, you need to wait at least 2 minutes for the build time to take effect!",_theme:"Theme",_backgroundImage:"Picture",_engineUrl:"Engine URL",_actionSuccess:"Succeeded",_jumpAddr:"Jump address",_backup:"Backup",_bannerHeight:"Banner height",_autoPlay:"Auto play",_importBackup:"Import backup",_importBackupTip:"After importing, all current website data will be cleared and imported",_showLanguage:"Display switch language",_mirrorList:"Mirror list",_mirrorAddr:"Mirror Address",_mirrorName:"Mirror Name",_showRate:"Show rate",_showCopy:"Display Card Copy",_showShare:"Show card sharing",_angleMark:"Angle Mark",_logout:"Logout Account",_cardStyle:"Card style",_tagPlaceholder:"Can be empty as a regular label",_dragSort:"Drag to sort",_checkWeb:"Last time, {count} website links were detected to be invalid. Please refer to the management website for details. If you need to check the status again, simply click Save to trigger the event.",_buildTip:"After modification, please save and wait for the build to complete. Leaving is invalid",_updateTip:"Frequent system updates, it is recommended to execute updates regularly to enjoy the latest system functions",_clickUpdate:"Click me to update",_enableSEO:"Enable SEO (loading slightly slower)",_allowCollect:"Allow users to submit indexed content",_collectMenuView:"Please refer to the user's inclusion menu for specific details",_displaySwitchTheme:"Display Switch Theme",_requestAddress:"Request Address",_requestTip:"Usually used for deploying self owned servers, when the save button is clicked, a GET request is sent to fill in the address",_followPage:"Follow Page",_bannerTip:"When the height is 0, the width and height of the image will be adaptive, and it is important to ensure that each image has the same size",_checkStatus:"Check website link status(For any of the above updates, it is recommended to enable this, as it takes the same amount of time.)",_ignore:"(This function is not very useful, it is recommended to ignore or remove it)",_standard:"Standard",_column:"Column",_simplicity:"Simplicity",_navOver:"First level navigation beyond display",_scrollBar:"Scroll bar",_ellipsis:"Ellipsis",_sidebarImg:"Sidebar image",_sidebarTitle:"Sidebar title",_defTitle4:"Default website title, recommended to be within 4 words",_inputAuthCode:"Please enter the authorization code",_payTip:"Opening user enrollment requires a payment of \uffe599 as a contribution to the stable operation of this website. Thank you for your understanding",_waitHandle:"Waiting for the stationmaster to handle",_collect:"Get",_confirmCollect:"Are you sure?",_pendingGet:"Getting...",_logoutAuthCode:"Exit authorization",_spiderRule:"Spider rule",_spiderIcon:"Spider icon",_spiderDesc:"Spider description",_spiderTitle:"Spider title",_spiderAlways:"Always update",_spiderStatus:"Spider Status",_spiderTip:"Crawling rules will be triggered every time saving, affecting the construction speed. Crawling and updating information may be necessary when necessary",_spiderQty:"Concurrent quantity",_spiderQtyTip:"",_spiderNetTip:"Due to network factors, some websites may not be accessible and can be skipped directly. For reference only",_spiderBuildTip:"After the construction is completed, the data is correct. Please go to the website management and click save once, otherwise the data will not be permanently stored"},cn:{_webTitle:"\u53d1\u73b0\u5bfc\u822a",_uncategorized:"\u672a\u5206\u7c7b",_modifySuccess:"\u4fee\u6539\u6210\u529f\uff01",_copySuccess:"\u590d\u5236\u6210\u529f",_copyUrl:"\u590d\u5236\u94fe\u63a5",_shareWeb:"\u5206\u4eab\u7f51\u7ad9",_edit:"\u7f16\u8f91",_sort:"\u6392\u5e8f",_refresh:"\u5237\u65b0",_add:"\u65b0\u589e",_del:"\u5220\u9664",_apply:"\u7533\u8bf7\u6536\u5f55",_batchDel:"\u6279\u91cf\u5220\u9664",_confirmDel:"\u60a8\u786e\u5b9a\u8981\u5220\u9664\u5417\uff1f",_default:"\u7efc\u5408",_title:"\u6807\u9898",_defaultTitle:"\u9ed8\u8ba4\u7f51\u7ad9\u6807\u9898",_desc:"\u63cf\u8ff0",_link:"\u94fe\u63a5",_current:"\u5f53\u524d",_empty:"\u5bf9\u4e0d\u8d77\uff0c\u6ca1\u6709\u627e\u5230\u60a8\u60f3\u8981\u7684\u7ed3\u679c~",_goBack:"\u8fd4\u56de\u4e0a\u4e00\u5c42",_viewInfo:"\u67e5\u770b\u4fe1\u606f",_syncData:"\u540c\u6b65\u6570\u636e",_addData:"\u65b0\u589e\u6570\u636e",_collapse:"\u5c55\u5f00",_put:"\u6298\u53e0",_closeDark:"\u5173\u95ed\u6697\u9ed1",_openDark:"\u5f00\u542f\u6697\u9ed1",_switchTo:"\u5207\u6362\u5230",_infoTip:"\u4ee5\u4e0b\u4fe1\u606f\u53ea\u6709\u60a8\u80fd\u67e5\u770b\uff0c\u8bf7\u653e\u5fc3\uff01",_know:"\u77e5\u9053\u4e86",_devBranch:"\u90e8\u7f72\u5206\u652f",_curVer:"\u5f53\u524d\u7248\u672c",_newVer:"\u6700\u65b0\u7248\u672c",_prevDevTime:"\u4e0a\u6b21\u6784\u5efa\u65f6\u95f4",_unknow:"\u672a\u77e5",_repeatOper:"\u8bf7\u4e0d\u8981\u9891\u7e41\u64cd\u4f5c",_syncDataOut:"\u540c\u6b65\u6570\u636e\u5230\u8fdc\u7aef",_confirmSync:"\u786e\u5b9a\u540c\u6b65",_confirmSyncTip:"\u786e\u5b9a\u5c06\u6240\u6709\u6570\u636e\u540c\u6b65\u5230\u8fdc\u7aef\u5417\uff1f\uff08\u6bcf\u6b21\u4fdd\u5b58\u9700\u8981\u7b49\u5f85\u6784\u5efa\u5b8c\u6210\u518d\u8fdb\u884c\u4e0b\u4e00\u6b21\u64cd\u4f5c\uff09",_syncSuccessTip:"\u540c\u6b65\u6210\u529f, \u5927\u7ea6\u9700\u89815\u5206\u949f\u6784\u5efa\u65f6\u95f4",_error:"\u9519\u8bef",_syncFailTip:"\u540c\u6b65\u5931\u8d25, \u8bf7\u91cd\u8bd5",_inputToken:"\u8bf7\u8f93\u5165TOKEN",_inputTokenMsg:"\u8bf7\u5728\u4e0b\u65b9\u8f93\u5165\u60a8\u7684TOKEN\u8fdb\u884c\u767b\u5f55\u6821\u9a8c",_getToken:"\u4e0d\u77e5\u9053Token\u5982\u4f55\u83b7\u53d6\uff1f",_readDoc:"\u8bf7\u5148\u9605\u8bfb\u6211\u4eec\u7684\u6307\u5357",_authLogin:"\u8bf7\u6388\u6743\u767b\u5f55",_pleaseInputToken:"\u8bf7\u586b\u5199\u6b63\u786e\u7684Token",_tokenVerSuc:"\u6388\u6743\u6210\u529f!",_tokenVerFail:"Token \u9a8c\u8bc1\u5931\u8d25",_repeatAdd:"\u8bf7\u4e0d\u8981\u91cd\u590d\u6dfb\u52a0",_addSuccess:"\u65b0\u589e\u6210\u529f!",_delSuccess:"\u5220\u9664\u6210\u529f!",_saveSuccess:"\u4fdd\u5b58\u6210\u529f!",_errorBookTip:"\u9519\u8bef: \u4e66\u7b7e\u89e3\u6790\u5931\u8d25",_importSuccess:"\u5bfc\u5165\u6210\u529f\uff01",_acceptPng:"\u4ec5\u652f\u6301 PNG \u683c\u5f0f",_updateLogoSuccess:"\u66f4\u6362\u6210\u529f, \u7531\u4e8eCDN\u7f13\u5b58\u95ee\u9898\u9700\u8981\u6b21\u65e5\u66f4\u65b0",_updateLogoFail:"\u66f4\u6362LOGO\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\uff01",_resetInitData:"\u64a4\u9500\u672c\u6b21\u6240\u6709\u64cd\u4f5c",_confirmReset:"\u786e\u5b9a\u91cd\u7f6e",_warnReset:"\u5f53\u524d\u6240\u6709\u64cd\u4f5c\u5c06\u8fd8\u539f\u5230\u4e0a\u6b21\u6784\u5efa\u72b6\u6001",_resetSuccess:"\u6570\u636e\u5df2\u91cd\u7f6e\u56de\u521d\u59cb\u72b6\u6001",_sel3:"\u8bf7\u9009\u62e9\u4e09\u7ea7\u5206\u7c7b",_sel2:"\u8bf7\u9009\u62e9\u4e8c\u7ea7\u5206\u7c7b",_sel1:"\u8bf7\u9009\u62e9\u4e00\u7ea7\u5206\u7c7b",_reserveOne:"\u81f3\u5c11\u4fdd\u7559\u4e00\u9879\uff0c\u8bf7\u5148\u6dfb\u52a0!",_icon:"\u56fe\u6807",_backHome:"\u8fd4\u56de\u4e3b\u9875",_syncRemote:"\u540c\u6b65\u5230\u8fdc\u7aef",_uploading:"\u4e0a\u4f20\u4e2d...",_addTag:"\u6dfb\u52a0\u5206\u7c7b",_addWeb:"\u6dfb\u52a0\u7f51\u7ad9",_clickEdit:"\u70b9\u51fb\u7f16\u8f91",_importChrome:"\u4eceChrome\u4e66\u7b7e\u5bfc\u5165",_allContentMsg1:"1\u3001\u6240\u6709\u6570\u636e\u8bbe\u7f6e\u5b8c\u6bd5\u540e\u70b9\u51fb \u201c\u540c\u6b65\u5230\u8fdc\u7aef\u201d\uff0c\u62d6\u62fd\u8868\u683c\u8fdb\u884c\u6392\u5e8f",_allContentMsg2:"2\u3001\u7f51\u7ad9\u5206\u7c7b\u9700\u624b\u52a8\u7ef4\u62a4,",_updateLogo:"\u66f4\u6362LOGO",_tagName:"\u6807\u7b7e\u540d\u79f0",_onlyOwnVisible:"\u81ea\u5df1\u53ef\u89c1",_createAt:"\u521b\u5efa\u65f6\u95f4",_action:"\u64cd\u4f5c",_delWarn:"\u8fd9\u4f1a\u5220\u9664\u5206\u7c7b\u4e0b\u7684\u6240\u6709\u6570\u636e\uff0c\u60a8\u786e\u5b9a\u8981\u5220\u9664\u5417?",_mgr1:"\u7ba1\u7406\u4e00\u7ea7\u5206\u7c7b",_mgr2:"\u7ba1\u7406\u4e8c\u7ea7\u5206\u7c7b",_mgr3:"\u7ba1\u7406\u4e09\u7ea7\u5206\u7c7b",_mgrWeb:"\u7ba1\u7406\u7f51\u7ad9",_webName:"\u7f51\u7ad9\u540d\u79f0",_webTag:"\u7f51\u7ad9\u5206\u7c7b",_webDesc:"\u7f51\u7ad9\u63cf\u8ff0",_webLink:"\u7f51\u7ad9\u94fe\u63a5",_requiredName:"\u8bf7\u8f93\u5165\u540d\u79f0",_requiredLink:"\u8bf7\u8f93\u5165\u7f51\u7ad9\u94fe\u63a5",_uploadSuccess:"\u4e0a\u4f20\u6210\u529f",_uploadFail:"\u4e0a\u4f20\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\uff01",_notUpload:"\u8bf7\u4e0d\u8981\u4e0a\u4f20\u975e\u6cd5\u56fe\u7247",_shortcut:"\u5feb\u6377\u65b9\u5f0f",_score:"\u8bc4\u5206\u7cfb\u6570",_iconAddr:"\u56fe\u6807\u5730\u5740",_copyUpload:"\u652f\u6301\u5c06\u622a\u56fe\u6216\u590d\u5236\u56fe\u7247\u7c98\u8d34\u6b64\u5904\u4e0a\u4f20",_upload:"\u4e0a\u4f20",_continueAdd:"\u7ee7\u7eed\u6dfb\u52a0\u5173\u8054\u94fe\u63a5",_moveTo:"\u79fb\u52a8\u5230",_move:"\u79fb\u52a8",_copy:"\u590d\u5236",_moveSuccess:"\u79fb\u52a8\u6210\u529f",_save:"\u4fdd \u5b58",_color:"\u989c\u8272",_remark:"\u63cf\u8ff0/\u5907\u6ce8",_about:"\u5173\u4e8e\u672c\u7ad9",_webInfo:"\u7f51\u7ad9\u4fe1\u606f",_systemSet:"\u7cfb\u7edf\u8bbe\u7f6e",_searchEngines:"\u641c\u7d22\u5f15\u64ce",_userCollect:"\u7528\u6237\u6536\u5f55",_bookmarkImport:"\u4e66\u7b7e\u5bfc\u5165",_tagSettings:"\u6807\u7b7e\u8bbe\u7f6e",_websiteMang:"\u7f51\u7ad9\u7ba1\u7406",_addRow:"\u65b0\u589e\u4e00\u6761",_bookImportTip:"

\u652f\u6301\u5927\u90e8\u5206\u4e3b\u6d41\u6d4f\u89c8\u5668\u57fa\u4e8ewebkit\u5185\u6838\uff0c\u82e5\u5bfc\u5165\u5931\u8d25\u8868\u793a\u6682\u4e0d\u652f\u6301

\u81ea\u52a8\u68c0\u6d4b\u6ee1\u8db3\u4e09\u7ea7\u5206\u7c7b\u5bfc\u822a\uff0c\u5176\u4ed6\u4e00\u5f8b\u8bbe\u4e3a\u672a\u5206\u7c7b

",_engineName:"\u5f15\u64ce\u540d\u79f0",_status:"\u72b6\u6001",_isDisable:"\u662f\u5426\u7981\u7528",_webLogo:"\u7f51\u7ad9LOGO",_defLanguage:"\u9ed8\u8ba4\u8bed\u8a00",_pageLoad:"\u9875\u9762Loading",_random:"\u968f\u673a",_noSet:"\u4e0d\u8bbe\u7f6e",_showGithub:"\u663e\u793aGithub",_defTheme:"\u9ed8\u8ba4\u4e3b\u9898",_appTheme:"App\u4e3b\u9898",_keywords:"\u7f51\u7ad9\u5173\u952e\u5b57",_footHtml:"\u5e95\u90e8HTML",_headHtml:"\u5934\u90e8HTML",_showWeather:"\u663e\u793a\u5929\u6c14",_weatherTip:'\u76ee\u524d\u53ea\u652f\u6301 "Shortcut" \u4e3b\u9898',_setSaveTip:"\u6ce8\u610f\uff1a\u4fdd\u5b58\u6210\u529f\u540e\u81f3\u5c11\u9700\u8981\u7b49\u5f852\u5206\u949f\u6784\u5efa\u65f6\u95f4\u65b9\u53ef\u751f\u6548\uff01",_theme:"\u4e3b\u9898",_backgroundImage:"\u56fe\u7247",_engineUrl:"\u5f15\u64ce\u5730\u5740",_actionSuccess:"\u64cd\u4f5c\u6210\u529f",_jumpAddr:"\u8df3\u8f6c\u5730\u5740",_backup:"\u4e0b\u8f7d\u5907\u4efd",_bannerHeight:"Banner\u9ad8\u5ea6",_autoPlay:"\u81ea\u52a8\u8f6e\u64ad",_importBackup:"\u5bfc\u5165\u5907\u4efd",_importBackupTip:"\u5bfc\u5165\u540e\u4f1a\u5c06\u5f53\u524d\u6240\u6709\u7f51\u7ad9\u6570\u636e\u6e05\u7a7a\u5e76\u5bfc\u5165",_showLanguage:"\u663e\u793a\u5207\u6362\u8bed\u8a00",_mirrorList:"\u955c\u50cf\u5217\u8868",_mirrorAddr:"\u955c\u50cf\u5730\u5740",_mirrorName:"\u955c\u50cf\u540d\u79f0",_showRate:"\u663e\u793a\u5361\u7247\u8bc4\u5206",_showCopy:"\u663e\u793a\u5361\u7247\u590d\u5236",_showShare:"\u663e\u793a\u5361\u7247\u5206\u4eab",_angleMark:"\u89d2\u6807\u8bbe\u7f6e",_logout:"\u767b\u51fa\u8d26\u53f7",_cardStyle:"\u5361\u7247\u98ce\u683c",_tagPlaceholder:"\u53ef\u4ee5\u4e3a\u7a7a\u5f53\u4f5c\u4e00\u4e2a\u666e\u901a\u6807\u7b7e",_dragSort:"\u62d6\u52a8\u53ef\u6392\u5e8f",_checkWeb:"\u4e0a\u6b21\u68c0\u6d4b\u51fa {count} \u4e2a\u7f51\u7ad9\u94fe\u63a5\u5931\u6548\uff0c\u5177\u4f53\u5230\u7ba1\u7406\u7f51\u7ad9\u67e5\u770b\uff0c\u5982\u9700\u518d\u6b21\u68c0\u6d4b\u72b6\u6001\u76f4\u63a5\u70b9\u4fdd\u5b58\u89e6\u53d1\u4e8b\u4ef6\u5373\u53ef\u3002",_buildTip:"\u4fee\u6539\u5b8c\u8bf7\u4fdd\u5b58\u5e76\u7b49\u5f85\u6784\u5efa\u5b8c\u6210\uff0c\u79bb\u5f00\u65e0\u6548",_updateTip:"\u7cfb\u7edf\u66f4\u65b0\u9891\u7e41\uff0c\u5efa\u8bae\u5b9a\u65f6\u6267\u884c\u66f4\u65b0\u4eab\u53d7\u6700\u65b0\u7cfb\u7edf\u529f\u80fd",_clickUpdate:"\u70b9\u6211\u66f4\u65b0",_enableSEO:"\u5f00\u542fSEO(\u52a0\u8f7d\u7a0d\u6162)",_allowCollect:"\u5141\u8bb8\u7528\u6237\u63d0\u4ea4\u6536\u5f55",_collectMenuView:"\u5177\u4f53\u5230\u7528\u6237\u6536\u5f55\u83dc\u5355\u67e5\u770b",_displaySwitchTheme:"\u663e\u793a\u5207\u6362\u4e3b\u9898",_requestAddress:"\u8bf7\u6c42\u5730\u5740",_requestTip:"\u901a\u5e38\u7528\u4e8e\u90e8\u7f72\u81ea\u6709\u670d\u52a1\u5668\uff0c\u5f53\u70b9\u51fb\u4fdd\u5b58\u6309\u94ae\u65f6\u4f1a\u53d1\u51faGET\u8bf7\u6c42\u586b\u5199\u7684\u5730\u5740",_followPage:"\u8ddf\u968f\u9875\u9762",_bannerTip:"\u5f53\u9ad8\u5ea6\u4e3a0\u65f6\uff0c\u56fe\u7247\u5bbd\u9ad8\u4f1a\u81ea\u9002\u5e94\uff0c\u52a1\u5fc5\u4fdd\u8bc1\u6bcf\u5f20\u56fe\u7247\u5c3a\u5bf8\u4e00\u81f4",_checkStatus:"\u68c0\u67e5\u7f51\u7ad9\u94fe\u63a5\u72b6\u6001(\u4e0a\u8ff0\u4efb\u4e00\u9879\u66f4\u65b0\uff0c\u5efa\u8bae\u6b64\u5f00\u542f\uff0c\u8017\u65f6\u76f8\u540c)",_ignore:"\uff08\u6b64\u529f\u80fd\u4f5c\u7528\u4e0d\u5927\uff0c\u5efa\u8bae\u5ffd\u7565\u6216\u5220\u9664\uff09",_standard:"\u6807\u51c6",_column:"\u680f\u76ee",_simplicity:"\u7b80\u7ea6",_navOver:"\u4e00\u7ea7\u5bfc\u822a\u8d85\u51fa\u663e\u793a",_scrollBar:"\u6eda\u52a8\u6761",_ellipsis:"\u4e09\u70b9\u5f0f",_sidebarImg:"\u4fa7\u680f\u56fe\u7247\u677f\u5757",_sidebarTitle:"\u4fa7\u680f\u6807\u9898",_defTitle4:"\u9ed8\u8ba4\u7f51\u7ad9\u6807\u9898, \u5efa\u8bae4\u5b57\u4ee5\u5185",_inputAuthCode:"\u8bf7\u8f93\u5165\u6388\u6743\u7801",_payTip:"\u5f00\u901a\u7528\u6237\u6536\u5f55\u529f\u80fd\u9700\u652f\u4ed8 \uffe599 \u4f5c\u4e3a\u672c\u7ad9\u7a33\u5b9a\u8fd0\u884c\u7684\u8d21\u732e\uff0c\u611f\u8c22\u60a8\u7684\u7406\u89e3",_waitHandle:"\u63d0\u4ea4\u6210\u529f\uff0c\u7b49\u5f85\u7ad9\u957f\u5904\u7406",_collect:"\u6536\u5f55",_confirmCollect:"\u60a8\u786e\u5b9a\u8981\u6536\u5f55\u5417\uff1f",_pendingGet:"\u6b63\u5728\u83b7\u53d6...",_logoutAuthCode:"\u9000\u51fa\u6388\u6743",_spiderRule:"\u722c\u53d6\u89c4\u5219",_spiderTitle:"\u66f4\u65b0\u6807\u9898",_spiderIcon:"\u66f4\u65b0\u56fe\u6807",_spiderDesc:"\u66f4\u65b0\u63cf\u8ff0",_notSpider:"\u4e0d\u66f4\u65b0",_spiderAlways:"\u603b\u662f\u66f4\u65b0",_spiderEmpty:"\u4e3a\u7a7a\u65f6\u66f4\u65b0",_spiderStatus:"\u722c\u53d6\u72b6\u6001",_spiderTip:"\u6bcf\u6b21\u4fdd\u5b58\u65f6\u4f1a\u89e6\u53d1\u722c\u53d6\u89c4\u5219\uff0c\u5f71\u54cd\u6784\u5efa\u901f\u5ea6\uff0c\u5728\u5fc5\u8981\u65f6\u8fdb\u884c\u722c\u53d6\u66f4\u65b0\u4fe1\u606f",_spiderQty:"\u5e76\u53d1\u6570\u91cf",_spiderQtyTip:"",_spiderNetTip:"\u7531\u4e8e\u7f51\u7edc\u56e0\u7d20\uff0c\u90e8\u5206\u7f51\u7ad9\u53ef\u80fd\u65e0\u6cd5\u8bbf\u95ee\u76f4\u63a5\u8df3\u8fc7\uff0c\u4ec5\u4f9b\u53c2\u8003",_spiderBuildTip:"\u6784\u5efa\u5b8c\u6210\u540e\u5bf9\u6570\u636e\u65e0\u8bef\uff0c\u8bf7\u5230\u7f51\u7ad9\u7ba1\u7406\u70b9\u51fb\u4e00\u6b21\u4fdd\u5b58\uff0c\u5426\u5219\u6570\u636e\u4e0d\u4f1a\u6c38\u4e45\u5b58\u50a8"}};function X5(){return window.localStorage.getItem(Wi.language)||kn.language}const vne=X5();function be(t){return"zh-CN"===vne?Z5.cn[t]:Z5.en[t]??Z5.cn[t]}class e7{attach(n){return this._attachedHost=n,n.attach(this)}detach(){let n=this._attachedHost;null!=n&&(this._attachedHost=null,n.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(n){this._attachedHost=n}}class $u extends e7{constructor(n,e,i,o,r){super(),this.component=n,this.viewContainerRef=e,this.injector=i,this.componentFactoryResolver=o,this.projectableNodes=r}}class Ju extends e7{constructor(n,e,i,o){super(),this.templateRef=n,this.viewContainerRef=e,this.context=i,this.injector=o}get origin(){return this.templateRef.elementRef}attach(n,e=this.context){return this.context=e,super.attach(n)}detach(){return this.context=void 0,super.detach()}}class bne extends e7{constructor(n){super(),this.element=n instanceof Se?n.nativeElement:n}}class t7{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(n){return n instanceof $u?(this._attachedPortal=n,this.attachComponentPortal(n)):n instanceof Ju?(this._attachedPortal=n,this.attachTemplatePortal(n)):this.attachDomPortal&&n instanceof bne?(this._attachedPortal=n,this.attachDomPortal(n)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(n){this._disposeFn=n}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class _ne extends t7{constructor(n,e,i,o,r){super(),this.outletElement=n,this._componentFactoryResolver=e,this._appRef=i,this._defaultInjector=o,this.attachDomPortal=s=>{const a=s.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=r}attachComponentPortal(n){const i=(n.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(n.component);let o;return n.viewContainerRef?(o=n.viewContainerRef.createComponent(i,n.viewContainerRef.length,n.injector||n.viewContainerRef.injector,n.projectableNodes||void 0),this.setDisposeFn(()=>o.destroy())):(o=i.create(n.injector||this._defaultInjector||tn.NULL),this._appRef.attachView(o.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(o.hostView),o.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(o)),this._attachedPortal=n,o}attachTemplatePortal(n){let e=n.viewContainerRef,i=e.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return i.rootNodes.forEach(o=>this.outletElement.appendChild(o)),i.detectChanges(),this.setDisposeFn(()=>{let o=e.indexOf(i);-1!==o&&e.remove(o)}),this._attachedPortal=n,i}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}}let Zu=(()=>{class t extends t7{constructor(e,i,o){super(),this._componentFactoryResolver=e,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new B,this.attachDomPortal=r=>{const s=r.element,a=this._document.createComment("dom-portal");r.setAttachedHost(this),s.parentNode.insertBefore(a,s),this._getRootNode().appendChild(s),this._attachedPortal=r,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(s,a)})},this._document=o}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(e){e.setAttachedHost(this);const i=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,r=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component),s=i.createComponent(r,i.length,e.injector||i.injector,e.projectableNodes||void 0);return i!==this._viewContainerRef&&this._getRootNode().appendChild(s.hostView.rootNodes[0]),super.setDisposeFn(()=>s.destroy()),this._attachedPortal=e,this._attachedRef=s,this.attached.emit(s),s}attachTemplatePortal(e){e.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=e,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}static#e=this.\u0275fac=function(i){return new(i||t)(v(Pc),v(qn),v(Pt))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[0,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],standalone:!0,features:[mt]})}return t})(),z3=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function Ki(t,n){(function yne(t){return"string"==typeof t&&-1!==t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var e=function wne(t){return"string"==typeof t&&-1!==t.indexOf("%")}(t);return t=360===n?t:Math.min(n,Math.max(0,parseFloat(t))),e&&(t=parseInt(String(t*n),10)/100),Math.abs(t-n)<1e-6?1:t=360===n?(t<0?t%n+n:t%n)/parseFloat(String(n)):t%n/parseFloat(String(n))}function A3(t){return Math.min(1,Math.max(0,t))}function SE(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function S3(t){return t<=1?"".concat(100*Number(t),"%"):t}function Cl(t){return 1===t.length?"0"+t:String(t)}function TE(t,n,e){t=Ki(t,255),n=Ki(n,255),e=Ki(e,255);var i=Math.max(t,n,e),o=Math.min(t,n,e),r=0,s=0,a=(i+o)/2;if(i===o)s=0,r=0;else{var l=i-o;switch(s=a>.5?l/(2-i-o):l/(i+o),i){case t:r=(n-e)/l+(n1&&(e-=1),e<1/6?t+6*e*(n-t):e<.5?n:e<2/3?t+(n-t)*(2/3-e)*6:t}function T3(t,n,e){t=Ki(t,255),n=Ki(n,255),e=Ki(e,255);var i=Math.max(t,n,e),o=Math.min(t,n,e),r=0,s=i,a=i-o,l=0===i?0:a/i;if(i===o)r=0;else{switch(i){case t:r=(n-e)/a+(n>16,g:(65280&t)>>8,b:255&t}}(n)),this.originalInput=n;var o=Qr(n);this.originalInput=n,this.r=o.r,this.g=o.g,this.b=o.b,this.a=o.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(i=e.format)&&void 0!==i?i:o.format,this.gradientType=e.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=o.ok}return t.prototype.isDark=function(){return this.getBrightness()<128},t.prototype.isLight=function(){return!this.isDark()},t.prototype.getBrightness=function(){var n=this.toRgb();return(299*n.r+587*n.g+114*n.b)/1e3},t.prototype.getLuminance=function(){var n=this.toRgb(),r=n.r/255,s=n.g/255,a=n.b/255;return.2126*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.7152*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.0722*(a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},t.prototype.getAlpha=function(){return this.a},t.prototype.setAlpha=function(n){return this.a=SE(n),this.roundA=Math.round(100*this.a)/100,this},t.prototype.isMonochrome=function(){return 0===this.toHsl().s},t.prototype.toHsv=function(){var n=T3(this.r,this.g,this.b);return{h:360*n.h,s:n.s,v:n.v,a:this.a}},t.prototype.toHsvString=function(){var n=T3(this.r,this.g,this.b),e=Math.round(360*n.h),i=Math.round(100*n.s),o=Math.round(100*n.v);return 1===this.a?"hsv(".concat(e,", ").concat(i,"%, ").concat(o,"%)"):"hsva(".concat(e,", ").concat(i,"%, ").concat(o,"%, ").concat(this.roundA,")")},t.prototype.toHsl=function(){var n=TE(this.r,this.g,this.b);return{h:360*n.h,s:n.s,l:n.l,a:this.a}},t.prototype.toHslString=function(){var n=TE(this.r,this.g,this.b),e=Math.round(360*n.h),i=Math.round(100*n.s),o=Math.round(100*n.l);return 1===this.a?"hsl(".concat(e,", ").concat(i,"%, ").concat(o,"%)"):"hsla(".concat(e,", ").concat(i,"%, ").concat(o,"%, ").concat(this.roundA,")")},t.prototype.toHex=function(n){return void 0===n&&(n=!1),M3(this.r,this.g,this.b,n)},t.prototype.toHexString=function(n){return void 0===n&&(n=!1),"#"+this.toHex(n)},t.prototype.toHex8=function(n){return void 0===n&&(n=!1),function Sne(t,n,e,i,o){var r=[Cl(Math.round(t).toString(16)),Cl(Math.round(n).toString(16)),Cl(Math.round(e).toString(16)),Cl(ME(i))];return o&&r[0].startsWith(r[0].charAt(1))&&r[1].startsWith(r[1].charAt(1))&&r[2].startsWith(r[2].charAt(1))&&r[3].startsWith(r[3].charAt(1))?r[0].charAt(0)+r[1].charAt(0)+r[2].charAt(0)+r[3].charAt(0):r.join("")}(this.r,this.g,this.b,this.a,n)},t.prototype.toHex8String=function(n){return void 0===n&&(n=!1),"#"+this.toHex8(n)},t.prototype.toHexShortString=function(n){return void 0===n&&(n=!1),1===this.a?this.toHexString(n):this.toHex8String(n)},t.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},t.prototype.toRgbString=function(){var n=Math.round(this.r),e=Math.round(this.g),i=Math.round(this.b);return 1===this.a?"rgb(".concat(n,", ").concat(e,", ").concat(i,")"):"rgba(".concat(n,", ").concat(e,", ").concat(i,", ").concat(this.roundA,")")},t.prototype.toPercentageRgb=function(){var n=function(e){return"".concat(Math.round(100*Ki(e,255)),"%")};return{r:n(this.r),g:n(this.g),b:n(this.b),a:this.a}},t.prototype.toPercentageRgbString=function(){var n=function(e){return Math.round(100*Ki(e,255))};return 1===this.a?"rgb(".concat(n(this.r),"%, ").concat(n(this.g),"%, ").concat(n(this.b),"%)"):"rgba(".concat(n(this.r),"%, ").concat(n(this.g),"%, ").concat(n(this.b),"%, ").concat(this.roundA,")")},t.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var n="#"+M3(this.r,this.g,this.b,!1),e=0,i=Object.entries(i7);e=0&&(n.startsWith("hex")||"name"===n)?"name"===n&&0===this.a?this.toName():this.toRgbString():("rgb"===n&&(i=this.toRgbString()),"prgb"===n&&(i=this.toPercentageRgbString()),("hex"===n||"hex6"===n)&&(i=this.toHexString()),"hex3"===n&&(i=this.toHexString(!0)),"hex4"===n&&(i=this.toHex8String(!0)),"hex8"===n&&(i=this.toHex8String()),"name"===n&&(i=this.toName()),"hsl"===n&&(i=this.toHslString()),"hsv"===n&&(i=this.toHsvString()),i||this.toHexString())},t.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},t.prototype.clone=function(){return new t(this.toString())},t.prototype.lighten=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.l+=n/100,e.l=A3(e.l),new t(e)},t.prototype.brighten=function(n){void 0===n&&(n=10);var e=this.toRgb();return e.r=Math.max(0,Math.min(255,e.r-Math.round(-n/100*255))),e.g=Math.max(0,Math.min(255,e.g-Math.round(-n/100*255))),e.b=Math.max(0,Math.min(255,e.b-Math.round(-n/100*255))),new t(e)},t.prototype.darken=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.l-=n/100,e.l=A3(e.l),new t(e)},t.prototype.tint=function(n){return void 0===n&&(n=10),this.mix("white",n)},t.prototype.shade=function(n){return void 0===n&&(n=10),this.mix("black",n)},t.prototype.desaturate=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.s-=n/100,e.s=A3(e.s),new t(e)},t.prototype.saturate=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.s+=n/100,e.s=A3(e.s),new t(e)},t.prototype.greyscale=function(){return this.desaturate(100)},t.prototype.spin=function(n){var e=this.toHsl(),i=(e.h+n)%360;return e.h=i<0?360+i:i,new t(e)},t.prototype.mix=function(n,e){void 0===e&&(e=50);var i=this.toRgb(),o=new t(n).toRgb(),r=e/100;return new t({r:(o.r-i.r)*r+i.r,g:(o.g-i.g)*r+i.g,b:(o.b-i.b)*r+i.b,a:(o.a-i.a)*r+i.a})},t.prototype.analogous=function(n,e){void 0===n&&(n=6),void 0===e&&(e=30);var i=this.toHsl(),o=360/e,r=[this];for(i.h=(i.h-(o*n>>1)+720)%360;--n;)i.h=(i.h+o)%360,r.push(new t(i));return r},t.prototype.complement=function(){var n=this.toHsl();return n.h=(n.h+180)%360,new t(n)},t.prototype.monochromatic=function(n){void 0===n&&(n=6);for(var e=this.toHsv(),i=e.h,o=e.s,r=e.v,s=[],a=1/n;n--;)s.push(new t({h:i,s:o,v:r})),r=(r+a)%1;return s},t.prototype.splitcomplement=function(){var n=this.toHsl(),e=n.h;return[this,new t({h:(e+72)%360,s:n.s,l:n.l}),new t({h:(e+216)%360,s:n.s,l:n.l})]},t.prototype.onBackground=function(n){var e=this.toRgb(),i=new t(n).toRgb(),o=e.a+i.a*(1-e.a);return new t({r:(e.r*e.a+i.r*i.a*(1-e.a))/o,g:(e.g*e.a+i.g*i.a*(1-e.a))/o,b:(e.b*e.a+i.b*i.a*(1-e.a))/o,a:o})},t.prototype.triad=function(){return this.polyad(3)},t.prototype.tetrad=function(){return this.polyad(4)},t.prototype.polyad=function(n){for(var e=this.toHsl(),i=e.h,o=[this],r=360/n,s=1;s=60&&Math.round(t.h)<=240?e?Math.round(t.h)-E3*n:Math.round(t.h)+E3*n:e?Math.round(t.h)+E3*n:Math.round(t.h)-E3*n,i<0?i+=360:i>=360&&(i-=360),i}function FE(t,n,e){if(0===t.h&&0===t.s)return t.s;let i;return i=e?t.s-IE*n:n===PE?t.s+IE:t.s+kne*n,i>1&&(i=1),e&&n===OE&&i>.1&&(i=.1),i<.06&&(i=.06),Number(i.toFixed(2))}function RE(t,n,e){let i;return i=e?t.v+Ine*n:t.v-One*n,i>1&&(i=1),Number(i.toFixed(2))}function LE(t,n={}){const e=[],i=Qr(t);for(let o=OE;o>0;o-=1){const r=VE(i),s=x3(Qr({h:NE(r,o,!0),s:FE(r,o,!0),v:RE(r,o,!0)}));e.push(s)}e.push(x3(i));for(let o=1;o<=PE;o+=1){const r=VE(i),s=x3(Qr({h:NE(r,o),s:FE(r,o),v:RE(r,o)}));e.push(s)}return"dark"===n.theme?Pne.map(({index:o,opacity:r})=>x3(function Vne(t,n,e){const i=e/100;return{r:(n.r-t.r)*i+t.r,g:(n.g-t.g)*i+t.g,b:(n.b-t.b)*i+t.b}}(Qr(n.backgroundColor||"#141414"),Qr(e[o]),100*r))):e}const k3="[NG-ZORRO]:";const Xu=(...t)=>{},jE=new oe("nz-config"),Fne=`-ant-${Date.now()}-${Math.random()}`;function YE(t,n,e){const i=function Rne(t,n){const e={},i=(s,a)=>{let l=s.clone();return l=a?.(l)||l,l.toRgbString()},o=(s,a)=>{const l=new D3(s),c=LE(l.toRgbString());e[`${a}-color`]=i(l),e[`${a}-color-disabled`]=c[1],e[`${a}-color-hover`]=c[4],e[`${a}-color-active`]=c[7],e[`${a}-color-outline`]=l.clone().setAlpha(.2).toRgbString(),e[`${a}-color-deprecated-bg`]=c[1],e[`${a}-color-deprecated-border`]=c[3]};if(n.primaryColor){o(n.primaryColor,"primary");const s=new D3(n.primaryColor),a=LE(s.toRgbString());a.forEach((c,u)=>{e[`primary-${u+1}`]=c}),e["primary-color-deprecated-l-35"]=i(s,c=>c.lighten(35)),e["primary-color-deprecated-l-20"]=i(s,c=>c.lighten(20)),e["primary-color-deprecated-t-20"]=i(s,c=>c.tint(20)),e["primary-color-deprecated-t-50"]=i(s,c=>c.tint(50)),e["primary-color-deprecated-f-12"]=i(s,c=>c.setAlpha(.12*c.getAlpha()));const l=new D3(a[0]);e["primary-color-active-deprecated-f-30"]=i(l,c=>c.setAlpha(.3*c.getAlpha())),e["primary-color-active-deprecated-d-02"]=i(l,c=>c.darken(2))}return n.successColor&&o(n.successColor,"success"),n.warningColor&&o(n.warningColor,"warning"),n.errorColor&&o(n.errorColor,"error"),n.infoColor&&o(n.infoColor,"info"),`\n :root {\n ${Object.keys(e).map(s=>`--${t}-${s}: ${e[s]};`).join("\n")}\n }\n `.trim()}(t,n);yE()&&function gne(t,n,e={}){const i=$5(e);if(!J5.has(i)){const s=CE("",e),{parentNode:a}=s;J5.set(i,a),a.removeChild(s)}const o=function zE(t,n={}){const e=$5(n);return Array.from(J5.get(e)?.children||[]).find(i=>"STYLE"===i.tagName&&i.getAttribute(wE(n))===t)}(n,e);if(o)return e.cspNonce&&o.nonce!==e.cspNonce&&(o.nonce=e.cspNonce),o.innerHTML!==t&&(o.innerHTML=t),o;const r=CE(t,e);r?.setAttribute(wE(e),n)}(i,`${Fne}-dynamic-theme`,{cspNonce:e})}const UE=function(t){return void 0!==t};let si=(()=>{class t{constructor(e,i){this.configUpdated$=new V,this.config=e||{},this.cspNonce=i,this.config.theme&&YE(this.getConfig().prefixCls?.prefixCls||"ant",this.config.theme,i)}getConfig(){return this.config}getConfigForComponent(e){return this.config[e]}getConfigChangeEventForComponent(e){return this.configUpdated$.pipe(yt(i=>i===e),hl(void 0))}set(e,i){this.config[e]={...this.config[e],...i},"theme"===e&&this.config.theme&&YE(this.getConfig().prefixCls?.prefixCls||"ant",this.config.theme,this.cspNonce),this.configUpdated$.next(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(jE,8),R(vd,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Vt(){return function(n,e,i){const o=`$$__zorroConfigDecorator__${e}`;return Object.defineProperty(n,o,{configurable:!0,writable:!0,enumerable:!1}),{get(){const r=i?.get?i.get.bind(this)():this[o],s=(this.propertyAssignCounter?.[e]||0)>1,a=this.nzConfigService.getConfigForComponent(this._nzModuleName)?.[e];return s&&UE(r)?r:UE(a)?a:r},set(r){this.propertyAssignCounter=this.propertyAssignCounter||{},this.propertyAssignCounter[e]=(this.propertyAssignCounter[e]||0)+1,i?.set?i.set.bind(this)(r):this[o]=r},configurable:!0,enumerable:!0}}}var ct=function(t){return t[t.State=0]="State",t[t.Transition=1]="Transition",t[t.Sequence=2]="Sequence",t[t.Group=3]="Group",t[t.Animate=4]="Animate",t[t.Keyframes=5]="Keyframes",t[t.Style=6]="Style",t[t.Trigger=7]="Trigger",t[t.Reference=8]="Reference",t[t.AnimateChild=9]="AnimateChild",t[t.AnimateRef=10]="AnimateRef",t[t.Query=11]="Query",t[t.Stagger=12]="Stagger",t}(ct||{});const Bs="*";function No(t,n){return{type:ct.Trigger,name:t,definitions:n,options:{}}}function an(t,n=null){return{type:ct.Animate,styles:n,timings:t}}function Ke(t){return{type:ct.Style,styles:t,offset:null}}function wo(t,n,e){return{type:ct.State,name:t,styles:n,options:e}}function un(t,n,e=null){return{type:ct.Transition,expr:t,animation:n,options:e}}function GE(t,n,e=null){return{type:ct.Query,selector:t,animation:n,options:e}}function qE(t,n){return{type:ct.Stagger,timings:t,animation:n}}class e2{constructor(n=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=n+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(n=>n()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(n){this._position=this.totalTime?n*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class QE{constructor(n){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=n;let e=0,i=0,o=0;const r=this.players.length;0==r?queueMicrotask(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++e==r&&this._onFinish()}),s.onDestroy(()=>{++i==r&&this._onDestroy()}),s.onStart(()=>{++o==r&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this.players.forEach(n=>n.init())}onStart(n){this._onStartFns.push(n)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(n=>n()),this._onStartFns=[])}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(n=>n.play())}pause(){this.players.forEach(n=>n.pause())}restart(){this.players.forEach(n=>n.restart())}finish(){this._onFinish(),this.players.forEach(n=>n.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(n=>n.destroy()),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this.players.forEach(n=>n.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(n){const e=n*this.totalTime;this.players.forEach(i=>{const o=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(o)})}getPosition(){const n=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=n?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}let $i=(()=>{class t{static#e=this.SLOW="0.3s";static#t=this.BASE="0.2s";static#n=this.FAST="0.1s"}return t})(),oo=(()=>{class t{static#e=this.EASE_BASE_OUT="cubic-bezier(0.7, 0.3, 0.1, 1)";static#t=this.EASE_BASE_IN="cubic-bezier(0.9, 0, 0.3, 0.7)";static#n=this.EASE_OUT="cubic-bezier(0.215, 0.61, 0.355, 1)";static#i=this.EASE_IN="cubic-bezier(0.55, 0.055, 0.675, 0.19)";static#o=this.EASE_IN_OUT="cubic-bezier(0.645, 0.045, 0.355, 1)";static#r=this.EASE_OUT_BACK="cubic-bezier(0.12, 0.4, 0.29, 1.46)";static#s=this.EASE_IN_BACK="cubic-bezier(0.71, -0.46, 0.88, 0.6)";static#a=this.EASE_IN_OUT_BACK="cubic-bezier(0.71, -0.46, 0.29, 1.46)";static#l=this.EASE_OUT_CIRC="cubic-bezier(0.08, 0.82, 0.17, 1)";static#c=this.EASE_IN_CIRC="cubic-bezier(0.6, 0.04, 0.98, 0.34)";static#d=this.EASE_IN_OUT_CIRC="cubic-bezier(0.78, 0.14, 0.15, 0.86)";static#u=this.EASE_OUT_QUINT="cubic-bezier(0.23, 1, 0.32, 1)";static#h=this.EASE_IN_QUINT="cubic-bezier(0.755, 0.05, 0.855, 0.06)";static#p=this.EASE_IN_OUT_QUINT="cubic-bezier(0.86, 0, 0.07, 1)"}return t})();const Une=No("collapseMotion",[wo("expanded",Ke({height:"*"})),wo("collapsed",Ke({height:0,overflow:"hidden"})),wo("hidden",Ke({height:0,overflow:"hidden",borderTopWidth:"0"})),un("expanded => collapsed",an(`150ms ${oo.EASE_IN_OUT}`)),un("expanded => hidden",an(`150ms ${oo.EASE_IN_OUT}`)),un("collapsed => expanded",an(`150ms ${oo.EASE_IN_OUT}`)),un("hidden => expanded",an(`150ms ${oo.EASE_IN_OUT}`))]),Wne=(No("treeCollapseMotion",[un("* => *",[GE("nz-tree-node:leave,nz-tree-builtin-node:leave",[Ke({overflow:"hidden"}),qE(0,[an(`150ms ${oo.EASE_IN_OUT}`,Ke({height:0,opacity:0,"padding-bottom":0}))])],{optional:!0}),GE("nz-tree-node:enter,nz-tree-builtin-node:enter",[Ke({overflow:"hidden",height:0,opacity:0,"padding-bottom":0}),qE(0,[an(`150ms ${oo.EASE_IN_OUT}`,Ke({overflow:"hidden",height:"*",opacity:"*","padding-bottom":"*"}))])],{optional:!0})])]),No("drawerMaskMotion",[un(":enter",[Ke({opacity:0}),an(`${$i.SLOW}`,Ke({opacity:1}))]),un(":leave",[Ke({opacity:1}),an(`${$i.SLOW}`,Ke({opacity:0}))])]),No("fadeMotion",[un("* => enter",[Ke({opacity:0}),an(`${$i.BASE}`,Ke({opacity:1}))]),un("* => leave, :leave",[Ke({opacity:1}),an(`${$i.BASE}`,Ke({opacity:0}))])]),No("helpMotion",[un(":enter",[Ke({opacity:0,transform:"translateY(-5px)"}),an(`${$i.SLOW} ${oo.EASE_IN_OUT}`,Ke({opacity:1,transform:"translateY(0)"}))]),un(":leave",[Ke({opacity:1,transform:"translateY(0)"}),an(`${$i.SLOW} ${oo.EASE_IN_OUT}`,Ke({opacity:0,transform:"translateY(-5px)"}))])])),Gne=No("moveUpMotion",[un("* => enter",[Ke({transformOrigin:"0 0",transform:"translateY(-100%)",opacity:0}),an(`${$i.BASE}`,Ke({transformOrigin:"0 0",transform:"translateY(0%)",opacity:1}))]),un("* => leave",[Ke({transformOrigin:"0 0",transform:"translateY(0%)",opacity:1}),an(`${$i.BASE}`,Ke({transformOrigin:"0 0",transform:"translateY(-100%)",opacity:0}))])]),qne=No("notificationMotion",[wo("enterRight",Ke({opacity:1,transform:"translateX(0)"})),un("* => enterRight",[Ke({opacity:0,transform:"translateX(5%)"}),an("100ms linear")]),wo("enterLeft",Ke({opacity:1,transform:"translateX(0)"})),un("* => enterLeft",[Ke({opacity:0,transform:"translateX(-5%)"}),an("100ms linear")]),wo("enterTop",Ke({opacity:1,transform:"translateY(0)"})),un("* => enterTop",[Ke({opacity:0,transform:"translateY(-5%)"}),an("100ms linear")]),wo("enterBottom",Ke({opacity:1,transform:"translateY(0)"})),un("* => enterBottom",[Ke({opacity:0,transform:"translateY(5%)"}),an("100ms linear")]),wo("leave",Ke({opacity:0,transform:"scaleY(0.8)",transformOrigin:"0% 0%"})),un("* => leave",[Ke({opacity:1,transform:"scaleY(1)",transformOrigin:"0% 0%"}),an("100ms linear")])]),Qne=`${$i.BASE} ${oo.EASE_OUT_QUINT}`,Kne=`${$i.BASE} ${oo.EASE_IN_QUINT}`,a7=No("slideMotion",[wo("void",Ke({opacity:0,transform:"scaleY(0.8)"})),wo("enter",Ke({opacity:1,transform:"scaleY(1)"})),un("void => *",[an(Qne)]),un("* => void",[an(Kne)])]),$ne=(No("slideAlertMotion",[un(":leave",[Ke({opacity:1,transform:"scaleY(1)",transformOrigin:"0% 0%"}),an(`${$i.SLOW} ${oo.EASE_IN_OUT_CIRC}`,Ke({opacity:0,transform:"scaleY(0)",transformOrigin:"0% 0%"}))])]),No("tabSwitchMotion",[wo("leave",Ke({display:"none"})),un("* => enter",[Ke({display:"block",opacity:0}),an($i.SLOW)]),un("* => leave, :leave",[Ke({position:"absolute",top:0,left:0,width:"100%"}),an($i.SLOW,Ke({opacity:0})),Ke({display:"none"})])])),I3=(No("thumbMotion",[wo("from",Ke({transform:"translateX({{ transform }}px)",width:"{{ width }}px"}),{params:{transform:0,width:0}}),wo("to",Ke({transform:"translateX({{ transform }}px)",width:"{{ width }}px"}),{params:{transform:100,width:0}}),un("from => to",an(`300ms ${oo.EASE_IN_OUT}`))]),No("zoomBigMotion",[un("void => active",[Ke({opacity:0,transform:"scale(0.8)"}),an(`${$i.BASE} ${oo.EASE_OUT_CIRC}`,Ke({opacity:1,transform:"scale(1)"}))]),un("active => void",[Ke({opacity:1,transform:"scale(1)"}),an(`${$i.BASE} ${oo.EASE_IN_OUT_CIRC}`,Ke({opacity:0,transform:"scale(0.8)"}))])]));No("zoomBadgeMotion",[un(":enter",[Ke({opacity:0,transform:"scale(0) translate(50%, -50%)"}),an(`${$i.SLOW} ${oo.EASE_OUT_BACK}`,Ke({opacity:1,transform:"scale(1) translate(50%, -50%)"}))]),un(":leave",[Ke({opacity:1,transform:"scale(1) translate(50%, -50%)"}),an(`${$i.SLOW} ${oo.EASE_IN_BACK}`,Ke({opacity:0,transform:"scale(0) translate(50%, -50%)"}))])]);let An=(()=>{class t{static ngTemplateContextGuard(e,i){return!0}recreateView(){this.viewContainer.clear();const e=this.nzStringTemplateOutlet instanceof qt;this.embeddedViewRef=this.viewContainer.createEmbeddedView(e?this.nzStringTemplateOutlet:this.templateRef,e?this.nzStringTemplateOutletContext:this.context)}updateContext(){const i=this.nzStringTemplateOutlet instanceof qt?this.nzStringTemplateOutletContext:this.context,o=this.embeddedViewRef.context;if(i)for(const r of Object.keys(i))o[r]=i[r]}constructor(e,i){this.viewContainer=e,this.templateRef=i,this.embeddedViewRef=null,this.context=new Jne,this.nzStringTemplateOutletContext=null,this.nzStringTemplateOutlet=null}ngOnChanges(e){const{nzStringTemplateOutletContext:i,nzStringTemplateOutlet:o}=e;o&&(this.context.$implicit=o.currentValue),(()=>{let a=!1;return o&&(a=!!o.firstChange||(o.previousValue instanceof qt||o.currentValue instanceof qt)),i&&(u=>{const p=Object.keys(u.previousValue||{}),b=Object.keys(u.currentValue||{});if(p.length===b.length){for(const _ of b)if(-1===p.indexOf(_))return!0;return!1}return!0})(i)||a})()?this.recreateView():this.updateContext()}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzStringTemplateOutlet",""]],inputs:{nzStringTemplateOutletContext:"nzStringTemplateOutletContext",nzStringTemplateOutlet:"nzStringTemplateOutlet"},exportAs:["nzStringTemplateOutlet"],standalone:!0,features:[xe]})}return t})();class Jne{}let Sn=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();var O3=2,KE=.16,Zne=.05,Xne=.05,eie=.15,$E=5,JE=4,tie=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function ZE(t){var o=T3(t.r,t.g,t.b);return{h:360*o.h,s:o.s,v:o.v}}function P3(t){return"#".concat(M3(t.r,t.g,t.b,!1))}function XE(t,n,e){var i;return(i=Math.round(t.h)>=60&&Math.round(t.h)<=240?e?Math.round(t.h)-O3*n:Math.round(t.h)+O3*n:e?Math.round(t.h)+O3*n:Math.round(t.h)-O3*n)<0?i+=360:i>=360&&(i-=360),i}function ex(t,n,e){return 0===t.h&&0===t.s?t.s:((i=e?t.s-KE*n:n===JE?t.s+KE:t.s+Zne*n)>1&&(i=1),e&&n===$E&&i>.1&&(i=.1),i<.06&&(i=.06),Number(i.toFixed(2)));var i}function tx(t,n,e){var i;return(i=e?t.v+Xne*n:t.v-eie*n)>1&&(i=1),Number(i.toFixed(2))}function l7(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=[],i=Qr(t),o=$E;o>0;o-=1){var r=ZE(i),s=P3(Qr({h:XE(r,o,!0),s:ex(r,o,!0),v:tx(r,o,!0)}));e.push(s)}e.push(P3(i));for(var a=1;a<=JE;a+=1){var l=ZE(i),c=P3(Qr({h:XE(l,a),s:ex(l,a),v:tx(l,a)}));e.push(c)}return"dark"===n.theme?tie.map(function(u){var p=u.index,b=u.opacity,_=P3(function nie(t,n,e){var i=e/100;return{r:(n.r-t.r)*i+t.r,g:(n.g-t.g)*i+t.g,b:(n.b-t.b)*i+t.b}}(Qr(n.backgroundColor||"#141414"),Qr(e[p]),100*b));return _}):e}var c7={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},Ji={},d7={};Object.keys(c7).forEach(function(t){Ji[t]=l7(c7[t]),Ji[t].primary=Ji[t][5],d7[t]=l7(c7[t],{theme:"dark",backgroundColor:"#141414"}),d7[t].primary=d7[t][5]});class u7{}class t2{}class Hs{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const o=e.slice(0,i),r=o.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(o,r),this.headers.has(r)?this.headers.get(r).push(s):this.headers.set(r,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,i)=>{this.setHeaderEntries(i,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,i])=>{this.setHeaderEntries(e,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof Hs?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){const e=new Hs;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Hs?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){const e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,e);const o=("a"===n.op?this.headers.get(e):void 0)||[];o.push(...i),this.headers.set(e,o);break;case"d":const r=n.value;if(r){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===r.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}setHeaderEntries(n,e){const i=(Array.isArray(e)?e:[e]).map(r=>r.toString()),o=n.toLowerCase();this.headers.set(o,i),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}}class iie{encodeKey(n){return nx(n)}encodeValue(n){return nx(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const rie=/%(\d[a-f0-9])/gi,sie={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function nx(t){return encodeURIComponent(t).replace(rie,(n,e)=>sie[e]??n)}function V3(t){return`${t}`}class va{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new iie,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function oie(t,n){const e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(o=>{const r=o.indexOf("="),[s,a]=-1==r?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,r)),n.decodeValue(o.slice(r+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{const i=n.fromObject[e],o=Array.isArray(i)?i.map(V3):[V3(i)];this.map.set(e,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){const e=[];return Object.keys(n).forEach(i=>{const o=n[i];Array.isArray(o)?o.forEach(r=>{e.push({param:i,value:r,op:"a"})}):e.push({param:i,value:o,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const e=new va({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const e=("a"===n.op?this.map.get(n.param):void 0)||[];e.push(V3(n.value)),this.map.set(n.param,e);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const o=i.indexOf(V3(n.value));-1!==o&&i.splice(o,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class aie{constructor(){this.map=new Map}set(n,e){return this.map.set(n,e),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function ix(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function ox(t){return typeof Blob<"u"&&t instanceof Blob}function rx(t){return typeof FormData<"u"&&t instanceof FormData}class n2{constructor(n,e,i,o){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function lie(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==i?i:null,r=o):r=i,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params),this.transferCache=r.transferCache),this.headers??=new Hs,this.context??=new aie,this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":ab.set(_,n.setHeaders[_]),c)),n.setParams&&(u=Object.keys(n.setParams).reduce((b,_)=>b.set(_,n.setParams[_]),u)),new n2(e,i,s,{params:u,headers:c,context:p,reportProgress:l,responseType:o,withCredentials:a,transferCache:r})}}var h7=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}(h7||{});class p7{constructor(n,e=200,i="OK"){this.headers=n.headers||new Hs,this.status=void 0!==n.status?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class o2 extends p7{constructor(n={}){super(n),this.type=h7.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new o2({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}function f7(t,n){return{body:n,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials,transferCache:t.transferCache}}let ax=(()=>{class t{constructor(e){this.handler=e}request(e,i,o={}){let r;if(e instanceof n2)r=e;else{let l,c;l=o.headers instanceof Hs?o.headers:new Hs(o.headers),o.params&&(c=o.params instanceof va?o.params:new va({fromObject:o.params})),r=new n2(e,i,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache})}const s=Ge(r).pipe(a1(l=>this.handler.handle(l)));if(e instanceof n2||"events"===o.observe)return s;const a=s.pipe(yt(l=>l instanceof o2));switch(o.observe||"body"){case"body":switch(r.responseType){case"arraybuffer":return a.pipe(Pe(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Pe(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Pe(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(Pe(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new va).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,o={}){return this.request("PATCH",e,f7(o,i))}post(e,i,o={}){return this.request("POST",e,f7(o,i))}put(e,i,o={}){return this.request("PUT",e,f7(o,i))}static#e=this.\u0275fac=function(i){return new(i||t)(R(u7))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();function Cx(t={}){const{connector:n=(()=>new V),resetOnError:e=!0,resetOnComplete:i=!0,resetOnRefCountZero:o=!0}=t;return r=>{let s,a,l,c=0,u=!1,p=!1;const b=()=>{a?.unsubscribe(),a=void 0},_=()=>{b(),s=l=void 0,u=p=!1},y=()=>{const z=s;_(),z?.unsubscribe()};return dn((z,E)=>{c++,!p&&!u&&b();const x=l=l??n();E.add(()=>{c--,0===c&&!p&&!u&&(a=v7(y,o))}),x.subscribe(E),!s&&c>0&&(s=new Rt({next:k=>x.next(k),error:k=>{p=!0,b(),a=v7(_,e,k),x.error(k)},complete:()=>{u=!0,b(),a=v7(_,i),x.complete()}}),Pi(z).subscribe(s))})(r)}}function v7(t,n,...e){if(!0===n)return void t();if(!1===n)return;const i=new Rt({next:()=>{i.unsubscribe(),t()}});return Pi(n(...e)).subscribe(i)}const js="[@ant-design/icons-angular]:";function Ax(t){return l7(t)[0]}function R3(t,n){switch(n){case"fill":return`${t}-fill`;case"outline":return`${t}-o`;case"twotone":return`${t}-twotone`;case void 0:return t;default:throw new Error(`${js}Theme "${n}" is not a recognized theme!`)}}function Sx(t){return"object"==typeof t&&"string"==typeof t.name&&("string"==typeof t.theme||void 0===t.theme)&&"string"==typeof t.icon}function L3(t){const n=t.split(":");switch(n.length){case 1:return[t,""];case 2:return[n[1],n[0]];default:throw new Error(`${js}The icon type ${t} is not valid!`)}}function Tx(t){return new Error(`${js}the icon ${t} does not exist or is not registered.`)}function Gie(){return new Error(`${js} tag not found.`)}const Kie=new oe("ant_icons");let Mx=(()=>{class t{set twoToneColor({primaryColor:e,secondaryColor:i}){this._twoToneColorPalette.primaryColor=e,this._twoToneColorPalette.secondaryColor=i||Ax(e)}get twoToneColor(){return{...this._twoToneColorPalette}}get _disableDynamicLoading(){return!1}constructor(e,i,o,r,s){this._rendererFactory=e,this._handler=i,this._document=o,this.sanitizer=r,this._antIcons=s,this.defaultTheme="outline",this._svgDefinitions=new Map,this._svgRenderedDefinitions=new Map,this._inProgressFetches=new Map,this._assetsUrlRoot="",this._twoToneColorPalette={primaryColor:"#333333",secondaryColor:"#E6E6E6"},this._enableJsonpLoading=!1,this._jsonpIconLoad$=new V,this._renderer=this._rendererFactory.createRenderer(null,null),this._handler&&(this._http=new ax(this._handler)),this._antIcons&&this.addIcon(...this._antIcons)}useJsonpLoading(){this._enableJsonpLoading||(this._enableJsonpLoading=!0,window.__ant_icon_load=e=>{this._jsonpIconLoad$.next(e)})}changeAssetsSource(e){this._assetsUrlRoot=e.endsWith("/")?e:e+"/"}addIcon(...e){e.forEach(i=>{this._svgDefinitions.set(R3(i.name,i.theme),i)})}addIconLiteral(e,i){const[o,r]=L3(e);if(!r)throw function Yie(){return new Error(`${js}Type should have a namespace. Try "namespace:${name}".`)}();this.addIcon({name:e,icon:i})}clear(){this._svgDefinitions.clear(),this._svgRenderedDefinitions.clear()}getRenderedContent(e,i){const o=Sx(e)?e:this._svgDefinitions.get(e)||null;if(!o&&this._disableDynamicLoading)throw Tx(e);return(o?Ge(o):this._loadIconDynamically(e)).pipe(Pe(s=>{if(!s)throw Tx(e);return this._loadSVGFromCacheOrCreateNew(s,i)}))}getCachedIcons(){return this._svgDefinitions}_loadIconDynamically(e){if(!this._http&&!this._enableJsonpLoading)return Ge(function Uie(){return function Vie(t){console.error(`${js} ${t}.`)}('you need to import "HttpClientModule" to use dynamic importing.'),null}());let i=this._inProgressFetches.get(e);if(!i){const[o,r]=L3(e),s=r?{name:e,icon:""}:function Lie(t){const n=t.split("-"),e=function Fie(t){return"o"===t?"outline":t}(n.splice(n.length-1,1)[0]);return{name:n.join("-"),theme:e,icon:""}}(o),l=(r?`${this._assetsUrlRoot}assets/${r}/${o}`:`${this._assetsUrlRoot}assets/${s.theme}/${s.name}`)+(this._enableJsonpLoading?".js":".svg"),c=this.sanitizer.sanitize(Wo.URL,l);if(!c)throw function Wie(t){return new Error(`${js}The url "${t}" is unsafe.`)}(l);i=(this._enableJsonpLoading?this._loadIconDynamicallyWithJsonp(s,c):this._http.get(c,{responseType:"text"}).pipe(Pe(p=>({...s,icon:p})))).pipe(ii(p=>this.addIcon(p)),l1(()=>this._inProgressFetches.delete(e)),ul(()=>Ge(null)),Cx()),this._inProgressFetches.set(e,i)}return i}_loadIconDynamicallyWithJsonp(e,i){return new Wt(o=>{const r=this._document.createElement("script"),s=setTimeout(()=>{a(),o.error(function qie(){return new Error(`${js}Importing timeout error.`)}())},6e3);function a(){r.parentNode.removeChild(r),clearTimeout(s)}r.src=i,this._document.body.appendChild(r),this._jsonpIconLoad$.pipe(yt(l=>l.name===e.name&&l.theme===e.theme),io(1)).subscribe(l=>{o.next(l),a()})})}_loadSVGFromCacheOrCreateNew(e,i){let o;const r=i||this._twoToneColorPalette.primaryColor,s=Ax(r)||this._twoToneColorPalette.secondaryColor,a="twotone"===e.theme?function Nie(t,n,e,i){return`${R3(t,n)}-${e}-${i}`}(e.name,e.theme,r,s):void 0===e.theme?e.name:R3(e.name,e.theme),l=this._svgRenderedDefinitions.get(a);return l?o=l.icon:(o=this._setSVGAttribute(this._colorizeSVGIcon(this._createSVGElementFromString(function jie(t){return""!==L3(t)[1]}(e.name)?e.icon:function Hie(t){return t.replace(/['"]#333['"]/g,'"primaryColor"').replace(/['"]#E6E6E6['"]/g,'"secondaryColor"').replace(/['"]#D9D9D9['"]/g,'"secondaryColor"').replace(/['"]#D8D8D8['"]/g,'"secondaryColor"')}(e.icon)),"twotone"===e.theme,r,s)),this._svgRenderedDefinitions.set(a,{...e,icon:o})),function Bie(t){return t.cloneNode(!0)}(o)}_createSVGElementFromString(e){const i=this._document.createElement("div");i.innerHTML=e;const o=i.querySelector("svg");if(!o)throw Gie;return o}_setSVGAttribute(e){return this._renderer.setAttribute(e,"width","1em"),this._renderer.setAttribute(e,"height","1em"),e}_colorizeSVGIcon(e,i,o,r){if(i){const s=e.childNodes,a=s.length;for(let l=0;l{class t{constructor(e,i,o){this._iconService=e,this._elementRef=i,this._renderer=o}ngOnChanges(e){(e.type||e.theme||e.twoToneColor)&&this._changeIcon()}_changeIcon(){return new Promise(e=>{if(!this.type)return this._clearSVGElement(),void e(null);const i=this._getSelfRenderMeta();this._iconService.getRenderedContent(this._parseIconType(this.type,this.theme),this.twoToneColor).subscribe(o=>{const r=this._getSelfRenderMeta();!function $ie(t,n){return t.type===n.type&&t.theme===n.theme&&t.twoToneColor===n.twoToneColor}(i,r)?e(null):(this._setSVGElement(o),e(o))})})}_getSelfRenderMeta(){return{type:this.type,theme:this.theme,twoToneColor:this.twoToneColor}}_parseIconType(e,i){if(Sx(e))return e;{const[o,r]=L3(e);return r?e:function Rie(t){return t.endsWith("-fill")||t.endsWith("-o")||t.endsWith("-twotone")}(o)?o:R3(o,i||this._iconService.defaultTheme)}}_setSVGElement(e){this._clearSVGElement(),this._renderer.appendChild(this._elementRef.nativeElement,e)}_clearSVGElement(){const e=this._elementRef.nativeElement,i=e.childNodes;for(let r=i.length-1;r>=0;r--){const s=i[r];"svg"===s.tagName?.toLowerCase()&&this._renderer.removeChild(e,s)}}static#e=this.\u0275fac=function(i){return new(i||t)(v(Mx),v(Se),v(Yt))};static#t=this.\u0275dir=de({type:t,selectors:[["","antIcon",""]],inputs:{type:"type",theme:"theme",twoToneColor:"twoToneColor"},features:[xe]})}return t})();const Dx={name:"check",theme:"outline",icon:''},Ex={name:"copy",theme:"outline",icon:''},xx={name:"ellipsis",theme:"outline",icon:''},kx={name:"loading",theme:"outline",icon:''},Ix={name:"star",theme:"fill",icon:''},Ox={name:"upload",theme:"outline",icon:''},Boe=[{name:"bars",theme:"outline",icon:''},{name:"calendar",theme:"outline",icon:''},{name:"caret-up",theme:"fill",icon:''},{name:"caret-up",theme:"outline",icon:''},{name:"caret-down",theme:"fill",icon:''},{name:"caret-down",theme:"outline",icon:''},{name:"check-circle",theme:"fill",icon:''},{name:"check-circle",theme:"outline",icon:''},Dx,{name:"clock-circle",theme:"outline",icon:''},{name:"close-circle",theme:"outline",icon:''},{name:"close-circle",theme:"fill",icon:''},{name:"close",theme:"outline",icon:''},Ex,{name:"delete",theme:"outline",icon:''},{name:"double-left",theme:"outline",icon:''},{name:"double-right",theme:"outline",icon:''},{name:"down",theme:"outline",icon:''},{name:"edit",theme:"outline",icon:''},xx,{name:"exclamation-circle",theme:"fill",icon:''},{name:"exclamation-circle",theme:"outline",icon:''},{name:"eye",theme:"outline",icon:''},{name:"file",theme:"fill",icon:''},{name:"file",theme:"outline",icon:''},{name:"filter",theme:"fill",icon:''},{name:"info-circle",theme:"fill",icon:''},{name:"info-circle",theme:"outline",icon:''},{name:"left",theme:"outline",icon:''},kx,{name:"paper-clip",theme:"outline",icon:''},{name:"question-circle",theme:"outline",icon:''},{name:"right",theme:"outline",icon:''},{name:"rotate-right",theme:"outline",icon:''},{name:"rotate-left",theme:"outline",icon:''},Ix,{name:"search",theme:"outline",icon:''},Ix,Ox,{name:"vertical-align-top",theme:"outline",icon:''},{name:"up",theme:"outline",icon:''},{name:"swap",theme:"outline",icon:''},{name:"swap-right",theme:"outline",icon:''},{name:"zoom-in",theme:"outline",icon:''},{name:"zoom-out",theme:"outline",icon:''}],Px=new oe("nz_icons"),Vx=(new oe("nz_icon_default_twotone_color"),"#1890ff");let Nx=(()=>{class t extends Mx{get _disableDynamicLoading(){return!this.platform.isBrowser}ngOnDestroy(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=null)}normalizeSvgElement(e){e.getAttribute("viewBox")||this._renderer.setAttribute(e,"viewBox","0 0 1024 1024"),(!e.getAttribute("width")||!e.getAttribute("height"))&&(this._renderer.setAttribute(e,"width","1em"),this._renderer.setAttribute(e,"height","1em")),e.getAttribute("fill")||this._renderer.setAttribute(e,"fill","currentColor")}fetchFromIconfont(e){const{scriptUrl:i}=e;if(this._document&&!this.iconfontCache.has(i)){const o=this._renderer.createElement("script");this._renderer.setAttribute(o,"src",i),this._renderer.setAttribute(o,"data-namespace",i.replace(/^(https?|http):/g,"")),this._renderer.appendChild(this._document.body,o),this.iconfontCache.add(i)}}createIconfontIcon(e){return this._createSVGElementFromString(``)}constructor(e,i,o,r,s,a,l){super(e,s,a,i,[...Boe,...l||[]]),this.nzConfigService=o,this.platform=r,this.configUpdated$=new V,this.iconfontCache=new Set,this.subscription=null,this.onConfigChange(),this.configDefaultTwotoneColor(),this.configDefaultTheme()}onConfigChange(){this.subscription=this.nzConfigService.getConfigChangeEventForComponent("icon").subscribe(()=>{this.configDefaultTwotoneColor(),this.configDefaultTheme(),this.configUpdated$.next()})}configDefaultTheme(){const e=this.getConfig();this.defaultTheme=e.nzTheme||"outline"}configDefaultTwotoneColor(){const i=this.getConfig().nzTwotoneColor||Vx;let o=Vx;i&&i.startsWith("#")&&(o=i),this.twoToneColor={primaryColor:o}}getConfig(){return this.nzConfigService.getConfigForComponent("icon")||{}}static#e=this.\u0275fac=function(i){return new(i||t)(R(Za),R(bu),R(si),R(Qn),R(t2,8),R(Pt,8),R(Px,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Fx=new oe("nz_icons_patch");let Rx=(()=>{class t{constructor(e,i){this.extraIcons=e,this.rootIconService=i,this.patched=!1}doPatch(){this.patched||(this.extraIcons.forEach(e=>this.rootIconService.addIcon(e)),this.patched=!0)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Fx,2),R(Nx))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),ln=(()=>{class t extends Jie{set nzSpin(e){this.spin=e}set nzType(e){this.type=e}set nzTheme(e){this.theme=e}set nzTwotoneColor(e){this.twoToneColor=e}set nzIconfont(e){this.iconfont=e}constructor(e,i,o,r,s,a){super(r,o,s),this.ngZone=e,this.changeDetectorRef=i,this.iconService=r,this.renderer=s,this.cacheClassName=null,this.nzRotate=0,this.spin=!1,this.destroy$=new V,a&&a.doPatch(),this.el=o.nativeElement}ngOnChanges(e){const{nzType:i,nzTwotoneColor:o,nzSpin:r,nzTheme:s,nzRotate:a}=e;i||o||r||s?this.changeIcon2():a?this.handleRotate(this.el.firstChild):this._setSVGElement(this.iconService.createIconfontIcon(`#${this.iconfont}`))}ngOnInit(){this.renderer.setAttribute(this.el,"class",`anticon ${this.el.className}`.trim())}ngAfterContentChecked(){if(!this.type){const e=this.el.children;let i=e.length;if(!this.type&&e.length)for(;i--;){const o=e[i];"svg"===o.tagName.toLowerCase()&&this.iconService.normalizeSvgElement(o)}}}ngOnDestroy(){this.destroy$.next()}changeIcon2(){this.setClassName(),this.ngZone.runOutsideAngular(()=>{ni(this._changeIcon()).pipe(P(this.destroy$)).subscribe({next:e=>{this.ngZone.run(()=>{this.changeDetectorRef.detectChanges(),e&&(this.setSVGData(e),this.handleSpin(e),this.handleRotate(e))})},error:Xu})})}handleSpin(e){this.spin||"loading"===this.type?this.renderer.addClass(e,"anticon-spin"):this.renderer.removeClass(e,"anticon-spin")}handleRotate(e){this.nzRotate?this.renderer.setAttribute(e,"style",`transform: rotate(${this.nzRotate}deg)`):this.renderer.removeAttribute(e,"style")}setClassName(){this.cacheClassName&&this.renderer.removeClass(this.el,this.cacheClassName),this.cacheClassName=`anticon-${this.type}`,this.renderer.addClass(this.el,this.cacheClassName)}setSVGData(e){this.renderer.setAttribute(e,"data-icon",this.type),this.renderer.setAttribute(e,"aria-hidden","true")}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(We),v(Se),v(Nx),v(Yt),v(Rx,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-icon",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("anticon",!0)},inputs:{nzSpin:[2,"nzSpin","nzSpin",I],nzRotate:[2,"nzRotate","nzRotate",Oi],nzType:"nzType",nzTheme:"nzTheme",nzTwotoneColor:"nzTwotoneColor",nzIconfont:"nzIconfont"},exportAs:["nzIcon"],standalone:!0,features:[je,mt,xe]})}return t})(),In=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:Px,useValue:e}]}}static forChild(e){return{ngModule:t,providers:[Rx,{provide:Fx,useValue:e}]}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();const Hoe=["addListener","removeListener"],joe=["addEventListener","removeEventListener"],Yoe=["on","off"];function nn(t,n,e,i){if(wt(e)&&(i=e,e=void 0),i)return nn(t,n,e).pipe(fg(i));const[o,r]=function Goe(t){return wt(t.addEventListener)&&wt(t.removeEventListener)}(t)?joe.map(s=>a=>t[s](n,a,e)):function Uoe(t){return wt(t.addListener)&&wt(t.removeListener)}(t)?Hoe.map(Lx(t,n)):function Woe(t){return wt(t.on)&&wt(t.off)}(t)?Yoe.map(Lx(t,n)):[];if(!o&&ug(t))return Yn(s=>nn(s,n,e))(Pi(t));if(!o)throw new TypeError("Invalid event target");return new Wt(s=>{const a=(...l)=>s.next(1r(a)})}function Lx(t,n){return e=>i=>t[e](n,i)}const r2={schedule(t){let n=requestAnimationFrame,e=cancelAnimationFrame;const{delegate:i}=r2;i&&(n=i.requestAnimationFrame,e=i.cancelAnimationFrame);const o=n(r=>{e=void 0,t(r)});return new Ft(()=>e?.(o))},requestAnimationFrame(...t){const{delegate:n}=r2;return(n?.requestAnimationFrame||requestAnimationFrame)(...t)},cancelAnimationFrame(...t){const{delegate:n}=r2;return(n?.cancelAnimationFrame||cancelAnimationFrame)(...t)},delegate:void 0},b7=new class Qoe extends k5{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let o;n=n||i.shift();do{if(o=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,o){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw o}}}(class qoe extends x5{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=r2.requestAnimationFrame(()=>n.flush(void 0))))}recycleAsyncId(n,e,i=0){var o;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:r}=n;null!=e&&(null===(o=r[r.length-1])||void 0===o?void 0:o.id)!==e&&(r2.cancelAnimationFrame(e),n._scheduled=void 0)}});let _7,Koe=1;const B3={};function Bx(t){return t in B3&&(delete B3[t],!0)}const $oe={setImmediate(t){const n=Koe++;return B3[n]=!0,_7||(_7=Promise.resolve()),_7.then(()=>Bx(n)&&t()),n},clearImmediate(t){Bx(t)}},{setImmediate:Joe,clearImmediate:Zoe}=$oe,H3={setImmediate(...t){const{delegate:n}=H3;return(n?.setImmediate||Joe)(...t)},clearImmediate(t){const{delegate:n}=H3;return(n?.clearImmediate||Zoe)(t)},delegate:void 0},y7=new class ere extends k5{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let o;n=n||i.shift();do{if(o=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,o){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw o}}}(class Xoe extends x5{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=H3.setImmediate(n.flush.bind(n,void 0))))}recycleAsyncId(n,e,i=0){var o;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:r}=n;null!=e&&(null===(o=r[r.length-1])||void 0===o?void 0:o.id)!==e&&(H3.clearImmediate(e),n._scheduled===e&&(n._scheduled=void 0))}});class ire{}class rre extends ire{constructor(n){super(),this._data=n}connect(){return b4(this._data)?this._data:Ge(this._data)}disconnect(){}}var _a=function(t){return t[t.REPLACED=0]="REPLACED",t[t.INSERTED=1]="INSERTED",t[t.MOVED=2]="MOVED",t[t.REMOVED=3]="REMOVED",t}(_a||{});const Hx=new oe("_ViewRepeater");class sre{constructor(){this.viewCacheSize=20,this._viewCache=[]}applyChanges(n,e,i,o,r){n.forEachOperation((s,a,l)=>{let c,u;null==s.previousIndex?(c=this._insertView(()=>i(s,a,l),l,e,o(s)),u=c?_a.INSERTED:_a.REPLACED):null==l?(this._detachAndCacheView(a,e),u=_a.REMOVED):(c=this._moveView(a,l,e,o(s)),u=_a.MOVED),r&&r({context:c?.context,operation:u,record:s})})}detach(){for(const n of this._viewCache)n.destroy();this._viewCache=[]}_insertView(n,e,i,o){const r=this._insertViewFromCache(e,i);if(r)return void(r.context.$implicit=o);const s=n();return i.createEmbeddedView(s.templateRef,s.context,s.index)}_detachAndCacheView(n,e){const i=e.detach(n);this._maybeCacheView(i,e)}_moveView(n,e,i,o){const r=i.get(n);return i.move(r,e),r.context.$implicit=o,r}_maybeCacheView(n,e){if(this._viewCache.length0?r/this._itemSize:0;if(e.end>o){const l=Math.ceil(i/this._itemSize),c=Math.max(0,Math.min(s,o-l));s!=c&&(s=c,r=c*this._itemSize,e.start=Math.floor(s)),e.end=Math.max(0,Math.min(o,e.start+l))}const a=r-e.start*this._itemSize;if(a0&&(e.end=Math.min(o,e.end+c),e.start=Math.max(0,Math.floor(s-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(e),this._viewport.setRenderedContentOffset(this._itemSize*e.start),this._scrolledIndexChange.next(Math.floor(s))}}function dre(t){return t._scrollStrategy}let Yx=(()=>{class t{constructor(){this._itemSize=20,this._minBufferPx=100,this._maxBufferPx=200,this._scrollStrategy=new cre(this.itemSize,this.minBufferPx,this.maxBufferPx)}get itemSize(){return this._itemSize}set itemSize(e){this._itemSize=Rs(e)}get minBufferPx(){return this._minBufferPx}set minBufferPx(e){this._minBufferPx=Rs(e)}get maxBufferPx(){return this._maxBufferPx}set maxBufferPx(e){this._maxBufferPx=Rs(e)}ngOnChanges(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["cdk-virtual-scroll-viewport","itemSize",""]],inputs:{itemSize:"itemSize",minBufferPx:"minBufferPx",maxBufferPx:"maxBufferPx"},standalone:!0,features:[et([{provide:jx,useFactory:dre,deps:[Gt(()=>t)]}]),xe]})}return t})(),s2=(()=>{class t{constructor(e,i,o){this._ngZone=e,this._platform=i,this._scrolled=new V,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=o}register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){const i=this.scrollContainers.get(e);i&&(i.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=20){return this._platform.isBrowser?new Wt(i=>{this._globalSubscription||this._addGlobalListener();const o=e>0?this._scrolled.pipe(bl(e)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Ge()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((e,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(e,i){const o=this.getAncestorScrollContainers(e);return this.scrolled(i).pipe(yt(r=>!r||o.indexOf(r)>-1))}getAncestorScrollContainers(e){const i=[];return this.scrollContainers.forEach((o,r)=>{this._scrollableContainsElement(r,e)&&i.push(r)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(e,i){let o=Vi(i),r=e.getElementRef().nativeElement;do{if(o==r)return!0}while(o=o.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>nn(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Me),R(Qn),R(Pt,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ux=(()=>{class t{constructor(e,i,o,r){this.elementRef=e,this.scrollDispatcher=i,this.ngZone=o,this.dir=r,this._destroyed=new V,this._elementScrolled=new Wt(s=>this.ngZone.runOutsideAngular(()=>nn(this.elementRef.nativeElement,"scroll").pipe(P(this._destroyed)).subscribe(s)))}ngOnInit(){this.scrollDispatcher.register(this)}ngOnDestroy(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(e){const i=this.elementRef.nativeElement,o=this.dir&&"rtl"==this.dir.value;null==e.left&&(e.left=o?e.end:e.start),null==e.right&&(e.right=o?e.start:e.end),null!=e.bottom&&(e.top=i.scrollHeight-i.clientHeight-e.bottom),o&&qu()!=ms.NORMAL?(null!=e.left&&(e.right=i.scrollWidth-i.clientWidth-e.left),qu()==ms.INVERTED?e.left=e.right:qu()==ms.NEGATED&&(e.left=e.right?-e.right:e.right)):null!=e.right&&(e.left=i.scrollWidth-i.clientWidth-e.right),this._applyScrollToOptions(e)}_applyScrollToOptions(e){const i=this.elementRef.nativeElement;rE()?i.scrollTo(e):(null!=e.top&&(i.scrollTop=e.top),null!=e.left&&(i.scrollLeft=e.left))}measureScrollOffset(e){const i="left",o="right",r=this.elementRef.nativeElement;if("top"==e)return r.scrollTop;if("bottom"==e)return r.scrollHeight-r.clientHeight-r.scrollTop;const s=this.dir&&"rtl"==this.dir.value;return"start"==e?e=s?o:i:"end"==e&&(e=s?i:o),s&&qu()==ms.INVERTED?e==i?r.scrollWidth-r.clientWidth-r.scrollLeft:r.scrollLeft:s&&qu()==ms.NEGATED?e==i?r.scrollLeft+r.scrollWidth-r.clientWidth:-r.scrollLeft:e==i?r.scrollLeft:r.scrollWidth-r.clientWidth-r.scrollLeft}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(s2),v(Me),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]],standalone:!0})}return t})(),a2=(()=>{class t{constructor(e,i,o){this._platform=e,this._change=new V,this._changeListener=r=>{this._change.next(r)},this._document=o,i.runOutsideAngular(()=>{if(e.isBrowser){const r=this._getWindow();r.addEventListener("resize",this._changeListener),r.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){const e=this.getViewportScrollPosition(),{width:i,height:o}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+o,right:e.left+i,height:o,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const e=this._document,i=this._getWindow(),o=e.documentElement,r=o.getBoundingClientRect();return{top:-r.top||e.body.scrollTop||i.scrollY||o.scrollTop||0,left:-r.left||e.body.scrollLeft||i.scrollX||o.scrollLeft||0}}change(e=20){return e>0?this._change.pipe(bl(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn),R(Me),R(Pt,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Wx=new oe("VIRTUAL_SCROLLABLE");let pre=(()=>{class t extends Ux{constructor(e,i,o,r){super(e,i,o,r)}measureViewportSize(e){const i=this.elementRef.nativeElement;return"horizontal"===e?i.clientWidth:i.clientHeight}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(s2),v(Me),v(Ct,8))};static#t=this.\u0275dir=de({type:t,features:[mt]})}return t})();const mre=typeof requestAnimationFrame<"u"?b7:y7;let E1=(()=>{class t extends pre{get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._orientation=e,this._calculateSpacerSize())}constructor(e,i,o,r,s,a,l,c){super(e,a,o,s),this.elementRef=e,this._changeDetectorRef=i,this._scrollStrategy=r,this.scrollable=c,this._platform=G(Qn),this._detachedSubject=new V,this._renderedRangeSubject=new V,this._orientation="vertical",this.appendOnly=!1,this.scrolledIndexChange=new Wt(u=>this._scrollStrategy.scrolledIndexChange.subscribe(p=>Promise.resolve().then(()=>this.ngZone.run(()=>u.next(p))))),this.renderedRangeStream=this._renderedRangeSubject,this._totalContentSize=0,this._totalContentWidth="",this._totalContentHeight="",this._renderedRange={start:0,end:0},this._dataLength=0,this._viewportSize=0,this._renderedContentOffset=0,this._renderedContentOffsetNeedsRewrite=!1,this._isChangeDetectionPending=!1,this._runAfterChangeDetection=[],this._viewportChanges=Ft.EMPTY,this._injector=G(tn),this._isDestroyed=!1,this._viewportChanges=l.change().subscribe(()=>{this.checkViewportSize()}),this.scrollable||(this.elementRef.nativeElement.classList.add("cdk-virtual-scrollable"),this.scrollable=this)}ngOnInit(){this._platform.isBrowser&&(this.scrollable===this&&super.ngOnInit(),this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._measureViewportSize(),this._scrollStrategy.attach(this),this.scrollable.elementScrolled().pipe(gn(null),bl(0,mre),P(this._destroyed)).subscribe(()=>this._scrollStrategy.onContentScrolled()),this._markChangeDetectionNeeded()})))}ngOnDestroy(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),this._viewportChanges.unsubscribe(),this._isDestroyed=!0,super.ngOnDestroy()}attach(e){this.ngZone.runOutsideAngular(()=>{this._forOf=e,this._forOf.dataStream.pipe(P(this._detachedSubject)).subscribe(i=>{const o=i.length;o!==this._dataLength&&(this._dataLength=o,this._scrollStrategy.onDataLengthChanged()),this._doChangeDetection()})})}detach(){this._forOf=null,this._detachedSubject.next()}getDataLength(){return this._dataLength}getViewportSize(){return this._viewportSize}getRenderedRange(){return this._renderedRange}measureBoundingClientRectWithScrollOffset(e){return this.getElementRef().nativeElement.getBoundingClientRect()[e]}setTotalContentSize(e){this._totalContentSize!==e&&(this._totalContentSize=e,this._calculateSpacerSize(),this._markChangeDetectionNeeded())}setRenderedRange(e){(function fre(t,n){return t.start==n.start&&t.end==n.end})(this._renderedRange,e)||(this.appendOnly&&(e={start:0,end:Math.max(this._renderedRange.end,e.end)}),this._renderedRangeSubject.next(this._renderedRange=e),this._markChangeDetectionNeeded(()=>this._scrollStrategy.onContentRendered()))}getOffsetToRenderedContentStart(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset}setRenderedContentOffset(e,i="to-start"){e=this.appendOnly&&"to-start"===i?0:e;const r="horizontal"==this.orientation,s=r?"X":"Y";let l=`translate${s}(${Number((r&&this.dir&&"rtl"==this.dir.value?-1:1)*e)}px)`;this._renderedContentOffset=e,"to-end"===i&&(l+=` translate${s}(-100%)`,this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=l&&(this._renderedContentTransform=l,this._markChangeDetectionNeeded(()=>{this._renderedContentOffsetNeedsRewrite?(this._renderedContentOffset-=this.measureRenderedContentSize(),this._renderedContentOffsetNeedsRewrite=!1,this.setRenderedContentOffset(this._renderedContentOffset)):this._scrollStrategy.onRenderedOffsetChanged()}))}scrollToOffset(e,i="auto"){const o={behavior:i};"horizontal"===this.orientation?o.start=e:o.top=e,this.scrollable.scrollTo(o)}scrollToIndex(e,i="auto"){this._scrollStrategy.scrollToIndex(e,i)}measureScrollOffset(e){let i;return i=this.scrollable==this?o=>super.measureScrollOffset(o):o=>this.scrollable.measureScrollOffset(o),Math.max(0,i(e??("horizontal"===this.orientation?"start":"top"))-this.measureViewportOffset())}measureViewportOffset(e){let i;const o="left",r="right",s="rtl"==this.dir?.value;i="start"==e?s?r:o:"end"==e?s?o:r:e||("horizontal"===this.orientation?"left":"top");const a=this.scrollable.measureBoundingClientRectWithScrollOffset(i);return this.elementRef.nativeElement.getBoundingClientRect()[i]-a}measureRenderedContentSize(){const e=this._contentWrapper.nativeElement;return"horizontal"===this.orientation?e.offsetWidth:e.offsetHeight}measureRangeSize(e){return this._forOf?this._forOf.measureRangeSize(e,this.orientation):0}checkViewportSize(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()}_measureViewportSize(){this._viewportSize=this.scrollable.measureViewportSize(this.orientation)}_markChangeDetectionNeeded(e){e&&this._runAfterChangeDetection.push(e),this._isChangeDetectionPending||(this._isChangeDetectionPending=!0,this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._doChangeDetection()})))}_doChangeDetection(){this._isDestroyed||this.ngZone.run(()=>{this._changeDetectorRef.markForCheck(),this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform,Xa(()=>{this._isChangeDetectionPending=!1;const e=this._runAfterChangeDetection;this._runAfterChangeDetection=[];for(const i of e)i()},{injector:this._injector})})}_calculateSpacerSize(){this._totalContentHeight="horizontal"===this.orientation?"":`${this._totalContentSize}px`,this._totalContentWidth="horizontal"===this.orientation?`${this._totalContentSize}px`:""}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(We),v(Me),v(jx,8),v(Ct,8),v(s2),v(a2),v(Wx,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["cdk-virtual-scroll-viewport"]],viewQuery:function(i,o){if(1&i&&ft(are,7),2&i){let r;ke(r=Ie())&&(o._contentWrapper=r.first)}},hostAttrs:[1,"cdk-virtual-scroll-viewport"],hostVars:4,hostBindings:function(i,o){2&i&&Z("cdk-virtual-scroll-orientation-horizontal","horizontal"===o.orientation)("cdk-virtual-scroll-orientation-vertical","horizontal"!==o.orientation)},inputs:{orientation:"orientation",appendOnly:[2,"appendOnly","appendOnly",I]},outputs:{scrolledIndexChange:"scrolledIndexChange"},standalone:!0,features:[et([{provide:Ux,useFactory:(e,i)=>e||i,deps:[[new ed,new B9(Wx)],t]}]),je,mt,me],ngContentSelectors:lre,decls:4,vars:4,consts:[["contentWrapper",""],[1,"cdk-virtual-scroll-content-wrapper"],[1,"cdk-virtual-scroll-spacer"]],template:function(i,o){1&i&&(Et(),f(0,"div",1,0),_t(2),m(),A(3,"div",2)),2&i&&(d(3),Lt("width",o._totalContentWidth)("height",o._totalContentHeight))},styles:["cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}"],encapsulation:2,changeDetection:0})}return t})();function Gx(t,n,e){if(!e.getBoundingClientRect)return 0;const o=e.getBoundingClientRect();return"horizontal"===t?"start"===n?o.left:o.right:"start"===n?o.top:o.bottom}let qx=(()=>{class t{get cdkVirtualForOf(){return this._cdkVirtualForOf}set cdkVirtualForOf(e){this._cdkVirtualForOf=e,function ore(t){return t&&"function"==typeof t.connect&&!(t instanceof vg)}(e)?this._dataSourceChanges.next(e):this._dataSourceChanges.next(new rre(b4(e)?e:Array.from(e||[])))}get cdkVirtualForTrackBy(){return this._cdkVirtualForTrackBy}set cdkVirtualForTrackBy(e){this._needsUpdate=!0,this._cdkVirtualForTrackBy=e?(i,o)=>e(i+(this._renderedRange?this._renderedRange.start:0),o):void 0}set cdkVirtualForTemplate(e){e&&(this._needsUpdate=!0,this._template=e)}get cdkVirtualForTemplateCacheSize(){return this._viewRepeater.viewCacheSize}set cdkVirtualForTemplateCacheSize(e){this._viewRepeater.viewCacheSize=Rs(e)}constructor(e,i,o,r,s,a){this._viewContainerRef=e,this._template=i,this._differs=o,this._viewRepeater=r,this._viewport=s,this.viewChange=new V,this._dataSourceChanges=new V,this.dataStream=this._dataSourceChanges.pipe(gn(null),function tre(){return dn((t,n)=>{let e,i=!1;t.subscribe(Jt(n,o=>{const r=e;e=o,i&&n.next([r,o]),i=!0}))})}(),mn(([l,c])=>this._changeDataSource(l,c)),function nre(t,n,e){let i,o=!1;return t&&"object"==typeof t?({bufferSize:i=1/0,windowTime:n=1/0,refCount:o=!1,scheduler:e}=t):i=t??1/0,Cx({connector:()=>new fi(i,n,e),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:o})}(1)),this._differ=null,this._needsUpdate=!1,this._destroyed=new V,this.dataStream.subscribe(l=>{this._data=l,this._onRenderedDataChange()}),this._viewport.renderedRangeStream.pipe(P(this._destroyed)).subscribe(l=>{this._renderedRange=l,this.viewChange.observers.length&&a.run(()=>this.viewChange.next(this._renderedRange)),this._onRenderedDataChange()}),this._viewport.attach(this)}measureRangeSize(e,i){if(e.start>=e.end)return 0;const o=e.start-this._renderedRange.start,r=e.end-e.start;let s,a;for(let l=0;l-1;l--){const c=this._viewContainerRef.get(l+o);if(c&&c.rootNodes.length){a=c.rootNodes[c.rootNodes.length-1];break}}return s&&a?Gx(i,"end",a)-Gx(i,"start",s):0}ngDoCheck(){if(this._differ&&this._needsUpdate){const e=this._differ.diff(this._renderedItems);e?this._applyChanges(e):this._updateContext(),this._needsUpdate=!1}}ngOnDestroy(){this._viewport.detach(),this._dataSourceChanges.next(void 0),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete(),this._viewRepeater.detach()}_onRenderedDataChange(){this._renderedRange&&(this._renderedItems=this._data.slice(this._renderedRange.start,this._renderedRange.end),this._differ||(this._differ=this._differs.find(this._renderedItems).create((e,i)=>this.cdkVirtualForTrackBy?this.cdkVirtualForTrackBy(e,i):i)),this._needsUpdate=!0)}_changeDataSource(e,i){return e&&e.disconnect(this),this._needsUpdate=!0,i?i.connect(this):Ge()}_updateContext(){const e=this._data.length;let i=this._viewContainerRef.length;for(;i--;){const o=this._viewContainerRef.get(i);o.context.index=this._renderedRange.start+i,o.context.count=e,this._updateComputedContextProperties(o.context),o.detectChanges()}}_applyChanges(e){this._viewRepeater.applyChanges(e,this._viewContainerRef,(r,s,a)=>this._getEmbeddedViewArgs(r,a),r=>r.item),e.forEachIdentityChange(r=>{this._viewContainerRef.get(r.currentIndex).context.$implicit=r.item});const i=this._data.length;let o=this._viewContainerRef.length;for(;o--;){const r=this._viewContainerRef.get(o);r.context.index=this._renderedRange.start+o,r.context.count=i,this._updateComputedContextProperties(r.context)}}_updateComputedContextProperties(e){e.first=0===e.index,e.last=e.index===e.count-1,e.even=e.index%2==0,e.odd=!e.even}_getEmbeddedViewArgs(e,i){return{templateRef:this._template,context:{$implicit:e.item,cdkVirtualForOf:this._cdkVirtualForOf,index:-1,count:-1,first:!1,last:!1,odd:!1,even:!1},index:i}}static#e=this.\u0275fac=function(i){return new(i||t)(v(qn),v(qt),v(K0),v(Hx),v(E1,4),v(Me))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkVirtualFor","","cdkVirtualForOf",""]],inputs:{cdkVirtualForOf:"cdkVirtualForOf",cdkVirtualForTrackBy:"cdkVirtualForTrackBy",cdkVirtualForTemplate:"cdkVirtualForTemplate",cdkVirtualForTemplateCacheSize:"cdkVirtualForTemplateCacheSize"},standalone:!0,features:[et([{provide:Hx,useClass:sre}])]})}return t})(),w7=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})(),C7=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[b3,w7,b3,w7]})}return t})();function On(...t){const n=_u(t),e=function B$(t,n){return"number"==typeof hg(t)?t.pop():n}(t,1/0),i=t;return i.length?1===i.length?Pi(i[0]):s1(e)(ni(i,n)):_o}function c2(t,...n){return n.length?n.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const Kx=rE();class kre{constructor(n,e){this._viewportRuler=n,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const n=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=n.style.left||"",this._previousHTMLStyles.top=n.style.top||"",n.style.left=ri(-this._previousScrollPosition.left),n.style.top=ri(-this._previousScrollPosition.top),n.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const n=this._document.documentElement,i=n.style,o=this._document.body.style,r=i.scrollBehavior||"",s=o.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,n.classList.remove("cdk-global-scrollblock"),Kx&&(i.scrollBehavior=o.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Kx&&(i.scrollBehavior=r,o.scrollBehavior=s)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const e=this._document.body,i=this._viewportRuler.getViewportSize();return e.scrollHeight>i.height||e.scrollWidth>i.width}}class Ire{constructor(n,e,i,o){this._scrollDispatcher=n,this._ngZone=e,this._viewportRuler=i,this._config=o,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(n){this._overlayRef=n}enable(){if(this._scrollSubscription)return;const n=this._scrollDispatcher.scrolled(0).pipe(yt(e=>!e||!this._overlayRef.overlayElement.contains(e.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=n.subscribe(()=>{const e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=n.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class $x{enable(){}disable(){}attach(){}}function z7(t,n){return n.some(e=>t.bottome.bottom||t.righte.right)}function Jx(t,n){return n.some(e=>t.tope.bottom||t.lefte.right)}class Ore{constructor(n,e,i,o){this._scrollDispatcher=n,this._viewportRuler=e,this._ngZone=i,this._config=o,this._scrollSubscription=null}attach(n){this._overlayRef=n}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:o}=this._viewportRuler.getViewportSize();z7(e,[{width:i,height:o,bottom:o,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let Pre=(()=>{class t{constructor(e,i,o,r){this._scrollDispatcher=e,this._viewportRuler=i,this._ngZone=o,this.noop=()=>new $x,this.close=s=>new Ire(this._scrollDispatcher,this._ngZone,this._viewportRuler,s),this.block=()=>new kre(this._viewportRuler,this._document),this.reposition=s=>new Ore(this._scrollDispatcher,this._viewportRuler,this._ngZone,s),this._document=r}static#e=this.\u0275fac=function(i){return new(i||t)(R(s2),R(a2),R(Me),R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();class A7{constructor(n){if(this.scrollStrategy=new $x,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,n){const e=Object.keys(n);for(const i of e)void 0!==n[i]&&(this[i]=n[i])}}}class Fn{constructor(n,e,i,o,r){this.offsetX=i,this.offsetY=o,this.panelClass=r,this.originX=n.originX,this.originY=n.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class Vre{constructor(n,e){this.connectionPair=n,this.scrollableViewProperties=e}}let Zx=(()=>{class t{constructor(e){this._attachedOverlays=[],this._document=e}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){const i=this._attachedOverlays.indexOf(e);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Nre=(()=>{class t extends Zx{constructor(e,i){super(e),this._ngZone=i,this._keydownListener=o=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){const a=r[s]._keydownEvents;this._ngZone?this._ngZone.run(()=>a.next(o)):a.next(o);break}}}add(e){super.add(e),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt),R(Me,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Fre=(()=>{class t extends Zx{constructor(e,i,o){super(e),this._platform=i,this._ngZone=o,this._cursorStyleIsSet=!1,this._pointerDownListener=r=>{this._pointerDownEventTarget=Po(r)},this._clickListener=r=>{const s=Po(r),a="click"===r.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:s;this._pointerDownEventTarget=null;const l=this._attachedOverlays.slice();for(let c=l.length-1;c>-1;c--){const u=l[c];if(u._outsidePointerEvents.observers.length<1||!u.hasAttached())continue;if(Xx(u.overlayElement,s)||Xx(u.overlayElement,a))break;const p=u._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>p.next(r)):p.next(r)}}}add(e){if(super.add(e),!this._isAttached){const i=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(i)):this._addEventListeners(i),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const e=this._document.body;e.removeEventListener("pointerdown",this._pointerDownListener,!0),e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(e){e.addEventListener("pointerdown",this._pointerDownListener,!0),e.addEventListener("click",this._clickListener,!0),e.addEventListener("auxclick",this._clickListener,!0),e.addEventListener("contextmenu",this._clickListener,!0)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt),R(Qn),R(Me,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Xx(t,n){const e=typeof ShadowRoot<"u"&&ShadowRoot;let i=n;for(;i;){if(i===t)return!0;i=e&&i instanceof ShadowRoot?i.host:i.parentNode}return!1}let ek=(()=>{class t{constructor(e,i){this._platform=i,this._document=e}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const e="cdk-overlay-container";if(this._platform.isBrowser||sE()){const o=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let r=0;rthis._backdropClick.next(b),this._backdropTransitionendHandler=b=>{this._disposeBackdrop(b.target)},this._keydownEvents=new V,this._outsidePointerEvents=new V,this._renders=new V,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy,this._afterRenderRef=Om(()=>function _w(t,n){!n&&bh();const e=n?.injector??G(tn);if(!xo(e))return bw;mo("NgAfterRender");const i=e.get(Bd),o=i.handler??=new ww,r=n?.phase??ia.MixedReadWrite,s=()=>{o.unregister(l),a()},a=e.get(yc).onDestroy(s),l=Er(e,()=>new yw(r,t));return o.register(l),{destroy:s}}(()=>{this._renders.next()},{injector:this._injector}))}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(n){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const e=this._portalOutlet.attach(n);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),Xa(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof e?.onDestroy&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const n=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){const n=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,n&&this._detachments.next(),this._detachments.complete(),this._afterRenderRef.destroy(),this._renders.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(n){n!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=n,this.hasAttached()&&(n.attach(this),this.updatePosition()))}updateSize(n){this._config={...this._config,...n},this._updateElementSize()}setDirection(n){this._config={...this._config,direction:n},this._updateElementDirection()}addPanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!0)}removePanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!1)}getDirection(){const n=this._config.direction;return n?"string"==typeof n?n:n.value:"ltr"}updateScrollStrategy(n){n!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=n,this.hasAttached()&&(n.attach(this),n.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const n=this._pane.style;n.width=ri(this._config.width),n.height=ri(this._config.height),n.minWidth=ri(this._config.minWidth),n.minHeight=ri(this._config.minHeight),n.maxWidth=ri(this._config.maxWidth),n.maxHeight=ri(this._config.maxHeight)}_togglePointerEvents(n){this._pane.style.pointerEvents=n?"":"none"}_attachBackdrop(){const n="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(n)})}):this._backdropElement.classList.add(n)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const n=this._backdropElement;if(n){if(this._animationsDisabled)return void this._disposeBackdrop(n);n.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{n.addEventListener("transitionend",this._backdropTransitionendHandler)}),n.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(n)},500))}}_toggleClasses(n,e,i){const o=Wu(e||[]).filter(r=>!!r);o.length&&(i?n.classList.add(...o):n.classList.remove(...o))}_detachContentWhenEmpty(){this._ngZone.runOutsideAngular(()=>{const n=this._renders.pipe(P(On(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),n.unsubscribe())})})}_disposeScrollStrategy(){const n=this._scrollStrategy;n&&(n.disable(),n.detach&&n.detach())}_disposeBackdrop(n){n&&(n.removeEventListener("click",this._backdropClickHandler),n.removeEventListener("transitionend",this._backdropTransitionendHandler),n.remove(),this._backdropElement===n&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const tk="cdk-overlay-connected-position-bounding-box",Rre=/([A-Za-z%]+)$/;class Lre{get positions(){return this._preferredPositions}constructor(n,e,i,o,r){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=r,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new V,this._resizeSubscription=Ft.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(n)}attach(n){this._validatePositions(),n.hostElement.classList.add(tk),this._overlayRef=n,this._boundingBox=n.hostElement,this._pane=n.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const n=this._originRect,e=this._overlayRect,i=this._viewportRect,o=this._containerRect,r=[];let s;for(let a of this._preferredPositions){let l=this._getOriginPoint(n,o,a),c=this._getOverlayPoint(l,e,a),u=this._getOverlayFit(c,e,i,a);if(u.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(a,l);this._canFitWithFlexibleDimensions(u,c,i)?r.push({position:a,origin:l,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(l,a)}):(!s||s.overlayFit.visibleAreal&&(l=u,a=c)}return this._isPushed=!1,void this._applyPosition(a.position,a.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&Al(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(tk),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const n=this._lastPosition;if(n){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const e=this._getOriginPoint(this._originRect,this._containerRect,n);this._applyPosition(n,e)}else this.apply()}withScrollableContainers(n){return this._scrollables=n,this}withPositions(n){return this._preferredPositions=n,-1===n.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(n){return this._viewportMargin=n,this}withFlexibleDimensions(n=!0){return this._hasFlexibleDimensions=n,this}withGrowAfterOpen(n=!0){return this._growAfterOpen=n,this}withPush(n=!0){return this._canPush=n,this}withLockedPosition(n=!0){return this._positionLocked=n,this}setOrigin(n){return this._origin=n,this}withDefaultOffsetX(n){return this._offsetX=n,this}withDefaultOffsetY(n){return this._offsetY=n,this}withTransformOriginOn(n){return this._transformOriginSelector=n,this}_getOriginPoint(n,e,i){let o,r;if("center"==i.originX)o=n.left+n.width/2;else{const s=this._isRtl()?n.right:n.left,a=this._isRtl()?n.left:n.right;o="start"==i.originX?s:a}return e.left<0&&(o-=e.left),r="center"==i.originY?n.top+n.height/2:"top"==i.originY?n.top:n.bottom,e.top<0&&(r-=e.top),{x:o,y:r}}_getOverlayPoint(n,e,i){let o,r;return o="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height,{x:n.x+o,y:n.y+r}}_getOverlayFit(n,e,i,o){const r=ik(e);let{x:s,y:a}=n,l=this._getOffset(o,"x"),c=this._getOffset(o,"y");l&&(s+=l),c&&(a+=c);let b=0-a,_=a+r.height-i.height,y=this._subtractOverflows(r.width,0-s,s+r.width-i.width),z=this._subtractOverflows(r.height,b,_),E=y*z;return{visibleArea:E,isCompletelyWithinViewport:r.width*r.height===E,fitsInViewportVertically:z===r.height,fitsInViewportHorizontally:y==r.width}}_canFitWithFlexibleDimensions(n,e,i){if(this._hasFlexibleDimensions){const o=i.bottom-e.y,r=i.right-e.x,s=nk(this._overlayRef.getConfig().minHeight),a=nk(this._overlayRef.getConfig().minWidth);return(n.fitsInViewportVertically||null!=s&&s<=o)&&(n.fitsInViewportHorizontally||null!=a&&a<=r)}return!1}_pushOverlayOnScreen(n,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:n.x+this._previousPushAmount.x,y:n.y+this._previousPushAmount.y};const o=ik(e),r=this._viewportRect,s=Math.max(n.x+o.width-r.width,0),a=Math.max(n.y+o.height-r.height,0),l=Math.max(r.top-i.top-n.y,0),c=Math.max(r.left-i.left-n.x,0);let u=0,p=0;return u=o.width<=r.width?c||-s:n.xy&&!this._isInitialRender&&!this._growAfterOpen&&(s=n.y-y/2)}if("end"===e.overlayX&&!o||"start"===e.overlayX&&o)b=i.width-n.x+2*this._viewportMargin,u=n.x-this._viewportMargin;else if("start"===e.overlayX&&!o||"end"===e.overlayX&&o)p=n.x,u=i.right-n.x;else{const _=Math.min(i.right-n.x+i.left,n.x),y=this._lastBoundingBoxSize.width;u=2*_,p=n.x-_,u>y&&!this._isInitialRender&&!this._growAfterOpen&&(p=n.x-y/2)}return{top:s,left:p,bottom:a,right:b,width:u,height:r}}_setBoundingBoxStyles(n,e){const i=this._calculateBoundingBoxRect(n,e);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const o={};if(this._hasExactPosition())o.top=o.left="0",o.bottom=o.right=o.maxHeight=o.maxWidth="",o.width=o.height="100%";else{const r=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;o.height=ri(i.height),o.top=ri(i.top),o.bottom=ri(i.bottom),o.width=ri(i.width),o.left=ri(i.left),o.right=ri(i.right),o.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",o.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",r&&(o.maxHeight=ri(r)),s&&(o.maxWidth=ri(s))}this._lastBoundingBoxSize=i,Al(this._boundingBox.style,o)}_resetBoundingBoxStyles(){Al(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){Al(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(n,e){const i={},o=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(o){const u=this._viewportRuler.getViewportScrollPosition();Al(i,this._getExactOverlayY(e,n,u)),Al(i,this._getExactOverlayX(e,n,u))}else i.position="static";let a="",l=this._getOffset(e,"x"),c=this._getOffset(e,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),s.maxHeight&&(o?i.maxHeight=ri(s.maxHeight):r&&(i.maxHeight="")),s.maxWidth&&(o?i.maxWidth=ri(s.maxWidth):r&&(i.maxWidth="")),Al(this._pane.style,i)}_getExactOverlayY(n,e,i){let o={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i)),"bottom"===n.overlayY?o.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":o.top=ri(r.y),o}_getExactOverlayX(n,e,i){let s,o={left:"",right:""},r=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i)),s=this._isRtl()?"end"===n.overlayX?"left":"right":"end"===n.overlayX?"right":"left","right"===s?o.right=this._document.documentElement.clientWidth-(r.x+this._overlayRect.width)+"px":o.left=ri(r.x),o}_getScrollVisibility(){const n=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(o=>o.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Jx(n,i),isOriginOutsideView:z7(n,i),isOverlayClipped:Jx(e,i),isOverlayOutsideView:z7(e,i)}}_subtractOverflows(n,...e){return e.reduce((i,o)=>i-Math.max(o,0),n)}_getNarrowedViewportRect(){const n=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+n-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:n-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(n,e){return"x"===e?null==n.offsetX?this._offsetX:n.offsetX:null==n.offsetY?this._offsetY:n.offsetY}_validatePositions(){}_addPanelClasses(n){this._pane&&Wu(n).forEach(e=>{""!==e&&-1===this._appliedPanelClasses.indexOf(e)&&(this._appliedPanelClasses.push(e),this._pane.classList.add(e))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(n=>{this._pane.classList.remove(n)}),this._appliedPanelClasses=[])}_getOriginRect(){const n=this._origin;if(n instanceof Se)return n.nativeElement.getBoundingClientRect();if(n instanceof Element)return n.getBoundingClientRect();const e=n.width||0,i=n.height||0;return{top:n.y,bottom:n.y+i,left:n.x,right:n.x+e,height:i,width:e}}}function Al(t,n){for(let e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t}function nk(t){if("number"!=typeof t&&null!=t){const[n,e]=t.split(Rre);return e&&"px"!==e?null:parseFloat(n)}return t||null}function ik(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}const ok="cdk-global-overlay-wrapper";class Hre{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(n){const e=n.getConfig();this._overlayRef=n,this._width&&!e.width&&n.updateSize({width:this._width}),this._height&&!e.height&&n.updateSize({height:this._height}),n.hostElement.classList.add(ok),this._isDisposed=!1}top(n=""){return this._bottomOffset="",this._topOffset=n,this._alignItems="flex-start",this}left(n=""){return this._xOffset=n,this._xPosition="left",this}bottom(n=""){return this._topOffset="",this._bottomOffset=n,this._alignItems="flex-end",this}right(n=""){return this._xOffset=n,this._xPosition="right",this}start(n=""){return this._xOffset=n,this._xPosition="start",this}end(n=""){return this._xOffset=n,this._xPosition="end",this}width(n=""){return this._overlayRef?this._overlayRef.updateSize({width:n}):this._width=n,this}height(n=""){return this._overlayRef?this._overlayRef.updateSize({height:n}):this._height=n,this}centerHorizontally(n=""){return this.left(n),this._xPosition="center",this}centerVertically(n=""){return this.top(n),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:o,height:r,maxWidth:s,maxHeight:a}=i,l=!("100%"!==o&&"100vw"!==o||s&&"100%"!==s&&"100vw"!==s),c=!("100%"!==r&&"100vh"!==r||a&&"100%"!==a&&"100vh"!==a),u=this._xPosition,p=this._xOffset,b="rtl"===this._overlayRef.getConfig().direction;let _="",y="",z="";l?z="flex-start":"center"===u?(z="center",b?y=p:_=p):b?"left"===u||"end"===u?(z="flex-end",_=p):("right"===u||"start"===u)&&(z="flex-start",y=p):"left"===u||"start"===u?(z="flex-start",_=p):("right"===u||"end"===u)&&(z="flex-end",y=p),n.position=this._cssPosition,n.marginLeft=l?"0":_,n.marginTop=c?"0":this._topOffset,n.marginBottom=this._bottomOffset,n.marginRight=l?"0":y,e.justifyContent=z,e.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(ok),i.justifyContent=i.alignItems=n.marginTop=n.marginBottom=n.marginLeft=n.marginRight=n.position="",this._overlayRef=null,this._isDisposed=!0}}let jre=(()=>{class t{constructor(e,i,o,r){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=r}global(){return new Hre}flexibleConnectedTo(e){return new Lre(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}static#e=this.\u0275fac=function(i){return new(i||t)(R(a2),R(Pt),R(Qn),R(ek))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Yre=0,ya=(()=>{class t{constructor(e,i,o,r,s,a,l,c,u,p,b,_){this.scrollStrategies=e,this._overlayContainer=i,this._componentFactoryResolver=o,this._positionBuilder=r,this._keyboardDispatcher=s,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=p,this._outsideClickDispatcher=b,this._animationsModuleType=_}create(e){const i=this._createHostElement(),o=this._createPaneElement(i),r=this._createPortalOutlet(o),s=new A7(e);return s.direction=s.direction||this._directionality.value,new G3(r,i,o,s,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType,this._injector.get(Li))}position(){return this._positionBuilder}_createPaneElement(e){const i=this._document.createElement("div");return i.id="cdk-overlay-"+Yre++,i.classList.add("cdk-overlay-pane"),e.appendChild(i),i}_createHostElement(){const e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}_createPortalOutlet(e){return this._appRef||(this._appRef=this._injector.get(Ko)),new _ne(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pre),R(ek),R(Pc),R(jre),R(Nre),R(tn),R(Me),R(Pt),R(Ct),R(o1),R(Fre),R(ta,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Ure=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],rk=new oe("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{const t=G(ya);return()=>t.scrollStrategies.reposition()}});let Sl=(()=>{class t{constructor(e){this.elementRef=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"],standalone:!0})}return t})(),Tl=(()=>{class t{get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}get disposeOnNavigation(){return this._disposeOnNavigation}set disposeOnNavigation(e){this._disposeOnNavigation=e}constructor(e,i,o,r,s){this._overlay=e,this._dir=s,this._backdropSubscription=Ft.EMPTY,this._attachSubscription=Ft.EMPTY,this._detachSubscription=Ft.EMPTY,this._positionSubscription=Ft.EMPTY,this._disposeOnNavigation=!1,this._ngZone=G(Me),this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.hasBackdrop=!1,this.lockPosition=!1,this.flexibleDimensions=!1,this.growAfterOpen=!1,this.push=!1,this.backdropClick=new B,this.positionChange=new B,this.attach=new B,this.detach=new B,this.overlayKeydown=new B,this.overlayOutsideClick=new B,this._templatePortal=new Ju(i,o),this._scrollStrategyFactory=r,this.scrollStrategy=this._scrollStrategyFactory()}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=Ure);const e=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=e.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=e.detachments().subscribe(()=>this.detach.emit()),e.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!c2(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{const o=this._getOriginElement(),r=Po(i);(!o||o!==r&&!o.contains(r))&&this.overlayOutsideClick.next(i)})}_buildConfig(){const e=this._position=this.positionStrategy||this._createPositionStrategy(),i=new A7({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop,disposeOnNavigation:this.disposeOnNavigation});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(e){const i=this.positions.map(o=>({originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||this.offsetX,offsetY:o.offsetY||this.offsetY,panelClass:o.panelClass||void 0}));return e.setOrigin(this._getOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const e=this._overlay.position().flexibleConnectedTo(this._getOrigin());return this._updatePositionStrategy(e),e}_getOrigin(){return this.origin instanceof Sl?this.origin.elementRef:this.origin}_getOriginElement(){return this.origin instanceof Sl?this.origin.elementRef.nativeElement:this.origin instanceof Se?this.origin.nativeElement:typeof Element<"u"&&this.origin instanceof Element?this.origin:null}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(e=>{this.backdropClick.emit(e)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(function gre(t,n=!1){return dn((e,i)=>{let o=0;e.subscribe(Jt(i,r=>{const s=t(r,o++);(s||n)&&i.next(r),!s&&i.complete()}))})}(()=>this.positionChange.observers.length>0)).subscribe(e=>{this._ngZone.run(()=>this.positionChange.emit(e)),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)(v(ya),v(qt),v(qn),v(rk),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:[0,"cdkConnectedOverlayOrigin","origin"],positions:[0,"cdkConnectedOverlayPositions","positions"],positionStrategy:[0,"cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:[0,"cdkConnectedOverlayOffsetX","offsetX"],offsetY:[0,"cdkConnectedOverlayOffsetY","offsetY"],width:[0,"cdkConnectedOverlayWidth","width"],height:[0,"cdkConnectedOverlayHeight","height"],minWidth:[0,"cdkConnectedOverlayMinWidth","minWidth"],minHeight:[0,"cdkConnectedOverlayMinHeight","minHeight"],backdropClass:[0,"cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:[0,"cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:[0,"cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:[0,"cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:[0,"cdkConnectedOverlayOpen","open"],disableClose:[0,"cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:[0,"cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:[2,"cdkConnectedOverlayHasBackdrop","hasBackdrop",I],lockPosition:[2,"cdkConnectedOverlayLockPosition","lockPosition",I],flexibleDimensions:[2,"cdkConnectedOverlayFlexibleDimensions","flexibleDimensions",I],growAfterOpen:[2,"cdkConnectedOverlayGrowAfterOpen","growAfterOpen",I],push:[2,"cdkConnectedOverlayPush","push",I],disposeOnNavigation:[2,"cdkConnectedOverlayDisposeOnNavigation","disposeOnNavigation",I]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],standalone:!0,features:[je,xe]})}return t})();const Gre={provide:rk,deps:[ya],useFactory:function Wre(t){return()=>t.scrollStrategies.reposition()}};let d2=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[ya,Gre],imports:[b3,z3,C7,C7]})}return t})();function qre(t,n){1&t&&A(0,"span",10)}function Qre(t,n){1&t&&A(0,"span",11)}function Kre(t,n){1&t&&A(0,"span",12)}function $re(t,n){1&t&&A(0,"span",13)}function Jre(t,n){1&t&&A(0,"span",14)}function Zre(t,n){if(1&t&&(Ye(0),A(1,"span",15),Ue()),2&t){const e=g();d(),h("innerHTML",e.instance.content,Gn)}}function Xre(t,n){if(1&t){const e=W();f(0,"nz-message",2),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)}let ese=0;class sk{constructor(n,e,i){this.nzSingletonService=n,this.overlay=e,this.injector=i}remove(n){this.container&&(n?this.container.remove(n):this.container.removeAll())}getInstanceId(){return`${this.componentPrefix}-${ese++}`}withContainer(n){let e=this.nzSingletonService.getSingletonWithKey(this.componentPrefix);if(e)return e;const i=this.overlay.create({hasBackdrop:!1,scrollStrategy:this.overlay.scrollStrategies.noop(),positionStrategy:this.overlay.position().global()}),o=new $u(n,null,this.injector),r=i.attach(o);return i.hostElement.style.zIndex="1010",e||(this.container=e=r.instance,this.nzSingletonService.registerSingletonWithKey(this.componentPrefix,e),this.container.afterAllInstancesRemoved.subscribe(()=>{this.container=void 0,this.nzSingletonService.unregisterSingletonWithKey(this.componentPrefix),i.dispose()})),e}}let ak=(()=>{class t{constructor(e,i){this.cdr=e,this.nzConfigService=i,this.instances=[],this._afterAllInstancesRemoved=new V,this.afterAllInstancesRemoved=this._afterAllInstancesRemoved.asObservable(),this.destroy$=new V,this.updateConfig()}ngOnInit(){this.subscribeConfigChange()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}create(e){const i=this.onCreate(e);return this.instances.length>=this.config.nzMaxStack&&(this.instances=this.instances.slice(1)),this.instances=[...this.instances,i],this.readyInstances(),i}remove(e,i=!1){this.instances.map((o,r)=>({index:r,instance:o})).filter(({instance:o})=>o.messageId===e).forEach(({index:o,instance:r})=>{this.instances.splice(o,1),this.instances=[...this.instances],this.onRemove(r,i),this.readyInstances()}),this.instances.length||this.onAllInstancesRemoved()}removeAll(){this.instances.forEach(e=>this.onRemove(e,!1)),this.instances=[],this.readyInstances(),this.onAllInstancesRemoved()}onCreate(e){return e.options=this.mergeOptions(e.options),e.onClose=new V,e}onRemove(e,i){e.onClose.next(i),e.onClose.complete()}onAllInstancesRemoved(){this._afterAllInstancesRemoved.next(),this._afterAllInstancesRemoved.complete()}readyInstances(){this.cdr.detectChanges()}mergeOptions(e){const{nzDuration:i,nzAnimate:o,nzPauseOnHover:r}=this.config;return{nzDuration:i,nzAnimate:o,nzPauseOnHover:r,...e}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(si))};static#t=this.\u0275dir=de({type:t})}return t})(),lk=(()=>{class t{constructor(e){this.cdr=e,this.destroyed=new B,this.animationStateChanged=new V,this.userAction=!1}ngOnInit(){this.options=this.instance.options,this.options.nzAnimate&&(this.instance.state="enter",this.animationStateChanged.pipe(yt(e=>"done"===e.phaseName&&"leave"===e.toState),io(1)).subscribe(()=>{clearTimeout(this.closeTimer),this.destroyed.next({id:this.instance.messageId,userAction:this.userAction})})),this.autoClose=this.options.nzDuration>0,this.autoClose&&(this.initErase(),this.startEraseTimeout())}ngOnDestroy(){this.autoClose&&this.clearEraseTimeout(),this.animationStateChanged.complete()}onEnter(){this.autoClose&&this.options.nzPauseOnHover&&(this.clearEraseTimeout(),this.updateTTL())}onLeave(){this.autoClose&&this.options.nzPauseOnHover&&this.startEraseTimeout()}destroy(e=!1){this.userAction=e,this.options.nzAnimate?(this.instance.state="leave",this.cdr.detectChanges(),this.closeTimer=setTimeout(()=>{this.closeTimer=void 0,this.destroyed.next({id:this.instance.messageId,userAction:e})},200)):this.destroyed.next({id:this.instance.messageId,userAction:e})}initErase(){this.eraseTTL=this.options.nzDuration,this.eraseTimingStart=Date.now()}updateTTL(){this.autoClose&&(this.eraseTTL-=Date.now()-this.eraseTimingStart)}startEraseTimeout(){this.eraseTTL>0?(this.clearEraseTimeout(),this.eraseTimer=setTimeout(()=>this.destroy(),this.eraseTTL),this.eraseTimingStart=Date.now()):this.destroy()}clearEraseTimeout(){null!==this.eraseTimer&&(clearTimeout(this.eraseTimer),this.eraseTimer=void 0)}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275dir=de({type:t})}return t})(),ck=(()=>{class t extends lk{constructor(e){super(e),this.destroyed=new B}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-message"]],inputs:{instance:"instance"},outputs:{destroyed:"destroyed"},exportAs:["nzMessage"],standalone:!0,features:[mt,me],decls:10,vars:9,consts:[[1,"ant-message-notice",3,"mouseenter","mouseleave"],[1,"ant-message-notice-content"],[1,"ant-message-custom-content",3,"ngClass"],[3,"ngSwitch"],["nz-icon","","nzType","check-circle",4,"ngSwitchCase"],["nz-icon","","nzType","info-circle",4,"ngSwitchCase"],["nz-icon","","nzType","exclamation-circle",4,"ngSwitchCase"],["nz-icon","","nzType","close-circle",4,"ngSwitchCase"],["nz-icon","","nzType","loading",4,"ngSwitchCase"],[4,"nzStringTemplateOutlet"],["nz-icon","","nzType","check-circle"],["nz-icon","","nzType","info-circle"],["nz-icon","","nzType","exclamation-circle"],["nz-icon","","nzType","close-circle"],["nz-icon","","nzType","loading"],[3,"innerHTML"]],template:function(i,o){1&i&&(f(0,"div",0),M("@moveUpMotion.done",function(s){return o.animationStateChanged.next(s)})("mouseenter",function(){return o.onEnter()})("mouseleave",function(){return o.onLeave()}),f(1,"div",1)(2,"div",2),Ye(3,3),C(4,qre,1,0,"span",4)(5,Qre,1,0,"span",5)(6,Kre,1,0,"span",6)(7,$re,1,0,"span",7)(8,Jre,1,0,"span",8),Ue(),C(9,Zre,2,1,"ng-container",9),m()()()),2&i&&(h("@moveUpMotion",o.instance.state),d(2),h("ngClass","ant-message-"+o.instance.type),d(),h("ngSwitch",o.instance.type),d(),h("ngSwitchCase","success"),d(),h("ngSwitchCase","info"),d(),h("ngSwitchCase","warning"),d(),h("ngSwitchCase","error"),d(),h("ngSwitchCase","loading"),d(),h("nzStringTemplateOutlet",o.instance.content))},dependencies:[Jo,cl,fu,In,ln,Sn,An],encapsulation:2,data:{animation:[Gne]},changeDetection:0})}return t})();const q3="message",tse={nzAnimate:!0,nzDuration:3e3,nzMaxStack:7,nzPauseOnHover:!0,nzTop:24,nzDirection:"ltr"};let dk=(()=>{class t extends ak{constructor(e,i){super(e,i),this.dir="ltr";const o=this.nzConfigService.getConfigForComponent(q3);this.dir=o?.nzDirection||"ltr"}subscribeConfigChange(){this.nzConfigService.getConfigChangeEventForComponent(q3).pipe(P(this.destroy$)).subscribe(()=>{this.updateConfig();const e=this.nzConfigService.getConfigForComponent(q3);if(e){const{nzDirection:i}=e;this.dir=i||this.dir}})}updateConfig(){this.config={...tse,...this.config,...this.nzConfigService.getConfigForComponent(q3)},this.top=M1(this.config.nzTop),this.cdr.markForCheck()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(si))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-message-container"]],exportAs:["nzMessageContainer"],standalone:!0,features:[mt,me],decls:2,vars:5,consts:[[1,"ant-message"],[3,"instance","destroyed",4,"ngFor","ngForOf"],[3,"destroyed","instance"]],template:function(i,o){1&i&&(f(0,"div",0),C(1,Xre,1,1,"nz-message",1),m()),2&i&&(Lt("top",o.top),Z("ant-message-rtl","rtl"===o.dir),d(),h("ngForOf",o.instances))},dependencies:[ck,zn],encapsulation:2,changeDetection:0})}return t})(),nse=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[dk,ck]})}return t})(),er=(()=>{class t extends sk{constructor(e,i,o){super(e,i,o),this.componentPrefix="message-"}success(e,i){return this.createInstance({type:"success",content:e},i)}error(e,i){return this.createInstance({type:"error",content:e},i)}info(e,i){return this.createInstance({type:"info",content:e},i)}warning(e,i){return this.createInstance({type:"warning",content:e},i)}loading(e,i){return this.createInstance({type:"loading",content:e},i)}create(e,i,o){return this.createInstance({type:e,content:i},o)}createInstance(e,i){return this.container=this.withContainer(dk),this.container.create({...e,createdAt:new Date,messageId:this.getInstanceId(),options:i})}static#e=this.\u0275fac=function(i){return new(i||t)(R(cE),R(ya),R(tn))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Kt={top:new Fn({originX:"center",originY:"top"},{overlayX:"center",overlayY:"bottom"}),topCenter:new Fn({originX:"center",originY:"top"},{overlayX:"center",overlayY:"bottom"}),topLeft:new Fn({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"}),topRight:new Fn({originX:"end",originY:"top"},{overlayX:"end",overlayY:"bottom"}),right:new Fn({originX:"end",originY:"center"},{overlayX:"start",overlayY:"center"}),rightTop:new Fn({originX:"end",originY:"top"},{overlayX:"start",overlayY:"top"}),rightBottom:new Fn({originX:"end",originY:"bottom"},{overlayX:"start",overlayY:"bottom"}),bottom:new Fn({originX:"center",originY:"bottom"},{overlayX:"center",overlayY:"top"}),bottomCenter:new Fn({originX:"center",originY:"bottom"},{overlayX:"center",overlayY:"top"}),bottomLeft:new Fn({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"top"}),bottomRight:new Fn({originX:"end",originY:"bottom"},{overlayX:"end",overlayY:"top"}),left:new Fn({originX:"start",originY:"center"},{overlayX:"end",overlayY:"center"}),leftTop:new Fn({originX:"start",originY:"top"},{overlayX:"end",overlayY:"top"}),leftBottom:new Fn({originX:"start",originY:"bottom"},{overlayX:"end",overlayY:"bottom"})},uk=[Kt.top,Kt.right,Kt.bottom,Kt.left];function Q3(t){for(const n in Kt)if(t.connectionPair.originX===Kt[n].originX&&t.connectionPair.originY===Kt[n].originY&&t.connectionPair.overlayX===Kt[n].overlayX&&t.connectionPair.overlayY===Kt[n].overlayY)return n}new Fn({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"bottom"}),new Fn({originX:"start",originY:"bottom"},{overlayX:"end",overlayY:"bottom"}),new Fn({originX:"start",originY:"bottom"},{overlayX:"end",overlayY:"top"}),new Fn({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"top"},void 0,2),new Fn({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"},void 0,-2),new Fn({originX:"end",originY:"bottom"},{overlayX:"end",overlayY:"top"},void 0,2),new Fn({originX:"end",originY:"top"},{overlayX:"end",overlayY:"bottom"},void 0,-2);let $3=(()=>{class t{constructor(e,i){this.cdkConnectedOverlay=e,this.nzDestroyService=i,this.nzArrowPointAtCenter=!1,this.cdkConnectedOverlay.backdropClass="nz-overlay-transparent-backdrop",this.cdkConnectedOverlay.positionChange.pipe(P(this.nzDestroyService)).subscribe(o=>{this.nzArrowPointAtCenter&&this.updateArrowPosition(o)})}updateArrowPosition(e){const i=this.getOriginRect(),o=Q3(e);let r=0,s=0;"topLeft"===o||"bottomLeft"===o?r=i.width/2-14:"topRight"===o||"bottomRight"===o?r=-(i.width/2-14):"leftTop"===o||"rightTop"===o?s=i.height/2-10:("leftBottom"===o||"rightBottom"===o)&&(s=-(i.height/2-10)),(this.cdkConnectedOverlay.offsetX!==r||this.cdkConnectedOverlay.offsetY!==s)&&(this.cdkConnectedOverlay.offsetY=s,this.cdkConnectedOverlay.offsetX=r,this.cdkConnectedOverlay.overlayRef.updatePosition())}getFlexibleConnectedPositionStrategyOrigin(){return this.cdkConnectedOverlay.origin instanceof Sl?this.cdkConnectedOverlay.origin.elementRef:this.cdkConnectedOverlay.origin}getOriginRect(){const e=this.getFlexibleConnectedPositionStrategyOrigin();if(e instanceof Se)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const i=e.width||0,o=e.height||0;return{top:e.y,bottom:e.y+o,left:e.x,right:e.x+i,height:o,width:i}}static#e=this.\u0275fac=function(i){return new(i||t)(v(Tl),v(Vo))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkConnectedOverlay","","nzConnectedOverlay",""]],inputs:{nzArrowPointAtCenter:[2,"nzArrowPointAtCenter","nzArrowPointAtCenter",I]},exportAs:["nzConnectedOverlay"],features:[et([Vo]),je]})}return t})(),u2=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})(),mi=(()=>{class t{setHiddenAttribute(){this.hidden?this.renderer.setAttribute(this.elementRef.nativeElement,"hidden","string"==typeof this.hidden?this.hidden:""):this.renderer.removeAttribute(this.elementRef.nativeElement,"hidden")}constructor(e,i){this.elementRef=e,this.renderer=i,this.hidden=null,this.renderer.setAttribute(this.elementRef.nativeElement,"hidden","")}ngOnChanges(){this.setHiddenAttribute()}ngAfterViewInit(){this.setHiddenAttribute()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-button",""],["nz-button-group"],["","nz-icon",""],["","nz-menu-item",""],["","nz-submenu",""],["nz-select-top-control"],["nz-select-placeholder"],["nz-input-group"]],inputs:{hidden:"hidden"},standalone:!0,features:[xe]})}return t})(),ose=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();class rse{get waveAttributeName(){return this.insertExtraNode?"ant-click-animating":"ant-click-animating-without-extra-node"}constructor(n,e,i,o,r){this.triggerElement=n,this.ngZone=e,this.insertExtraNode=i,this.platformId=o,this.cspNonce=r,this.waveTransitionDuration=400,this.styleForPseudo=null,this.extraNode=null,this.lastTime=0,this.onClick=s=>{!this.triggerElement||!this.triggerElement.getAttribute||this.triggerElement.getAttribute("disabled")||"INPUT"===s.target.tagName||this.triggerElement.className.indexOf("disabled")>=0||this.fadeOutWave()},this.platform=new Qn(this.platformId),this.clickHandler=this.onClick.bind(this),this.bindTriggerEvent()}bindTriggerEvent(){this.platform.isBrowser&&this.ngZone.runOutsideAngular(()=>{this.removeTriggerEvent(),this.triggerElement&&this.triggerElement.addEventListener("click",this.clickHandler,!0)})}removeTriggerEvent(){this.triggerElement&&this.triggerElement.removeEventListener("click",this.clickHandler,!0)}removeStyleAndExtraNode(){this.styleForPseudo&&document.body.contains(this.styleForPseudo)&&(document.body.removeChild(this.styleForPseudo),this.styleForPseudo=null),this.insertExtraNode&&this.triggerElement.contains(this.extraNode)&&this.triggerElement.removeChild(this.extraNode)}destroy(){this.removeTriggerEvent(),this.removeStyleAndExtraNode()}fadeOutWave(){const n=this.triggerElement,e=this.getWaveColor(n);n.setAttribute(this.waveAttributeName,"true"),!(Date.now(){n.removeAttribute(this.waveAttributeName),this.removeStyleAndExtraNode()},this.waveTransitionDuration))}isValidColor(n){return!!n&&"#ffffff"!==n&&"rgb(255, 255, 255)"!==n&&this.isNotGrey(n)&&!/rgba\(\d*, \d*, \d*, 0\)/.test(n)&&"transparent"!==n}isNotGrey(n){const e=n.match(/rgba?\((\d*), (\d*), (\d*)(, [\.\d]*)?\)/);return!(e&&e[1]&&e[2]&&e[3]&&e[1]===e[2]&&e[2]===e[3])}getWaveColor(n){const e=getComputedStyle(n);return e.getPropertyValue("border-top-color")||e.getPropertyValue("border-color")||e.getPropertyValue("background-color")}runTimeoutOutsideZone(n,e){this.ngZone.runOutsideAngular(()=>setTimeout(n,e))}}const sse={disabled:!1},hk=new oe("nz-wave-global-options");function ase(t){return function nd(t){return{\u0275providers:t}}([{provide:hk,useValue:t}])}let tr=(()=>{class t{get disabled(){return this.waveDisabled}get rendererRef(){return this.waveRenderer}constructor(e,i,o,r,s,a){this.ngZone=e,this.elementRef=i,this.config=o,this.animationType=r,this.platformId=s,this.cspNonce=a,this.nzWaveExtraNode=!1,this.waveDisabled=!1,this.waveDisabled=this.isConfigDisabled()}isConfigDisabled(){let e=!1;return this.config&&"boolean"==typeof this.config.disabled&&(e=this.config.disabled),"NoopAnimations"===this.animationType&&(e=!0),e}ngOnDestroy(){this.waveRenderer&&this.waveRenderer.destroy()}ngOnInit(){this.renderWaveIfEnabled()}renderWaveIfEnabled(){!this.waveDisabled&&this.elementRef.nativeElement&&(this.waveRenderer=new rse(this.elementRef.nativeElement,this.ngZone,this.nzWaveExtraNode,this.platformId,this.cspNonce))}disable(){this.waveDisabled=!0,this.waveRenderer&&(this.waveRenderer.removeTriggerEvent(),this.waveRenderer.removeStyleAndExtraNode())}enable(){this.waveDisabled=this.isConfigDisabled()||!1,this.waveRenderer&&this.waveRenderer.bindTriggerEvent()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se),v(hk,8),v(ta,8),v(Pr),v(vd,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-wave",""],["button","nz-button","",3,"nzType","link",3,"nzType","text"]],inputs:{nzWaveExtraNode:"nzWaveExtraNode"},exportAs:["nzWave"],standalone:!0})}return t})(),pk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[ase(sse)]})}return t})();const lse=["nz-button",""],cse=["*"];function dse(t,n){1&t&&A(0,"span",0)}let nr=(()=>{class t{insertSpan(e,i){e.forEach(o=>{if("#text"===o.nodeName){const r=i.createElement("span"),s=i.parentNode(o);i.insertBefore(s,r,o),i.appendChild(r,o)}})}get iconOnly(){const e=Array.from(this.elementRef?.nativeElement?.childNodes||[]),i=e.every(r=>"#text"!==r.nodeName),o=0==e.filter(r=>!("#comment"===r.nodeName||r?.attributes?.getNamedItem("nz-icon"))).length;return!!this.nzIconDirectiveElement&&o&&i}constructor(e,i,o,r,s,a){this.ngZone=e,this.elementRef=i,this.cdr=o,this.renderer=r,this.nzConfigService=s,this.directionality=a,this._nzModuleName="button",this.nzBlock=!1,this.nzGhost=!1,this.nzSearch=!1,this.nzLoading=!1,this.nzDanger=!1,this.disabled=!1,this.tabIndex=null,this.nzType=null,this.nzShape=null,this.nzSize="default",this.dir="ltr",this.destroy$=new V,this.loading$=new V,this.nzConfigService.getConfigChangeEventForComponent("button").pipe(P(this.destroy$)).subscribe(()=>{this.cdr.markForCheck()})}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value,this.ngZone.runOutsideAngular(()=>{nn(this.elementRef.nativeElement,"click",{capture:!0}).pipe(P(this.destroy$)).subscribe(e=>{(this.disabled&&"A"===e.target?.tagName||this.nzLoading)&&(e.preventDefault(),e.stopImmediatePropagation())})})}ngOnChanges(e){const{nzLoading:i}=e;i&&this.loading$.next(this.nzLoading)}ngAfterViewInit(){this.insertSpan(this.elementRef.nativeElement.childNodes,this.renderer)}ngAfterContentInit(){this.loading$.pipe(gn(this.nzLoading),yt(()=>!!this.nzIconDirectiveElement),P(this.destroy$)).subscribe(e=>{const i=this.nzIconDirectiveElement.nativeElement;e?this.renderer.setStyle(i,"display","none"):this.renderer.removeStyle(i,"display")})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se),v(We),v(Yt),v(si),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["button","nz-button",""],["a","nz-button",""]],contentQueries:function(i,o,r){if(1&i&&fn(r,ln,5,Se),2&i){let s;ke(s=Ie())&&(o.nzIconDirectiveElement=s.first)}},hostAttrs:[1,"ant-btn"],hostVars:34,hostBindings:function(i,o){2&i&&(Ot("tabindex",o.disabled?-1:null===o.tabIndex?null:o.tabIndex)("disabled",o.disabled||null),Z("ant-btn-default","default"===o.nzType)("ant-btn-primary","primary"===o.nzType)("ant-btn-dashed","dashed"===o.nzType)("ant-btn-link","link"===o.nzType)("ant-btn-text","text"===o.nzType)("ant-btn-circle","circle"===o.nzShape)("ant-btn-round","round"===o.nzShape)("ant-btn-lg","large"===o.nzSize)("ant-btn-sm","small"===o.nzSize)("ant-btn-dangerous",o.nzDanger)("ant-btn-loading",o.nzLoading)("ant-btn-background-ghost",o.nzGhost)("ant-btn-block",o.nzBlock)("ant-input-search-button",o.nzSearch)("ant-btn-rtl","rtl"===o.dir)("ant-btn-icon-only",o.iconOnly))},inputs:{nzBlock:[2,"nzBlock","nzBlock",I],nzGhost:[2,"nzGhost","nzGhost",I],nzSearch:[2,"nzSearch","nzSearch",I],nzLoading:[2,"nzLoading","nzLoading",I],nzDanger:[2,"nzDanger","nzDanger",I],disabled:[2,"disabled","disabled",I],tabIndex:"tabIndex",nzType:"nzType",nzShape:"nzShape",nzSize:"nzSize"},exportAs:["nzButton"],standalone:!0,features:[je,xe,me],attrs:lse,ngContentSelectors:cse,decls:2,vars:1,consts:[["nz-icon","","nzType","loading"]],template:function(i,o){1&i&&(Et(),C(0,dse,1,0,"span",0),_t(1)),2&i&&he(o.nzLoading?0:-1)},dependencies:[In,ln],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzSize",void 0),t})(),h2=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[nr,ose,pk]})}return t})();class Fo{static#e=this.formats={B:{max:1024},kB:{max:Math.pow(1024,2),prev:"B"},KB:{max:Math.pow(1024,2),prev:"B"},MB:{max:Math.pow(1024,3),prev:"kB"},GB:{max:Math.pow(1024,4),prev:"MB"},TB:{max:Number.MAX_SAFE_INTEGER,prev:"GB"}};transform(n,e=0,i="B",o){if(!(fE(n)&&fE(e)&&e%1==0&&e>=0))return n;let r=n,s=i;for(;"B"!==s;)r*=1024,s=Fo.formats[s].prev;if(o){const l=mE(Fo.calculateResult(Fo.formats[o],r),e);return Fo.formatResult(l,o)}for(const a in Fo.formats)if(Fo.formats.hasOwnProperty(a)){const l=Fo.formats[a];if(r{class t{transform(e,i="px"){return"number"==typeof e?`${e}${i}`:e}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275pipe=jn({name:"nzToCssUnit",type:t,pure:!0,standalone:!0})}return t})(),mk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();const gk=["moz","ms","webkit"];function vk(t){if(typeof window>"u")return null;if(window.cancelAnimationFrame)return window.cancelAnimationFrame(t);const n=gk.filter(e=>`${e}CancelAnimationFrame`in window||`${e}CancelRequestAnimationFrame`in window)[0];return n?(window[`${n}CancelAnimationFrame`]||window[`${n}CancelRequestAnimationFrame`]).call(this,t):clearTimeout(t)}const p2=function pse(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const t=gk.filter(n=>`${n}RequestAnimationFrame`in window)[0];return t?window[`${t}RequestAnimationFrame`]:function hse(){let t=0;return function(n){const e=(new Date).getTime(),i=Math.max(0,16-(e-t)),o=window.setTimeout(()=>{n(e+i)},i);return t=e+i,o}}()}();let fse=(()=>{class t{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),mse=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[fse]})}return t})();class bse{constructor(n,e){this._items=n,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new V,this._typeaheadSubscription=Ft.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=i=>i.disabled,this._pressedLetters=[],this.tabOut=new V,this.change=new V,n instanceof Wa?this._itemChangesSubscription=n.changes.subscribe(i=>this._itemsChanged(i.toArray())):_0(n)&&(this._effectRef=function SS(t,n){mo("NgSignals"),!n?.injector&&bh();const e=n?.injector??G(tn),i=!0!==n?.manualCleanup?e.get(yc):null,o=new Pq(e.get(kq),t,typeof Zone>"u"?null:Zone.current,i,e,n?.allowSignalWrites??!1),r=e.get(We,null,{optional:!0});return r&&8&r._lView[Xe]?(r._lView[yh]??=[]).push(o.watcher.notify):o.watcher.notify(),o}(()=>this._itemsChanged(n()),{injector:e}))}skipPredicate(n){return this._skipPredicateFn=n,this}withWrap(n=!0){return this._wrap=n,this}withVerticalOrientation(n=!0){return this._vertical=n,this}withHorizontalOrientation(n){return this._horizontal=n,this}withAllowedModifierKeys(n){return this._allowedModifierKeys=n,this}withTypeAhead(n=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(ii(e=>this._pressedLetters.push(e)),g3(n),yt(()=>this._pressedLetters.length>0),Pe(()=>this._pressedLetters.join(""))).subscribe(e=>{const i=this._getItemsArray();for(let o=1;o!n[r]||this._allowedModifierKeys.indexOf(r)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&o){this.setNextItemActive();break}return;case 38:if(this._vertical&&o){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&o){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&o){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&o){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&o){this.setLastItemActive();break}return;case 33:if(this._pageUpAndDown.enabled&&o){const r=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(r>0?r:0,1);break}return;case 34:if(this._pageUpAndDown.enabled&&o){const r=this._activeItemIndex+this._pageUpAndDown.delta,s=this._getItemsArray().length;this._setActiveItemByIndex(r=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],n.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._getItemsArray().length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(n){const e=this._getItemsArray(),i="number"==typeof n?n:e.indexOf(n);this._activeItem=e[i]??null,this._activeItemIndex=i}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._effectRef?.destroy(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(n){this._wrap?this._setActiveInWrapMode(n):this._setActiveInDefaultMode(n)}_setActiveInWrapMode(n){const e=this._getItemsArray();for(let i=1;i<=e.length;i++){const o=(this._activeItemIndex+n*i+e.length)%e.length;if(!this._skipPredicateFn(e[o]))return void this.setActiveItem(o)}}_setActiveInDefaultMode(n){this._setActiveItemByIndex(this._activeItemIndex+n,n)}_setActiveItemByIndex(n,e){const i=this._getItemsArray();if(i[n]){for(;this._skipPredicateFn(i[n]);)if(!i[n+=e])return;this.setActiveItem(n)}}_getItemsArray(){return _0(this._items)?this._items():this._items instanceof Wa?this._items.toArray():this._items}_itemsChanged(n){if(this._activeItem){const e=n.indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}}}class _se extends bse{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(n){return this._origin=n,this}setActiveItem(n){super.setActiveItem(n),this.activeItem&&this.activeItem.focus(this._origin)}}let yse=(()=>{class t{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return function Cse(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}isTabbable(e){if(!this._platform.isBrowser)return!1;const i=function wse(t){try{return t.frameElement}catch{return null}}(function xse(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(e));if(i&&(-1===wk(i)||!this.isVisible(i)))return!1;let o=e.nodeName.toLowerCase(),r=wk(e);return e.hasAttribute("contenteditable")?-1!==r:!("iframe"===o||"object"===o||this._platform.WEBKIT&&this._platform.IOS&&!function Dse(t){let n=t.nodeName.toLowerCase(),e="input"===n&&t.type;return"text"===e||"password"===e||"select"===n||"textarea"===n}(e))&&("audio"===o?!!e.hasAttribute("controls")&&-1!==r:"video"===o?-1!==r&&(null!==r||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}isFocusable(e,i){return function Ese(t){return!function Ase(t){return function Tse(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function zse(t){let n=t.nodeName.toLowerCase();return"input"===n||"select"===n||"button"===n||"textarea"===n}(t)||function Sse(t){return function Mse(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||yk(t))}(e)&&!this.isDisabled(e)&&(i?.ignoreVisibility||this.isVisible(e))}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function yk(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let n=t.getAttribute("tabindex");return!(!n||isNaN(parseInt(n,10)))}function wk(t){if(!yk(t))return null;const n=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}class Ck{get enabled(){return this._enabled}set enabled(n){this._enabled=n,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}constructor(n,e,i,o,r=!1,s){this._element=n,this._checker=e,this._ngZone=i,this._document=o,this._injector=s,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}destroy(){const n=this._startAnchor,e=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(n)))})}focusFirstTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(n)))})}focusLastTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(n)))})}_getRegionBoundary(n){const e=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);return"start"==n?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(n){const e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){const i=this._getFirstTabbableElement(e);return i?.focus(n),!!i}return e.focus(n),!0}return this.focusFirstTabbableElement(n)}focusFirstTabbableElement(n){const e=this._getRegionBoundary("start");return e&&e.focus(n),!!e}focusLastTabbableElement(n){const e=this._getRegionBoundary("end");return e&&e.focus(n),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(n){if(this._checker.isFocusable(n)&&this._checker.isTabbable(n))return n;const e=n.children;for(let i=0;i=0;i--){const o=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(o)return o}return null}_createAnchor(){const n=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,n),n.classList.add("cdk-visually-hidden"),n.classList.add("cdk-focus-trap-anchor"),n.setAttribute("aria-hidden","true"),n}_toggleAnchorTabIndex(n,e){n?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(n){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}_executeOnStable(n){this._injector?Xa(n,{injector:this._injector}):setTimeout(n)}}let T7=(()=>{class t{constructor(e,i,o){this._checker=e,this._ngZone=i,this._injector=G(tn),this._document=o}create(e,i=!1){return new Ck(e,this._checker,this._ngZone,this._document,i,this._injector)}static#e=this.\u0275fac=function(i){return new(i||t)(R(yse),R(Me),R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),kse=(()=>{class t{get enabled(){return this.focusTrap?.enabled||!1}set enabled(e){this.focusTrap&&(this.focusTrap.enabled=e)}constructor(e,i,o){this._elementRef=e,this._focusTrapFactory=i,this._previouslyFocusedElement=null,G(Qn).isBrowser&&(this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0))}ngOnDestroy(){this.focusTrap?.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)}ngAfterContentInit(){this.focusTrap?.attachAnchors(),this.autoCapture&&this._captureFocus()}ngDoCheck(){this.focusTrap&&!this.focusTrap.hasAttached()&&this.focusTrap.attachAnchors()}ngOnChanges(e){const i=e.autoCapture;i&&!i.firstChange&&this.autoCapture&&this.focusTrap?.hasAttached()&&this._captureFocus()}_captureFocus(){this._previouslyFocusedElement=function Gte(){let t=typeof document<"u"&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const n=t.shadowRoot.activeElement;if(n===t)break;t=n}return t}(),this.focusTrap?.focusInitialElementWhenReady()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(T7),v(Pt))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkTrapFocus",""]],inputs:{enabled:[2,"cdkTrapFocus","enabled",I],autoCapture:[2,"cdkTrapFocusAutoCapture","autoCapture",I]},exportAs:["cdkTrapFocus"],standalone:!0,features:[je,xe]})}return t})();function zk(t){return 0===t.buttons||0===t.detail}function Ak(t){const n=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!n||-1!==n.identifier||null!=n.radiusX&&1!==n.radiusX||null!=n.radiusY&&1!==n.radiusY)}const Ise=new oe("cdk-input-modality-detector-options"),Ose={ignoreKeys:[18,17,224,91,16]},I1=T1({passive:!0,capture:!0});let Pse=(()=>{class t{get mostRecentModality(){return this._modality.value}constructor(e,i,o,r){this._platform=e,this._mostRecentTarget=null,this._modality=new rt(null),this._lastTouchMs=0,this._onKeydown=s=>{this._options?.ignoreKeys?.some(a=>a===s.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=Po(s))},this._onMousedown=s=>{Date.now()-this._lastTouchMs<650||(this._modality.next(zk(s)?"keyboard":"mouse"),this._mostRecentTarget=Po(s))},this._onTouchstart=s=>{Ak(s)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Po(s))},this._options={...Ose,...r},this.modalityDetected=this._modality.pipe(I5(1)),this.modalityChanged=this.modalityDetected.pipe(Qi()),e.isBrowser&&i.runOutsideAngular(()=>{o.addEventListener("keydown",this._onKeydown,I1),o.addEventListener("mousedown",this._onMousedown,I1),o.addEventListener("touchstart",this._onTouchstart,I1)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,I1),document.removeEventListener("mousedown",this._onMousedown,I1),document.removeEventListener("touchstart",this._onTouchstart,I1))}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn),R(Me),R(Pt),R(Ise,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var J3=function(t){return t[t.IMMEDIATE=0]="IMMEDIATE",t[t.EVENTUAL=1]="EVENTUAL",t}(J3||{});const Nse=new oe("cdk-focus-monitor-default-options"),Z3=T1({passive:!0,capture:!0});let wa=(()=>{class t{constructor(e,i,o,r,s){this._ngZone=e,this._platform=i,this._inputModalityDetector=o,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new V,this._rootNodeFocusAndBlurListener=a=>{for(let c=Po(a);c;c=c.parentElement)"focus"===a.type?this._onFocus(a,c):this._onBlur(a,c)},this._document=r,this._detectionMode=s?.detectionMode||J3.IMMEDIATE}monitor(e,i=!1){const o=Vi(e);if(!this._platform.isBrowser||1!==o.nodeType)return Ge();const r=V5(o)||this._getDocument(),s=this._elementInfo.get(o);if(s)return i&&(s.checkChildren=!0),s.subject;const a={checkChildren:i,subject:new V,rootNode:r};return this._elementInfo.set(o,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(e){const i=Vi(e),o=this._elementInfo.get(i);o&&(o.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(o))}focusVia(e,i,o){const r=Vi(e);r===this._getDocument().activeElement?this._getClosestElementsInfo(r).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof r.focus&&r.focus(o))}ngOnDestroy(){this._elementInfo.forEach((e,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:e&&this._isLastInteractionFromInputLabel(e)?"mouse":"program"}_shouldBeAttributedToTouch(e){return this._detectionMode===J3.EVENTUAL||!!e?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(e,i){e.classList.toggle("cdk-focused",!!i),e.classList.toggle("cdk-touch-focused","touch"===i),e.classList.toggle("cdk-keyboard-focused","keyboard"===i),e.classList.toggle("cdk-mouse-focused","mouse"===i),e.classList.toggle("cdk-program-focused","program"===i)}_setOrigin(e,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=e,this._originFromTouchInteraction="touch"===e&&i,this._detectionMode===J3.IMMEDIATE&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(e,i){const o=this._elementInfo.get(i),r=Po(e);!o||!o.checkChildren&&i!==r||this._originChanged(i,this._getFocusOrigin(r),o)}_onBlur(e,i){const o=this._elementInfo.get(i);!o||o.checkChildren&&e.relatedTarget instanceof Node&&i.contains(e.relatedTarget)||(this._setClasses(i),this._emitOrigin(o,null))}_emitOrigin(e,i){e.subject.observers.length&&this._ngZone.run(()=>e.subject.next(i))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;const i=e.rootNode,o=this._rootNodeFocusListenerCount.get(i)||0;o||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,Z3),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,Z3)}),this._rootNodeFocusListenerCount.set(i,o+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(P(this._stopInputModalityDetector)).subscribe(r=>{this._setOrigin(r,!0)}))}_removeGlobalListeners(e){const i=e.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const o=this._rootNodeFocusListenerCount.get(i);o>1?this._rootNodeFocusListenerCount.set(i,o-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,Z3),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,Z3),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,i,o){this._setClasses(e,i),this._emitOrigin(o,i),this._lastFocusOrigin=i}_getClosestElementsInfo(e){const i=[];return this._elementInfo.forEach((o,r)=>{(r===e||o.checkChildren&&r.contains(e))&&i.push([r,o])}),i}_isLastInteractionFromInputLabel(e){const{_mostRecentTarget:i,mostRecentModality:o}=this._inputModalityDetector;if("mouse"!==o||!i||i===e||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.disabled)return!1;const r=e.labels;if(r)for(let s=0;s{class t{constructor(e,i){this._elementRef=e,this._focusMonitor=i,this._focusOrigin=null,this.cdkFocusChange=new B}get focusOrigin(){return this._focusOrigin}ngAfterViewInit(){const e=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(e,1===e.nodeType&&e.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(i=>{this._focusOrigin=i,this.cdkFocusChange.emit(i)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(wa))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"],standalone:!0})}return t})();var Ml=function(t){return t[t.NONE=0]="NONE",t[t.BLACK_ON_WHITE=1]="BLACK_ON_WHITE",t[t.WHITE_ON_BLACK=2]="WHITE_ON_BLACK",t}(Ml||{});const Tk="cdk-high-contrast-black-on-white",Mk="cdk-high-contrast-white-on-black",M7="cdk-high-contrast-active";let Rse=(()=>{class t{constructor(e,i){this._platform=e,this._document=i,this._breakpointSubscription=G(Kte).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return Ml.NONE;const e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);const i=this._document.defaultView||window,o=i&&i.getComputedStyle?i.getComputedStyle(e):null,r=(o&&o.backgroundColor||"").replace(/ /g,"");switch(e.remove(),r){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return Ml.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return Ml.BLACK_ON_WHITE}return Ml.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const e=this._document.body.classList;e.remove(M7,Tk,Mk),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();i===Ml.BLACK_ON_WHITE?e.add(M7,Tk):i===Ml.WHITE_ON_BLACK&&e.add(M7,Mk)}}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn),R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Dk=(()=>{class t{constructor(e){e._applyBodyHighContrastModeCssClasses()}static#e=this.\u0275fac=function(i){return new(i||t)(R(Rse))};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[mse]})}return t})();var Ek={locale:"en",Pagination:{items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"},DatePicker:{lang:{placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"],locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"Ok",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"},timePickerLocale:{placeholder:"Select time",rangePlaceholder:["Start time","End time"]}},TimePicker:{placeholder:"Select time",rangePlaceholder:["Start time","End time"]},Calendar:{lang:{placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"],locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"Ok",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"},timePickerLocale:{placeholder:"Select time",rangePlaceholder:["Start time","End time"]}},global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",selectNone:"Clear all data"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No Data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand"},PageHeader:{back:"Back"},Image:{preview:"Preview"},CronExpression:{cronError:"Invalid cron expression",second:"second",minute:"minute",hour:"hour",day:"day",month:"month",week:"week"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"}},D7={locale:"zh-cn",Pagination:{items_per_page:"\u6761/\u9875",jump_to:"\u8df3\u81f3",jump_to_confirm:"\u786e\u5b9a",page:"\u9875",prev_page:"\u4e0a\u4e00\u9875",next_page:"\u4e0b\u4e00\u9875",prev_5:"\u5411\u524d 5 \u9875",next_5:"\u5411\u540e 5 \u9875",prev_3:"\u5411\u524d 3 \u9875",next_3:"\u5411\u540e 3 \u9875",page_size:"\u9875\u7801"},DatePicker:{lang:{placeholder:"\u8bf7\u9009\u62e9\u65e5\u671f",yearPlaceholder:"\u8bf7\u9009\u62e9\u5e74\u4efd",quarterPlaceholder:"\u8bf7\u9009\u62e9\u5b63\u5ea6",monthPlaceholder:"\u8bf7\u9009\u62e9\u6708\u4efd",weekPlaceholder:"\u8bf7\u9009\u62e9\u5468",rangePlaceholder:["\u5f00\u59cb\u65e5\u671f","\u7ed3\u675f\u65e5\u671f"],rangeYearPlaceholder:["\u5f00\u59cb\u5e74\u4efd","\u7ed3\u675f\u5e74\u4efd"],rangeQuarterPlaceholder:["\u5f00\u59cb\u5b63\u5ea6","\u7ed3\u675f\u5b63\u5ea6"],rangeMonthPlaceholder:["\u5f00\u59cb\u6708\u4efd","\u7ed3\u675f\u6708\u4efd"],rangeWeekPlaceholder:["\u5f00\u59cb\u5468","\u7ed3\u675f\u5468"],locale:"zh_CN",today:"\u4eca\u5929",now:"\u6b64\u523b",backToToday:"\u8fd4\u56de\u4eca\u5929",ok:"\u786e\u5b9a",timeSelect:"\u9009\u62e9\u65f6\u95f4",dateSelect:"\u9009\u62e9\u65e5\u671f",weekSelect:"\u9009\u62e9\u5468",clear:"\u6e05\u9664",month:"\u6708",year:"\u5e74",previousMonth:"\u4e0a\u4e2a\u6708 (\u7ffb\u9875\u4e0a\u952e)",nextMonth:"\u4e0b\u4e2a\u6708 (\u7ffb\u9875\u4e0b\u952e)",monthSelect:"\u9009\u62e9\u6708\u4efd",yearSelect:"\u9009\u62e9\u5e74\u4efd",decadeSelect:"\u9009\u62e9\u5e74\u4ee3",yearFormat:"YYYY\u5e74",dayFormat:"D\u65e5",dateFormat:"YYYY\u5e74M\u6708D\u65e5",dateTimeFormat:"YYYY\u5e74M\u6708D\u65e5 HH\u65f6mm\u5206ss\u79d2",previousYear:"\u4e0a\u4e00\u5e74 (Control\u952e\u52a0\u5de6\u65b9\u5411\u952e)",nextYear:"\u4e0b\u4e00\u5e74 (Control\u952e\u52a0\u53f3\u65b9\u5411\u952e)",previousDecade:"\u4e0a\u4e00\u5e74\u4ee3",nextDecade:"\u4e0b\u4e00\u5e74\u4ee3",previousCentury:"\u4e0a\u4e00\u4e16\u7eaa",nextCentury:"\u4e0b\u4e00\u4e16\u7eaa"},timePickerLocale:{placeholder:"\u8bf7\u9009\u62e9\u65f6\u95f4",rangePlaceholder:["\u5f00\u59cb\u65f6\u95f4","\u7ed3\u675f\u65f6\u95f4"]}},TimePicker:{placeholder:"\u8bf7\u9009\u62e9\u65f6\u95f4",rangePlaceholder:["\u5f00\u59cb\u65f6\u95f4","\u7ed3\u675f\u65f6\u95f4"]},Calendar:{lang:{placeholder:"\u8bf7\u9009\u62e9\u65e5\u671f",yearPlaceholder:"\u8bf7\u9009\u62e9\u5e74\u4efd",quarterPlaceholder:"\u8bf7\u9009\u62e9\u5b63\u5ea6",monthPlaceholder:"\u8bf7\u9009\u62e9\u6708\u4efd",weekPlaceholder:"\u8bf7\u9009\u62e9\u5468",rangePlaceholder:["\u5f00\u59cb\u65e5\u671f","\u7ed3\u675f\u65e5\u671f"],rangeYearPlaceholder:["\u5f00\u59cb\u5e74\u4efd","\u7ed3\u675f\u5e74\u4efd"],rangeMonthPlaceholder:["\u5f00\u59cb\u6708\u4efd","\u7ed3\u675f\u6708\u4efd"],rangeWeekPlaceholder:["\u5f00\u59cb\u5468","\u7ed3\u675f\u5468"],locale:"zh_CN",today:"\u4eca\u5929",now:"\u6b64\u523b",backToToday:"\u8fd4\u56de\u4eca\u5929",ok:"\u786e\u5b9a",timeSelect:"\u9009\u62e9\u65f6\u95f4",dateSelect:"\u9009\u62e9\u65e5\u671f",weekSelect:"\u9009\u62e9\u5468",clear:"\u6e05\u9664",month:"\u6708",year:"\u5e74",previousMonth:"\u4e0a\u4e2a\u6708 (\u7ffb\u9875\u4e0a\u952e)",nextMonth:"\u4e0b\u4e2a\u6708 (\u7ffb\u9875\u4e0b\u952e)",monthSelect:"\u9009\u62e9\u6708\u4efd",yearSelect:"\u9009\u62e9\u5e74\u4efd",decadeSelect:"\u9009\u62e9\u5e74\u4ee3",yearFormat:"YYYY\u5e74",dayFormat:"D\u65e5",dateFormat:"YYYY\u5e74M\u6708D\u65e5",dateTimeFormat:"YYYY\u5e74M\u6708D\u65e5 HH\u65f6mm\u5206ss\u79d2",previousYear:"\u4e0a\u4e00\u5e74 (Control\u952e\u52a0\u5de6\u65b9\u5411\u952e)",nextYear:"\u4e0b\u4e00\u5e74 (Control\u952e\u52a0\u53f3\u65b9\u5411\u952e)",previousDecade:"\u4e0a\u4e00\u5e74\u4ee3",nextDecade:"\u4e0b\u4e00\u5e74\u4ee3",previousCentury:"\u4e0a\u4e00\u4e16\u7eaa",nextCentury:"\u4e0b\u4e00\u4e16\u7eaa"},timePickerLocale:{placeholder:"\u8bf7\u9009\u62e9\u65f6\u95f4",rangePlaceholder:["\u5f00\u59cb\u65f6\u95f4","\u7ed3\u675f\u65f6\u95f4"]}},global:{placeholder:"\u8bf7\u9009\u62e9"},Table:{filterTitle:"\u7b5b\u9009",filterConfirm:"\u786e\u5b9a",filterReset:"\u91cd\u7f6e",filterEmptyText:"\u65e0\u7b5b\u9009\u9879",selectAll:"\u5168\u9009\u5f53\u9875",selectInvert:"\u53cd\u9009\u5f53\u9875",selectionAll:"\u5168\u9009\u6240\u6709",sortTitle:"\u6392\u5e8f",expand:"\u5c55\u5f00\u884c",collapse:"\u5173\u95ed\u884c",triggerDesc:"\u70b9\u51fb\u964d\u5e8f",triggerAsc:"\u70b9\u51fb\u5347\u5e8f",cancelSort:"\u53d6\u6d88\u6392\u5e8f",filterCheckall:"\u5168\u9009",filterSearchPlaceholder:"\u5728\u7b5b\u9009\u9879\u4e2d\u641c\u7d22",selectNone:"\u6e05\u7a7a\u6240\u6709"},Modal:{okText:"\u786e\u5b9a",cancelText:"\u53d6\u6d88",justOkText:"\u77e5\u9053\u4e86"},Popconfirm:{cancelText:"\u53d6\u6d88",okText:"\u786e\u5b9a"},Transfer:{searchPlaceholder:"\u8bf7\u8f93\u5165\u641c\u7d22\u5185\u5bb9",itemUnit:"\u9879",itemsUnit:"\u9879",remove:"\u5220\u9664",selectCurrent:"\u5168\u9009\u5f53\u9875",removeCurrent:"\u5220\u9664\u5f53\u9875",selectAll:"\u5168\u9009\u6240\u6709",removeAll:"\u5220\u9664\u5168\u90e8",selectInvert:"\u53cd\u9009\u5f53\u9875"},Upload:{uploading:"\u6587\u4ef6\u4e0a\u4f20\u4e2d",removeFile:"\u5220\u9664\u6587\u4ef6",uploadError:"\u4e0a\u4f20\u9519\u8bef",previewFile:"\u9884\u89c8\u6587\u4ef6",downloadFile:"\u4e0b\u8f7d\u6587\u4ef6"},Empty:{description:"\u6682\u65e0\u6570\u636e"},Icon:{icon:"\u56fe\u6807"},Text:{edit:"\u7f16\u8f91",copy:"\u590d\u5236",copied:"\u590d\u5236\u6210\u529f",expand:"\u5c55\u5f00"},PageHeader:{back:"\u8fd4\u56de"},Image:{preview:"\u9884\u89c8"},CronExpression:{cronError:"cron \u8868\u8fbe\u5f0f\u4e0d\u5408\u6cd5",second:"\u79d2",minute:"\u5206\u949f",hour:"\u5c0f\u65f6",day:"\u65e5",month:"\u6708",week:"\u5468"},QRCode:{expired:"\u4e8c\u7ef4\u7801\u8fc7\u671f",refresh:"\u70b9\u51fb\u5237\u65b0",scanned:"\u5df2\u626b\u63cf"}};const E7=new oe("nz-i18n"),Lse=new oe("nz-date-locale");let Ys=(()=>{class t{get localeChange(){return this._change.asObservable()}constructor(e,i){this._change=new rt(this._locale),this.setLocale(e||D7),this.setDateLocale(i||null)}translate(e,i){let o=this._getObjectPath(this._locale,e);return"string"==typeof o?(i&&Object.keys(i).forEach(r=>o=o.replace(new RegExp(`%${r}%`,"g"),i[r])),o):e}setLocale(e){this._locale&&this._locale.locale===e.locale||(this._locale=e,this._change.next(e))}getLocale(){return this._locale}getLocaleId(){return this._locale?this._locale.locale:""}setDateLocale(e){this.dateLocale=e}getDateLocale(){return this.dateLocale}getLocaleData(e,i){const o=e?this._getObjectPath(this._locale,e):this._locale;return o||i||this._getObjectPath(Ek,e)||{}}_getObjectPath(e,i){let o=e;const r=i.split("."),s=r.length;let a=0;for(;o&&a{class t{constructor(e){this._locale=e}transform(e,i){return this._locale.translate(e,i)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ys,16))};static#t=this.\u0275pipe=jn({name:"nzI18n",type:t,pure:!0,standalone:!0})}return t})(),Hse=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function xk(t){const n=t.cloneNode(!0),e=n.querySelectorAll("[id]"),i=t.nodeName.toLowerCase();n.removeAttribute("id");for(let o=0;o=i&&e<=o&&n>=r&&n<=s}function f2(t,n,e){t.top+=n,t.bottom=t.top+t.height,t.left+=e,t.right=t.left+t.width}function Pk(t,n,e,i){const{top:o,right:r,bottom:s,left:a,width:l,height:c}=t,u=l*n,p=c*n;return i>o-p&&ia-u&&e{this.positions.set(e,{scrollPosition:{top:e.scrollTop,left:e.scrollLeft},clientRect:x7(e)})})}handleScroll(n){const e=Po(n),i=this.positions.get(e);if(!i)return null;const o=i.scrollPosition;let r,s;if(e===this._document){const c=this.getViewportScrollPosition();r=c.top,s=c.left}else r=e.scrollTop,s=e.scrollLeft;const a=o.top-r,l=o.left-s;return this.positions.forEach((c,u)=>{c.clientRect&&e!==u&&e.contains(u)&&f2(c.clientRect,a,l)}),o.top=r,o.left=s,{top:a,left:l}}getViewportScrollPosition(){return{top:window.scrollY,left:window.scrollX}}}function Nk(t,n){const e=t.rootNodes;if(1===e.length&&e[0].nodeType===n.ELEMENT_NODE)return e[0];const i=n.createElement("div");return e.forEach(o=>i.appendChild(o)),i}function I7(t,n,e){for(let i in n)if(n.hasOwnProperty(i)){const o=n[i];o?t.setProperty(i,o,e?.has(i)?"important":""):t.removeProperty(i)}return t}function O1(t,n){const e=n?"":"none";I7(t.style,{"touch-action":n?"":"none","-webkit-user-drag":n?"":"none","-webkit-tap-highlight-color":n?"":"transparent","user-select":e,"-ms-user-select":e,"-webkit-user-select":e,"-moz-user-select":e})}function Fk(t,n,e){I7(t.style,{position:n?"":"fixed",top:n?"":"0",opacity:n?"":"0",left:n?"":"-999em"},e)}function X3(t,n){return n&&"none"!=n?t+" "+n:t}function Rk(t,n){t.style.width=`${n.width}px`,t.style.height=`${n.height}px`,t.style.transform=ep(n.left,n.top)}function ep(t,n){return`translate3d(${Math.round(t)}px, ${Math.round(n)}px, 0)`}function Lk(t){const n=t.toLowerCase().indexOf("ms")>-1?1:1e3;return parseFloat(t)*n}function O7(t,n){return t.getPropertyValue(n).split(",").map(i=>i.trim())}const Kse=new Set(["position"]);class $se{constructor(n,e,i,o,r,s,a,l,c){this._document=n,this._rootElement=e,this._direction=i,this._initialDomRect=o,this._previewTemplate=r,this._previewClass=s,this._pickupPositionOnPage=a,this._initialTransform=l,this._zIndex=c}attach(n){this._preview=this._createPreview(),n.appendChild(this._preview),"showPopover"in this._preview&&this._preview.showPopover()}destroy(){this._preview.remove(),this._previewEmbeddedView?.destroy(),this._preview=this._previewEmbeddedView=null}setTransform(n){this._preview.style.transform=n}getBoundingClientRect(){return this._preview.getBoundingClientRect()}addClass(n){this._preview.classList.add(n)}getTransitionDuration(){return function Qse(t){const n=getComputedStyle(t),e=O7(n,"transition-property"),i=e.find(a=>"transform"===a||"all"===a);if(!i)return 0;const o=e.indexOf(i),r=O7(n,"transition-duration"),s=O7(n,"transition-delay");return Lk(r[o])+Lk(s[o])}(this._preview)}addEventListener(n,e){this._preview.addEventListener(n,e)}removeEventListener(n,e){this._preview.removeEventListener(n,e)}_createPreview(){const n=this._previewTemplate,e=this._previewClass,i=n?n.template:null;let o;if(i&&n){const r=n.matchSize?this._initialDomRect:null,s=n.viewContainer.createEmbeddedView(i,n.context);s.detectChanges(),o=Nk(s,this._document),this._previewEmbeddedView=s,n.matchSize?Rk(o,r):o.style.transform=ep(this._pickupPositionOnPage.x,this._pickupPositionOnPage.y)}else o=xk(this._rootElement),Rk(o,this._initialDomRect),this._initialTransform&&(o.style.transform=this._initialTransform);return I7(o.style,{"pointer-events":"none",margin:"0",position:"fixed",top:"0",left:"0","z-index":this._zIndex+""},Kse),O1(o,!1),o.classList.add("cdk-drag-preview"),o.setAttribute("popover","manual"),o.setAttribute("dir",this._direction),e&&(Array.isArray(e)?e.forEach(r=>o.classList.add(r)):o.classList.add(e)),o}}const Bk=T1({passive:!0}),tp=T1({passive:!1}),Hk=T1({passive:!1,capture:!0}),jk=new Set(["position"]);class Zse{get disabled(){return this._disabled||!(!this._dropContainer||!this._dropContainer.disabled)}set disabled(n){n!==this._disabled&&(this._disabled=n,this._toggleNativeDragInteractions(),this._handles.forEach(e=>O1(e,n)))}constructor(n,e,i,o,r,s){this._config=e,this._document=i,this._ngZone=o,this._viewportRuler=r,this._dragDropRegistry=s,this._passiveTransform={x:0,y:0},this._activeTransform={x:0,y:0},this._hasStartedDragging=If(!1),this._moveEvents=new V,this._pointerMoveSubscription=Ft.EMPTY,this._pointerUpSubscription=Ft.EMPTY,this._scrollSubscription=Ft.EMPTY,this._resizeSubscription=Ft.EMPTY,this._boundaryElement=null,this._nativeInteractionsEnabled=!0,this._handles=[],this._disabledHandles=new Set,this._direction="ltr",this.dragStartDelay=0,this._disabled=!1,this.beforeStarted=new V,this.started=new V,this.released=new V,this.ended=new V,this.entered=new V,this.exited=new V,this.dropped=new V,this.moved=this._moveEvents,this._pointerDown=a=>{if(this.beforeStarted.next(),this._handles.length){const l=this._getTargetHandle(a);l&&!this._disabledHandles.has(l)&&!this.disabled&&this._initializeDragSequence(l,a)}else this.disabled||this._initializeDragSequence(this._rootElement,a)},this._pointerMove=a=>{const l=this._getPointerPositionOnPage(a);if(!this._hasStartedDragging()){if(Math.abs(l.x-this._pickupPositionOnPage.x)+Math.abs(l.y-this._pickupPositionOnPage.y)>=this._config.dragStartThreshold){const _=Date.now()>=this._dragStartTime+this._getDragStartDelay(a),y=this._dropContainer;if(!_)return void this._endDragSequence(a);(!y||!y.isDragging()&&!y.isReceiving())&&(a.cancelable&&a.preventDefault(),this._hasStartedDragging.set(!0),this._ngZone.run(()=>this._startDragSequence(a)))}return}a.cancelable&&a.preventDefault();const c=this._getConstrainedPointerPosition(l);if(this._hasMoved=!0,this._lastKnownPointerPosition=l,this._updatePointerDirectionDelta(c),this._dropContainer)this._updateActiveDropContainer(c,l);else{const u=this.constrainPosition?this._initialDomRect:this._pickupPositionOnPage,p=this._activeTransform;p.x=c.x-u.x+this._passiveTransform.x,p.y=c.y-u.y+this._passiveTransform.y,this._applyRootElementTransform(p.x,p.y)}this._moveEvents.observers.length&&this._ngZone.run(()=>{this._moveEvents.next({source:this,pointerPosition:c,event:a,distance:this._getDragDistance(c),delta:this._pointerDirectionDelta})})},this._pointerUp=a=>{this._endDragSequence(a)},this._nativeDragStart=a=>{if(this._handles.length){const l=this._getTargetHandle(a);l&&!this._disabledHandles.has(l)&&!this.disabled&&a.preventDefault()}else this.disabled||a.preventDefault()},this.withRootElement(n).withParent(e.parentDragRef||null),this._parentPositions=new Vk(i),s.registerDragItem(this)}getPlaceholderElement(){return this._placeholder}getRootElement(){return this._rootElement}getVisibleElement(){return this.isDragging()?this.getPlaceholderElement():this.getRootElement()}withHandles(n){this._handles=n.map(i=>Vi(i)),this._handles.forEach(i=>O1(i,this.disabled)),this._toggleNativeDragInteractions();const e=new Set;return this._disabledHandles.forEach(i=>{this._handles.indexOf(i)>-1&&e.add(i)}),this._disabledHandles=e,this}withPreviewTemplate(n){return this._previewTemplate=n,this}withPlaceholderTemplate(n){return this._placeholderTemplate=n,this}withRootElement(n){const e=Vi(n);return e!==this._rootElement&&(this._rootElement&&this._removeRootElementListeners(this._rootElement),this._ngZone.runOutsideAngular(()=>{e.addEventListener("mousedown",this._pointerDown,tp),e.addEventListener("touchstart",this._pointerDown,Bk),e.addEventListener("dragstart",this._nativeDragStart,tp)}),this._initialTransform=void 0,this._rootElement=e),typeof SVGElement<"u"&&this._rootElement instanceof SVGElement&&(this._ownerSVGElement=this._rootElement.ownerSVGElement),this}withBoundaryElement(n){return this._boundaryElement=n?Vi(n):null,this._resizeSubscription.unsubscribe(),n&&(this._resizeSubscription=this._viewportRuler.change(10).subscribe(()=>this._containInsideBoundaryOnResize())),this}withParent(n){return this._parentDragRef=n,this}dispose(){this._removeRootElementListeners(this._rootElement),this.isDragging()&&this._rootElement?.remove(),this._anchor?.remove(),this._destroyPreview(),this._destroyPlaceholder(),this._dragDropRegistry.removeDragItem(this),this._removeListeners(),this.beforeStarted.complete(),this.started.complete(),this.released.complete(),this.ended.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this._moveEvents.complete(),this._handles=[],this._disabledHandles.clear(),this._dropContainer=void 0,this._resizeSubscription.unsubscribe(),this._parentPositions.clear(),this._boundaryElement=this._rootElement=this._ownerSVGElement=this._placeholderTemplate=this._previewTemplate=this._anchor=this._parentDragRef=null}isDragging(){return this._hasStartedDragging()&&this._dragDropRegistry.isDragging(this)}reset(){this._rootElement.style.transform=this._initialTransform||"",this._activeTransform={x:0,y:0},this._passiveTransform={x:0,y:0}}disableHandle(n){!this._disabledHandles.has(n)&&this._handles.indexOf(n)>-1&&(this._disabledHandles.add(n),O1(n,!0))}enableHandle(n){this._disabledHandles.has(n)&&(this._disabledHandles.delete(n),O1(n,this.disabled))}withDirection(n){return this._direction=n,this}_withDropContainer(n){this._dropContainer=n}getFreeDragPosition(){const n=this.isDragging()?this._activeTransform:this._passiveTransform;return{x:n.x,y:n.y}}setFreeDragPosition(n){return this._activeTransform={x:0,y:0},this._passiveTransform.x=n.x,this._passiveTransform.y=n.y,this._dropContainer||this._applyRootElementTransform(n.x,n.y),this}withPreviewContainer(n){return this._previewContainer=n,this}_sortFromLastPointerPosition(){const n=this._lastKnownPointerPosition;n&&this._dropContainer&&this._updateActiveDropContainer(this._getConstrainedPointerPosition(n),n)}_removeListeners(){this._pointerMoveSubscription.unsubscribe(),this._pointerUpSubscription.unsubscribe(),this._scrollSubscription.unsubscribe(),this._getShadowRoot()?.removeEventListener("selectstart",Uk,Hk)}_destroyPreview(){this._preview?.destroy(),this._preview=null}_destroyPlaceholder(){this._placeholder?.remove(),this._placeholderRef?.destroy(),this._placeholder=this._placeholderRef=null}_endDragSequence(n){if(this._dragDropRegistry.isDragging(this)&&(this._removeListeners(),this._dragDropRegistry.stopDragging(this),this._toggleNativeDragInteractions(),this._handles&&(this._rootElement.style.webkitTapHighlightColor=this._rootElementTapHighlight),this._hasStartedDragging()))if(this.released.next({source:this,event:n}),this._dropContainer)this._dropContainer._stopScrolling(),this._animatePreviewToPlaceholder().then(()=>{this._cleanupDragArtifacts(n),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)});else{this._passiveTransform.x=this._activeTransform.x;const e=this._getPointerPositionOnPage(n);this._passiveTransform.y=this._activeTransform.y,this._ngZone.run(()=>{this.ended.next({source:this,distance:this._getDragDistance(e),dropPoint:e,event:n})}),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)}}_startDragSequence(n){m2(n)&&(this._lastTouchEventTime=Date.now()),this._toggleNativeDragInteractions();const e=this._getShadowRoot(),i=this._dropContainer;if(e&&this._ngZone.runOutsideAngular(()=>{e.addEventListener("selectstart",Uk,Hk)}),i){const o=this._rootElement,r=o.parentNode,s=this._placeholder=this._createPlaceholderElement(),a=this._anchor=this._anchor||this._document.createComment("");r.insertBefore(a,o),this._initialTransform=o.style.transform||"",this._preview=new $se(this._document,this._rootElement,this._direction,this._initialDomRect,this._previewTemplate||null,this.previewClass||null,this._pickupPositionOnPage,this._initialTransform,this._config.zIndex||1e3),this._preview.attach(this._getPreviewInsertionPoint(r,e)),Fk(o,!1,jk),this._document.body.appendChild(r.replaceChild(s,o)),this.started.next({source:this,event:n}),i.start(),this._initialContainer=i,this._initialIndex=i.getItemIndex(this)}else this.started.next({source:this,event:n}),this._initialContainer=this._initialIndex=void 0;this._parentPositions.cache(i?i.getScrollableParents():[])}_initializeDragSequence(n,e){this._parentDragRef&&e.stopPropagation();const i=this.isDragging(),o=m2(e),r=!o&&0!==e.button,s=this._rootElement,a=Po(e),l=!o&&this._lastTouchEventTime&&this._lastTouchEventTime+800>Date.now(),c=o?Ak(e):zk(e);if(a&&a.draggable&&"mousedown"===e.type&&e.preventDefault(),i||r||l||c)return;if(this._handles.length){const b=s.style;this._rootElementTapHighlight=b.webkitTapHighlightColor||"",b.webkitTapHighlightColor="transparent"}this._hasMoved=!1,this._hasStartedDragging.set(this._hasMoved),this._removeListeners(),this._initialDomRect=this._rootElement.getBoundingClientRect(),this._pointerMoveSubscription=this._dragDropRegistry.pointerMove.subscribe(this._pointerMove),this._pointerUpSubscription=this._dragDropRegistry.pointerUp.subscribe(this._pointerUp),this._scrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(b=>this._updateOnScroll(b)),this._boundaryElement&&(this._boundaryRect=x7(this._boundaryElement));const u=this._previewTemplate;this._pickupPositionInElement=u&&u.template&&!u.matchSize?{x:0,y:0}:this._getPointerPositionInElement(this._initialDomRect,n,e);const p=this._pickupPositionOnPage=this._lastKnownPointerPosition=this._getPointerPositionOnPage(e);this._pointerDirectionDelta={x:0,y:0},this._pointerPositionAtLastDirectionChange={x:p.x,y:p.y},this._dragStartTime=Date.now(),this._dragDropRegistry.startDragging(this,e)}_cleanupDragArtifacts(n){Fk(this._rootElement,!0,jk),this._anchor.parentNode.replaceChild(this._rootElement,this._anchor),this._destroyPreview(),this._destroyPlaceholder(),this._initialDomRect=this._boundaryRect=this._previewRect=this._initialTransform=void 0,this._ngZone.run(()=>{const e=this._dropContainer,i=e.getItemIndex(this),o=this._getPointerPositionOnPage(n),r=this._getDragDistance(o),s=e._isOverContainer(o.x,o.y);this.ended.next({source:this,distance:r,dropPoint:o,event:n}),this.dropped.next({item:this,currentIndex:i,previousIndex:this._initialIndex,container:e,previousContainer:this._initialContainer,isPointerOverContainer:s,distance:r,dropPoint:o,event:n}),e.drop(this,i,this._initialIndex,this._initialContainer,s,r,o,n),this._dropContainer=this._initialContainer})}_updateActiveDropContainer({x:n,y:e},{x:i,y:o}){let r=this._initialContainer._getSiblingContainerFromPosition(this,n,e);!r&&this._dropContainer!==this._initialContainer&&this._initialContainer._isOverContainer(n,e)&&(r=this._initialContainer),r&&r!==this._dropContainer&&this._ngZone.run(()=>{this.exited.next({item:this,container:this._dropContainer}),this._dropContainer.exit(this),this._dropContainer=r,this._dropContainer.enter(this,n,e,r===this._initialContainer&&r.sortingDisabled?this._initialIndex:void 0),this.entered.next({item:this,container:r,currentIndex:r.getItemIndex(this)})}),this.isDragging()&&(this._dropContainer._startScrollingIfNecessary(i,o),this._dropContainer._sortItem(this,n,e,this._pointerDirectionDelta),this.constrainPosition?this._applyPreviewTransform(n,e):this._applyPreviewTransform(n-this._pickupPositionInElement.x,e-this._pickupPositionInElement.y))}_animatePreviewToPlaceholder(){if(!this._hasMoved)return Promise.resolve();const n=this._placeholder.getBoundingClientRect();this._preview.addClass("cdk-drag-animating"),this._applyPreviewTransform(n.left,n.top);const e=this._preview.getTransitionDuration();return 0===e?Promise.resolve():this._ngZone.runOutsideAngular(()=>new Promise(i=>{const o=s=>{(!s||Po(s)===this._preview&&"transform"===s.propertyName)&&(this._preview?.removeEventListener("transitionend",o),i(),clearTimeout(r))},r=setTimeout(o,1.5*e);this._preview.addEventListener("transitionend",o)}))}_createPlaceholderElement(){const n=this._placeholderTemplate,e=n?n.template:null;let i;return e?(this._placeholderRef=n.viewContainer.createEmbeddedView(e,n.context),this._placeholderRef.detectChanges(),i=Nk(this._placeholderRef,this._document)):i=xk(this._rootElement),i.style.pointerEvents="none",i.classList.add("cdk-drag-placeholder"),i}_getPointerPositionInElement(n,e,i){const o=e===this._rootElement?null:e,r=o?o.getBoundingClientRect():n,s=m2(i)?i.targetTouches[0]:i,a=this._getViewportScrollPosition();return{x:r.left-n.left+(s.pageX-r.left-a.left),y:r.top-n.top+(s.pageY-r.top-a.top)}}_getPointerPositionOnPage(n){const e=this._getViewportScrollPosition(),i=m2(n)?n.touches[0]||n.changedTouches[0]||{pageX:0,pageY:0}:n,o=i.pageX-e.left,r=i.pageY-e.top;if(this._ownerSVGElement){const s=this._ownerSVGElement.getScreenCTM();if(s){const a=this._ownerSVGElement.createSVGPoint();return a.x=o,a.y=r,a.matrixTransform(s.inverse())}}return{x:o,y:r}}_getConstrainedPointerPosition(n){const e=this._dropContainer?this._dropContainer.lockAxis:null;let{x:i,y:o}=this.constrainPosition?this.constrainPosition(n,this,this._initialDomRect,this._pickupPositionInElement):n;if("x"===this.lockAxis||"x"===e?o=this._pickupPositionOnPage.y-(this.constrainPosition?this._pickupPositionInElement.y:0):("y"===this.lockAxis||"y"===e)&&(i=this._pickupPositionOnPage.x-(this.constrainPosition?this._pickupPositionInElement.x:0)),this._boundaryRect){const{x:r,y:s}=this.constrainPosition?{x:0,y:0}:this._pickupPositionInElement,a=this._boundaryRect,{width:l,height:c}=this._getPreviewRect(),u=a.top+s,p=a.bottom-(c-s);i=Yk(i,a.left+r,a.right-(l-r)),o=Yk(o,u,p)}return{x:i,y:o}}_updatePointerDirectionDelta(n){const{x:e,y:i}=n,o=this._pointerDirectionDelta,r=this._pointerPositionAtLastDirectionChange,s=Math.abs(e-r.x),a=Math.abs(i-r.y);return s>this._config.pointerDirectionChangeThreshold&&(o.x=e>r.x?1:-1,r.x=e),a>this._config.pointerDirectionChangeThreshold&&(o.y=i>r.y?1:-1,r.y=i),o}_toggleNativeDragInteractions(){if(!this._rootElement||!this._handles)return;const n=this._handles.length>0||!this.isDragging();n!==this._nativeInteractionsEnabled&&(this._nativeInteractionsEnabled=n,O1(this._rootElement,n))}_removeRootElementListeners(n){n.removeEventListener("mousedown",this._pointerDown,tp),n.removeEventListener("touchstart",this._pointerDown,Bk),n.removeEventListener("dragstart",this._nativeDragStart,tp)}_applyRootElementTransform(n,e){const i=ep(n,e),o=this._rootElement.style;null==this._initialTransform&&(this._initialTransform=o.transform&&"none"!=o.transform?o.transform:""),o.transform=X3(i,this._initialTransform)}_applyPreviewTransform(n,e){const i=this._previewTemplate?.template?void 0:this._initialTransform,o=ep(n,e);this._preview.setTransform(X3(o,i))}_getDragDistance(n){const e=this._pickupPositionOnPage;return e?{x:n.x-e.x,y:n.y-e.y}:{x:0,y:0}}_cleanupCachedDimensions(){this._boundaryRect=this._previewRect=void 0,this._parentPositions.clear()}_containInsideBoundaryOnResize(){let{x:n,y:e}=this._passiveTransform;if(0===n&&0===e||this.isDragging()||!this._boundaryElement)return;const i=this._rootElement.getBoundingClientRect(),o=this._boundaryElement.getBoundingClientRect();if(0===o.width&&0===o.height||0===i.width&&0===i.height)return;const r=o.left-i.left,s=i.right-o.right,a=o.top-i.top,l=i.bottom-o.bottom;o.width>i.width?(r>0&&(n+=r),s>0&&(n-=s)):n=0,o.height>i.height?(a>0&&(e+=a),l>0&&(e-=l)):e=0,(n!==this._passiveTransform.x||e!==this._passiveTransform.y)&&this.setFreeDragPosition({y:e,x:n})}_getDragStartDelay(n){const e=this.dragStartDelay;return"number"==typeof e?e:m2(n)?e.touch:e?e.mouse:0}_updateOnScroll(n){const e=this._parentPositions.handleScroll(n);if(e){const i=Po(n);this._boundaryRect&&i!==this._boundaryElement&&i.contains(this._boundaryElement)&&f2(this._boundaryRect,e.top,e.left),this._pickupPositionOnPage.x+=e.left,this._pickupPositionOnPage.y+=e.top,this._dropContainer||(this._activeTransform.x-=e.left,this._activeTransform.y-=e.top,this._applyRootElementTransform(this._activeTransform.x,this._activeTransform.y))}}_getViewportScrollPosition(){return this._parentPositions.positions.get(this._document)?.scrollPosition||this._parentPositions.getViewportScrollPosition()}_getShadowRoot(){return void 0===this._cachedShadowRoot&&(this._cachedShadowRoot=V5(this._rootElement)),this._cachedShadowRoot}_getPreviewInsertionPoint(n,e){const i=this._previewContainer||"global";if("parent"===i)return n;if("global"===i){const o=this._document;return e||o.fullscreenElement||o.webkitFullscreenElement||o.mozFullScreenElement||o.msFullscreenElement||o.body}return Vi(i)}_getPreviewRect(){return(!this._previewRect||!this._previewRect.width&&!this._previewRect.height)&&(this._previewRect=this._preview?this._preview.getBoundingClientRect():this._initialDomRect),this._previewRect}_getTargetHandle(n){return this._handles.find(e=>n.target&&(n.target===e||e.contains(n.target)))}}function Yk(t,n,e){return Math.max(n,Math.min(e,t))}function m2(t){return"t"===t.type[0]}function Uk(t){t.preventDefault()}function Dl(t,n,e){const i=g2(n,t.length-1),o=g2(e,t.length-1);if(i===o)return;const r=t[i],s=o0)return null;const a="horizontal"===this.orientation,l=r.findIndex(E=>E.drag===n),c=r[s],p=c.clientRect,b=l>s?1:-1,_=this._getItemOffsetPx(r[l].clientRect,p,b),y=this._getSiblingOffsetPx(l,r,b),z=r.slice();return Dl(r,l,s),r.forEach((E,x)=>{if(z[x]===E)return;const k=E.drag===n,ie=k?_:y,pe=k?n.getPlaceholderElement():E.drag.getRootElement();E.offset+=ie,a?(pe.style.transform=X3(`translate3d(${Math.round(E.offset)}px, 0, 0)`,E.initialTransform),f2(E.clientRect,0,ie)):(pe.style.transform=X3(`translate3d(0, ${Math.round(E.offset)}px, 0)`,E.initialTransform),f2(E.clientRect,ie,0))}),this._previousSwap.overlaps=k7(p,e,i),this._previousSwap.drag=c.drag,this._previousSwap.delta=a?o.x:o.y,{previousIndex:l,currentIndex:s}}enter(n,e,i,o){const r=null==o||o<0?this._getItemIndexFromPointerPosition(n,e,i):o,s=this._activeDraggables,a=s.indexOf(n),l=n.getPlaceholderElement();let c=s[r];if(c===n&&(c=s[r+1]),!c&&(null==r||-1===r||r-1&&s.splice(a,1),c&&!this._dragDropRegistry.isDragging(c)){const u=c.getRootElement();u.parentElement.insertBefore(l,u),s.splice(r,0,n)}else Vi(this._element).appendChild(l),s.push(n);l.style.transform="",this._cacheItemPositions()}withItems(n){this._activeDraggables=n.slice(),this._cacheItemPositions()}withSortPredicate(n){this._sortPredicate=n}reset(){this._activeDraggables.forEach(n=>{const e=n.getRootElement();if(e){const i=this._itemPositions.find(o=>o.drag===n)?.initialTransform;e.style.transform=i||""}}),this._itemPositions=[],this._activeDraggables=[],this._previousSwap.drag=null,this._previousSwap.delta=0,this._previousSwap.overlaps=!1}getActiveItemsSnapshot(){return this._activeDraggables}getItemIndex(n){return("horizontal"===this.orientation&&"rtl"===this.direction?this._itemPositions.slice().reverse():this._itemPositions).findIndex(i=>i.drag===n)}updateOnScroll(n,e){this._itemPositions.forEach(({clientRect:i})=>{f2(i,n,e)}),this._itemPositions.forEach(({drag:i})=>{this._dragDropRegistry.isDragging(i)&&i._sortFromLastPointerPosition()})}_cacheItemPositions(){const n="horizontal"===this.orientation;this._itemPositions=this._activeDraggables.map(e=>{const i=e.getVisibleElement();return{drag:e,offset:0,initialTransform:i.style.transform||"",clientRect:x7(i)}}).sort((e,i)=>n?e.clientRect.left-i.clientRect.left:e.clientRect.top-i.clientRect.top)}_getItemOffsetPx(n,e,i){const o="horizontal"===this.orientation;let r=o?e.left-n.left:e.top-n.top;return-1===i&&(r+=o?e.width-n.width:e.height-n.height),r}_getSiblingOffsetPx(n,e,i){const o="horizontal"===this.orientation,r=e[n].clientRect,s=e[n+-1*i];let a=r[o?"width":"height"]*i;if(s){const l=o?"left":"top",c=o?"right":"bottom";-1===i?a-=s.clientRect[l]-r[c]:a+=r[l]-s.clientRect[c]}return a}_shouldEnterAsFirstChild(n,e){if(!this._activeDraggables.length)return!1;const i=this._itemPositions,o="horizontal"===this.orientation;if(i[0].drag!==this._activeDraggables[0]){const s=i[i.length-1].clientRect;return o?n>=s.right:e>=s.bottom}{const s=i[0].clientRect;return o?n<=s.left:e<=s.top}}_getItemIndexFromPointerPosition(n,e,i,o){const r="horizontal"===this.orientation,s=this._itemPositions.findIndex(({drag:a,clientRect:l})=>a!==n&&((!o||a!==this._previousSwap.drag||!this._previousSwap.overlaps||(r?o.x:o.y)!==this._previousSwap.delta)&&(r?e>=Math.floor(l.left)&&e=Math.floor(l.top)&&i!0,this.sortPredicate=()=>!0,this.beforeStarted=new V,this.entered=new V,this.exited=new V,this.dropped=new V,this.sorted=new V,this.receivingStarted=new V,this.receivingStopped=new V,this._isDragging=!1,this._draggables=[],this._siblings=[],this._activeSiblings=new Set,this._viewportScrollSubscription=Ft.EMPTY,this._verticalScrollDirection=yr.NONE,this._horizontalScrollDirection=Co.NONE,this._stopScrollTimers=new V,this._cachedShadowRoot=null,this._startScrollInterval=()=>{this._stopScrolling(),function Gse(t=0,n=Uu){return t<0&&(t=0),m3(t,t,n)}(0,b7).pipe(P(this._stopScrollTimers)).subscribe(()=>{const s=this._scrollNode,a=this.autoScrollStep;this._verticalScrollDirection===yr.UP?s.scrollBy(0,-a):this._verticalScrollDirection===yr.DOWN&&s.scrollBy(0,a),this._horizontalScrollDirection===Co.LEFT?s.scrollBy(-a,0):this._horizontalScrollDirection===Co.RIGHT&&s.scrollBy(a,0)})},this.element=Vi(n),this._document=i,this.withScrollableParents([this.element]),e.registerDropContainer(this),this._parentPositions=new Vk(i),this._sortStrategy=new Xse(this.element,e),this._sortStrategy.withSortPredicate((s,a)=>this.sortPredicate(s,a,this))}dispose(){this._stopScrolling(),this._stopScrollTimers.complete(),this._viewportScrollSubscription.unsubscribe(),this.beforeStarted.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this.sorted.complete(),this.receivingStarted.complete(),this.receivingStopped.complete(),this._activeSiblings.clear(),this._scrollNode=null,this._parentPositions.clear(),this._dragDropRegistry.removeDropContainer(this)}isDragging(){return this._isDragging}start(){this._draggingStarted(),this._notifyReceivingSiblings()}enter(n,e,i,o){this._draggingStarted(),null==o&&this.sortingDisabled&&(o=this._draggables.indexOf(n)),this._sortStrategy.enter(n,e,i,o),this._cacheParentPositions(),this._notifyReceivingSiblings(),this.entered.next({item:n,container:this,currentIndex:this.getItemIndex(n)})}exit(n){this._reset(),this.exited.next({item:n,container:this})}drop(n,e,i,o,r,s,a,l={}){this._reset(),this.dropped.next({item:n,currentIndex:e,previousIndex:i,container:this,previousContainer:o,isPointerOverContainer:r,distance:s,dropPoint:a,event:l})}withItems(n){const e=this._draggables;return this._draggables=n,n.forEach(i=>i._withDropContainer(this)),this.isDragging()&&(e.filter(o=>o.isDragging()).every(o=>-1===n.indexOf(o))?this._reset():this._sortStrategy.withItems(this._draggables)),this}withDirection(n){return this._sortStrategy.direction=n,this}connectedTo(n){return this._siblings=n.slice(),this}withOrientation(n){return this._sortStrategy.orientation=n,this}withScrollableParents(n){const e=Vi(this.element);return this._scrollableElements=-1===n.indexOf(e)?[e,...n]:n.slice(),this}getScrollableParents(){return this._scrollableElements}getItemIndex(n){return this._isDragging?this._sortStrategy.getItemIndex(n):this._draggables.indexOf(n)}isReceiving(){return this._activeSiblings.size>0}_sortItem(n,e,i,o){if(this.sortingDisabled||!this._domRect||!Pk(this._domRect,.05,e,i))return;const r=this._sortStrategy.sort(n,e,i,o);r&&this.sorted.next({previousIndex:r.previousIndex,currentIndex:r.currentIndex,container:this,item:n})}_startScrollingIfNecessary(n,e){if(this.autoScrollDisabled)return;let i,o=yr.NONE,r=Co.NONE;if(this._parentPositions.positions.forEach((s,a)=>{a===this._document||!s.clientRect||i||Pk(s.clientRect,.05,n,e)&&([o,r]=function tae(t,n,e,i,o){const r=qk(n,o),s=Qk(n,i);let a=yr.NONE,l=Co.NONE;if(r){const c=t.scrollTop;r===yr.UP?c>0&&(a=yr.UP):t.scrollHeight-c>t.clientHeight&&(a=yr.DOWN)}if(s){const c=t.scrollLeft;"rtl"===e?s===Co.RIGHT?c<0&&(l=Co.RIGHT):t.scrollWidth+c>t.clientWidth&&(l=Co.LEFT):s===Co.LEFT?c>0&&(l=Co.LEFT):t.scrollWidth-c>t.clientWidth&&(l=Co.RIGHT)}return[a,l]}(a,s.clientRect,this._sortStrategy.direction,n,e),(o||r)&&(i=a))}),!o&&!r){const{width:s,height:a}=this._viewportRuler.getViewportSize(),l={width:s,height:a,top:0,right:s,bottom:a,left:0};o=qk(l,e),r=Qk(l,n),i=window}i&&(o!==this._verticalScrollDirection||r!==this._horizontalScrollDirection||i!==this._scrollNode)&&(this._verticalScrollDirection=o,this._horizontalScrollDirection=r,this._scrollNode=i,(o||r)&&i?this._ngZone.runOutsideAngular(this._startScrollInterval):this._stopScrolling())}_stopScrolling(){this._stopScrollTimers.next()}_draggingStarted(){const n=Vi(this.element).style;this.beforeStarted.next(),this._isDragging=!0,this._initialScrollSnap=n.msScrollSnapType||n.scrollSnapType||"",n.scrollSnapType=n.msScrollSnapType="none",this._sortStrategy.start(this._draggables),this._cacheParentPositions(),this._viewportScrollSubscription.unsubscribe(),this._listenToScrollEvents()}_cacheParentPositions(){const n=Vi(this.element);this._parentPositions.cache(this._scrollableElements),this._domRect=this._parentPositions.positions.get(n).clientRect}_reset(){this._isDragging=!1;const n=Vi(this.element).style;n.scrollSnapType=n.msScrollSnapType=this._initialScrollSnap,this._siblings.forEach(e=>e._stopReceiving(this)),this._sortStrategy.reset(),this._stopScrolling(),this._viewportScrollSubscription.unsubscribe(),this._parentPositions.clear()}_isOverContainer(n,e){return null!=this._domRect&&k7(this._domRect,n,e)}_getSiblingContainerFromPosition(n,e,i){return this._siblings.find(o=>o._canReceive(n,e,i))}_canReceive(n,e,i){if(!this._domRect||!k7(this._domRect,e,i)||!this.enterPredicate(n,this))return!1;const o=this._getShadowRoot().elementFromPoint(e,i);if(!o)return!1;const r=Vi(this.element);return o===r||r.contains(o)}_startReceiving(n,e){const i=this._activeSiblings;!i.has(n)&&e.every(o=>this.enterPredicate(o,this)||this._draggables.indexOf(o)>-1)&&(i.add(n),this._cacheParentPositions(),this._listenToScrollEvents(),this.receivingStarted.next({initiator:n,receiver:this,items:e}))}_stopReceiving(n){this._activeSiblings.delete(n),this._viewportScrollSubscription.unsubscribe(),this.receivingStopped.next({initiator:n,receiver:this})}_listenToScrollEvents(){this._viewportScrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(n=>{if(this.isDragging()){const e=this._parentPositions.handleScroll(n);e&&this._sortStrategy.updateOnScroll(e.top,e.left)}else this.isReceiving()&&this._cacheParentPositions()})}_getShadowRoot(){if(!this._cachedShadowRoot){const n=V5(Vi(this.element));this._cachedShadowRoot=n||this._document}return this._cachedShadowRoot}_notifyReceivingSiblings(){const n=this._sortStrategy.getActiveItemsSnapshot().filter(e=>e.isDragging());this._siblings.forEach(e=>e._startReceiving(this,n))}}function qk(t,n){const{top:e,bottom:i,height:o}=t,r=.05*o;return n>=e-r&&n<=e+r?yr.UP:n>=i-r&&n<=i+r?yr.DOWN:yr.NONE}function Qk(t,n){const{left:e,right:i,width:o}=t,r=.05*o;return n>=e-r&&n<=e+r?Co.LEFT:n>=i-r&&n<=i+r?Co.RIGHT:Co.NONE}const np=T1({passive:!1,capture:!0}),ip=new Set;let nae=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["ng-component"]],hostAttrs:["cdk-drag-resets-container",""],standalone:!0,features:[me],decls:0,vars:0,template:function(i,o){},styles:["@layer cdk-resets{.cdk-drag-preview{background:none;border:none;padding:0;color:inherit}}"],encapsulation:2,changeDetection:0})}return t})(),iae=(()=>{class t{constructor(e,i){this._ngZone=e,this._appRef=G(Ko),this._environmentInjector=G(Li),this._dropInstances=new Set,this._dragInstances=new Set,this._activeDragInstances=If([]),this._globalListeners=new Map,this._draggingPredicate=o=>o.isDragging(),this.pointerMove=new V,this.pointerUp=new V,this.scroll=new V,this._preventDefaultWhileDragging=o=>{this._activeDragInstances().length>0&&o.preventDefault()},this._persistentTouchmoveListener=o=>{this._activeDragInstances().length>0&&(this._activeDragInstances().some(this._draggingPredicate)&&o.preventDefault(),this.pointerMove.next(o))},this._document=i}registerDropContainer(e){this._dropInstances.has(e)||this._dropInstances.add(e)}registerDragItem(e){this._dragInstances.add(e),1===this._dragInstances.size&&this._ngZone.runOutsideAngular(()=>{this._document.addEventListener("touchmove",this._persistentTouchmoveListener,np)})}removeDropContainer(e){this._dropInstances.delete(e)}removeDragItem(e){this._dragInstances.delete(e),this.stopDragging(e),0===this._dragInstances.size&&this._document.removeEventListener("touchmove",this._persistentTouchmoveListener,np)}startDragging(e,i){if(!(this._activeDragInstances().indexOf(e)>-1)&&(this._loadResets(),this._activeDragInstances.update(o=>[...o,e]),1===this._activeDragInstances().length)){const o=i.type.startsWith("touch");this._globalListeners.set(o?"touchend":"mouseup",{handler:r=>this.pointerUp.next(r),options:!0}).set("scroll",{handler:r=>this.scroll.next(r),options:!0}).set("selectstart",{handler:this._preventDefaultWhileDragging,options:np}),o||this._globalListeners.set("mousemove",{handler:r=>this.pointerMove.next(r),options:np}),this._ngZone.runOutsideAngular(()=>{this._globalListeners.forEach((r,s)=>{this._document.addEventListener(s,r.handler,r.options)})})}}stopDragging(e){this._activeDragInstances.update(i=>{const o=i.indexOf(e);return o>-1?(i.splice(o,1),[...i]):i}),0===this._activeDragInstances().length&&this._clearGlobalListeners()}isDragging(e){return this._activeDragInstances().indexOf(e)>-1}scrolled(e){const i=[this.scroll];return e&&e!==this._document&&i.push(new Wt(o=>this._ngZone.runOutsideAngular(()=>{const s=a=>{this._activeDragInstances().length&&o.next(a)};return e.addEventListener("scroll",s,!0),()=>{e.removeEventListener("scroll",s,!0)}}))),On(...i)}ngOnDestroy(){this._dragInstances.forEach(e=>this.removeDragItem(e)),this._dropInstances.forEach(e=>this.removeDropContainer(e)),this._clearGlobalListeners(),this.pointerMove.complete(),this.pointerUp.complete()}_clearGlobalListeners(){this._globalListeners.forEach((e,i)=>{this._document.removeEventListener(i,e.handler,e.options)}),this._globalListeners.clear()}_loadResets(){if(!ip.has(this._appRef)){ip.add(this._appRef);const e=function Vq(t,n){const e=Dt(t),i=n.elementInjector||vh();return new Yd(e).create(i,n.projectableNodes,n.hostElement,n.environmentInjector)}(nae,{environmentInjector:this._environmentInjector});this._appRef.onDestroy(()=>{ip.delete(this._appRef),0===ip.size&&e.destroy()})}}static#e=this.\u0275fac=function(i){return new(i||t)(R(Me),R(Pt))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const oae={dragStartThreshold:5,pointerDirectionChangeThreshold:5};let P7=(()=>{class t{constructor(e,i,o,r){this._document=e,this._ngZone=i,this._viewportRuler=o,this._dragDropRegistry=r}createDrag(e,i=oae){return new Zse(e,i,this._document,this._ngZone,this._viewportRuler,this._dragDropRegistry)}createDropList(e){return new eae(e,this._dragDropRegistry,this._document,this._ngZone,this._viewportRuler)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt),R(Me),R(a2),R(iae))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const v2=new oe("CDK_DRAG_PARENT"),Kk=new oe("CdkDragHandle");let $k=(()=>{class t{get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._stateChanges.next(this)}constructor(e,i){this.element=e,this._parentDrag=i,this._stateChanges=new V,this._disabled=!1,i?._addHandle(this)}ngOnDestroy(){this._parentDrag?._removeHandle(this),this._stateChanges.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(v2,12))};static#t=this.\u0275dir=de({type:t,selectors:[["","cdkDragHandle",""]],hostAttrs:[1,"cdk-drag-handle"],inputs:{disabled:[2,"cdkDragHandleDisabled","disabled",I]},standalone:!0,features:[et([{provide:Kk,useExisting:t}]),je]})}return t})();const Jk=new oe("CDK_DRAG_CONFIG"),Zk=new oe("CdkDropList");let b2=(()=>{class t{static#e=this._dragInstances=[];get disabled(){return this._disabled||this.dropContainer&&this.dropContainer.disabled}set disabled(e){this._disabled=e,this._dragRef.disabled=this._disabled}constructor(e,i,o,r,s,a,l,c,u,p,b){this.element=e,this.dropContainer=i,this._ngZone=r,this._viewContainerRef=s,this._dir=l,this._changeDetectorRef=u,this._selfHandle=p,this._parentDrag=b,this._destroyed=new V,this._handles=new rt([]),this.started=new B,this.released=new B,this.ended=new B,this.entered=new B,this.exited=new B,this.dropped=new B,this.moved=new Wt(_=>{const y=this._dragRef.moved.pipe(Pe(z=>({source:this,pointerPosition:z.pointerPosition,event:z.event,delta:z.delta,distance:z.distance}))).subscribe(_);return()=>{y.unsubscribe()}}),this._injector=G(tn),this._dragRef=c.createDrag(e,{dragStartThreshold:a&&null!=a.dragStartThreshold?a.dragStartThreshold:5,pointerDirectionChangeThreshold:a&&null!=a.pointerDirectionChangeThreshold?a.pointerDirectionChangeThreshold:5,zIndex:a?.zIndex}),this._dragRef.data=this,t._dragInstances.push(this),a&&this._assignDefaults(a),i&&(this._dragRef._withDropContainer(i._dropListRef),i.addItem(this)),this._syncInputs(this._dragRef),this._handleEvents(this._dragRef)}getPlaceholderElement(){return this._dragRef.getPlaceholderElement()}getRootElement(){return this._dragRef.getRootElement()}reset(){this._dragRef.reset()}getFreeDragPosition(){return this._dragRef.getFreeDragPosition()}setFreeDragPosition(e){this._dragRef.setFreeDragPosition(e)}ngAfterViewInit(){Xa(()=>{this._updateRootElement(),this._setupHandlesListener(),this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)},{injector:this._injector})}ngOnChanges(e){const i=e.rootElementSelector,o=e.freeDragPosition;i&&!i.firstChange&&this._updateRootElement(),o&&!o.firstChange&&this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)}ngOnDestroy(){this.dropContainer&&this.dropContainer.removeItem(this);const e=t._dragInstances.indexOf(this);e>-1&&t._dragInstances.splice(e,1),this._ngZone.runOutsideAngular(()=>{this._handles.complete(),this._destroyed.next(),this._destroyed.complete(),this._dragRef.dispose()})}_addHandle(e){const i=this._handles.getValue();i.push(e),this._handles.next(i)}_removeHandle(e){const i=this._handles.getValue(),o=i.indexOf(e);o>-1&&(i.splice(o,1),this._handles.next(i))}_setPreviewTemplate(e){this._previewTemplate=e}_resetPreviewTemplate(e){e===this._previewTemplate&&(this._previewTemplate=null)}_setPlaceholderTemplate(e){this._placeholderTemplate=e}_resetPlaceholderTemplate(e){e===this._placeholderTemplate&&(this._placeholderTemplate=null)}_updateRootElement(){const e=this.element.nativeElement;let i=e;this.rootElementSelector&&(i=void 0!==e.closest?e.closest(this.rootElementSelector):e.parentElement?.closest(this.rootElementSelector)),this._dragRef.withRootElement(i||e)}_getBoundaryElement(){const e=this.boundaryElement;return e?"string"==typeof e?this.element.nativeElement.closest(e):Vi(e):null}_syncInputs(e){e.beforeStarted.subscribe(()=>{if(!e.isDragging()){const i=this._dir,o=this.dragStartDelay,r=this._placeholderTemplate?{template:this._placeholderTemplate.templateRef,context:this._placeholderTemplate.data,viewContainer:this._viewContainerRef}:null,s=this._previewTemplate?{template:this._previewTemplate.templateRef,context:this._previewTemplate.data,matchSize:this._previewTemplate.matchSize,viewContainer:this._viewContainerRef}:null;e.disabled=this.disabled,e.lockAxis=this.lockAxis,e.dragStartDelay="object"==typeof o&&o?o:Rs(o),e.constrainPosition=this.constrainPosition,e.previewClass=this.previewClass,e.withBoundaryElement(this._getBoundaryElement()).withPlaceholderTemplate(r).withPreviewTemplate(s).withPreviewContainer(this.previewContainer||"global"),i&&e.withDirection(i.value)}}),e.beforeStarted.pipe(io(1)).subscribe(()=>{if(this._parentDrag)return void e.withParent(this._parentDrag._dragRef);let i=this.element.nativeElement.parentElement;for(;i;){if(i.classList.contains("cdk-drag")){e.withParent(t._dragInstances.find(o=>o.element.nativeElement===i)?._dragRef||null);break}i=i.parentElement}})}_handleEvents(e){e.started.subscribe(i=>{this.started.emit({source:this,event:i.event}),this._changeDetectorRef.markForCheck()}),e.released.subscribe(i=>{this.released.emit({source:this,event:i.event})}),e.ended.subscribe(i=>{this.ended.emit({source:this,distance:i.distance,dropPoint:i.dropPoint,event:i.event}),this._changeDetectorRef.markForCheck()}),e.entered.subscribe(i=>{this.entered.emit({container:i.container.data,item:this,currentIndex:i.currentIndex})}),e.exited.subscribe(i=>{this.exited.emit({container:i.container.data,item:this})}),e.dropped.subscribe(i=>{this.dropped.emit({previousIndex:i.previousIndex,currentIndex:i.currentIndex,previousContainer:i.previousContainer.data,container:i.container.data,isPointerOverContainer:i.isPointerOverContainer,item:this,distance:i.distance,dropPoint:i.dropPoint,event:i.event})})}_assignDefaults(e){const{lockAxis:i,dragStartDelay:o,constrainPosition:r,previewClass:s,boundaryElement:a,draggingDisabled:l,rootElementSelector:c,previewContainer:u}=e;this.disabled=l??!1,this.dragStartDelay=o||0,i&&(this.lockAxis=i),r&&(this.constrainPosition=r),s&&(this.previewClass=s),a&&(this.boundaryElement=a),c&&(this.rootElementSelector=c),u&&(this.previewContainer=u)}_setupHandlesListener(){this._handles.pipe(ii(e=>{const i=e.map(o=>o.element);this._selfHandle&&this.rootElementSelector&&i.push(this.element),this._dragRef.withHandles(i)}),mn(e=>On(...e.map(i=>i._stateChanges.pipe(gn(i))))),P(this._destroyed)).subscribe(e=>{const i=this._dragRef,o=e.element.nativeElement;e.disabled?i.disableHandle(o):i.enableHandle(o)})}static#t=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Zk,12),v(Pt),v(Me),v(qn),v(Jk,8),v(Ct,8),v(P7),v(We),v(Kk,10),v(v2,12))};static#n=this.\u0275dir=de({type:t,selectors:[["","cdkDrag",""]],hostAttrs:[1,"cdk-drag"],hostVars:4,hostBindings:function(i,o){2&i&&Z("cdk-drag-disabled",o.disabled)("cdk-drag-dragging",o._dragRef.isDragging())},inputs:{data:[0,"cdkDragData","data"],lockAxis:[0,"cdkDragLockAxis","lockAxis"],rootElementSelector:[0,"cdkDragRootElement","rootElementSelector"],boundaryElement:[0,"cdkDragBoundary","boundaryElement"],dragStartDelay:[0,"cdkDragStartDelay","dragStartDelay"],freeDragPosition:[0,"cdkDragFreeDragPosition","freeDragPosition"],disabled:[2,"cdkDragDisabled","disabled",I],constrainPosition:[0,"cdkDragConstrainPosition","constrainPosition"],previewClass:[0,"cdkDragPreviewClass","previewClass"],previewContainer:[0,"cdkDragPreviewContainer","previewContainer"]},outputs:{started:"cdkDragStarted",released:"cdkDragReleased",ended:"cdkDragEnded",entered:"cdkDragEntered",exited:"cdkDragExited",dropped:"cdkDragDropped",moved:"cdkDragMoved"},exportAs:["cdkDrag"],standalone:!0,features:[et([{provide:v2,useExisting:t}]),je,xe]})}return t})();const V7=new oe("CdkDropListGroup");let aae=0,op=(()=>{class t{static#e=this._dropLists=[];get disabled(){return this._disabled||!!this._group&&this._group.disabled}set disabled(e){this._dropListRef.disabled=this._disabled=e}constructor(e,i,o,r,s,a,l){this.element=e,this._changeDetectorRef=o,this._scrollDispatcher=r,this._dir=s,this._group=a,this._destroyed=new V,this.connectedTo=[],this.id="cdk-drop-list-"+aae++,this.enterPredicate=()=>!0,this.sortPredicate=()=>!0,this.dropped=new B,this.entered=new B,this.exited=new B,this.sorted=new B,this._unsortedItems=new Set,this._dropListRef=i.createDropList(e),this._dropListRef.data=this,l&&this._assignDefaults(l),this._dropListRef.enterPredicate=(c,u)=>this.enterPredicate(c.data,u.data),this._dropListRef.sortPredicate=(c,u,p)=>this.sortPredicate(c,u.data,p.data),this._setupInputSyncSubscription(this._dropListRef),this._handleEvents(this._dropListRef),t._dropLists.push(this),a&&a._items.add(this)}addItem(e){this._unsortedItems.add(e),this._dropListRef.isDragging()&&this._syncItemsWithRef()}removeItem(e){this._unsortedItems.delete(e),this._dropListRef.isDragging()&&this._syncItemsWithRef()}getSortedItems(){return Array.from(this._unsortedItems).sort((e,i)=>e._dragRef.getVisibleElement().compareDocumentPosition(i._dragRef.getVisibleElement())&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)}ngOnDestroy(){const e=t._dropLists.indexOf(this);e>-1&&t._dropLists.splice(e,1),this._group&&this._group._items.delete(this),this._unsortedItems.clear(),this._dropListRef.dispose(),this._destroyed.next(),this._destroyed.complete()}_setupInputSyncSubscription(e){this._dir&&this._dir.change.pipe(gn(this._dir.value),P(this._destroyed)).subscribe(i=>e.withDirection(i)),e.beforeStarted.subscribe(()=>{const i=Wu(this.connectedTo).map(o=>"string"==typeof o?t._dropLists.find(s=>s.id===o):o);if(this._group&&this._group._items.forEach(o=>{-1===i.indexOf(o)&&i.push(o)}),!this._scrollableParentsResolved){const o=this._scrollDispatcher.getAncestorScrollContainers(this.element).map(r=>r.getElementRef().nativeElement);this._dropListRef.withScrollableParents(o),this._scrollableParentsResolved=!0}e.disabled=this.disabled,e.lockAxis=this.lockAxis,e.sortingDisabled=this.sortingDisabled,e.autoScrollDisabled=this.autoScrollDisabled,e.autoScrollStep=Rs(this.autoScrollStep,2),e.connectedTo(i.filter(o=>o&&o!==this).map(o=>o._dropListRef)).withOrientation(this.orientation)})}_handleEvents(e){e.beforeStarted.subscribe(()=>{this._syncItemsWithRef(),this._changeDetectorRef.markForCheck()}),e.entered.subscribe(i=>{this.entered.emit({container:this,item:i.item.data,currentIndex:i.currentIndex})}),e.exited.subscribe(i=>{this.exited.emit({container:this,item:i.item.data}),this._changeDetectorRef.markForCheck()}),e.sorted.subscribe(i=>{this.sorted.emit({previousIndex:i.previousIndex,currentIndex:i.currentIndex,container:this,item:i.item.data})}),e.dropped.subscribe(i=>{this.dropped.emit({previousIndex:i.previousIndex,currentIndex:i.currentIndex,previousContainer:i.previousContainer.data,container:i.container.data,item:i.item.data,isPointerOverContainer:i.isPointerOverContainer,distance:i.distance,dropPoint:i.dropPoint,event:i.event}),this._changeDetectorRef.markForCheck()}),On(e.receivingStarted,e.receivingStopped).subscribe(()=>this._changeDetectorRef.markForCheck())}_assignDefaults(e){const{lockAxis:i,draggingDisabled:o,sortingDisabled:r,listAutoScrollDisabled:s,listOrientation:a}=e;this.disabled=o??!1,this.sortingDisabled=r??!1,this.autoScrollDisabled=s??!1,this.orientation=a||"vertical",i&&(this.lockAxis=i)}_syncItemsWithRef(){this._dropListRef.withItems(this.getSortedItems().map(e=>e._dragRef))}static#t=this.\u0275fac=function(i){return new(i||t)(v(Se),v(P7),v(We),v(s2),v(Ct,8),v(V7,12),v(Jk,8))};static#n=this.\u0275dir=de({type:t,selectors:[["","cdkDropList",""],["cdk-drop-list"]],hostAttrs:[1,"cdk-drop-list"],hostVars:7,hostBindings:function(i,o){2&i&&(Ot("id",o.id),Z("cdk-drop-list-disabled",o.disabled)("cdk-drop-list-dragging",o._dropListRef.isDragging())("cdk-drop-list-receiving",o._dropListRef.isReceiving()))},inputs:{connectedTo:[0,"cdkDropListConnectedTo","connectedTo"],data:[0,"cdkDropListData","data"],orientation:[0,"cdkDropListOrientation","orientation"],id:"id",lockAxis:[0,"cdkDropListLockAxis","lockAxis"],disabled:[2,"cdkDropListDisabled","disabled",I],sortingDisabled:[2,"cdkDropListSortingDisabled","sortingDisabled",I],enterPredicate:[0,"cdkDropListEnterPredicate","enterPredicate"],sortPredicate:[0,"cdkDropListSortPredicate","sortPredicate"],autoScrollDisabled:[2,"cdkDropListAutoScrollDisabled","autoScrollDisabled",I],autoScrollStep:[0,"cdkDropListAutoScrollStep","autoScrollStep"]},outputs:{dropped:"cdkDropListDropped",entered:"cdkDropListEntered",exited:"cdkDropListExited",sorted:"cdkDropListSorted"},exportAs:["cdkDropList"],standalone:!0,features:[et([{provide:V7,useValue:void 0},{provide:Zk,useExisting:t}]),je]})}return t})(),uae=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[P7],imports:[w7]})}return t})();const hae=["nz-modal-close",""];function pae(t,n){if(1&t&&(Ye(0),A(1,"span",2),Ue()),2&t){const e=n.$implicit;d(),h("nzType",e)}}const Xk=["modalElement"];function fae(t,n){if(1&t){const e=W();f(0,"button",16),M("click",function(){return S(e),T(g().onCloseClick())}),m()}}function mae(t,n){if(1&t&&(Ye(0),A(1,"span",12),Ue()),2&t){const e=g();d(),h("innerHTML",e.config.nzTitle,Gn)}}function gae(t,n){}function vae(t,n){1&t&&A(0,"div",12),2&t&&h("innerHTML",g().config.nzContent,Gn)}function bae(t,n){if(1&t){const e=W();f(0,"button",17),M("click",function(){return S(e),T(g().onCancel())}),w(1),m()}if(2&t){const e=g();h("nzLoading",e.config.nzCancelLoading)("disabled",e.config.nzCancelDisabled),Ot("cdkFocusInitial","cancel"===e.config.nzAutofocus||null),d(),we(" ",e.config.nzCancelText||e.locale.cancelText," ")}}function _ae(t,n){if(1&t){const e=W();f(0,"button",18),M("click",function(){return S(e),T(g().onOk())}),w(1),m()}if(2&t){const e=g();h("nzType",e.config.nzOkType)("nzLoading",e.config.nzOkLoading)("disabled",e.config.nzOkDisabled)("nzDanger",e.config.nzOkDanger),Ot("cdkFocusInitial","ok"===e.config.nzAutofocus||null),d(),we(" ",e.config.nzOkText||e.locale.okText," ")}}const yae=["nz-modal-footer",""],wae=(t,n)=>({$implicit:t,modalRef:n});function Cae(t,n){if(1&t){const e=W();f(0,"button",3),M("click",function(){const o=S(e).$implicit;return T(g(4).onButtonClick(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=g(4);h("hidden",!i.getButtonCallableProp(e,"show"))("nzLoading",i.getButtonCallableProp(e,"loading"))("disabled",i.getButtonCallableProp(e,"disabled"))("nzType",e.type)("nzDanger",e.danger)("nzShape",e.shape)("nzSize",e.size)("nzGhost",e.ghost),d(),we(" ",e.label," ")}}function zae(t,n){1&t&&ji(0,Cae,2,9,"button",2,fr),2&t&&Yi(g(3).buttons)}function Aae(t,n){1&t&&A(0,"div",1),2&t&&h("innerHTML",g(3).config.nzFooter,Gn)}function Sae(t,n){if(1&t&&(Ye(0),C(1,zae,2,0)(2,Aae,1,1,"div",1),Ue()),2&t){const e=g(2);d(),he(e.buttonsFooter?1:2)}}function Tae(t,n){if(1&t&&C(0,Sae,3,1,"ng-container",0),2&t){const e=g();h("nzStringTemplateOutlet",e.config.nzFooter)("nzStringTemplateOutletContext",sl(2,wae,e.config.nzData,e.modalRef))}}function Mae(t,n){if(1&t){const e=W();f(0,"button",6),M("click",function(){return S(e),T(g(2).onCancel())}),w(1),m()}if(2&t){const e=g(2);h("nzLoading",e.config.nzCancelLoading)("disabled",e.config.nzCancelDisabled),Ot("cdkFocusInitial","cancel"===e.config.nzAutofocus||null),d(),we(" ",e.config.nzCancelText||e.locale.cancelText," ")}}function Dae(t,n){if(1&t){const e=W();f(0,"button",7),M("click",function(){return S(e),T(g(2).onOk())}),w(1),m()}if(2&t){const e=g(2);h("nzType",e.config.nzOkType)("nzDanger",e.config.nzOkDanger)("nzLoading",e.config.nzOkLoading)("disabled",e.config.nzOkDisabled),Ot("cdkFocusInitial","ok"===e.config.nzAutofocus||null),d(),we(" ",e.config.nzOkText||e.locale.okText," ")}}function Eae(t,n){if(1&t&&C(0,Mae,2,4,"button",4)(1,Dae,2,6,"button",5),2&t){const e=g();he(null!==e.config.nzCancelText?0:-1),d(),he(null!==e.config.nzOkText?1:-1)}}const xae=["nz-modal-title",""];function kae(t,n){if(1&t&&(Ye(0),A(1,"div",2),Ue()),2&t){const e=g();d(),h("innerHTML",e.config.nzTitle,Gn)}}function Iae(t,n){if(1&t){const e=W();f(0,"button",9),M("click",function(){return S(e),T(g().onCloseClick())}),m()}}function Oae(t,n){1&t&&A(0,"div",10),2&t&&Lt("cursor",g().config.nzDraggable?"move":"auto")}function Pae(t,n){}function Vae(t,n){1&t&&A(0,"div",7),2&t&&h("innerHTML",g().config.nzContent,Gn)}function Nae(t,n){if(1&t){const e=W();f(0,"div",11),M("cancelTriggered",function(){return S(e),T(g().onCloseClick())})("okTriggered",function(){return S(e),T(g().onOkClick())}),m()}2&t&&h("modalRef",g().modalRef)}const eI=()=>{};class El{constructor(){this.nzCentered=!1,this.nzClosable=!0,this.nzOkLoading=!1,this.nzOkDisabled=!1,this.nzCancelDisabled=!1,this.nzCancelLoading=!1,this.nzDraggable=!1,this.nzNoAnimation=!1,this.nzAutofocus="auto",this.nzKeyboard=!0,this.nzZIndex=1e3,this.nzWidth=520,this.nzCloseIcon="close",this.nzOkType="primary",this.nzOkDanger=!1,this.nzModalType="default",this.nzOnCancel=eI,this.nzOnOk=eI,this.nzIconType="question-circle"}}const rp="ant-modal-mask",sp="modal",Fae=new oe("NZ_MODAL_DATA"),tI={modalContainer:No("modalContainer",[wo("void, exit",Ke({})),wo("enter",Ke({})),un("* => enter",an(".24s",Ke({}))),un("* => void, * => exit",an(".2s",Ke({})))])};let N7=(()=>{class t{constructor(e){this.config=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(El))};static#t=this.\u0275cmp=Q({type:t,selectors:[["button","nz-modal-close",""]],hostAttrs:["aria-label","Close",1,"ant-modal-close"],exportAs:["NzModalCloseBuiltin"],standalone:!0,features:[me],attrs:hae,decls:2,vars:1,consts:[[1,"ant-modal-close-x"],[4,"nzStringTemplateOutlet"],["nz-icon","",1,"ant-modal-close-icon",3,"nzType"]],template:function(i,o){1&i&&(f(0,"span",0),C(1,pae,2,1,"ng-container",1),m()),2&i&&(d(),h("nzStringTemplateOutlet",o.config.nzCloseIcon))},dependencies:[In,ln,Sn,An],encapsulation:2,changeDetection:0})}return t})();function _2(t,n,e){return typeof t>"u"?typeof n>"u"?e:n:t}function nI(t){const{nzCentered:n,nzMask:e,nzMaskClosable:i,nzClosable:o,nzOkLoading:r,nzOkDisabled:s,nzCancelDisabled:a,nzCancelLoading:l,nzKeyboard:c,nzNoAnimation:u,nzDraggable:p,nzContent:b,nzFooter:_,nzZIndex:y,nzWidth:z,nzWrapClassName:E,nzClassName:x,nzStyle:k,nzTitle:ie,nzCloseIcon:pe,nzMaskStyle:De,nzBodyStyle:qe,nzOkText:dt,nzCancelText:Ht,nzOkType:zt,nzOkDanger:Pn,nzIconType:so,nzModalType:Kn,nzOnOk:rr,nzOnCancel:sr,nzAfterOpen:ar,nzAfterClose:Oe,nzCloseOnNavigation:$e,nzAutofocus:tt}=t;return{nzCentered:n,nzMask:e,nzMaskClosable:i,nzDraggable:p,nzClosable:o,nzOkLoading:r,nzOkDisabled:s,nzCancelDisabled:a,nzCancelLoading:l,nzKeyboard:c,nzNoAnimation:u,nzContent:b,nzFooter:_,nzZIndex:y,nzWidth:z,nzWrapClassName:E,nzClassName:x,nzStyle:k,nzTitle:ie,nzCloseIcon:pe,nzMaskStyle:De,nzBodyStyle:qe,nzOkText:dt,nzCancelText:Ht,nzOkType:zt,nzOkDanger:Pn,nzIconType:so,nzModalType:Kn,nzOnOk:rr,nzOnCancel:sr,nzAfterOpen:ar,nzAfterClose:Oe,nzCloseOnNavigation:$e,nzAutofocus:tt}}function iI(){throw Error("Attempting to attach modal content after content is already attached")}let oI=(()=>{class t extends t7{get showMask(){const e=this.nzConfigService.getConfigForComponent(sp)||{};return!!_2(this.config.nzMask,e.nzMask,!0)}get maskClosable(){const e=this.nzConfigService.getConfigForComponent(sp)||{};return!!_2(this.config.nzMaskClosable,e.nzMaskClosable,!0)}constructor(e,i,o,r,s,a,l,c,u,p){super(),this.ngZone=e,this.host=i,this.focusTrapFactory=o,this.cdr=r,this.render=s,this.overlayRef=a,this.nzConfigService=l,this.config=c,this.animationType=p,this.animationStateChanged=new B,this.containerClick=new B,this.cancelTriggered=new B,this.okTriggered=new B,this.state="enter",this.isStringContent=!1,this.dir="ltr",this.elementFocusedBeforeModalWasOpened=null,this.mouseDown=!1,this.oldMaskStyle=null,this.destroy$=new V,this.document=u,this.dir=a.getDirection(),this.isStringContent="string"==typeof c.nzContent,this.nzConfigService.getConfigChangeEventForComponent(sp).pipe(P(this.destroy$)).subscribe(()=>{this.updateMaskClassname()})}onContainerClick(e){e.target===e.currentTarget&&!this.mouseDown&&this.showMask&&this.maskClosable&&this.containerClick.emit()}onCloseClick(){this.cancelTriggered.emit()}onOkClick(){this.okTriggered.emit()}attachComponentPortal(e){return this.portalOutlet.hasAttached()&&iI(),this.savePreviouslyFocusedElement(),this.setZIndexForBackdrop(),this.portalOutlet.attachComponentPortal(e)}attachTemplatePortal(e){return this.portalOutlet.hasAttached()&&iI(),this.savePreviouslyFocusedElement(),this.setZIndexForBackdrop(),this.portalOutlet.attachTemplatePortal(e)}attachStringContent(){this.savePreviouslyFocusedElement(),this.setZIndexForBackdrop()}getNativeElement(){return this.host.nativeElement}animationDisabled(){return this.config.nzNoAnimation||"NoopAnimations"===this.animationType}setModalTransformOrigin(){const e=this.modalElementRef.nativeElement;if(this.elementFocusedBeforeModalWasOpened){const i=this.elementFocusedBeforeModalWasOpened.getBoundingClientRect(),o=hE(this.elementFocusedBeforeModalWasOpened);this.render.setStyle(e,"transform-origin",`${o.left+i.width/2-e.offsetLeft}px ${o.top+i.height/2-e.offsetTop}px 0px`)}}savePreviouslyFocusedElement(){this.focusTrap||(this.focusTrap=this.focusTrapFactory.create(this.host.nativeElement)),this.document&&(this.elementFocusedBeforeModalWasOpened=this.document.activeElement,this.host.nativeElement.focus&&this.ngZone.runOutsideAngular(()=>p2(()=>this.host.nativeElement.focus())))}trapFocus(){const e=this.host.nativeElement;if(this.config.nzAutofocus)this.focusTrap.focusInitialElementWhenReady();else{const i=this.document.activeElement;i!==e&&!e.contains(i)&&e.focus()}}restoreFocus(){const e=this.elementFocusedBeforeModalWasOpened;if(e&&"function"==typeof e.focus){const i=this.document.activeElement,o=this.host.nativeElement;(!i||i===this.document.body||i===o||o.contains(i))&&e.focus()}this.focusTrap&&this.focusTrap.destroy()}setEnterAnimationClass(){if(this.animationDisabled())return;this.setModalTransformOrigin();const e=this.modalElementRef.nativeElement,i=this.overlayRef.backdropElement;e.classList.add("ant-zoom-enter"),e.classList.add("ant-zoom-enter-active"),i&&(i.classList.add("ant-fade-enter"),i.classList.add("ant-fade-enter-active"))}setExitAnimationClass(){const e=this.modalElementRef.nativeElement;e.classList.add("ant-zoom-leave"),e.classList.add("ant-zoom-leave-active"),this.setMaskExitAnimationClass()}setMaskExitAnimationClass(e=!1){const i=this.overlayRef.backdropElement;if(i){if(this.animationDisabled()||e)return void i.classList.remove(rp);i.classList.add("ant-fade-leave"),i.classList.add("ant-fade-leave-active")}}cleanAnimationClass(){if(this.animationDisabled())return;const e=this.overlayRef.backdropElement,i=this.modalElementRef.nativeElement;e&&(e.classList.remove("ant-fade-enter"),e.classList.remove("ant-fade-enter-active")),i.classList.remove("ant-zoom-enter"),i.classList.remove("ant-zoom-enter-active"),i.classList.remove("ant-zoom-leave"),i.classList.remove("ant-zoom-leave-active")}setZIndexForBackdrop(){const e=this.overlayRef.backdropElement;e&&_r(this.config.nzZIndex)&&this.render.setStyle(e,"z-index",this.config.nzZIndex)}bindBackdropStyle(){const e=this.overlayRef.backdropElement;if(e&&(this.oldMaskStyle&&(Object.keys(this.oldMaskStyle).forEach(o=>{this.render.removeStyle(e,o)}),this.oldMaskStyle=null),this.setZIndexForBackdrop(),"object"==typeof this.config.nzMaskStyle&&Object.keys(this.config.nzMaskStyle).length)){const i={...this.config.nzMaskStyle};Object.keys(i).forEach(o=>{this.render.setStyle(e,o,i[o])}),this.oldMaskStyle=i}}updateMaskClassname(){const e=this.overlayRef.backdropElement;e&&(this.showMask?e.classList.add(rp):e.classList.remove(rp))}onAnimationDone(e){"enter"===e.toState?this.trapFocus():"exit"===e.toState&&this.restoreFocus(),this.cleanAnimationClass(),this.animationStateChanged.emit(e)}onAnimationStart(e){"enter"===e.toState?(this.setEnterAnimationClass(),this.bindBackdropStyle()):"exit"===e.toState&&this.setExitAnimationClass(),this.animationStateChanged.emit(e)}startExitAnimation(){this.state="exit",this.cdr.markForCheck()}ngOnDestroy(){this.setMaskExitAnimationClass(!0),this.destroy$.next(!0),this.destroy$.complete()}setupMouseListeners(e){this.ngZone.runOutsideAngular(()=>{nn(this.host.nativeElement,"mouseup").pipe(P(this.destroy$)).subscribe(()=>{this.mouseDown&&setTimeout(()=>{this.mouseDown=!1})}),nn(e.nativeElement,"mousedown").pipe(P(this.destroy$)).subscribe(()=>{this.mouseDown=!0})})}static#e=this.\u0275fac=function(i){W8()};static#t=this.\u0275dir=de({type:t,features:[mt]})}return t})(),rI=(()=>{class t extends oI{constructor(e,i,o,r,s,a,l,c,u,p,b){super(e,o,r,s,a,l,c,u,p,b),this.i18n=i,this.config=u,this.cancelTriggered=new B,this.okTriggered=new B,this.i18n.localeChange.pipe(P(this.destroy$)).subscribe(()=>{this.locale=this.i18n.getLocaleData("Modal")})}ngOnInit(){this.setupMouseListeners(this.modalElementRef)}onCancel(){this.cancelTriggered.emit()}onOk(){this.okTriggered.emit()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Ys),v(Se),v(T7),v(We),v(Yt),v(G3),v(si),v(El),v(Pt,8),v(ta,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-modal-confirm-container"]],viewQuery:function(i,o){if(1&i&&(ft(Zu,7),ft(Xk,7)),2&i){let r;ke(r=Ie())&&(o.portalOutlet=r.first),ke(r=Ie())&&(o.modalElementRef=r.first)}},hostAttrs:["tabindex","-1","role","dialog"],hostVars:10,hostBindings:function(i,o){1&i&&(R0("@modalContainer.start",function(s){return o.onAnimationStart(s)})("@modalContainer.done",function(s){return o.onAnimationDone(s)}),M("click",function(s){return o.onContainerClick(s)})),2&i&&(ol("@.disabled",o.config.nzNoAnimation)("@modalContainer",o.state),k0(o.config.nzWrapClassName?"ant-modal-wrap "+o.config.nzWrapClassName:"ant-modal-wrap"),Lt("z-index",o.config.nzZIndex),Z("ant-modal-wrap-rtl","rtl"===o.dir)("ant-modal-centered",o.config.nzCentered))},outputs:{cancelTriggered:"cancelTriggered",okTriggered:"okTriggered"},exportAs:["nzModalConfirmContainer"],standalone:!0,features:[mt,me],decls:17,vars:13,consts:[["modalElement",""],["role","document",1,"ant-modal",3,"ngClass","ngStyle"],[1,"ant-modal-content"],["nz-modal-close",""],[1,"ant-modal-body",3,"ngStyle"],[1,"ant-modal-confirm-body-wrapper"],[1,"ant-modal-confirm-body"],["nz-icon","",3,"nzType"],[1,"ant-modal-confirm-title"],[4,"nzStringTemplateOutlet"],[1,"ant-modal-confirm-content"],["cdkPortalOutlet",""],[3,"innerHTML"],[1,"ant-modal-confirm-btns"],["nz-button","",3,"nzLoading","disabled"],["nz-button","",3,"nzType","nzLoading","disabled","nzDanger"],["nz-modal-close","",3,"click"],["nz-button","",3,"click","nzLoading","disabled"],["nz-button","",3,"click","nzType","nzLoading","disabled","nzDanger"]],template:function(i,o){1&i&&(f(0,"div",1,0),Fr(2,"nzToCssUnit"),f(3,"div",2),C(4,fae,1,0,"button",3),f(5,"div",4)(6,"div",5)(7,"div",6),A(8,"span",7),f(9,"span",8),C(10,mae,2,1,"ng-container",9),m(),f(11,"div",10),C(12,gae,0,0,"ng-template",11)(13,vae,1,1,"div",12),m()(),f(14,"div",13),C(15,bae,2,4,"button",14)(16,_ae,2,6,"button",15),m()()()()()),2&i&&(Lt("width",Rr(2,11,null==o.config?null:o.config.nzWidth)),h("ngClass",o.config.nzClassName)("ngStyle",o.config.nzStyle),d(4),he(o.config.nzClosable?4:-1),d(),h("ngStyle",o.config.nzBodyStyle),d(3),h("nzType",o.config.nzIconType),d(2),h("nzStringTemplateOutlet",o.config.nzTitle),d(3),he(o.isStringContent?13:-1),d(2),he(null!==o.config.nzCancelText?15:-1),d(),he(null!==o.config.nzOkText?16:-1))},dependencies:[Jo,ti,mk,S7,In,ln,N7,Sn,An,z3,Zu,h2,nr,mi,tr],encapsulation:2,data:{animation:[tI.modalContainer]}})}return t})(),sI=(()=>{class t{constructor(e,i){this.i18n=e,this.config=i,this.buttonsFooter=!1,this.buttons=[],this.cancelTriggered=new B,this.okTriggered=new B,this.destroy$=new V,Array.isArray(i.nzFooter)&&(this.buttonsFooter=!0,this.buttons=i.nzFooter.map(Lae)),this.i18n.localeChange.pipe(P(this.destroy$)).subscribe(()=>{this.locale=this.i18n.getLocaleData("Modal")})}onCancel(){this.cancelTriggered.emit()}onOk(){this.okTriggered.emit()}getButtonCallableProp(e,i){const o=e[i],r=this.modalRef.getContentComponent();return"function"==typeof o?o.apply(e,r&&[r]):o}onButtonClick(e){if(!this.getButtonCallableProp(e,"loading")){const o=this.getButtonCallableProp(e,"onClick");e.autoLoading&&U5(o)&&(e.loading=!0,o.then(()=>e.loading=!1).catch(r=>{throw e.loading=!1,r}))}}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ys),v(El))};static#t=this.\u0275cmp=Q({type:t,selectors:[["div","nz-modal-footer",""]],hostAttrs:[1,"ant-modal-footer"],inputs:{modalRef:"modalRef"},outputs:{cancelTriggered:"cancelTriggered",okTriggered:"okTriggered"},exportAs:["NzModalFooterBuiltin"],standalone:!0,features:[me],attrs:yae,decls:2,vars:1,consts:[[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],[3,"innerHTML"],["nz-button","",3,"hidden","nzLoading","disabled","nzType","nzDanger","nzShape","nzSize","nzGhost"],["nz-button","",3,"click","hidden","nzLoading","disabled","nzType","nzDanger","nzShape","nzSize","nzGhost"],["nz-button","",3,"nzLoading","disabled"],["nz-button","",3,"nzType","nzDanger","nzLoading","disabled"],["nz-button","",3,"click","nzLoading","disabled"],["nz-button","",3,"click","nzType","nzDanger","nzLoading","disabled"]],template:function(i,o){1&i&&C(0,Tae,1,5,"ng-container")(1,Eae,2,2),2&i&&he(o.config.nzFooter?0:1)},dependencies:[Sn,An,h2,nr,mi,tr],encapsulation:2})}return t})();function Lae(t){return{type:null,size:"default",autoLoading:!0,show:!0,loading:!1,disabled:!1,...t}}let aI=(()=>{class t{constructor(e){this.config=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(El))};static#t=this.\u0275cmp=Q({type:t,selectors:[["div","nz-modal-title",""]],hostAttrs:[1,"ant-modal-header"],exportAs:["NzModalTitleBuiltin"],standalone:!0,features:[me],attrs:xae,decls:2,vars:1,consts:[[1,"ant-modal-title"],[4,"nzStringTemplateOutlet"],[3,"innerHTML"]],template:function(i,o){1&i&&(f(0,"div",0),C(1,kae,2,1,"ng-container",1),m()),2&i&&(d(),h("nzStringTemplateOutlet",o.config.nzTitle))},dependencies:[Sn,An],encapsulation:2,changeDetection:0})}return t})(),lI=(()=>{class t extends oI{constructor(e,i,o,r,s,a,l,c,u,p){super(e,i,o,r,s,a,l,c,u,p),this.config=c}ngOnInit(){this.setupMouseListeners(this.modalElementRef)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se),v(T7),v(We),v(Yt),v(G3),v(si),v(El),v(Pt,8),v(ta,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-modal-container"]],viewQuery:function(i,o){if(1&i&&(ft(Zu,7),ft(Xk,7)),2&i){let r;ke(r=Ie())&&(o.portalOutlet=r.first),ke(r=Ie())&&(o.modalElementRef=r.first)}},hostAttrs:["tabindex","-1","role","dialog"],hostVars:10,hostBindings:function(i,o){1&i&&(R0("@modalContainer.start",function(s){return o.onAnimationStart(s)})("@modalContainer.done",function(s){return o.onAnimationDone(s)}),M("click",function(s){return o.onContainerClick(s)})),2&i&&(ol("@.disabled",o.config.nzNoAnimation)("@modalContainer",o.state),k0(o.config.nzWrapClassName?"ant-modal-wrap "+o.config.nzWrapClassName:"ant-modal-wrap"),Lt("z-index",o.config.nzZIndex),Z("ant-modal-wrap-rtl","rtl"===o.dir)("ant-modal-centered",o.config.nzCentered))},exportAs:["nzModalContainer"],standalone:!0,features:[mt,me],decls:10,vars:12,consts:[["modalElement",""],["cdkDrag","","cdkDragBoundary",".cdk-overlay-container","role","document",1,"ant-modal",3,"cdkDragDisabled","ngClass","ngStyle"],[1,"ant-modal-content"],["nz-modal-close",""],["nz-modal-title","","cdkDragHandle","",3,"cursor"],[1,"ant-modal-body",3,"ngStyle"],["cdkPortalOutlet",""],[3,"innerHTML"],["nz-modal-footer","",3,"modalRef"],["nz-modal-close","",3,"click"],["nz-modal-title","","cdkDragHandle",""],["nz-modal-footer","",3,"cancelTriggered","okTriggered","modalRef"]],template:function(i,o){1&i&&(f(0,"div",1,0),Fr(2,"nzToCssUnit"),f(3,"div",2),C(4,Iae,1,0,"button",3)(5,Oae,1,2,"div",4),f(6,"div",5),C(7,Pae,0,0,"ng-template",6)(8,Vae,1,1,"div",7),m(),C(9,Nae,1,1,"div",8),m()()),2&i&&(Lt("width",Rr(2,10,null==o.config?null:o.config.nzWidth)),h("cdkDragDisabled",!o.config.nzDraggable)("ngClass",o.config.nzClassName)("ngStyle",o.config.nzStyle),d(4),he(o.config.nzClosable?4:-1),d(),he(o.config.nzTitle?5:-1),d(),h("ngStyle",o.config.nzBodyStyle),d(2),he(o.isStringContent?8:-1),d(),he(null!==o.config.nzFooter?9:-1))},dependencies:[Jo,ti,N7,aI,z3,Zu,sI,mk,S7,b2,$k],encapsulation:2,data:{animation:[tI.modalContainer]}})}return t})();class ap{constructor(n,e,i){this.overlayRef=n,this.config=e,this.containerInstance=i,this.componentInstance=null,this.componentRef=null,this.state=0,this.afterClose=new V,this.afterOpen=new V,this.destroy$=new V,i.animationStateChanged.pipe(yt(o=>"done"===o.phaseName&&"enter"===o.toState),io(1)).subscribe(()=>{this.afterOpen.next(),this.afterOpen.complete(),e.nzAfterOpen instanceof B&&e.nzAfterOpen.emit()}),i.animationStateChanged.pipe(yt(o=>"done"===o.phaseName&&"exit"===o.toState),io(1)).subscribe(()=>{clearTimeout(this.closeTimeout),this._finishDialogClose()}),i.containerClick.pipe(P(this.destroy$)).subscribe(()=>{!this.config.nzCancelLoading&&!this.config.nzOkLoading&&this.trigger("cancel")}),n.keydownEvents().pipe(yt(o=>this.config.nzKeyboard&&!this.config.nzCancelLoading&&!this.config.nzOkLoading&&27===o.keyCode&&!c2(o))).subscribe(o=>{o.preventDefault(),this.trigger("cancel")}),i.cancelTriggered.pipe(P(this.destroy$)).subscribe(()=>this.trigger("cancel")),i.okTriggered.pipe(P(this.destroy$)).subscribe(()=>this.trigger("ok")),n.detachments().subscribe(()=>{this.afterClose.next(this.result),this.afterClose.complete(),e.nzAfterClose instanceof B&&e.nzAfterClose.emit(this.result),this.componentInstance=null,this.componentRef=null,this.overlayRef.dispose()})}getContentComponent(){return this.componentInstance}getContentComponentRef(){return this.componentRef}getElement(){return this.containerInstance.getNativeElement()}destroy(n){this.close(n)}triggerOk(){return this.trigger("ok")}triggerCancel(){return this.trigger("cancel")}close(n){0===this.state&&(this.result=n,this.containerInstance.animationStateChanged.pipe(yt(e=>"start"===e.phaseName),io(1)).subscribe(e=>{this.overlayRef.detachBackdrop(),this.closeTimeout=setTimeout(()=>{this._finishDialogClose()},e.totalTime+100)}),this.containerInstance.startExitAnimation(),this.state=1)}updateConfig(n){Object.assign(this.config,n),this.containerInstance.bindBackdropStyle(),this.containerInstance.cdr.markForCheck()}getState(){return this.state}getConfig(){return this.config}getBackdropElement(){return this.overlayRef.backdropElement}trigger(n){var e=this;return Mi(function*(){if(1===e.state)return;const i={ok:e.config.nzOnOk,cancel:e.config.nzOnCancel}[n],o={ok:"nzOkLoading",cancel:"nzCancelLoading"}[n];if(!e.config[o])if(i instanceof B)i.emit(e.getContentComponent());else if("function"==typeof i){const s=i(e.getContentComponent());if(U5(s)){e.config[o]=!0;let a=!1;try{a=yield s}finally{e.config[o]=!1,e.closeWhitResult(a)}}else e.closeWhitResult(s)}})()}closeWhitResult(n){!1!==n&&this.close(n)}_finishDialogClose(){this.state=2,this.overlayRef.dispose(),this.destroy$.next()}}let za=(()=>{class t{get openModals(){return this.parentModal?this.parentModal.openModals:this.openModalsAtThisLevel}get _afterAllClosed(){const e=this.parentModal;return e?e._afterAllClosed:this.afterAllClosedAtThisLevel}constructor(e,i,o,r,s){this.overlay=e,this.injector=i,this.nzConfigService=o,this.parentModal=r,this.directionality=s,this.openModalsAtThisLevel=[],this.afterAllClosedAtThisLevel=new V,this.afterAllClose=mg(()=>this.openModals.length?this._afterAllClosed:this._afterAllClosed.pipe(gn(void 0)))}create(e){return this.open(e.nzContent,e)}closeAll(){this.closeModals(this.openModals)}confirm(e={},i="confirm"){return"nzWidth"in e||(e.nzWidth=416),"nzMaskClosable"in e||(e.nzMaskClosable=!1),e.nzModalType="confirm",e.nzClassName=`ant-modal-confirm ant-modal-confirm-${i} ${e.nzClassName||""}`,this.create(e)}info(e={}){return this.confirmFactory(e,"info")}success(e={}){return this.confirmFactory(e,"success")}error(e={}){return this.confirmFactory(e,"error")}warning(e={}){return this.confirmFactory(e,"warning")}open(e,i){const o=function Rae(t,n){return{...n,...t}}(i||{},new El),r=this.createOverlay(o),s=this.attachModalContainer(r,o),a=this.attachModalContent(e,s,r,o);return s.modalRef=a,function ise(t,n){n&&(t._host.style.zIndex=`${n}`)}(r,i?.nzZIndex),this.openModals.push(a),a.afterClose.subscribe(()=>this.removeOpenModal(a)),a}removeOpenModal(e){const i=this.openModals.indexOf(e);i>-1&&(this.openModals.splice(i,1),this.openModals.length||this._afterAllClosed.next())}closeModals(e){let i=e.length;for(;i--;)e[i].close(),this.openModals.length||this._afterAllClosed.next()}createOverlay(e){const i=this.nzConfigService.getConfigForComponent(sp)||{},o=new A7({hasBackdrop:!0,scrollStrategy:this.overlay.scrollStrategies.block(),positionStrategy:this.overlay.position().global(),disposeOnNavigation:_2(e.nzCloseOnNavigation,i.nzCloseOnNavigation,!0),direction:_2(e.nzDirection,i.nzDirection,this.directionality.value)});return _2(e.nzMask,i.nzMask,!0)&&(o.backdropClass=rp),this.overlay.create(o)}attachModalContainer(e,i){const r=tn.create({parent:i&&i.nzViewContainerRef&&i.nzViewContainerRef.injector||this.injector,providers:[{provide:G3,useValue:e},{provide:El,useValue:i}]}),a=new $u("confirm"===i.nzModalType?rI:lI,i.nzViewContainerRef,r);return e.attach(a).instance}attachModalContent(e,i,o,r){const s=new ap(o,r,i);if(e instanceof qt)i.attachTemplatePortal(new Ju(e,null,{$implicit:r.nzData,modalRef:s}));else if(_r(e)&&"string"!=typeof e){const a=this.createInjector(s,r),l=i.attachComponentPortal(new $u(e,r.nzViewContainerRef,a));s.componentRef=l,s.componentInstance=l.instance}else i.attachStringContent();return s}createInjector(e,i){return tn.create({parent:i&&i.nzViewContainerRef&&i.nzViewContainerRef.injector||this.injector,providers:[{provide:ap,useValue:e},{provide:Fae,useValue:i.nzData}]})}confirmFactory(e={},i){return"nzIconType"in e||(e.nzIconType={info:"info-circle",success:"check-circle",error:"close-circle",warning:"exclamation-circle"}[i]),"nzCancelText"in e||(e.nzCancelText=null),this.confirm(e,i)}ngOnDestroy(){this.closeModals(this.openModalsAtThisLevel),this.afterAllClosedAtThisLevel.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(R(ya),R(tn),R(si),R(t,12),R(Ct,8))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),y2=(()=>{class t{constructor(e){this.templateRef=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzModalContent",""]],exportAs:["nzModalContent"],standalone:!0})}return t})(),Bae=(()=>{class t{constructor(e,i){this.nzModalRef=e,this.templateRef=i,this.nzModalRef&&this.nzModalRef.updateConfig({nzFooter:this.templateRef})}static#e=this.\u0275fac=function(i){return new(i||t)(v(ap,8),v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzModalFooter",""]],exportAs:["nzModalFooter"],standalone:!0})}return t})(),Hae=(()=>{class t{constructor(e,i){this.nzModalRef=e,this.templateRef=i,this.nzModalRef&&this.nzModalRef.updateConfig({nzTitle:this.templateRef})}static#e=this.\u0275fac=function(i){return new(i||t)(v(ap,8),v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzModalTitle",""]],exportAs:["nzModalTitle"],standalone:!0})}return t})(),lp=(()=>{class t{set modalTitle(e){e&&this.setTitleWithTemplate(e)}set modalFooter(e){e&&this.setFooterWithTemplate(e)}get afterOpen(){return this.nzAfterOpen.asObservable()}get afterClose(){return this.nzAfterClose.asObservable()}constructor(e,i,o){this.cdr=e,this.modal=i,this.viewContainerRef=o,this.nzVisible=!1,this.nzClosable=!0,this.nzOkLoading=!1,this.nzOkDisabled=!1,this.nzCancelDisabled=!1,this.nzCancelLoading=!1,this.nzKeyboard=!0,this.nzNoAnimation=!1,this.nzCentered=!1,this.nzDraggable=!1,this.nzZIndex=1e3,this.nzWidth=520,this.nzCloseIcon="close",this.nzOkType="primary",this.nzOkDanger=!1,this.nzIconType="question-circle",this.nzModalType="default",this.nzAutofocus="auto",this.nzOnOk=new B,this.nzOnCancel=new B,this.nzAfterOpen=new B,this.nzAfterClose=new B,this.nzVisibleChange=new B,this.modalRef=null,this.destroy$=new V}open(){if(this.nzVisible||(this.nzVisible=!0,this.nzVisibleChange.emit(!0)),!this.modalRef){const e=this.getConfig();this.modalRef=this.modal.create(e),this.modalRef.afterClose.asObservable().pipe(P(this.destroy$)).subscribe(()=>{this.close()})}}close(e){this.nzVisible&&(this.nzVisible=!1,this.nzVisibleChange.emit(!1)),this.modalRef&&(this.modalRef.close(e),this.modalRef=null)}destroy(e){this.close(e)}triggerOk(){this.modalRef?.triggerOk()}triggerCancel(){this.modalRef?.triggerCancel()}getContentComponent(){return this.modalRef?.getContentComponent()}getElement(){return this.modalRef?.getElement()}getModalRef(){return this.modalRef}setTitleWithTemplate(e){this.nzTitle=e,this.modalRef&&Promise.resolve().then(()=>{this.modalRef.updateConfig({nzTitle:this.nzTitle})})}setFooterWithTemplate(e){this.nzFooter=e,this.modalRef&&Promise.resolve().then(()=>{this.modalRef.updateConfig({nzFooter:this.nzFooter})}),this.cdr.markForCheck()}getConfig(){const e=nI(this);return e.nzViewContainerRef=this.viewContainerRef,e.nzContent=this.nzContent||this.contentFromContentChild,e}ngOnChanges(e){const{nzVisible:i,...o}=e;Object.keys(o).length&&this.modalRef&&this.modalRef.updateConfig(nI(this)),i&&(this.nzVisible?this.open():this.close())}ngOnDestroy(){this.modalRef?._finishDialogClose(),this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(za),v(qn))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-modal"]],contentQueries:function(i,o,r){if(1&i&&(fn(r,Hae,7,qt),fn(r,y2,7,qt),fn(r,Bae,7,qt)),2&i){let s;ke(s=Ie())&&(o.modalTitle=s.first),ke(s=Ie())&&(o.contentFromContentChild=s.first),ke(s=Ie())&&(o.modalFooter=s.first)}},inputs:{nzMask:[2,"nzMask","nzMask",I],nzMaskClosable:[2,"nzMaskClosable","nzMaskClosable",I],nzCloseOnNavigation:[2,"nzCloseOnNavigation","nzCloseOnNavigation",I],nzVisible:[2,"nzVisible","nzVisible",I],nzClosable:[2,"nzClosable","nzClosable",I],nzOkLoading:[2,"nzOkLoading","nzOkLoading",I],nzOkDisabled:[2,"nzOkDisabled","nzOkDisabled",I],nzCancelDisabled:[2,"nzCancelDisabled","nzCancelDisabled",I],nzCancelLoading:[2,"nzCancelLoading","nzCancelLoading",I],nzKeyboard:[2,"nzKeyboard","nzKeyboard",I],nzNoAnimation:[2,"nzNoAnimation","nzNoAnimation",I],nzCentered:[2,"nzCentered","nzCentered",I],nzDraggable:[2,"nzDraggable","nzDraggable",I],nzContent:"nzContent",nzFooter:"nzFooter",nzZIndex:[2,"nzZIndex","nzZIndex",Oi],nzWidth:"nzWidth",nzWrapClassName:"nzWrapClassName",nzClassName:"nzClassName",nzStyle:"nzStyle",nzTitle:"nzTitle",nzCloseIcon:"nzCloseIcon",nzMaskStyle:"nzMaskStyle",nzBodyStyle:"nzBodyStyle",nzOkText:"nzOkText",nzCancelText:"nzCancelText",nzOkType:"nzOkType",nzOkDanger:[2,"nzOkDanger","nzOkDanger",I],nzIconType:"nzIconType",nzModalType:"nzModalType",nzAutofocus:"nzAutofocus",nzOnOk:"nzOnOk",nzOnCancel:"nzOnCancel"},outputs:{nzOnOk:"nzOnOk",nzOnCancel:"nzOnCancel",nzAfterOpen:"nzAfterOpen",nzAfterClose:"nzAfterClose",nzVisibleChange:"nzVisibleChange"},exportAs:["nzModal"],standalone:!0,features:[je,xe,me],decls:0,vars:0,template:function(i,o){},encapsulation:2,changeDetection:0})}return t})(),jae=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:[za],imports:[N7,sI,aI,lI,rI]})}return t})(),zo=(()=>{class t{constructor(){this.animationType=G(ta,{optional:!0}),this.nzNoAnimation=!1}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nzNoAnimation",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("nz-animate-disabled",o.nzNoAnimation||"NoopAnimations"===o.animationType)},inputs:{nzNoAnimation:[2,"nzNoAnimation","nzNoAnimation",I]},exportAs:["nzNoAnimation"],standalone:!0,features:[je]})}return t})();const Yae=["nz-menu-item",""],cI=["*"],Uae=["nz-submenu-inline-child",""];function Wae(t,n){}const Gae=["nz-submenu-none-inline-child",""];function qae(t,n){}const Qae=["nz-submenu-title",""];function Kae(t,n){1&t&&A(0,"span",0),2&t&&h("nzType",g().nzIcon)}function $ae(t,n){if(1&t&&(Ye(0),f(1,"span",4),w(2),m(),Ue()),2&t){const e=g();d(2),D(e.nzTitle)}}function Jae(t,n){1&t&&A(0,"span",5)}function Zae(t,n){1&t&&A(0,"span",6)}function Xae(t,n){if(1&t&&(f(0,"span",2),C(1,Jae,1,0,"span",5)(2,Zae,1,0,"span",6),m()),2&t){let e;const i=g();d(),he("rtl"===(e=i.dir)?1:2)}}function ele(t,n){1&t&&A(0,"span",3)}const tle=["nz-submenu",""],nle=[[["","title",""]],"*"],ile=["[title]","*"];function ole(t,n){1&t&&_t(0)}function rle(t,n){if(1&t&&A(0,"div",3),2&t){const e=g(),i=Be(6);h("mode",e.mode)("nzOpen",e.nzOpen)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)("menuClass",e.nzMenuClassName)("templateOutlet",i)}}function sle(t,n){if(1&t){const e=W();f(0,"div",6),M("subMenuMouseState",function(o){return S(e),T(g(2).setMouseEnterState(o))}),m()}if(2&t){const e=g(2),i=Be(6);h("theme",e.theme)("mode",e.mode)("nzOpen",e.nzOpen)("position",e.position)("nzDisabled",e.nzDisabled)("isMenuInsideDropDown",e.isMenuInsideDropDown)("templateOutlet",i)("menuClass",e.nzMenuClassName)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)}}function ale(t,n){if(1&t){const e=W();C(0,sle,1,10,"ng-template",5),M("positionChange",function(o){return S(e),T(g().onPositionChange(o))})}if(2&t){const e=g(),i=Be(1);h("cdkConnectedOverlayPositions",e.overlayPositions)("cdkConnectedOverlayOrigin",i)("cdkConnectedOverlayWidth",e.triggerWidth)("cdkConnectedOverlayOpen",e.nzOpen)("cdkConnectedOverlayTransformOriginOn",".ant-menu-submenu")}}function lle(t,n){1&t&&_t(0,1)}const cle=["titleElement"],dle=["nz-menu-group",""],ule=["*",[["","title",""]]],hle=["*","[title]"];function ple(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.nzTitle)}}function fle(t,n){1&t&&_t(0,1)}const gs=new oe("NzIsInDropDownMenuToken"),dI=new oe("NzMenuServiceLocalToken");let Us=(()=>{class t{constructor(){this.descendantMenuItemClick$=new V,this.childMenuItemClick$=new V,this.theme$=new rt("light"),this.mode$=new rt("vertical"),this.inlineIndent$=new rt(24),this.isChildSubMenuOpen$=new rt(!1)}onDescendantMenuItemClick(e){this.descendantMenuItemClick$.next(e)}onChildMenuItemClick(e){this.childMenuItemClick$.next(e)}setMode(e){this.mode$.next(e)}setTheme(e){this.theme$.next(e)}setInlineIndent(e){this.inlineIndent$.next(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),F7=(()=>{class t{onChildMenuItemClick(e){this.childMenuItemClick$.next(e)}setOpenStateWithoutDebounce(e){this.isCurrentSubMenuOpen$.next(e)}setMouseEnterTitleOrOverlayState(e){this.isMouseEnterTitleOrOverlay$.next(e)}constructor(e,i,o){this.nzHostSubmenuService=e,this.nzMenuService=i,this.isMenuInsideDropDown=o,this.mode$=this.nzMenuService.mode$.pipe(Pe(l=>"inline"===l?"inline":"vertical"===l||this.nzHostSubmenuService?"vertical":"horizontal")),this.level=1,this.isCurrentSubMenuOpen$=new rt(!1),this.isChildSubMenuOpen$=new rt(!1),this.isMouseEnterTitleOrOverlay$=new V,this.childMenuItemClick$=new V,this.destroy$=new V,this.nzHostSubmenuService&&(this.level=this.nzHostSubmenuService.level+1);const r=this.childMenuItemClick$.pipe(Yn(()=>this.mode$),yt(l=>"inline"!==l||this.isMenuInsideDropDown),hl(!1)),s=On(this.isMouseEnterTitleOrOverlay$,r);Di([this.isChildSubMenuOpen$,s]).pipe(Pe(([l,c])=>l||c),bl(150),Qi(),P(this.destroy$)).pipe(Qi()).subscribe(l=>{this.setOpenStateWithoutDebounce(l),this.nzHostSubmenuService?this.nzHostSubmenuService.isChildSubMenuOpen$.next(l):this.nzMenuService.isChildSubMenuOpen$.next(l)})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(R(t,12),R(Us),R(gs))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),Ws=(()=>{class t{clickMenuItem(e){this.nzDisabled?(e.preventDefault(),e.stopPropagation()):(this.nzMenuService.onDescendantMenuItemClick(this),this.nzSubmenuService?this.nzSubmenuService.onChildMenuItemClick(this):this.nzMenuService.onChildMenuItemClick(this))}setSelectedState(e){this.nzSelected=e,this.selected$.next(e)}updateRouterActive(){!this.listOfRouterLink||!this.router||!this.router.navigated||!this.nzMatchRouter||Promise.resolve().then(()=>{const e=this.hasActiveLinks();this.nzSelected!==e&&(this.nzSelected=e,this.setSelectedState(this.nzSelected),this.cdr.markForCheck())})}hasActiveLinks(){const e=this.isLinkActive(this.router);return this.routerLink&&e(this.routerLink)||this.listOfRouterLink.some(e)}isLinkActive(e){return i=>e.isActive(i.urlTree||"",{paths:this.nzMatchRouterExact?"exact":"subset",queryParams:this.nzMatchRouterExact?"exact":"subset",fragment:"ignored",matrixParams:"ignored"})}constructor(e,i,o,r,s,a,l){this.nzMenuService=e,this.cdr=i,this.nzSubmenuService=o,this.isMenuInsideDropDown=r,this.directionality=s,this.routerLink=a,this.router=l,this.destroy$=new V,this.level=this.nzSubmenuService?this.nzSubmenuService.level+1:1,this.selected$=new V,this.inlinePaddingLeft=null,this.dir="ltr",this.nzDisabled=!1,this.nzSelected=!1,this.nzDanger=!1,this.nzMatchRouterExact=!1,this.nzMatchRouter=!1,l&&this.router.events.pipe(P(this.destroy$),yt(c=>c instanceof Hr)).subscribe(()=>{this.updateRouterActive()})}ngOnInit(){Di([this.nzMenuService.mode$,this.nzMenuService.inlineIndent$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{this.inlinePaddingLeft="inline"===e?this.level*i:null}),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngAfterContentInit(){this.listOfRouterLink.changes.pipe(P(this.destroy$)).subscribe(()=>this.updateRouterActive()),this.updateRouterActive()}ngOnChanges(e){e.nzSelected&&this.setSelectedState(this.nzSelected)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Us),v(We),v(F7,8),v(gs),v(Ct,8),v(_1,8),v(oi,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-menu-item",""]],contentQueries:function(i,o,r){if(1&i&&fn(r,_1,5),2&i){let s;ke(s=Ie())&&(o.listOfRouterLink=s)}},hostVars:20,hostBindings:function(i,o){1&i&&M("click",function(s){return o.clickMenuItem(s)}),2&i&&(Lt("padding-left","rtl"===o.dir?null:o.nzPaddingLeft||o.inlinePaddingLeft,"px")("padding-right","rtl"===o.dir?o.nzPaddingLeft||o.inlinePaddingLeft:null,"px"),Z("ant-dropdown-menu-item",o.isMenuInsideDropDown)("ant-dropdown-menu-item-selected",o.isMenuInsideDropDown&&o.nzSelected)("ant-dropdown-menu-item-danger",o.isMenuInsideDropDown&&o.nzDanger)("ant-dropdown-menu-item-disabled",o.isMenuInsideDropDown&&o.nzDisabled)("ant-menu-item",!o.isMenuInsideDropDown)("ant-menu-item-selected",!o.isMenuInsideDropDown&&o.nzSelected)("ant-menu-item-danger",!o.isMenuInsideDropDown&&o.nzDanger)("ant-menu-item-disabled",!o.isMenuInsideDropDown&&o.nzDisabled))},inputs:{nzPaddingLeft:[2,"nzPaddingLeft","nzPaddingLeft",y3],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzSelected:[2,"nzSelected","nzSelected",I],nzDanger:[2,"nzDanger","nzDanger",I],nzMatchRouterExact:[2,"nzMatchRouterExact","nzMatchRouterExact",I],nzMatchRouter:[2,"nzMatchRouter","nzMatchRouter",I]},exportAs:["nzMenuItem"],standalone:!0,features:[je,xe,me],attrs:Yae,ngContentSelectors:cI,decls:2,vars:0,consts:[[1,"ant-menu-title-content"]],template:function(i,o){1&i&&(Et(),f(0,"span",0),_t(1),m())},encapsulation:2,changeDetection:0})}return t})(),mle=(()=>{class t{constructor(e,i,o){this.elementRef=e,this.renderer=i,this.directionality=o,this.templateOutlet=null,this.menuClass="",this.mode="vertical",this.nzOpen=!1,this.listOfCacheClassName=[],this.expandState="collapsed",this.dir="ltr",this.destroy$=new V}calcMotionState(){this.expandState=this.nzOpen?"expanded":"collapsed"}ngOnInit(){this.calcMotionState(),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngOnChanges(e){const{mode:i,nzOpen:o,menuClass:r}=e;(i||o)&&this.calcMotionState(),r&&(this.listOfCacheClassName.length&&this.listOfCacheClassName.filter(s=>!!s).forEach(s=>{this.renderer.removeClass(this.elementRef.nativeElement,s)}),this.menuClass&&(this.listOfCacheClassName=this.menuClass.split(" "),this.listOfCacheClassName.filter(s=>!!s).forEach(s=>{this.renderer.addClass(this.elementRef.nativeElement,s)})))}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-submenu-inline-child",""]],hostAttrs:[1,"ant-menu","ant-menu-inline","ant-menu-sub"],hostVars:3,hostBindings:function(i,o){2&i&&(ol("@collapseMotion",o.expandState),Z("ant-menu-rtl","rtl"===o.dir))},inputs:{templateOutlet:"templateOutlet",menuClass:"menuClass",mode:"mode",nzOpen:"nzOpen"},exportAs:["nzSubmenuInlineChild"],standalone:!0,features:[xe,me],attrs:Uae,decls:1,vars:1,consts:[[3,"ngTemplateOutlet"]],template:function(i,o){1&i&&C(0,Wae,0,0,"ng-template",0),2&i&&h("ngTemplateOutlet",o.templateOutlet)},dependencies:[Nn],encapsulation:2,data:{animation:[Une]},changeDetection:0})}return t})(),gle=(()=>{class t{constructor(e){this.directionality=e,this.menuClass="",this.theme="light",this.templateOutlet=null,this.isMenuInsideDropDown=!1,this.mode="vertical",this.position="right",this.nzDisabled=!1,this.nzOpen=!1,this.subMenuMouseState=new B,this.expandState="collapsed",this.dir="ltr",this.destroy$=new V}setMouseState(e){this.nzDisabled||this.subMenuMouseState.next(e)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}calcMotionState(){this.nzOpen?"horizontal"===this.mode?this.expandState="bottom":"vertical"===this.mode&&(this.expandState="active"):this.expandState="collapsed"}ngOnInit(){this.calcMotionState(),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngOnChanges(e){const{mode:i,nzOpen:o}=e;(i||o)&&this.calcMotionState()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-submenu-none-inline-child",""]],hostAttrs:[1,"ant-menu-submenu","ant-menu-submenu-popup"],hostVars:14,hostBindings:function(i,o){1&i&&M("mouseenter",function(){return o.setMouseState(!0)})("mouseleave",function(){return o.setMouseState(!1)}),2&i&&(ol("@slideMotion",o.expandState)("@zoomBigMotion",o.expandState),Z("ant-menu-light","light"===o.theme)("ant-menu-dark","dark"===o.theme)("ant-menu-submenu-placement-bottom","horizontal"===o.mode)("ant-menu-submenu-placement-right","vertical"===o.mode&&"right"===o.position)("ant-menu-submenu-placement-left","vertical"===o.mode&&"left"===o.position)("ant-menu-submenu-rtl","rtl"===o.dir))},inputs:{menuClass:"menuClass",theme:"theme",templateOutlet:"templateOutlet",isMenuInsideDropDown:"isMenuInsideDropDown",mode:"mode",position:"position",nzDisabled:"nzDisabled",nzOpen:"nzOpen"},outputs:{subMenuMouseState:"subMenuMouseState"},exportAs:["nzSubmenuNoneInlineChild"],standalone:!0,features:[xe,me],attrs:Gae,decls:2,vars:16,consts:[[3,"ngClass"],[3,"ngTemplateOutlet"]],template:function(i,o){1&i&&(f(0,"div",0),C(1,qae,0,0,"ng-template",1),m()),2&i&&(Z("ant-dropdown-menu",o.isMenuInsideDropDown)("ant-menu",!o.isMenuInsideDropDown)("ant-dropdown-menu-vertical",o.isMenuInsideDropDown)("ant-menu-vertical",!o.isMenuInsideDropDown)("ant-dropdown-menu-sub",o.isMenuInsideDropDown)("ant-menu-sub",!o.isMenuInsideDropDown)("ant-menu-rtl","rtl"===o.dir),h("ngClass",o.menuClass),d(),h("ngTemplateOutlet",o.templateOutlet))},dependencies:[Jo,Nn],encapsulation:2,data:{animation:[I3,a7]},changeDetection:0})}return t})(),uI=(()=>{class t{constructor(e,i){this.cdr=e,this.directionality=i,this.nzIcon=null,this.nzTitle=null,this.isMenuInsideDropDown=!1,this.nzDisabled=!1,this.paddingLeft=null,this.mode="vertical",this.toggleSubMenu=new B,this.subMenuMouseState=new B,this.dir="ltr",this.destroy$=new V}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}setMouseState(e){this.nzDisabled||this.subMenuMouseState.next(e)}clickTitle(){"inline"===this.mode&&!this.nzDisabled&&this.toggleSubMenu.emit()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-submenu-title",""]],hostVars:8,hostBindings:function(i,o){1&i&&M("click",function(){return o.clickTitle()})("mouseenter",function(){return o.setMouseState(!0)})("mouseleave",function(){return o.setMouseState(!1)}),2&i&&(Lt("padding-left","rtl"===o.dir?null:o.paddingLeft,"px")("padding-right","rtl"===o.dir?o.paddingLeft:null,"px"),Z("ant-dropdown-menu-submenu-title",o.isMenuInsideDropDown)("ant-menu-submenu-title",!o.isMenuInsideDropDown))},inputs:{nzIcon:"nzIcon",nzTitle:"nzTitle",isMenuInsideDropDown:"isMenuInsideDropDown",nzDisabled:"nzDisabled",paddingLeft:"paddingLeft",mode:"mode"},outputs:{toggleSubMenu:"toggleSubMenu",subMenuMouseState:"subMenuMouseState"},exportAs:["nzSubmenuTitle"],standalone:!0,features:[me],attrs:Qae,ngContentSelectors:cI,decls:5,vars:3,consts:[["nz-icon","",3,"nzType"],[4,"nzStringTemplateOutlet"],[1,"ant-dropdown-menu-submenu-expand-icon"],[1,"ant-menu-submenu-arrow"],[1,"ant-menu-title-content"],["nz-icon","","nzType","left",1,"ant-dropdown-menu-submenu-arrow-icon"],["nz-icon","","nzType","right",1,"ant-dropdown-menu-submenu-arrow-icon"]],template:function(i,o){1&i&&(Et(),C(0,Kae,1,1,"span",0)(1,$ae,3,1,"ng-container",1),_t(2),C(3,Xae,3,1,"span",2)(4,ele,1,0,"span",3)),2&i&&(he(o.nzIcon?0:-1),d(),h("nzStringTemplateOutlet",o.nzTitle),d(2),he(o.isMenuInsideDropDown?3:4))},dependencies:[In,ln,Sn,An],encapsulation:2,changeDetection:0})}return t})();const hI=[Kt.rightTop,Kt.right,Kt.rightBottom,Kt.leftTop,Kt.left,Kt.leftBottom],vle=[Kt.bottomLeft,Kt.bottomRight,Kt.topRight,Kt.topLeft];let cp=(()=>{class t{setOpenStateWithoutDebounce(e){this.nzSubmenuService.setOpenStateWithoutDebounce(e)}toggleSubMenu(){this.setOpenStateWithoutDebounce(!this.nzOpen)}setMouseEnterState(e){this.isActive=e,"inline"!==this.mode&&this.nzSubmenuService.setMouseEnterTitleOrOverlayState(e)}setTriggerWidth(){"horizontal"===this.mode&&this.platform.isBrowser&&this.cdkOverlayOrigin&&"bottomLeft"===this.nzPlacement&&(this.triggerWidth=this.cdkOverlayOrigin.nativeElement.getBoundingClientRect().width)}onPositionChange(e){const i=Q3(e);"rightTop"===i||"rightBottom"===i||"right"===i?this.position="right":("leftTop"===i||"leftBottom"===i||"left"===i)&&(this.position="left")}constructor(e,i,o,r,s,a,l){this.nzMenuService=e,this.cdr=i,this.nzSubmenuService=o,this.platform=r,this.isMenuInsideDropDown=s,this.directionality=a,this.noAnimation=l,this.nzMenuClassName="",this.nzPaddingLeft=null,this.nzTitle=null,this.nzIcon=null,this.nzOpen=!1,this.nzDisabled=!1,this.nzPlacement="bottomLeft",this.nzOpenChange=new B,this.cdkOverlayOrigin=null,this.listOfNzSubMenuComponent=null,this.listOfNzMenuItemDirective=null,this.level=this.nzSubmenuService.level,this.destroy$=new V,this.position="right",this.triggerWidth=null,this.theme="light",this.mode="vertical",this.inlinePaddingLeft=null,this.overlayPositions=hI,this.isSelected=!1,this.isActive=!1,this.dir="ltr"}ngOnInit(){this.nzMenuService.theme$.pipe(P(this.destroy$)).subscribe(e=>{this.theme=e,this.cdr.markForCheck()}),this.nzSubmenuService.mode$.pipe(P(this.destroy$)).subscribe(e=>{this.mode=e,"horizontal"===e?this.overlayPositions=[Kt[this.nzPlacement],...vle]:"vertical"===e&&(this.overlayPositions=hI),this.cdr.markForCheck()}),Di([this.nzSubmenuService.mode$,this.nzMenuService.inlineIndent$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{this.inlinePaddingLeft="inline"===e?this.level*i:null,this.cdr.markForCheck()}),this.nzSubmenuService.isCurrentSubMenuOpen$.pipe(P(this.destroy$)).subscribe(e=>{this.isActive=e,e!==this.nzOpen&&(this.setTriggerWidth(),this.nzOpen=e,this.nzOpenChange.emit(this.nzOpen),this.cdr.markForCheck())}),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.markForCheck()})}ngAfterContentInit(){this.setTriggerWidth();const e=this.listOfNzMenuItemDirective,i=e.changes,o=On(i,...e.map(r=>r.selected$));i.pipe(gn(e),mn(()=>o),gn(!0),Pe(()=>e.some(r=>r.nzSelected)),P(this.destroy$)).subscribe(r=>{this.isSelected=r,this.cdr.markForCheck()})}ngOnChanges(e){const{nzOpen:i}=e;i&&(this.nzSubmenuService.setOpenStateWithoutDebounce(this.nzOpen),this.setTriggerWidth())}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Us),v(We),v(F7),v(Qn),v(gs),v(Ct,8),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-submenu",""]],contentQueries:function(i,o,r){if(1&i&&(fn(r,t,5),fn(r,Ws,5)),2&i){let s;ke(s=Ie())&&(o.listOfNzSubMenuComponent=s),ke(s=Ie())&&(o.listOfNzMenuItemDirective=s)}},viewQuery:function(i,o){if(1&i&&ft(Sl,7,Se),2&i){let r;ke(r=Ie())&&(o.cdkOverlayOrigin=r.first)}},hostVars:34,hostBindings:function(i,o){2&i&&Z("ant-dropdown-menu-submenu",o.isMenuInsideDropDown)("ant-dropdown-menu-submenu-disabled",o.isMenuInsideDropDown&&o.nzDisabled)("ant-dropdown-menu-submenu-open",o.isMenuInsideDropDown&&o.nzOpen)("ant-dropdown-menu-submenu-selected",o.isMenuInsideDropDown&&o.isSelected)("ant-dropdown-menu-submenu-vertical",o.isMenuInsideDropDown&&"vertical"===o.mode)("ant-dropdown-menu-submenu-horizontal",o.isMenuInsideDropDown&&"horizontal"===o.mode)("ant-dropdown-menu-submenu-inline",o.isMenuInsideDropDown&&"inline"===o.mode)("ant-dropdown-menu-submenu-active",o.isMenuInsideDropDown&&o.isActive)("ant-menu-submenu",!o.isMenuInsideDropDown)("ant-menu-submenu-disabled",!o.isMenuInsideDropDown&&o.nzDisabled)("ant-menu-submenu-open",!o.isMenuInsideDropDown&&o.nzOpen)("ant-menu-submenu-selected",!o.isMenuInsideDropDown&&o.isSelected)("ant-menu-submenu-vertical",!o.isMenuInsideDropDown&&"vertical"===o.mode)("ant-menu-submenu-horizontal",!o.isMenuInsideDropDown&&"horizontal"===o.mode)("ant-menu-submenu-inline",!o.isMenuInsideDropDown&&"inline"===o.mode)("ant-menu-submenu-active",!o.isMenuInsideDropDown&&o.isActive)("ant-menu-submenu-rtl","rtl"===o.dir)},inputs:{nzMenuClassName:"nzMenuClassName",nzPaddingLeft:"nzPaddingLeft",nzTitle:"nzTitle",nzIcon:"nzIcon",nzOpen:[2,"nzOpen","nzOpen",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzPlacement:"nzPlacement"},outputs:{nzOpenChange:"nzOpenChange"},exportAs:["nzSubmenu"],standalone:!0,features:[et([F7]),je,xe,me],attrs:tle,ngContentSelectors:ile,decls:7,vars:8,consts:[["origin","cdkOverlayOrigin"],["subMenuTemplate",""],["nz-submenu-title","","cdkOverlayOrigin","",3,"subMenuMouseState","toggleSubMenu","nzIcon","nzTitle","mode","nzDisabled","isMenuInsideDropDown","paddingLeft"],["nz-submenu-inline-child","",3,"mode","nzOpen","nzNoAnimation","menuClass","templateOutlet"],["cdkConnectedOverlay","",3,"cdkConnectedOverlayPositions","cdkConnectedOverlayOrigin","cdkConnectedOverlayWidth","cdkConnectedOverlayOpen","cdkConnectedOverlayTransformOriginOn"],["cdkConnectedOverlay","",3,"positionChange","cdkConnectedOverlayPositions","cdkConnectedOverlayOrigin","cdkConnectedOverlayWidth","cdkConnectedOverlayOpen","cdkConnectedOverlayTransformOriginOn"],["nz-submenu-none-inline-child","",3,"subMenuMouseState","theme","mode","nzOpen","position","nzDisabled","isMenuInsideDropDown","templateOutlet","menuClass","nzNoAnimation"]],template:function(i,o){if(1&i){const r=W();Et(nle),f(0,"div",2,0),M("subMenuMouseState",function(a){return S(r),T(o.setMouseEnterState(a))})("toggleSubMenu",function(){return S(r),T(o.toggleSubMenu())}),C(2,ole,1,0),m(),C(3,rle,1,6,"div",3)(4,ale,1,5,null,4)(5,lle,1,0,"ng-template",null,1,ot)}2&i&&(h("nzIcon",o.nzIcon)("nzTitle",o.nzTitle)("mode",o.mode)("nzDisabled",o.nzDisabled)("isMenuInsideDropDown",o.isMenuInsideDropDown)("paddingLeft",o.nzPaddingLeft||o.inlinePaddingLeft),d(2),he(o.nzTitle?-1:2),d(),he("inline"===o.mode?3:4))},dependencies:[uI,mle,zo,gle,d2,Tl,Sl],encapsulation:2,changeDetection:0})}return t})();function ble(){const t=G(Us,{skipSelf:!0,optional:!0}),n=G(dI);return t??n}function _le(){return G(gs,{skipSelf:!0,optional:!0})??!1}let Aa=(()=>{class t{setInlineCollapsed(e){this.nzInlineCollapsed=e,this.inlineCollapsed$.next(e)}updateInlineCollapse(){this.listOfNzMenuItemDirective&&(this.nzInlineCollapsed?(this.listOfOpenedNzSubMenuComponent=this.listOfNzSubMenuComponent.filter(e=>e.nzOpen),this.listOfNzSubMenuComponent.forEach(e=>e.setOpenStateWithoutDebounce(!1))):(this.listOfOpenedNzSubMenuComponent.forEach(e=>e.setOpenStateWithoutDebounce(!0)),this.listOfOpenedNzSubMenuComponent=[]))}constructor(e,i,o,r){this.nzMenuService=e,this.isMenuInsideDropDown=i,this.cdr=o,this.directionality=r,this.nzInlineIndent=24,this.nzTheme="light",this.nzMode="vertical",this.nzInlineCollapsed=!1,this.nzSelectable=!this.isMenuInsideDropDown,this.nzClick=new B,this.actualMode="vertical",this.dir="ltr",this.inlineCollapsed$=new rt(this.nzInlineCollapsed),this.mode$=new rt(this.nzMode),this.destroy$=new V,this.listOfOpenedNzSubMenuComponent=[]}ngOnInit(){Di([this.inlineCollapsed$,this.mode$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{this.actualMode=e?"vertical":i,this.nzMenuService.setMode(this.actualMode),this.cdr.markForCheck()}),this.nzMenuService.descendantMenuItemClick$.pipe(P(this.destroy$)).subscribe(e=>{this.nzClick.emit(e),this.nzSelectable&&!e.nzMatchRouter&&this.listOfNzMenuItemDirective.forEach(i=>i.setSelectedState(i===e))}),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.nzMenuService.setMode(this.actualMode),this.cdr.markForCheck()})}ngAfterContentInit(){this.inlineCollapsed$.pipe(P(this.destroy$)).subscribe(()=>{this.updateInlineCollapse(),this.cdr.markForCheck()})}ngOnChanges(e){const{nzInlineCollapsed:i,nzInlineIndent:o,nzTheme:r,nzMode:s}=e;i&&this.inlineCollapsed$.next(this.nzInlineCollapsed),o&&this.nzMenuService.setInlineIndent(this.nzInlineIndent),r&&this.nzMenuService.setTheme(this.nzTheme),s&&(this.mode$.next(this.nzMode),!e.nzMode.isFirstChange()&&this.listOfNzSubMenuComponent&&this.listOfNzSubMenuComponent.forEach(a=>a.setOpenStateWithoutDebounce(!1)))}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Us),v(gs),v(We),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-menu",""]],contentQueries:function(i,o,r){if(1&i&&(fn(r,Ws,5),fn(r,cp,5)),2&i){let s;ke(s=Ie())&&(o.listOfNzMenuItemDirective=s),ke(s=Ie())&&(o.listOfNzSubMenuComponent=s)}},hostVars:34,hostBindings:function(i,o){2&i&&Z("ant-dropdown-menu",o.isMenuInsideDropDown)("ant-dropdown-menu-root",o.isMenuInsideDropDown)("ant-dropdown-menu-light",o.isMenuInsideDropDown&&"light"===o.nzTheme)("ant-dropdown-menu-dark",o.isMenuInsideDropDown&&"dark"===o.nzTheme)("ant-dropdown-menu-vertical",o.isMenuInsideDropDown&&"vertical"===o.actualMode)("ant-dropdown-menu-horizontal",o.isMenuInsideDropDown&&"horizontal"===o.actualMode)("ant-dropdown-menu-inline",o.isMenuInsideDropDown&&"inline"===o.actualMode)("ant-dropdown-menu-inline-collapsed",o.isMenuInsideDropDown&&o.nzInlineCollapsed)("ant-menu",!o.isMenuInsideDropDown)("ant-menu-root",!o.isMenuInsideDropDown)("ant-menu-light",!o.isMenuInsideDropDown&&"light"===o.nzTheme)("ant-menu-dark",!o.isMenuInsideDropDown&&"dark"===o.nzTheme)("ant-menu-vertical",!o.isMenuInsideDropDown&&"vertical"===o.actualMode)("ant-menu-horizontal",!o.isMenuInsideDropDown&&"horizontal"===o.actualMode)("ant-menu-inline",!o.isMenuInsideDropDown&&"inline"===o.actualMode)("ant-menu-inline-collapsed",!o.isMenuInsideDropDown&&o.nzInlineCollapsed)("ant-menu-rtl","rtl"===o.dir)},inputs:{nzInlineIndent:"nzInlineIndent",nzTheme:"nzTheme",nzMode:"nzMode",nzInlineCollapsed:[2,"nzInlineCollapsed","nzInlineCollapsed",I],nzSelectable:[2,"nzSelectable","nzSelectable",I]},outputs:{nzClick:"nzClick"},exportAs:["nzMenu"],standalone:!0,features:[et([{provide:dI,useClass:Us},{provide:Us,useFactory:ble},{provide:gs,useFactory:_le}]),je,xe]})}return t})();function yle(){return G(gs,{optional:!0,skipSelf:!0})??!1}let wle=(()=>{class t{constructor(e,i,o){this.elementRef=e,this.renderer=i,this.isMenuInsideDropDown=o,this.renderer.addClass(e.nativeElement,this.isMenuInsideDropDown?"ant-dropdown-menu-item-group":"ant-menu-item-group")}ngAfterViewInit(){const e=this.titleElement.nativeElement.nextElementSibling;e&&this.renderer.addClass(e,this.isMenuInsideDropDown?"ant-dropdown-menu-item-group-list":"ant-menu-item-group-list")}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt),v(gs))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-menu-group",""]],viewQuery:function(i,o){if(1&i&&ft(cle,5),2&i){let r;ke(r=Ie())&&(o.titleElement=r.first)}},inputs:{nzTitle:"nzTitle"},exportAs:["nzMenuGroup"],standalone:!0,features:[et([{provide:gs,useFactory:yle}]),me],attrs:dle,ngContentSelectors:hle,decls:5,vars:6,consts:[["titleElement",""],[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&(Et(ule),f(0,"div",null,0),C(2,ple,2,1,"ng-container",1)(3,fle,1,0),m(),_t(4)),2&i&&(Z("ant-menu-item-group-title",!o.isMenuInsideDropDown)("ant-dropdown-menu-item-group-title",o.isMenuInsideDropDown),d(2),h("nzStringTemplateOutlet",o.nzTitle),d(),he(o.nzTitle?-1:3))},dependencies:[Sn,An],encapsulation:2,changeDetection:0})}return t})(),R7=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[cp,wle,uI]})}return t})();const Cle=["*"];function zle(t,n){if(1&t){const e=W();f(0,"div",0),M("@slideMotion.done",function(o){return S(e),T(g().onAnimationEvent(o))})("mouseenter",function(){return S(e),T(g().setMouseState(!0))})("mouseleave",function(){return S(e),T(g().setMouseState(!1))}),_t(1),m()}if(2&t){const e=g();Z("ant-dropdown-rtl","rtl"===e.dir),h("ngClass",e.nzOverlayClassName)("ngStyle",e.nzOverlayStyle)("@slideMotion",void 0)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)}}const Sle=[Kt.bottomLeft,Kt.bottomRight,Kt.topRight,Kt.topLeft];let V1=(()=>{class t{setDropdownMenuValue(e,i){this.nzDropdownMenu&&this.nzDropdownMenu.setValue(e,i)}constructor(e,i,o,r,s,a){this.nzConfigService=e,this.elementRef=i,this.overlay=o,this.renderer=r,this.viewContainerRef=s,this.platform=a,this._nzModuleName="dropDown",this.overlayRef=null,this.destroy$=new V,this.positionStrategy=this.overlay.position().flexibleConnectedTo(this.elementRef.nativeElement).withLockedPosition().withTransformOriginOn(".ant-dropdown"),this.inputVisible$=new rt(!1),this.nzTrigger$=new rt("hover"),this.overlayClose$=new V,this.nzDropdownMenu=null,this.nzTrigger="hover",this.nzMatchWidthElement=null,this.nzBackdrop=!1,this.nzClickHide=!0,this.nzDisabled=!1,this.nzVisible=!1,this.nzOverlayClassName="",this.nzOverlayStyle={},this.nzPlacement="bottomLeft",this.nzVisibleChange=new B}ngAfterViewInit(){if(this.nzDropdownMenu){const e=this.elementRef.nativeElement,i=On(nn(e,"mouseenter").pipe(hl(!0)),nn(e,"mouseleave").pipe(hl(!1))),r=On(this.nzDropdownMenu.mouseState$,i),s=nn(e,"click").pipe(Pe(()=>!this.nzVisible)),c=On(this.nzTrigger$.pipe(mn(p=>"hover"===p?r:"click"===p?s:_o)),this.nzDropdownMenu.descendantMenuItemClick$.pipe(yt(()=>this.nzClickHide),hl(!1)),this.overlayClose$).pipe(yt(()=>!this.nzDisabled));Di([On(this.inputVisible$,c),this.nzDropdownMenu.isChildSubMenuOpen$]).pipe(Pe(([p,b])=>p||b),bl(150),Qi(),yt(()=>this.platform.isBrowser),P(this.destroy$)).subscribe(p=>{const _=(this.nzMatchWidthElement?this.nzMatchWidthElement.nativeElement:e).getBoundingClientRect().width;this.nzVisible!==p&&this.nzVisibleChange.emit(p),this.nzVisible=p,p?(this.overlayRef?this.overlayRef.getConfig().minWidth=_:(this.overlayRef=this.overlay.create({positionStrategy:this.positionStrategy,minWidth:_,disposeOnNavigation:!0,hasBackdrop:this.nzBackdrop&&"click"===this.nzTrigger,scrollStrategy:this.overlay.scrollStrategies.reposition()}),On(this.overlayRef.backdropClick(),this.overlayRef.detachments(),this.overlayRef.outsidePointerEvents().pipe(yt(y=>!this.elementRef.nativeElement.contains(y.target))),this.overlayRef.keydownEvents().pipe(yt(y=>27===y.keyCode&&!c2(y)))).pipe(P(this.destroy$)).subscribe(()=>{this.overlayClose$.next(!1)})),this.positionStrategy.withPositions([Kt[this.nzPlacement],...Sle]),(!this.portal||this.portal.templateRef!==this.nzDropdownMenu.templateRef)&&(this.portal=new Ju(this.nzDropdownMenu.templateRef,this.viewContainerRef)),this.overlayRef.attach(this.portal)):this.overlayRef&&this.overlayRef.detach()}),this.nzDropdownMenu.animationStateChange$.pipe(P(this.destroy$)).subscribe(p=>{"void"===p.toState&&(this.overlayRef&&this.overlayRef.dispose(),this.overlayRef=null)})}}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete(),this.overlayRef&&(this.overlayRef.dispose(),this.overlayRef=null)}ngOnChanges(e){const{nzVisible:i,nzDisabled:o,nzOverlayClassName:r,nzOverlayStyle:s,nzTrigger:a}=e;if(a&&this.nzTrigger$.next(this.nzTrigger),i&&this.inputVisible$.next(this.nzVisible),o){const l=this.elementRef.nativeElement;this.nzDisabled?(this.renderer.setAttribute(l,"disabled",""),this.inputVisible$.next(!1)):this.renderer.removeAttribute(l,"disabled")}r&&this.setDropdownMenuValue("nzOverlayClassName",this.nzOverlayClassName),s&&this.setDropdownMenuValue("nzOverlayStyle",this.nzOverlayStyle)}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Se),v(ya),v(Yt),v(qn),v(Qn))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-dropdown",""]],hostAttrs:[1,"ant-dropdown-trigger"],inputs:{nzDropdownMenu:"nzDropdownMenu",nzTrigger:"nzTrigger",nzMatchWidthElement:"nzMatchWidthElement",nzBackdrop:[2,"nzBackdrop","nzBackdrop",I],nzClickHide:[2,"nzClickHide","nzClickHide",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzVisible:[2,"nzVisible","nzVisible",I],nzOverlayClassName:"nzOverlayClassName",nzOverlayStyle:"nzOverlayStyle",nzPlacement:"nzPlacement"},outputs:{nzVisibleChange:"nzVisibleChange"},exportAs:["nzDropdown"],standalone:!0,features:[je,xe]})}return xt([Vt()],t.prototype,"nzBackdrop",void 0),t})(),Tle=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})(),w2=(()=>{class t{onAnimationEvent(e){this.animationStateChange$.emit(e)}setMouseState(e){this.mouseState$.next(e)}setValue(e,i){this[e]=i,this.cdr.markForCheck()}constructor(e,i,o,r,s,a,l){this.cdr=e,this.elementRef=i,this.renderer=o,this.viewContainerRef=r,this.nzMenuService=s,this.directionality=a,this.noAnimation=l,this.mouseState$=new rt(!1),this.isChildSubMenuOpen$=this.nzMenuService.isChildSubMenuOpen$,this.descendantMenuItemClick$=this.nzMenuService.descendantMenuItemClick$,this.animationStateChange$=new B,this.nzOverlayClassName="",this.nzOverlayStyle={},this.dir="ltr",this.destroy$=new V}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngAfterContentInit(){this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement),this.elementRef.nativeElement)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Se),v(Yt),v(qn),v(Us),v(Ct,8),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-dropdown-menu"]],viewQuery:function(i,o){if(1&i&&ft(qt,7),2&i){let r;ke(r=Ie())&&(o.templateRef=r.first)}},exportAs:["nzDropdownMenu"],standalone:!0,features:[et([Us,{provide:gs,useValue:!0}]),me],ngContentSelectors:Cle,decls:1,vars:0,consts:[[1,"ant-dropdown",3,"mouseenter","mouseleave","ngClass","ngStyle","nzNoAnimation"]],template:function(i,o){1&i&&(Et(),C(0,zle,2,7,"ng-template"))},dependencies:[Jo,ti,zo],encapsulation:2,data:{animation:[a7]},changeDetection:0})}return t})(),dp=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Tle,R7]})}return t})();function pI(t,n){return n?e=>yu(n.pipe(io(1),function Mle(){return dn((t,n)=>{t.subscribe(Jt(n,Qs))})}()),e.pipe(pI(t))):Yn((e,i)=>Pi(t(e,i)).pipe(io(1),hl(e)))}function C2(t,n=Uu){const e=m3(t,n);return pI(()=>e)}new Fn({originX:"start",originY:"top"},{overlayX:"start",overlayY:"top"}),new Fn({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"}),new Fn({originX:"start",originY:"top"},{overlayX:"end",overlayY:"bottom"}),new Fn({originX:"start",originY:"top"},{overlayX:"end",overlayY:"top"});const Dle=["overlay"];function Ele(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.nzTitle)}}function xle(t,n){if(1&t&&(f(0,"div",2)(1,"div",3)(2,"div",4),A(3,"span",5),m(),f(4,"div",6),C(5,Ele,2,1,"ng-container",7),m()()()),2&t){const e=g();Z("ant-tooltip-rtl","rtl"===e.dir),h("ngClass",e._classMap)("ngStyle",e.nzOverlayStyle)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)("@zoomBigMotion","active"),d(3),h("ngStyle",e._contentStyleMap),d(),h("ngStyle",e._contentStyleMap),d(),h("nzStringTemplateOutlet",e.nzTitle)("nzStringTemplateOutletContext",e.nzTitleContext)}}let L7=(()=>{class t{get _title(){return this.title||this.directiveTitle||null}get _content(){return this.content||this.directiveContent||null}get _trigger(){return typeof this.trigger<"u"?this.trigger:"hover"}get _placement(){const e=this.placement;return Array.isArray(e)&&e.length>0?e:"string"==typeof e&&e?[e]:["top"]}get _visible(){return(typeof this.visible<"u"?this.visible:this.internalVisible)||!1}get _mouseEnterDelay(){return this.mouseEnterDelay||.15}get _mouseLeaveDelay(){return this.mouseLeaveDelay||.1}get _overlayClassName(){return this.overlayClassName||null}get _overlayStyle(){return this.overlayStyle||null}getProxyPropertyMap(){return{noAnimation:["noAnimation",()=>!!this.noAnimation]}}constructor(e){this.componentType=e,this.visibleChange=new B,this.internalVisible=!1,this.destroy$=new V,this.triggerDisposables=[],this.elementRef=G(Se),this.hostView=G(qn),this.renderer=G(Yt),this.noAnimation=G(zo,{host:!0,optional:!0}),this.nzConfigService=G(si),this.platformId=G(Pr)}ngAfterViewInit(){p4(this.platformId)&&(this.createComponent(),this.registerTriggers())}ngOnChanges(e){const{trigger:i}=e;i&&!i.isFirstChange()&&this.registerTriggers(),this.component&&this.updatePropertiesByChanges(e)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.clearTogglingTimer(),this.removeTriggerListeners()}show(){this.component?.show()}hide(){this.component?.hide()}updatePosition(){this.component&&this.component.updatePosition()}createComponent(){const e=this.hostView.createComponent(this.componentType);this.component=e.instance,this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement),e.location.nativeElement),this.component.setOverlayOrigin(this.origin||this.elementRef),this.initProperties();const i=this.component.nzVisibleChange.pipe(Qi());i.pipe(P(this.destroy$)).subscribe(o=>{this.internalVisible=o,this.visibleChange.emit(o)}),i.pipe(yt(o=>o),C2(0,y7),yt(()=>!!this.component?.overlay?.overlayRef),P(this.destroy$)).subscribe(()=>{this.component?.updatePosition()})}registerTriggers(){const e=this.elementRef.nativeElement,i=this.trigger;if(this.removeTriggerListeners(),"hover"===i){let o;this.triggerDisposables.push(this.renderer.listen(e,"mouseenter",()=>{this.delayEnterLeave(!0,!0,this._mouseEnterDelay)})),this.triggerDisposables.push(this.renderer.listen(e,"mouseleave",()=>{this.delayEnterLeave(!0,!1,this._mouseLeaveDelay),this.component?.overlay.overlayRef&&!o&&(o=this.component.overlay.overlayRef.overlayElement,this.triggerDisposables.push(this.renderer.listen(o,"mouseenter",()=>{this.delayEnterLeave(!1,!0,this._mouseEnterDelay)})),this.triggerDisposables.push(this.renderer.listen(o,"mouseleave",()=>{this.delayEnterLeave(!1,!1,this._mouseLeaveDelay)})))}))}else"focus"===i?(this.triggerDisposables.push(this.renderer.listen(e,"focusin",()=>this.show())),this.triggerDisposables.push(this.renderer.listen(e,"focusout",()=>this.hide()))):"click"===i&&this.triggerDisposables.push(this.renderer.listen(e,"click",o=>{o.preventDefault(),this.show()}))}updatePropertiesByChanges(e){this.updatePropertiesByKeys(Object.keys(e))}updatePropertiesByKeys(e){const i={title:["nzTitle",()=>this._title],directiveTitle:["nzTitle",()=>this._title],content:["nzContent",()=>this._content],directiveContent:["nzContent",()=>this._content],trigger:["nzTrigger",()=>this._trigger],placement:["nzPlacement",()=>this._placement],visible:["nzVisible",()=>this._visible],mouseEnterDelay:["nzMouseEnterDelay",()=>this._mouseEnterDelay],mouseLeaveDelay:["nzMouseLeaveDelay",()=>this._mouseLeaveDelay],overlayClassName:["nzOverlayClassName",()=>this._overlayClassName],overlayStyle:["nzOverlayStyle",()=>this._overlayStyle],arrowPointAtCenter:["nzArrowPointAtCenter",()=>this.arrowPointAtCenter],cdkConnectedOverlayPush:["cdkConnectedOverlayPush",()=>this.cdkConnectedOverlayPush],...this.getProxyPropertyMap()};(e||Object.keys(i).filter(o=>!o.startsWith("directive"))).forEach(o=>{if(i[o]){const[r,s]=i[o];this.updateComponentValue(r,s())}}),this.component?.updateByDirective()}initProperties(){this.updatePropertiesByKeys()}updateComponentValue(e,i){typeof i<"u"&&(this.component[e]=i)}delayEnterLeave(e,i,o=-1){this.delayTimer?this.clearTogglingTimer():o>0?this.delayTimer=setTimeout(()=>{this.delayTimer=void 0,i?this.show():this.hide()},1e3*o):i&&e?this.show():this.hide()}removeTriggerListeners(){this.triggerDisposables.forEach(e=>e()),this.triggerDisposables.length=0}clearTogglingTimer(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=void 0)}static#e=this.\u0275fac=function(i){return new(i||t)(v(R6))};static#t=this.\u0275dir=de({type:t,features:[xe]})}return t})(),kle=(()=>{class t{set nzVisible(e){const i=H5(e);this._visible!==i&&(this._visible=i,this.nzVisibleChange.next(i))}get nzVisible(){return this._visible}set nzTrigger(e){this._trigger=e}get nzTrigger(){return this._trigger}set nzPlacement(e){const i=e.map(o=>Kt[o]);this._positions=[...i,...uk]}constructor(e,i,o){this.cdr=e,this.directionality=i,this.noAnimation=o,this.nzTitle=null,this.nzContent=null,this.nzArrowPointAtCenter=!1,this.nzOverlayStyle={},this.nzBackdrop=!1,this.cdkConnectedOverlayPush=!0,this.nzVisibleChange=new V,this._visible=!1,this._trigger="hover",this.preferredPlacement="top",this.dir="ltr",this._classMap={},this._prefix="ant-tooltip",this._positions=[...uk],this.destroy$=new V}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnDestroy(){this.nzVisibleChange.complete(),this.destroy$.next(),this.destroy$.complete()}show(){this.nzVisible||(this.isEmpty()||(this.nzVisible=!0,this.nzVisibleChange.next(!0),this.cdr.detectChanges()),this.origin&&this.overlay&&this.overlay.overlayRef&&"rtl"===this.overlay.overlayRef.getDirection()&&this.overlay.overlayRef.setDirection("ltr"))}hide(){this.nzVisible&&(this.nzVisible=!1,this.nzVisibleChange.next(!1),this.cdr.detectChanges())}updateByDirective(){this.updateStyles(),this.cdr.detectChanges(),Promise.resolve().then(()=>{this.updatePosition(),this.updateVisibilityByTitle()})}updatePosition(){this.origin&&this.overlay&&this.overlay.overlayRef&&this.overlay.overlayRef.updatePosition()}onPositionChange(e){this.preferredPlacement=Q3(e),this.updateStyles(),this.cdr.detectChanges()}setOverlayOrigin(e){this.origin=e,this.cdr.markForCheck()}onClickOutside(e){const i=Po(e);!this.origin.nativeElement.contains(i)&&null!==this.nzTrigger&&this.hide()}updateVisibilityByTitle(){this.isEmpty()&&this.hide()}updateStyles(){this._classMap={[this.nzOverlayClassName]:!0,[`${this._prefix}-placement-${this.preferredPlacement}`]:!0}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Ct,8),v(zo))};static#t=this.\u0275dir=de({type:t,viewQuery:function(i,o){if(1&i&&ft(Dle,5),2&i){let r;ke(r=Ie())&&(o.overlay=r.first)}}})}return t})();function B7(t){return!(t instanceof qt||""!==t&&_r(t))}let Sa=(()=>{class t extends L7{constructor(){super(up),this.titleContext=null,this.trigger="hover",this.placement="top",this.cdkConnectedOverlayPush=!0,this.visibleChange=new B}getProxyPropertyMap(){return{...super.getProxyPropertyMap(),nzTooltipColor:["nzColor",()=>this.nzTooltipColor],titleContext:["nzTitleContext",()=>this.titleContext]}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-tooltip",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-tooltip-open",o.visible)},inputs:{title:[0,"nzTooltipTitle","title"],titleContext:[0,"nzTooltipTitleContext","titleContext"],directiveTitle:[0,"nz-tooltip","directiveTitle"],trigger:[0,"nzTooltipTrigger","trigger"],placement:[0,"nzTooltipPlacement","placement"],origin:[0,"nzTooltipOrigin","origin"],visible:[0,"nzTooltipVisible","visible"],mouseEnterDelay:[0,"nzTooltipMouseEnterDelay","mouseEnterDelay"],mouseLeaveDelay:[0,"nzTooltipMouseLeaveDelay","mouseLeaveDelay"],overlayClassName:[0,"nzTooltipOverlayClassName","overlayClassName"],overlayStyle:[0,"nzTooltipOverlayStyle","overlayStyle"],arrowPointAtCenter:[2,"nzTooltipArrowPointAtCenter","arrowPointAtCenter",I],cdkConnectedOverlayPush:[2,"cdkConnectedOverlayPush","cdkConnectedOverlayPush",I],nzTooltipColor:"nzTooltipColor"},outputs:{visibleChange:"nzTooltipVisibleChange"},exportAs:["nzTooltip"],standalone:!0,features:[je,mt]})}return t})(),up=(()=>{class t extends kle{constructor(e,i,o){super(e,i,o),this.nzTitle=null,this.nzTitleContext=null,this._contentStyleMap={}}isEmpty(){return B7(this.nzTitle)}updateStyles(){const e=this.nzColor&&kE(this.nzColor);this._classMap={[this.nzOverlayClassName]:!0,[`${this._prefix}-placement-${this.preferredPlacement}`]:!0,[`${this._prefix}-${this.nzColor}`]:e},this._contentStyleMap={backgroundColor:this.nzColor&&!e?this.nzColor:null,"--antd-arrow-background-color":this.nzColor}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Ct,8),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tooltip"]],exportAs:["nzTooltipComponent"],standalone:!0,features:[mt,me],decls:2,vars:5,consts:[["overlay","cdkConnectedOverlay"],["cdkConnectedOverlay","","nzConnectedOverlay","",3,"overlayOutsideClick","detach","positionChange","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayPush","nzArrowPointAtCenter"],[1,"ant-tooltip",3,"ngClass","ngStyle","nzNoAnimation"],[1,"ant-tooltip-content"],[1,"ant-tooltip-arrow"],[1,"ant-tooltip-arrow-content",3,"ngStyle"],[1,"ant-tooltip-inner",3,"ngStyle"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"]],template:function(i,o){if(1&i){const r=W();C(0,xle,6,11,"ng-template",1,0,ot),M("overlayOutsideClick",function(a){return S(r),T(o.onClickOutside(a))})("detach",function(){return S(r),T(o.hide())})("positionChange",function(a){return S(r),T(o.onPositionChange(a))})}2&i&&h("cdkConnectedOverlayOrigin",o.origin)("cdkConnectedOverlayOpen",o._visible)("cdkConnectedOverlayPositions",o._positions)("cdkConnectedOverlayPush",o.cdkConnectedOverlayPush)("nzArrowPointAtCenter",o.nzArrowPointAtCenter)},dependencies:[d2,Tl,Jo,ti,zo,Sn,An,u2,$3],encapsulation:2,data:{animation:[I3]},changeDetection:0})}return t})(),H7=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[up]})}return t})();function Ile(t,n){1&t&&(f(0,"div",13),A(1,"img",14),m()),2&t&&(g(),h("nzDropdownMenu",Be(3)))}function Ole(t,n){if(1&t){const e=W();f(0,"li",15),M("click",function(){const o=S(e).$implicit;return T(g().toggleTheme(o))}),w(1),m()}if(2&t){const e=n.$implicit;d(),we(" ",e.name," ")}}function Ple(t,n){if(1&t){const e=W();f(0,"span",7)(1,"div",8),M("click",function(){return S(e),T(g().handleSync())}),A(2,"i",16),m()()}if(2&t){const e=g();h("nzTooltipTitle",e.$t("_syncData")),d(),Z("rotate",e.syncLoading)}}function Vle(t,n){if(1&t){const e=W();f(0,"span",7)(1,"div",8),M("click",function(){return S(e),T(g().goSystemPage())}),A(2,"i",17),m()()}2&t&&h("nzTooltipTitle",g().$t("_addData"))}function Nle(t,n){if(1&t){const e=W();f(0,"span",7)(1,"div",8),M("click",function(){return S(e),T(g().collapse())}),A(2,"i",18),m()()}if(2&t){const e=g();h("nzTooltipTitle",e.$t(e.collapsed?"_collapse":"_put")),d(2),Z("active",e.collapsed)}}function Fle(t,n){1&t&&A(0,"i",19)}function Rle(t,n){1&t&&A(0,"img",20)}function Lle(t,n){if(1&t&&(f(0,"li",24)(1,"a",25),w(2),m()()),2&t){const e=n.$implicit;d(),h("href",e.url,It),d(),we(" ",e.name," ")}}function Ble(t,n){if(1&t&&(f(0,"div")(1,"div",21),A(2,"img",22),m(),f(3,"nz-dropdown-menu",null,1)(5,"ul",4),C(6,Lle,3,2,"li",23),m()()()),2&t){const e=Be(4),i=g();d(),h("nzDropdownMenu",e),d(5),h("ngForOf",i.settings.mirrorList)}}function Hle(t,n){1&t&&A(0,"img",28)}function jle(t,n){1&t&&A(0,"img",29)}function Yle(t,n){if(1&t){const e=W();f(0,"span")(1,"div",8),M("click",function(){return S(e),T(g().toggleLocale())}),C(2,Hle,1,0,"img",26)(3,jle,1,0,"img",27),m()()}if(2&t){const e=g();d(2),h("ngIf","zh-CN"===e.language),d(),h("ngIf",!e.language||"en"===e.language)}}let z2=(()=>{class t{constructor(e,i,o,r){this.message=e,this.modal=i,this.router=o,this.activatedRoute=r,this.showCollapse=!0,this.collapsed=!1,this.selector="",this.onCollapse=new B,this.$t=be,this.settings=kn,this.language=X5(),this.websiteList=yn,this.isDark=u3(),this.syncLoading=!1,this.isLogin=Gi,this.themeList=[{name:be("_switchTo")+" Super",url:"/super"},{name:be("_switchTo")+" Light",url:"/light"},{name:be("_switchTo")+" Sim",url:"/sim"},{name:be("_switchTo")+" Side",url:"/side"},{name:be("_switchTo")+" Shortcut",url:"/shortcut"},{name:be("_switchTo")+" App",url:"/app"}],this.isDark&&document.documentElement.classList.add("dark-container");const s=this.router.url.split("?")[0];this.themeList=this.themeList.filter(a=>a.url!==s)}ngOnInit(){}toggleTheme(e){this.router.navigate([e.url],{queryParams:pi()}),this.removeBackground()}goTop(){if(this.selector){const e=document.querySelector(this.selector);e&&(e.scrollTop=0)}else window.scrollTo({top:0,behavior:"smooth"})}collapse(){this.onCollapse.emit()}removeBackground(){const e=document.getElementById("random-light-bg");e?.parentNode?.removeChild?.(e)}toggleMode(){if(this.isDark=!this.isDark,Ei.emit("EVENT_DARK",this.isDark),window.localStorage.setItem(Wi.isDark,String(Number(this.isDark))),document.documentElement.classList.toggle("dark-container"),this.isDark)this.removeBackground();else{const{data:e}=this.activatedRoute.snapshot;e.renderLinear&&eE()}}goSystemPage(){this.router.navigate(["system"])}handleSync(){this.syncLoading?this.message.warning(be("_repeatOper")):this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{this.syncLoading=!0,vl({message:"update db",content:JSON.stringify(this.websiteList),path:Yg}).then(()=>{this.message.success(be("_syncSuccessTip"))}).finally(()=>{this.syncLoading=!1})}})}toggleLocale(){window.localStorage.setItem(Wi.language,"en"===this.language?"zh-CN":"en"),window.location.reload()}static#e=this.\u0275fac=function(i){return new(i||t)(v(er),v(za),v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-fixbar"]],inputs:{showCollapse:"showCollapse",collapsed:"collapsed",selector:"selector"},outputs:{onCollapse:"onCollapse"},decls:17,vars:10,consts:[["menu","nzDropdownMenu"],["menuMirror","nzDropdownMenu"],[1,"fixbar"],["class","wrapper dark-bg dark-border-color dark-action-hover","nz-dropdown","","nzPlacement","topLeft",3,"nzDropdownMenu",4,"ngIf"],["nz-menu","","nzSelectable",""],["nz-menu-item","",3,"click",4,"ngFor","ngForOf"],["nz-tooltip","",3,"nzTooltipTitle",4,"ngIf"],["nz-tooltip","",3,"nzTooltipTitle"],[1,"wrapper","dark-bg","dark-border-color","dark-action-hover",3,"click"],["class","iconfont icondark dark",4,"ngIf"],["class","iconfont icondark","src","assets/img/light.svg",4,"ngIf"],[4,"ngIf"],[1,"iconfont","iconjiantouarrow483","arrow"],["nz-dropdown","","nzPlacement","topLeft",1,"wrapper","dark-bg","dark-border-color","dark-action-hover",3,"nzDropdownMenu"],["src","assets/img/theme.svg"],["nz-menu-item","",3,"click"],[1,"iconfont","iconwinfo-icon-tongbu"],[1,"iconfont","iconchuangjian"],[1,"iconfont","iconweibiaoti25","collapse"],[1,"iconfont","icondark","dark"],["src","assets/img/light.svg",1,"iconfont","icondark"],["nz-dropdown","","nzPlacement","topRight",1,"wrapper","dark-bg","dark-border-color","dark-action-hover",3,"nzDropdownMenu"],["src","assets/img/mirror.svg"],["nz-menu-item","",4,"ngFor","ngForOf"],["nz-menu-item",""],[3,"href"],["class","iconfont","src","assets/img/china.svg",4,"ngIf"],["class","iconfont","src","assets/img/ua.svg",4,"ngIf"],["src","assets/img/china.svg",1,"iconfont"],["src","assets/img/ua.svg",1,"iconfont"]],template:function(i,o){if(1&i){const r=W();f(0,"div",2),C(1,Ile,2,1,"div",3),f(2,"nz-dropdown-menu",null,0)(4,"ul",4),C(5,Ole,2,1,"li",5),m()(),C(6,Ple,3,3,"span",6)(7,Vle,3,1,"span",6)(8,Nle,3,3,"span",6),f(9,"span",7)(10,"div",8),M("click",function(){return S(r),T(o.toggleMode())}),C(11,Fle,1,0,"i",9)(12,Rle,1,0,"img",10),m()(),C(13,Ble,7,2,"div",11)(14,Yle,4,2,"span",11),f(15,"div",8),M("click",function(){return S(r),T(o.goTop())}),A(16,"i",12),m()()}2&i&&(d(),h("ngIf",o.settings.showThemeToggle),d(4),h("ngForOf",o.themeList),d(),h("ngIf",o.isLogin),d(),h("ngIf",o.isLogin),d(),h("ngIf",o.showCollapse),d(),h("nzTooltipTitle",o.$t(o.isDark?"_closeDark":"_openDark")),d(2),h("ngIf",!o.isDark),d(),h("ngIf",o.isDark),d(),h("ngIf",o.settings.mirrorList.length>0),d(),h("ngIf",o.settings.showLanguage))},dependencies:[zn,St,mi,Aa,Ws,V1,w2,Sa],styles:[".fixbar[_ngcontent-%COMP%]{z-index:9;position:fixed;bottom:30px;right:15px;-webkit-user-select:none;user-select:none}.fixbar[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]{width:40px;height:40px;margin-top:10px;transition:.1s linear;display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:50%;background-color:#fff;box-shadow:0 0 5px #00000026}.fixbar[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]:hover{box-shadow:0 0 5px #00000026;transform:scale(1.2)}.fixbar[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:25px;height:25px}.fixbar[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{transition:.1s linear;display:inline-block;font-size:20px;color:#999}.fixbar[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{transform:rotate(180deg);cursor:pointer;font-weight:700}.fixbar[_ngcontent-%COMP%] .collapse[_ngcontent-%COMP%]{transform:rotate(-270deg)}.fixbar[_ngcontent-%COMP%] .collapse.active[_ngcontent-%COMP%]{transform:rotate(-360deg)}"],changeDetection:0})}return t})(),Ule=(()=>{class t{constructor(e){this.sanitized=e}transform(e){return this.sanitized.bypassSecurityTrustHtml(e)}static#e=this.\u0275fac=function(i){return new(i||t)(v(bu,16))};static#t=this.\u0275pipe=jn({name:"safeHtml",type:t,pure:!0})}return t})();function Wle(t,n){1&t&&(A(0,"div",2),Fr(1,"safeHtml")),2&t&&h("innerHTML",Rr(1,1,g().footerContent),Gn)}let A2=(()=>{class t{constructor(){this.footerContent=kn.footerContent.replace("${total}",String(Gi?p3.loginViewCount:p3.userViewCount)).replace("${hostname}",window.location.hostname).replace("${year}",String((new Date).getFullYear())),this.className=""}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-footer"]],inputs:{className:"className"},decls:2,vars:3,consts:[["id","app-footer",1,"footer","dark-text","xie-jiahe"],["class","copyright dark-text",3,"innerHTML",4,"ngIf"],[1,"copyright","dark-text",3,"innerHTML"]],template:function(i,o){1&i&&(f(0,"footer",0),C(1,Wle,2,3,"div",1),m()),2&i&&(k0(o.className),d(),h("ngIf",o.footerContent))},dependencies:[St,Ule],styles:[".footer[_ngcontent-%COMP%]{text-align:center;margin-top:5px;color:#fff}.footer[_ngcontent-%COMP%] .copyright[_ngcontent-%COMP%]{color:#fff;margin-bottom:5px}"]})}return t})();function Gle(t,n){if(1&t&&(Ye(0),A(1,"img",4),Ue()),2&t){const e=g(2);d(),h("src",e.nzNotFoundImage,It)("alt",e.isContentString?e.nzNotFoundContent:"empty")}}function qle(t,n){1&t&&C(0,Gle,2,2,"ng-container",3),2&t&&h("nzStringTemplateOutlet",g().nzNotFoundImage)}function Qle(t,n){1&t&&A(0,"nz-empty-simple")}function Kle(t,n){1&t&&A(0,"nz-empty-default")}function $le(t,n){1&t&&C(0,Qle,1,0,"nz-empty-simple")(1,Kle,1,0,"nz-empty-default"),2&t&&he("simple"===g().nzNotFoundImage?0:1)}function Jle(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),we(" ",e.isContentString?e.nzNotFoundContent:e.locale.description," ")}}function Zle(t,n){if(1&t&&(f(0,"p",1),C(1,Jle,2,1,"ng-container",3),m()),2&t){const e=g();d(),h("nzStringTemplateOutlet",e.nzNotFoundContent)}}function Xle(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),we(" ",e.nzNotFoundFooter," ")}}function ece(t,n){if(1&t&&(f(0,"div",2),C(1,Xle,2,1,"ng-container",3),m()),2&t){const e=g();d(),h("nzStringTemplateOutlet",e.nzNotFoundFooter)}}function tce(t,n){1&t&&w(0),2&t&&we(" ",g(2).content," ")}function nce(t,n){}function ice(t,n){1&t&&C(0,nce,0,0,"ng-template",0),2&t&&h("cdkPortalOutlet",g(2).contentPortal)}function oce(t,n){1&t&&C(0,tce,1,1)(1,ice,1,1,null,0),2&t&&he("string"===g().contentType?0:1)}function rce(t,n){1&t&&A(0,"nz-empty",1)}function sce(t,n){1&t&&A(0,"nz-empty",2)}function ace(t,n){1&t&&A(0,"nz-empty")}function lce(t,n){if(1&t&&C(0,rce,1,0,"nz-empty",1)(1,sce,1,0,"nz-empty",2)(2,ace,1,0,"nz-empty"),2&t){let e;he("normal"===(e=g(2).size)?0:"small"===e?1:2)}}function cce(t,n){1&t&&C(0,lce,3,1),2&t&&he(null!==g().specificContent?0:-1)}const dce=new oe("nz-empty-component-name");let uce=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-empty-default"]],exportAs:["nzEmptyDefault"],standalone:!0,features:[me],decls:12,vars:0,consts:[["width","184","height","152","viewBox","0 0 184 152","xmlns","http://www.w3.org/2000/svg",1,"ant-empty-img-default"],["fill","none","fill-rule","evenodd"],["transform","translate(24 31.67)"],["cx","67.797","cy","106.89","rx","67.797","ry","12.668",1,"ant-empty-img-default-ellipse"],["d","M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",1,"ant-empty-img-default-path-1"],["d","M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z","transform","translate(13.56)",1,"ant-empty-img-default-path-2"],["d","M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",1,"ant-empty-img-default-path-3"],["d","M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",1,"ant-empty-img-default-path-4"],["d","M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",1,"ant-empty-img-default-path-5"],["transform","translate(149.65 15.383)",1,"ant-empty-img-default-g"],["cx","20.654","cy","3.167","rx","2.849","ry","2.815"],["d","M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"]],template:function(i,o){1&i&&(Dh(),f(0,"svg",0)(1,"g",1)(2,"g",2),A(3,"ellipse",3)(4,"path",4)(5,"path",5)(6,"path",6)(7,"path",7),m(),A(8,"path",8),f(9,"g",9),A(10,"ellipse",10)(11,"path",11),m()()())},encapsulation:2,changeDetection:0})}return t})(),hce=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-empty-simple"]],exportAs:["nzEmptySimple"],standalone:!0,features:[me],decls:6,vars:0,consts:[["width","64","height","41","viewBox","0 0 64 41","xmlns","http://www.w3.org/2000/svg",1,"ant-empty-img-simple"],["transform","translate(0 1)","fill","none","fill-rule","evenodd"],["cx","32","cy","33","rx","32","ry","7",1,"ant-empty-img-simple-ellipse"],["fill-rule","nonzero",1,"ant-empty-img-simple-g"],["d","M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"],["d","M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",1,"ant-empty-img-simple-path"]],template:function(i,o){1&i&&(Dh(),f(0,"svg",0)(1,"g",1),A(2,"ellipse",2),f(3,"g",3),A(4,"path",4)(5,"path",5),m()()())},encapsulation:2,changeDetection:0})}return t})();const pce=["default","simple"];let j7=(()=>{class t{constructor(e,i){this.i18n=e,this.cdr=i,this.nzNotFoundImage="default",this.isContentString=!1,this.isImageBuildIn=!0,this.destroy$=new V}ngOnChanges(e){const{nzNotFoundContent:i,nzNotFoundImage:o}=e;if(i&&(this.isContentString="string"==typeof i.currentValue),o){const r=o.currentValue||"default";this.isImageBuildIn=pce.findIndex(s=>s===r)>-1}}ngOnInit(){this.i18n.localeChange.pipe(P(this.destroy$)).subscribe(()=>{this.locale=this.i18n.getLocaleData("Empty"),this.cdr.markForCheck()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ys),v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-empty"]],hostAttrs:[1,"ant-empty"],inputs:{nzNotFoundImage:"nzNotFoundImage",nzNotFoundContent:"nzNotFoundContent",nzNotFoundFooter:"nzNotFoundFooter"},exportAs:["nzEmpty"],standalone:!0,features:[xe,me],decls:5,vars:3,consts:[[1,"ant-empty-image"],[1,"ant-empty-description"],[1,"ant-empty-footer"],[4,"nzStringTemplateOutlet"],[3,"src","alt"]],template:function(i,o){1&i&&(f(0,"div",0),C(1,qle,1,1,"ng-container")(2,$le,2,1),m(),C(3,Zle,2,1,"p",1)(4,ece,2,1,"div",2)),2&i&&(d(),he(o.isImageBuildIn?2:1),d(2),he(null!==o.nzNotFoundContent?3:-1),d(),he(o.nzNotFoundFooter?4:-1))},dependencies:[Sn,An,uce,hce],encapsulation:2,changeDetection:0})}return t})(),Y7=(()=>{class t{constructor(e,i,o,r){this.configService=e,this.viewContainerRef=i,this.cdr=o,this.injector=r,this.contentType="string",this.size="",this.destroy$=new V}ngOnChanges(e){e.nzComponentName&&(this.size=function fce(t){switch(t){case"table":case"list":return"normal";case"select":case"tree-select":case"cascader":case"transfer":return"small";default:return""}}(e.nzComponentName.currentValue)),e.specificContent&&!e.specificContent.isFirstChange()&&(this.content=e.specificContent.currentValue,this.renderEmpty())}ngOnInit(){this.subscribeDefaultEmptyContentChange()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}renderEmpty(){const e=this.content;if("string"==typeof e)this.contentType="string";else if(e instanceof qt){const i={$implicit:this.nzComponentName};this.contentType="template",this.contentPortal=new Ju(e,this.viewContainerRef,i)}else if(e instanceof R6){const i=tn.create({parent:this.injector,providers:[{provide:dce,useValue:this.nzComponentName}]});this.contentType="component",this.contentPortal=new $u(e,this.viewContainerRef,i)}else this.contentType="string",this.contentPortal=void 0;this.cdr.detectChanges()}subscribeDefaultEmptyContentChange(){this.configService.getConfigChangeEventForComponent("empty").pipe(gn(!0),P(this.destroy$)).subscribe(()=>{this.content=this.specificContent||this.getUserDefaultEmptyContent(),this.renderEmpty()})}getUserDefaultEmptyContent(){return(this.configService.getConfigForComponent("empty")||{}).nzDefaultEmptyContent}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(qn),v(We),v(tn))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-embed-empty"]],inputs:{nzComponentName:"nzComponentName",specificContent:"specificContent"},exportAs:["nzEmbedEmpty"],standalone:!0,features:[xe,me],decls:2,vars:1,consts:[[3,"cdkPortalOutlet"],["nzNotFoundImage","simple",1,"ant-empty-normal"],["nzNotFoundImage","simple",1,"ant-empty-small"]],template:function(i,o){1&i&&C(0,oce,2,1)(1,cce,1,1),2&i&&he(o.content?0:1)},dependencies:[j7,z3,Zu],encapsulation:2,changeDetection:0})}return t})(),U7=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[j7,Y7]})}return t})(),hp=(()=>{class t{constructor(){this.$t=be,this.goBack=()=>{history.go(-1)}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-no-data"]],decls:5,vars:2,consts:[[1,"no-result","dark-text"],[3,"nzNotFoundContent"],[1,"back"],["nz-button","","nzType","primary",3,"click"]],template:function(i,o){1&i&&(f(0,"div",0),A(1,"nz-empty",1),f(2,"div",2)(3,"button",3),M("click",function(){return o.goBack()}),w(4),m()()()),2&i&&(d(),h("nzNotFoundContent",o.$t("_empty")),d(3),D(o.$t("_goBack")))},dependencies:[j7,nr,mi,tr],styles:[".no-result[_ngcontent-%COMP%]{padding:80px 0;text-align:center}.no-result[_ngcontent-%COMP%] .back[_ngcontent-%COMP%]{margin-top:30px}.no-result[_ngcontent-%COMP%] .back[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer}"]})}return t})();function mce(t,n){1&t&&A(0,"span",1),2&t&&h("nzType",g().iconType)}let xl=(()=>{class t{constructor(){this.formStatusChanges=new fi(1)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),pp=(()=>{class t{constructor(){this.noFormStatus=new rt(!1)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const gce={error:"close-circle-fill",validating:"loading",success:"check-circle-fill",warning:"exclamation-circle-fill"};let W7=(()=>{class t{constructor(e){this.cdr=e,this.status="",this.iconType=null}ngOnChanges(e){this.updateIcon()}updateIcon(){this.iconType=this.status?gce[this.status]:null,this.cdr.markForCheck()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-form-item-feedback-icon"]],hostAttrs:[1,"ant-form-item-feedback-icon"],hostVars:8,hostBindings:function(i,o){2&i&&Z("ant-form-item-feedback-icon-error","error"===o.status)("ant-form-item-feedback-icon-warning","warning"===o.status)("ant-form-item-feedback-icon-success","success"===o.status)("ant-form-item-feedback-icon-validating","validating"===o.status)},inputs:{status:"status"},exportAs:["nzFormFeedbackIcon"],features:[xe],decls:1,vars:1,consts:[["nz-icon","",3,"nzType",4,"ngIf"],["nz-icon","",3,"nzType"]],template:function(i,o){1&i&&C(0,mce,1,1,"span",0),2&i&&h("ngIf",o.iconType)},dependencies:[St,ln],encapsulation:2,changeDetection:0})}return t})(),fI=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[WS,In]})}return t})(),mI=(()=>{class t{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Yt),v(Se))};static#t=this.\u0275dir=de({type:t})}return t})(),kl=(()=>{class t extends mI{static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275dir=de({type:t,features:[mt]})}return t})();const Ni=new oe(""),bce={provide:Ni,useExisting:Gt(()=>G7),multi:!0};let G7=(()=>{class t extends kl{writeValue(e){this.setProperty("checked",e)}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275dir=de({type:t,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,o){1&i&&M("change",function(s){return o.onChange(s.target.checked)})("blur",function(){return o.onTouched()})},features:[et([bce]),mt]})}return t})();const _ce={provide:Ni,useExisting:Gt(()=>wr),multi:!0},gI=new oe("");let wr=(()=>{class t extends mI{constructor(e,i,o){super(e,i),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function yce(){const t=da()?da().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Yt),v(Se),v(gI,8))};static#t=this.\u0275dir=de({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,o){1&i&&M("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[et([_ce]),mt]})}return t})();function Ta(t){return null==t||("string"==typeof t||Array.isArray(t))&&0===t.length}function vI(t){return null!=t&&"number"==typeof t.length}const ro=new oe(""),Ma=new oe(""),wce=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class q7{static min(n){return function bI(t){return n=>{if(Ta(n.value)||Ta(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e{if(Ta(n.value)||Ta(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e>t?{max:{max:t,actual:n.value}}:null}}(n)}static required(n){return function yI(t){return Ta(t.value)?{required:!0}:null}(n)}static requiredTrue(n){return function wI(t){return!0===t.value?null:{required:!0}}(n)}static email(n){return function CI(t){return Ta(t.value)||wce.test(t.value)?null:{email:!0}}(n)}static minLength(n){return function zI(t){return n=>Ta(n.value)||!vI(n.value)?null:n.value.length{if(Ta(i.value))return null;const o=i.value;return n.test(o)?null:{pattern:{requiredPattern:e,actualValue:o}}}}(n)}static nullValidator(n){return null}static compose(n){return kI(n)}static composeAsync(n){return II(n)}}function AI(t){return n=>vI(n.value)&&n.value.length>t?{maxlength:{requiredLength:t,actualLength:n.value.length}}:null}function fp(t){return null}function TI(t){return null!=t}function MI(t){return lu(t)?ni(t):t}function DI(t){let n={};return t.forEach(e=>{n=null!=e?{...n,...e}:n}),0===Object.keys(n).length?null:n}function EI(t,n){return n.map(e=>e(t))}function xI(t){return t.map(n=>function Cce(t){return!t.validate}(n)?n:e=>n.validate(e))}function kI(t){if(!t)return null;const n=t.filter(TI);return 0==n.length?null:function(e){return DI(EI(e,n))}}function Q7(t){return null!=t?kI(xI(t)):null}function II(t){if(!t)return null;const n=t.filter(TI);return 0==n.length?null:function(e){return function vce(...t){const n=pg(t),{args:e,keys:i}=PT(t),o=new Wt(r=>{const{length:s}=e;if(!s)return void r.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{p||(p=!0,c--),a[u]=b},()=>l--,void 0,()=>{(!l||!p)&&(c||r.next(i?VT(i,a):a),r.complete())}))}});return n?o.pipe(fg(n)):o}(EI(e,n).map(MI)).pipe(Pe(DI))}}function K7(t){return null!=t?II(xI(t)):null}function OI(t,n){return null===t?[n]:Array.isArray(t)?[...t,n]:[t,n]}function PI(t){return t._rawValidators}function VI(t){return t._rawAsyncValidators}function $7(t){return t?Array.isArray(t)?t:[t]:[]}function mp(t,n){return Array.isArray(t)?t.includes(n):t===n}function NI(t,n){const e=$7(n);return $7(t).forEach(o=>{mp(e,o)||e.push(o)}),e}function FI(t,n){return $7(n).filter(e=>!mp(t,e))}class RI{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Q7(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=K7(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,e){return!!this.control&&this.control.hasError(n,e)}getError(n,e){return this.control?this.control.getError(n,e):null}}class Ao extends RI{get formDirective(){return null}get path(){return null}}class vs extends RI{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class LI{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Zi=(()=>{class t extends LI{constructor(e){super(e)}static#e=this.\u0275fac=function(i){return new(i||t)(v(vs,2))};static#t=this.\u0275dir=de({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,o){2&i&&Z("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[mt]})}return t})(),gp=(()=>{class t extends LI{constructor(e){super(e)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ao,10))};static#t=this.\u0275dir=de({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,o){2&i&&Z("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[mt]})}return t})();const S2="VALID",bp="INVALID",N1="PENDING",T2="DISABLED";class F1{}class HI extends F1{constructor(n,e){super(),this.value=n,this.source=e}}class X7 extends F1{constructor(n,e){super(),this.pristine=n,this.source=e}}class ev extends F1{constructor(n,e){super(),this.touched=n,this.source=e}}class _p extends F1{constructor(n,e){super(),this.status=n,this.source=e}}class Mce extends F1{constructor(n){super(),this.source=n}}class Dce extends F1{constructor(n){super(),this.source=n}}function tv(t){return(yp(t)?t.validators:t)||null}function nv(t,n){return(yp(n)?n.asyncValidators:t)||null}function yp(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}function jI(t,n,e){const i=t.controls;if(!(n?Object.keys(i):i).length)throw new j(1e3,"");if(!i[e])throw new j(1001,"")}function YI(t,n,e){t._forEachChild((i,o)=>{if(void 0===e[o])throw new j(1002,"")})}class M2{constructor(n,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=null,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._events=new V,this.events=this._events.asObservable(),this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===S2}get invalid(){return this.status===bp}get pending(){return this.status==N1}get disabled(){return this.status===T2}get enabled(){return this.status!==T2}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(NI(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(NI(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(FI(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(FI(n,this._rawAsyncValidators))}hasValidator(n){return mp(this._rawValidators,n)}hasAsyncValidator(n){return mp(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){const e=!1===this.touched;this.touched=!0;const i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched({...n,sourceControl:i}),e&&!1!==n.emitEvent&&this._events.next(new ev(!0,i))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(n))}markAsUntouched(n={}){const e=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const i=n.sourceControl??this;this._forEachChild(o=>{o.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:i})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,i),e&&!1!==n.emitEvent&&this._events.next(new ev(!1,i))}markAsDirty(n={}){const e=!0===this.pristine;this.pristine=!1;const i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty({...n,sourceControl:i}),e&&!1!==n.emitEvent&&this._events.next(new X7(!1,i))}markAsPristine(n={}){const e=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const i=n.sourceControl??this;this._forEachChild(o=>{o.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,i),e&&!1!==n.emitEvent&&this._events.next(new X7(!0,i))}markAsPending(n={}){this.status=N1;const e=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new _p(this.status,e)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending({...n,sourceControl:e})}disable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=T2,this.errors=null,this._forEachChild(o=>{o.disable({...n,onlySelf:!0})}),this._updateValue();const i=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new HI(this.value,i)),this._events.next(new _p(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:e},this),this._onDisabledChange.forEach(o=>o(!0))}enable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=S2,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:e},this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n,e){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},e),this._parent._updateTouched({},e))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===S2||this.status===N1)&&this._runAsyncValidator(i,n.emitEvent)}const e=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new HI(this.value,e)),this._events.next(new _p(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity({...n,sourceControl:e})}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?T2:S2}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,e){if(this.asyncValidator){this.status=N1,this._hasOwnPendingAsyncValidator={emitEvent:!1!==e};const i=MI(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(o=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(o,{emitEvent:e,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const n=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(!1!==e.emitEvent,this,e.shouldHaveEmitted)}get(n){let e=n;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,o)=>i&&i._find(o),this)}getError(n,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[n]:null}hasError(n,e){return!!this.getError(n,e)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n,e,i){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||i)&&this._events.next(new _p(this.status,e)),this._parent&&this._parent._updateControlsErrors(n,e,i)}_initObservables(){this.valueChanges=new B,this.statusChanges=new B}_calculateStatus(){return this._allControlsDisabled()?T2:this.errors?bp:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(N1)?N1:this._anyControlsHaveStatus(bp)?bp:S2}_anyControlsHaveStatus(n){return this._anyControls(e=>e.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n,e){const i=!this._anyControlsDirty(),o=this.pristine!==i;this.pristine=i,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,e),o&&this._events.next(new X7(this.pristine,e))}_updateTouched(n={},e){this.touched=this._anyControlsTouched(),this._events.next(new ev(this.touched,e)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,e)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){yp(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function Ece(t){return Array.isArray(t)?Q7(t):t||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function xce(t){return Array.isArray(t)?K7(t):t||null}(this._rawAsyncValidators)}}class D2 extends M2{constructor(n,e,i){super(tv(e),nv(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,e){return this.controls[n]?this.controls[n]:(this.controls[n]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(n,e,i={}){this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],e&&this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,e={}){YI(this,0,n),Object.keys(n).forEach(i=>{jI(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(Object.keys(n).forEach(i=>{const o=this.controls[i];o&&o.patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,o)=>{i.reset(n?n[o]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(n,e,i)=>(n[i]=e.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&n(i,e)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,o)=>((i.enabled||this.disabled)&&(e[o]=i.value),e))}_reduceChildren(n,e){let i=n;return this._forEachChild((o,r)=>{i=e(i,o,r)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}class UI extends D2{}const Il=new oe("CallSetDisabledState",{providedIn:"root",factory:()=>E2}),E2="always";function wp(t,n){return[...n.path,t]}function x2(t,n,e=E2){iv(t,n),n.valueAccessor.writeValue(t.value),(t.disabled||"always"===e)&&n.valueAccessor.setDisabledState?.(t.disabled),function Ice(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&WI(t,n)})}(t,n),function Pce(t,n){const e=(i,o)=>{n.valueAccessor.writeValue(i),o&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}(t,n),function Oce(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&WI(t,n),"submit"!==t.updateOn&&t.markAsTouched()})}(t,n),function kce(t,n){if(n.valueAccessor.setDisabledState){const e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}(t,n)}function Cp(t,n,e=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Ap(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function zp(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function iv(t,n){const e=PI(t);null!==n.validator?t.setValidators(OI(e,n.validator)):"function"==typeof e&&t.setValidators([e]);const i=VI(t);null!==n.asyncValidator?t.setAsyncValidators(OI(i,n.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const o=()=>t.updateValueAndValidity();zp(n._rawValidators,o),zp(n._rawAsyncValidators,o)}function Ap(t,n){let e=!1;if(null!==t){if(null!==n.validator){const o=PI(t);if(Array.isArray(o)&&o.length>0){const r=o.filter(s=>s!==n.validator);r.length!==o.length&&(e=!0,t.setValidators(r))}}if(null!==n.asyncValidator){const o=VI(t);if(Array.isArray(o)&&o.length>0){const r=o.filter(s=>s!==n.asyncValidator);r.length!==o.length&&(e=!0,t.setAsyncValidators(r))}}}const i=()=>{};return zp(n._rawValidators,i),zp(n._rawAsyncValidators,i),e}function WI(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function rv(t,n){if(!t.hasOwnProperty("model"))return!1;const e=t.model;return!!e.isFirstChange()||!Object.is(n,e.currentValue)}function sv(t,n){if(!n)return null;let e,i,o;return Array.isArray(n),n.forEach(r=>{r.constructor===wr?e=r:function Fce(t){return Object.getPrototypeOf(t.constructor)===kl}(r)?i=r:o=r}),o||i||e||null}function QI(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function KI(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}Promise.resolve();const I2=class extends M2{constructor(n=null,e,i){super(tv(e),nv(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),yp(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=KI(n)?n.value:n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(n,e={}){this.setValue(n,e)}reset(n=this.defaultValue,e={}){this._applyFormState(n),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){QI(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){QI(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){KI(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}};let $I=(()=>{class t extends Ao{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return wp(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275dir=de({type:t,features:[mt]})}return t})();const jce={provide:vs,useExisting:Gt(()=>Xi)},ZI=Promise.resolve();let Xi=(()=>{class t extends vs{constructor(e,i,o,r,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new I2,this._registered=!1,this.name="",this.update=new B,this._parent=e,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=sv(0,r)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){const i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),rv(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){x2(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(e){ZI.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){const i=e.isDisabled.currentValue,o=0!==i&&I(i);ZI.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?wp(e,this._parent):[e]}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ao,9),v(ro,10),v(Ma,10),v(Ni,10),v(We,8),v(Il,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[et([jce]),mt,xe]})}return t})(),Sp=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return t})();const Yce={provide:Ni,useExisting:Gt(()=>lv),multi:!0};let lv=(()=>{class t extends kl{writeValue(e){this.setProperty("value",e??"")}registerOnChange(e){this.onChange=i=>{e(""==i?null:parseFloat(i))}}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275dir=de({type:t,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,o){1&i&&M("input",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},features:[et([Yce]),mt]})}return t})();const cv=new oe(""),qce={provide:vs,useExisting:Gt(()=>dv)};let dv=(()=>{class t extends vs{set isDisabled(e){}static#e=this._ngModelWarningSentOnce=!1;constructor(e,i,o,r,s){super(),this._ngModelWarningConfig=r,this.callSetDisabledState=s,this.update=new B,this._ngModelWarningSent=!1,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=sv(0,o)}ngOnChanges(e){if(this._isControlChanged(e)){const i=e.form.previousValue;i&&Cp(i,this,!1),x2(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}rv(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&Cp(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}static#t=this.\u0275fac=function(i){return new(i||t)(v(ro,10),v(Ma,10),v(Ni,10),v(cv,8),v(Il,8))};static#n=this.\u0275dir=de({type:t,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[et([qce]),mt,xe]})}return t})();const Qce={provide:Ao,useExisting:Gt(()=>R1)};let R1=(()=>{class t extends Ao{constructor(e,i,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new B,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Ap(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return x2(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){Cp(e.control||null,e,!1),function Rce(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,function qI(t,n){t._syncPendingControls(),n.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(e),this.form._events.next(new Mce(this.control)),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1,this.form._events.next(new Dce(this.form))}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,o=this.form.get(e.path);i!==o&&(Cp(i||null,e),(t=>t instanceof I2)(o)&&(x2(o,e,this.callSetDisabledState),e.control=o))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);(function GI(t,n){iv(t,n)})(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function Vce(t,n){return Ap(t,n)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){iv(this.form,this),this._oldForm&&Ap(this._oldForm,this)}_checkFormPresent(){}static#e=this.\u0275fac=function(i){return new(i||t)(v(ro,10),v(Ma,10),v(Il,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","formGroup",""]],hostBindings:function(i,o){1&i&&M("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[et([Qce]),mt,xe]})}return t})();const Kce={provide:Ao,useExisting:Gt(()=>Tp)};let Tp=(()=>{class t extends $I{constructor(e,i,o){super(),this.name=null,this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}_checkParentType(){tO(this._parent)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ao,13),v(ro,10),v(Ma,10))};static#t=this.\u0275dir=de({type:t,selectors:[["","formGroupName",""]],inputs:{name:[0,"formGroupName","name"]},features:[et([Kce]),mt]})}return t})();const $ce={provide:Ao,useExisting:Gt(()=>Mp)};let Mp=(()=>{class t extends Ao{constructor(e,i,o){super(),this.name=null,this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return wp(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){tO(this._parent)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ao,13),v(ro,10),v(Ma,10))};static#t=this.\u0275dir=de({type:t,selectors:[["","formArrayName",""]],inputs:{name:[0,"formArrayName","name"]},features:[et([$ce]),mt]})}return t})();function tO(t){return!(t instanceof Tp||t instanceof R1||t instanceof Mp)}const Jce={provide:vs,useExisting:Gt(()=>L1)};let L1=(()=>{class t extends vs{set isDisabled(e){}static#e=this._ngModelWarningSentOnce=!1;constructor(e,i,o,r,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.name=null,this.update=new B,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=sv(0,r)}ngOnChanges(e){this._added||this._setUpControl(),rv(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return wp(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static#t=this.\u0275fac=function(i){return new(i||t)(v(Ao,13),v(ro,10),v(Ma,10),v(Ni,10),v(cv,8))};static#n=this.\u0275dir=de({type:t,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[et([Jce]),mt,xe]})}return t})();let Ol=(()=>{class t{constructor(){this._validator=fp}ngOnChanges(e){if(this.inputName in e){const i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):fp,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return null!=e}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,features:[xe]})}return t})();const d1e={provide:ro,useExisting:Gt(()=>O2),multi:!0};let O2=(()=>{class t extends Ol{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=e=>function oO(t){return"number"==typeof t?t:parseInt(t,10)}(e),this.createValidator=e=>AI(e)}static#e=this.\u0275fac=(()=>{let e;return function(o){return(e||(e=zi(t)))(o||t)}})();static#t=this.\u0275dir=de({type:t,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(i,o){2&i&&Ot("maxlength",o._enabled?o.maxlength:null)},inputs:{maxlength:"maxlength"},features:[et([d1e]),mt]})}return t})(),hO=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();class pO extends M2{constructor(n,e,i){super(tv(e),nv(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[this._adjustIndex(n)]}push(n,e={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(n,e,i={}){this.controls.splice(n,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,e={}){let i=this._adjustIndex(n);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(n,e,i={}){let o=this._adjustIndex(n);o<0&&(o=0),this.controls[o]&&this.controls[o]._registerOnCollectionChange(()=>{}),this.controls.splice(o,1),e&&(this.controls.splice(o,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,e={}){YI(this,0,n),n.forEach((i,o)=>{jI(this,!1,o),this.at(o).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(n.forEach((i,o)=>{this.at(o)&&this.at(o).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n=[],e={}){this._forEachChild((i,o)=>{i.reset(n[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(n=>n.getRawValue())}clear(n={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:n.emitEvent}))}_adjustIndex(n){return n<0?n+this.length:n}_syncPendingControls(){let n=this.controls.reduce((e,i)=>!!i._syncPendingControls()||e,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((e,i)=>{n(e,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(e=>e.enabled&&n(e))}_setUpControls(){this._forEachChild(n=>this._registerControl(n))}_allControlsDisabled(){for(const n of this.controls)if(n.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(n){n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)}_find(n){return this.at(n)??null}}function fO(t){return!!t&&(void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn)}let fv=(()=>{class t{constructor(){this.useNonNullable=!1}get nonNullable(){const e=new t;return e.useNonNullable=!0,e}group(e,i=null){const o=this._reduceControls(e);let r={};return fO(i)?r=i:null!==i&&(r.validators=i.validator,r.asyncValidators=i.asyncValidator),new D2(o,r)}record(e,i=null){const o=this._reduceControls(e);return new UI(o,i)}control(e,i,o){let r={};return this.useNonNullable?(fO(i)?r=i:(r.validators=i,r.asyncValidators=o),new I2(e,{...r,nonNullable:!0})):new I2(e,i,o)}array(e,i,o){const r=e.map(s=>this._createControl(s));return new pO(r,i,o)}_reduceControls(e){const i={};return Object.keys(e).forEach(o=>{i[o]=this._createControl(e[o])}),i}_createControl(e){return e instanceof I2||e instanceof M2?e:Array.isArray(e)?this.control(e[0],e.length>1?e[1]:null,e.length>2?e[2]:null):this.control(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Pl=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:Il,useValue:e.callSetDisabledState??E2}]}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[hO]})}return t})(),h1e=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:cv,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:Il,useValue:e.callSetDisabledState??E2}]}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[hO]})}return t})();const p1e=["nz-input-group-slot",""],mO=["*"];function f1e(t,n){1&t&&A(0,"span",0),2&t&&h("nzType",g().icon)}function m1e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.template)}}function g1e(t,n){if(1&t&&A(0,"span",3),2&t){const e=g(2);h("icon",e.nzAddOnBeforeIcon)("template",e.nzAddOnBefore)}}function v1e(t,n){}function b1e(t,n){if(1&t&&(f(0,"span",6),C(1,v1e,0,0,"ng-template",5),m()),2&t){const e=g(2),i=Be(3);Z("ant-input-affix-wrapper-disabled",e.disabled)("ant-input-affix-wrapper-sm",e.isSmall)("ant-input-affix-wrapper-lg",e.isLarge)("ant-input-affix-wrapper-focused",e.focused),h("ngClass",e.affixInGroupStatusCls),d(),h("ngTemplateOutlet",i)}}function _1e(t,n){}function y1e(t,n){1&t&&C(0,_1e,0,0,"ng-template",5),2&t&&(g(2),h("ngTemplateOutlet",Be(5)))}function w1e(t,n){if(1&t&&A(0,"span",3),2&t){const e=g(2);h("icon",e.nzAddOnAfterIcon)("template",e.nzAddOnAfter)}}function C1e(t,n){if(1&t&&(f(0,"span",2),C(1,g1e,1,2,"span",3)(2,b1e,2,10,"span",4)(3,y1e,1,1,null,5)(4,w1e,1,2,"span",3),m()),2&t){const e=g();d(),he(e.nzAddOnBefore||e.nzAddOnBeforeIcon?1:-1),d(),he(e.isAffix||e.hasFeedback?2:3),d(2),he(e.nzAddOnAfter||e.nzAddOnAfterIcon?4:-1)}}function z1e(t,n){}function A1e(t,n){1&t&&C(0,z1e,0,0,"ng-template",5),2&t&&(g(2),h("ngTemplateOutlet",Be(3)))}function S1e(t,n){}function T1e(t,n){1&t&&C(0,S1e,0,0,"ng-template",5),2&t&&(g(2),h("ngTemplateOutlet",Be(5)))}function M1e(t,n){1&t&&C(0,A1e,1,1,null,5)(1,T1e,1,1,null,5),2&t&&he(g().isAffix?0:1)}function D1e(t,n){if(1&t&&A(0,"span",7),2&t){const e=g(2);h("icon",e.nzPrefixIcon)("template",e.nzPrefix)}}function E1e(t,n){}function x1e(t,n){1&t&&A(0,"nz-form-item-feedback-icon",9),2&t&&h("status",g(3).status)}function k1e(t,n){if(1&t&&(f(0,"span",8),C(1,x1e,1,1,"nz-form-item-feedback-icon",9),m()),2&t){const e=g(2);h("icon",e.nzSuffixIcon)("template",e.nzSuffix),d(),he(e.isFeedback?1:-1)}}function I1e(t,n){if(1&t&&C(0,D1e,1,2,"span",7)(1,E1e,0,0,"ng-template",5)(2,k1e,2,3,"span",8),2&t){const e=g(),i=Be(5);he(e.nzPrefix||e.nzPrefixIcon?0:-1),d(),h("ngTemplateOutlet",i),d(),he(e.nzSuffix||e.nzSuffixIcon||e.isFeedback?2:-1)}}function O1e(t,n){if(1&t&&(f(0,"span",10),A(1,"nz-form-item-feedback-icon",9),m()),2&t){const e=g(2);d(),h("status",e.status)}}function P1e(t,n){if(1&t&&(_t(0),C(1,O1e,2,1,"span",10)),2&t){const e=g();d(),he(e.isAddOn||e.isAffix||!e.isFeedback?-1:1)}}let gO=(()=>{class t{constructor(){this.icon=null,this.type=null,this.template=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-input-group-slot",""]],hostVars:6,hostBindings:function(i,o){2&i&&Z("ant-input-group-addon","addon"===o.type)("ant-input-prefix","prefix"===o.type)("ant-input-suffix","suffix"===o.type)},inputs:{icon:"icon",type:"type",template:"template"},standalone:!0,features:[me],attrs:p1e,ngContentSelectors:mO,decls:3,vars:2,consts:[["nz-icon","",3,"nzType"],[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&(Et(),C(0,f1e,1,1,"span",0)(1,m1e,2,1,"ng-container",1),_t(2)),2&i&&(he(o.icon?0:-1),d(),h("nzStringTemplateOutlet",o.template))},dependencies:[In,ln,Sn,An],encapsulation:2,changeDetection:0})}return t})(),Gs=(()=>{class t{get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(e){this._disabled=e}constructor(e,i,o,r,s,a,l){this.ngControl=e,this.renderer=i,this.elementRef=o,this.hostView=r,this.directionality=s,this.nzFormStatusService=a,this.nzFormNoStatusService=l,this.nzBorderless=!1,this.nzSize="default",this.nzStepperless=!0,this.nzStatus="",this._disabled=!1,this.disabled$=new V,this.dir="ltr",this.prefixCls="ant-input",this.status="",this.statusCls={},this.hasFeedback=!1,this.feedbackRef=null,this.components=[],this.destroy$=new V}ngOnInit(){this.nzFormStatusService?.formStatusChanges.pipe(Qi((e,i)=>e.status===i.status&&e.hasFeedback===i.hasFeedback),P(this.destroy$)).subscribe(({status:e,hasFeedback:i})=>{this.setStatusStyles(e,i)}),this.ngControl&&this.ngControl.statusChanges?.pipe(yt(()=>null!==this.ngControl.disabled),P(this.destroy$)).subscribe(()=>{this.disabled$.next(this.ngControl.disabled)}),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngOnChanges(e){const{disabled:i,nzStatus:o}=e;i&&this.disabled$.next(this.disabled),o&&this.setStatusStyles(this.nzStatus,this.hasFeedback)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}setStatusStyles(e,i){this.status=e,this.hasFeedback=i,this.renderFeedbackIcon(),this.statusCls=Ku(this.prefixCls,e,i),Object.keys(this.statusCls).forEach(o=>{this.statusCls[o]?this.renderer.addClass(this.elementRef.nativeElement,o):this.renderer.removeClass(this.elementRef.nativeElement,o)})}renderFeedbackIcon(){if(!this.status||!this.hasFeedback||this.nzFormNoStatusService)return this.hostView.clear(),void(this.feedbackRef=null);this.feedbackRef=this.feedbackRef||this.hostView.createComponent(W7),this.feedbackRef.location.nativeElement.classList.add("ant-input-suffix"),this.feedbackRef.instance.status=this.status,this.feedbackRef.instance.updateIcon()}static#e=this.\u0275fac=function(i){return new(i||t)(v(vs,10),v(Yt),v(Se),v(qn),v(Ct,8),v(xl,8),v(pp,8))};static#t=this.\u0275dir=de({type:t,selectors:[["input","nz-input",""],["textarea","nz-input",""]],hostAttrs:[1,"ant-input"],hostVars:13,hostBindings:function(i,o){2&i&&(Ot("disabled",o.disabled||null),Z("ant-input-disabled",o.disabled)("ant-input-borderless",o.nzBorderless)("ant-input-lg","large"===o.nzSize)("ant-input-sm","small"===o.nzSize)("ant-input-rtl","rtl"===o.dir)("ant-input-stepperless",o.nzStepperless))},inputs:{nzBorderless:[2,"nzBorderless","nzBorderless",I],nzSize:"nzSize",nzStepperless:[2,"nzStepperless","nzStepperless",I],nzStatus:"nzStatus",disabled:[2,"disabled","disabled",I]},exportAs:["nzInput"],standalone:!0,features:[je,xe]})}return t})(),vO=(()=>{class t{constructor(e){this.elementRef=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["nz-input-group","nzSuffix",""],["nz-input-group","nzPrefix",""]],standalone:!0})}return t})(),Dp=(()=>{class t{constructor(e,i,o,r,s,a,l){this.focusMonitor=e,this.elementRef=i,this.renderer=o,this.cdr=r,this.directionality=s,this.nzFormStatusService=a,this.nzFormNoStatusService=l,this.nzAddOnBeforeIcon=null,this.nzAddOnAfterIcon=null,this.nzPrefixIcon=null,this.nzSuffixIcon=null,this.nzStatus="",this.nzSize="default",this.nzSearch=!1,this.nzCompact=!1,this.isLarge=!1,this.isSmall=!1,this.isAffix=!1,this.isAddOn=!1,this.isFeedback=!1,this.focused=!1,this.disabled=!1,this.dir="ltr",this.prefixCls="ant-input",this.affixStatusCls={},this.groupStatusCls={},this.affixInGroupStatusCls={},this.status="",this.hasFeedback=!1,this.destroy$=new V}updateChildrenInputSize(){this.listOfNzInputDirective&&this.listOfNzInputDirective.forEach(e=>e.nzSize=this.nzSize)}ngOnInit(){this.nzFormStatusService?.formStatusChanges.pipe(Qi((e,i)=>e.status===i.status&&e.hasFeedback===i.hasFeedback),P(this.destroy$)).subscribe(({status:e,hasFeedback:i})=>{this.setStatusStyles(e,i)}),this.focusMonitor.monitor(this.elementRef,!0).pipe(P(this.destroy$)).subscribe(e=>{this.focused=!!e,this.cdr.markForCheck()}),this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngAfterContentInit(){this.updateChildrenInputSize();const e=this.listOfNzInputDirective.changes.pipe(gn(this.listOfNzInputDirective));e.pipe(mn(i=>On(e,...i.map(o=>o.disabled$))),Yn(()=>e),Pe(i=>i.some(o=>o.disabled)),P(this.destroy$)).subscribe(i=>{this.disabled=i,this.cdr.markForCheck()})}ngOnChanges(e){const{nzSize:i,nzSuffix:o,nzPrefix:r,nzPrefixIcon:s,nzSuffixIcon:a,nzAddOnAfter:l,nzAddOnBefore:c,nzAddOnAfterIcon:u,nzAddOnBeforeIcon:p,nzStatus:b}=e;i&&(this.updateChildrenInputSize(),this.isLarge="large"===this.nzSize,this.isSmall="small"===this.nzSize),(o||r||s||a)&&(this.isAffix=!!(this.nzSuffix||this.nzPrefix||this.nzPrefixIcon||this.nzSuffixIcon)),(l||c||u||p)&&(this.isAddOn=!!(this.nzAddOnAfter||this.nzAddOnBefore||this.nzAddOnAfterIcon||this.nzAddOnBeforeIcon),this.nzFormNoStatusService?.noFormStatus?.next(this.isAddOn)),b&&this.setStatusStyles(this.nzStatus,this.hasFeedback)}ngOnDestroy(){this.focusMonitor.stopMonitoring(this.elementRef),this.destroy$.next(),this.destroy$.complete()}setStatusStyles(e,i){this.status=e,this.hasFeedback=i,this.isFeedback=!!e&&i,this.isAffix=!!(this.nzSuffix||this.nzPrefix||this.nzPrefixIcon||this.nzSuffixIcon)||!this.isAddOn&&i,this.affixInGroupStatusCls=this.isAffix||this.isFeedback?this.affixStatusCls=Ku(`${this.prefixCls}-affix-wrapper`,e,i):{},this.cdr.markForCheck(),this.affixStatusCls=Ku(`${this.prefixCls}-affix-wrapper`,this.isAddOn?"":e,!this.isAddOn&&i),this.groupStatusCls=Ku(`${this.prefixCls}-group-wrapper`,this.isAddOn?e:"",!!this.isAddOn&&i);const r={...this.affixStatusCls,...this.groupStatusCls};Object.keys(r).forEach(s=>{r[s]?this.renderer.addClass(this.elementRef.nativeElement,s):this.renderer.removeClass(this.elementRef.nativeElement,s)})}static#e=this.\u0275fac=function(i){return new(i||t)(v(wa),v(Se),v(Yt),v(We),v(Ct,8),v(xl,8),v(pp,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-input-group"]],contentQueries:function(i,o,r){if(1&i&&fn(r,Gs,4),2&i){let s;ke(s=Ie())&&(o.listOfNzInputDirective=s)}},hostVars:40,hostBindings:function(i,o){2&i&&Z("ant-input-group-compact",o.nzCompact)("ant-input-search-enter-button",o.nzSearch)("ant-input-search",o.nzSearch)("ant-input-search-rtl","rtl"===o.dir)("ant-input-search-sm",o.nzSearch&&o.isSmall)("ant-input-search-large",o.nzSearch&&o.isLarge)("ant-input-group-wrapper",o.isAddOn)("ant-input-group-wrapper-rtl","rtl"===o.dir)("ant-input-group-wrapper-lg",o.isAddOn&&o.isLarge)("ant-input-group-wrapper-sm",o.isAddOn&&o.isSmall)("ant-input-affix-wrapper",o.isAffix&&!o.isAddOn)("ant-input-affix-wrapper-rtl","rtl"===o.dir)("ant-input-affix-wrapper-focused",o.isAffix&&o.focused)("ant-input-affix-wrapper-disabled",o.isAffix&&o.disabled)("ant-input-affix-wrapper-lg",o.isAffix&&!o.isAddOn&&o.isLarge)("ant-input-affix-wrapper-sm",o.isAffix&&!o.isAddOn&&o.isSmall)("ant-input-group",!o.isAffix&&!o.isAddOn)("ant-input-group-rtl","rtl"===o.dir)("ant-input-group-lg",!o.isAffix&&!o.isAddOn&&o.isLarge)("ant-input-group-sm",!o.isAffix&&!o.isAddOn&&o.isSmall)},inputs:{nzAddOnBeforeIcon:"nzAddOnBeforeIcon",nzAddOnAfterIcon:"nzAddOnAfterIcon",nzPrefixIcon:"nzPrefixIcon",nzSuffixIcon:"nzSuffixIcon",nzAddOnBefore:"nzAddOnBefore",nzAddOnAfter:"nzAddOnAfter",nzPrefix:"nzPrefix",nzStatus:"nzStatus",nzSuffix:"nzSuffix",nzSize:"nzSize",nzSearch:[2,"nzSearch","nzSearch",I],nzCompact:[2,"nzCompact","nzCompact",I]},exportAs:["nzInputGroup"],standalone:!0,features:[et([pp]),je,xe,me],ngContentSelectors:mO,decls:6,vars:1,consts:[["affixTemplate",""],["contentTemplate",""],[1,"ant-input-wrapper","ant-input-group"],["nz-input-group-slot","","type","addon",3,"icon","template"],[1,"ant-input-affix-wrapper",3,"ant-input-affix-wrapper-disabled","ant-input-affix-wrapper-sm","ant-input-affix-wrapper-lg","ant-input-affix-wrapper-focused","ngClass"],[3,"ngTemplateOutlet"],[1,"ant-input-affix-wrapper",3,"ngClass"],["nz-input-group-slot","","type","prefix",3,"icon","template"],["nz-input-group-slot","","type","suffix",3,"icon","template"],[3,"status"],["nz-input-group-slot","","type","suffix"]],template:function(i,o){1&i&&(Et(),C(0,C1e,5,3,"span",2)(1,M1e,2,1)(2,I1e,3,3,"ng-template",null,0,ot)(4,P1e,2,1,"ng-template",null,1,ot)),2&i&&he(o.isAddOn?0:1)},dependencies:[gO,Jo,Nn,fI,W7],encapsulation:2,changeDetection:0})}return t})(),bO=(()=>{class t{set nzAutosize(e){var o;"string"==typeof e||!0===e?this.autosize=!0:"string"!=typeof(o=e)&&"boolean"!=typeof o&&(o.maxRows||o.minRows)&&(this.autosize=!0,this.minRows=e.minRows,this.maxRows=e.maxRows,this.maxHeight=this.setMaxHeight(),this.minHeight=this.setMinHeight())}resizeToFitContent(e=!1){if(this.cacheTextareaLineHeight(),!this.cachedLineHeight)return;const i=this.el,o=i.value;if(!e&&this.minRows===this.previousMinRows&&o===this.previousValue)return;const r=i.placeholder;i.classList.add("nz-textarea-autosize-measuring"),i.placeholder="";let s=Math.round((i.scrollHeight-this.inputGap)/this.cachedLineHeight)*this.cachedLineHeight+this.inputGap;null!==this.maxHeight&&s>this.maxHeight&&(s=this.maxHeight),null!==this.minHeight&&srequestAnimationFrame(()=>{const{selectionStart:a,selectionEnd:l}=i;!this.destroy$.isStopped&&document.activeElement===i&&i.setSelectionRange(a,l)})),this.previousValue=o,this.previousMinRows=this.minRows}cacheTextareaLineHeight(){if(this.cachedLineHeight>=0||!this.el.parentNode)return;const e=this.el.cloneNode(!1);e.rows=1,e.style.position="absolute",e.style.visibility="hidden",e.style.border="none",e.style.padding="0",e.style.height="",e.style.minHeight="",e.style.maxHeight="",e.style.overflow="hidden",this.el.parentNode.appendChild(e),this.cachedLineHeight=e.clientHeight-this.inputGap,this.el.parentNode.removeChild(e),this.maxHeight=this.setMaxHeight(),this.minHeight=this.setMinHeight()}setMinHeight(){const e=this.minRows&&this.cachedLineHeight?this.minRows*this.cachedLineHeight+this.inputGap:null;return null!==e&&(this.el.style.minHeight=`${e}px`),e}setMaxHeight(){const e=this.maxRows&&this.cachedLineHeight?this.maxRows*this.cachedLineHeight+this.inputGap:null;return null!==e&&(this.el.style.maxHeight=`${e}px`),e}noopInputHandler(){}constructor(e,i,o,r){this.elementRef=e,this.ngZone=i,this.platform=o,this.resizeService=r,this.autosize=!1,this.el=this.elementRef.nativeElement,this.maxHeight=null,this.minHeight=null,this.destroy$=new V,this.inputGap=10}ngAfterViewInit(){this.autosize&&this.platform.isBrowser&&(this.resizeToFitContent(),this.resizeService.subscribe().pipe(P(this.destroy$)).subscribe(()=>this.resizeToFitContent(!0)))}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}ngDoCheck(){this.autosize&&this.platform.isBrowser&&this.resizeToFitContent()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Me),v(Qn),v(R5))};static#t=this.\u0275dir=de({type:t,selectors:[["textarea","nzAutosize",""]],hostAttrs:["rows","1"],hostBindings:function(i,o){1&i&&M("input",function(){return o.noopInputHandler()})},inputs:{nzAutosize:"nzAutosize"},exportAs:["nzAutosize"],standalone:!0})}return t})(),V1e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Dp,gO]})}return t})();const _O=["*"];function F1e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.nzLabel)}}function R1e(t,n){}function L1e(t,n){1&t&&C(0,R1e,0,0,"ng-template",4),2&t&&h("ngTemplateOutlet",g().template)}function B1e(t,n){1&t&&w(0),2&t&&D(g().label)}function H1e(t,n){1&t&&A(0,"span",7)}function j1e(t,n){if(1&t&&(f(0,"div",5),C(1,H1e,1,0,"span",6),m()),2&t){const e=g();d(),h("ngIf",!e.icon)("ngIfElse",e.icon)}}function Y1e(t,n){if(1&t&&(f(0,"div",4),A(1,"nz-embed-empty",5),m()),2&t){const e=g();d(),h("specificContent",e.notFoundContent)}}function U1e(t,n){1&t&&A(0,"nz-option-item-group",9),2&t&&h("nzLabel",g().$implicit.groupLabel)}function W1e(t,n){if(1&t){const e=W();f(0,"nz-option-item",10),M("itemHover",function(o){return S(e),T(g(2).onItemHover(o))})("itemClick",function(o){return S(e),T(g(2).onItemClick(o))}),m()}if(2&t){const e=g().$implicit,i=g();h("icon",i.menuItemSelectedIcon)("customContent",e.nzCustomContent)("template",e.template)("grouped",!!e.groupLabel)("disabled",e.nzDisabled||i.isMaxLimitReached&&!i.listOfSelectedValue.includes(e.nzValue))("showState","tags"===i.mode||"multiple"===i.mode)("title",e.nzTitle)("label",e.nzLabel)("compareWith",i.compareWith)("activatedValue",i.activatedValue)("listOfSelectedValue",i.listOfSelectedValue)("value",e.nzValue)}}function G1e(t,n){1&t&&(Ye(0,6),C(1,U1e,1,1,"nz-option-item-group",7)(2,W1e,1,12,"nz-option-item",8),Ue()),2&t&&(h("ngSwitch",n.$implicit.type),d(),h("ngSwitchCase","group"),d(),h("ngSwitchCase","item"))}function q1e(t,n){}function Q1e(t,n){1&t&&_t(0)}function K1e(t,n){if(1&t&&(Ye(0),f(1,"span"),w(2),m(),Ue()),2&t){const e=g();d(2),la("",e.listOfValue.length," / ",e.nzMaxMultipleCount,"")}}function $1e(t,n){1&t&&A(0,"span",5)}function J1e(t,n){1&t&&A(0,"span",9)}function Z1e(t,n){1&t&&A(0,"span",10)}function X1e(t,n){if(1&t&&(Ye(0),C(1,J1e,1,0,"span",7)(2,Z1e,1,0,"span",8),Ue()),2&t){const e=g(2);d(),h("ngIf",!e.search),d(),h("ngIf",e.search)}}function ede(t,n){1&t&&A(0,"span",12),2&t&&h("nzType",g().$implicit)}function tde(t,n){if(1&t&&(Ye(0),C(1,ede,1,1,"span",11),Ue()),2&t){const e=n.$implicit;d(),h("ngIf",e)}}function nde(t,n){1&t&&C(0,tde,2,1,"ng-container",4),2&t&&h("nzStringTemplateOutlet",g(2).suffixIcon)}function ide(t,n){if(1&t&&C(0,X1e,3,2,"ng-container",6)(1,nde,1,1,"ng-template",null,1,ot),2&t){const e=Be(2),i=g();h("ngIf",i.showArrow&&!i.suffixIcon)("ngIfElse",e)}}function ode(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.feedbackIcon)}}function rde(t,n){1&t&&A(0,"span",1)}const sde=t=>({$implicit:t});function ade(t,n){if(1&t&&(f(0,"div",4),w(1),m()),2&t){const e=g(2);d(),D(e.label)}}function lde(t,n){1&t&&w(0),2&t&&D(g(2).label)}function cde(t,n){if(1&t&&(Ye(0),C(1,ade,2,1,"div",3)(2,lde,1,1,"ng-template",null,0,ot),Ue()),2&t){const e=Be(3),i=g();d(),h("ngIf",i.deletable)("ngIfElse",e)}}function dde(t,n){1&t&&A(0,"span",7)}function ude(t,n){if(1&t){const e=W();f(0,"span",5),M("click",function(o){return S(e),T(g().onDelete(o))}),C(1,dde,1,0,"span",6),m()}if(2&t){const e=g();d(),h("ngIf",!e.removeIcon)("ngIfElse",e.removeIcon)}}function hde(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),we(" ",e.placeholder," ")}}const pde=["inputElement"],fde=["mirrorElement"];function mde(t,n){1&t&&A(0,"span",4,1)}function gde(t,n){if(1&t&&A(0,"nz-select-item",6),2&t){const e=g(2);h("deletable",!1)("disabled",!1)("removeIcon",e.removeIcon)("label",e.listOfTopItem[0].nzLabel)("contentTemplateOutlet",e.customTemplate)("contentTemplateOutletContext",e.listOfTopItem[0])}}function vde(t,n){if(1&t){const e=W();Ye(0),f(1,"nz-select-search",4),M("isComposingChange",function(o){return S(e),T(g().isComposingChange(o))})("valueChange",function(o){return S(e),T(g().onInputValueChange(o))}),m(),C(2,gde,1,6,"nz-select-item",5),Ue()}if(2&t){const e=g();d(),h("nzId",e.nzId)("disabled",e.disabled)("value",e.inputValue)("showInput",e.showSearch)("mirrorSync",!1)("autofocus",e.autofocus)("focusTrigger",e.open),d(),h("ngIf",e.isShowSingleLabel)}}function bde(t,n){if(1&t){const e=W();f(0,"nz-select-item",9),M("delete",function(){const o=S(e).$implicit;return T(g(2).onDeleteItem(o.contentTemplateOutletContext))}),m()}if(2&t){const e=n.$implicit,i=g(2);h("removeIcon",i.removeIcon)("label",e.nzLabel)("disabled",e.nzDisabled||i.disabled)("contentTemplateOutlet",e.contentTemplateOutlet)("deletable",!0)("contentTemplateOutletContext",e.contentTemplateOutletContext)}}function _de(t,n){if(1&t){const e=W();Ye(0),C(1,bde,1,6,"nz-select-item",7),f(2,"nz-select-search",8),M("isComposingChange",function(o){return S(e),T(g().isComposingChange(o))})("valueChange",function(o){return S(e),T(g().onInputValueChange(o))}),m(),Ue()}if(2&t){const e=g();d(),h("ngForOf",e.listOfSlicedItem)("ngForTrackBy",e.trackValue),d(),h("nzId",e.nzId)("disabled",e.disabled)("value",e.inputValue)("autofocus",e.autofocus)("showInput",!0)("mirrorSync",!0)("focusTrigger",e.open)}}function yde(t,n){1&t&&A(0,"nz-select-placeholder",10),2&t&&h("placeholder",g().placeHolder)}function wde(t,n){1&t&&A(0,"nz-form-item-feedback-icon",8),2&t&&h("status",g(3).status)}function Cde(t,n){if(1&t&&C(0,wde,1,1,"nz-form-item-feedback-icon",7),2&t){const e=g(2);h("ngIf",e.hasFeedback&&!!e.status)}}function zde(t,n){if(1&t&&(f(0,"nz-select-arrow",6),C(1,Cde,1,1,"ng-template",null,1,ot),m()),2&t){const e=Be(2),i=g();h("showArrow",i.nzShowArrow)("loading",i.nzLoading)("search",i.nzOpen&&i.nzShowSearch)("suffixIcon",i.nzSuffixIcon)("feedbackIcon",e)("nzMaxMultipleCount",i.nzMaxMultipleCount)("listOfValue",i.listOfValue)("isMaxTagCountSet",i.isMaxTagCountSet)}}function Ade(t,n){if(1&t){const e=W();f(0,"nz-select-clear",9),M("clear",function(){return S(e),T(g().onClearSelection())}),m()}2&t&&h("clearIcon",g().nzClearIcon)}function Sde(t,n){if(1&t){const e=W();f(0,"nz-option-container",10),M("keydown",function(o){return S(e),T(g().onKeyDown(o))})("itemClick",function(o){return S(e),T(g().onItemClick(o))})("scrollToBottom",function(){return S(e),T(g().nzScrollToBottom.emit())}),m()}if(2&t){const e=g();Z("ant-select-dropdown-placement-bottomLeft","bottomLeft"===e.dropDownPosition)("ant-select-dropdown-placement-topLeft","topLeft"===e.dropDownPosition)("ant-select-dropdown-placement-bottomRight","bottomRight"===e.dropDownPosition)("ant-select-dropdown-placement-topRight","topRight"===e.dropDownPosition),h("ngStyle",e.nzDropdownStyle)("itemSize",e.nzOptionHeightPx)("maxItemLength",e.nzOptionOverflowSize)("matchWidth",e.nzDropdownMatchSelectWidth)("@slideMotion","enter")("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)("listOfContainerItem",e.listOfContainerItem)("menuItemSelectedIcon",e.nzMenuItemSelectedIcon)("notFoundContent",e.nzNotFoundContent)("activatedValue",e.activatedValue)("listOfSelectedValue",e.listOfValue)("dropdownRender",e.nzDropdownRender)("compareWith",e.compareWith)("mode",e.nzMode)("isMaxLimitReached",e.isMaxLimitReached)}}let mv=(()=>{class t{constructor(){this.nzLabel=null,this.changes=new V}ngOnChanges(){this.changes.next()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-option-group"]],inputs:{nzLabel:"nzLabel"},exportAs:["nzOptionGroup"],standalone:!0,features:[xe,me],ngContentSelectors:_O,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})(),yO=(()=>{class t{constructor(){this.nzLabel=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-option-item-group"]],hostAttrs:[1,"ant-select-item","ant-select-item-group"],inputs:{nzLabel:"nzLabel"},standalone:!0,features:[me],decls:1,vars:1,consts:[[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&C(0,F1e,2,1,"ng-container",0),2&i&&h("nzStringTemplateOutlet",o.nzLabel)},dependencies:[Sn,An],encapsulation:2,changeDetection:0})}return t})(),wO=(()=>{class t{constructor(e,i,o){this.elementRef=e,this.ngZone=i,this.destroy$=o,this.selected=!1,this.activated=!1,this.grouped=!1,this.customContent=!1,this.template=null,this.disabled=!1,this.showState=!1,this.label=null,this.value=null,this.activatedValue=null,this.listOfSelectedValue=[],this.icon=null,this.itemClick=new B,this.itemHover=new B}ngOnChanges(e){const{value:i,activatedValue:o,listOfSelectedValue:r}=e;(i||r)&&(this.selected=this.listOfSelectedValue.some(s=>this.compareWith(s,this.value))),(i||o)&&(this.activated=this.compareWith(this.activatedValue,this.value))}ngOnInit(){this.ngZone.runOutsideAngular(()=>{nn(this.elementRef.nativeElement,"click").pipe(P(this.destroy$)).subscribe(()=>{this.disabled||this.ngZone.run(()=>this.itemClick.emit(this.value))}),nn(this.elementRef.nativeElement,"mouseenter").pipe(P(this.destroy$)).subscribe(()=>{this.disabled||this.ngZone.run(()=>this.itemHover.emit(this.value))})})}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Me),v(Vo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-option-item"]],hostAttrs:[1,"ant-select-item","ant-select-item-option"],hostVars:9,hostBindings:function(i,o){2&i&&(Ot("title",o.title),Z("ant-select-item-option-grouped",o.grouped)("ant-select-item-option-selected",o.selected&&!o.disabled)("ant-select-item-option-disabled",o.disabled)("ant-select-item-option-active",o.activated&&!o.disabled))},inputs:{grouped:"grouped",customContent:"customContent",template:"template",disabled:"disabled",showState:"showState",title:"title",label:"label",value:"value",activatedValue:"activatedValue",listOfSelectedValue:"listOfSelectedValue",icon:"icon",compareWith:"compareWith"},outputs:{itemClick:"itemClick",itemHover:"itemHover"},standalone:!0,features:[et([Vo]),xe,me],decls:5,vars:3,consts:[["noCustomContent",""],[1,"ant-select-item-option-content"],[3,"ngIf","ngIfElse"],["class","ant-select-item-option-state","style","user-select: none","unselectable","on",4,"ngIf"],[3,"ngTemplateOutlet"],["unselectable","on",1,"ant-select-item-option-state",2,"user-select","none"],["nz-icon","","nzType","check","class","ant-select-selected-icon",4,"ngIf","ngIfElse"],["nz-icon","","nzType","check",1,"ant-select-selected-icon"]],template:function(i,o){if(1&i&&(f(0,"div",1),C(1,L1e,1,1,"ng-template",2)(2,B1e,1,1,"ng-template",null,0,ot),m(),C(4,j1e,2,2,"div",3)),2&i){const r=Be(3);d(),h("ngIf",o.customContent)("ngIfElse",r),d(3),h("ngIf",o.showState&&o.selected)}},dependencies:[St,Nn,In,ln],encapsulation:2,changeDetection:0})}return t})(),CO=(()=>{class t{constructor(){this.notFoundContent=void 0,this.menuItemSelectedIcon=null,this.dropdownRender=null,this.activatedValue=null,this.listOfSelectedValue=[],this.mode="default",this.matchWidth=!0,this.itemSize=32,this.maxItemLength=8,this.isMaxLimitReached=!1,this.listOfContainerItem=[],this.itemClick=new B,this.scrollToBottom=new B,this.scrolledIndex=0,this.ngZone=G(Me),this.platformId=G(Pr)}onItemClick(e){this.itemClick.emit(e)}onItemHover(e){this.activatedValue=e}trackValue(e,i){return i.key}onScrolledIndexChange(e){this.scrolledIndex=e,e===this.listOfContainerItem.length-this.maxItemLength-1&&this.scrollToBottom.emit()}scrollToActivatedValue(){const e=this.listOfContainerItem.findIndex(i=>this.compareWith(i.key,this.activatedValue));(e=this.scrolledIndex+this.maxItemLength)&&this.cdkVirtualScrollViewport.scrollToIndex(e||0)}ngOnChanges(e){const{listOfContainerItem:i,activatedValue:o}=e;(i||o)&&this.scrollToActivatedValue()}ngAfterViewInit(){p4(this.platformId)&&this.ngZone.runOutsideAngular(()=>setTimeout(()=>this.scrollToActivatedValue()))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-option-container"]],viewQuery:function(i,o){if(1&i&&ft(E1,7),2&i){let r;ke(r=Ie())&&(o.cdkVirtualScrollViewport=r.first)}},hostAttrs:[1,"ant-select-dropdown"],inputs:{notFoundContent:"notFoundContent",menuItemSelectedIcon:"menuItemSelectedIcon",dropdownRender:"dropdownRender",activatedValue:"activatedValue",listOfSelectedValue:"listOfSelectedValue",compareWith:"compareWith",mode:"mode",matchWidth:"matchWidth",itemSize:"itemSize",maxItemLength:"maxItemLength",isMaxLimitReached:"isMaxLimitReached",listOfContainerItem:"listOfContainerItem"},outputs:{itemClick:"itemClick",scrollToBottom:"scrollToBottom"},exportAs:["nzOptionContainer"],standalone:!0,features:[xe,me],decls:5,vars:14,consts:[["class","ant-select-item-empty",4,"ngIf"],[3,"scrolledIndexChange","itemSize","maxBufferPx","minBufferPx"],["cdkVirtualFor","",3,"cdkVirtualForOf","cdkVirtualForTrackBy","cdkVirtualForTemplateCacheSize"],[3,"ngTemplateOutlet"],[1,"ant-select-item-empty"],["nzComponentName","select",3,"specificContent"],[3,"ngSwitch"],[3,"nzLabel",4,"ngSwitchCase"],[3,"icon","customContent","template","grouped","disabled","showState","title","label","compareWith","activatedValue","listOfSelectedValue","value","itemHover","itemClick",4,"ngSwitchCase"],[3,"nzLabel"],[3,"itemHover","itemClick","icon","customContent","template","grouped","disabled","showState","title","label","compareWith","activatedValue","listOfSelectedValue","value"]],template:function(i,o){1&i&&(f(0,"div"),C(1,Y1e,2,1,"div",0),f(2,"cdk-virtual-scroll-viewport",1),M("scrolledIndexChange",function(s){return o.onScrolledIndexChange(s)}),C(3,G1e,3,3,"ng-template",2),m(),C(4,q1e,0,0,"ng-template",3),m()),2&i&&(d(),h("ngIf",0===o.listOfContainerItem.length),d(),Lt("height",o.listOfContainerItem.length*o.itemSize,"px")("max-height",o.itemSize*o.maxItemLength,"px"),Z("full-width",!o.matchWidth),h("itemSize",o.itemSize)("maxBufferPx",o.itemSize*o.maxItemLength)("minBufferPx",o.itemSize*o.maxItemLength),d(),h("cdkVirtualForOf",o.listOfContainerItem)("cdkVirtualForTrackBy",o.trackValue)("cdkVirtualForTemplateCacheSize",0),d(),h("ngTemplateOutlet",o.dropdownRender))},dependencies:[U7,Y7,St,cl,yO,fu,wO,Nn,d2,Yx,qx,E1,u2],encapsulation:2,changeDetection:0})}return t})(),Vl=(()=>{class t{constructor(e,i){this.nzOptionGroupComponent=e,this.destroy$=i,this.changes=new V,this.groupLabel=null,this.nzLabel=null,this.nzValue=null,this.nzDisabled=!1,this.nzHide=!1,this.nzCustomContent=!1}ngOnInit(){this.nzOptionGroupComponent&&this.nzOptionGroupComponent.changes.pipe(gn(!0),P(this.destroy$)).subscribe(()=>{this.groupLabel=this.nzOptionGroupComponent.nzLabel})}ngOnChanges(){this.changes.next()}static#e=this.\u0275fac=function(i){return new(i||t)(v(mv,8),v(Vo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-option"]],viewQuery:function(i,o){if(1&i&&ft(qt,7),2&i){let r;ke(r=Ie())&&(o.template=r.first)}},inputs:{nzTitle:"nzTitle",nzLabel:"nzLabel",nzValue:"nzValue",nzKey:"nzKey",nzDisabled:[2,"nzDisabled","nzDisabled",I],nzHide:[2,"nzHide","nzHide",I],nzCustomContent:[2,"nzCustomContent","nzCustomContent",I]},exportAs:["nzOption"],standalone:!0,features:[et([Vo]),je,xe,me],ngContentSelectors:_O,decls:1,vars:0,template:function(i,o){1&i&&(Et(),C(0,Q1e,1,0,"ng-template"))},encapsulation:2,changeDetection:0})}return t})(),zO=(()=>{class t{constructor(){this.listOfValue=[],this.loading=!1,this.search=!1,this.showArrow=!1,this.isMaxTagCountSet=!1,this.suffixIcon=null,this.feedbackIcon=null,this.nzMaxMultipleCount=1/0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-arrow"]],hostAttrs:[1,"ant-select-arrow"],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-select-arrow-loading",o.loading)},inputs:{listOfValue:"listOfValue",loading:"loading",search:"search",showArrow:"showArrow",isMaxTagCountSet:"isMaxTagCountSet",suffixIcon:"suffixIcon",feedbackIcon:"feedbackIcon",nzMaxMultipleCount:[2,"nzMaxMultipleCount","nzMaxMultipleCount",Oi]},standalone:!0,features:[je,me],decls:5,vars:4,consts:[["defaultArrow",""],["suffixTemplate",""],[4,"ngIf"],["nz-icon","","nzType","loading",4,"ngIf","ngIfElse"],[4,"nzStringTemplateOutlet"],["nz-icon","","nzType","loading"],[4,"ngIf","ngIfElse"],["nz-icon","","nzType","down",4,"ngIf"],["nz-icon","","nzType","search",4,"ngIf"],["nz-icon","","nzType","down"],["nz-icon","","nzType","search"],["nz-icon","",3,"nzType",4,"ngIf"],["nz-icon","",3,"nzType"]],template:function(i,o){if(1&i&&C(0,K1e,3,2,"ng-container",2)(1,$1e,1,0,"span",3)(2,ide,3,2,"ng-template",null,0,ot)(4,ode,2,1,"ng-container",4),2&i){const r=Be(3);h("ngIf",o.isMaxTagCountSet),d(),h("ngIf",o.loading)("ngIfElse",r),d(3),h("nzStringTemplateOutlet",o.feedbackIcon)}},dependencies:[In,ln,St,Sn,An],encapsulation:2,changeDetection:0})}return t})(),AO=(()=>{class t{constructor(){this.clearIcon=null,this.clear=new B}onClick(e){e.preventDefault(),e.stopPropagation(),this.clear.emit(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-clear"]],hostAttrs:[1,"ant-select-clear"],hostBindings:function(i,o){1&i&&M("click",function(s){return o.onClick(s)})},inputs:{clearIcon:"clearIcon"},outputs:{clear:"clear"},standalone:!0,features:[me],decls:1,vars:2,consts:[["nz-icon","","nzType","close-circle","nzTheme","fill","class","ant-select-close-icon",4,"ngIf","ngIfElse"],["nz-icon","","nzType","close-circle","nzTheme","fill",1,"ant-select-close-icon"]],template:function(i,o){1&i&&C(0,rde,1,0,"span",0),2&i&&h("ngIf",!o.clearIcon)("ngIfElse",o.clearIcon)},dependencies:[In,ln,St],encapsulation:2,changeDetection:0})}return t})(),SO=(()=>{class t{constructor(){this.disabled=!1,this.label=null,this.deletable=!1,this.removeIcon=null,this.contentTemplateOutletContext=null,this.contentTemplateOutlet=null,this.delete=new B}onDelete(e){e.preventDefault(),e.stopPropagation(),this.disabled||this.delete.next(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-item"]],hostAttrs:[1,"ant-select-selection-item"],hostVars:3,hostBindings:function(i,o){2&i&&(Ot("title",o.label),Z("ant-select-selection-item-disabled",o.disabled))},inputs:{disabled:"disabled",label:"label",deletable:"deletable",removeIcon:"removeIcon",contentTemplateOutletContext:"contentTemplateOutletContext",contentTemplateOutlet:"contentTemplateOutlet"},outputs:{delete:"delete"},standalone:!0,features:[me],decls:2,vars:5,consts:[["labelTemplate",""],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],["class","ant-select-selection-item-remove",3,"click",4,"ngIf"],["class","ant-select-selection-item-content",4,"ngIf","ngIfElse"],[1,"ant-select-selection-item-content"],[1,"ant-select-selection-item-remove",3,"click"],["nz-icon","","nzType","close",4,"ngIf","ngIfElse"],["nz-icon","","nzType","close"]],template:function(i,o){1&i&&C(0,cde,4,2,"ng-container",1)(1,ude,2,2,"span",2),2&i&&(h("nzStringTemplateOutlet",o.contentTemplateOutlet)("nzStringTemplateOutletContext",mr(3,sde,o.contentTemplateOutletContext)),d(),h("ngIf",o.deletable&&!o.disabled))},dependencies:[Sn,An,St,In,ln],encapsulation:2,changeDetection:0})}return t})(),TO=(()=>{class t{constructor(){this.placeholder=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-placeholder"]],hostAttrs:[1,"ant-select-selection-placeholder"],inputs:{placeholder:"placeholder"},standalone:!0,features:[me],decls:1,vars:1,consts:[[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&C(0,hde,2,1,"ng-container",0),2&i&&h("nzStringTemplateOutlet",o.placeholder)},dependencies:[Sn,An],encapsulation:2,changeDetection:0})}return t})(),gv=(()=>{class t{setCompositionState(e){this.isComposingChange.next(e)}onValueChange(e){this.value=e,this.valueChange.next(e),this.mirrorSync&&this.syncMirrorWidth()}clearInputValue(){this.inputElement.nativeElement.value="",this.onValueChange("")}syncMirrorWidth(){const e=this.mirrorElement.nativeElement,i=this.elementRef.nativeElement,o=this.inputElement.nativeElement;this.renderer.removeStyle(i,"width"),this.renderer.setProperty(e,"textContent",`${o.value}\xa0`),this.renderer.setStyle(i,"width",`${e.scrollWidth}px`)}focus(){this.focusMonitor.focusVia(this.inputElement,"keyboard")}blur(){this.inputElement.nativeElement.blur()}constructor(e,i,o){this.elementRef=e,this.renderer=i,this.focusMonitor=o,this.nzId=null,this.disabled=!1,this.mirrorSync=!1,this.showInput=!0,this.focusTrigger=!1,this.value="",this.autofocus=!1,this.valueChange=new B,this.isComposingChange=new B}ngOnChanges(e){const i=this.inputElement.nativeElement,{focusTrigger:o,showInput:r}=e;r&&(this.showInput?this.renderer.removeAttribute(i,"readonly"):this.renderer.setAttribute(i,"readonly","readonly")),o&&!0===o.currentValue&&!1===o.previousValue&&i.focus()}ngAfterViewInit(){this.mirrorSync&&this.syncMirrorWidth(),this.autofocus&&this.focus()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt),v(wa))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-search"]],viewQuery:function(i,o){if(1&i&&(ft(pde,7),ft(fde,5)),2&i){let r;ke(r=Ie())&&(o.inputElement=r.first),ke(r=Ie())&&(o.mirrorElement=r.first)}},hostAttrs:[1,"ant-select-selection-search"],inputs:{nzId:"nzId",disabled:"disabled",mirrorSync:"mirrorSync",showInput:"showInput",focusTrigger:"focusTrigger",value:"value",autofocus:"autofocus"},outputs:{valueChange:"valueChange",isComposingChange:"isComposingChange"},standalone:!0,features:[et([{provide:gI,useValue:!1}]),xe,me],decls:3,vars:7,consts:[["inputElement",""],["mirrorElement",""],["autocomplete","off",1,"ant-select-selection-search-input",3,"ngModelChange","compositionstart","compositionend","ngModel","disabled"],["class","ant-select-selection-search-mirror",4,"ngIf"],[1,"ant-select-selection-search-mirror"]],template:function(i,o){if(1&i){const r=W();f(0,"input",2,0),M("ngModelChange",function(a){return S(r),T(o.onValueChange(a))})("compositionstart",function(){return S(r),T(o.setCompositionState(!0))})("compositionend",function(){return S(r),T(o.setCompositionState(!1))}),m(),C(2,mde,2,0,"span",3)}2&i&&(Lt("opacity",o.showInput?null:0),h("ngModel",o.value)("disabled",o.disabled),Ot("id",o.nzId)("autofocus",o.autofocus?"autofocus":null),d(2),h("ngIf",o.mirrorSync))},dependencies:[Pl,wr,Zi,Xi,St],encapsulation:2,changeDetection:0})}return t})(),Ep=(()=>{class t{updateTemplateVariable(){const e=0===this.listOfTopItem.length;this.isShowPlaceholder=e&&!this.isComposing&&!this.inputValue,this.isShowSingleLabel=!e&&!this.isComposing&&!this.inputValue}isComposingChange(e){this.isComposing=e,this.updateTemplateVariable()}onInputValueChange(e){e!==this.inputValue&&(this.inputValue=e,this.updateTemplateVariable(),this.inputValueChange.emit(e),this.tokenSeparate(e,this.tokenSeparators))}tokenSeparate(e,i){if(e&&e.length&&i.length&&"default"!==this.mode&&((s,a)=>{for(let l=0;l0)return!0;return!1})(e,i)){const s=((s,a)=>{const l=new RegExp(`[${a.join()}]`),c=s.split(l).filter(u=>u);return[...new Set(c)]})(e,i);this.tokenize.next(s)}}clearInputValue(){this.nzSelectSearchComponent&&this.nzSelectSearchComponent.clearInputValue()}focus(){this.nzSelectSearchComponent&&this.nzSelectSearchComponent.focus()}blur(){this.nzSelectSearchComponent&&this.nzSelectSearchComponent.blur()}trackValue(e,i){return i.nzValue}onDeleteItem(e){!this.disabled&&!e.nzDisabled&&this.deleteItem.next(e)}constructor(e,i,o){this.elementRef=e,this.ngZone=i,this.noAnimation=o,this.nzId=null,this.showSearch=!1,this.placeHolder=null,this.open=!1,this.maxTagCount=1/0,this.autofocus=!1,this.disabled=!1,this.mode="default",this.customTemplate=null,this.maxTagPlaceholder=null,this.removeIcon=null,this.listOfTopItem=[],this.tokenSeparators=[],this.tokenize=new B,this.inputValueChange=new B,this.deleteItem=new B,this.listOfSlicedItem=[],this.isShowPlaceholder=!0,this.isShowSingleLabel=!1,this.isComposing=!1,this.inputValue=null,this.destroy$=new V}ngOnChanges(e){const{listOfTopItem:i,maxTagCount:o,customTemplate:r,maxTagPlaceholder:s}=e;if(i&&this.updateTemplateVariable(),i||o||r||s){const a=this.listOfTopItem.slice(0,this.maxTagCount).map(l=>({nzLabel:l.nzLabel,nzValue:l.nzValue,nzDisabled:l.nzDisabled,contentTemplateOutlet:this.customTemplate,contentTemplateOutletContext:l}));if(this.listOfTopItem.length>this.maxTagCount){const l=`+ ${this.listOfTopItem.length-this.maxTagCount} ...`,c=this.listOfTopItem.map(p=>p.nzValue),u={nzLabel:l,nzValue:"$$__nz_exceeded_item",nzDisabled:!0,contentTemplateOutlet:this.maxTagPlaceholder,contentTemplateOutletContext:c.slice(this.maxTagCount)};a.push(u)}this.listOfSlicedItem=a}}ngOnInit(){this.ngZone.runOutsideAngular(()=>{nn(this.elementRef.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>{e.target!==this.nzSelectSearchComponent.inputElement.nativeElement&&this.nzSelectSearchComponent.focus()}),nn(this.elementRef.nativeElement,"keydown").pipe(P(this.destroy$)).subscribe(e=>{e.target instanceof HTMLInputElement&&8===e.keyCode&&"default"!==this.mode&&!e.target.value&&this.listOfTopItem.length>0&&(e.preventDefault(),this.ngZone.run(()=>this.onDeleteItem(this.listOfTopItem[this.listOfTopItem.length-1])))})})}ngOnDestroy(){this.destroy$.next()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Me),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select-top-control"]],viewQuery:function(i,o){if(1&i&&ft(gv,5),2&i){let r;ke(r=Ie())&&(o.nzSelectSearchComponent=r.first)}},hostAttrs:[1,"ant-select-selector"],inputs:{nzId:"nzId",showSearch:"showSearch",placeHolder:"placeHolder",open:"open",maxTagCount:[2,"maxTagCount","maxTagCount",Oi],autofocus:"autofocus",disabled:"disabled",mode:"mode",customTemplate:"customTemplate",maxTagPlaceholder:"maxTagPlaceholder",removeIcon:"removeIcon",listOfTopItem:"listOfTopItem",tokenSeparators:"tokenSeparators"},outputs:{tokenize:"tokenize",inputValueChange:"inputValueChange",deleteItem:"deleteItem"},exportAs:["nzSelectTopControl"],standalone:!0,features:[je,xe,me],decls:4,vars:3,consts:[[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"placeholder",4,"ngIf"],[3,"isComposingChange","valueChange","nzId","disabled","value","showInput","mirrorSync","autofocus","focusTrigger"],[3,"deletable","disabled","removeIcon","label","contentTemplateOutlet","contentTemplateOutletContext",4,"ngIf"],[3,"deletable","disabled","removeIcon","label","contentTemplateOutlet","contentTemplateOutletContext"],[3,"removeIcon","label","disabled","contentTemplateOutlet","deletable","contentTemplateOutletContext","delete",4,"ngFor","ngForOf","ngForTrackBy"],[3,"isComposingChange","valueChange","nzId","disabled","value","autofocus","showInput","mirrorSync","focusTrigger"],[3,"delete","removeIcon","label","disabled","contentTemplateOutlet","deletable","contentTemplateOutletContext"],[3,"placeholder"]],template:function(i,o){1&i&&(Ye(0,0),C(1,vde,3,8,"ng-container",1)(2,_de,3,9,"ng-container",2),Ue(),C(3,yde,1,1,"nz-select-placeholder",3)),2&i&&(h("ngSwitch",o.mode),d(),h("ngSwitchCase","default"),d(2),h("ngIf",o.isShowPlaceholder))},dependencies:[cl,gv,fu,SO,St,qm,zn,TO],encapsulation:2,changeDetection:0})}return t})();const Tde=(t,n)=>!(!n||!n.nzLabel)&&n.nzLabel.toString().toLowerCase().indexOf(t.toLowerCase())>-1;let Nl=(()=>{class t{set nzShowArrow(e){this._nzShowArrow=e}get nzShowArrow(){return void 0===this._nzShowArrow?"default"===this.nzMode:this._nzShowArrow}get isMaxTagCountSet(){return this.nzMaxMultipleCount!==1/0}generateTagItem(e){return{nzValue:e,nzLabel:e,type:"item"}}onItemClick(e){if(this.activatedValue=e,"default"===this.nzMode)(0===this.listOfValue.length||!this.compareWith(this.listOfValue[0],e))&&this.updateListOfValue([e]),this.setOpenState(!1);else{const i=this.listOfValue.findIndex(o=>this.compareWith(o,e));if(-1!==i){const o=this.listOfValue.filter((r,s)=>s!==i);this.updateListOfValue(o)}else if(this.listOfValue.length!this.compareWith(o,e.nzValue));this.updateListOfValue(i),this.clearInput()}updateListOfContainerItem(){let e=this.listOfTagAndTemplateItem.filter(r=>!r.nzHide).filter(r=>!(!this.nzServerSearch&&this.searchValue)||this.nzFilterOption(this.searchValue,r));if("tags"===this.nzMode&&this.searchValue){const r=this.listOfTagAndTemplateItem.find(s=>s.nzLabel===this.searchValue);if(r)this.activatedValue=r.nzValue;else{const s=this.generateTagItem(this.searchValue);e=[s,...e],this.activatedValue=s.nzValue}}const i=e.find(r=>r.nzLabel===this.searchValue)||e.find(r=>this.compareWith(r.nzValue,this.activatedValue))||e.find(r=>this.compareWith(r.nzValue,this.listOfValue[0]))||e[0];this.activatedValue=i&&i.nzValue||null;let o=[];this.isReactiveDriven?o=[...new Set(this.nzOptions.filter(r=>r.groupLabel).map(r=>r.groupLabel))]:this.listOfNzOptionGroupComponent&&(o=this.listOfNzOptionGroupComponent.map(r=>r.nzLabel)),o.forEach(r=>{const s=e.findIndex(a=>r===a.groupLabel);s>-1&&e.splice(s,0,{groupLabel:r,type:"group",key:r})}),this.listOfContainerItem=[...e],this.updateCdkConnectedOverlayPositions()}clearInput(){this.nzSelectTopControlComponent.clearInputValue()}updateListOfValue(e){const o=((r,s)=>"default"===this.nzMode?r.length>0?r[0]:null:r)(e);this.value!==o&&(this.listOfValue=e,this.listOfValue$.next(e),this.value=o,this.onChange(this.value)),this.isMaxLimitReached=this.nzMaxMultipleCount!==1/0&&this.listOfValue.length===this.nzMaxMultipleCount}onTokenSeparate(e){const i=this.listOfTagAndTemplateItem.filter(o=>-1!==e.findIndex(r=>r===o.nzLabel)).map(o=>o.nzValue).filter(o=>-1===this.listOfValue.findIndex(r=>this.compareWith(r,o)));if("multiple"===this.nzMode)this.updateListOfValue([...this.listOfValue,...i]);else if("tags"===this.nzMode){const o=e.filter(r=>-1===this.listOfTagAndTemplateItem.findIndex(s=>s.nzLabel===r));this.updateListOfValue([...this.listOfValue,...i,...o])}this.clearInput()}onKeyDown(e){if(this.nzDisabled)return;const i=this.listOfContainerItem.filter(r=>"item"===r.type).filter(r=>!r.nzDisabled),o=i.findIndex(r=>this.compareWith(r.nzValue,this.activatedValue));switch(e.keyCode){case 38:e.preventDefault(),this.nzOpen&&i.length>0&&(this.activatedValue=i[o>0?o-1:i.length-1].nzValue);break;case 40:e.preventDefault(),this.nzOpen&&i.length>0?this.activatedValue=i[o{this.triggerWidth=this.originElement.nativeElement.getBoundingClientRect().width,e!==this.triggerWidth&&this.cdr.detectChanges()})}}updateCdkConnectedOverlayPositions(){p2(()=>{this.cdkConnectedOverlay?.overlayRef?.updatePosition()})}constructor(e,i,o,r,s,a,l,c,u,p,b,_){this.ngZone=e,this.destroy$=i,this.nzConfigService=o,this.cdr=r,this.host=s,this.renderer=a,this.platform=l,this.focusMonitor=c,this.directionality=u,this.noAnimation=p,this.nzFormStatusService=b,this.nzFormNoStatusService=_,this._nzModuleName="select",this.nzId=null,this.nzSize="default",this.nzStatus="",this.nzOptionHeightPx=32,this.nzOptionOverflowSize=8,this.nzDropdownClassName=null,this.nzDropdownMatchSelectWidth=!0,this.nzDropdownStyle=null,this.nzNotFoundContent=void 0,this.nzPlaceHolder=null,this.nzPlacement=null,this.nzMaxTagCount=1/0,this.nzDropdownRender=null,this.nzCustomTemplate=null,this.nzSuffixIcon=null,this.nzClearIcon=null,this.nzRemoveIcon=null,this.nzMenuItemSelectedIcon=null,this.nzTokenSeparators=[],this.nzMaxTagPlaceholder=null,this.nzMaxMultipleCount=1/0,this.nzMode="default",this.nzFilterOption=Tde,this.compareWith=(y,z)=>y===z,this.nzAllowClear=!1,this.nzBorderless=!1,this.nzShowSearch=!1,this.nzLoading=!1,this.nzAutoFocus=!1,this.nzAutoClearSearchValue=!0,this.nzServerSearch=!1,this.nzDisabled=!1,this.nzOpen=!1,this.nzSelectOnTab=!1,this.nzBackdrop=!1,this.nzOptions=[],this.nzOnSearch=new B,this.nzScrollToBottom=new B,this.nzOpenChange=new B,this.nzBlur=new B,this.nzFocus=new B,this.listOfValue$=new rt([]),this.listOfTemplateItem$=new rt([]),this.listOfTagAndTemplateItem=[],this.searchValue="",this.isReactiveDriven=!1,this.requestId=-1,this.isNzDisableFirstChange=!0,this.onChange=()=>{},this.onTouched=()=>{},this.dropDownPosition="bottomLeft",this.triggerWidth=null,this.listOfContainerItem=[],this.listOfTopItem=[],this.activatedValue=null,this.listOfValue=[],this.focused=!1,this.dir="ltr",this.positions=[],this.isMaxLimitReached=!1,this.prefixCls="ant-select",this.statusCls={},this.status="",this.hasFeedback=!1}writeValue(e){if(this.value!==e){this.value=e;const o=((r,s)=>null==r?[]:"default"===this.nzMode?[r]:r)(e);this.listOfValue=o,this.listOfValue$.next(o),this.cdr.markForCheck()}}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.nzDisabled&&this.setOpenState(!1),this.cdr.markForCheck()}ngOnChanges(e){const{nzOpen:i,nzDisabled:o,nzOptions:r,nzStatus:s,nzPlacement:a}=e;if(i&&this.onOpenChange(),o&&this.nzDisabled&&this.setOpenState(!1),r){this.isReactiveDriven=!0;const c=(this.nzOptions||[]).map(u=>({template:u.label instanceof qt?u.label:null,nzTitle:this.getTitle(u.title,u.label),nzLabel:"string"==typeof u.label||"number"==typeof u.label?u.label:null,nzValue:u.value,nzDisabled:u.disabled||!1,nzHide:u.hide||!1,nzCustomContent:u.label instanceof qt,groupLabel:u.groupLabel||null,type:"item",key:void 0===u.key?u.value:u.key}));this.listOfTemplateItem$.next(c)}if(s&&this.setStatusStyles(this.nzStatus,this.hasFeedback),a){const{currentValue:l}=a;this.dropDownPosition=l;const c=["bottomLeft","topLeft","bottomRight","topRight"];this.positions=l&&c.includes(l)?[Kt[l]]:c.map(u=>Kt[u])}}ngOnInit(){this.nzFormStatusService?.formStatusChanges.pipe(Qi((e,i)=>e.status===i.status&&e.hasFeedback===i.hasFeedback),function N1e(...t){const n=pg(t);return dn((e,i)=>{const o=t.length,r=new Array(o);let s=t.map(()=>!1),a=!1;for(let l=0;l{r[l]=c,!a&&!s[l]&&(s[l]=!0,(a=s.every(Hn))&&(s=null))},Qs));e.subscribe(Jt(i,l=>{if(a){const c=[l,...r];i.next(n?n(...c):c)}}))})}(this.nzFormNoStatusService?this.nzFormNoStatusService.noFormStatus:Ge(!1)),Pe(([{status:e,hasFeedback:i},o])=>({status:o?"":e,hasFeedback:i})),P(this.destroy$)).subscribe(({status:e,hasFeedback:i})=>{this.setStatusStyles(e,i)}),this.focusMonitor.monitor(this.host,!0).pipe(P(this.destroy$)).subscribe(e=>{e?(this.focused=!0,this.cdr.markForCheck(),this.nzFocus.emit()):(this.focused=!1,this.cdr.markForCheck(),this.nzBlur.emit(),Promise.resolve().then(()=>{this.onTouched()}))}),Di([this.listOfValue$,this.listOfTemplateItem$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{const o=e.filter(()=>"tags"===this.nzMode).filter(r=>-1===i.findIndex(s=>this.compareWith(s.nzValue,r))).map(r=>this.listOfTopItem.find(s=>this.compareWith(s.nzValue,r))||this.generateTagItem(r));this.listOfTagAndTemplateItem=[...i,...o],this.listOfTopItem=this.listOfValue.map(r=>[...this.listOfTagAndTemplateItem,...this.listOfTopItem].find(s=>this.compareWith(r,s.nzValue))).filter(r=>!!r),this.updateListOfContainerItem()}),this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.nzConfigService.getConfigChangeEventForComponent("select").pipe(P(this.destroy$)).subscribe(()=>{this.cdr.markForCheck()}),this.dir=this.directionality.value,this.ngZone.runOutsideAngular(()=>nn(this.host.nativeElement,"click").pipe(P(this.destroy$)).subscribe(()=>{this.nzOpen&&this.nzShowSearch||this.nzDisabled||this.ngZone.run(()=>this.setOpenState(!this.nzOpen))})),this.cdkConnectedOverlay.overlayKeydown.pipe(P(this.destroy$)).subscribe(e=>{27===e.keyCode&&this.setOpenState(!1)})}ngAfterContentInit(){this.isReactiveDriven||On(this.listOfNzOptionGroupComponent.changes,this.listOfNzOptionComponent.changes).pipe(gn(!0),mn(()=>On(this.listOfNzOptionComponent.changes,this.listOfNzOptionGroupComponent.changes,...this.listOfNzOptionComponent.map(e=>e.changes),...this.listOfNzOptionGroupComponent.map(e=>e.changes)).pipe(gn(!0))),P(this.destroy$)).subscribe(()=>{const e=this.listOfNzOptionComponent.toArray().map(i=>{const{template:o,nzLabel:r,nzValue:s,nzKey:a,nzDisabled:l,nzHide:c,nzCustomContent:u,groupLabel:p}=i;return{template:o,nzLabel:r,nzValue:s,nzDisabled:l,nzHide:c,nzCustomContent:u,groupLabel:p,nzTitle:this.getTitle(i.nzTitle,i.nzLabel),type:"item",key:void 0===a?s:a}});this.listOfTemplateItem$.next(e),this.cdr.markForCheck()})}ngOnDestroy(){vk(this.requestId),this.focusMonitor.stopMonitoring(this.host)}setStatusStyles(e,i){this.status=e,this.hasFeedback=i,this.cdr.markForCheck(),this.statusCls=Ku(this.prefixCls,e,i),Object.keys(this.statusCls).forEach(o=>{this.statusCls[o]?this.renderer.addClass(this.host.nativeElement,o):this.renderer.removeClass(this.host.nativeElement,o)})}getTitle(e,i){let o;return void 0===e?("string"==typeof i||"number"==typeof i)&&(o=i.toString()):("string"==typeof e||"number"==typeof e)&&(o=e.toString()),o}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Vo),v(si),v(We),v(Se),v(Yt),v(Qn),v(wa),v(Ct,8),v(zo,9),v(xl,8),v(pp,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-select"]],contentQueries:function(i,o,r){if(1&i&&(fn(r,Vl,5),fn(r,mv,5)),2&i){let s;ke(s=Ie())&&(o.listOfNzOptionComponent=s),ke(s=Ie())&&(o.listOfNzOptionGroupComponent=s)}},viewQuery:function(i,o){if(1&i&&(ft(Sl,7,Se),ft(Tl,7),ft(Ep,7),ft(mv,7,Se),ft(Ep,7,Se)),2&i){let r;ke(r=Ie())&&(o.originElement=r.first),ke(r=Ie())&&(o.cdkConnectedOverlay=r.first),ke(r=Ie())&&(o.nzSelectTopControlComponent=r.first),ke(r=Ie())&&(o.nzOptionGroupComponentElement=r.first),ke(r=Ie())&&(o.nzSelectTopControlComponentElement=r.first)}},hostAttrs:[1,"ant-select"],hostVars:26,hostBindings:function(i,o){2&i&&Z("ant-select-in-form-item",!!o.nzFormStatusService)("ant-select-lg","large"===o.nzSize)("ant-select-sm","small"===o.nzSize)("ant-select-show-arrow",o.nzShowArrow)("ant-select-disabled",o.nzDisabled)("ant-select-show-search",(o.nzShowSearch||"default"!==o.nzMode)&&!o.nzDisabled)("ant-select-allow-clear",o.nzAllowClear)("ant-select-borderless",o.nzBorderless)("ant-select-open",o.nzOpen)("ant-select-focused",o.nzOpen||o.focused)("ant-select-single","default"===o.nzMode)("ant-select-multiple","default"!==o.nzMode)("ant-select-rtl","rtl"===o.dir)},inputs:{nzId:"nzId",nzSize:"nzSize",nzStatus:"nzStatus",nzOptionHeightPx:"nzOptionHeightPx",nzOptionOverflowSize:"nzOptionOverflowSize",nzDropdownClassName:"nzDropdownClassName",nzDropdownMatchSelectWidth:"nzDropdownMatchSelectWidth",nzDropdownStyle:"nzDropdownStyle",nzNotFoundContent:"nzNotFoundContent",nzPlaceHolder:"nzPlaceHolder",nzPlacement:"nzPlacement",nzMaxTagCount:"nzMaxTagCount",nzDropdownRender:"nzDropdownRender",nzCustomTemplate:"nzCustomTemplate",nzSuffixIcon:"nzSuffixIcon",nzClearIcon:"nzClearIcon",nzRemoveIcon:"nzRemoveIcon",nzMenuItemSelectedIcon:"nzMenuItemSelectedIcon",nzTokenSeparators:"nzTokenSeparators",nzMaxTagPlaceholder:"nzMaxTagPlaceholder",nzMaxMultipleCount:"nzMaxMultipleCount",nzMode:"nzMode",nzFilterOption:"nzFilterOption",compareWith:"compareWith",nzAllowClear:[2,"nzAllowClear","nzAllowClear",I],nzBorderless:[2,"nzBorderless","nzBorderless",I],nzShowSearch:[2,"nzShowSearch","nzShowSearch",I],nzLoading:[2,"nzLoading","nzLoading",I],nzAutoFocus:[2,"nzAutoFocus","nzAutoFocus",I],nzAutoClearSearchValue:[2,"nzAutoClearSearchValue","nzAutoClearSearchValue",I],nzServerSearch:[2,"nzServerSearch","nzServerSearch",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzOpen:[2,"nzOpen","nzOpen",I],nzSelectOnTab:[2,"nzSelectOnTab","nzSelectOnTab",I],nzBackdrop:[2,"nzBackdrop","nzBackdrop",I],nzOptions:"nzOptions",nzShowArrow:[2,"nzShowArrow","nzShowArrow",I]},outputs:{nzOnSearch:"nzOnSearch",nzScrollToBottom:"nzScrollToBottom",nzOpenChange:"nzOpenChange",nzBlur:"nzBlur",nzFocus:"nzFocus"},exportAs:["nzSelect"],standalone:!0,features:[et([Vo,{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,xe,me],decls:5,vars:25,consts:[["origin","cdkOverlayOrigin"],["feedbackIconTpl",""],["cdkOverlayOrigin","",3,"inputValueChange","tokenize","deleteItem","keydown","nzId","open","disabled","mode","nzNoAnimation","maxTagPlaceholder","removeIcon","placeHolder","maxTagCount","customTemplate","tokenSeparators","showSearch","autofocus","listOfTopItem"],[3,"showArrow","loading","search","suffixIcon","feedbackIcon","nzMaxMultipleCount","listOfValue","isMaxTagCountSet",4,"ngIf"],[3,"clearIcon","clear",4,"ngIf"],["cdkConnectedOverlay","","nzConnectedOverlay","",3,"overlayOutsideClick","detach","positionChange","cdkConnectedOverlayHasBackdrop","cdkConnectedOverlayMinWidth","cdkConnectedOverlayWidth","cdkConnectedOverlayOrigin","cdkConnectedOverlayTransformOriginOn","cdkConnectedOverlayPanelClass","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions"],[3,"showArrow","loading","search","suffixIcon","feedbackIcon","nzMaxMultipleCount","listOfValue","isMaxTagCountSet"],[3,"status",4,"ngIf"],[3,"status"],[3,"clear","clearIcon"],[3,"keydown","itemClick","scrollToBottom","ngStyle","itemSize","maxItemLength","matchWidth","nzNoAnimation","listOfContainerItem","menuItemSelectedIcon","notFoundContent","activatedValue","listOfSelectedValue","dropdownRender","compareWith","mode","isMaxLimitReached"]],template:function(i,o){if(1&i){const r=W();f(0,"nz-select-top-control",2,0),M("inputValueChange",function(a){return S(r),T(o.onInputValueChange(a))})("tokenize",function(a){return S(r),T(o.onTokenSeparate(a))})("deleteItem",function(a){return S(r),T(o.onItemDelete(a))})("keydown",function(a){return S(r),T(o.onKeyDown(a))}),m(),C(2,zde,3,8,"nz-select-arrow",3)(3,Ade,1,1,"nz-select-clear",4)(4,Sde,1,24,"ng-template",5),M("overlayOutsideClick",function(a){return S(r),T(o.onClickOutside(a))})("detach",function(){return S(r),T(o.setOpenState(!1))})("positionChange",function(a){return S(r),T(o.onPositionChange(a))})}if(2&i){const r=Be(1);h("nzId",o.nzId)("open",o.nzOpen)("disabled",o.nzDisabled)("mode",o.nzMode)("@.disabled",!(null==o.noAnimation||!o.noAnimation.nzNoAnimation))("nzNoAnimation",null==o.noAnimation?null:o.noAnimation.nzNoAnimation)("maxTagPlaceholder",o.nzMaxTagPlaceholder)("removeIcon",o.nzRemoveIcon)("placeHolder",o.nzPlaceHolder)("maxTagCount",o.nzMaxTagCount)("customTemplate",o.nzCustomTemplate)("tokenSeparators",o.nzTokenSeparators)("showSearch",o.nzShowSearch)("autofocus",o.nzAutoFocus)("listOfTopItem",o.listOfTopItem),d(2),h("ngIf",o.nzShowArrow||o.hasFeedback&&!!o.status||o.isMaxTagCountSet),d(),h("ngIf",o.nzAllowClear&&!o.nzDisabled&&o.listOfValue.length),d(),h("cdkConnectedOverlayHasBackdrop",o.nzBackdrop)("cdkConnectedOverlayMinWidth",o.nzDropdownMatchSelectWidth?null:o.triggerWidth)("cdkConnectedOverlayWidth",o.nzDropdownMatchSelectWidth?o.triggerWidth:null)("cdkConnectedOverlayOrigin",r)("cdkConnectedOverlayTransformOriginOn",".ant-select-dropdown")("cdkConnectedOverlayPanelClass",o.nzDropdownClassName)("cdkConnectedOverlayOpen",o.nzOpen)("cdkConnectedOverlayPositions",o.positions)}},dependencies:[Ep,Sl,zo,zO,St,fI,W7,AO,Tl,u2,$3,CO,ti],encapsulation:2,data:{animation:[a7]},changeDetection:0})}return xt([Vt()],t.prototype,"nzOptionHeightPx",void 0),xt([Vt()],t.prototype,"nzSuffixIcon",void 0),xt([Vt()],t.prototype,"nzBorderless",void 0),xt([Vt()],t.prototype,"nzBackdrop",void 0),t})(),MO=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Nl,CO,wO,Ep,gv,SO,AO,zO,TO,yO]})}return t})();const Dde=(t,n)=>({width:t,height:n}),Ede=(t,n,e)=>({"background-color":t,width:n,height:e});function xde(t,n){if(1&t){const e=W();f(0,"img",2),M("error",function(){return S(e),T(g().onError())}),m()}if(2&t){const e=g();h("src",e.url,It)("ngStyle",sl(2,Dde,e.size+"px",e.size+"px"))}}function kde(t,n){if(1&t&&(f(0,"div",3),w(1),m()),2&t){const e=g();h("ngStyle",tA(2,Ede,e.colour,e.size+"px",e.size+"px")),d(),we(" ",e.name?e.name[0]:""," ")}}let Fl=(()=>{class t{constructor(){this.src="",this.name="",this.colour="#1890ff",this.size=35,this.check=!0,this.hasError=!1}ngOnInit(){}get url(){return this.src?.startsWith("nav-")?ZD(this.src):this.src}onError(){this.hasError=!0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-logo"]],inputs:{src:"src",name:"name",colour:"colour",size:"size",check:"check"},decls:3,vars:2,consts:[["noSrc",""],["class","icon dark-border-color","draggable","false",3,"src","ngStyle","error",4,"ngIf","ngIfElse"],["draggable","false",1,"icon","dark-border-color",3,"error","src","ngStyle"],[1,"circle",3,"ngStyle"]],template:function(i,o){if(1&i&&C(0,xde,1,5,"img",1)(1,kde,2,6,"ng-template",null,0,ot),2&i){const r=Be(2);h("ngIf",o.url&&!o.hasError)("ngIfElse",r)}},dependencies:[St,ti],styles:[".icon[_ngcontent-%COMP%]{display:inline-block;vertical-align:middle;pointer-events:none;background-color:#eee;border-radius:3px}.circle[_ngcontent-%COMP%]{color:#fff;display:flex;justify-content:center;align-items:center;border-radius:50%}"]})}return t})();const Ide=t=>({"background-image":t});function Ode(t,n){if(1&t){const e=W();f(0,"div",9),M("click",function(o){return S(e),T(g(2).toggleEngine(o))}),m()}if(2&t){const e=g(2);h("ngStyle",mr(1,Ide,"url("+e.currentEngine.icon+")"))}}function Pde(t,n){if(1&t){const e=W();f(0,"i",10),M("click",function(){return S(e),T(g(2).triggerSearch())}),m()}}function Vde(t,n){if(1&t){const e=W();f(0,"nz-select",12),Ii("ngModelChange",function(o){S(e);const r=g(3);return Ui(r.searchTypeValue,o)||(r.searchTypeValue=o),T(o)}),A(1,"nz-option",13)(2,"nz-option",13)(3,"nz-option",13)(4,"nz-option",13)(5,"nz-option",13),m()}if(2&t){const e=g(3);ki("ngModel",e.searchTypeValue),d(),h("nzLabel",e.$t("_default"))("nzValue",e.SearchType.All),d(),h("nzLabel",e.$t("_title"))("nzValue",e.SearchType.Title),d(),h("nzLabel",e.$t("_desc"))("nzValue",e.SearchType.Desc),d(),h("nzLabel",e.$t("_link"))("nzValue",e.SearchType.Url),d(),h("nzLabel",e.$t("_current"))("nzValue",e.SearchType.Current)}}function Nde(t,n){1&t&&C(0,Vde,6,11,"nz-select",11),2&t&&h("ngIf",!g(2).currentEngine.url)}function Fde(t,n){if(1&t){const e=W();f(0,"div",16),M("click",function(){const o=S(e).index;return T(g(3).clickEngineItem(o))}),A(1,"app-logo",17),f(2,"span",18),w(3),m()()}if(2&t){const e=n.$implicit;d(),h("src",e.icon||"")("size",20)("check",!1),d(2),D(e.name)}}function Rde(t,n){if(1&t&&(f(0,"div",14),C(1,Fde,4,4,"div",15),m()),2&t){const e=g(2);d(),h("ngForOf",e.searchEngineList)}}function Lde(t,n){if(1&t){const e=W();f(0,"div",4)(1,"div",5)(2,"nz-input-group",6)(3,"input",7),Ii("ngModelChange",function(o){S(e);const r=g();return Ui(r.keyword,o)||(r.keyword=o),T(o)}),M("keyup",function(o){return S(e),T(g().onKey(o))}),m()(),C(4,Ode,1,3,"ng-template",null,0,ot)(6,Pde,1,0,"ng-template",null,1,ot)(8,Nde,1,1,"ng-template",null,2,ot),m(),C(10,Rde,2,1,"div",8),m()}if(2&t){const e=Be(5),i=Be(7),o=Be(9),r=g();Z("small","small"===r.size),d(),Z("removeAddon",r.currentEngine.url),d(),h("nzPrefix",e)("nzSuffix",i)("nzSize",r.size)("nzAddOnBefore",o),d(),h("placeholder",r.currentEngine.placeholder||""),ki("ngModel",r.keyword),d(7),h("ngIf",r.showEngine)}}let B1=(()=>{class t{constructor(e){this.router=e,this.size="default",this.$t=be,this.searchEngineList=jg,this.currentEngine=function Ete(){let t=Tte[0]||{};try{const n=window.localStorage.getItem(Wi.engine);n&&(t=JSON.parse(n))}catch{}return t}(),this.SearchType=pa,this.searchTypeValue=pa.All,this.showEngine=!1,this.keyword=pi().q}inputFocus(){setTimeout(()=>{document.getElementById("search-engine-input")?.focus?.()},100)}ngAfterViewInit(){this.inputFocus(),document.addEventListener("click",()=>{this.toggleEngine(null,!1)})}toggleEngine(e,i){this.searchEngineList.length<=1||(e&&e.stopPropagation(),this.showEngine=typeof i>"u"?!this.showEngine:i)}clickEngineItem(e){this.currentEngine=this.searchEngineList[e],this.toggleEngine(),this.inputFocus(),function xte(t){window.localStorage.setItem(Wi.engine,JSON.stringify(t))}(this.currentEngine)}triggerSearch(){this.currentEngine.url&&window.open(this.currentEngine.url+this.keyword);const e=pi();this.router.navigate([this.router.url.split("?")[0]],{queryParams:{...e,q:this.keyword,type:this.searchTypeValue}})}onKey(e){"Enter"===e.code&&this.triggerSearch()}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-search-engine"]],inputs:{size:"size"},decls:1,vars:1,consts:[["prefixIcon",""],["suffixIcon",""],["addOnBeforeTemplate",""],["class","search-engine",3,"small",4,"ngIf"],[1,"search-engine"],[1,"input-wrapper","dark-bg","dark-border-color"],[3,"nzPrefix","nzSuffix","nzSize","nzAddOnBefore"],["type","text","nz-input","","autofocus","","id","search-engine-input","autocomplete","off",3,"ngModelChange","keyup","placeholder","ngModel"],["class","engine-main dark-bg dark-border-color dark-shadow",4,"ngIf"],[1,"left-icon",3,"click","ngStyle"],[1,"search-icon","iconfont","iconsousuo","dark-text",3,"click"],[3,"ngModel","ngModelChange",4,"ngIf"],[3,"ngModelChange","ngModel"],[3,"nzLabel","nzValue"],[1,"engine-main","dark-bg","dark-border-color","dark-shadow"],["class","item dark-bg-gary dark-item-hover",3,"click",4,"ngFor","ngForOf"],[1,"item","dark-bg-gary","dark-item-hover",3,"click"],[3,"src","size","check"],[1,"name2","dark-text"]],template:function(i,o){1&i&&C(0,Lde,11,11,"div",3),2&i&&h("ngIf",o.searchEngineList&&o.searchEngineList.length>0)},dependencies:[zn,St,ti,Gs,Dp,vO,Vl,Nl,mi,wr,Zi,Xi,Fl],styles:['@media (max-width: 768px){.engine-main[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{width:100%!important;margin-right:0!important}}.search-engine[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center;padding:10px 0}.search-engine.small[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{width:300px}.search-engine[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{position:relative;width:500px;background:#fff;border-radius:5px;overflow:hidden}.search-engine[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding-left:10px;padding-right:10px}.search-engine[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:-webkit-autofill-selected{background-color:transparent!important;box-shadow:inset 0 0 0 500px transparent!important}.search-engine[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .left-icon[_ngcontent-%COMP%]{width:20px;height:20px;background-repeat:no-repeat;background-size:20px 20px;cursor:pointer}.search-engine[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{cursor:pointer}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%]{z-index:20;position:absolute;top:65px;left:50%;width:500px;max-width:90vw;padding:15px 15px 0;background:#fff;transform:translate(-50%);box-shadow:0 1px 5px #ccc;border-radius:5px;display:flex;flex-wrap:wrap}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%]:after{content:"";position:absolute;top:-11px;left:50%;width:0;height:0;transform:translate(-50%);border-style:solid;border-width:0 10px 20px 10px;border-color:transparent transparent #ffffff transparent}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{width:calc(33.33% - 10px);padding:6px;display:flex;background:#f6f6f6;cursor:pointer;margin-bottom:15px;border-radius:3px;transition:.1s linear;box-sizing:border-box;border:1px solid transparent}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover{background-color:#eee}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:not(:nth-child(3n)){margin-right:15px}.search-engine[_ngcontent-%COMP%] .engine-main[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .name2[_ngcontent-%COMP%]{margin-left:10px;font-size:15px;align-self:center}.search-engine[_ngcontent-%COMP%] .removeAddon .ant-input-group-addon{display:none!important}@media screen and (max-width: 768px){.input-wrapper[_ngcontent-%COMP%]{width:90%!important}}']})}return t})();function Bde(t,n){1&t&&A(0,"i",7),2&t&&Z("active",g(2).dataSource.collapsed)}function Hde(t,n){1&t&&A(0,"i",7),2&t&&Z("active",g(2).dataSource.collapsed)}function jde(t,n){if(1&t){const e=W();f(0,"i",8),M("click",function(){return S(e),T(g(2).openCreateWebModal())}),m()}}function Yde(t,n){if(1&t){const e=W();f(0,"div",2)(1,"span",3),M("click",function(){return S(e),T(g().onCollapse.emit())}),C(2,Bde,1,2,"i",4)(3,Hde,1,2,"ng-template",null,0,ot),f(5,"span",5),w(6),m()(),C(7,jde,1,0,"i",6),m()}if(2&t){const e=Be(4),i=g();d(2),h("ngIf","1"===i.arrowType)("ngIfElse",e),d(4),la(" ",i.dataSource.title," x ",i.dataSource.nav.length," "),d(),h("ngIf",i.isLogin||i.settings.allowCollect)}}let vv=(()=>{class t{constructor(){this.index=0,this.arrowType="1",this.onCollapse=new B,this.isLogin=Gi,this.websiteList=yn,this.settings=kn}ngOnInit(){}openCreateWebModal(){Ei.emit("CREATE_WEB",{threeIndex:this.index})}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-toolbar-title"]],inputs:{index:"index",dataSource:"dataSource",arrowType:"arrowType"},outputs:{onCollapse:"onCollapse"},decls:1,vars:1,consts:[["type",""],["class","title tool-title dark-primary dark-border-color",4,"ngIf"],[1,"title","tool-title","dark-primary","dark-border-color"],[1,"cursor-pointer",3,"click"],["class","iconfont iconjiantouarrow483 down-arrow",3,"active",4,"ngIf","ngIfElse"],[2,"margin-left","10px","align-self","center","vertical-align","middle"],["nz-icon","","nzType","plus","nzTheme","outline","class","add-icon",3,"click",4,"ngIf"],[1,"iconfont","iconjiantouarrow483","down-arrow"],["nz-icon","","nzType","plus","nzTheme","outline",1,"add-icon",3,"click"]],template:function(i,o){1&i&&C(0,Yde,8,5,"div",1),2&i&&h("ngIf",o.dataSource&&o.dataSource.title)},dependencies:[St,mi,ln],styles:[".title[_ngcontent-%COMP%]{position:relative;font-size:16px;border-bottom:1px solid rgba(0,0,0,.05);padding:10px 0 10px 5px;color:#3f51b5;font-weight:500;display:flex;margin-bottom:15px;-webkit-user-select:none;user-select:none;margin-top:10px}.title[_ngcontent-%COMP%] .add-icon[_ngcontent-%COMP%]{position:absolute;top:50%;right:20px;transform:translateY(-50%);cursor:pointer;color:#666}"]})}return t})();const Ude=["okBtn"],Wde=["cancelBtn"];function Gde(t,n){1&t&&(f(0,"div",6),A(1,"span",14),m())}function qde(t,n){if(1&t&&(Ye(0),f(1,"span",16),A(2,"span",17),m(),Ue()),2&t){const e=n.$implicit;d(2),h("nzType",e||"exclamation-circle")}}function Qde(t,n){if(1&t&&(Ye(0),C(1,qde,3,1,"ng-container",10),f(2,"div",15),w(3),m(),Ue()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzIcon),d(2),D(e.nzTitle)}}function Kde(t,n){1&t&&w(0),2&t&&we(" ",g(2).nzCancelText," ")}function $de(t,n){1&t&&(w(0),Fr(1,"nzI18n")),2&t&&we(" ",Rr(1,1,"Modal.cancelText")," ")}function Jde(t,n){1&t&&w(0),2&t&&we(" ",g(2).nzOkText," ")}function Zde(t,n){1&t&&(w(0),Fr(1,"nzI18n")),2&t&&we(" ",Rr(1,1,"Modal.okText")," ")}function Xde(t,n){if(1&t){const e=W();f(0,"div",4)(1,"div",5),C(2,Gde,2,0,"div",6),f(3,"div",7)(4,"div")(5,"div",8)(6,"div",9),C(7,Qde,4,2,"ng-container",10),m(),f(8,"div",11)(9,"button",12,1),M("click",function(){return S(e),T(g().onCancel())}),C(11,Kde,1,1)(12,$de,2,3),m(),f(13,"button",13,2),M("click",function(){return S(e),T(g().onConfirm())}),C(15,Jde,1,1)(16,Zde,2,3),m()()()()()()()}if(2&t){const e=g();Z("ant-popover-rtl","rtl"===e.dir),h("cdkTrapFocusAutoCapture",null!==e.nzAutoFocus)("ngClass",e._classMap)("ngStyle",e.nzOverlayStyle)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)("@zoomBigMotion","active"),d(2),he(e.nzPopconfirmShowArrow?2:-1),d(5),h("nzStringTemplateOutlet",e.nzTitle),d(2),h("nzSize","small"),Ot("cdkFocusInitial","cancel"===e.nzAutoFocus||null),d(2),he(e.nzCancelText?11:12),d(2),h("nzSize","small")("nzType","danger"!==e.nzOkType?e.nzOkType:"primary")("nzDanger",e.nzOkDanger||"danger"===e.nzOkType)("nzLoading",e.confirmLoading)("disabled",e.nzOkDisabled),Ot("cdkFocusInitial","ok"===e.nzAutoFocus||null),d(2),he(e.nzOkText?15:16)}}let H1=(()=>{class t extends L7{getProxyPropertyMap(){return{nzOkText:["nzOkText",()=>this.nzOkText],nzOkType:["nzOkType",()=>this.nzOkType],nzOkDanger:["nzOkDanger",()=>this.nzOkDanger],nzOkDisabled:["nzOkDisabled",()=>this.nzOkDisabled],nzCancelText:["nzCancelText",()=>this.nzCancelText],nzBeforeConfirm:["nzBeforeConfirm",()=>this.nzBeforeConfirm],nzCondition:["nzCondition",()=>this.nzCondition],nzIcon:["nzIcon",()=>this.nzIcon],nzPopconfirmShowArrow:["nzPopconfirmShowArrow",()=>this.nzPopconfirmShowArrow],nzPopconfirmBackdrop:["nzBackdrop",()=>this.nzPopconfirmBackdrop],nzAutoFocus:["nzAutoFocus",()=>this.nzAutofocus],...super.getProxyPropertyMap()}}constructor(){super(DO),this._nzModuleName="popconfirm",this.trigger="click",this.placement="top",this.nzCondition=!1,this.nzPopconfirmShowArrow=!0,this.nzPopconfirmBackdrop=!1,this.nzAutofocus=null,this.visibleChange=new B,this.nzOnCancel=new B,this.nzOnConfirm=new B}createComponent(){super.createComponent(),this.component.nzOnCancel.pipe(P(this.destroy$)).subscribe(()=>{this.nzOnCancel.emit()}),this.component.nzOnConfirm.pipe(P(this.destroy$)).subscribe(()=>{this.nzOnConfirm.emit()})}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-popconfirm",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-popover-open",o.visible)},inputs:{arrowPointAtCenter:[2,"nzPopconfirmArrowPointAtCenter","arrowPointAtCenter",I],title:[0,"nzPopconfirmTitle","title"],directiveTitle:[0,"nz-popconfirm","directiveTitle"],trigger:[0,"nzPopconfirmTrigger","trigger"],placement:[0,"nzPopconfirmPlacement","placement"],origin:[0,"nzPopconfirmOrigin","origin"],mouseEnterDelay:[0,"nzPopconfirmMouseEnterDelay","mouseEnterDelay"],mouseLeaveDelay:[0,"nzPopconfirmMouseLeaveDelay","mouseLeaveDelay"],overlayClassName:[0,"nzPopconfirmOverlayClassName","overlayClassName"],overlayStyle:[0,"nzPopconfirmOverlayStyle","overlayStyle"],visible:[0,"nzPopconfirmVisible","visible"],nzOkText:"nzOkText",nzOkType:"nzOkType",nzOkDisabled:[2,"nzOkDisabled","nzOkDisabled",I],nzOkDanger:[2,"nzOkDanger","nzOkDanger",I],nzCancelText:"nzCancelText",nzBeforeConfirm:"nzBeforeConfirm",nzIcon:"nzIcon",nzCondition:[2,"nzCondition","nzCondition",I],nzPopconfirmShowArrow:[2,"nzPopconfirmShowArrow","nzPopconfirmShowArrow",I],nzPopconfirmBackdrop:"nzPopconfirmBackdrop",nzAutofocus:"nzAutofocus"},outputs:{visibleChange:"nzPopconfirmVisibleChange",nzOnCancel:"nzOnCancel",nzOnConfirm:"nzOnConfirm"},exportAs:["nzPopconfirm"],standalone:!0,features:[je,mt]})}return xt([Vt()],t.prototype,"nzPopconfirmBackdrop",void 0),xt([Vt()],t.prototype,"nzAutofocus",void 0),t})(),DO=(()=>{class t extends up{constructor(e,i,o,r,s){super(e,o,s),this.elementRef=i,this.nzCondition=!1,this.nzPopconfirmShowArrow=!0,this.nzOkType="primary",this.nzOkDanger=!1,this.nzOkDisabled=!1,this.nzAutoFocus=null,this.nzBeforeConfirm=null,this.nzOnCancel=new V,this.nzOnConfirm=new V,this._trigger="click",this.elementFocusedBeforeModalWasOpened=null,this._prefix="ant-popover",this.confirmLoading=!1,this.document=r}ngOnDestroy(){super.ngOnDestroy(),this.nzOnCancel.complete(),this.nzOnConfirm.complete()}show(){this.nzCondition?this.onConfirm():(this.capturePreviouslyFocusedElement(),super.show())}hide(){super.hide(),this.restoreFocus()}handleConfirm(){this.nzOnConfirm.next(),super.hide()}onCancel(){this.nzOnCancel.next(),super.hide()}onConfirm(){if(this.nzBeforeConfirm){const e=_E(this.nzBeforeConfirm()).pipe(Vs());this.confirmLoading=!0,e.pipe(l1(()=>{this.confirmLoading=!1,this.cdr.markForCheck()}),P(this.nzVisibleChange),P(this.destroy$)).subscribe(i=>{i&&this.handleConfirm()})}else this.handleConfirm()}capturePreviouslyFocusedElement(){this.document&&(this.elementFocusedBeforeModalWasOpened=this.document.activeElement)}restoreFocus(){const e=this.elementFocusedBeforeModalWasOpened;if(e&&"function"==typeof e.focus){const i=this.document.activeElement,o=this.elementRef.nativeElement;(!i||i===this.document.body||i===o||o.contains(i))&&e.focus()}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Se),v(Ct,8),v(Pt,8),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-popconfirm"]],viewQuery:function(i,o){if(1&i&&(ft(Ude,5,Se),ft(Wde,5,Se)),2&i){let r;ke(r=Ie())&&(o.okBtn=r),ke(r=Ie())&&(o.cancelBtn=r)}},exportAs:["nzPopconfirmComponent"],standalone:!0,features:[mt,me],decls:2,vars:6,consts:[["overlay","cdkConnectedOverlay"],["cancelBtn",""],["okBtn",""],["cdkConnectedOverlay","","nzConnectedOverlay","",3,"overlayOutsideClick","detach","positionChange","cdkConnectedOverlayHasBackdrop","cdkConnectedOverlayOrigin","cdkConnectedOverlayPositions","cdkConnectedOverlayOpen","cdkConnectedOverlayPush","nzArrowPointAtCenter"],["cdkTrapFocus","",1,"ant-popover",3,"cdkTrapFocusAutoCapture","ngClass","ngStyle","nzNoAnimation"],[1,"ant-popover-content"],[1,"ant-popover-arrow"],[1,"ant-popover-inner"],[1,"ant-popover-inner-content"],[1,"ant-popover-message"],[4,"nzStringTemplateOutlet"],[1,"ant-popover-buttons"],["nz-button","",3,"click","nzSize"],["nz-button","",3,"click","nzSize","nzType","nzDanger","nzLoading","disabled"],[1,"ant-popover-arrow-content"],[1,"ant-popover-message-title"],[1,"ant-popover-message-icon"],["nz-icon","","nzTheme","fill",3,"nzType"]],template:function(i,o){if(1&i){const r=W();C(0,Xde,17,20,"ng-template",3,0,ot),M("overlayOutsideClick",function(a){return S(r),T(o.onClickOutside(a))})("detach",function(){return S(r),T(o.hide())})("positionChange",function(a){return S(r),T(o.onPositionChange(a))})}2&i&&h("cdkConnectedOverlayHasBackdrop",o.nzBackdrop)("cdkConnectedOverlayOrigin",o.origin)("cdkConnectedOverlayPositions",o._positions)("cdkConnectedOverlayOpen",o._visible)("cdkConnectedOverlayPush",o.cdkConnectedOverlayPush)("nzArrowPointAtCenter",o.nzArrowPointAtCenter)},dependencies:[d2,Tl,u2,$3,Dk,kse,Jo,ti,zo,Sn,An,In,ln,h2,nr,mi,tr,Hse,Bse],encapsulation:2,data:{animation:[I3]},changeDetection:0})}return t})(),tue=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[DO]})}return t})();const nue=["nz-rate-item",""],EO=t=>({$implicit:t});function iue(t,n){}function oue(t,n){}function rue(t,n){1&t&&A(0,"span",4)}const sue=["ulElement"];function aue(t,n){if(1&t){const e=W();f(0,"li",2)(1,"div",3),M("itemHover",function(o){const r=S(e).$index;return T(g().onItemHover(r,o))})("itemClick",function(o){const r=S(e).$index;return T(g().onItemClick(r,o))}),m()()}if(2&t){const e=n.$index,i=g();h("ngClass",i.starStyleArray[e]||"")("nzTooltipTitle",i.nzTooltips[e]),d(),h("allowHalf",i.nzAllowHalf)("character",i.nzCharacter)("index",e)}}let xO=(()=>{class t{constructor(){this.index=0,this.allowHalf=!1,this.itemHover=new B,this.itemClick=new B}hoverRate(e){this.itemHover.next(e&&this.allowHalf)}clickRate(e){this.itemClick.next(e&&this.allowHalf)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-rate-item",""]],inputs:{character:"character",index:"index",allowHalf:[2,"allowHalf","allowHalf",I]},outputs:{itemHover:"itemHover",itemClick:"itemClick"},exportAs:["nzRateItem"],standalone:!0,features:[je,me],attrs:nue,decls:6,vars:8,consts:[["defaultCharacter",""],[1,"ant-rate-star-second",3,"mouseover","click"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ant-rate-star-first",3,"mouseover","click"],["nz-icon","","nzType","star","nzTheme","fill"]],template:function(i,o){if(1&i){const r=W();f(0,"div",1),M("mouseover",function(a){return S(r),o.hoverRate(!1),T(a.stopPropagation())})("click",function(){return S(r),T(o.clickRate(!1))}),C(1,iue,0,0,"ng-template",2),m(),f(2,"div",3),M("mouseover",function(a){return S(r),o.hoverRate(!0),T(a.stopPropagation())})("click",function(){return S(r),T(o.clickRate(!0))}),C(3,oue,0,0,"ng-template",2),m(),C(4,rue,1,0,"ng-template",null,0,ot)}if(2&i){const r=Be(5);d(),h("ngTemplateOutlet",o.character||r)("ngTemplateOutletContext",mr(4,EO,o.index)),d(2),h("ngTemplateOutlet",o.character||r)("ngTemplateOutletContext",mr(6,EO,o.index))}},dependencies:[Nn,In,ln],encapsulation:2,changeDetection:0})}return t})(),bv=(()=>{class t{get nzValue(){return this._value}set nzValue(e){this._value!==e&&(this._value=e,this.hasHalf=!Number.isInteger(e)&&this.nzAllowHalf,this.hoverValue=Math.ceil(e))}constructor(e,i,o,r,s,a){this.nzConfigService=e,this.ngZone=i,this.renderer=o,this.cdr=r,this.directionality=s,this.destroy$=a,this._nzModuleName="rate",this.nzAllowClear=!0,this.nzAllowHalf=!1,this.nzDisabled=!1,this.nzAutoFocus=!1,this.nzCount=5,this.nzTooltips=[],this.nzOnBlur=new B,this.nzOnFocus=new B,this.nzOnHoverChange=new B,this.nzOnKeyDown=new B,this.classMap={},this.starArray=[],this.starStyleArray=[],this.dir="ltr",this.hasHalf=!1,this.hoverValue=0,this.isFocused=!1,this._value=0,this.isNzDisableFirstChange=!0,this.onChange=()=>null,this.onTouched=()=>null}ngOnChanges(e){const{nzAutoFocus:i,nzCount:o,nzValue:r}=e;if(i&&!i.isFirstChange()){const s=this.ulElement.nativeElement;this.nzAutoFocus&&!this.nzDisabled?this.renderer.setAttribute(s,"autofocus","autofocus"):this.renderer.removeAttribute(s,"autofocus")}o&&this.updateStarArray(),r&&this.updateStarStyle()}ngOnInit(){this.nzConfigService.getConfigChangeEventForComponent("rate").pipe(P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()),this.directionality.change.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value,this.ngZone.runOutsideAngular(()=>{nn(this.ulElement.nativeElement,"focus").pipe(P(this.destroy$)).subscribe(e=>{this.isFocused=!0,this.nzOnFocus.observers.length&&this.ngZone.run(()=>this.nzOnFocus.emit(e))}),nn(this.ulElement.nativeElement,"blur").pipe(P(this.destroy$)).subscribe(e=>{this.isFocused=!1,this.nzOnBlur.observers.length&&this.ngZone.run(()=>this.nzOnBlur.emit(e))})})}onItemClick(e,i){if(this.nzDisabled)return;this.hoverValue=e+1;const o=i?e+.5:e+1;this.nzValue===o?this.nzAllowClear&&(this.nzValue=0,this.onChange(this.nzValue)):(this.nzValue=o,this.onChange(this.nzValue)),this.updateStarStyle()}onItemHover(e,i){this.nzDisabled||((this.hoverValue!==e+1||i!==this.hasHalf)&&(this.hoverValue=e+1,this.hasHalf=i,this.updateStarStyle()),this.nzOnHoverChange.emit(this.hoverValue))}onRateLeave(){this.hasHalf=!Number.isInteger(this.nzValue),this.hoverValue=Math.ceil(this.nzValue),this.nzOnHoverChange.emit(this.hoverValue),this.updateStarStyle()}focus(){this.ulElement.nativeElement.focus()}blur(){this.ulElement.nativeElement.blur()}onKeyDown(e){const i=this.nzValue;39===e.keyCode&&this.nzValue0&&(this.nzValue-=this.nzAllowHalf?.5:1),i!==this.nzValue&&(this.onChange(this.nzValue),this.nzOnKeyDown.emit(e),this.updateStarStyle(),this.cdr.markForCheck())}updateStarArray(){this.starArray=Array(this.nzCount).fill(0).map((e,i)=>i),this.updateStarStyle()}updateStarStyle(){this.starStyleArray=this.starArray.map(e=>{const i="ant-rate-star",o=e+1;return{[`${i}-full`]:othis.hoverValue,[`${i}-focused`]:this.hasHalf&&o===this.hoverValue&&this.isFocused}})}writeValue(e){this.nzValue=e||0,this.updateStarArray(),this.cdr.markForCheck()}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Me),v(Yt),v(We),v(Ct,8),v(Vo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-rate"]],viewQuery:function(i,o){if(1&i&&ft(sue,7),2&i){let r;ke(r=Ie())&&(o.ulElement=r.first)}},inputs:{nzAllowClear:[2,"nzAllowClear","nzAllowClear",I],nzAllowHalf:[2,"nzAllowHalf","nzAllowHalf",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzAutoFocus:[2,"nzAutoFocus","nzAutoFocus",I],nzCharacter:"nzCharacter",nzCount:[2,"nzCount","nzCount",Oi],nzTooltips:"nzTooltips"},outputs:{nzOnBlur:"nzOnBlur",nzOnFocus:"nzOnFocus",nzOnHoverChange:"nzOnHoverChange",nzOnKeyDown:"nzOnKeyDown"},exportAs:["nzRate"],standalone:!0,features:[et([Vo,{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,xe,me],decls:4,vars:6,consts:[["ulElement",""],[1,"ant-rate",3,"keydown","mouseleave","ngClass","tabindex"],["nz-tooltip","",1,"ant-rate-star",3,"ngClass","nzTooltipTitle"],["nz-rate-item","",3,"itemHover","itemClick","allowHalf","character","index"]],template:function(i,o){if(1&i){const r=W();f(0,"ul",1,0),M("keydown",function(a){return S(r),o.onKeyDown(a),T(a.preventDefault())})("mouseleave",function(a){return S(r),o.onRateLeave(),T(a.stopPropagation())}),ji(2,aue,2,5,"li",2,fr),m()}2&i&&(Z("ant-rate-disabled",o.nzDisabled)("ant-rate-rtl","rtl"===o.dir),h("ngClass",o.classMap)("tabindex",o.nzDisabled?-1:1),d(2),Yi(o.starArray))},dependencies:[Jo,H7,Sa,xO],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzAllowClear",void 0),xt([Vt()],t.prototype,"nzAllowHalf",void 0),t})(),lue=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[bv,xO]})}return t})();const IO=()=>({});function cue(t,n){1&t&&A(0,"span",21)}function due(t,n){1&t&&(f(0,"span",25),w(1,"/"),m())}function uue(t,n){if(1&t&&(f(0,"span"),w(1),C(2,due,2,0,"span",24),m()),2&t){const e=n.$implicit,i=n.index,o=g(3);d(),D(e),d(),h("ngIf",i!==o.dataSource.breadcrumb.length-1)}}function hue(t,n){if(1&t&&(f(0,"div",22),C(1,uue,3,2,"span",23),m()),2&t){const e=g(2);d(),h("ngForOf",e.dataSource.breadcrumb)}}function pue(t,n){if(1&t){const e=W();f(0,"div",26)(1,"nz-rate",27),M("ngModelChange",function(o){return S(e),T(g(2).onRateChange(o))}),m()()}if(2&t){const e=g(2);d(),h("ngModel",e.dataSource.rate)("nzDisabled",!e.isLogin)}}function fue(t,n){if(1&t&&(f(0,"div",28)(1,"a",29),w(2),m()()),2&t){const e=n.$implicit,i=g(2);Qo("background-color: "+(i.tagMap[e]&&i.tagMap[e].color||"#1890ff")),d(),h("href",(null==i.dataSource.urls?null:i.dataSource.urls[e])||"javascript:void(0)",It)("target",null!=i.dataSource.urls&&i.dataSource.urls[e]?"_blank":""),d(),D(i.tagMap[e]&&i.tagMap[e].name)}}function mue(t,n){if(1&t){const e=W();f(0,"div",17)(1,"i",30),M("click",function(){return S(e),T(g(2).openEditWebMoal())}),m()()}2&t&&h("nzTooltipTitle",g(2).$t("_edit"))}function gue(t,n){if(1&t){const e=W();f(0,"div",17)(1,"i",31),M("click",function(){return S(e),T(g(2).openMoveWebModal())}),m()()}2&t&&h("nzTooltipTitle",g(2).$t("_move"))}function vue(t,n){if(1&t){const e=W();f(0,"div",32),M("nzOnConfirm",function(){return S(e),T(g(2).confirmDel())}),A(1,"i",33),m()}2&t&&h("nzPopconfirmTitle",g(2).$t("_confirmDel"))}function bue(t,n){if(1&t){const e=W();f(0,"div",4),C(1,cue,1,0,"span",5)(2,hue,2,1,"div",6)(3,pue,2,2,"div",7),f(4,"a",8)(5,"div",9),A(6,"app-logo",10)(7,"div",11),m()(),f(8,"div",12)(9,"a",8),A(10,"pre",13),m(),f(11,"div",14),C(12,fue,3,5,"div",15),m()(),f(13,"div",16)(14,"div",17)(15,"i",18),M("click",function(o){return S(e),T(g().copyUrl(o,2))})("mouseout",function(){return S(e),T(g().copyMouseout())}),m()(),f(16,"div",17)(17,"i",18),M("click",function(o){return S(e),T(g().copyUrl(o,1))})("mouseout",function(){return S(e),T(g().copyMouseout())}),m()(),C(18,mue,2,1,"div",19)(19,gue,2,1,"div",19)(20,vue,2,1,"div",20),m()()}if(2&t){const e=g();d(),h("ngIf",e.isLogin&&!1===e.dataSource.ok),d(),h("ngIf",e.searchKeyword&&(null==e.dataSource?null:e.dataSource.breadcrumb)),d(),h("ngIf",e.settings.showRate),d(),h("href",e.dataSource.url,It),d(2),h("src",e.dataSource.icon||"")("name",e.dataSource.name),d(),h("innerHTML",e.dataSource.name,Gn)("title",e.dataSource.__name__||e.dataSource.name),d(2),h("href",e.dataSource.url,It),d(),h("innerHTML",e.dataSource.desc,Gn)("title",e.dataSource.__desc__||e.dataSource.desc),d(2),h("ngForOf",e.objectKeys(e.dataSource.urls||Si(19,IO))),d(2),h("nzTooltipTitle",e.$t(e.copyUrlDone?"_copySuccess":"_copyUrl")),d(),h("nzType",e.copyUrlDone?"check":"copy"),d(),h("nzTooltipTitle",e.$t(e.copyPathDone?"_copySuccess":"_shareWeb")),d(),h("nzType",e.copyPathDone?"check":"share-alt"),d(),h("ngIf",e.isLogin),d(),h("ngIf",e.isLogin&&4===e.indexs.length),d(),h("ngIf",e.isLogin)}}function _ue(t,n){1&t&&A(0,"span",21)}function yue(t,n){1&t&&(f(0,"span",25),w(1,"/"),m())}function wue(t,n){if(1&t&&(f(0,"span"),w(1),C(2,yue,2,0,"span",24),m()),2&t){const e=n.$implicit,i=n.index,o=g(3);d(),D(e),d(),h("ngIf",i!==o.dataSource.breadcrumb.length-1)}}function Cue(t,n){if(1&t&&(f(0,"div",22),C(1,wue,3,2,"span",23),m()),2&t){const e=g(2);d(),h("ngForOf",e.dataSource.breadcrumb)}}function zue(t,n){if(1&t&&(f(0,"a",34),C(1,_ue,1,0,"span",5)(2,Cue,2,1,"div",6),f(3,"div",35),A(4,"app-logo",10),f(5,"div",36),A(6,"div",37)(7,"pre",38),m()()()),2&t){const e=g();h("href",e.dataSource.url,It),d(),h("ngIf",e.isLogin&&!1===e.dataSource.ok),d(),h("ngIf",e.searchKeyword&&(null==e.dataSource?null:e.dataSource.breadcrumb)),d(2),h("src",e.dataSource.icon||"")("name",e.dataSource.name),d(),h("title",e.dataSource.__desc__||e.dataSource.desc),d(),h("innerHTML",e.dataSource.name,Gn),d(),h("innerHTML",e.dataSource.desc,Gn)}}function Aue(t,n){1&t&&A(0,"span",21)}function Sue(t,n){1&t&&(f(0,"span",25),w(1,"/"),m())}function Tue(t,n){if(1&t&&(f(0,"span"),w(1),C(2,Sue,2,0,"span",24),m()),2&t){const e=n.$implicit,i=n.index,o=g(3);d(),D(e),d(),h("ngIf",i!==o.dataSource.breadcrumb.length-1)}}function Mue(t,n){if(1&t&&(f(0,"div",22),C(1,Tue,3,2,"span",23),m()),2&t){const e=g(2);d(),h("ngForOf",e.dataSource.breadcrumb)}}function Due(t,n){if(1&t&&(f(0,"div",46),w(1),m()),2&t){const e=g(2);d(),D(e.getRate)}}function Eue(t,n){if(1&t&&(f(0,"div",28)(1,"a",29),w(2),m()()),2&t){const e=n.$implicit,i=g(2);Qo("background-color: "+(i.tagMap[e]&&i.tagMap[e].color||"#1890ff")),d(),h("href",(null==i.dataSource.urls?null:i.dataSource.urls[e])||"javascript:void(0)",It)("target",null!=i.dataSource.urls&&i.dataSource.urls[e]?"_blank":""),d(),D(i.tagMap[e]&&i.tagMap[e].name)}}function xue(t,n){if(1&t){const e=W();f(0,"span",47),M("click",function(){return S(e),T(g(2).openEditWebMoal())}),w(1),m()}if(2&t){const e=g(2);d(),D(e.$t("_edit"))}}function kue(t,n){if(1&t){const e=W();f(0,"span",47),M("click",function(){return S(e),T(g(2).openMoveWebModal())}),w(1),m()}if(2&t){const e=g(2);d(),D(e.$t("_move"))}}function Iue(t,n){if(1&t){const e=W();f(0,"div",48),M("nzOnConfirm",function(){return S(e),T(g(2).confirmDel())}),f(1,"span",49),w(2),m()()}if(2&t){const e=g(2);h("nzPopconfirmTitle",e.$t("_confirmDel")),d(2),D(e.$t("_del"))}}function Oue(t,n){if(1&t&&(f(0,"div",39),C(1,Aue,1,0,"span",5)(2,Mue,2,1,"div",6),f(3,"a",8)(4,"div",40),A(5,"app-logo",41)(6,"div",37),m(),f(7,"div",36),A(8,"pre",38),m()(),f(9,"div",42)(10,"div",14),C(11,Due,2,1,"div",43)(12,Eue,3,5,"div",15)(13,xue,2,1,"span",44)(14,kue,2,1,"span",44)(15,Iue,3,2,"div",45),m()()()),2&t){const e=g();d(),h("ngIf",e.isLogin&&!1===e.dataSource.ok),d(),h("ngIf",e.searchKeyword&&(null==e.dataSource?null:e.dataSource.breadcrumb)),d(),h("href",e.dataSource.url,It),d(2),h("src",e.dataSource.icon||"")("name",e.dataSource.name)("size",26),d(),h("innerHTML",e.dataSource.name,Gn),d(),h("title",e.dataSource.__desc__||e.dataSource.desc),d(),h("innerHTML",e.dataSource.desc,Gn),d(3),h("ngIf",e.settings.showRate),d(),h("ngForOf",e.objectKeys(e.dataSource.urls||Si(14,IO))),d(),h("ngIf",e.isLogin),d(),h("ngIf",e.isLogin&&4===e.indexs.length),d(),h("ngIf",e.isLogin)}}let xp=(()=>{class t{constructor(e){this.message=e,this.searchKeyword="",this.dataSource={},this.indexs=[],this.cardStyle="standard",this.$t=be,this.objectKeys=Object.keys,this.settings=kn,this.websiteList=yn,this.isLogin=Gi,this.copyUrlDone=!1,this.copyPathDone=!1,this.tagMap=ju}ngOnInit(){}copyUrl(e,i){var o=this;return Mi(function*(){const r=o.dataSource,{origin:s,hash:a,pathname:l}=window.location,c=`${s}${l}${a}?q=${r.name}&url=${encodeURIComponent(r.url)}`,u=yield function Ite(t,n){const e=t.target,i=`copy-${Date.now()}`;return e.id=i,e.setAttribute("data-clipboard-text",n),new Promise(o=>{const r=new(zX())(`#${i}`);r.on("success",function(){r.destroy(),o(!0)}),r.on("error",function(){r.destroy(),o(!1)})})}(e,1===i?c:r.url);1===i?o.copyPathDone=u:o.copyUrlDone=u})()}copyMouseout(){this.copyUrlDone=!1,this.copyPathDone=!1}openEditWebMoal(){Ei.emit("CREATE_WEB",{detail:this.dataSource})}onRateChange(e){this.dataSource.rate=e,Un(this.websiteList)}confirmDel(){T5({...this.dataSource,name:fs(this.dataSource.name),desc:fs(this.dataSource.desc)})}openMoveWebModal(){Ei.emit("MOVE_WEB",{indexs:this.indexs,data:[this.dataSource]})}get getRate(){if(!this.dataSource.rate)return null;const e=Number(this.dataSource.rate);return e?e.toFixed(1)+"\u5206":null}static#e=this.\u0275fac=function(i){return new(i||t)(v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-card"]],inputs:{searchKeyword:"searchKeyword",dataSource:"dataSource",indexs:"indexs",cardStyle:"cardStyle"},decls:4,vars:3,consts:[[3,"ngSwitch"],["class","container standard dark-border-color",4,"ngSwitchCase"],["target","_blank","rel","noreferer noopener","class","container example2 dark-bg dark-white dark-shadow",3,"href",4,"ngSwitchCase"],["class","container column2 ellipsis dark-bg dark-white dark-border-color dark-shadow dark-hover",4,"ngSwitchDefault"],[1,"container","standard","dark-border-color"],["nz-icon","","nzType","stop","nzTheme","outline","class","stop-icon","title","\u7591\u4f3c\u5f02\u5e38",4,"ngIf"],["class","breadcrumb1 ellipsis",4,"ngIf"],["class","rate",4,"ngIf"],["target","_blank","rel","noreferer noopener",3,"href"],[1,"top"],[3,"src","name"],[1,"title","ellipsis2","dark-white",3,"innerHTML","title"],[1,"middle"],[1,"desc","dark-text","ellipsis3",3,"innerHTML","title"],[1,"tagbox"],["class","tag-item",3,"style",4,"ngFor","ngForOf"],[1,"actionbar","dark-border-color"],["nz-tooltip","",1,"action-item","dark-border-color",3,"nzTooltipTitle"],["nz-icon","","nzTheme","outline",3,"click","mouseout","nzType"],["class","action-item dark-border-color","nz-tooltip","",3,"nzTooltipTitle",4,"ngIf"],["class","action-item dark-border-color","nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzPopconfirmTitle","nzOnConfirm",4,"ngIf"],["nz-icon","","nzType","stop","nzTheme","outline","title","\u7591\u4f3c\u5f02\u5e38",1,"stop-icon"],[1,"breadcrumb1","ellipsis"],[4,"ngFor","ngForOf"],["class","slash",4,"ngIf"],[1,"slash"],[1,"rate"],["nzAllowHalf","",3,"ngModelChange","ngModel","nzDisabled"],[1,"tag-item"],[3,"href","target"],["nz-icon","","nzType","edit","nzTheme","outline",3,"click"],["nz-icon","","nzType","swap","nzTheme","outline",3,"click"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",1,"action-item","dark-border-color",3,"nzOnConfirm","nzPopconfirmTitle"],["nz-icon","","nzType","delete","nzTheme","outline"],["target","_blank","rel","noreferer noopener",1,"container","example2","dark-bg","dark-white","dark-shadow",3,"href"],[1,"wrapper","ellipsis"],[1,"right-box",3,"title"],[1,"title","ellipsis",3,"innerHTML"],[1,"desc","dark-text","ellipsis",3,"innerHTML"],[1,"container","column2","ellipsis","dark-bg","dark-white","dark-border-color","dark-shadow","dark-hover"],[1,"title-bar"],[3,"src","name","size"],[1,"bottom-bar"],["class","rate2",4,"ngIf"],["class","action-btn dark-text dark-hover-text",3,"click",4,"ngIf"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzPopconfirmTitle","nzOnConfirm",4,"ngIf"],[1,"rate2"],[1,"action-btn","dark-text","dark-hover-text",3,"click"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"],[1,"action-btn","dark-text","dark-hover-text"]],template:function(i,o){1&i&&(Ye(0,0),C(1,bue,21,20,"div",1)(2,zue,8,8,"a",2)(3,Oue,16,15,"div",3),Ue()),2&i&&(h("ngSwitch",o.cardStyle),d(),h("ngSwitchCase","standard"),d(),h("ngSwitchCase","example"))},dependencies:[zn,St,cl,fu,qm,mi,Zi,H1,Sa,ln,bv,Xi,Fl],styles:[".container[_ngcontent-%COMP%]{position:relative;height:100%}.container[_ngcontent-%COMP%] .breadcrumb1[_ngcontent-%COMP%]{padding:0 0 0 8px;font-size:12px;color:#666}.container[_ngcontent-%COMP%] .breadcrumb1[_ngcontent-%COMP%] .slash[_ngcontent-%COMP%]{margin:0 4px}.container[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%]{color:#00000073;word-break:break-all;white-space:pre-wrap}.container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{white-space:normal;word-break:break-all}.container[_ngcontent-%COMP%] .stop-icon[_ngcontent-%COMP%]{z-index:3;color:red;font-weight:700;position:absolute;top:12px;right:12px}.standard[_ngcontent-%COMP%]{box-shadow:0 1px 5px #0000001a;border-radius:4px;border:1px solid #eee;display:flex;flex-direction:column;padding-top:5px;transition:all .2s ease-out}.standard[_ngcontent-%COMP%]:hover{transform:translateY(-3px)}.standard[_ngcontent-%COMP%] .rate[_ngcontent-%COMP%]{padding:0 8px}.standard[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%]{flex:1}.standard[_ngcontent-%COMP%] .top[_ngcontent-%COMP%]{margin-top:5px;display:flex;align-items:center;padding:0 8px}.standard[_ngcontent-%COMP%] .top[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-left:8px;font-weight:500;color:#000}.standard[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%]{padding:8px 8px 0;margin-bottom:5px}.standard[_ngcontent-%COMP%] .tagbox[_ngcontent-%COMP%]{display:flex;padding:0 8px;flex-wrap:wrap}.standard[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]{margin:6px 6px 0 0;padding:0 6px;border-radius:2px;font-size:12px;display:flex;align-items:center;transition:all .1s linear;color:#fff}.standard[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:currentColor}.standard[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]:hover{opacity:.8}.standard[_ngcontent-%COMP%] .actionbar[_ngcontent-%COMP%]{display:flex;border-top:1px solid #eee;padding:8px 0;margin-top:10px}.standard[_ngcontent-%COMP%] .actionbar[_ngcontent-%COMP%] .action-item[_ngcontent-%COMP%]{flex:1;text-align:center;font-size:16px;color:#999;cursor:pointer}.standard[_ngcontent-%COMP%] .actionbar[_ngcontent-%COMP%] .action-item[_ngcontent-%COMP%]:hover{color:#1890ff}.standard[_ngcontent-%COMP%] .actionbar[_ngcontent-%COMP%] .action-item[_ngcontent-%COMP%]:not(:nth-last-child(1)){border-right:1px solid #eee}.example2[_ngcontent-%COMP%]{background-color:#fff;padding:8px;border-radius:8px;cursor:pointer;box-shadow:0 0 3px #0000001a,0 1px 2px -1px #0000001a;border:1px solid transparent;transition:all .15s linear;color:#000;display:block}.example2[_ngcontent-%COMP%]:hover{border:1px solid #78b7fa;transform:translateY(-3px)}.example2[_ngcontent-%COMP%]:hover .title[_ngcontent-%COMP%]{color:#007bff}.example2[_ngcontent-%COMP%] .breadcrumb1[_ngcontent-%COMP%]{padding:0 0 4px}.example2[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]{display:flex}.example2[_ngcontent-%COMP%] .right-box[_ngcontent-%COMP%]{flex:1;width:0;margin-left:12px}.example2[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%]{margin:0;font-size:12px} .column-border .column2{border:1px solid transparent!important;box-shadow:0 1px 5px #0000001a;border-radius:4px}.column2[_ngcontent-%COMP%]{background-color:#fff;padding:8px 12px;border-bottom:1px solid #eee;transition:all .15s linear;color:#000;display:block}.column2[_ngcontent-%COMP%] .breadcrumb1[_ngcontent-%COMP%]{padding:0 0 4px}.column2[_ngcontent-%COMP%]:hover{background-color:#f2f3f5}.column2[_ngcontent-%COMP%]:hover .action-btn[_ngcontent-%COMP%]{display:block}.column2[_ngcontent-%COMP%] .title-bar[_ngcontent-%COMP%]{display:flex;align-items:center}.column2[_ngcontent-%COMP%] .right-box[_ngcontent-%COMP%]{margin-top:6px}.column2[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:700;margin-left:10px;font-size:15px}.column2[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%]{margin:0;font-size:12px}.column2[_ngcontent-%COMP%] .bottom-bar[_ngcontent-%COMP%]{display:flex;margin-top:4px}.column2[_ngcontent-%COMP%] .tagbox[_ngcontent-%COMP%]{display:flex;flex:1;justify-content:flex-start;align-items:center;flex-wrap:wrap;row-gap:5px}.column2[_ngcontent-%COMP%] .tagbox[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#fff}.column2[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]{margin-right:6px;padding:0 6px;border-radius:2px;font-size:12px;display:flex;align-items:center;transition:all .1s linear}.column2[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]:hover{opacity:.8}.column2[_ngcontent-%COMP%] .rate2[_ngcontent-%COMP%]{color:#8a919f;margin-right:10px}.column2[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{margin-right:4px;color:#8a919f;font-size:12px;display:none;cursor:pointer}.column2[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:hover{color:#666} .gutter-row .ant-card{height:100%;display:flex;flex-direction:column;justify-content:space-between}"]})}return t})();function Pue(t,n){if(1&t){const e=W();f(0,"li",4),M("click",function(){const o=S(e).index,r=g();return T(r.handleCilck(r.index+o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g();Z("moreActive",o.page===o.index+i)("dark-text-active",o.page===o.index+i),d(),we(" ",e.title," ")}}let _v=(()=>{class t{constructor(){this.index=0,this.data=[],this.page=0,this.onClick=new B}ngOnInit(){}handleCilck(e){this.onClick?.emit?.(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-web-more-menu"]],inputs:{index:"index",data:"data",page:"page"},outputs:{onClick:"onClick"},decls:5,vars:2,consts:[["menu","nzDropdownMenu"],["nz-dropdown","","nzPlacement","bottomRight",1,"more-btn","dark-white","iconfont","icongengduo",2,"color","#08c",3,"nzDropdownMenu"],["nz-menu",""],["nzMenuClassName","navpopover","nz-menu-item","","class","navpopover over-item dark-text dark-hover",3,"moreActive","dark-text-active","click",4,"ngFor","ngForOf"],["nzMenuClassName","navpopover","nz-menu-item","",1,"navpopover","over-item","dark-text","dark-hover",3,"click"]],template:function(i,o){1&i&&(A(0,"span",1),f(1,"nz-dropdown-menu",null,0)(3,"ul",2),C(4,Pue,2,5,"li",3),m()()),2&i&&(h("nzDropdownMenu",Be(2)),d(4),h("ngForOf",o.data))},dependencies:[zn,mi,Aa,Ws,V1,w2],styles:[".over-item[_ngcontent-%COMP%]{cursor:pointer;margin:0;padding:7px 16px;text-align:center}.over-item.moreActive[_ngcontent-%COMP%]{font-weight:700!important;color:#08c}.more-btn[_ngcontent-%COMP%]{z-index:11;position:relative;cursor:pointer}"]})}return t})();const Vue=()=>[16,16],Nue=(t,n,e,i)=>[t,n,e,i];function Fue(t,n){if(1&t){const e=W();f(0,"span",15),M("click",function(){const o=S(e).index;return T(g().handleCilckTopNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g();Z("active",o.page===i)("dark-text-active",o.page===i),d(),we(" ",e.title," ")}}function Rue(t,n){if(1&t){const e=W();f(0,"app-web-more-menu",16),M("onClick",function(o){return S(e),T(g().handleCilckTopNav(o))}),m()}if(2&t){const e=g();h("data",e.websiteList.slice(e.overIndex,9999))("index",e.overIndex)("page",e.page)}}function Lue(t,n){if(1&t){const e=W();f(0,"div",18),M("click",function(){const o=S(e).index;return T(g(2).handleSidebarNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);Z("active",o.id===i)("dark-item-active",o.id===i),d(),we(" ",e.title," ")}}function Bue(t,n){if(1&t&&(f(0,"div"),C(1,Lue,2,5,"div",17),m()),2&t){const e=g();d(),h("ngForOf",e.websiteList[e.page].nav)("ngForTrackBy",e.trackByItem)}}function Hue(t,n){if(1&t&&(f(0,"div",23),A(1,"app-card",24),m()),2&t){const e=n.$implicit,i=n.index,o=g().index,r=g(2);h("nzSpan",8)("nzSm",12)("nzMd",8)("nzXs",24),d(),h("cardStyle",r.settings.lightCardStyle)("dataSource",e)("indexs",nu(8,Nue,r.page,r.id,o,i))("searchKeyword",r.searchKeyword)}}function jue(t,n){if(1&t){const e=W();f(0,"div")(1,"app-toolbar-title",20),M("onCollapse",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).onCollapse(r,s))}),m(),f(2,"div",21),C(3,Hue,2,13,"div",22),m()()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);d(),h("dataSource",e)("index",i),d(),Lt("display",e.collapsed?"none":""),h("nzGutter",Si(7,Vue)),d(),h("ngForOf",e.nav)("ngForTrackBy",o.trackByItemWeb)}}function Yue(t,n){if(1&t&&(f(0,"div"),C(1,jue,4,8,"div",19),m()),2&t){const e=g();d(),h("ngForOf",e.currentList.slice(0,e.sliceMax))("ngForTrackBy",e.trackByItem)}}function Uue(t,n){1&t&&A(0,"app-no-data")}function Wue(t,n){if(1&t&&(f(0,"div",27)(1,"a",28),A(2,"img",29),m()()),2&t){const e=n.$implicit;d(),h("href",e.url||"javascript:void(0)",It)("target",e.url?"_blank":"_self"),d(),h("src",e.src,It)}}function Gue(t,n){if(1&t&&(f(0,"div",25),C(1,Wue,3,3,"div",26),m()),2&t){const e=g();d(),h("ngForOf",e.settings.lightImages)}}let que=(()=>{class t{constructor(e,i){this.router=e,this.activatedRoute=i,this.websiteList=yn,this.currentList=[],this.id=0,this.page=0,this.isLogin=Gi,this.sliceMax=1,this.settings=kn,this.overIndex=Number.MAX_SAFE_INTEGER,this.searchKeyword="",this.onCollapse=(o,r)=>{o.collapsed=!o.collapsed,this.websiteList[this.page].nav[this.id].nav[r]=o,Un(this.websiteList)},this.onCollapseAll=()=>{z5(this.websiteList)}}ngOnInit(){eE(),this.activatedRoute.queryParams.subscribe(()=>{const{id:e,page:i,q:o}=pi();this.page=i,this.id=e,this.searchKeyword=o,this.sliceMax=1,this.currentList=o?A1(this.websiteList,o):Hu(),setTimeout(()=>{this.sliceMax=Number.MAX_SAFE_INTEGER},100)})}trackByItem(e,i){return i.title}trackByItemWeb(e,i){return i.id}collapsed(){try{return!!yn[this.page].nav[this.id].collapsed}catch{return!1}}handleCilckTopNav(e){const i=this.websiteList[e].id||0;this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:e,id:i,_:Date.now()}})}handleSidebarNav(e){const{page:i}=pi();this.websiteList[i].id=e,this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:i,id:e,_:Date.now()}})}ngAfterViewInit(){"ellipsis"===this.settings.lightOverType&&queueMicrotask(()=>{const e=M5(".top-nav .over-item");this.overIndex!==e&&(this.overIndex=e)})}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-light"]],decls:18,vars:10,consts:[["noData",""],[1,"index-wrapper"],[1,"light-box"],[1,"homepage","dark-border-color","dark-bg"],["selector",".main",3,"onCollapse","collapsed"],[1,"top-nav","dark-scrollbar","dark-border-color","dark-bg"],["class","over-item ripple-btn dark-text",3,"active","dark-text-active","click",4,"ngFor","ngForOf","ngForTrackBy"],[3,"data","index","page","onClick",4,"ngIf"],[1,"index-section","user-select-none","dark-bg"],["id","sidebar",1,"sidebar","dark-bg","dark-border-color"],[4,"ngIf"],[1,"main","dark-scrollbar"],[4,"ngIf","ngIfElse"],["class","right dark-scrollbar",4,"ngIf"],[1,"layer-bg","dark-bg"],[1,"over-item","ripple-btn","dark-text",3,"click"],[3,"onClick","data","index","page"],["class","tag dark-text",3,"active","dark-item-active","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"tag","dark-text",3,"click"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"onCollapse","dataSource","index"],["nz-row","",2,"padding","0 10px",3,"nzGutter"],["class","gutter-row","nz-col","",3,"nzSpan","nzSm","nzMd","nzXs",4,"ngFor","ngForOf","ngForTrackBy"],["nz-col","",1,"gutter-row",3,"nzSpan","nzSm","nzMd","nzXs"],[1,"column-border",3,"cardStyle","dataSource","indexs","searchKeyword"],[1,"right","dark-scrollbar"],["class","aditem",4,"ngFor","ngForOf"],[1,"aditem"],[3,"href","target"],[1,"adsimg",3,"src"]],template:function(i,o){if(1&i){const r=W();f(0,"div",1)(1,"div",2)(2,"main",3)(3,"app-fixbar",4),M("onCollapse",function(){return S(r),T(o.onCollapseAll())}),m(),f(4,"nav",5),C(5,Fue,2,5,"span",6)(6,Rue,1,3,"app-web-more-menu",7),m(),f(7,"section",8)(8,"aside",9),C(9,Bue,2,2,"div",10),m(),f(10,"div",11),A(11,"app-search-engine"),C(12,Yue,2,2,"div",12)(13,Uue,1,0,"ng-template",null,0,ot),m()()(),C(15,Gue,2,1,"div",13),m(),A(16,"app-footer"),m(),A(17,"div",14)}if(2&i){const r=Be(14);Z("noimg",o.settings.lightImages.length<=0),d(3),h("collapsed",o.collapsed()),d(2),h("ngForOf",o.websiteList.slice(0,o.overIndex))("ngForTrackBy",o.trackByItem),d(),h("ngIf",o.overIndex0)("ngIfElse",r),d(3),h("ngIf",o.settings.lightImages.length>0)}},dependencies:[zn,St,D1,wl,z2,A2,hp,B1,vv,xp,_v],styles:['.layer-bg[_ngcontent-%COMP%]{z-index:-1;position:fixed;inset:0}@media (max-width: 1280px){.index-wrapper[_ngcontent-%COMP%]{--width: 800px;--rightWidth: 200px}.index-wrapper.noimg[_ngcontent-%COMP%]{--width: 1000px}}@media (max-width: 1080px){.index-wrapper[_ngcontent-%COMP%]{--width: 800px !important}.right[_ngcontent-%COMP%]{display:none}}@media (max-width: 1000px){.light-box[_ngcontent-%COMP%]{width:100%!important}}@media (max-width: 810px){.index-wrapper[_ngcontent-%COMP%]{--top: 0}}.index-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100vh;padding-top:var(--top, 15px)}.index-wrapper[_ngcontent-%COMP%] .light-box[_ngcontent-%COMP%]{display:flex;justify-content:center;height:100%;margin:0 auto;column-gap:20px}.index-wrapper[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{width:var(--rightWidth, 230px);min-width:var(--rightWidth, 230px);max-height:calc(100vh - 50px);overflow:hidden;overflow-y:auto}.index-wrapper[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .adsimg[_ngcontent-%COMP%]{display:block;width:100%;border-radius:4px}.index-wrapper[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .aditem[_ngcontent-%COMP%]{margin-bottom:20px;border-radius:4px;overflow:hidden}.homepage[_ngcontent-%COMP%]{width:var(--width, 1000px);height:100%;position:relative;background:#fbfbfb;border-radius:5px;overflow:hidden;transition:.1s linear;border:1px solid transparent}.homepage[_ngcontent-%COMP%] .top-nav[_ngcontent-%COMP%]{padding:10px 0;overflow:none;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #eee;text-align:center;-webkit-user-select:none;user-select:none}.homepage[_ngcontent-%COMP%] .top-nav[_ngcontent-%COMP%] .more-btn, .homepage[_ngcontent-%COMP%] .top-nav[_ngcontent-%COMP%] .ripple-btn[_ngcontent-%COMP%]{height:40px;position:relative;padding:0 15px;color:#000;cursor:pointer;border-radius:5px;overflow:hidden;display:inline-flex;align-items:center}.homepage[_ngcontent-%COMP%] .top-nav[_ngcontent-%COMP%] .more-btn.active:after, .homepage[_ngcontent-%COMP%] .top-nav[_ngcontent-%COMP%] .ripple-btn.active[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:3px;border-radius:2px;background-color:#108ee9}.index-section[_ngcontent-%COMP%]{position:relative;height:calc(100% - 52px);overflow:hidden}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%]{position:relative;width:80px;height:100%;text-align:center;border-right:1px solid #eee;overflow-y:auto}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag[_ngcontent-%COMP%]{position:relative;cursor:pointer;padding:11px 0}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag.active[_ngcontent-%COMP%]{color:#1890ff}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag.active[_ngcontent-%COMP%]:after, .index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag.active[_ngcontent-%COMP%]:before{content:"";position:absolute;left:0;width:100%}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag.active[_ngcontent-%COMP%]:after{top:0;border-top:1px dashed #ccc}.index-section[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .tag.active[_ngcontent-%COMP%]:before{content:"";bottom:0;border-bottom:1px dashed #ccc}.index-section[_ngcontent-%COMP%] .main[_ngcontent-%COMP%]{width:calc(100% - 80px);position:absolute;top:0;left:80px;bottom:30px;padding-bottom:50px;overflow:hidden;overflow-y:auto}']})}return t})();const Que=(t,n,e,i)=>[t,n,e,i];function Kue(t,n){if(1&t){const e=W();f(0,"div",22),M("click",function(){const o=S(e).index;return T(g().handleCilckTopMenu(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g();Z("active",o.page===i)("dark-text-active",o.page===i),d(),we(" ",e.title," ")}}function $ue(t,n){if(1&t){const e=W();f(0,"app-web-more-menu",23),M("onClick",function(o){return S(e),T(g().handleCilckTopMenu(o))}),m()}if(2&t){const e=g();h("data",e.websiteList.slice(e.overIndex,9999))("index",e.overIndex)("page",e.page)}}function Jue(t,n){1&t&&A(0,"img",29),2&t&&h("src",g().$implicit.icon,It)}function Zue(t,n){if(1&t){const e=W();f(0,"div",26),M("click",function(){const o=S(e).index;return T(g(2).handleSidebarNav(o))}),C(1,Jue,1,1,"img",27),f(2,"span",28),w(3),m()()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);Z("active",o.id===i)("dark-item-active",o.id===i),d(),h("ngIf",e.icon),d(2),D(e.title)}}function Xue(t,n){if(1&t&&(f(0,"div",24),C(1,Zue,4,6,"div",25),m()),2&t){const e=g();d(),h("ngForOf",e.websiteList[e.page].nav)("ngForTrackBy",e.trackByItem)}}function e2e(t,n){if(1&t){const e=W();f(0,"div",30),M("click",function(){const o=S(e).index;return T(g().handleCheckThree(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index;Z("active",g().selectedIndex===i)("none",!e.title),d(),we(" ",e.title," ")}}function t2e(t,n){if(1&t&&A(0,"app-card",32),2&t){const e=n.$implicit,i=n.index,o=g(2);h("indexs",nu(4,Que,o.page,o.id,o.selectedIndex,i))("cardStyle",o.settings.superCardStyle)("dataSource",e)("searchKeyword",o.searchKeyword)}}function n2e(t,n){if(1&t&&(f(0,"div"),C(1,t2e,1,9,"app-card",31),m()),2&t){const e=g();d(),h("ngForOf",e.currentList[e.selectedIndex].nav)("ngForTrackBy",e.trackByItemWeb)}}function i2e(t,n){1&t&&A(0,"app-no-data")}function o2e(t,n){if(1&t){const e=W();f(0,"div",33)(1,"span",34),M("click",function(){return S(e),T(g().openCreateWebModal())}),w(2),m()()}if(2&t){const e=g();d(2),D(e.$t(e.isLogin?"_add":"_apply"))}}function r2e(t,n){if(1&t&&(f(0,"div",37)(1,"a",38),A(2,"img",39),m()()),2&t){const e=n.$implicit;d(),h("href",e.url||"javascript:void(0)",It)("target",e.url?"_blank":"_self"),d(),h("src",e.src,It)}}function s2e(t,n){if(1&t&&(f(0,"div",35),C(1,r2e,3,3,"div",36),m()),2&t){const e=g();d(),h("ngForOf",e.settings.superImages)}}let a2e=(()=>{class t{constructor(e,i){this.router=e,this.activatedRoute=i,this.$t=be,this.LOGO_CDN=kn.favicon,this.websiteList=yn,this.currentList=[],this.id=0,this.page=0,this.selectedIndex=0,this.title=kn.title.trim().split(/\s/)[0],this.searchEngineList=D5,this.isLogin=Gi,this.settings=kn,this.overIndex=Number.MAX_SAFE_INTEGER,this.searchKeyword=""}ngOnInit(){this.activatedRoute.queryParams.subscribe(()=>{const{id:e,page:i,q:o}=pi();this.page=i,this.id=e,this.searchKeyword=o,this.handleCheckThree(0),this.currentList=o?A1(this.websiteList,o):Hu()})}ngAfterViewInit(){"ellipsis"===this.settings.superOverType&&queueMicrotask(()=>{const e=M5(".topnav .over-item");this.overIndex!==e&&(this.overIndex=e)})}handleCilckTopMenu(e){const i=this.websiteList[e].id||0;this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:e,id:i,_:Date.now()}})}handleSidebarNav(e){const{page:i}=pi();this.websiteList[i].id=e,this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:i,id:e,_:Date.now()}})}handleCheckThree(e){this.selectedIndex=e}trackByItem(e,i){return i.title}trackByItemWeb(e,i){return i.id}openCreateWebModal(){Ei.emit("CREATE_WEB",{threeIndex:this.selectedIndex})}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-side"]],decls:24,vars:15,consts:[["noData",""],[1,"super-xjh","dark-bg"],[1,"sheader","dark-bg"],[1,"headerbox"],[1,"hitem"],[1,"logo",3,"src"],[1,"title","dark-white"],[1,"topnav","dark-scrollbar"],["class","hitem over-item dark-text",3,"active","dark-text-active","click",4,"ngFor","ngForOf","ngForTrackBy"],["class","flex-center",3,"data","index","page","onClick",4,"ngIf"],[1,"main-box"],["class","left dark-bg dark-border-color dark-scrollbar",4,"ngIf"],[1,"middle","dark-bg"],[1,"search-t","dark-border-color"],["size","small"],[1,"bar","dark-scrollbar"],["class","bar-item",3,"active","none","click",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngIf","ngIfElse"],["class","apply",4,"ngIf"],["class","right dark-scrollbar",4,"ngIf"],[2,"color","#ccc"],[3,"showCollapse"],[1,"hitem","over-item","dark-text",3,"click"],[1,"flex-center",3,"onClick","data","index","page"],[1,"left","dark-bg","dark-border-color","dark-scrollbar"],["class","bar-item dark-text dark-hover ellipsis",3,"active","dark-item-active","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"bar-item","dark-text","dark-hover","ellipsis",3,"click"],["class","sideicon",3,"src",4,"ngIf"],[1,"ellipsis"],[1,"sideicon",3,"src"],[1,"bar-item",3,"click"],[3,"indexs","cardStyle","dataSource","searchKeyword",4,"ngFor","ngForOf","ngForTrackBy"],[3,"indexs","cardStyle","dataSource","searchKeyword"],[1,"apply"],[1,"appbtn",3,"click"],[1,"right","dark-scrollbar"],["class","aditem",4,"ngFor","ngForOf"],[1,"aditem"],[3,"href","target"],[1,"adsimg",3,"src"]],template:function(i,o){if(1&i&&(f(0,"section",1)(1,"header",2)(2,"div",3)(3,"div",4),A(4,"img",5),f(5,"span",6),w(6),m()(),f(7,"div",7),C(8,Kue,2,5,"div",8)(9,$ue,1,3,"app-web-more-menu",9),m()()(),f(10,"div",10),C(11,Xue,2,2,"div",11),f(12,"div",12)(13,"div",13),A(14,"app-search-engine",14),f(15,"div",15),C(16,e2e,2,5,"div",16),m()(),C(17,n2e,2,2,"div",17)(18,i2e,1,0,"ng-template",null,0,ot)(20,o2e,3,1,"div",18),m(),C(21,s2e,2,1,"div",19),m(),A(22,"app-footer",20)(23,"app-fixbar",21),m()),2&i){const r=Be(19);d(4),h("src",o.LOGO_CDN,It),d(2),D(o.settings.superTitle||o.title),d(2),h("ngForOf",o.websiteList.slice(0,o.overIndex))("ngForTrackBy",o.trackByItem),d(),h("ngIf",o.overIndex0),d(2),h("showCollapse",!1)}},dependencies:[zn,St,z2,A2,hp,B1,xp,_v],styles:['@media (max-width: 1200px){.super-xjh[_ngcontent-%COMP%]{--width: 960px;--leftWidth: 180px;--rightWidth: 200px}}@media (max-width: 998px){.super-xjh[_ngcontent-%COMP%]{--width: 100%;--leftWidth: 150px;--rightWidth: 160px}}@media (max-width: 768px){.super-xjh[_ngcontent-%COMP%]{--width: 100%;--leftWidth: 100%;--rightWidth: 100%}.main-box[_ngcontent-%COMP%]{flex-direction:column;row-gap:20px}.sheader[_ngcontent-%COMP%]{z-index:3;position:sticky;top:0;left:0}.right[_ngcontent-%COMP%], .left[_ngcontent-%COMP%]{position:initial!important;max-height:initial!important}.right[_ngcontent-%COMP%]{padding:0 20px;background-color:#fff}}@media (min-width: 1200px){.super-xjh[_ngcontent-%COMP%]{--width: 1150px;--leftWidth: 180px;--rightWidth: 250px}}.super-xjh[_ngcontent-%COMP%]{--stickyTop: 20px;background-color:#f2f3f5;min-height:100vh;display:flex;flex-direction:column}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%]{display:flex;align-items:center;background-color:#fff;height:70px;box-shadow:0 1px 5px #00000017}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .headerbox[_ngcontent-%COMP%]{width:var(--width);overflow:hidden;overflow-x:auto;margin:0 auto;display:flex}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:40px;height:40px}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#000;margin-left:4px;-webkit-user-select:none;user-select:none;margin-right:8px}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .hitem[_ngcontent-%COMP%]{display:flex;align-items:center;font-weight:700;font-size:18px;margin-left:10px;white-space:nowrap}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .hitem[_ngcontent-%COMP%]:hover{color:#000}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .more-btn, .super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .over-item[_ngcontent-%COMP%]{color:#515767;font-weight:400;font-size:14px;margin-left:0;padding:0 10px;cursor:pointer}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .more-btn.active, .super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .over-item.active[_ngcontent-%COMP%]{font-weight:700;color:#1e80ff}.super-xjh[_ngcontent-%COMP%] .sheader[_ngcontent-%COMP%] .topnav[_ngcontent-%COMP%]{display:flex;overflow:hidden;overflow-x:auto}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%]{width:var(--width);margin:24px auto 0;display:flex;flex:1;column-gap:20px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{position:sticky;top:var(--stickyTop);width:var(--leftWidth);min-width:var(--leftWidth);text-align:left;background-color:#fff;padding:8px;font-size:16px;border-radius:4px;overflow:hidden;overflow-y:auto;max-height:calc(100vh - 100px);border:1px solid transparent}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .bar-item[_ngcontent-%COMP%]{padding:10px 17px;cursor:pointer;border-radius:4px;display:flex;align-items:center;color:#515767}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .bar-item[_ngcontent-%COMP%]:hover{background-color:#f7f8fa}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .bar-item.active[_ngcontent-%COMP%]{font-weight:700;color:#1e80ff;background-color:#eaf2ff}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .sideicon[_ngcontent-%COMP%]{width:20px;height:20px;margin-right:12px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%]{position:relative;background:#fff;flex:1;border-radius:4px;overflow:hidden}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle.noads[_ngcontent-%COMP%]{width:initial}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .search-t[_ngcontent-%COMP%]{padding:8px 12px 0;border-bottom:1px solid #eee;margin-bottom:12px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar[_ngcontent-%COMP%]{margin-top:10px;display:flex;overflow:hidden;overflow-x:auto;padding-bottom:8px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar-item[_ngcontent-%COMP%]{position:relative;padding:0 10px;white-space:nowrap;cursor:pointer;color:#515767}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar-item[_ngcontent-%COMP%]:hover{color:#1e80ff}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar-item.active[_ngcontent-%COMP%]{font-weight:700}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar-item.active[_ngcontent-%COMP%]:after{content:"";display:block;position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:40%;height:3px;background-color:#1e80ff;border-radius:2px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .bar-item.none[_ngcontent-%COMP%]{display:none}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .apply[_ngcontent-%COMP%]{text-align:center;padding:20px 0}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .middle[_ngcontent-%COMP%] .appbtn[_ngcontent-%COMP%]{cursor:pointer;color:#1890ff;-webkit-user-select:none;user-select:none;font-size:12px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{position:sticky;top:var(--stickyTop);width:var(--rightWidth);min-width:var(--rightWidth);max-height:calc(100vh - 100px);overflow:hidden;overflow-y:auto}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .adsimg[_ngcontent-%COMP%]{display:block;width:100%;border-radius:4px}.super-xjh[_ngcontent-%COMP%] .main-box[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .aditem[_ngcontent-%COMP%]{margin-bottom:20px;border-radius:4px;overflow:hidden}.super-xjh[_ngcontent-%COMP%] .standard{margin-bottom:15px}.super-xjh[_ngcontent-%COMP%] #app-footer{margin-top:40px}.super-xjh[_ngcontent-%COMP%] #app-footer, .super-xjh[_ngcontent-%COMP%] #app-footer .copyright{margin-bottom:10px;color:#666}']})}return t})();const l2e=["*"],c2e=t=>({height:t});function d2e(t,n){if(1&t&&(f(0,"div",4)(1,"a",5),A(2,"img",6),m()()),2&t){const e=n.$implicit,i=g();d(),h("href",e.url||"javascript:void(0)",It)("target",e.url?"_blank":""),d(),Z("height100",i.height>0),h("src",e.src,It)}}let OO=(()=>{class t{constructor(){this.images=[],this.autoplay=!0,this.height=300,this.mySwiper=null,this.swiperId="swiper",this.swiperId="swiper"+parseInt(String(1e3*Math.random()))}ngAfterViewInit(){this.initSwiper()}ngOnDestroy(){this.destroySwiper()}initSwiper(){this.destroySwiper();const e=document.getElementById(this.swiperId);e&&Swiper?this.mySwiper=new Swiper(e,{autoplay:!!this.autoplay&&{delay:5e3},pagination:{el:".swiper-pagination",clickable:!0}}):console.log("swiper not found")}destroySwiper(){this.mySwiper&&(this.mySwiper?.destroy?.(),this.mySwiper=null)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-swiper"]],inputs:{images:"images",autoplay:"autoplay",height:"height"},ngContentSelectors:l2e,decls:5,vars:5,consts:[[1,"swiper",3,"id","ngStyle"],[1,"swiper-wrapper"],["class","swiper-slide",4,"ngFor","ngForOf"],[1,"swiper-pagination"],[1,"swiper-slide"],[3,"href","target"],["draggable","false",1,"bgimg",3,"src"]],template:function(i,o){1&i&&(Et(),f(0,"div",0)(1,"div",1),C(2,d2e,3,5,"div",2),m(),A(3,"div",3),_t(4),m()),2&i&&(h("id",o.swiperId)("ngStyle",mr(3,c2e,o.height<=0?"":o.height+"px")),d(2),h("ngForOf",o.images))},dependencies:[zn,ti],styles:[".swiper[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}.swiper[_ngcontent-%COMP%] .swiper-pagination-bullet{cursor:pointer}.swiper[_ngcontent-%COMP%] .swiper-pagination-bullet-active{background-color:#fff!important}.swiper[_ngcontent-%COMP%] .bgimg[_ngcontent-%COMP%]{width:100%;object-fit:cover}"]})}return t})();const u2e=()=>[16,16],h2e=(t,n,e,i)=>[t,n,e,i];function p2e(t,n){if(1&t&&(f(0,"div",14),A(1,"app-swiper",15),f(2,"div",16)(3,"h1",17),w(4),m(),A(5,"pre",18)(6,"app-search-engine"),m()()),2&t){const e=g();Z("bootstrap",e.settings.simThemeHeight<260),d(),h("images",e.settings.simThemeImages)("autoplay",e.settings.simThemeAutoplay)("height",e.settings.simThemeHeight),d(3),we(" ",e.settings.simTitle||e.settings.title," "),d(),h("innerHTML",e.description,Gn)}}function f2e(t,n){if(1&t){const e=W();f(0,"span",19),M("click",function(){const o=S(e).index;return T(g().handleCilckTopNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g();Z("active",o.page===i)("dark-text-active",o.page===i),d(),we(" ",e.title," ")}}function m2e(t,n){if(1&t){const e=W();f(0,"app-web-more-menu",20),M("onClick",function(o){return S(e),T(g().handleCilckTopNav(o))}),m()}if(2&t){const e=g();h("data",e.websiteList.slice(e.overIndex,9999))("index",e.overIndex)("page",e.page)}}function g2e(t,n){if(1&t){const e=W();f(0,"div",23),M("click",function(){const o=S(e).index;return T(g(2).handleSidebarNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);Z("active",o.id===i)("dark-item-active",o.id===i),d(),we(" ",e.title," ")}}function v2e(t,n){if(1&t&&(f(0,"nav",21),C(1,g2e,2,5,"div",22),m()),2&t){const e=g();d(),h("ngForOf",e.websiteList[e.page].nav)("ngForTrackBy",e.trackByItem)}}function b2e(t,n){if(1&t&&(f(0,"div",29),A(1,"app-card",30),m()),2&t){const e=n.$implicit,i=n.index,o=g().index,r=g(2);h("nzSpan",8)("nzSm",12)("nzMd",12)("nzLg",8)("nzXs",24),d(),h("cardStyle","example")("dataSource",e)("indexs",nu(9,h2e,r.page,r.id,o,i))("searchKeyword",r.searchKeyword)}}function _2e(t,n){if(1&t){const e=W();f(0,"div")(1,"div",25)(2,"app-toolbar-title",26),M("onCollapse",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).onCollapse(r,s))}),m(),f(3,"div",27),C(4,b2e,2,14,"div",28),m()()()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);d(2),h("dataSource",e)("index",i),d(),Lt("display",e.collapsed?"none":""),h("nzGutter",Si(7,u2e)),d(),h("ngForOf",e.nav)("ngForTrackBy",o.trackByItemWeb)}}function y2e(t,n){if(1&t&&(f(0,"div"),C(1,_2e,5,8,"div",24),m()),2&t){const e=g();d(),h("ngForOf",e.currentList.slice(0,e.sliceMax))("ngForTrackBy",e.trackByItem)}}function w2e(t,n){1&t&&A(0,"app-no-data")}let C2e=(()=>{class t{constructor(e,i){this.router=e,this.activatedRoute=i,this.websiteList=yn,this.currentList=[],this.id=0,this.page=0,this.settings=kn,this.description=kn.simThemeDesc.replace("${total}",String(Gi?p3.loginViewCount:p3.userViewCount)),this.isLogin=Gi,this.sliceMax=1,this.overIndex=Number.MAX_SAFE_INTEGER,this.searchKeyword="",this.onCollapse=(o,r)=>{o.collapsed=!o.collapsed,this.websiteList[this.page].nav[this.id].nav[r]=o,Un(this.websiteList)},this.onCollapseAll=()=>{z5(this.websiteList)}}ngOnInit(){this.activatedRoute.queryParams.subscribe(()=>{const{id:e,page:i,q:o}=pi();this.page=i,this.id=e,this.searchKeyword=o,this.sliceMax=1,this.currentList=o?A1(this.websiteList,o):Hu(),setTimeout(()=>{this.sliceMax=Number.MAX_SAFE_INTEGER},100)})}ngOnDestroy(){}ngAfterViewInit(){"ellipsis"===this.settings.simOverType&&queueMicrotask(()=>{const e=M5(".top-nav .over-item");this.overIndex!==e&&(this.overIndex=e)})}handleSidebarNav(e){const{page:i}=pi();this.websiteList[i].id=e,this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:i,id:e,_:Date.now()}})}handleCilckTopNav(e){const i=this.websiteList[e].id||0;this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:e,id:i,_:Date.now()}})}collapsed(){try{return!!yn[this.page].nav[this.id].collapsed}catch{return!1}}trackByItem(e,i){return i.title}trackByItemWeb(e,i){return i.id}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-sim"]],decls:15,vars:8,consts:[["noData",""],[1,"sim"],["class","wallpaper",3,"bootstrap",4,"ngIf"],[1,"hidden","search-sm"],[1,"top-nav","dark-border-color","dark-scrollbar","dark-bg"],["class","over-item dark-text",3,"active","dark-text-active","click",4,"ngFor","ngForOf","ngForTrackBy"],[3,"data","index","page","onClick",4,"ngIf"],[1,"wrapper"],["class","sidebar dark-bg","id","sidebar",4,"ngIf"],[1,"site-box","dark-bg"],[4,"ngIf","ngIfElse"],["className","sim-footer"],[3,"onCollapse","collapsed"],[1,"sim-bg","dark-bg"],[1,"wallpaper"],[3,"images","autoplay","height"],[1,"bar"],[1,"title","dark-white"],[1,"description","dark-white",3,"innerHTML"],[1,"over-item","dark-text",3,"click"],[3,"onClick","data","index","page"],["id","sidebar",1,"sidebar","dark-bg"],["class","ripple-btn dark-text dark-hover",3,"active","dark-item-active","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"ripple-btn","dark-text","dark-hover",3,"click"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"nav-wrapper"],[3,"onCollapse","dataSource","index"],["nz-row","",3,"nzGutter"],["class","gutter-row","nz-col","",3,"nzSpan","nzSm","nzMd","nzLg","nzXs",4,"ngFor","ngForOf","ngForTrackBy"],["nz-col","",1,"gutter-row",3,"nzSpan","nzSm","nzMd","nzLg","nzXs"],[1,"column-border",3,"cardStyle","dataSource","indexs","searchKeyword"]],template:function(i,o){if(1&i){const r=W();f(0,"div",1),C(1,p2e,7,7,"div",2),A(2,"app-search-engine",3),f(3,"nav",4),C(4,f2e,2,5,"span",5)(5,m2e,1,3,"app-web-more-menu",6),m(),f(6,"div",7),C(7,v2e,2,2,"nav",8),f(8,"aside",9),C(9,y2e,2,2,"div",10)(10,w2e,1,0,"ng-template",null,0,ot),m()()(),A(12,"app-footer",11),f(13,"app-fixbar",12),M("onCollapse",function(){return S(r),T(o.onCollapseAll())}),m(),A(14,"div",13)}if(2&i){const r=Be(11);d(),h("ngIf",o.settings.simThemeImages.length>0),d(3),h("ngForOf",o.websiteList.slice(0,o.overIndex))("ngForTrackBy",o.trackByItem),d(),h("ngIf",o.overIndex0)("ngIfElse",r),d(4),h("collapsed",o.collapsed())}},dependencies:[zn,St,D1,wl,OO,z2,A2,hp,B1,vv,xp,_v],styles:['@media (max-width: 1280px){.sim[_ngcontent-%COMP%]{--width: 1000px !important}}@media (max-width: 1080px){.sim[_ngcontent-%COMP%]{--width: 900px !important}.sim[_ngcontent-%COMP%] .bootstrap[_ngcontent-%COMP%]{--titleSize: 32px;--textSize: 14px}}@media (max-width: 980px){.sim[_ngcontent-%COMP%]{--width: 768px !important}.sim[_ngcontent-%COMP%] .bootstrap[_ngcontent-%COMP%]{--titleSize: 26px;--textSize: 12px}}@media (max-width: 800px){.bar[_ngcontent-%COMP%]{display:none}.search-sm[_ngcontent-%COMP%]{display:block;margin-top:10px}.wrapper[_ngcontent-%COMP%]{flex-direction:column}.top-nav[_ngcontent-%COMP%]{z-index:9;background-color:#fff;position:sticky;top:0;left:0;-webkit-user-select:none;user-select:none}.sidebar[_ngcontent-%COMP%]{position:relative!important;top:0!important;width:100%!important}.sim[_ngcontent-%COMP%]{--width: 100% !important}}.sim-bg[_ngcontent-%COMP%]{z-index:-1;position:fixed;inset:0;background:#f0f2f5}.top-nav[_ngcontent-%COMP%]{max-width:var(--width);width:100%;margin:10px auto;padding:10px;overflow:none;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #eee;text-align:center}.top-nav[_ngcontent-%COMP%] .more-btn, .top-nav[_ngcontent-%COMP%] .over-item[_ngcontent-%COMP%]{position:relative;display:inline-block;padding:10px 15px;color:#666;cursor:pointer;overflow:hidden}.top-nav[_ngcontent-%COMP%] .more-btn.active:after, .top-nav[_ngcontent-%COMP%] .over-item.active[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:3px;border-radius:2px;background-color:#108ee9}.top-nav[_ngcontent-%COMP%] .over-item[_ngcontent-%COMP%]:hover{color:#000}.sim[_ngcontent-%COMP%]{--width: 1200px;display:flex;flex-direction:column;min-height:100vh}.sim[_ngcontent-%COMP%] .wallpaper[_ngcontent-%COMP%]{position:relative;background-color:#fff}.sim[_ngcontent-%COMP%] .wallpaper[_ngcontent-%COMP%] .bar[_ngcontent-%COMP%]{z-index:10;position:absolute;max-width:600px;top:50%;left:50%;transform:translate(-50%,-50%)}.sim[_ngcontent-%COMP%] .wallpaper[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;margin-bottom:10px;font-size:var(--titleSize, 36px);text-align:center;line-height:1.3;-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap}.sim[_ngcontent-%COMP%] .wallpaper[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{text-align:center;color:#fff;margin-bottom:10px;font-weight:700;font-size:var(--textSize, 16px);white-space:pre-wrap;-webkit-user-select:none;user-select:none;pointer-events:none}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]{flex:1;position:relative;width:var(--width);padding-bottom:50px;margin:0 auto;display:flex;column-gap:30px;row-gap:20px}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%]{position:sticky;top:20px;left:0;width:180px;height:min-content;padding:10px 0;text-align:center;background-color:#fff;box-shadow:0 0 1px #ccc;max-height:calc(100vh - 50px);overflow-y:auto;border-radius:4px}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .ripple-btn[_ngcontent-%COMP%]{padding:14px 0;cursor:pointer;border-radius:5px;transition:.1s linear;-webkit-user-select:none;user-select:none;font-weight:500}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .ripple-btn[_ngcontent-%COMP%]:hover{background-color:#00000008}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .ripple-btn.active[_ngcontent-%COMP%]{color:#409eff;background-color:#e7f1fd}.sim[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .site-box[_ngcontent-%COMP%]{flex:1;position:relative;background-color:#fff;padding:15px;border-radius:4px}.sim[_ngcontent-%COMP%] .search-engine .input-wrapper{width:330px!important} #app-footer, #app-footer .copyright{margin-bottom:10px;color:#666}']})}return t})();const yv=["*"],z2e=["nz-sider-trigger",""];function A2e(t,n){}function S2e(t,n){if(1&t&&C(0,A2e,0,0,"ng-template",2),2&t){const e=g(),i=Be(5);h("ngTemplateOutlet",e.nzZeroTrigger||i)}}function T2e(t,n){}function M2e(t,n){if(1&t&&C(0,T2e,0,0,"ng-template",2),2&t){const e=g(),i=Be(3);h("ngTemplateOutlet",e.nzTrigger||i)}}function D2e(t,n){1&t&&A(0,"span",3),2&t&&h("nzType",g(2).nzCollapsed?"left":"right")}function E2e(t,n){1&t&&A(0,"span",3),2&t&&h("nzType",g(2).nzCollapsed?"right":"left")}function x2e(t,n){1&t&&C(0,D2e,1,1,"span",3)(1,E2e,1,1,"span",3),2&t&&he(g().nzReverseArrow?0:1)}function k2e(t,n){1&t&&A(0,"span",4)}function I2e(t,n){if(1&t){const e=W();f(0,"div",2),M("click",function(){S(e);const o=g();return T(o.setCollapsed(!o.nzCollapsed))}),m()}if(2&t){const e=g();h("matchBreakPoint",e.matchBreakPoint)("nzCollapsedWidth",e.nzCollapsedWidth)("nzCollapsed",e.nzCollapsed)("nzBreakpoint",e.nzBreakpoint)("nzReverseArrow",e.nzReverseArrow)("nzTrigger",e.nzTrigger)("nzZeroTrigger",e.nzZeroTrigger)("siderWidth",e.widthSetting)}}let PO=(()=>{class t{constructor(e,i){this.elementRef=e,this.renderer=i,this.renderer.addClass(this.elementRef.nativeElement,"ant-layout-content")}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-content"]],exportAs:["nzContent"],standalone:!0,features:[me],ngContentSelectors:yv,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})(),VO=(()=>{class t{constructor(){this.nzCollapsed=!1,this.nzReverseArrow=!1,this.nzZeroTrigger=null,this.nzTrigger=void 0,this.matchBreakPoint=!1,this.nzCollapsedWidth=null,this.siderWidth=null,this.nzBreakpoint=null,this.isZeroTrigger=!1,this.isNormalTrigger=!1}updateTriggerType(){this.isZeroTrigger=0===this.nzCollapsedWidth&&(this.nzBreakpoint&&this.matchBreakPoint||!this.nzBreakpoint),this.isNormalTrigger=0!==this.nzCollapsedWidth}ngOnInit(){this.updateTriggerType()}ngOnChanges(){this.updateTriggerType()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-sider-trigger",""]],hostVars:10,hostBindings:function(i,o){2&i&&(Lt("width",o.isNormalTrigger?o.siderWidth:null),Z("ant-layout-sider-trigger",o.isNormalTrigger)("ant-layout-sider-zero-width-trigger",o.isZeroTrigger)("ant-layout-sider-zero-width-trigger-right",o.isZeroTrigger&&o.nzReverseArrow)("ant-layout-sider-zero-width-trigger-left",o.isZeroTrigger&&!o.nzReverseArrow))},inputs:{nzCollapsed:"nzCollapsed",nzReverseArrow:"nzReverseArrow",nzZeroTrigger:"nzZeroTrigger",nzTrigger:"nzTrigger",matchBreakPoint:"matchBreakPoint",nzCollapsedWidth:"nzCollapsedWidth",siderWidth:"siderWidth",nzBreakpoint:"nzBreakpoint"},exportAs:["nzSiderTrigger"],standalone:!0,features:[xe,me],attrs:z2e,decls:6,vars:2,consts:[["defaultTrigger",""],["defaultZeroTrigger",""],[3,"ngTemplateOutlet"],["nz-icon","",3,"nzType"],["nz-icon","","nzType","bars"]],template:function(i,o){1&i&&C(0,S2e,1,1,null,2)(1,M2e,1,1,null,2)(2,x2e,2,1,"ng-template",null,0,ot)(4,k2e,1,0,"ng-template",null,1,ot),2&i&&(he(o.isZeroTrigger?0:-1),d(),he(o.isNormalTrigger?1:-1))},dependencies:[Nn,In,ln],encapsulation:2,changeDetection:0})}return t})(),wv=(()=>{class t{updateStyleMap(){this.widthSetting=this.nzCollapsed?`${this.nzCollapsedWidth}px`:M1(this.nzWidth),this.flexSetting=`0 0 ${this.widthSetting}`,this.cdr.markForCheck()}updateMenuInlineCollapsed(){this.nzMenuDirective&&"inline"===this.nzMenuDirective.nzMode&&0!==this.nzCollapsedWidth&&this.nzMenuDirective.setInlineCollapsed(this.nzCollapsed)}setCollapsed(e){e!==this.nzCollapsed&&(this.nzCollapsed=e,this.nzCollapsedChange.emit(e),this.updateMenuInlineCollapsed(),this.updateStyleMap(),this.cdr.markForCheck())}constructor(e,i,o){this.platform=e,this.cdr=i,this.breakpointService=o,this.destroy$=new V,this.nzMenuDirective=null,this.nzCollapsedChange=new B,this.nzWidth=200,this.nzTheme="dark",this.nzCollapsedWidth=80,this.nzBreakpoint=null,this.nzZeroTrigger=null,this.nzTrigger=void 0,this.nzReverseArrow=!1,this.nzCollapsible=!1,this.nzCollapsed=!1,this.matchBreakPoint=!1,this.flexSetting=null,this.widthSetting=null}ngOnInit(){this.updateStyleMap(),this.platform.isBrowser&&this.breakpointService.subscribe(Jte,!0).pipe(P(this.destroy$)).subscribe(e=>{const i=this.nzBreakpoint;i&&function fne(){const t=new V;return Promise.resolve().then(()=>t.next()),t.pipe(io(1))}().subscribe(()=>{this.matchBreakPoint=!e[i],this.setCollapsed(this.matchBreakPoint),this.cdr.markForCheck()})})}ngOnChanges(e){const{nzCollapsed:i,nzCollapsedWidth:o,nzWidth:r}=e;(i||o||r)&&this.updateStyleMap(),i&&this.updateMenuInlineCollapsed()}ngAfterContentInit(){this.updateMenuInlineCollapsed()}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Qn),v(We),v(B5))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-sider"]],contentQueries:function(i,o,r){if(1&i&&fn(r,Aa,5),2&i){let s;ke(s=Ie())&&(o.nzMenuDirective=s.first)}},hostAttrs:[1,"ant-layout-sider"],hostVars:18,hostBindings:function(i,o){2&i&&(Lt("flex",o.flexSetting)("max-width",o.widthSetting)("min-width",o.widthSetting)("width",o.widthSetting),Z("ant-layout-sider-zero-width",o.nzCollapsed&&0===o.nzCollapsedWidth)("ant-layout-sider-light","light"===o.nzTheme)("ant-layout-sider-dark","dark"===o.nzTheme)("ant-layout-sider-collapsed",o.nzCollapsed)("ant-layout-sider-has-trigger",o.nzCollapsible&&null!==o.nzTrigger))},inputs:{nzWidth:"nzWidth",nzTheme:"nzTheme",nzCollapsedWidth:"nzCollapsedWidth",nzBreakpoint:"nzBreakpoint",nzZeroTrigger:"nzZeroTrigger",nzTrigger:"nzTrigger",nzReverseArrow:[2,"nzReverseArrow","nzReverseArrow",I],nzCollapsible:[2,"nzCollapsible","nzCollapsible",I],nzCollapsed:[2,"nzCollapsed","nzCollapsed",I]},outputs:{nzCollapsedChange:"nzCollapsedChange"},exportAs:["nzSider"],standalone:!0,features:[je,xe,me],ngContentSelectors:yv,decls:3,vars:1,consts:[[1,"ant-layout-sider-children"],["nz-sider-trigger","",3,"matchBreakPoint","nzCollapsedWidth","nzCollapsed","nzBreakpoint","nzReverseArrow","nzTrigger","nzZeroTrigger","siderWidth"],["nz-sider-trigger","",3,"click","matchBreakPoint","nzCollapsedWidth","nzCollapsed","nzBreakpoint","nzReverseArrow","nzTrigger","nzZeroTrigger","siderWidth"]],template:function(i,o){1&i&&(Et(),f(0,"div",0),_t(1),m(),C(2,I2e,1,8,"div",1)),2&i&&(d(2),he(o.nzCollapsible&&null!==o.nzTrigger?2:-1))},dependencies:[VO],encapsulation:2,changeDetection:0})}return t})(),NO=(()=>{class t{constructor(e){this.directionality=e,this.dir="ltr",this.destroy$=new V}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-layout"]],contentQueries:function(i,o,r){if(1&i&&fn(r,wv,4),2&i){let s;ke(s=Ie())&&(o.listOfNzSiderComponent=s)}},hostAttrs:[1,"ant-layout"],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-layout-rtl","rtl"===o.dir)("ant-layout-has-sider",o.listOfNzSiderComponent.length>0)},exportAs:["nzLayout"],standalone:!0,features:[me],ngContentSelectors:yv,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})(),O2e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[wv,VO]})}return t})();function P2e(t,n){if(1&t){const e=W();Ye(0),f(1,"p"),w(2),m(),f(3,"input",2),Ii("ngModelChange",function(o){S(e);const r=g();return Ui(r.token,o)||(r.token=o),T(o)}),m(),f(4,"p",3),w(5),f(6,"a",4),w(7),m()(),Ue()}if(2&t){const e=g();d(2),D(e.$t("_inputTokenMsg")),d(),h("placeholder",e.$t("_inputToken")),ki("ngModel",e.token),d(2),we(" ",e.$t("_getToken"),""),d(2),we(" ",e.$t("_readDoc"),"")}}let V2e=(()=>{class t{constructor(e){this.message=e,this.visible=!1,this.onCancel=new B,this.$t=be,this.token="",this.submiting=!1}ngOnInit(){}hanldeCancel(){this.onCancel.emit()}login(){if(!this.token)return this.message.error(be("_pleaseInputToken"));const e=this.token.trim();this.submiting=!0,$D(e).then(()=>{(function xX(t){window.localStorage.setItem("token",t)})(e),vl({message:"auth",path:".navauth",content:"OK"}).then(()=>{(function _te(t){return m5.apply(this,arguments)})("image").finally(()=>{this.message.success(be("_tokenVerSuc")),function IX(){window.localStorage.removeItem("website")}(),setTimeout(()=>window.location.reload(),2e3)})}).catch(()=>{(function kX(){window.localStorage.removeItem("token")})(),this.submiting=!1})}).catch(()=>{this.submiting=!1})}static#e=this.\u0275fac=function(i){return new(i||t)(v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-login"]],inputs:{visible:"visible"},outputs:{onCancel:"onCancel"},decls:2,vars:3,consts:[[3,"nzVisibleChange","nzOnCancel","nzOnOk","nzVisible","nzTitle","nzOkLoading"],[4,"nzModalContent"],["nz-input","","autofocus","",3,"ngModelChange","placeholder","ngModel"],[2,"margin-top","15px"],["href","https://github.com/xjh22222228/nav#%E9%83%A8%E7%BD%B2","target","_blank"]],template:function(i,o){1&i&&(f(0,"nz-modal",0),Ii("nzVisibleChange",function(s){return Ui(o.visible,s)||(o.visible=s),s}),M("nzOnCancel",function(){return o.hanldeCancel()})("nzOnOk",function(){return o.login()}),C(1,P2e,8,5,"ng-container",1),m()),2&i&&(ki("nzVisible",o.visible),h("nzTitle",o.$t("_authLogin"))("nzOkLoading",o.submiting))},dependencies:[lp,y2,Gs,wr,Zi,Xi],styles:[".prefix-icon[_ngcontent-%COMP%]{width:20px;height:20px;pointer-events:none}"]})}return t})();function N2e(t,n){if(1&t){const e=W();f(0,"nz-layout",2)(1,"nz-layout")(2,"nz-sider",3)(3,"ul",4)(4,"li",5)(5,"ul")(6,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/web"))}),w(7),m(),f(8,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/tag"))}),w(9),m(),f(10,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/bookmark"))}),w(11),m(),f(12,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/search"))}),w(13),m(),f(14,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/collect"))}),w(15),m(),f(16,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/setting"))}),w(17),m(),f(18,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/info"))}),w(19),m(),f(20,"li",6),M("click",function(){return S(e),T(g().goRoute("/system/about"))}),w(21),m()()()()(),f(22,"nz-layout",7)(23,"nz-content",8)(24,"div")(25,"button",9),M("click",function(){return S(e),T(g().goBack())}),w(26),m(),f(27,"button",10),M("click",function(){return S(e),T(g().logout())}),w(28),m()(),A(29,"router-outlet"),m()()()()}if(2&t){const e=g();d(6),h("nzSelected","web"===e.currentMenu),d(),we(" ",e.$t("_websiteMang")," "),d(),h("nzSelected","tag"===e.currentMenu),d(),we(" ",e.$t("_tagSettings")," "),d(),h("nzSelected","bookmark"===e.currentMenu),d(),we(" ",e.$t("_bookmarkImport")," "),d(),h("nzSelected","search"===e.currentMenu),d(),we(" ",e.$t("_searchEngines")," "),d(),h("nzSelected","collect"===e.currentMenu),d(),we(" ",e.$t("_userCollect")," "),d(),h("nzSelected","setting"===e.currentMenu),d(),we(" ",e.$t("_systemSet")," "),d(),h("nzSelected","info"===e.currentMenu),d(),we(" ",e.$t("_webInfo")," "),d(),h("nzSelected","about"===e.currentMenu),d(),we(" ",e.$t("_about")," "),d(5),we(" ",e.$t("_backHome")," "),d(2),we(" ",e.$t("_logout")," ")}}let F2e=(()=>{class t{constructor(e){this.router=e,this.$t=be,this.isLogin=Gi,this.showLoginModal=!Gi,this.currentMenu=""}ngOnInit(){const e=window.location.href.split("/");if(this.currentMenu=e[e.length-1],"localhost"!==window.location.hostname){const i=window.sessionStorage.getItem("reload");window.sessionStorage.removeItem("reload"),i||(window.sessionStorage.setItem("reload","1"),window.location.reload())}}goBack(){this.router.navigate(["/"])}goRoute(e){this.router.navigate([e])}logout(){HM(),this.router.navigate(["/"]),setTimeout(()=>{location.reload()},26)}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-system"]],decls:2,vars:2,consts:[["class","system-layout",4,"ngIf"],[3,"visible"],[1,"system-layout"],["nzWidth","150px","nzTheme","light",1,"sidebar"],["nz-menu","","nzMode","inline",1,"sider-menu"],["nz-submenu","","nzOpen","","nzTitle","\u8d85\u7ea7\u7cfb\u7edf"],["nz-menu-item","",3,"click","nzSelected"],[1,"inner-layout"],[1,"content"],["nz-button","",2,"margin-bottom","15px",3,"click"],["nz-button","",2,"margin-left","15px",3,"click"]],template:function(i,o){1&i&&(C(0,N2e,30,18,"nz-layout",0),A(1,"app-login",1)),2&i&&(h("ngIf",o.isLogin),d(),h("visible",o.showLoginModal))},dependencies:[St,nr,mi,tr,Aa,Ws,cp,NO,PO,wv,P4,V2e],styles:[".system-layout[_ngcontent-%COMP%]{min-height:100vh}.system-layout[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:30px;background-color:#fff}.system-layout[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%]{z-index:3;position:fixed;top:0;left:0;bottom:0;background-color:#fff}.system-layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%]{margin-left:170px}"]})}return t})(),R2e=(()=>{class t{constructor(){this.$t=be,this.token=j4(),this.config=Ns,this.date=document.getElementById("META-NAV")?.dataset?.date||be("_unknow"),this.currentVersionSrc="https://img.shields.io/badge/release-v8.4.0-red.svg?longCache=true&style=flat-square"}ngOnInit(){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-info"]],decls:17,vars:10,consts:[[3,"src"],["src","https://img.shields.io/github/v/release/xjh22222228/nav"],["href","https://github.com/xjh22222228/nav?tab=readme-ov-file#%E5%8D%87%E7%BA%A7","target","_blank"]],template:function(i,o){1&i&&(f(0,"div")(1,"p"),w(2),m(),f(3,"p"),w(4),m(),f(5,"p"),w(6),m(),f(7,"p"),w(8),A(9,"img",0),m(),f(10,"p"),w(11),A(12,"img",1),m(),f(13,"p"),w(14),f(15,"a",2),w(16),m()()()),2&i&&(d(2),we("TOKEN: ",o.token,""),d(2),la("",o.$t("_devBranch"),": ",o.config.branch,""),d(2),la("",o.$t("_prevDevTime"),": ",o.date,""),d(2),we("",o.$t("_curVer"),": "),d(),h("src",o.currentVersionSrc,It),d(2),we(" ",o.$t("_newVer"),": "),d(3),we(" ",o.$t("_updateTip")," "),d(2),D(o.$t("_clickUpdate")))}})}return t})(),FO=-Date.now();function j1(t){const n=(new Date).toString();if(!t)return n;const e=t.getAttribute("add_date");return e?new Date(1e3*Number(e)).toString():n}function P2(t){return t.textContent||""}function RO(t){return t.getAttribute("href")||""}function LO(t){return t.getAttribute("icon")||null}const kp=j1();function Cv(t){const n=[];for(let e=0;e({$implicit:t,data:n}),H2e=t=>({$implicit:t});function j2e(t,n){}function Y2e(t,n){if(1&t&&C(0,j2e,0,0,"ng-template",1),2&t){const e=g();h("ngTemplateOutlet",e.instance.template)("ngTemplateOutletContext",sl(2,B2e,e,null==e.instance.options?null:e.instance.options.nzData))}}function U2e(t,n){1&t&&A(0,"span",6)}function W2e(t,n){1&t&&A(0,"span",7)}function G2e(t,n){1&t&&A(0,"span",8)}function q2e(t,n){1&t&&A(0,"span",9)}function Q2e(t,n){if(1&t&&(Ye(0),A(1,"div",14),Ue()),2&t){const e=g(2);d(),h("innerHTML",e.instance.title,Gn)}}function K2e(t,n){if(1&t&&(Ye(0),A(1,"div",14),Ue()),2&t){const e=g(2);d(),h("innerHTML",e.instance.content,Gn)}}function $2e(t,n){}function J2e(t,n){if(1&t&&(f(0,"span",13),C(1,$2e,0,0,"ng-template",1),m()),2&t){const e=g(2);d(),h("ngTemplateOutlet",n)("ngTemplateOutletContext",mr(2,H2e,e))}}function Z2e(t,n){if(1&t&&(f(0,"div",2)(1,"div",2)(2,"div"),C(3,U2e,1,0,"span",6)(4,W2e,1,0,"span",7)(5,G2e,1,0,"span",8)(6,q2e,1,0,"span",9),f(7,"div",10),C(8,Q2e,2,1,"ng-container",11),m(),f(9,"div",12),C(10,K2e,2,1,"ng-container",11),m(),C(11,J2e,2,4,"span",13),m()()()),2&t){let e,i;const o=g();d(2),Z("ant-notification-notice-with-icon","blank"!==o.instance.type),d(),he("success"===(e=o.instance.type)?3:"info"===e?4:"warning"===e?5:"error"===e?6:-1),d(5),h("nzStringTemplateOutlet",o.instance.title),d(2),h("nzStringTemplateOutlet",o.instance.content),d(),he((i=null==o.instance.options?null:o.instance.options.nzButton)?11:-1,i)}}function X2e(t,n){if(1&t&&(Ye(0),A(1,"span",15),Ue()),2&t){const e=n.$implicit;d(),h("nzType",e)}}function ehe(t,n){if(1&t&&C(0,X2e,2,1,"ng-container",11),2&t){const e=g();h("nzStringTemplateOutlet",null==e.instance.options?null:e.instance.options.nzCloseIcon)}}function the(t,n){1&t&&A(0,"span",5)}function nhe(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","topLeft")}function ihe(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","topRight")}function ohe(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","bottomLeft")}function rhe(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","bottomRight")}function she(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","top")}function ahe(t,n){if(1&t){const e=W();f(0,"nz-notification",7),M("destroyed",function(o){return S(e),T(g().remove(o.id,o.userAction))}),m()}2&t&&h("instance",n.$implicit)("placement","bottom")}let BO=(()=>{class t extends lk{constructor(e){super(e),this.destroyed=new B}ngOnDestroy(){super.ngOnDestroy(),this.instance.onClick.complete()}onClick(e){this.instance.onClick.next(e)}close(){this.destroy(!0)}get state(){if("enter"!==this.instance.state)return this.instance.state;switch(this.placement){case"topLeft":case"bottomLeft":return"enterLeft";case"topRight":case"bottomRight":default:return"enterRight";case"top":return"enterTop";case"bottom":return"enterBottom"}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-notification"]],inputs:{instance:"instance",index:"index",placement:"placement"},outputs:{destroyed:"destroyed"},exportAs:["nzNotification"],standalone:!0,features:[mt,me],decls:7,vars:5,consts:[[1,"ant-notification-notice","ant-notification-notice-closable",3,"click","mouseenter","mouseleave","ngStyle","ngClass"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ant-notification-notice-content"],["tabindex","0",1,"ant-notification-notice-close",3,"click"],[1,"ant-notification-notice-close-x"],["nz-icon","","nzType","close",1,"ant-notification-close-icon"],["nz-icon","","nzType","check-circle",1,"ant-notification-notice-icon","ant-notification-notice-icon-success"],["nz-icon","","nzType","info-circle",1,"ant-notification-notice-icon","ant-notification-notice-icon-info"],["nz-icon","","nzType","exclamation-circle",1,"ant-notification-notice-icon","ant-notification-notice-icon-warning"],["nz-icon","","nzType","close-circle",1,"ant-notification-notice-icon","ant-notification-notice-icon-error"],[1,"ant-notification-notice-message"],[4,"nzStringTemplateOutlet"],[1,"ant-notification-notice-description"],[1,"ant-notification-notice-btn"],[3,"innerHTML"],["nz-icon","",3,"nzType"]],template:function(i,o){1&i&&(f(0,"div",0),M("@notificationMotion.done",function(s){return o.animationStateChanged.next(s)})("click",function(s){return o.onClick(s)})("mouseenter",function(){return o.onEnter()})("mouseleave",function(){return o.onLeave()}),C(1,Y2e,1,5,null,1)(2,Z2e,12,6,"div",2),f(3,"a",3),M("click",function(){return o.close()}),f(4,"span",4),C(5,ehe,1,1,"ng-container")(6,the,1,0,"span",5),m()()()),2&i&&(h("ngStyle",(null==o.instance.options?null:o.instance.options.nzStyle)||null)("ngClass",(null==o.instance.options?null:o.instance.options.nzClass)||"")("@notificationMotion",o.state),d(),he(o.instance.template?1:2),d(4),he(null!=o.instance.options&&o.instance.options.nzCloseIcon?5:6))},dependencies:[ti,Jo,In,ln,Sn,An,Nn],encapsulation:2,data:{animation:[qne]}})}return t})();const Ip="notification",lhe={nzTop:"24px",nzBottom:"24px",nzPlacement:"topRight",nzDuration:4500,nzMaxStack:8,nzPauseOnHover:!0,nzAnimate:!0,nzDirection:"ltr"};let HO=(()=>{class t extends ak{constructor(e,i){super(e,i),this.dir="ltr",this.instances=[],this.topLeftInstances=[],this.topRightInstances=[],this.bottomLeftInstances=[],this.bottomRightInstances=[],this.topInstances=[],this.bottomInstances=[];const o=this.nzConfigService.getConfigForComponent(Ip);this.dir=o?.nzDirection||"ltr"}create(e){const i=this.onCreate(e),o=i.options.nzKey,r=this.instances.find(s=>s.options.nzKey===e.options.nzKey);return o&&r?this.replaceNotification(r,i):(this.instances.length>=this.config.nzMaxStack&&(this.instances=this.instances.slice(1)),this.instances=[...this.instances,i]),this.readyInstances(),i}onCreate(e){return e.options=this.mergeOptions(e.options),e.onClose=new V,e.onClick=new V,e}subscribeConfigChange(){this.nzConfigService.getConfigChangeEventForComponent(Ip).pipe(P(this.destroy$)).subscribe(()=>{this.updateConfig();const e=this.nzConfigService.getConfigForComponent(Ip);if(e){const{nzDirection:i}=e;this.dir=i||this.dir}})}updateConfig(){this.config={...lhe,...this.config,...this.nzConfigService.getConfigForComponent(Ip)},this.top=M1(this.config.nzTop),this.bottom=M1(this.config.nzBottom),this.cdr.markForCheck()}replaceNotification(e,i){e.title=i.title,e.content=i.content,e.template=i.template,e.type=i.type,e.options=i.options}readyInstances(){const e={topLeft:[],topRight:[],bottomLeft:[],bottomRight:[],top:[],bottom:[]};this.instances.forEach(i=>{switch(i.options.nzPlacement){case"topLeft":e.topLeft.unshift(i);break;case"topRight":default:e.topRight.unshift(i);break;case"bottomLeft":e.bottomLeft.unshift(i);break;case"bottomRight":e.bottomRight.unshift(i);break;case"top":e.top.unshift(i);break;case"bottom":e.bottom.unshift(i)}}),this.topLeftInstances=e.topLeft,this.topRightInstances=e.topRight,this.bottomLeftInstances=e.bottomLeft,this.bottomRightInstances=e.bottomRight,this.topInstances=e.top,this.bottomInstances=e.bottom,this.cdr.detectChanges()}mergeOptions(e){const{nzDuration:i,nzAnimate:o,nzPauseOnHover:r,nzPlacement:s}=this.config;return{nzDuration:i,nzAnimate:o,nzPauseOnHover:r,nzPlacement:s,...e}}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(si))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-notification-container"]],exportAs:["nzNotificationContainer"],standalone:!0,features:[mt,me],decls:18,vars:40,consts:[[1,"ant-notification","ant-notification-topLeft"],[3,"instance","placement"],[1,"ant-notification","ant-notification-topRight"],[1,"ant-notification","ant-notification-bottomLeft"],[1,"ant-notification","ant-notification-bottomRight"],[1,"ant-notification","ant-notification-top"],[1,"ant-notification","ant-notification-bottom"],[3,"destroyed","instance","placement"]],template:function(i,o){1&i&&(f(0,"div",0),ji(1,nhe,1,2,"nz-notification",1,fr),m(),f(3,"div",2),ji(4,ihe,1,2,"nz-notification",1,fr),m(),f(6,"div",3),ji(7,ohe,1,2,"nz-notification",1,fr),m(),f(9,"div",4),ji(10,rhe,1,2,"nz-notification",1,fr),m(),f(12,"div",5),ji(13,she,1,2,"nz-notification",1,fr),m(),f(15,"div",6),ji(16,ahe,1,2,"nz-notification",1,fr),m()),2&i&&(Lt("top",o.top)("left","0px"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.topLeftInstances),d(2),Lt("top",o.top)("right","0px"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.topRightInstances),d(2),Lt("bottom",o.bottom)("left","0px"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.bottomLeftInstances),d(2),Lt("bottom",o.bottom)("right","0px"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.bottomRightInstances),d(2),Lt("top",o.top)("left","50%")("transform","translateX(-50%)"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.topInstances),d(2),Lt("bottom",o.bottom)("left","50%")("transform","translateX(-50%)"),Z("ant-notification-rtl","rtl"===o.dir),d(),Yi(o.bottomInstances))},dependencies:[BO],encapsulation:2,changeDetection:0})}return t})(),che=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[BO,HO]})}return t})(),dhe=0,Op=(()=>{class t extends sk{constructor(e,i,o){super(e,i,o),this.componentPrefix="notification-"}success(e,i,o){return this.create("success",e,i,o)}error(e,i,o){return this.create("error",e,i,o)}info(e,i,o){return this.create("info",e,i,o)}warning(e,i,o){return this.create("warning",e,i,o)}blank(e,i,o){return this.create("blank",e,i,o)}create(e,i,o,r){return this.createInstance({type:e,title:i,content:o},r)}template(e,i){return this.createInstance({template:e},i)}generateMessageId(){return`${this.componentPrefix}-${dhe++}`}createInstance(e,i){return this.container=this.withContainer(HO),this.container.create({...e,createdAt:new Date,messageId:i?.nzKey||this.generateMessageId(),options:i})}static#e=this.\u0275fac=function(i){return new(i||t)(R(cE),R(ya),R(tn))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),uhe=(()=>{class t{constructor(e,i){this.message=e,this.notification=i,this.$t=be,this.websiteList=yn}ngOnInit(){}onBookChange(e){const i=this,{files:o}=e.target;if(o.length<=0)return;const r=o[0],s=new FileReader;s.readAsText(r),s.onload=function(){const l=function L2e(t){const n=JSON.parse(JSON.stringify(yn)),e=[],i=document.createElement("div");i.innerHTML=t;const o=i.querySelector("dl dl");if(!o)return{message:"\u672a\u627e\u5230dl dl\u8282\u70b9"};let r=0,s=0,a=0;try{for(let u=0;u0&&(s++,e[r-1].nav.push({createdAt:kp,title:be("_uncategorized"),nav:[{title:be("_uncategorized"),nav:E}]}));for(let x=0;x0&&(a++,e[r-1].nav[s-1].nav.push({createdAt:kp,title:be("_uncategorized"),nav:dt}));for(let Ht=0;Ht0&&e.push({title:be("_uncategorized"),createdAt:kp,nav:[{createdAt:kp,title:be("_uncategorized"),nav:[{title:be("_uncategorized"),nav:c}]}]})}catch(c){return console.log(c),c}return function l(c,u){for(let p=0;p(z.title||z.name)===_);-1!==y?Array.isArray(b.nav)&&l(b.nav,u[y].nav):u.push(b)}}(e,n),n}(this.result);Array.isArray(l)?(i.message.success(be("_importSuccess")),i.websiteList=l,Un(i.websiteList),setTimeout(()=>window.location.reload(),2e3)):i.notification.error(be("_errorBookTip"),`${l?.message??""}`)}}static#e=this.\u0275fac=function(i){return new(i||t)(v(er),v(Op))};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-bookmark"]],decls:7,vars:2,consts:[[1,"book-wrapper"],[3,"innerHTML"],["id","file"],["src","assets/img/bookmark.svg","draggable","false",1,"logo"],[2,"white-space","nowrap","margin-top","5px"],["type","file","name","file","accept","text/html",3,"change"]],template:function(i,o){1&i&&(f(0,"div",0),A(1,"div",1),f(2,"label",2),A(3,"img",3),f(4,"p",4),w(5),m(),f(6,"input",5),M("change",function(s){return o.onBookChange(s)}),m()()()),2&i&&(d(),h("innerHTML",o.$t("_bookImportTip"),Gn),d(4),D(o.$t("_importChrome")))},styles:[".book-wrapper[_ngcontent-%COMP%]{text-align:center}.book-wrapper[_ngcontent-%COMP%] input[type=file][_ngcontent-%COMP%]{display:none}.book-wrapper[_ngcontent-%COMP%] #file[_ngcontent-%COMP%]{cursor:pointer}"]})}return t})(),hhe=(()=>{class t{constructor(){this.$t=be}ngOnInit(){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-about"]],decls:11,vars:0,consts:[["href","https://github.com/xjh22222228/nav","target","_blank"],["src","https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/img/32.png","width","600"]],template:function(i,o){1&i&&(f(0,"p")(1,"a",0),w(2,"\u5f00\u6e90\u9879\u76ee"),m(),w(3,"\uff0c\u672a\u7ecf\u4f5c\u8005\u540c\u610f\uff0c\u4e0d\u5f97\u4ee5\u6284\u88ad/\u590d\u5236\u4ee3\u7801/\u4fee\u6539\u6e90\u4ee3\u7801\u7248\u6743\u4fe1\u606f\uff0c\u5141\u8bb8\u5546\u4e1a\u9014\u5f84\u3002\n"),m(),f(4,"p"),w(5,"\u5982\u679c\u8fd9\u4e2a\u9879\u76ee\u80fd\u5e2e\u5230\u60a8\uff0c\u652f\u6301\u4e00\u4e0b\u4f5c\u8005\uff01\u6211\u4f1a\u52aa\u529b\u7ef4\u62a4\uff01"),m(),f(6,"p"),w(7,"\u8054\u7cfb\u65b9\u5f0f: xjh22222228@gmail.com"),m(),f(8,"p"),w(9,"\u5728\u4f7f\u7528\u8fc7\u7a0b\u9047\u5230\u4efb\u4f55\u95ee\u9898\u53ef\u53d1\u9001\u90ae\u4ef6\u5bfb\u6c42\u5e2e\u52a9"),m(),A(10,"img",1))}})}return t})();const jO=["*"],phe=["inputElement"],fhe=["nz-checkbox",""],mhe=(t,n)=>n.value;function ghe(t,n){if(1&t){const e=W();f(0,"label",1),M("nzCheckedChange",function(o){const r=S(e).$implicit;return T(g().onCheckedChange(r,o))}),f(1,"span"),w(2),m()()}if(2&t){const e=n.$implicit,i=g();h("nzDisabled",e.disabled||i.nzDisabled)("nzChecked",e.checked),d(2),D(e.label)}}let vhe=(()=>{class t{constructor(){this.nzOnChange=new B,this.checkboxList=[]}addCheckbox(e){this.checkboxList.push(e)}removeCheckbox(e){this.checkboxList.splice(this.checkboxList.indexOf(e),1)}onChange(){const e=this.checkboxList.filter(i=>i.nzChecked).map(i=>i.nzValue);this.nzOnChange.emit(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-checkbox-wrapper"]],hostAttrs:[1,"ant-checkbox-group"],outputs:{nzOnChange:"nzOnChange"},exportAs:["nzCheckboxWrapper"],standalone:!0,features:[me],ngContentSelectors:jO,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})(),Rl=(()=>{class t{innerCheckedChange(e){this.nzDisabled||(this.nzChecked=e,this.onChange(this.nzChecked),this.nzCheckedChange.emit(this.nzChecked),this.nzCheckboxWrapperComponent&&this.nzCheckboxWrapperComponent.onChange())}writeValue(e){this.nzChecked=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}focus(){this.focusMonitor.focusVia(this.inputElement,"keyboard")}blur(){this.inputElement.nativeElement.blur()}constructor(e,i,o,r,s,a,l){this.ngZone=e,this.elementRef=i,this.nzCheckboxWrapperComponent=o,this.cdr=r,this.focusMonitor=s,this.directionality=a,this.nzFormStatusService=l,this.dir="ltr",this.destroy$=new V,this.isNzDisableFirstChange=!0,this.onChange=()=>{},this.onTouched=()=>{},this.nzCheckedChange=new B,this.nzValue=null,this.nzAutoFocus=!1,this.nzDisabled=!1,this.nzIndeterminate=!1,this.nzChecked=!1,this.nzId=null}ngOnInit(){this.focusMonitor.monitor(this.elementRef,!0).pipe(P(this.destroy$)).subscribe(e=>{e||Promise.resolve().then(()=>this.onTouched())}),this.nzCheckboxWrapperComponent&&this.nzCheckboxWrapperComponent.addCheckbox(this),this.directionality.change.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value,this.ngZone.runOutsideAngular(()=>{nn(this.elementRef.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>{e.preventDefault(),this.focus(),!this.nzDisabled&&this.ngZone.run(()=>{this.innerCheckedChange(!this.nzChecked),this.cdr.markForCheck()})}),nn(this.inputElement.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>e.stopPropagation())})}ngAfterViewInit(){this.nzAutoFocus&&this.focus()}ngOnDestroy(){this.focusMonitor.stopMonitoring(this.elementRef),this.nzCheckboxWrapperComponent&&this.nzCheckboxWrapperComponent.removeCheckbox(this),this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se),v(vhe,8),v(We),v(wa),v(Ct,8),v(xl,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-checkbox",""]],viewQuery:function(i,o){if(1&i&&ft(phe,7),2&i){let r;ke(r=Ie())&&(o.inputElement=r.first)}},hostAttrs:[1,"ant-checkbox-wrapper"],hostVars:6,hostBindings:function(i,o){2&i&&Z("ant-checkbox-wrapper-in-form-item",!!o.nzFormStatusService)("ant-checkbox-wrapper-checked",o.nzChecked)("ant-checkbox-rtl","rtl"===o.dir)},inputs:{nzValue:"nzValue",nzAutoFocus:[2,"nzAutoFocus","nzAutoFocus",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzIndeterminate:[2,"nzIndeterminate","nzIndeterminate",I],nzChecked:[2,"nzChecked","nzChecked",I],nzId:"nzId"},outputs:{nzCheckedChange:"nzCheckedChange"},exportAs:["nzCheckbox"],standalone:!0,features:[et([{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,me],attrs:fhe,ngContentSelectors:jO,decls:6,vars:11,consts:[["inputElement",""],[1,"ant-checkbox"],["type","checkbox",1,"ant-checkbox-input",3,"ngModelChange","checked","ngModel","disabled"],[1,"ant-checkbox-inner"]],template:function(i,o){if(1&i){const r=W();Et(),f(0,"span",1)(1,"input",2,0),M("ngModelChange",function(a){return S(r),T(o.innerCheckedChange(a))}),m(),A(3,"span",3),m(),f(4,"span"),_t(5),m()}2&i&&(Z("ant-checkbox-checked",o.nzChecked&&!o.nzIndeterminate)("ant-checkbox-disabled",o.nzDisabled)("ant-checkbox-indeterminate",o.nzIndeterminate),d(),h("checked",o.nzChecked)("ngModel",o.nzChecked)("disabled",o.nzDisabled),Ot("autofocus",o.nzAutoFocus?"autofocus":null)("id",o.nzId))},dependencies:[Pl,G7,Zi,Xi],encapsulation:2,changeDetection:0})}return t})(),bhe=(()=>{class t{onCheckedChange(e,i){e.checked=i,this.onChange(this.options)}constructor(e,i,o,r){this.elementRef=e,this.focusMonitor=i,this.cdr=o,this.directionality=r,this.onChange=()=>{},this.onTouched=()=>{},this.options=[],this.nzDisabled=!1,this.dir="ltr",this.destroy$=new V,this.isNzDisableFirstChange=!0}ngOnInit(){this.focusMonitor.monitor(this.elementRef,!0).pipe(P(this.destroy$)).subscribe(e=>{e||Promise.resolve().then(()=>this.onTouched())}),this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnDestroy(){this.focusMonitor.stopMonitoring(this.elementRef),this.destroy$.next(),this.destroy$.complete()}writeValue(e){this.options=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(wa),v(We),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-checkbox-group"]],hostAttrs:[1,"ant-checkbox-group"],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-checkbox-group-rtl","rtl"===o.dir)},inputs:{nzDisabled:[2,"nzDisabled","nzDisabled",I]},exportAs:["nzCheckboxGroup"],standalone:!0,features:[et([{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,me],decls:2,vars:0,consts:[["nz-checkbox","",1,"ant-checkbox-group-item",3,"nzDisabled","nzChecked"],["nz-checkbox","",1,"ant-checkbox-group-item",3,"nzCheckedChange","nzDisabled","nzChecked"]],template:function(i,o){1&i&&ji(0,ghe,3,3,"label",0,mhe),2&i&&Yi(o.options)},dependencies:[Rl],encapsulation:2})}return t})(),Pp=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Rl,bhe]})}return t})();const YO=["*"],_he=["inputElement"],yhe=["nz-radio",""];let zv=(()=>{class t{constructor(){this.selected$=new fi(1),this.touched$=new V,this.disabled$=new fi(1),this.name$=new fi(1)}touch(){this.touched$.next()}select(e){this.selected$.next(e)}setDisabled(e){this.disabled$.next(e)}setName(e){this.name$.next(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),whe=(()=>{class t{constructor(e,i,o){this.cdr=e,this.nzRadioService=i,this.directionality=o,this.value=null,this.destroy$=new V,this.isNzDisableFirstChange=!0,this.onChange=()=>{},this.onTouched=()=>{},this.nzDisabled=!1,this.nzButtonStyle="outline",this.nzSize="default",this.nzName=null,this.dir="ltr"}ngOnInit(){this.nzRadioService.selected$.pipe(P(this.destroy$)).subscribe(e=>{this.value!==e&&(this.value=e,this.onChange(this.value))}),this.nzRadioService.touched$.pipe(P(this.destroy$)).subscribe(()=>{Promise.resolve().then(()=>this.onTouched())}),this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnChanges(e){const{nzDisabled:i,nzName:o}=e;i&&this.nzRadioService.setDisabled(this.nzDisabled),o&&this.nzRadioService.setName(this.nzName)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}writeValue(e){this.value=e,this.nzRadioService.select(e),this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.nzRadioService.setDisabled(this.nzDisabled),this.cdr.markForCheck()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(zv),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-radio-group"]],hostAttrs:[1,"ant-radio-group"],hostVars:8,hostBindings:function(i,o){2&i&&Z("ant-radio-group-large","large"===o.nzSize)("ant-radio-group-small","small"===o.nzSize)("ant-radio-group-solid","solid"===o.nzButtonStyle)("ant-radio-group-rtl","rtl"===o.dir)},inputs:{nzDisabled:[2,"nzDisabled","nzDisabled",I],nzButtonStyle:"nzButtonStyle",nzSize:"nzSize",nzName:"nzName"},exportAs:["nzRadioGroup"],standalone:!0,features:[et([zv,{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,xe,me],ngContentSelectors:YO,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})(),UO=(()=>{class t{focus(){this.focusMonitor.focusVia(this.inputElement,"keyboard")}blur(){this.inputElement.nativeElement.blur()}constructor(e,i,o,r,s,a,l){this.ngZone=e,this.elementRef=i,this.cdr=o,this.focusMonitor=r,this.directionality=s,this.nzRadioService=a,this.nzFormStatusService=l,this.isNgModel=!1,this.destroy$=new V,this.isNzDisableFirstChange=!0,this.isChecked=!1,this.name=null,this.onChange=()=>{},this.onTouched=()=>{},this.nzValue=null,this.nzDisabled=!1,this.nzAutoFocus=!1,this.isRadioButton=!1,this.dir="ltr"}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}writeValue(e){this.isChecked=e,this.cdr.markForCheck()}registerOnChange(e){this.isNgModel=!0,this.onChange=e}registerOnTouched(e){this.onTouched=e}ngOnInit(){this.nzRadioService&&(this.nzRadioService.name$.pipe(P(this.destroy$)).subscribe(e=>{this.name=e,this.cdr.markForCheck()}),this.nzRadioService.disabled$.pipe(P(this.destroy$)).subscribe(e=>{this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}),this.nzRadioService.selected$.pipe(P(this.destroy$)).subscribe(e=>{const i=this.isChecked;this.isChecked=this.nzValue===e,this.isNgModel&&i!==this.isChecked&&!1===this.isChecked&&this.onChange(!1),this.cdr.markForCheck()})),this.focusMonitor.monitor(this.elementRef,!0).pipe(P(this.destroy$)).subscribe(e=>{e||(Promise.resolve().then(()=>this.onTouched()),this.nzRadioService&&this.nzRadioService.touch())}),this.directionality.change.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value,this.setupClickListener()}ngAfterViewInit(){this.nzAutoFocus&&this.focus()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.focusMonitor.stopMonitoring(this.elementRef)}setupClickListener(){this.ngZone.runOutsideAngular(()=>{nn(this.elementRef.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>{e.stopPropagation(),e.preventDefault(),!this.nzDisabled&&!this.isChecked&&this.ngZone.run(()=>{this.focus(),this.nzRadioService?.select(this.nzValue),this.isNgModel&&(this.isChecked=!0,this.onChange(!0)),this.cdr.markForCheck()})})})}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se),v(We),v(wa),v(Ct,8),v(zv,8),v(xl,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-radio",""],["","nz-radio-button",""]],viewQuery:function(i,o){if(1&i&&ft(_he,7),2&i){let r;ke(r=Ie())&&(o.inputElement=r.first)}},hostVars:18,hostBindings:function(i,o){2&i&&Z("ant-radio-wrapper-in-form-item",!!o.nzFormStatusService)("ant-radio-wrapper",!o.isRadioButton)("ant-radio-button-wrapper",o.isRadioButton)("ant-radio-wrapper-checked",o.isChecked&&!o.isRadioButton)("ant-radio-button-wrapper-checked",o.isChecked&&o.isRadioButton)("ant-radio-wrapper-disabled",o.nzDisabled&&!o.isRadioButton)("ant-radio-button-wrapper-disabled",o.nzDisabled&&o.isRadioButton)("ant-radio-wrapper-rtl",!o.isRadioButton&&"rtl"===o.dir)("ant-radio-button-wrapper-rtl",o.isRadioButton&&"rtl"===o.dir)},inputs:{nzValue:"nzValue",nzDisabled:[2,"nzDisabled","nzDisabled",I],nzAutoFocus:[2,"nzAutoFocus","nzAutoFocus",I],isRadioButton:[2,"nz-radio-button","isRadioButton",I]},exportAs:["nzRadio"],standalone:!0,features:[et([{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,me],attrs:yhe,ngContentSelectors:YO,decls:6,vars:24,consts:[["inputElement",""],["type","radio",3,"disabled","checked"]],template:function(i,o){1&i&&(Et(),f(0,"span"),A(1,"input",1,0)(3,"span"),m(),f(4,"span"),_t(5),m()),2&i&&(Z("ant-radio",!o.isRadioButton)("ant-radio-checked",o.isChecked&&!o.isRadioButton)("ant-radio-disabled",o.nzDisabled&&!o.isRadioButton)("ant-radio-button",o.isRadioButton)("ant-radio-button-checked",o.isChecked&&o.isRadioButton)("ant-radio-button-disabled",o.nzDisabled&&o.isRadioButton),d(),Z("ant-radio-input",!o.isRadioButton)("ant-radio-button-input",o.isRadioButton),h("disabled",o.nzDisabled)("checked",o.isChecked),Ot("autofocus",o.nzAutoFocus?"autofocus":null)("name",o.name),d(2),Z("ant-radio-inner",!o.isRadioButton)("ant-radio-button-inner",o.isRadioButton))},encapsulation:2,changeDetection:0})}return t})(),Che=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})(),zhe=(()=>{class t{create(e){return typeof ResizeObserver>"u"?null:new ResizeObserver(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Av=(()=>{class t{constructor(e){this.nzResizeObserverFactory=e,this.observedElements=new Map}ngOnDestroy(){this.observedElements.forEach((e,i)=>this.cleanupObserver(i))}observe(e){const i=Vi(e);return new Wt(o=>{const s=this.observeElement(i).subscribe(o);return()=>{s.unsubscribe(),this.unobserveElement(i)}})}observeElement(e){if(this.observedElements.has(e))this.observedElements.get(e).count++;else{const i=new V,o=this.nzResizeObserverFactory.create(r=>i.next(r));o&&o.observe(e),this.observedElements.set(e,{observer:o,stream:i,count:1})}return this.observedElements.get(e).stream}unobserveElement(e){this.observedElements.has(e)&&(this.observedElements.get(e).count--,this.observedElements.get(e).count||this.cleanupObserver(e))}cleanupObserver(e){if(this.observedElements.has(e)){const{observer:i,stream:o}=this.observedElements.get(e);i&&i.disconnect(),o.complete(),this.observedElements.delete(e)}}static#e=this.\u0275fac=function(i){return new(i||t)(R(zhe))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const Ahe=["nz-pagination-item",""],She=(t,n)=>({$implicit:t,page:n});function The(t,n){if(1&t&&(f(0,"a"),w(1),m()),2&t){const e=g().page;d(),D(e)}}function Mhe(t,n){1&t&&A(0,"span",4)}function Dhe(t,n){1&t&&A(0,"span",5)}function Ehe(t,n){if(1&t&&(f(0,"button",2),C(1,Mhe,1,0,"span",4)(2,Dhe,1,0,"span",5),m()),2&t){const e=g(2);h("disabled",e.disabled),Ot("title",e.locale.prev_page),d(),he("rtl"===e.direction?1:2)}}function xhe(t,n){1&t&&A(0,"span",5)}function khe(t,n){1&t&&A(0,"span",4)}function Ihe(t,n){if(1&t&&(f(0,"button",2),C(1,xhe,1,0,"span",5)(2,khe,1,0,"span",4),m()),2&t){const e=g(2);h("disabled",e.disabled),Ot("title",e.locale.next_page),d(),he("rtl"===e.direction?1:2)}}function Ohe(t,n){1&t&&A(0,"span",8)}function Phe(t,n){1&t&&A(0,"span",9)}function Vhe(t,n){1&t&&C(0,Ohe,1,0,"span",8)(1,Phe,1,0,"span",9),2&t&&he("rtl"===g(3).direction?0:1)}function Nhe(t,n){1&t&&A(0,"span",9)}function Fhe(t,n){1&t&&A(0,"span",8)}function Rhe(t,n){1&t&&C(0,Nhe,1,0,"span",9)(1,Fhe,1,0,"span",8),2&t&&he("rtl"===g(3).direction?0:1)}function Lhe(t,n){if(1&t&&(f(0,"a",3)(1,"div",6),C(2,Vhe,2,1)(3,Rhe,2,1),f(4,"span",7),w(5,"\u2022\u2022\u2022"),m()()()),2&t){let e;const i=g().$implicit;d(2),he("prev_5"===(e=i)?2:"next_5"===e?3:-1)}}function Bhe(t,n){if(1&t&&C(0,The,2,1,"a")(1,Ehe,3,3,"button",2)(2,Ihe,3,3,"button",2)(3,Lhe,6,1,"a",3),2&t){let e;he("page"===(e=n.$implicit)?0:"prev"===e?1:"next"===e?2:3)}}function Hhe(t,n){}const jhe=["nz-pagination-options",""],Yhe=(t,n)=>n.value;function Uhe(t,n){if(1&t&&A(0,"nz-option",3),2&t){const e=n.$implicit;h("nzLabel",e.label)("nzValue",e.value)}}function Whe(t,n){if(1&t){const e=W();f(0,"nz-select",2),M("ngModelChange",function(o){return S(e),T(g().onPageSizeChange(o))}),ji(1,Uhe,1,2,"nz-option",3,Yhe),m()}if(2&t){const e=g();h("nzDisabled",e.disabled)("nzSize",e.nzSize)("ngModel",e.pageSize),d(),Yi(e.listOfPageSizeOption)}}function Ghe(t,n){if(1&t){const e=W();f(0,"div",1),w(1),f(2,"input",4),M("keydown.enter",function(o){return S(e),T(g().jumpToPageViaInput(o))}),m(),w(3),m()}if(2&t){const e=g();d(),we(" ",e.locale.jump_to," "),d(),h("disabled",e.disabled),d(),we(" ",e.locale.page," ")}}const WO=["containerTemplate"];function qhe(t,n){return this.trackByPageItem}const Qhe=(t,n)=>({$implicit:t,range:n});function Khe(t,n){}function $he(t,n){if(1&t&&(f(0,"li",1),C(1,Khe,0,0,"ng-template",4),m()),2&t){const e=g(2);d(),h("ngTemplateOutlet",e.showTotal)("ngTemplateOutletContext",sl(2,Qhe,e.total,e.ranges))}}function Jhe(t,n){if(1&t){const e=W();f(0,"li",5),M("gotoIndex",function(o){return S(e),T(g(2).jumpPage(o))})("diffIndex",function(o){return S(e),T(g(2).jumpDiff(o))}),m()}if(2&t){const e=n.$implicit,i=g(2);h("locale",i.locale)("type",e.type)("index",e.index)("disabled",!!e.disabled)("itemRender",i.itemRender)("active",i.pageIndex===e.index)("direction",i.dir)}}function Zhe(t,n){if(1&t){const e=W();f(0,"li",6),M("pageIndexChange",function(o){return S(e),T(g(2).onPageIndexChange(o))})("pageSizeChange",function(o){return S(e),T(g(2).onPageSizeChange(o))}),m()}if(2&t){const e=g(2);h("total",e.total)("locale",e.locale)("disabled",e.disabled)("nzSize",e.nzSize)("showSizeChanger",e.showSizeChanger)("showQuickJumper",e.showQuickJumper)("pageIndex",e.pageIndex)("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)}}function Xhe(t,n){if(1&t&&(f(0,"ul"),C(1,$he,2,5,"li",1),ji(2,Jhe,1,7,"li",2,qhe,!0),C(4,Zhe,1,9,"li",3),m()),2&t){const e=g();d(),he(e.showTotal?1:-1),d(),Yi(e.listOfPageItem),d(2),he(e.showQuickJumper||e.showSizeChanger?4:-1)}}function e0e(t,n){if(1&t){const e=W();f(0,"ul")(1,"li",1),M("click",function(){return S(e),T(g().prePage())}),m(),f(2,"li",2)(3,"input",3),M("keydown.enter",function(o){return S(e),T(g().jumpToPageViaInput(o))}),m(),f(4,"span",4),w(5,"/"),m(),w(6),m(),f(7,"li",5),M("click",function(){return S(e),T(g().nextPage())}),m()()}if(2&t){const e=g();d(),h("locale",e.locale)("disabled",e.isFirstIndex)("direction",e.dir)("itemRender",e.itemRender),Ot("title",e.locale.prev_page),d(),Ot("title",e.pageIndex+"/"+e.lastIndex),d(),h("disabled",e.disabled)("value",e.pageIndex),d(3),we(" ",e.lastIndex," "),d(),h("locale",e.locale)("disabled",e.isLastIndex)("direction",e.dir)("itemRender",e.itemRender),Ot("title",null==e.locale?null:e.locale.next_page)}}function t0e(t,n){}function n0e(t,n){1&t&&C(0,t0e,0,0,"ng-template",4),2&t&&(g(2),h("ngTemplateOutlet",Be(2).template))}function i0e(t,n){}function o0e(t,n){1&t&&C(0,i0e,0,0,"ng-template",4),2&t&&(g(2),h("ngTemplateOutlet",Be(4).template))}function r0e(t,n){1&t&&C(0,n0e,1,1,null,4)(1,o0e,1,1,null,4),2&t&&he(g().nzSimple?0:1)}let Sv=(()=>{class t{constructor(){this.active=!1,this.index=null,this.disabled=!1,this.direction="ltr",this.type=null,this.itemRender=null,this.diffIndex=new B,this.gotoIndex=new B,this.title=null}clickItem(){this.disabled||("page"===this.type?this.gotoIndex.emit(this.index):this.diffIndex.emit({next:1,prev:-1,prev_5:-5,next_5:5}[this.type]))}ngOnChanges(e){const{locale:i,index:o,type:r}=e;(i||o||r)&&(this.title={page:`${this.index}`,next:this.locale?.next_page,prev:this.locale?.prev_page,prev_5:this.locale?.prev_5,next_5:this.locale?.next_5}[this.type])}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["li","nz-pagination-item",""]],hostVars:19,hostBindings:function(i,o){1&i&&M("click",function(){return o.clickItem()}),2&i&&(Ot("title",o.title),Z("ant-pagination-prev","prev"===o.type)("ant-pagination-next","next"===o.type)("ant-pagination-item","page"===o.type)("ant-pagination-jump-prev","prev_5"===o.type)("ant-pagination-jump-prev-custom-icon","prev_5"===o.type)("ant-pagination-jump-next","next_5"===o.type)("ant-pagination-jump-next-custom-icon","next_5"===o.type)("ant-pagination-disabled",o.disabled)("ant-pagination-item-active",o.active))},inputs:{active:"active",locale:"locale",index:"index",disabled:"disabled",direction:"direction",type:"type",itemRender:"itemRender"},outputs:{diffIndex:"diffIndex",gotoIndex:"gotoIndex"},standalone:!0,features:[xe,me],attrs:Ahe,decls:3,vars:5,consts:[["renderItemTemplate",""],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["type","button",1,"ant-pagination-item-link",3,"disabled"],[1,"ant-pagination-item-link"],["nz-icon","","nzType","right"],["nz-icon","","nzType","left"],[1,"ant-pagination-item-container"],[1,"ant-pagination-item-ellipsis"],["nz-icon","","nzType","double-right",1,"ant-pagination-item-link-icon"],["nz-icon","","nzType","double-left",1,"ant-pagination-item-link-icon"]],template:function(i,o){if(1&i&&C(0,Bhe,4,1,"ng-template",null,0,ot)(2,Hhe,0,0,"ng-template",1),2&i){const r=Be(1);d(2),h("ngTemplateOutlet",o.itemRender||r)("ngTemplateOutletContext",sl(2,She,o.type,o.index))}},dependencies:[In,ln,Nn],encapsulation:2,changeDetection:0})}return t})(),GO=(()=>{class t{constructor(){this.nzSize="default",this.disabled=!1,this.showSizeChanger=!1,this.showQuickJumper=!1,this.total=0,this.pageIndex=1,this.pageSize=10,this.pageSizeOptions=[],this.pageIndexChange=new B,this.pageSizeChange=new B,this.listOfPageSizeOption=[]}onPageSizeChange(e){this.pageSize!==e&&this.pageSizeChange.next(e)}jumpToPageViaInput(e){const i=e.target,o=Math.floor(j5(i.value,this.pageIndex));this.pageIndexChange.next(o),i.value=""}ngOnChanges(e){const{pageSize:i,pageSizeOptions:o,locale:r}=e;(i||o||r)&&(this.listOfPageSizeOption=[...new Set([...this.pageSizeOptions,this.pageSize])].map(s=>({value:s,label:`${s} ${this.locale.items_per_page}`})))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["li","nz-pagination-options",""]],hostAttrs:[1,"ant-pagination-options"],inputs:{nzSize:"nzSize",disabled:"disabled",showSizeChanger:"showSizeChanger",showQuickJumper:"showQuickJumper",locale:"locale",total:"total",pageIndex:"pageIndex",pageSize:"pageSize",pageSizeOptions:"pageSizeOptions"},outputs:{pageIndexChange:"pageIndexChange",pageSizeChange:"pageSizeChange"},standalone:!0,features:[xe,me],attrs:jhe,decls:2,vars:2,consts:[[1,"ant-pagination-options-size-changer",3,"nzDisabled","nzSize","ngModel"],[1,"ant-pagination-options-quick-jumper"],[1,"ant-pagination-options-size-changer",3,"ngModelChange","nzDisabled","nzSize","ngModel"],[3,"nzLabel","nzValue"],[3,"keydown.enter","disabled"]],template:function(i,o){1&i&&C(0,Whe,3,3,"nz-select",0)(1,Ghe,4,3,"div",1),2&i&&(he(o.showSizeChanger?0:-1),d(),he(o.showQuickJumper?1:-1))},dependencies:[MO,Vl,Nl,Pl,Zi,Xi],encapsulation:2,changeDetection:0})}return t})(),qO=(()=>{class t{constructor(e,i,o,r){this.cdr=e,this.renderer=i,this.elementRef=o,this.directionality=r,this.nzSize="default",this.itemRender=null,this.showTotal=null,this.disabled=!1,this.showSizeChanger=!1,this.showQuickJumper=!1,this.total=0,this.pageIndex=1,this.pageSize=10,this.pageSizeOptions=[10,20,30,40],this.pageIndexChange=new B,this.pageSizeChange=new B,this.ranges=[0,0],this.listOfPageItem=[],this.dir="ltr",this.destroy$=new V,i.removeChild(i.parentNode(o.nativeElement),o.nativeElement)}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.updateRtlStyle(),this.cdr.detectChanges()}),this.dir=this.directionality.value,this.updateRtlStyle()}updateRtlStyle(){"rtl"===this.dir?this.renderer.addClass(this.elementRef.nativeElement,"ant-pagination-rtl"):this.renderer.removeClass(this.elementRef.nativeElement,"ant-pagination-rtl")}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}jumpPage(e){this.onPageIndexChange(e)}jumpDiff(e){this.jumpPage(this.pageIndex+e)}trackByPageItem(e,i){return`${i.type}-${i.index}`}onPageIndexChange(e){this.pageIndexChange.next(e)}onPageSizeChange(e){this.pageSizeChange.next(e)}getLastIndex(e,i){return Math.ceil(e/i)}buildIndexes(){const e=this.getLastIndex(this.total,this.pageSize);this.listOfPageItem=this.getListOfPageItem(this.pageIndex,e)}getListOfPageItem(e,i){const r=(s,a)=>{const l=[];for(let c=s;c<=a;c++)l.push({index:c,type:"page"});return l};return s=i<=9?r(1,i):((a,l)=>{let c=[];const u={type:"prev_5"},p={type:"next_5"},b=r(1,1),_=r(i,i);return c=a<5?[...r(2,4===a?6:5),p]:a{class t{constructor(e,i,o,r){this.cdr=e,this.renderer=i,this.elementRef=o,this.directionality=r,this.itemRender=null,this.disabled=!1,this.total=0,this.pageIndex=1,this.pageSize=10,this.pageIndexChange=new B,this.lastIndex=0,this.isFirstIndex=!1,this.isLastIndex=!1,this.dir="ltr",this.destroy$=new V,i.removeChild(i.parentNode(o.nativeElement),o.nativeElement)}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.updateRtlStyle(),this.cdr.detectChanges()}),this.dir=this.directionality.value,this.updateRtlStyle()}updateRtlStyle(){"rtl"===this.dir?this.renderer.addClass(this.elementRef.nativeElement,"ant-pagination-rtl"):this.renderer.removeClass(this.elementRef.nativeElement,"ant-pagination-rtl")}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}jumpToPageViaInput(e){const i=e.target,o=j5(i.value,this.pageIndex);this.onPageIndexChange(o),i.value=`${this.pageIndex}`}prePage(){this.onPageIndexChange(this.pageIndex-1)}nextPage(){this.onPageIndexChange(this.pageIndex+1)}onPageIndexChange(e){this.pageIndexChange.next(e)}updateBindingValue(){this.lastIndex=Math.ceil(this.total/this.pageSize),this.isFirstIndex=1===this.pageIndex,this.isLastIndex=this.pageIndex===this.lastIndex}ngOnChanges(e){const{pageIndex:i,total:o,pageSize:r}=e;(i||o||r)&&this.updateBindingValue()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Yt),v(Se),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-pagination-simple"]],viewQuery:function(i,o){if(1&i&&ft(WO,7),2&i){let r;ke(r=Ie())&&(o.template=r.first)}},inputs:{itemRender:"itemRender",disabled:"disabled",locale:"locale",total:"total",pageIndex:"pageIndex",pageSize:"pageSize"},outputs:{pageIndexChange:"pageIndexChange"},standalone:!0,features:[xe,me],decls:2,vars:0,consts:[["containerTemplate",""],["nz-pagination-item","","type","prev",3,"click","locale","disabled","direction","itemRender"],[1,"ant-pagination-simple-pager"],["size","3",3,"keydown.enter","disabled","value"],[1,"ant-pagination-slash"],["nz-pagination-item","","type","next",3,"click","locale","disabled","direction","itemRender"]],template:function(i,o){1&i&&C(0,e0e,8,14,"ng-template",null,0,ot)},dependencies:[Sv],encapsulation:2,changeDetection:0})}return t})(),KO=(()=>{class t{validatePageIndex(e,i){return e>i?i:e<1?1:e}onPageIndexChange(e){const i=this.getLastIndex(this.nzTotal,this.nzPageSize),o=this.validatePageIndex(e,i);o!==this.nzPageIndex&&!this.nzDisabled&&(this.nzPageIndex=o,this.nzPageIndexChange.emit(this.nzPageIndex))}onPageSizeChange(e){this.nzPageSize=e,this.nzPageSizeChange.emit(e);const i=this.getLastIndex(this.nzTotal,this.nzPageSize);this.nzPageIndex>i&&this.onPageIndexChange(i)}onTotalChange(e){const i=this.getLastIndex(e,this.nzPageSize);this.nzPageIndex>i&&Promise.resolve().then(()=>{this.onPageIndexChange(i),this.cdr.markForCheck()})}getLastIndex(e,i){return Math.ceil(e/i)}constructor(e,i,o,r,s){this.i18n=e,this.cdr=i,this.breakpointService=o,this.nzConfigService=r,this.directionality=s,this._nzModuleName="pagination",this.nzPageSizeChange=new B,this.nzPageIndexChange=new B,this.nzShowTotal=null,this.nzItemRender=null,this.nzSize="default",this.nzPageSizeOptions=[10,20,30,40],this.nzShowSizeChanger=!1,this.nzShowQuickJumper=!1,this.nzSimple=!1,this.nzDisabled=!1,this.nzResponsive=!1,this.nzHideOnSinglePage=!1,this.nzTotal=0,this.nzPageIndex=1,this.nzPageSize=10,this.showPagination=!0,this.size="default",this.dir="ltr",this.destroy$=new V,this.total$=new fi(1)}ngOnInit(){this.i18n.localeChange.pipe(P(this.destroy$)).subscribe(()=>{this.locale=this.i18n.getLocaleData("Pagination"),this.cdr.markForCheck()}),this.total$.pipe(P(this.destroy$)).subscribe(e=>{this.onTotalChange(e)}),this.breakpointService.subscribe(Qu).pipe(P(this.destroy$)).subscribe(e=>{this.nzResponsive&&(this.size=e===L5.xs?"small":"default",this.cdr.markForCheck())}),this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}ngOnChanges(e){const{nzHideOnSinglePage:i,nzTotal:o,nzPageSize:r,nzSize:s}=e;o&&this.total$.next(this.nzTotal),(i||o||r)&&(this.showPagination=this.nzHideOnSinglePage&&this.nzTotal>this.nzPageSize||this.nzTotal>0&&!this.nzHideOnSinglePage),s&&(this.size=s.currentValue)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Ys),v(We),v(B5),v(si),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-pagination"]],hostAttrs:[1,"ant-pagination"],hostVars:8,hostBindings:function(i,o){2&i&&Z("ant-pagination-simple",o.nzSimple)("ant-pagination-disabled",o.nzDisabled)("ant-pagination-mini",!o.nzSimple&&"small"===o.size)("ant-pagination-rtl","rtl"===o.dir)},inputs:{nzShowTotal:"nzShowTotal",nzItemRender:"nzItemRender",nzSize:"nzSize",nzPageSizeOptions:"nzPageSizeOptions",nzShowSizeChanger:[2,"nzShowSizeChanger","nzShowSizeChanger",I],nzShowQuickJumper:[2,"nzShowQuickJumper","nzShowQuickJumper",I],nzSimple:[2,"nzSimple","nzSimple",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzResponsive:[2,"nzResponsive","nzResponsive",I],nzHideOnSinglePage:[2,"nzHideOnSinglePage","nzHideOnSinglePage",I],nzTotal:[2,"nzTotal","nzTotal",Oi],nzPageIndex:[2,"nzPageIndex","nzPageIndex",Oi],nzPageSize:[2,"nzPageSize","nzPageSize",Oi]},outputs:{nzPageSizeChange:"nzPageSizeChange",nzPageIndexChange:"nzPageIndexChange"},exportAs:["nzPagination"],standalone:!0,features:[je,xe,me],decls:5,vars:18,consts:[["simplePagination",""],["defaultPagination",""],[3,"pageIndexChange","disabled","itemRender","locale","pageSize","total","pageIndex"],[3,"pageIndexChange","pageSizeChange","nzSize","itemRender","showTotal","disabled","locale","showSizeChanger","showQuickJumper","total","pageIndex","pageSize","pageSizeOptions"],[3,"ngTemplateOutlet"]],template:function(i,o){if(1&i){const r=W();C(0,r0e,2,1),f(1,"nz-pagination-simple",2,0),M("pageIndexChange",function(a){return S(r),T(o.onPageIndexChange(a))}),m(),f(3,"nz-pagination-default",3,1),M("pageIndexChange",function(a){return S(r),T(o.onPageIndexChange(a))})("pageSizeChange",function(a){return S(r),T(o.onPageSizeChange(a))}),m()}2&i&&(he(o.showPagination?0:-1),d(),h("disabled",o.nzDisabled)("itemRender",o.nzItemRender)("locale",o.locale)("pageSize",o.nzPageSize)("total",o.nzTotal)("pageIndex",o.nzPageIndex),d(2),h("nzSize",o.size)("itemRender",o.nzItemRender)("showTotal",o.nzShowTotal)("disabled",o.nzDisabled)("locale",o.locale)("showSizeChanger",o.nzShowSizeChanger)("showQuickJumper",o.nzShowQuickJumper)("total",o.nzTotal)("pageIndex",o.nzPageIndex)("pageSize",o.nzPageSize)("pageSizeOptions",o.nzPageSizeOptions))},dependencies:[Nn,QO,qO],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzSize",void 0),xt([Vt()],t.prototype,"nzPageSizeOptions",void 0),xt([Vt()],t.prototype,"nzShowSizeChanger",void 0),xt([Vt()],t.prototype,"nzShowQuickJumper",void 0),xt([Vt()],t.prototype,"nzSimple",void 0),t})(),a0e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[KO,QO,GO,Sv,qO]})}return t})();const c0e=["*"];function d0e(t,n){1&t&&(f(0,"span",3),A(1,"i",4)(2,"i",4)(3,"i",4)(4,"i",4),m())}function u0e(t,n){}function h0e(t,n){if(1&t&&(f(0,"div",8),w(1),m()),2&t){const e=g(2);d(),D(e.nzTip)}}function p0e(t,n){if(1&t&&(f(0,"div")(1,"div",5),C(2,u0e,0,0,"ng-template",6)(3,h0e,2,1,"div",7),m()()),2&t){const e=g(),i=Be(1);d(),Z("ant-spin-rtl","rtl"===e.dir)("ant-spin-spinning",e.isLoading)("ant-spin-lg","large"===e.nzSize)("ant-spin-sm","small"===e.nzSize)("ant-spin-show-text",e.nzTip),d(),h("ngTemplateOutlet",e.nzIndicator||i),d(),h("ngIf",e.nzTip)}}function f0e(t,n){1&t&&(f(0,"div",9),_t(1),m()),2&t&&Z("ant-spin-blur",g().isLoading)}let JO=(()=>{class t{constructor(e,i,o){this.nzConfigService=e,this.cdr=i,this.directionality=o,this._nzModuleName="spin",this.nzIndicator=null,this.nzSize="default",this.nzTip=null,this.nzDelay=0,this.nzSimple=!1,this.nzSpinning=!0,this.destroy$=new V,this.spinning$=new rt(this.nzSpinning),this.delay$=new fi(1),this.isLoading=!1,this.dir="ltr"}ngOnInit(){this.delay$.pipe(gn(this.nzDelay),Qi(),mn(i=>0===i?this.spinning$:this.spinning$.pipe(function l0e(t){return dn((n,e)=>{let i=!1,o=null,r=null;const s=()=>{if(r?.unsubscribe(),r=null,i){i=!1;const a=o;o=null,e.next(a)}};n.subscribe(Jt(e,a=>{r?.unsubscribe(),i=!0,o=a,r=Jt(e,s,Qs),Pi(t(a)).subscribe(r)},()=>{s(),e.complete()},void 0,()=>{o=r=null}))})}(o=>m3(o?i:0)))),P(this.destroy$)).subscribe(i=>{this.isLoading=i,this.cdr.markForCheck()}),this.nzConfigService.getConfigChangeEventForComponent("spin").pipe(P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()),this.directionality.change?.pipe(P(this.destroy$)).subscribe(i=>{this.dir=i,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnChanges(e){const{nzSpinning:i,nzDelay:o}=e;i&&this.spinning$.next(this.nzSpinning),o&&this.delay$.next(this.nzDelay)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(We),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-spin"]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-spin-nested-loading",!o.nzSimple)},inputs:{nzIndicator:"nzIndicator",nzSize:"nzSize",nzTip:"nzTip",nzDelay:[2,"nzDelay","nzDelay",Oi],nzSimple:[2,"nzSimple","nzSimple",I],nzSpinning:[2,"nzSpinning","nzSpinning",I]},exportAs:["nzSpin"],standalone:!0,features:[je,xe,me],ngContentSelectors:c0e,decls:4,vars:2,consts:[["defaultTemplate",""],[4,"ngIf"],["class","ant-spin-container",3,"ant-spin-blur",4,"ngIf"],[1,"ant-spin-dot","ant-spin-dot-spin"],[1,"ant-spin-dot-item"],[1,"ant-spin"],[3,"ngTemplateOutlet"],["class","ant-spin-text",4,"ngIf"],[1,"ant-spin-text"],[1,"ant-spin-container"]],template:function(i,o){1&i&&(Et(),C(0,d0e,5,0,"ng-template",null,0,ot)(2,p0e,4,12,"div",1)(3,f0e,2,2,"div",2)),2&i&&(d(2),h("ngIf",o.isLoading),d(),h("ngIf",!o.nzSimple))},dependencies:[St,Nn],encapsulation:2})}return xt([Vt()],t.prototype,"nzIndicator",void 0),t})(),m0e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();const Ll=["*"],g0e=(t,n)=>n.value;function v0e(t,n){}function b0e(t,n){if(1&t){const e=W();f(0,"label",14),M("ngModelChange",function(){S(e);const o=g().$implicit;return T(g(2).check(o))}),m()}2&t&&h("ngModel",g().$implicit.checked)}function _0e(t,n){if(1&t){const e=W();f(0,"label",15),M("ngModelChange",function(){S(e);const o=g().$implicit;return T(g(2).check(o))}),m()}2&t&&h("ngModel",g().$implicit.checked)}function y0e(t,n){if(1&t){const e=W();f(0,"li",11),M("click",function(){const o=S(e).$implicit;return T(g(2).check(o))}),C(1,b0e,1,1,"label",12)(2,_0e,1,1,"label",13),f(3,"span"),w(4),m()()}if(2&t){const e=n.$implicit,i=g(2);h("nzSelected",e.checked),d(),he(i.filterMultiple?2:1),d(3),D(e.text)}}function w0e(t,n){if(1&t){const e=W();f(0,"nz-filter-trigger",3),M("nzVisibleChange",function(o){return S(e),T(g().onVisibleChange(o))}),A(1,"span",4),m(),f(2,"nz-dropdown-menu",null,0)(4,"div",5)(5,"ul",6),ji(6,y0e,5,3,"li",7,g0e),m(),f(8,"div",8)(9,"button",9),M("click",function(){return S(e),T(g().reset())}),w(10),m(),f(11,"button",10),M("click",function(){return S(e),T(g().confirm())}),w(12),m()()()()}if(2&t){const e=Be(3),i=g();h("nzVisible",i.isVisible)("nzActive",i.isChecked)("nzDropdownMenu",e),d(6),Yi(i.listOfParsedFilter),d(3),h("disabled",!i.isChecked),d(),we(" ",i.locale.filterReset," "),d(2),D(i.locale.filterConfirm)}}function C0e(t,n){1&t&&P0(0,2),2&t&&h("ngTemplateOutlet",g().extraTemplate)}function z0e(t,n){if(1&t){const e=W();f(0,"label",3),M("ngModelChange",function(o){return S(e),T(g().onCheckedChange(o))}),m()}if(2&t){const e=g();Z("ant-table-selection-select-all-custom",e.showRowSelection),h("ngModel",e.checked)("nzDisabled",e.disabled)("nzIndeterminate",e.indeterminate),Ot("aria-label",e.label)}}function A0e(t,n){if(1&t){const e=W();f(0,"li",8),M("click",function(){return T(S(e).$implicit.onSelect())}),w(1),m()}if(2&t){const e=n.$implicit;d(),we(" ",e.text," ")}}function S0e(t,n){if(1&t&&(f(0,"div",2)(1,"span",4),A(2,"span",5),m(),f(3,"nz-dropdown-menu",null,0)(5,"ul",6),ji(6,A0e,2,1,"li",7,fr),m()()()),2&t){const e=Be(4),i=g();d(),h("nzDropdownMenu",e),d(5),Yi(i.listOfSelections)}}function T0e(t,n){}function M0e(t,n){1&t&&A(0,"span",6),2&t&&Z("active","ascend"===g().sortOrder)}function D0e(t,n){1&t&&A(0,"span",7),2&t&&Z("active","descend"===g().sortOrder)}const E0e=["nzChecked",""];function x0e(t,n){}function k0e(t,n){1&t&&C(0,x0e,0,0,"ng-template",2),2&t&&h("ngTemplateOutlet",g(2).nzExpandIcon)}function I0e(t,n){if(1&t){const e=W();f(0,"button",4),M("expandChange",function(o){return S(e),T(g(2).onExpandChange(o))}),m()}if(2&t){const e=g(2);h("expand",e.nzExpand)("spaceMode",!e.nzShowExpand)}}function O0e(t,n){if(1&t&&(A(0,"nz-row-indent",1),C(1,k0e,1,1,null,2)(2,I0e,1,2,"button",3)),2&t){const e=g();h("indentSize",e.nzIndentSize),d(),he(e.nzExpandIcon?1:2)}}function P0e(t,n){if(1&t){const e=W();f(0,"label",5),M("ngModelChange",function(o){return S(e),T(g().onCheckedChange(o))}),m()}if(2&t){const e=g();h("nzDisabled",e.nzDisabled)("ngModel",e.nzChecked)("nzIndeterminate",e.nzIndeterminate),Ot("aria-label",e.nzLabel)}}const V0e=["nzColumnKey",""],N0e=[[["","nz-th-extra",""]],[["nz-filter-trigger"]],"*"],F0e=["[nz-th-extra]","nz-filter-trigger","*"];function R0e(t,n){if(1&t){const e=W();f(0,"nz-table-filter",6),M("filterChange",function(o){return S(e),T(g().onFilterValueChange(o))}),m()}if(2&t){const e=g(),i=Be(3),o=Be(5);h("contentTemplate",i)("extraTemplate",o)("customFilter",e.nzCustomFilter)("filterMultiple",e.nzFilterMultiple)("listOfFilter",e.nzFilters)}}function L0e(t,n){1&t&&P0(0,5),2&t&&(g(),h("ngTemplateOutlet",Be(3)))}function B0e(t,n){}function H0e(t,n){if(1&t&&C(0,B0e,0,0,"ng-template",5),2&t){const e=g(),i=Be(7),o=Be(9);h("ngTemplateOutlet",e.nzShowSort?i:o)}}function j0e(t,n){1&t&&(_t(0),_t(1,1))}function Y0e(t,n){if(1&t&&A(0,"nz-table-sorters",7),2&t){const e=g(),i=Be(9);h("sortOrder",e.sortOrder)("sortDirections",e.sortDirections)("contentTemplate",i)}}function U0e(t,n){1&t&&_t(0,2)}const W0e=["nzSelections",""],G0e=["nz-table-content",""];function q0e(t,n){if(1&t&&A(0,"col"),2&t){const e=n.$implicit;Lt("width",e)("min-width",e)}}function Q0e(t,n){}function K0e(t,n){if(1&t&&(f(0,"thead",1),C(1,Q0e,0,0,"ng-template",2),m()),2&t){const e=g();d(),h("ngTemplateOutlet",e.theadTemplate)}}function $0e(t,n){}const ZO=["tdElement"],J0e=["nz-table-fixed-row",""],XO=["*","*"];function Z0e(t,n){1&t&&(f(0,"div",3),Fr(1,"async"),_t(2),m()),2&t&&Lt("width",Rr(1,2,g().hostWidth$),"px")}function X0e(t,n){1&t&&_t(0,1)}const e4e=["nz-table-measure-row",""];function t4e(t,n){1&t&&A(0,"td",1,0)}function n4e(t,n){if(1&t){const e=W();f(0,"tr",2),M("listOfAutoWidth",function(o){return S(e),T(g(2).onListOfAutoWidthChange(o))}),m()}2&t&&h("listOfMeasureColumn",g())}function i4e(t,n){1&t&&C(0,n4e,1,1,"tr",1),2&t&&he(g().isInsideTable&&n.length?0:-1)}function o4e(t,n){if(1&t&&(f(0,"tr",0),A(1,"nz-embed-empty",3),Fr(2,"async"),m()),2&t){const e=g();d(),h("specificContent",Rr(2,1,e.noResult$))}}const r4e=["tableHeaderElement"],s4e=["tableBodyElement"],a4e=(t,n)=>({$implicit:t,index:n});function l4e(t,n){if(1&t&&(f(0,"div",5,1),A(2,"table",7),m()),2&t){const e=g(2);h("ngStyle",e.bodyStyleMap),d(2),h("scrollX",e.scrollX)("listOfColWidth",e.listOfColWidth)("contentTemplate",e.contentTemplate)}}function c4e(t,n){}function d4e(t,n){if(1&t&&(Ye(0),C(1,c4e,0,0,"ng-template",11),Ue()),2&t){const e=n.$implicit,i=n.index,o=g(3);d(),h("ngTemplateOutlet",o.virtualTemplate)("ngTemplateOutletContext",sl(2,a4e,e,i))}}function u4e(t,n){if(1&t&&(f(0,"cdk-virtual-scroll-viewport",8,1)(2,"table",9)(3,"tbody"),C(4,d4e,2,5,"ng-container",10),m()()()),2&t){const e=g(2);Lt("height",e.data.length?e.scrollY:e.noDataVirtualHeight),h("itemSize",e.virtualItemSize)("maxBufferPx",e.virtualMaxBufferPx)("minBufferPx",e.virtualMinBufferPx),d(2),h("scrollX",e.scrollX)("listOfColWidth",e.listOfColWidth),d(2),h("cdkVirtualForOf",e.data)("cdkVirtualForTrackBy",e.virtualForTrackBy)}}function h4e(t,n){if(1&t&&(f(0,"div",3,0),A(2,"table",4),m(),C(3,l4e,3,4,"div",5)(4,u4e,5,9,"cdk-virtual-scroll-viewport",6)),2&t){const e=g();h("ngStyle",e.headerStyleMap),d(2),h("scrollX",e.scrollX)("listOfColWidth",e.listOfColWidth)("theadTemplate",e.theadTemplate),d(),he(e.virtualTemplate?4:3)}}function p4e(t,n){if(1&t&&(f(0,"div",2,1),A(2,"table",12),m()),2&t){const e=g();h("ngStyle",e.bodyStyleMap),d(2),h("scrollX",e.scrollX)("listOfColWidth",e.listOfColWidth)("theadTemplate",e.theadTemplate)("contentTemplate",e.contentTemplate)}}function f4e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.title)}}function m4e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g();d(),D(e.footer)}}function g4e(t,n){}function v4e(t,n){1&t&&C(0,g4e,0,0,"ng-template",4),2&t&&(g(),h("ngTemplateOutlet",Be(10)))}function b4e(t,n){1&t&&A(0,"nz-table-title-footer",6),2&t&&h("title",g().nzTitle)}function _4e(t,n){if(1&t&&A(0,"nz-table-inner-scroll",7),2&t){const e=g(),i=Be(3),o=Be(12);h("data",e.data)("scrollX",e.scrollX)("scrollY",e.scrollY)("contentTemplate",o)("listOfColWidth",e.listOfAutoColWidth)("theadTemplate",e.theadTemplate)("verticalScrollBarWidth",e.verticalScrollBarWidth)("virtualTemplate",e.nzVirtualScrollDirective?e.nzVirtualScrollDirective.templateRef:null)("virtualItemSize",e.nzVirtualItemSize)("virtualMaxBufferPx",e.nzVirtualMaxBufferPx)("virtualMinBufferPx",e.nzVirtualMinBufferPx)("tableMainElement",i)("virtualForTrackBy",e.nzVirtualForTrackBy)("noDataVirtualHeight",e.noDataVirtualHeight)}}function y4e(t,n){if(1&t&&A(0,"nz-table-inner-default",8),2&t){const e=g(),i=Be(12);h("tableLayout",e.nzTableLayout)("listOfColWidth",e.listOfManualColWidth)("theadTemplate",e.theadTemplate)("contentTemplate",i)}}function w4e(t,n){1&t&&A(0,"nz-table-title-footer",9),2&t&&h("footer",g().nzFooter)}function C4e(t,n){}function z4e(t,n){1&t&&C(0,C4e,0,0,"ng-template",4),2&t&&(g(),h("ngTemplateOutlet",Be(10)))}function A4e(t,n){if(1&t){const e=W();f(0,"nz-pagination",11),M("nzPageSizeChange",function(o){return S(e),T(g(2).onPageSizeChange(o))})("nzPageIndexChange",function(o){return S(e),T(g(2).onPageIndexChange(o))}),m()}if(2&t){const e=g(2);h("hidden",!e.showPagination)("nzShowSizeChanger",e.nzShowSizeChanger)("nzPageSizeOptions",e.nzPageSizeOptions)("nzItemRender",e.nzItemRender)("nzShowQuickJumper",e.nzShowQuickJumper)("nzHideOnSinglePage",e.nzHideOnSinglePage)("nzShowTotal",e.nzShowTotal)("nzSize","small"===e.nzPaginationType?"small":"default"===e.nzSize?"default":"small")("nzPageSize",e.nzPageSize)("nzTotal",e.nzTotal)("nzSimple",e.nzSimple)("nzPageIndex",e.nzPageIndex)}}function S4e(t,n){if(1&t&&C(0,A4e,1,12,"nz-pagination",10),2&t){const e=g();he(e.nzShowPagination&&e.data.length?0:-1)}}function T4e(t,n){1&t&&_t(0)}const M4e=["contentTemplate"];function D4e(t,n){1&t&&_t(0)}function E4e(t,n){}function x4e(t,n){1&t&&C(0,E4e,0,0,"ng-template",1),2&t&&(g(),h("ngTemplateOutlet",Be(1)))}let eP=(()=>{class t{onVisibleChange(e){this.nzVisible=e,this.nzVisibleChange.next(e)}hide(){this.nzVisible=!1,this.cdr.markForCheck()}show(){this.nzVisible=!0,this.cdr.markForCheck()}constructor(e,i,o,r){this.nzConfigService=e,this.ngZone=i,this.cdr=o,this.destroy$=r,this._nzModuleName="filterTrigger",this.nzActive=!1,this.nzVisible=!1,this.nzBackdrop=!1,this.nzVisibleChange=new B}ngOnInit(){this.ngZone.runOutsideAngular(()=>{nn(this.nzDropdown.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>{e.stopPropagation()})})}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Me),v(We),v(Vo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-filter-trigger"]],viewQuery:function(i,o){if(1&i&&ft(V1,7,Se),2&i){let r;ke(r=Ie())&&(o.nzDropdown=r.first)}},inputs:{nzActive:"nzActive",nzDropdownMenu:"nzDropdownMenu",nzVisible:"nzVisible",nzBackdrop:[2,"nzBackdrop","nzBackdrop",I]},outputs:{nzVisibleChange:"nzVisibleChange"},exportAs:["nzFilterTrigger"],standalone:!0,features:[et([Vo]),je,me],ngContentSelectors:Ll,decls:2,vars:8,consts:[["nz-dropdown","","nzTrigger","click","nzPlacement","bottomRight",1,"ant-table-filter-trigger",3,"nzVisibleChange","nzBackdrop","nzClickHide","nzDropdownMenu","nzVisible"]],template:function(i,o){1&i&&(Et(),f(0,"span",0),M("nzVisibleChange",function(s){return o.onVisibleChange(s)}),_t(1),m()),2&i&&(Z("active",o.nzActive)("ant-table-filter-open",o.nzVisible),h("nzBackdrop",o.nzBackdrop)("nzClickHide",!1)("nzDropdownMenu",o.nzDropdownMenu)("nzVisible",o.nzVisible))},dependencies:[dp,V1],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzBackdrop",void 0),t})(),tP=(()=>{class t{check(e){this.filterMultiple?(this.listOfParsedFilter=this.listOfParsedFilter.map(i=>i===e?{...i,checked:!e.checked}:i),e.checked=!e.checked):this.listOfParsedFilter=this.listOfParsedFilter.map(i=>({...i,checked:i===e})),this.isChecked=this.getCheckedStatus(this.listOfParsedFilter)}confirm(){this.isVisible=!1,this.emitFilterData()}reset(){this.isVisible=!1,this.listOfParsedFilter=this.parseListOfFilter(this.listOfFilter,!0),this.isChecked=this.getCheckedStatus(this.listOfParsedFilter),this.emitFilterData()}onVisibleChange(e){this.isVisible=e,e?this.listOfChecked=this.listOfParsedFilter.filter(i=>i.checked).map(i=>i.value):this.emitFilterData()}emitFilterData(){const e=this.listOfParsedFilter.filter(i=>i.checked).map(i=>i.value);dE(this.listOfChecked,e)||this.filterChange.emit(this.filterMultiple?e:e.length>0?e[0]:null)}parseListOfFilter(e,i){return e.map(o=>({text:o.text,value:o.value,checked:!i&&!!o.byDefault}))}getCheckedStatus(e){return e.some(i=>i.checked)}constructor(e,i){this.cdr=e,this.i18n=i,this.contentTemplate=null,this.customFilter=!1,this.extraTemplate=null,this.filterMultiple=!0,this.listOfFilter=[],this.filterChange=new B,this.destroy$=new V,this.isChecked=!1,this.isVisible=!1,this.listOfParsedFilter=[],this.listOfChecked=[]}ngOnInit(){this.i18n.localeChange.pipe(P(this.destroy$)).subscribe(()=>{this.locale=this.i18n.getLocaleData("Table"),this.cdr.markForCheck()})}ngOnChanges(e){const{listOfFilter:i}=e;i&&this.listOfFilter&&this.listOfFilter.length&&(this.listOfParsedFilter=this.parseListOfFilter(this.listOfFilter),this.isChecked=this.getCheckedStatus(this.listOfParsedFilter))}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Ys))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-filter"]],hostAttrs:[1,"ant-table-filter-column"],inputs:{contentTemplate:"contentTemplate",customFilter:"customFilter",extraTemplate:"extraTemplate",filterMultiple:"filterMultiple",listOfFilter:"listOfFilter"},outputs:{filterChange:"filterChange"},standalone:!0,features:[xe,me],decls:4,vars:2,consts:[["filterMenu","nzDropdownMenu"],[1,"ant-table-column-title"],[3,"ngTemplateOutlet"],[3,"nzVisibleChange","nzVisible","nzActive","nzDropdownMenu"],["nz-icon","","nzType","filter","nzTheme","fill"],[1,"ant-table-filter-dropdown"],["nz-menu",""],["nz-menu-item","",3,"nzSelected"],[1,"ant-table-filter-dropdown-btns"],["nz-button","","nzType","link","nzSize","small",3,"click","disabled"],["nz-button","","nzType","primary","nzSize","small",3,"click"],["nz-menu-item","",3,"click","nzSelected"],["nz-radio","",3,"ngModel"],["nz-checkbox","",3,"ngModel"],["nz-radio","",3,"ngModelChange","ngModel"],["nz-checkbox","",3,"ngModelChange","ngModel"]],template:function(i,o){1&i&&(f(0,"span",1),C(1,v0e,0,0,"ng-template",2),m(),C(2,w0e,13,6)(3,C0e,1,1,"ng-container",2)),2&i&&(d(),h("ngTemplateOutlet",o.contentTemplate),d(),he(o.customFilter?3:2))},dependencies:[Nn,eP,In,ln,dp,Aa,Ws,w2,UO,Pp,Rl,Pl,Zi,Xi,h2,nr,mi,tr],encapsulation:2,changeDetection:0})}return t})(),I4e=(()=>{class t{constructor(){this.expand=!1,this.spaceMode=!1,this.expandChange=new B}onHostClick(){this.spaceMode||(this.expand=!this.expand,this.expandChange.next(this.expand))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["button","nz-row-expand-button",""]],hostAttrs:[1,"ant-table-row-expand-icon"],hostVars:7,hostBindings:function(i,o){1&i&&M("click",function(){return o.onHostClick()}),2&i&&(em("type","button"),Z("ant-table-row-expand-icon-expanded",!o.spaceMode&&!0===o.expand)("ant-table-row-expand-icon-collapsed",!o.spaceMode&&!1===o.expand)("ant-table-row-expand-icon-spaced",o.spaceMode))},inputs:{expand:"expand",spaceMode:"spaceMode"},outputs:{expandChange:"expandChange"},standalone:!0})}return t})(),O4e=(()=>{class t{constructor(){this.indentSize=0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["nz-row-indent"]],hostAttrs:[1,"ant-table-row-indent"],hostVars:2,hostBindings:function(i,o){2&i&&Lt("padding-left",o.indentSize,"px")},inputs:{indentSize:"indentSize"},standalone:!0})}return t})(),nP=(()=>{class t{constructor(){this.listOfSelections=[],this.checked=!1,this.disabled=!1,this.indeterminate=!1,this.label=null,this.showCheckbox=!1,this.showRowSelection=!1,this.checkedChange=new B}onCheckedChange(e){this.checked=e,this.checkedChange.emit(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-selection"]],hostAttrs:[1,"ant-table-selection"],inputs:{listOfSelections:"listOfSelections",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",label:"label",showCheckbox:"showCheckbox",showRowSelection:"showRowSelection"},outputs:{checkedChange:"checkedChange"},standalone:!0,features:[me],decls:2,vars:2,consts:[["selectionMenu","nzDropdownMenu"],["nz-checkbox","",3,"ant-table-selection-select-all-custom","ngModel","nzDisabled","nzIndeterminate"],[1,"ant-table-selection-extra"],["nz-checkbox","",3,"ngModelChange","ngModel","nzDisabled","nzIndeterminate"],["nz-dropdown","","nzPlacement","bottomLeft",1,"ant-table-selection-down",3,"nzDropdownMenu"],["nz-icon","","nzType","down"],["nz-menu","",1,"ant-table-selection-menu"],["nz-menu-item",""],["nz-menu-item","",3,"click"]],template:function(i,o){1&i&&C(0,z0e,1,6,"label",1)(1,S0e,8,1,"div",2),2&i&&(he(o.showCheckbox?0:-1),d(),he(o.showRowSelection?1:-1))},dependencies:[Pl,Zi,Xi,Pp,Rl,dp,Aa,Ws,V1,w2,In,ln],encapsulation:2,changeDetection:0})}return t})(),iP=(()=>{class t{constructor(){this.sortDirections=["ascend","descend",null],this.sortOrder=null,this.contentTemplate=null,this.isUp=!1,this.isDown=!1}ngOnChanges(e){const{sortDirections:i}=e;i&&(this.isUp=-1!==this.sortDirections.indexOf("ascend"),this.isDown=-1!==this.sortDirections.indexOf("descend"))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-sorters"]],hostAttrs:[1,"ant-table-column-sorters"],inputs:{sortDirections:"sortDirections",sortOrder:"sortOrder",contentTemplate:"contentTemplate"},standalone:!0,features:[xe,me],decls:6,vars:5,consts:[[1,"ant-table-column-title"],[3,"ngTemplateOutlet"],[1,"ant-table-column-sorter"],[1,"ant-table-column-sorter-inner"],["nz-icon","","nzType","caret-up",1,"ant-table-column-sorter-up",3,"active"],["nz-icon","","nzType","caret-down",1,"ant-table-column-sorter-down",3,"active"],["nz-icon","","nzType","caret-up",1,"ant-table-column-sorter-up"],["nz-icon","","nzType","caret-down",1,"ant-table-column-sorter-down"]],template:function(i,o){1&i&&(f(0,"span",0),C(1,T0e,0,0,"ng-template",1),m(),f(2,"span",2)(3,"span",3),C(4,M0e,1,2,"span",4)(5,D0e,1,2,"span",5),m()()),2&i&&(d(),h("ngTemplateOutlet",o.contentTemplate),d(),Z("ant-table-column-sorter-full",o.isDown&&o.isUp),d(2),he(o.isUp?4:-1),d(),he(o.isDown?5:-1))},dependencies:[In,ln,Nn],encapsulation:2,changeDetection:0})}return t})(),P4e=(()=>{class t{setAutoLeftWidth(e){this.renderer.setStyle(this.elementRef.nativeElement,"left",e)}setAutoRightWidth(e){this.renderer.setStyle(this.elementRef.nativeElement,"right",e)}setIsFirstRight(e){this.setFixClass(e,"ant-table-cell-fix-right-first")}setIsLastLeft(e){this.setFixClass(e,"ant-table-cell-fix-left-last")}setFixClass(e,i){this.renderer.removeClass(this.elementRef.nativeElement,i),e&&this.renderer.addClass(this.elementRef.nativeElement,i)}constructor(e,i){this.renderer=e,this.elementRef=i,this.nzRight=!1,this.nzLeft=!1,this.colspan=null,this.colSpan=null,this.changes$=new V,this.isAutoLeft=!1,this.isAutoRight=!1,this.isFixedLeft=!1,this.isFixedRight=!1,this.isFixed=!1}ngOnChanges(){this.setIsFirstRight(!1),this.setIsLastLeft(!1),this.isAutoLeft=""===this.nzLeft||!0===this.nzLeft,this.isAutoRight=""===this.nzRight||!0===this.nzRight,this.isFixedLeft=!1!==this.nzLeft,this.isFixedRight=!1!==this.nzRight,this.isFixed=this.isFixedLeft||this.isFixedRight;const e=i=>"string"==typeof i&&""!==i?i:null;this.setAutoLeftWidth(e(this.nzLeft)),this.setAutoRightWidth(e(this.nzRight)),this.changes$.next()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Yt),v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["td","nzRight",""],["th","nzRight",""],["td","nzLeft",""],["th","nzLeft",""]],hostVars:6,hostBindings:function(i,o){2&i&&(Lt("position",o.isFixed?"sticky":null),Z("ant-table-cell-fix-right",o.isFixedRight)("ant-table-cell-fix-left",o.isFixedLeft))},inputs:{nzRight:"nzRight",nzLeft:"nzLeft",colspan:"colspan",colSpan:"colSpan"},standalone:!0,features:[xe]})}return t})(),Bl=(()=>{class t{setTheadTemplate(e){this.theadTemplate$.next(e)}setHasFixLeft(e){this.hasFixLeft$.next(e)}setHasFixRight(e){this.hasFixRight$.next(e)}setTableWidthConfig(e){this.tableWidthConfigPx$.next(e)}setListOfTh(e){let i=0;e.forEach(r=>{i+=r.colspan&&+r.colspan||r.colSpan&&+r.colSpan||1});const o=e.map(r=>r.nzWidth);this.columnCount$.next(i),this.listOfThWidthConfigPx$.next(o)}setListOfMeasureColumn(e){const i=[];e.forEach(o=>{const r=o.colspan&&+o.colspan||o.colSpan&&+o.colSpan||1;for(let s=0;s`${i}px`))}setShowEmpty(e){this.showEmpty$.next(e)}setNoResult(e){this.noResult$.next(e)}setScroll(e,i){const o=!(!e&&!i);o||this.setListOfAutoWidth([]),this.enableAutoMeasure$.next(o)}constructor(){this.theadTemplate$=new fi(1),this.hasFixLeft$=new fi(1),this.hasFixRight$=new fi(1),this.hostWidth$=new fi(1),this.columnCount$=new fi(1),this.showEmpty$=new fi(1),this.noResult$=new fi(1),this.listOfThWidthConfigPx$=new rt([]),this.tableWidthConfigPx$=new rt([]),this.manualWidthConfigPx$=Di([this.tableWidthConfigPx$,this.listOfThWidthConfigPx$]).pipe(Pe(([e,i])=>e.length?e:i)),this.listOfAutoWidthPx$=new fi(1),this.listOfListOfThWidthPx$=On(this.manualWidthConfigPx$,Di([this.listOfAutoWidthPx$,this.manualWidthConfigPx$]).pipe(Pe(([e,i])=>e.length===i.length?e.map((o,r)=>"0px"===o?i[r]||null:i[r]||o):i))),this.listOfMeasureColumn$=new fi(1),this.listOfListOfThWidth$=this.listOfAutoWidthPx$.pipe(Pe(e=>e.map(i=>parseInt(i,10)))),this.enableAutoMeasure$=new fi(1)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),V2=(()=>{class t{constructor(e){this.isInsideTable=!1,this.isInsideTable=!!e}static#e=this.\u0275fac=function(i){return new(i||t)(v(Bl,8))};static#t=this.\u0275dir=de({type:t,selectors:[["th",9,"nz-disable-th",3,"mat-cell",""],["td",9,"nz-disable-td",3,"mat-cell",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-table-cell",o.isInsideTable)},standalone:!0})}return t})(),Tv=(()=>{class t{updatePageSize(e){this.pageSize$.next(e)}updateFrontPagination(e){this.frontPagination$.next(e)}updatePageIndex(e){this.pageIndex$.next(e)}updateListOfData(e){this.listOfData$.next(e)}updateListOfCustomColumn(e){this.listOfCustomColumn$.next(e)}constructor(){this.destroy$=new V,this.pageIndex$=new rt(1),this.frontPagination$=new rt(!0),this.pageSize$=new rt(10),this.listOfData$=new rt([]),this.listOfCustomColumn$=new rt([]),this.pageIndexDistinct$=this.pageIndex$.pipe(Qi()),this.pageSizeDistinct$=this.pageSize$.pipe(Qi()),this.listOfCalcOperator$=new rt([]),this.queryParams$=Di([this.pageIndexDistinct$,this.pageSizeDistinct$,this.listOfCalcOperator$]).pipe(g3(0),I5(1),Pe(([e,i,o])=>({pageIndex:e,pageSize:i,sort:o.filter(r=>r.sortFn).map(r=>({key:r.key,value:r.sortOrder})),filter:o.filter(r=>r.filterFn).map(r=>({key:r.key,value:r.filterValue}))}))),this.listOfDataAfterCalc$=Di([this.listOfData$,this.listOfCalcOperator$]).pipe(Pe(([e,i])=>{let o=[...e];const r=i.filter(a=>{const{filterValue:l,filterFn:c}=a;return!(null==l||Array.isArray(l)&&0===l.length)&&"function"==typeof c});for(const a of r){const{filterFn:l,filterValue:c}=a;o=o.filter(u=>l(c,u))}const s=i.filter(a=>null!==a.sortOrder&&"function"==typeof a.sortFn).sort((a,l)=>+l.sortPriority-+a.sortPriority);return i.length&&o.sort((a,l)=>{for(const c of s){const{sortFn:u,sortOrder:p}=c;if(u&&p){const b=u(a,l,p);if(0!==b)return"ascend"===p?b:-b}}return 0}),o})),this.listOfFrontEndCurrentPageData$=Di([this.pageIndexDistinct$,this.pageSizeDistinct$,this.listOfDataAfterCalc$]).pipe(P(this.destroy$),yt(e=>{const[i,o,r]=e;return i<=(Math.ceil(r.length/o)||1)}),Pe(([e,i,o])=>o.slice((e-1)*i,e*i))),this.listOfCurrentPageData$=this.frontPagination$.pipe(mn(e=>e?this.listOfFrontEndCurrentPageData$:this.listOfDataAfterCalc$)),this.total$=this.frontPagination$.pipe(mn(e=>e?this.listOfDataAfterCalc$:this.listOfData$),Pe(e=>e.length),Qi())}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),oP=(()=>{class t{constructor(){this.nzChecked=!1,this.nzDisabled=!1,this.nzIndeterminate=!1,this.nzLabel=null,this.nzIndentSize=0,this.nzShowExpand=!1,this.nzShowCheckbox=!1,this.nzExpand=!1,this.nzExpandIcon=null,this.nzCheckedChange=new B,this.nzExpandChange=new B,this.isNzShowExpandChanged=!1,this.isNzShowCheckboxChanged=!1}onCheckedChange(e){this.nzChecked=e,this.nzCheckedChange.emit(e)}onExpandChange(e){this.nzExpand=e,this.nzExpandChange.emit(e)}ngOnChanges(e){const i=l=>l&&l.firstChange&&void 0!==l.currentValue,{nzExpand:o,nzChecked:r,nzShowExpand:s,nzShowCheckbox:a}=e;s&&(this.isNzShowExpandChanged=!0),a&&(this.isNzShowCheckboxChanged=!0),i(o)&&!this.isNzShowExpandChanged&&(this.nzShowExpand=!0),i(r)&&!this.isNzShowCheckboxChanged&&(this.nzShowCheckbox=!0)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["td","nzChecked",""],["td","nzDisabled",""],["td","nzIndeterminate",""],["td","nzIndentSize",""],["td","nzExpand",""],["td","nzShowExpand",""],["td","nzShowCheckbox",""]],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-table-cell-with-append",o.nzShowExpand||o.nzIndentSize>0)("ant-table-selection-column",o.nzShowCheckbox)},inputs:{nzChecked:"nzChecked",nzDisabled:"nzDisabled",nzIndeterminate:"nzIndeterminate",nzLabel:"nzLabel",nzIndentSize:"nzIndentSize",nzShowExpand:[2,"nzShowExpand","nzShowExpand",I],nzShowCheckbox:[2,"nzShowCheckbox","nzShowCheckbox",I],nzExpand:[2,"nzExpand","nzExpand",I],nzExpandIcon:"nzExpandIcon"},outputs:{nzCheckedChange:"nzCheckedChange",nzExpandChange:"nzExpandChange"},standalone:!0,features:[je,xe,me],attrs:E0e,ngContentSelectors:Ll,decls:3,vars:2,consts:[["nz-checkbox","",3,"nzDisabled","ngModel","nzIndeterminate"],[3,"indentSize"],[3,"ngTemplateOutlet"],["nz-row-expand-button","",3,"expand","spaceMode"],["nz-row-expand-button","",3,"expandChange","expand","spaceMode"],["nz-checkbox","",3,"ngModelChange","nzDisabled","ngModel","nzIndeterminate"]],template:function(i,o){1&i&&(Et(),C(0,O0e,3,2)(1,P0e,1,4,"label",0),_t(2)),2&i&&(he(o.nzShowExpand||o.nzIndentSize>0?0:-1),d(),he(o.nzShowCheckbox?1:-1))},dependencies:[O4e,I4e,Nn,Pp,Rl,Pl,Zi,Xi],encapsulation:2,changeDetection:0})}return t})(),rP=(()=>{class t{getNextSortDirection(e,i){const o=e.indexOf(i);return o===e.length-1?e[0]:e[o+1]}setSortOrder(e){this.sortOrderChange$.next(e)}clearSortOrder(){null!==this.sortOrder&&this.setSortOrder(null)}onFilterValueChange(e){this.nzFilterChange.emit(e),this.nzFilterValue=e,this.updateCalcOperator()}updateCalcOperator(){this.calcOperatorChange$.next()}constructor(e,i,o,r){this.host=e,this.cdr=i,this.ngZone=o,this.destroy$=r,this.manualClickOrder$=new V,this.calcOperatorChange$=new V,this.nzFilterValue=null,this.sortOrder=null,this.sortDirections=["ascend","descend",null],this.sortOrderChange$=new V,this.isNzShowSortChanged=!1,this.isNzShowFilterChanged=!1,this.nzFilterMultiple=!0,this.nzSortOrder=null,this.nzSortPriority=!1,this.nzSortDirections=["ascend","descend",null],this.nzFilters=[],this.nzSortFn=null,this.nzFilterFn=null,this.nzShowSort=!1,this.nzShowFilter=!1,this.nzCustomFilter=!1,this.nzCheckedChange=new B,this.nzSortOrderChange=new B,this.nzFilterChange=new B}ngOnInit(){this.ngZone.runOutsideAngular(()=>nn(this.host.nativeElement,"click").pipe(yt(()=>this.nzShowSort),P(this.destroy$)).subscribe(()=>{const e=this.getNextSortDirection(this.sortDirections,this.sortOrder);this.ngZone.run(()=>{this.setSortOrder(e),this.manualClickOrder$.next(this)})})),this.sortOrderChange$.pipe(P(this.destroy$)).subscribe(e=>{this.sortOrder!==e&&(this.sortOrder=e,this.nzSortOrderChange.emit(e)),this.updateCalcOperator(),this.cdr.markForCheck()})}ngOnChanges(e){const{nzSortDirections:i,nzFilters:o,nzSortOrder:r,nzSortFn:s,nzFilterFn:a,nzSortPriority:l,nzFilterMultiple:c,nzShowSort:u,nzShowFilter:p}=e;i&&this.nzSortDirections&&this.nzSortDirections.length&&(this.sortDirections=this.nzSortDirections),r&&(this.sortOrder=this.nzSortOrder,this.setSortOrder(this.nzSortOrder)),u&&(this.isNzShowSortChanged=!0),p&&(this.isNzShowFilterChanged=!0);const b=_=>_&&_.firstChange&&void 0!==_.currentValue;if((b(r)||b(s))&&!this.isNzShowSortChanged&&(this.nzShowSort=!0),b(o)&&!this.isNzShowFilterChanged&&(this.nzShowFilter=!0),(o||c)&&this.nzShowFilter){const _=this.nzFilters.filter(y=>y.byDefault).map(y=>y.value);this.nzFilterValue=this.nzFilterMultiple?_:_[0]||null}(s||a||l||o)&&this.updateCalcOperator()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(We),v(Me),v(Vo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["th","nzColumnKey",""],["th","nzSortFn",""],["th","nzSortOrder",""],["th","nzFilters",""],["th","nzShowSort",""],["th","nzShowFilter",""],["th","nzCustomFilter",""]],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-table-column-has-sorters",o.nzShowSort)("ant-table-column-sort","descend"===o.sortOrder||"ascend"===o.sortOrder)},inputs:{nzColumnKey:"nzColumnKey",nzFilterMultiple:"nzFilterMultiple",nzSortOrder:"nzSortOrder",nzSortPriority:"nzSortPriority",nzSortDirections:"nzSortDirections",nzFilters:"nzFilters",nzSortFn:"nzSortFn",nzFilterFn:"nzFilterFn",nzShowSort:[2,"nzShowSort","nzShowSort",I],nzShowFilter:[2,"nzShowFilter","nzShowFilter",I],nzCustomFilter:[2,"nzCustomFilter","nzCustomFilter",I]},outputs:{nzCheckedChange:"nzCheckedChange",nzSortOrderChange:"nzSortOrderChange",nzFilterChange:"nzFilterChange"},standalone:!0,features:[et([Vo]),je,xe,me],attrs:V0e,ngContentSelectors:F0e,decls:10,vars:1,consts:[["notFilterTemplate",""],["extraTemplate",""],["sortTemplate",""],["contentTemplate",""],[3,"contentTemplate","extraTemplate","customFilter","filterMultiple","listOfFilter"],[3,"ngTemplateOutlet"],[3,"filterChange","contentTemplate","extraTemplate","customFilter","filterMultiple","listOfFilter"],[3,"sortOrder","sortDirections","contentTemplate"]],template:function(i,o){1&i&&(Et(N0e),C(0,R0e,1,5,"nz-table-filter",4)(1,L0e,1,1,"ng-container",5)(2,H0e,1,1,"ng-template",null,0,ot)(4,j0e,2,0,"ng-template",null,1,ot)(6,Y0e,1,3,"ng-template",null,2,ot)(8,U0e,1,0,"ng-template",null,3,ot)),2&i&&he(o.nzShowFilter||o.nzCustomFilter?0:1)},dependencies:[tP,Nn,iP],encapsulation:2,changeDetection:0})}return t})(),Y1=(()=>{class t{constructor(e,i){this.renderer=e,this.elementRef=i,this.changes$=new V,this.nzWidth=null,this.colspan=null,this.colSpan=null,this.rowspan=null,this.rowSpan=null}ngOnChanges(e){const{nzWidth:i,colspan:o,rowspan:r,colSpan:s,rowSpan:a}=e;if(o||s){const l=this.colspan||this.colSpan;_3(l)?this.renderer.removeAttribute(this.elementRef.nativeElement,"colspan"):this.renderer.setAttribute(this.elementRef.nativeElement,"colspan",`${l}`)}if(r||a){const l=this.rowspan||this.rowSpan;_3(l)?this.renderer.removeAttribute(this.elementRef.nativeElement,"rowspan"):this.renderer.setAttribute(this.elementRef.nativeElement,"rowspan",`${l}`)}(i||o)&&this.changes$.next()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Yt),v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["th"]],inputs:{nzWidth:"nzWidth",colspan:"colspan",colSpan:"colSpan",rowspan:"rowspan",rowSpan:"rowSpan"},standalone:!0,features:[xe]})}return t})(),sP=(()=>{class t{constructor(){this.nzSelections=[],this.nzChecked=!1,this.nzDisabled=!1,this.nzIndeterminate=!1,this.nzLabel=null,this.nzShowCheckbox=!1,this.nzShowRowSelection=!1,this.nzCheckedChange=new B,this.isNzShowExpandChanged=!1,this.isNzShowCheckboxChanged=!1}onCheckedChange(e){this.nzChecked=e,this.nzCheckedChange.emit(e)}ngOnChanges(e){const i=l=>l&&l.firstChange&&void 0!==l.currentValue,{nzChecked:o,nzSelections:r,nzShowExpand:s,nzShowCheckbox:a}=e;s&&(this.isNzShowExpandChanged=!0),a&&(this.isNzShowCheckboxChanged=!0),i(r)&&!this.isNzShowExpandChanged&&(this.nzShowRowSelection=!0),i(o)&&!this.isNzShowCheckboxChanged&&(this.nzShowCheckbox=!0)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["th","nzSelections",""],["th","nzChecked",""],["th","nzShowCheckbox",""],["th","nzShowRowSelection",""]],hostAttrs:[1,"ant-table-selection-column"],inputs:{nzSelections:"nzSelections",nzChecked:[2,"nzChecked","nzChecked",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzIndeterminate:"nzIndeterminate",nzLabel:"nzLabel",nzShowCheckbox:[2,"nzShowCheckbox","nzShowCheckbox",I],nzShowRowSelection:[2,"nzShowRowSelection","nzShowRowSelection",I]},outputs:{nzCheckedChange:"nzCheckedChange"},standalone:!0,features:[je,xe,me],attrs:W0e,ngContentSelectors:Ll,decls:2,vars:7,consts:[[3,"checkedChange","checked","disabled","indeterminate","label","listOfSelections","showCheckbox","showRowSelection"]],template:function(i,o){1&i&&(Et(),f(0,"nz-table-selection",0),M("checkedChange",function(s){return o.onCheckedChange(s)}),m(),_t(1)),2&i&&h("checked",o.nzChecked)("disabled",o.nzDisabled)("indeterminate",o.nzIndeterminate)("label",o.nzLabel)("listOfSelections",o.nzSelections)("showCheckbox",o.nzShowCheckbox)("showRowSelection",o.nzShowRowSelection)},dependencies:[nP],encapsulation:2,changeDetection:0})}return t})(),aP=(()=>{class t{constructor(){this.tableLayout="auto",this.theadTemplate=null,this.contentTemplate=null,this.listOfColWidth=[],this.scrollX=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["table","nz-table-content",""]],hostVars:8,hostBindings:function(i,o){2&i&&(Lt("table-layout",o.tableLayout)("width",o.scrollX)("min-width",o.scrollX?"100%":null),Z("ant-table-fixed",o.scrollX))},inputs:{tableLayout:"tableLayout",theadTemplate:"theadTemplate",contentTemplate:"contentTemplate",listOfColWidth:"listOfColWidth",scrollX:"scrollX"},standalone:!0,features:[me],attrs:G0e,ngContentSelectors:Ll,decls:5,vars:2,consts:[[3,"width","minWidth"],[1,"ant-table-thead"],[3,"ngTemplateOutlet"]],template:function(i,o){1&i&&(Et(),ji(0,q0e,1,4,"col",0,fr),C(2,K0e,2,1,"thead",1)(3,$0e,0,0,"ng-template",2),_t(4)),2&i&&(Yi(o.listOfColWidth),d(2),he(o.theadTemplate?2:-1),d(),h("ngTemplateOutlet",o.contentTemplate))},dependencies:[Nn],encapsulation:2,changeDetection:0})}return t})(),V4e=(()=>{class t{constructor(e,i){this.nzTableStyleService=e,this.renderer=i,this.hostWidth$=new rt(null),this.enableAutoMeasure$=new rt(!1),this.destroy$=new V}ngOnInit(){if(this.nzTableStyleService){const{enableAutoMeasure$:e,hostWidth$:i}=this.nzTableStyleService;e.pipe(P(this.destroy$)).subscribe(this.enableAutoMeasure$),i.pipe(P(this.destroy$)).subscribe(this.hostWidth$)}}ngAfterViewInit(){this.nzTableStyleService.columnCount$.pipe(P(this.destroy$)).subscribe(e=>{this.renderer.setAttribute(this.tdElement.nativeElement,"colspan",`${e}`)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Bl),v(Yt))};static#t=this.\u0275cmp=Q({type:t,selectors:[["tr","nz-table-fixed-row",""],["tr","nzExpand",""]],viewQuery:function(i,o){if(1&i&&ft(ZO,7),2&i){let r;ke(r=Ie())&&(o.tdElement=r.first)}},standalone:!0,features:[me],attrs:J0e,ngContentSelectors:XO,decls:5,vars:3,consts:[["tdElement",""],[1,"nz-disable-td","ant-table-cell"],[1,"ant-table-expanded-row-fixed",2,"position","sticky","left","0","overflow","hidden",3,"width"],[1,"ant-table-expanded-row-fixed",2,"position","sticky","left","0","overflow","hidden"]],template:function(i,o){1&i&&(Et(XO),f(0,"td",1,0),C(2,Z0e,3,4,"div",2),Fr(3,"async"),C(4,X0e,1,0),m()),2&i&&(d(2),he(Rr(3,1,o.enableAutoMeasure$)?2:4))},dependencies:[Qm],encapsulation:2,changeDetection:0})}return t})(),N4e=(()=>{class t{constructor(){this.tableLayout="auto",this.listOfColWidth=[],this.theadTemplate=null,this.contentTemplate=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-inner-default"]],hostAttrs:[1,"ant-table-container"],inputs:{tableLayout:"tableLayout",listOfColWidth:"listOfColWidth",theadTemplate:"theadTemplate",contentTemplate:"contentTemplate"},standalone:!0,features:[me],decls:2,vars:4,consts:[[1,"ant-table-content"],["nz-table-content","",3,"contentTemplate","tableLayout","listOfColWidth","theadTemplate"]],template:function(i,o){1&i&&(f(0,"div",0),A(1,"table",1),m()),2&i&&(d(),h("contentTemplate",o.contentTemplate)("tableLayout",o.tableLayout)("listOfColWidth",o.listOfColWidth)("theadTemplate",o.theadTemplate))},dependencies:[aP],encapsulation:2,changeDetection:0})}return t})(),F4e=(()=>{class t{constructor(e,i){this.nzResizeObserver=e,this.ngZone=i,this.listOfMeasureColumn=[],this.listOfAutoWidth=new B,this.destroy$=new V}ngAfterViewInit(){this.listOfTdElement.changes.pipe(gn(this.listOfTdElement)).pipe(mn(e=>Di(e.toArray().map(i=>this.nzResizeObserver.observe(i).pipe(Pe(([o])=>{const{width:r}=o.target.getBoundingClientRect();return Math.floor(r)}))))),g3(16),P(this.destroy$)).subscribe(e=>{this.ngZone instanceof Me&&Me.isInAngularZone()?this.listOfAutoWidth.next(e):this.ngZone.run(()=>this.listOfAutoWidth.next(e))})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Av),v(Me))};static#t=this.\u0275cmp=Q({type:t,selectors:[["tr","nz-table-measure-row",""]],viewQuery:function(i,o){if(1&i&&ft(ZO,5),2&i){let r;ke(r=Ie())&&(o.listOfTdElement=r)}},hostAttrs:[1,"ant-table-measure-now"],inputs:{listOfMeasureColumn:"listOfMeasureColumn"},outputs:{listOfAutoWidth:"listOfAutoWidth"},standalone:!0,features:[me],attrs:e4e,decls:2,vars:0,consts:[["tdElement",""],[1,"nz-disable-td",2,"padding","0","border","0","height","0"]],template:function(i,o){1&i&&ji(0,t4e,2,0,"td",1,fr),2&i&&Yi(o.listOfMeasureColumn)},encapsulation:2,changeDetection:0})}return t})(),Hl=(()=>{class t{constructor(e){if(this.nzTableStyleService=e,this.isInsideTable=!1,this.showEmpty$=new rt(!1),this.noResult$=new rt(void 0),this.listOfMeasureColumn$=new rt([]),this.destroy$=new V,this.isInsideTable=!!this.nzTableStyleService,this.nzTableStyleService){const{showEmpty$:i,noResult$:o,listOfMeasureColumn$:r}=this.nzTableStyleService;o.pipe(P(this.destroy$)).subscribe(this.noResult$),r.pipe(P(this.destroy$)).subscribe(this.listOfMeasureColumn$),i.pipe(P(this.destroy$)).subscribe(this.showEmpty$)}}onListOfAutoWidthChange(e){this.nzTableStyleService.setListOfAutoWidth(e)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Bl,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["tbody"]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-table-tbody",o.isInsideTable)},standalone:!0,features:[me],ngContentSelectors:Ll,decls:5,vars:6,consts:[["nz-table-fixed-row","",1,"ant-table-placeholder"],["nz-table-measure-row","",3,"listOfMeasureColumn"],["nz-table-measure-row","",3,"listOfAutoWidth","listOfMeasureColumn"],["nzComponentName","table",3,"specificContent"]],template:function(i,o){if(1&i&&(Et(),C(0,i4e,1,1),Fr(1,"async"),_t(2),C(3,o4e,3,3,"tr",0),Fr(4,"async")),2&i){let r;he((r=Rr(1,2,o.listOfMeasureColumn$))?0:-1,r),d(3),he(Rr(4,4,o.showEmpty$)?3:-1)}},dependencies:[Qm,F4e,V4e,U7,Y7],encapsulation:2,changeDetection:0})}return t})(),Mv=(()=>{class t{setScrollPositionClassName(e=!1){const{scrollWidth:i,scrollLeft:o,clientWidth:r}=this.tableBodyElement.nativeElement,s="ant-table-ping-left",a="ant-table-ping-right";i===r&&0!==i||e?(this.renderer.removeClass(this.tableMainElement,s),this.renderer.removeClass(this.tableMainElement,a)):0===o?(this.renderer.removeClass(this.tableMainElement,s),this.renderer.addClass(this.tableMainElement,a)):i===o+r?(this.renderer.removeClass(this.tableMainElement,a),this.renderer.addClass(this.tableMainElement,s)):(this.renderer.addClass(this.tableMainElement,s),this.renderer.addClass(this.tableMainElement,a))}constructor(e,i,o,r){this.renderer=e,this.ngZone=i,this.platform=o,this.resizeService=r,this.data=[],this.scrollX=null,this.scrollY=null,this.contentTemplate=null,this.widthConfig=[],this.listOfColWidth=[],this.theadTemplate=null,this.virtualTemplate=null,this.virtualItemSize=0,this.virtualMaxBufferPx=200,this.virtualMinBufferPx=100,this.virtualForTrackBy=s=>s,this.headerStyleMap={},this.bodyStyleMap={},this.verticalScrollBarWidth=0,this.noDataVirtualHeight="182px",this.data$=new V,this.scroll$=new V,this.destroy$=new V}ngOnChanges(e){const{scrollX:i,scrollY:o,data:r}=e;(i||o)&&(this.headerStyleMap={overflowX:"hidden",overflowY:this.scrollY&&0!==this.verticalScrollBarWidth?"scroll":"hidden"},this.bodyStyleMap={overflowY:this.scrollY?"scroll":"hidden",overflowX:this.scrollX?"auto":null,maxHeight:this.scrollY},this.ngZone.runOutsideAngular(()=>this.scroll$.next())),r&&this.ngZone.runOutsideAngular(()=>this.data$.next())}ngAfterViewInit(){this.platform.isBrowser&&this.ngZone.runOutsideAngular(()=>{const e=this.scroll$.pipe(gn(null),C2(0),mn(()=>nn(this.tableBodyElement.nativeElement,"scroll").pipe(gn(!0))),P(this.destroy$));On(e,this.resizeService.subscribe().pipe(P(this.destroy$)),this.data$.pipe(P(this.destroy$)),this.scroll$).pipe(gn(!0),C2(0),P(this.destroy$)).subscribe(()=>this.setScrollPositionClassName()),e.pipe(yt(()=>!!this.scrollY)).subscribe(()=>this.tableHeaderElement.nativeElement.scrollLeft=this.tableBodyElement.nativeElement.scrollLeft)})}ngOnDestroy(){this.setScrollPositionClassName(!0),this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Yt),v(Me),v(Qn),v(R5))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-inner-scroll"]],viewQuery:function(i,o){if(1&i&&(ft(r4e,5,Se),ft(s4e,5,Se),ft(E1,5,E1)),2&i){let r;ke(r=Ie())&&(o.tableHeaderElement=r.first),ke(r=Ie())&&(o.tableBodyElement=r.first),ke(r=Ie())&&(o.cdkVirtualScrollViewport=r.first)}},hostAttrs:[1,"ant-table-container"],inputs:{data:"data",scrollX:"scrollX",scrollY:"scrollY",contentTemplate:"contentTemplate",widthConfig:"widthConfig",listOfColWidth:"listOfColWidth",theadTemplate:"theadTemplate",virtualTemplate:"virtualTemplate",virtualItemSize:"virtualItemSize",virtualMaxBufferPx:"virtualMaxBufferPx",virtualMinBufferPx:"virtualMinBufferPx",tableMainElement:"tableMainElement",virtualForTrackBy:"virtualForTrackBy",verticalScrollBarWidth:"verticalScrollBarWidth",noDataVirtualHeight:"noDataVirtualHeight"},standalone:!0,features:[xe,me],decls:2,vars:1,consts:[["tableHeaderElement",""],["tableBodyElement",""],[1,"ant-table-content",3,"ngStyle"],[1,"ant-table-header","nz-table-hide-scrollbar",3,"ngStyle"],["nz-table-content","","tableLayout","fixed",3,"scrollX","listOfColWidth","theadTemplate"],[1,"ant-table-body",3,"ngStyle"],[3,"itemSize","maxBufferPx","minBufferPx","height"],["nz-table-content","","tableLayout","fixed",3,"scrollX","listOfColWidth","contentTemplate"],[3,"itemSize","maxBufferPx","minBufferPx"],["nz-table-content","","tableLayout","fixed",3,"scrollX","listOfColWidth"],[4,"cdkVirtualFor","cdkVirtualForOf","cdkVirtualForTrackBy"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["nz-table-content","","tableLayout","fixed",3,"scrollX","listOfColWidth","theadTemplate","contentTemplate"]],template:function(i,o){1&i&&C(0,h4e,5,5)(1,p4e,3,5,"div",2),2&i&&he(o.scrollY?0:1)},dependencies:[aP,ti,C7,Yx,qx,E1,Nn,Hl],encapsulation:2,changeDetection:0})}return t})(),R4e=(()=>{class t{constructor(e){this.templateRef=e}static ngTemplateContextGuard(e,i){return!0}static#e=this.\u0275fac=function(i){return new(i||t)(v(qt))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-virtual-scroll",""]],exportAs:["nzVirtualScroll"],standalone:!0})}return t})(),lP=(()=>{class t{constructor(){this.title=null,this.footer=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table-title-footer"]],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-table-title",null!==o.title)("ant-table-footer",null!==o.footer)},inputs:{title:"title",footer:"footer"},standalone:!0,features:[me],decls:2,vars:2,consts:[[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&C(0,f4e,2,1,"ng-container",0)(1,m4e,2,1,"ng-container",0),2&i&&(h("nzStringTemplateOutlet",o.title),d(),h("nzStringTemplateOutlet",o.footer))},dependencies:[Sn,An],encapsulation:2,changeDetection:0})}return t})(),U1=(()=>{class t{onPageSizeChange(e){this.nzTableDataService.updatePageSize(e)}onPageIndexChange(e){this.nzTableDataService.updatePageIndex(e)}constructor(e,i,o,r,s,a,l){this.elementRef=e,this.nzResizeObserver=i,this.nzConfigService=o,this.cdr=r,this.nzTableStyleService=s,this.nzTableDataService=a,this.directionality=l,this._nzModuleName="table",this.nzTableLayout="auto",this.nzShowTotal=null,this.nzItemRender=null,this.nzTitle=null,this.nzFooter=null,this.nzNoResult=void 0,this.nzPageSizeOptions=[10,20,30,40,50],this.nzVirtualItemSize=0,this.nzVirtualMaxBufferPx=200,this.nzVirtualMinBufferPx=100,this.nzVirtualForTrackBy=c=>c,this.nzLoadingDelay=0,this.nzPageIndex=1,this.nzPageSize=10,this.nzTotal=0,this.nzWidthConfig=[],this.nzData=[],this.nzCustomColumn=[],this.nzPaginationPosition="bottom",this.nzScroll={x:null,y:null},this.noDataVirtualHeight="182px",this.nzPaginationType="default",this.nzFrontPagination=!0,this.nzTemplateMode=!1,this.nzShowPagination=!0,this.nzLoading=!1,this.nzOuterBordered=!1,this.nzLoadingIndicator=null,this.nzBordered=!1,this.nzSize="default",this.nzShowSizeChanger=!1,this.nzHideOnSinglePage=!1,this.nzShowQuickJumper=!1,this.nzSimple=!1,this.nzPageSizeChange=new B,this.nzPageIndexChange=new B,this.nzQueryParams=new B,this.nzCurrentPageDataChange=new B,this.nzCustomColumnChange=new B,this.data=[],this.scrollX=null,this.scrollY=null,this.theadTemplate=null,this.listOfAutoColWidth=[],this.listOfManualColWidth=[],this.hasFixLeft=!1,this.hasFixRight=!1,this.showPagination=!0,this.destroy$=new V,this.templateMode$=new rt(!1),this.dir="ltr",this.verticalScrollBarWidth=0,this.nzConfigService.getConfigChangeEventForComponent("table").pipe(P(this.destroy$)).subscribe(()=>{this.cdr.markForCheck()})}ngOnInit(){const{pageIndexDistinct$:e,pageSizeDistinct$:i,listOfCurrentPageData$:o,total$:r,queryParams$:s,listOfCustomColumn$:a}=this.nzTableDataService,{theadTemplate$:l,hasFixLeft$:c,hasFixRight$:u}=this.nzTableStyleService;this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(p=>{this.dir=p,this.cdr.detectChanges()}),s.pipe(P(this.destroy$)).subscribe(this.nzQueryParams),e.pipe(P(this.destroy$)).subscribe(p=>{p!==this.nzPageIndex&&(this.nzPageIndex=p,this.nzPageIndexChange.next(p))}),i.pipe(P(this.destroy$)).subscribe(p=>{p!==this.nzPageSize&&(this.nzPageSize=p,this.nzPageSizeChange.next(p))}),r.pipe(P(this.destroy$),yt(()=>this.nzFrontPagination)).subscribe(p=>{p!==this.nzTotal&&(this.nzTotal=p,this.cdr.markForCheck())}),o.pipe(P(this.destroy$)).subscribe(p=>{this.data=p,this.nzCurrentPageDataChange.next(p),this.cdr.markForCheck()}),a.pipe(P(this.destroy$)).subscribe(p=>{this.nzCustomColumn=p,this.nzCustomColumnChange.next(p),this.cdr.markForCheck()}),l.pipe(P(this.destroy$)).subscribe(p=>{this.theadTemplate=p,this.cdr.markForCheck()}),c.pipe(P(this.destroy$)).subscribe(p=>{this.hasFixLeft=p,this.cdr.markForCheck()}),u.pipe(P(this.destroy$)).subscribe(p=>{this.hasFixRight=p,this.cdr.markForCheck()}),Di([r,this.templateMode$]).pipe(Pe(([p,b])=>0===p&&!b),P(this.destroy$)).subscribe(p=>{this.nzTableStyleService.setShowEmpty(p)}),this.verticalScrollBarWidth=function pne(t="vertical",n="ant"){if(typeof document>"u"||typeof window>"u")return 0;const e="vertical"===t;if(e&&Q5)return Q5;if(!e&&K5)return K5;const i=document.createElement("div");Object.keys(bE).forEach(r=>{i.style[r]=bE[r]}),i.className=`${n}-hide-scrollbar scroll-div-append-to-body`,e?i.style.overflowY="scroll":i.style.overflowX="scroll",document.body.appendChild(i);let o=0;return e?(o=i.offsetWidth-i.clientWidth,Q5=o):(o=i.offsetHeight-i.clientHeight,K5=o),document.body.removeChild(i),o}("vertical"),this.nzTableStyleService.listOfListOfThWidthPx$.pipe(P(this.destroy$)).subscribe(p=>{this.listOfAutoColWidth=p,this.cdr.markForCheck()}),this.nzTableStyleService.manualWidthConfigPx$.pipe(P(this.destroy$)).subscribe(p=>{this.listOfManualColWidth=p,this.cdr.markForCheck()})}ngOnChanges(e){const{nzScroll:i,nzPageIndex:o,nzPageSize:r,nzFrontPagination:s,nzData:a,nzCustomColumn:l,nzWidthConfig:c,nzNoResult:u,nzTemplateMode:p}=e;o&&this.nzTableDataService.updatePageIndex(this.nzPageIndex),r&&this.nzTableDataService.updatePageSize(this.nzPageSize),a&&(this.nzData=this.nzData||[],this.nzTableDataService.updateListOfData(this.nzData)),l&&(this.nzCustomColumn=this.nzCustomColumn||[],this.nzTableDataService.updateListOfCustomColumn(this.nzCustomColumn)),s&&this.nzTableDataService.updateFrontPagination(this.nzFrontPagination),i&&this.setScrollOnChanges(),c&&this.nzTableStyleService.setTableWidthConfig(this.nzWidthConfig),p&&this.templateMode$.next(this.nzTemplateMode),u&&this.nzTableStyleService.setNoResult(this.nzNoResult),this.updateShowPagination()}ngAfterViewInit(){this.nzResizeObserver.observe(this.elementRef).pipe(Pe(([e])=>{const{width:i}=e.target.getBoundingClientRect();return Math.floor(i-(this.scrollY?this.verticalScrollBarWidth:0))}),P(this.destroy$)).subscribe(this.nzTableStyleService.hostWidth$),this.nzTableInnerScrollComponent&&this.nzTableInnerScrollComponent.cdkVirtualScrollViewport&&(this.cdkVirtualScrollViewport=this.nzTableInnerScrollComponent.cdkVirtualScrollViewport)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}setScrollOnChanges(){this.scrollX=this.nzScroll&&this.nzScroll.x||null,this.scrollY=this.nzScroll&&this.nzScroll.y||null,this.nzTableStyleService.setScroll(this.scrollX,this.scrollY)}updateShowPagination(){this.showPagination=this.nzHideOnSinglePage&&this.nzData.length>this.nzPageSize||this.nzData.length>0&&!this.nzHideOnSinglePage||!this.nzFrontPagination&&this.nzTotal>this.nzPageSize}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Av),v(si),v(We),v(Bl),v(Tv),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-table"]],contentQueries:function(i,o,r){if(1&i&&fn(r,R4e,5),2&i){let s;ke(s=Ie())&&(o.nzVirtualScrollDirective=s.first)}},viewQuery:function(i,o){if(1&i&&ft(Mv,5),2&i){let r;ke(r=Ie())&&(o.nzTableInnerScrollComponent=r.first)}},hostAttrs:[1,"ant-table-wrapper"],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-table-wrapper-rtl","rtl"===o.dir)("ant-table-custom-column",o.nzCustomColumn.length)},inputs:{nzTableLayout:"nzTableLayout",nzShowTotal:"nzShowTotal",nzItemRender:"nzItemRender",nzTitle:"nzTitle",nzFooter:"nzFooter",nzNoResult:"nzNoResult",nzPageSizeOptions:"nzPageSizeOptions",nzVirtualItemSize:"nzVirtualItemSize",nzVirtualMaxBufferPx:"nzVirtualMaxBufferPx",nzVirtualMinBufferPx:"nzVirtualMinBufferPx",nzVirtualForTrackBy:"nzVirtualForTrackBy",nzLoadingDelay:"nzLoadingDelay",nzPageIndex:"nzPageIndex",nzPageSize:"nzPageSize",nzTotal:"nzTotal",nzWidthConfig:"nzWidthConfig",nzData:"nzData",nzCustomColumn:"nzCustomColumn",nzPaginationPosition:"nzPaginationPosition",nzScroll:"nzScroll",noDataVirtualHeight:"noDataVirtualHeight",nzPaginationType:"nzPaginationType",nzFrontPagination:[2,"nzFrontPagination","nzFrontPagination",I],nzTemplateMode:[2,"nzTemplateMode","nzTemplateMode",I],nzShowPagination:[2,"nzShowPagination","nzShowPagination",I],nzLoading:[2,"nzLoading","nzLoading",I],nzOuterBordered:[2,"nzOuterBordered","nzOuterBordered",I],nzLoadingIndicator:"nzLoadingIndicator",nzBordered:[2,"nzBordered","nzBordered",I],nzSize:"nzSize",nzShowSizeChanger:[2,"nzShowSizeChanger","nzShowSizeChanger",I],nzHideOnSinglePage:[2,"nzHideOnSinglePage","nzHideOnSinglePage",I],nzShowQuickJumper:[2,"nzShowQuickJumper","nzShowQuickJumper",I],nzSimple:[2,"nzSimple","nzSimple",I]},outputs:{nzPageSizeChange:"nzPageSizeChange",nzPageIndexChange:"nzPageIndexChange",nzQueryParams:"nzQueryParams",nzCurrentPageDataChange:"nzCurrentPageDataChange",nzCustomColumnChange:"nzCustomColumnChange"},exportAs:["nzTable"],standalone:!0,features:[et([Bl,Tv]),je,xe,me],ngContentSelectors:Ll,decls:13,vars:26,consts:[["tableMainElement",""],["paginationTemplate",""],["contentTemplate",""],[3,"nzDelay","nzSpinning","nzIndicator"],[3,"ngTemplateOutlet"],[1,"ant-table"],[3,"title"],[3,"data","scrollX","scrollY","contentTemplate","listOfColWidth","theadTemplate","verticalScrollBarWidth","virtualTemplate","virtualItemSize","virtualMaxBufferPx","virtualMinBufferPx","tableMainElement","virtualForTrackBy","noDataVirtualHeight"],[3,"tableLayout","listOfColWidth","theadTemplate","contentTemplate"],[3,"footer"],[1,"ant-table-pagination","ant-table-pagination-right",3,"hidden","nzShowSizeChanger","nzPageSizeOptions","nzItemRender","nzShowQuickJumper","nzHideOnSinglePage","nzShowTotal","nzSize","nzPageSize","nzTotal","nzSimple","nzPageIndex"],[1,"ant-table-pagination","ant-table-pagination-right",3,"nzPageSizeChange","nzPageIndexChange","hidden","nzShowSizeChanger","nzPageSizeOptions","nzItemRender","nzShowQuickJumper","nzHideOnSinglePage","nzShowTotal","nzSize","nzPageSize","nzTotal","nzSimple","nzPageIndex"]],template:function(i,o){1&i&&(Et(),f(0,"nz-spin",3),C(1,v4e,1,1,null,4),f(2,"div",5,0),C(4,b4e,1,1,"nz-table-title-footer",6)(5,_4e,1,14,"nz-table-inner-scroll",7)(6,y4e,1,4,"nz-table-inner-default",8)(7,w4e,1,1,"nz-table-title-footer",9),m(),C(8,z4e,1,1,null,4),m(),C(9,S4e,1,1,"ng-template",null,1,ot)(11,T4e,1,0,"ng-template",null,2,ot)),2&i&&(h("nzDelay",o.nzLoadingDelay)("nzSpinning",o.nzLoading)("nzIndicator",o.nzLoadingIndicator),d(),he("both"===o.nzPaginationPosition||"top"===o.nzPaginationPosition?1:-1),d(),Z("ant-table-rtl","rtl"===o.dir)("ant-table-fixed-header",o.nzData.length&&o.scrollY)("ant-table-fixed-column",o.scrollX)("ant-table-has-fix-left",o.hasFixLeft)("ant-table-has-fix-right",o.hasFixRight)("ant-table-bordered",o.nzBordered)("nz-table-out-bordered",o.nzOuterBordered&&!o.nzBordered)("ant-table-middle","middle"===o.nzSize)("ant-table-small","small"===o.nzSize),d(2),he(o.nzTitle?4:-1),d(),he(o.scrollY||o.scrollX?5:6),d(2),he(o.nzFooter?7:-1),d(),he("both"===o.nzPaginationPosition||"bottom"===o.nzPaginationPosition?8:-1))},dependencies:[JO,Nn,lP,Mv,N4e,a0e,KO],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzLoadingIndicator",void 0),xt([Vt()],t.prototype,"nzBordered",void 0),xt([Vt()],t.prototype,"nzSize",void 0),xt([Vt()],t.prototype,"nzShowSizeChanger",void 0),xt([Vt()],t.prototype,"nzHideOnSinglePage",void 0),xt([Vt()],t.prototype,"nzShowQuickJumper",void 0),xt([Vt()],t.prototype,"nzSimple",void 0),t})(),W1=(()=>{class t{constructor(e){this.nzTableStyleService=e,this.destroy$=new V,this.listOfFixedColumns$=new fi(1),this.listOfColumns$=new fi(1),this.listOfFixedColumnsChanges$=this.listOfFixedColumns$.pipe(mn(i=>On(this.listOfFixedColumns$,...i.map(o=>o.changes$)).pipe(Yn(()=>this.listOfFixedColumns$))),P(this.destroy$)),this.listOfFixedLeftColumnChanges$=this.listOfFixedColumnsChanges$.pipe(Pe(i=>i.filter(o=>!1!==o.nzLeft))),this.listOfFixedRightColumnChanges$=this.listOfFixedColumnsChanges$.pipe(Pe(i=>i.filter(o=>!1!==o.nzRight))),this.listOfColumnsChanges$=this.listOfColumns$.pipe(mn(i=>On(this.listOfColumns$,...i.map(o=>o.changes$)).pipe(Yn(()=>this.listOfColumns$))),P(this.destroy$)),this.isInsideTable=!1,this.isInsideTable=!!e}ngAfterContentInit(){this.nzTableStyleService&&(this.listOfCellFixedDirective.changes.pipe(gn(this.listOfCellFixedDirective),P(this.destroy$)).subscribe(this.listOfFixedColumns$),this.listOfNzThDirective.changes.pipe(gn(this.listOfNzThDirective),P(this.destroy$)).subscribe(this.listOfColumns$),this.listOfFixedLeftColumnChanges$.subscribe(e=>{e.forEach(i=>i.setIsLastLeft(i===e[e.length-1]))}),this.listOfFixedRightColumnChanges$.subscribe(e=>{e.forEach(i=>i.setIsFirstRight(i===e[0]))}),Di([this.nzTableStyleService.listOfListOfThWidth$,this.listOfFixedLeftColumnChanges$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{i.forEach((o,r)=>{if(o.isAutoLeft){const a=i.slice(0,r).reduce((c,u)=>c+(u.colspan||u.colSpan||1),0),l=e.slice(0,a).reduce((c,u)=>c+u,0);o.setAutoLeftWidth(`${l}px`)}})}),Di([this.nzTableStyleService.listOfListOfThWidth$,this.listOfFixedRightColumnChanges$]).pipe(P(this.destroy$)).subscribe(([e,i])=>{i.forEach((o,r)=>{const s=i[i.length-r-1];if(s.isAutoRight){const l=i.slice(i.length-r,i.length).reduce((u,p)=>u+(p.colspan||p.colSpan||1),0),c=e.slice(e.length-l,e.length).reduce((u,p)=>u+p,0);s.setAutoRightWidth(`${c}px`)}})}))}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Bl,8))};static#t=this.\u0275dir=de({type:t,selectors:[["tr",3,"mat-row","",3,"mat-header-row","",3,"nz-table-measure-row","",3,"nzExpand","",3,"nz-table-fixed-row",""]],contentQueries:function(i,o,r){if(1&i&&(fn(r,Y1,4),fn(r,P4e,4)),2&i){let s;ke(s=Ie())&&(o.listOfNzThDirective=s),ke(s=Ie())&&(o.listOfCellFixedDirective=s)}},hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-table-row",o.isInsideTable)},standalone:!0})}return t})(),N2=(()=>{class t{constructor(e,i,o,r){this.elementRef=e,this.renderer=i,this.nzTableStyleService=o,this.nzTableDataService=r,this.destroy$=new V,this.isInsideTable=!1,this.nzSortOrderChange=new B,this.isInsideTable=!!this.nzTableStyleService}ngOnInit(){this.nzTableStyleService&&this.nzTableStyleService.setTheadTemplate(this.templateRef)}ngAfterContentInit(){if(this.nzTableStyleService){const e=this.listOfNzTrDirective.changes.pipe(gn(this.listOfNzTrDirective),Pe(s=>s&&s.first)),i=e.pipe(mn(s=>s?s.listOfColumnsChanges$:_o),P(this.destroy$));i.subscribe(s=>this.nzTableStyleService.setListOfTh(s)),this.nzTableStyleService.enableAutoMeasure$.pipe(mn(s=>s?i:Ge([]))).pipe(P(this.destroy$)).subscribe(s=>this.nzTableStyleService.setListOfMeasureColumn(s));const o=e.pipe(mn(s=>s?s.listOfFixedLeftColumnChanges$:_o),P(this.destroy$)),r=e.pipe(mn(s=>s?s.listOfFixedRightColumnChanges$:_o),P(this.destroy$));o.subscribe(s=>{this.nzTableStyleService.setHasFixLeft(0!==s.length)}),r.subscribe(s=>{this.nzTableStyleService.setHasFixRight(0!==s.length)})}if(this.nzTableDataService){const e=this.listOfNzThAddOnComponent.changes.pipe(gn(this.listOfNzThAddOnComponent));e.pipe(mn(()=>On(...this.listOfNzThAddOnComponent.map(r=>r.manualClickOrder$))),P(this.destroy$)).subscribe(r=>{this.nzSortOrderChange.emit({key:r.nzColumnKey,value:r.sortOrder}),r.nzSortFn&&!1===r.nzSortPriority&&this.listOfNzThAddOnComponent.filter(a=>a!==r).forEach(a=>a.clearSortOrder())}),e.pipe(mn(r=>On(e,...r.map(s=>s.calcOperatorChange$)).pipe(Yn(()=>e))),Pe(r=>r.filter(s=>!!s.nzSortFn||!!s.nzFilterFn).map(s=>{const{nzSortFn:a,sortOrder:l,nzFilterFn:c,nzFilterValue:u,nzSortPriority:p,nzColumnKey:b}=s;return{key:b,sortFn:a,sortPriority:p,sortOrder:l,filterFn:c,filterValue:u}})),C2(0),P(this.destroy$)).subscribe(r=>{this.nzTableDataService.listOfCalcOperator$.next(r)})}}ngAfterViewInit(){this.nzTableStyleService&&this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement),this.elementRef.nativeElement)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Yt),v(Bl,8),v(Tv,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["thead",9,"ant-table-thead"]],contentQueries:function(i,o,r){if(1&i&&(fn(r,W1,5),fn(r,rP,5)),2&i){let s;ke(s=Ie())&&(o.listOfNzTrDirective=s),ke(s=Ie())&&(o.listOfNzThAddOnComponent=s)}},viewQuery:function(i,o){if(1&i&&ft(M4e,7),2&i){let r;ke(r=Ie())&&(o.templateRef=r.first)}},outputs:{nzSortOrderChange:"nzSortOrderChange"},standalone:!0,features:[me],ngContentSelectors:Ll,decls:3,vars:1,consts:[["contentTemplate",""],[3,"ngTemplateOutlet"]],template:function(i,o){1&i&&(Et(),C(0,D4e,1,0,"ng-template",null,0,ot)(2,x4e,1,1,null,1)),2&i&&(d(2),he(o.isInsideTable?-1:2))},dependencies:[Nn],encapsulation:2,changeDetection:0})}return t})(),L4e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[U1,rP,oP,Hl,lP,Mv,iP,tP,nP,eP,sP]})}return t})();function B4e(t,n){if(1&t&&(f(0,"div"),w(1),m()),2&t){const e=g().$implicit;d(),D(e.desc)}}function H4e(t,n){if(1&t){const e=W();f(0,"input",14),Ii("ngModelChange",function(o){S(e);const r=g().$implicit;return Ui(r.desc,o)||(r.desc=o),T(o)}),m()}2&t&&ki("ngModel",g().$implicit.desc)}function j4e(t,n){if(1&t){const e=W();f(0,"div")(1,"a",15),M("nzOnConfirm",function(){S(e);const o=g().index;return T(g().handleDelete(o))}),f(2,"a"),w(3),m()()()}if(2&t){const e=g(2);d(),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(2),D(e.$t("_del"))}}function Y4e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",6)(2,"input",7),Ii("ngModelChange",function(o){const r=S(e).$implicit;return Ui(r.name,o)||(r.name=o),T(o)}),m()(),f(3,"td",8)(4,"input",9),M("change",function(o){const r=S(e).index;return T(g().onColorChange(o,r))}),m(),w(5),m(),f(6,"td",10),w(7),m(),f(8,"td",11),C(9,B4e,2,1,"div",12)(10,H4e,1,1,"input",13),m(),f(11,"td"),C(12,j4e,4,2,"div",12),m()()}if(2&t){const e=n.$implicit;d(2),ki("ngModel",e.name),d(2),h("value",e.color),d(),we(" - ",e.color," "),d(2),D(e.createdAt),d(2),h("ngIf",e.isInner),d(),h("ngIf",!e.isInner),d(2),h("ngIf",!e.isInner)}}let U4e=(()=>{class t{constructor(e,i){this.message=e,this.modal=i,this.$t=be,this.tagList=h3,this.submitting=!1,this.incrementId=Math.max(...h3.map(o=>o.id))+100}ngOnInit(){}onColorChange(e,i){this.tagList[i].color=e.target.value}handleAdd(){this.incrementId+=1,this.tagList.unshift({id:this.incrementId,name:"",createdAt:"",color:"#f50000",desc:"",isInner:!1})}handleDelete(e){this.tagList.splice(e,1)}handleSubmit(){if(this.submitting)return;const e={};this.tagList.forEach(i=>{i.name?.trim?.()&&(e[i.name]={...i,name:void 0})}),Object.keys(e).length===this.tagList.length?this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{this.submitting=!0,vl({message:"Update Tag",content:JSON.stringify(this.tagList),path:"data/tag.json"}).then(()=>{this.message.success(be("_saveSuccess"))}).finally(()=>{this.submitting=!1})}}):this.message.error(be("_repeatAdd"))}trackByItem(e,i){return i.id}static#e=this.\u0275fac=function(i){return new(i||t)(v(er),v(za))};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-tag"]],decls:23,vars:13,consts:[["basicTable",""],["nz-button","",1,"add-btn",3,"click","nzLoading"],["nz-button","","nzType","primary",3,"click","nzLoading"],[1,"mb12"],[3,"nzData"],[4,"ngFor","ngForOf","ngForTrackBy"],["width","150px"],["nz-input","","maxlength","10",3,"ngModelChange","ngModel"],["width","160px"],["type","color",3,"change","value"],["width","220px"],["width","200px"],[4,"ngIf"],["nz-input","","maxlength","20",3,"ngModel","ngModelChange",4,"ngIf"],["nz-input","","maxlength","20",3,"ngModelChange","ngModel"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"]],template:function(i,o){if(1&i){const r=W();f(0,"button",1),M("click",function(){return S(r),T(o.handleAdd())}),w(1),m(),f(2,"button",2),M("click",function(){return S(r),T(o.handleSubmit())}),w(3),m(),f(4,"div",3)(5,"b"),w(6),m()(),f(7,"nz-table",4,0)(9,"thead")(10,"tr")(11,"th"),w(12),m(),f(13,"th"),w(14),m(),f(15,"th"),w(16),m(),f(17,"th"),w(18),m(),f(19,"th"),w(20),m()()(),f(21,"tbody"),C(22,Y4e,13,7,"tr",5),m()()}2&i&&(h("nzLoading",o.submitting),d(),we(" ",o.$t("_addRow"),"\n"),d(),h("nzLoading",o.submitting),d(),we(" ",o.$t("_save"),"\n"),d(3),D(o.$t("_buildTip")),d(),h("nzData",o.tagList),d(5),D(o.$t("_tagName")),d(2),D(o.$t("_color")),d(2),D(o.$t("_createAt")),d(2),D(o.$t("_remark")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.tagList)("ngForTrackBy",o.trackByItem))},dependencies:[zn,St,Gs,nr,mi,tr,wr,Zi,O2,H1,U1,V2,Y1,N2,Hl,W1,Xi],styles:[".add-btn[_ngcontent-%COMP%]{margin-bottom:20px;margin-right:20px}"]})}return t})();const W4e=["switchElement"];function G4e(t,n){1&t&&A(0,"span",8)}function q4e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.nzCheckedChildren)}}function Q4e(t,n){if(1&t&&(Ye(0),C(1,q4e,2,1,"ng-container",9),Ue()),2&t){const e=g();d(),h("nzStringTemplateOutlet",e.nzCheckedChildren)}}function K4e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.nzUnCheckedChildren)}}function $4e(t,n){1&t&&C(0,K4e,2,1,"ng-container",9),2&t&&h("nzStringTemplateOutlet",g().nzUnCheckedChildren)}let Vp=(()=>{class t{updateValue(e){this.isChecked!==e&&(this.isChecked=e,this.onChange(this.isChecked))}focus(){this.focusMonitor.focusVia(this.switchElement.nativeElement,"keyboard")}blur(){this.switchElement.nativeElement.blur()}constructor(e,i,o,r,s,a){this.nzConfigService=e,this.host=i,this.ngZone=o,this.cdr=r,this.focusMonitor=s,this.directionality=a,this._nzModuleName="switch",this.isChecked=!1,this.onChange=()=>{},this.onTouched=()=>{},this.nzLoading=!1,this.nzDisabled=!1,this.nzControl=!1,this.nzCheckedChildren=null,this.nzUnCheckedChildren=null,this.nzSize="default",this.nzId=null,this.dir="ltr",this.destroy$=new V,this.isNzDisableFirstChange=!0}ngOnInit(){this.directionality.change.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value,this.ngZone.runOutsideAngular(()=>{nn(this.host.nativeElement,"click").pipe(P(this.destroy$)).subscribe(e=>{e.preventDefault(),!(this.nzControl||this.nzDisabled||this.nzLoading)&&this.ngZone.run(()=>{this.updateValue(!this.isChecked),this.cdr.markForCheck()})}),nn(this.switchElement.nativeElement,"keydown").pipe(P(this.destroy$)).subscribe(e=>{if(this.nzControl||this.nzDisabled||this.nzLoading)return;const{keyCode:i}=e;37!==i&&39!==i&&32!==i&&13!==i||(e.preventDefault(),this.ngZone.run(()=>{37===i?this.updateValue(!1):39===i?this.updateValue(!0):(32===i||13===i)&&this.updateValue(!this.isChecked),this.cdr.markForCheck()}))})})}ngAfterViewInit(){this.focusMonitor.monitor(this.switchElement.nativeElement,!0).pipe(P(this.destroy$)).subscribe(e=>{e||Promise.resolve().then(()=>this.onTouched())})}ngOnDestroy(){this.focusMonitor.stopMonitoring(this.switchElement.nativeElement),this.destroy$.next(),this.destroy$.complete()}writeValue(e){this.isChecked=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.cdr.markForCheck()}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Se),v(Me),v(We),v(wa),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-switch"]],viewQuery:function(i,o){if(1&i&&ft(W4e,7),2&i){let r;ke(r=Ie())&&(o.switchElement=r.first)}},inputs:{nzLoading:[2,"nzLoading","nzLoading",I],nzDisabled:[2,"nzDisabled","nzDisabled",I],nzControl:[2,"nzControl","nzControl",I],nzCheckedChildren:"nzCheckedChildren",nzUnCheckedChildren:"nzUnCheckedChildren",nzSize:"nzSize",nzId:"nzId"},exportAs:["nzSwitch"],standalone:!0,features:[et([{provide:Ni,useExisting:Gt(()=>t),multi:!0}]),je,me],decls:9,vars:16,consts:[["switchElement",""],["uncheckTemplate",""],["nz-wave","","type","button",1,"ant-switch",3,"disabled","nzWaveExtraNode"],[1,"ant-switch-handle"],["nz-icon","","nzType","loading","class","ant-switch-loading-icon",4,"ngIf"],[1,"ant-switch-inner"],[4,"ngIf","ngIfElse"],[1,"ant-click-animating-node"],["nz-icon","","nzType","loading",1,"ant-switch-loading-icon"],[4,"nzStringTemplateOutlet"]],template:function(i,o){if(1&i&&(f(0,"button",2,0)(2,"span",3),C(3,G4e,1,0,"span",4),m(),f(4,"span",5),C(5,Q4e,2,1,"ng-container",6)(6,$4e,1,1,"ng-template",null,1,ot),m(),A(8,"div",7),m()),2&i){const r=Be(7);Z("ant-switch-checked",o.isChecked)("ant-switch-loading",o.nzLoading)("ant-switch-disabled",o.nzDisabled)("ant-switch-small","small"===o.nzSize)("ant-switch-rtl","rtl"===o.dir),h("disabled",o.nzDisabled)("nzWaveExtraNode",!0),Ot("id",o.nzId),d(3),h("ngIf",o.nzLoading),d(2),h("ngIf",o.isChecked)("ngIfElse",r)}},dependencies:[pk,tr,In,ln,St,Sn,An],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzSize",void 0),t})(),Z4e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Vp]})}return t})();function X4e(t,n){1&t&&A(0,"i",4),2&t&&h("title",g().$t("_upload"))}function e3e(t,n){1&t&&A(0,"i",5),2&t&&h("nzType","loading")}let dP=(()=>{class t{constructor(e){this.message=e,this.onChange=new B,this.$t=be,this.uploading=!1,this.id=`f${Date.now()}`}onChangeFile(e){if(this.uploading)return;const{files:i}=e.target;if(i.length<=0)return;const o=i[0];if(!o.type.startsWith("image"))return this.message.error(be("_notUpload"));this.onUpload(o).finally(()=>{e.target.value=""})}onUpload(e){const i=this;return new Promise((o,r)=>{const s=new FileReader;s.readAsDataURL(e),s.onerror=r,s.onload=function(){i.uploading=!0;const l=this.result.split(",")[1],c=`nav-${Date.now()}-${e.name}`;JD({branch:"image",message:"create image",content:l,isEncode:!1,path:c}).then(()=>{const u={rawPath:c,cdn:ZD(c)};i.onChange.emit(u),i.message.success(be("_uploadSuccess")),o(u)}).catch(r).finally(()=>{i.uploading=!1})}})}static#e=this.\u0275fac=function(i){return new(i||t)(v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-upload"]],outputs:{onChange:"onChange"},decls:4,vars:4,consts:[[1,"file",3,"id"],["nz-icon","","nzType","upload","nzTheme","outline","class","cursor-pointer",3,"title",4,"ngIf"],["nz-icon","",3,"nzType",4,"ngIf"],["type","file","accept","image/*",1,"file-upload",3,"change","name"],["nz-icon","","nzType","upload","nzTheme","outline",1,"cursor-pointer",3,"title"],["nz-icon","",3,"nzType"]],template:function(i,o){1&i&&(f(0,"label",0),C(1,X4e,1,1,"i",1)(2,e3e,1,1,"i",2),f(3,"input",3),M("change",function(s){return o.onChangeFile(s)}),m()()),2&i&&(h("id",o.id),d(),h("ngIf",!o.uploading),d(),h("ngIf",o.uploading),d(),h("name",o.id))},dependencies:[St,mi,ln],styles:[".file[_ngcontent-%COMP%] .file-upload[_ngcontent-%COMP%]{display:none}"]})}return t})();function t3e(t,n){if(1&t){const e=W();f(0,"input",20),Ii("ngModelChange",function(o){S(e);const r=g().$implicit;return Ui(r.url,o)||(r.url=o),T(o)}),m()}2&t&&ki("ngModel",g().$implicit.url)}function n3e(t,n){1&t&&A(0,"img",21),2&t&&h("src",g().$implicit.icon,It)}function i3e(t,n){if(1&t){const e=W();f(0,"div")(1,"a",22),M("nzOnConfirm",function(){S(e);const o=g().index;return T(g().handleDelete(o))}),f(2,"a"),w(3),m()()()}if(2&t){const e=g(2);d(),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(2),D(e.$t("_del"))}}function o3e(t,n){if(1&t){const e=W();f(0,"tr",7)(1,"td",8)(2,"input",9),Ii("ngModelChange",function(o){const r=S(e).$implicit;return Ui(r.name,o)||(r.name=o),T(o)}),m()(),f(3,"td",10),C(4,t3e,1,1,"input",11),m(),f(5,"td",12),C(6,n3e,1,1,"img",13),f(7,"input",14),Ii("ngModelChange",function(o){const r=S(e).$implicit;return Ui(r.icon,o)||(r.icon=o),T(o)}),m(),f(8,"app-upload",15),M("onChange",function(o){const r=S(e).index;return T(g().onChangeUpload(o,r))}),m()(),f(9,"td",10)(10,"input",16),Ii("ngModelChange",function(o){const r=S(e).$implicit;return Ui(r.placeholder,o)||(r.placeholder=o),T(o)}),m()(),f(11,"td",17)(12,"nz-switch",18),Ii("ngModelChange",function(o){const r=S(e).$implicit;return Ui(r.blocked,o)||(r.blocked=o),T(o)}),m()(),f(13,"td"),C(14,i3e,4,2,"div",19),m()()}if(2&t){const e=n.$implicit;d(2),ki("ngModel",e.name),d(2),h("ngIf",!e.isInner),d(2),h("ngIf",e.icon),d(),ki("ngModel",e.icon),d(3),ki("ngModel",e.placeholder),d(2),ki("ngModel",e.blocked),d(2),h("ngIf",!e.isInner)}}let r3e=(()=>{class t{constructor(e,i){this.message=e,this.modal=i,this.$t=be,this.searchList=D5,this.submitting=!1}handleAdd(){this.searchList.unshift({name:"",url:"",icon:"",placeholder:"",blocked:!1,isInner:!1})}handleDelete(e){this.searchList.splice(e,1)}handleSubmit(){this.submitting||this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{const e={};this.searchList.forEach(i=>{i.name.trim()&&(e[i.name]=null)}),Object.keys(e).length===this.searchList.length?(this.submitting=!0,vl({message:"Update Search",content:JSON.stringify(this.searchList,null,2),path:"data/search.json"}).then(()=>{this.message.success(be("_saveSuccess"))}).finally(()=>{this.submitting=!1})):this.message.error(be("_repeatAdd"))}})}onChangeUpload(e,i){this.searchList[i].icon=e.cdn}onDrop(e){Dl(this.searchList,e.previousIndex,e.currentIndex)}static#e=this.\u0275fac=function(i){return new(i||t)(v(er),v(za))};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-tag"]],decls:25,vars:13,consts:[["basicTable",""],["nz-button","",1,"add-btn",3,"click","nzLoading"],["nz-button","","nzType","primary",3,"click","nzLoading"],[1,"mb12"],[3,"nzData"],["cdkDropList","",3,"cdkDropListDropped"],["cdkDrag","",4,"ngFor","ngForOf"],["cdkDrag",""],["width","150px"],["nz-input","","maxlength","10",3,"ngModelChange","ngModel"],["width","220px"],["nz-input","",3,"ngModel","ngModelChange",4,"ngIf"],["width","260px",1,"nowrap"],["class","icon",3,"src",4,"ngIf"],["nz-input","","type","text",2,"width","180px",3,"ngModelChange","ngModel"],[3,"onChange"],["nz-input","","maxlength","50",3,"ngModelChange","ngModel"],["width","100px"],[3,"ngModelChange","ngModel"],[4,"ngIf"],["nz-input","",3,"ngModelChange","ngModel"],[1,"icon",3,"src"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"]],template:function(i,o){if(1&i){const r=W();f(0,"button",1),M("click",function(){return S(r),T(o.handleAdd())}),w(1),m(),f(2,"button",2),M("click",function(){return S(r),T(o.handleSubmit())}),w(3),m(),f(4,"div",3)(5,"b"),w(6),m()(),f(7,"nz-table",4,0)(9,"thead")(10,"tr")(11,"th"),w(12),m(),f(13,"th"),w(14),m(),f(15,"th"),w(16),m(),f(17,"th"),w(18),m(),f(19,"th"),w(20),m(),f(21,"th"),w(22),m()()(),f(23,"tbody",5),M("cdkDropListDropped",function(a){return S(r),T(o.onDrop(a))}),C(24,o3e,15,7,"tr",6),m()()}2&i&&(h("nzLoading",o.submitting),d(),we(" ",o.$t("_addRow"),"\n"),d(),h("nzLoading",o.submitting),d(),we(" ",o.$t("_save"),"\n"),d(3),D(o.$t("_buildTip")),d(),h("nzData",o.searchList),d(5),D(o.$t("_engineName")),d(2),D(o.$t("_engineUrl")),d(2),D(o.$t("_icon")),d(2),D(o.$t("_desc")),d(2),D(o.$t("_isDisable")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.searchList))},dependencies:[zn,St,Gs,nr,mi,tr,wr,Zi,O2,H1,U1,V2,Y1,N2,Hl,W1,Vp,op,b2,Xi,dP],styles:[".add-btn[_ngcontent-%COMP%]{margin-bottom:20px;margin-right:20px}.icon[_ngcontent-%COMP%]{width:30px;height:30px;margin-right:10px;object-fit:cover} #file{vertical-align:middle;margin-left:10px} #file .anticon{font-size:20px}"]})}return t})();const Dv=["*"],s3e=t=>[t],a3e=t=>({$implicit:t});function l3e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.innerTip)}}function c3e(t,n){if(1&t&&(f(0,"div",2)(1,"div",4),C(2,l3e,2,1,"ng-container",5),m()()),2&t){const e=g();h("@helpMotion",void 0),d(),h("ngClass",mr(4,s3e,"ant-form-item-explain-"+e.status)),d(),h("nzStringTemplateOutlet",e.innerTip)("nzStringTemplateOutletContext",mr(6,a3e,e.validateControl))}}function d3e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.nzExtra)}}function u3e(t,n){if(1&t&&(f(0,"div",3),C(1,d3e,2,1,"ng-container",6),m()),2&t){const e=g();d(),h("nzStringTemplateOutlet",e.nzExtra)}}function h3e(t,n){if(1&t&&(Ye(0),A(1,"span",2),Ue()),2&t){const e=n.$implicit,i=g(2);d(),h("nzType",e)("nzTheme",i.tooltipIcon.theme)}}function p3e(t,n){if(1&t&&(f(0,"span",0),C(1,h3e,2,2,"ng-container",1),m()),2&t){const e=g();h("nzTooltipTitle",e.nzTooltipTitle),d(),h("nzStringTemplateOutlet",e.tooltipIcon.type)}}let Np=(()=>{class t{setWithHelpViaTips(e){this.withHelpClass=e,this.cdr.markForCheck()}setStatus(e){this.status=e,this.cdr.markForCheck()}setHasFeedback(e){this.hasFeedback=e,this.cdr.markForCheck()}constructor(e){this.cdr=e,this.status="",this.hasFeedback=!1,this.withHelpClass=!1,this.destroy$=new V}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-form-item"]],hostAttrs:[1,"ant-form-item"],hostVars:12,hostBindings:function(i,o){2&i&&Z("ant-form-item-has-success","success"===o.status)("ant-form-item-has-warning","warning"===o.status)("ant-form-item-has-error","error"===o.status)("ant-form-item-is-validating","validating"===o.status)("ant-form-item-has-feedback",o.hasFeedback&&o.status)("ant-form-item-with-help",o.withHelpClass)},exportAs:["nzFormItem"],standalone:!0,features:[me],ngContentSelectors:Dv,decls:1,vars:0,template:function(i,o){1&i&&(Et(),_t(0))},encapsulation:2,changeDetection:0})}return t})();const Ev={type:"question-circle",theme:"outline"};let F2=(()=>{class t{getInputObservable(e){return this.inputChanges$.pipe(yt(i=>e in i),Pe(i=>i[e]))}constructor(e,i){this.nzConfigService=e,this.directionality=i,this._nzModuleName="form",this.nzLayout="horizontal",this.nzNoColon=!1,this.nzAutoTips={},this.nzDisableAutoTips=!1,this.nzTooltipIcon=Ev,this.nzLabelAlign="right",this.nzLabelWrap=!1,this.dir="ltr",this.destroy$=new V,this.inputChanges$=new V,this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(o=>{this.dir=o})}ngOnChanges(e){this.inputChanges$.next(e)}ngOnDestroy(){this.inputChanges$.complete(),this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Ct,8))};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-form",""]],hostAttrs:[1,"ant-form"],hostVars:8,hostBindings:function(i,o){2&i&&Z("ant-form-horizontal","horizontal"===o.nzLayout)("ant-form-vertical","vertical"===o.nzLayout)("ant-form-inline","inline"===o.nzLayout)("ant-form-rtl","rtl"===o.dir)},inputs:{nzLayout:"nzLayout",nzNoColon:[2,"nzNoColon","nzNoColon",I],nzAutoTips:"nzAutoTips",nzDisableAutoTips:[2,"nzDisableAutoTips","nzDisableAutoTips",I],nzTooltipIcon:"nzTooltipIcon",nzLabelAlign:"nzLabelAlign",nzLabelWrap:[2,"nzLabelWrap","nzLabelWrap",I]},exportAs:["nzForm"],standalone:!0,features:[je,xe]})}return xt([Vt()],t.prototype,"nzNoColon",void 0),xt([Vt()],t.prototype,"nzAutoTips",void 0),xt([Vt()],t.prototype,"nzTooltipIcon",void 0),xt([Vt()],t.prototype,"nzLabelWrap",void 0),t})(),Fp=(()=>{class t{get disableAutoTips(){return void 0!==this.nzDisableAutoTips?H5(this.nzDisableAutoTips):this.nzFormDirective?.nzDisableAutoTips}set nzHasFeedback(e){this._hasFeedback=e,this.nzFormStatusService.formStatusChanges.next({status:this.status,hasFeedback:this._hasFeedback}),this.nzFormItemComponent&&this.nzFormItemComponent.setHasFeedback(this._hasFeedback)}get nzHasFeedback(){return this._hasFeedback}set nzValidateStatus(e){e instanceof M2||e instanceof Xi?(this.validateControl=e,this.validateString=null,this.watchControl()):e instanceof L1?(this.validateControl=e.control,this.validateString=null,this.watchControl()):(this.validateString=e,this.validateControl=null,this.setStatus())}watchControl(){this.validateChanges.unsubscribe(),this.validateControl&&this.validateControl.statusChanges&&(this.validateChanges=this.validateControl.statusChanges.pipe(gn(null),P(this.destroyed$)).subscribe(()=>{this.disableAutoTips||this.updateAutoErrorTip(),this.setStatus(),this.cdr.markForCheck()}))}setStatus(){this.status=this.getControlStatus(this.validateString),this.innerTip=this.getInnerTip(this.status),this.nzFormStatusService.formStatusChanges.next({status:this.status,hasFeedback:this.nzHasFeedback}),this.nzFormItemComponent&&(this.nzFormItemComponent.setWithHelpViaTips(!!this.innerTip),this.nzFormItemComponent.setStatus(this.status))}getControlStatus(e){let i;return i="warning"===e||this.validateControlStatus("INVALID","warning")?"warning":"error"===e||this.validateControlStatus("INVALID")?"error":"validating"===e||"pending"===e||this.validateControlStatus("PENDING")?"validating":"success"===e||this.validateControlStatus("VALID")?"success":"",i}validateControlStatus(e,i){if(this.validateControl){const{dirty:o,touched:r,status:s}=this.validateControl;return(!!o||!!r)&&(i?this.validateControl.hasError(i):s===e)}return!1}getInnerTip(e){switch(e){case"error":return!this.disableAutoTips&&this.autoErrorTip||this.nzErrorTip||null;case"validating":return this.nzValidatingTip||null;case"success":return this.nzSuccessTip||null;case"warning":return this.nzWarningTip||null;default:return null}}updateAutoErrorTip(){if(this.validateControl){const e=this.validateControl.errors||{};let i="";for(const o in e)if(e.hasOwnProperty(o)&&(i=e[o]?.[this.localeId]??this.nzAutoTips?.[this.localeId]?.[o]??this.nzAutoTips.default?.[o]??this.nzFormDirective?.nzAutoTips?.[this.localeId]?.[o]??this.nzFormDirective?.nzAutoTips.default?.[o]),i)break;this.autoErrorTip=i}}subscribeAutoTips(e){e?.pipe(P(this.destroyed$)).subscribe(()=>{this.disableAutoTips||(this.updateAutoErrorTip(),this.setStatus(),this.cdr.markForCheck())})}constructor(e,i,o,r,s){this.nzFormItemComponent=e,this.cdr=i,this.nzFormDirective=r,this.nzFormStatusService=s,this._hasFeedback=!1,this.validateChanges=Ft.EMPTY,this.validateString=null,this.destroyed$=new V,this.status="",this.validateControl=null,this.innerTip=null,this.nzAutoTips={},this.subscribeAutoTips(o.localeChange.pipe(ii(a=>this.localeId=a.locale))),this.subscribeAutoTips(this.nzFormDirective?.getInputObservable("nzAutoTips")),this.subscribeAutoTips(this.nzFormDirective?.getInputObservable("nzDisableAutoTips").pipe(yt(()=>void 0===this.nzDisableAutoTips)))}ngOnChanges(e){const{nzDisableAutoTips:i,nzAutoTips:o,nzSuccessTip:r,nzWarningTip:s,nzErrorTip:a,nzValidatingTip:l}=e;i||o?(this.updateAutoErrorTip(),this.setStatus()):(r||s||a||l)&&this.setStatus()}ngOnInit(){this.setStatus()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}ngAfterContentInit(){!this.validateControl&&!this.validateString&&(this.nzValidateStatus=this.defaultValidateControl instanceof dv?this.defaultValidateControl.control:this.defaultValidateControl)}static#e=this.\u0275fac=function(i){return new(i||t)(v(Np,9),v(We),v(Ys),v(F2,8),v(xl))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-form-control"]],contentQueries:function(i,o,r){if(1&i&&fn(r,vs,5),2&i){let s;ke(s=Ie())&&(o.defaultValidateControl=s.first)}},hostAttrs:[1,"ant-form-item-control"],inputs:{nzSuccessTip:"nzSuccessTip",nzWarningTip:"nzWarningTip",nzErrorTip:"nzErrorTip",nzValidatingTip:"nzValidatingTip",nzExtra:"nzExtra",nzAutoTips:"nzAutoTips",nzDisableAutoTips:[2,"nzDisableAutoTips","nzDisableAutoTips",I],nzHasFeedback:[2,"nzHasFeedback","nzHasFeedback",I],nzValidateStatus:"nzValidateStatus"},exportAs:["nzFormControl"],standalone:!0,features:[et([xl]),je,xe,me],ngContentSelectors:Dv,decls:5,vars:2,consts:[[1,"ant-form-item-control-input"],[1,"ant-form-item-control-input-content"],[1,"ant-form-item-explain","ant-form-item-explain-connected"],[1,"ant-form-item-extra"],["role","alert",3,"ngClass"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&(Et(),f(0,"div",0)(1,"div",1),_t(2),m()(),C(3,c3e,3,8,"div",2)(4,u3e,2,1,"div",3)),2&i&&(d(3),he(o.innerTip?3:-1),d(),he(o.nzExtra?4:-1))},dependencies:[Jo,Sn,An],encapsulation:2,data:{animation:[Wne]},changeDetection:0})}return t})();function uP(t){return{...Ev,..."string"==typeof t?{type:t}:t}}let Rp=(()=>{class t{set nzNoColon(e){this.noColon=e}get nzNoColon(){return"default"!==this.noColon?this.noColon:this.nzFormDirective?.nzNoColon}set nzTooltipIcon(e){this._tooltipIcon=uP(e)}get tooltipIcon(){return"default"!==this._tooltipIcon?this._tooltipIcon:uP(this.nzFormDirective?.nzTooltipIcon||Ev)}set nzLabelAlign(e){this.labelAlign=e}get nzLabelAlign(){return"default"!==this.labelAlign?this.labelAlign:this.nzFormDirective?.nzLabelAlign||"right"}set nzLabelWrap(e){this.labelWrap=e}get nzLabelWrap(){return"default"!==this.labelWrap?this.labelWrap:this.nzFormDirective?.nzLabelWrap}constructor(e,i){this.cdr=e,this.nzFormDirective=i,this.nzRequired=!1,this.noColon="default",this._tooltipIcon="default",this.labelAlign="default",this.labelWrap="default",this.destroy$=new V,this.nzFormDirective&&(this.nzFormDirective.getInputObservable("nzNoColon").pipe(yt(()=>"default"===this.noColon),P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()),this.nzFormDirective.getInputObservable("nzTooltipIcon").pipe(yt(()=>"default"===this._tooltipIcon),P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()),this.nzFormDirective.getInputObservable("nzLabelAlign").pipe(yt(()=>"default"===this.labelAlign),P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()),this.nzFormDirective.getInputObservable("nzLabelWrap").pipe(yt(()=>"default"===this.labelWrap),P(this.destroy$)).subscribe(()=>this.cdr.markForCheck()))}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(F2,12))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-form-label"]],hostAttrs:[1,"ant-form-item-label"],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-form-item-label-left","left"===o.nzLabelAlign)("ant-form-item-label-wrap",o.nzLabelWrap)},inputs:{nzFor:"nzFor",nzRequired:[2,"nzRequired","nzRequired",I],nzNoColon:[2,"nzNoColon","nzNoColon",I],nzTooltipTitle:"nzTooltipTitle",nzTooltipIcon:"nzTooltipIcon",nzLabelAlign:"nzLabelAlign",nzLabelWrap:[2,"nzLabelWrap","nzLabelWrap",I]},exportAs:["nzFormLabel"],standalone:!0,features:[je,me],ngContentSelectors:Dv,decls:3,vars:6,consts:[["nz-tooltip","",1,"ant-form-item-tooltip",3,"nzTooltipTitle"],[4,"nzStringTemplateOutlet"],["nz-icon","",3,"nzType","nzTheme"]],template:function(i,o){1&i&&(Et(),f(0,"label"),_t(1),C(2,p3e,2,2,"span",0),m()),2&i&&(Z("ant-form-item-no-colon",o.nzNoColon)("ant-form-item-required",o.nzRequired),Ot("for",o.nzFor),d(2),he(o.nzTooltipTitle?2:-1))},dependencies:[Sn,An,Sa,In,ln],encapsulation:2,changeDetection:0})}return t})(),m3e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Rp,Fp,AE]})}return t})();function g3e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(3);d(),D(e.nzTitle)}}function v3e(t,n){if(1&t&&(f(0,"div",7),C(1,g3e,2,1,"ng-container",9),m()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzTitle)}}function b3e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(2);d(),D(e.nzContent)}}function _3e(t,n){if(1&t&&(f(0,"div",2)(1,"div",3)(2,"div",4),A(3,"span",5),m(),f(4,"div",6)(5,"div"),C(6,v3e,2,1,"div",7),f(7,"div",8),C(8,b3e,2,1,"ng-container",9),m()()()()()),2&t){const e=g();Z("ant-popover-rtl","rtl"===e.dir),h("ngClass",e._classMap)("ngStyle",e.nzOverlayStyle)("@.disabled",!(null==e.noAnimation||!e.noAnimation.nzNoAnimation))("nzNoAnimation",null==e.noAnimation?null:e.noAnimation.nzNoAnimation)("@zoomBigMotion","active"),d(6),he(e.nzTitle?6:-1),d(2),h("nzStringTemplateOutlet",e.nzContent)}}let w3e=(()=>{class t extends L7{getProxyPropertyMap(){return{nzPopoverBackdrop:["nzBackdrop",()=>this.nzPopoverBackdrop],...super.getProxyPropertyMap()}}constructor(){super(hP),this._nzModuleName="popover",this.trigger="hover",this.placement="top",this.nzPopoverBackdrop=!1,this.visibleChange=new B}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-popover",""]],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-popover-open",o.visible)},inputs:{arrowPointAtCenter:[2,"nzPopoverArrowPointAtCenter","arrowPointAtCenter",I],title:[0,"nzPopoverTitle","title"],content:[0,"nzPopoverContent","content"],directiveTitle:[0,"nz-popover","directiveTitle"],trigger:[0,"nzPopoverTrigger","trigger"],placement:[0,"nzPopoverPlacement","placement"],origin:[0,"nzPopoverOrigin","origin"],visible:[0,"nzPopoverVisible","visible"],mouseEnterDelay:[0,"nzPopoverMouseEnterDelay","mouseEnterDelay"],mouseLeaveDelay:[0,"nzPopoverMouseLeaveDelay","mouseLeaveDelay"],overlayClassName:[0,"nzPopoverOverlayClassName","overlayClassName"],overlayStyle:[0,"nzPopoverOverlayStyle","overlayStyle"],nzPopoverBackdrop:"nzPopoverBackdrop"},outputs:{visibleChange:"nzPopoverVisibleChange"},exportAs:["nzPopover"],standalone:!0,features:[je,mt]})}return xt([Vt()],t.prototype,"nzPopoverBackdrop",void 0),t})(),hP=(()=>{class t extends up{constructor(e,i,o){super(e,i,o),this._prefix="ant-popover"}get hasBackdrop(){return"click"===this.nzTrigger&&this.nzBackdrop}isEmpty(){return B7(this.nzTitle)&&B7(this.nzContent)}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Ct,8),v(zo,9))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-popover"]],exportAs:["nzPopoverComponent"],standalone:!0,features:[mt,me],decls:2,vars:6,consts:[["overlay","cdkConnectedOverlay"],["cdkConnectedOverlay","","nzConnectedOverlay","",3,"overlayOutsideClick","detach","positionChange","cdkConnectedOverlayHasBackdrop","cdkConnectedOverlayOrigin","cdkConnectedOverlayPositions","cdkConnectedOverlayOpen","cdkConnectedOverlayPush","nzArrowPointAtCenter"],[1,"ant-popover",3,"ngClass","ngStyle","nzNoAnimation"],[1,"ant-popover-content"],[1,"ant-popover-arrow"],[1,"ant-popover-arrow-content"],["role","tooltip",1,"ant-popover-inner"],[1,"ant-popover-title"],[1,"ant-popover-inner-content"],[4,"nzStringTemplateOutlet"]],template:function(i,o){if(1&i){const r=W();C(0,_3e,9,9,"ng-template",1,0,ot),M("overlayOutsideClick",function(a){return S(r),T(o.onClickOutside(a))})("detach",function(){return S(r),T(o.hide())})("positionChange",function(a){return S(r),T(o.onPositionChange(a))})}2&i&&h("cdkConnectedOverlayHasBackdrop",o.hasBackdrop)("cdkConnectedOverlayOrigin",o.origin)("cdkConnectedOverlayPositions",o._positions)("cdkConnectedOverlayOpen",o._visible)("cdkConnectedOverlayPush",o.cdkConnectedOverlayPush)("nzArrowPointAtCenter",o.nzArrowPointAtCenter)},dependencies:[d2,Tl,u2,$3,Jo,ti,zo,Sn,An],encapsulation:2,data:{animation:[I3]},changeDetection:0})}return t})(),C3e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[hP]})}return t})();const z3e=["handle"],A3e=t=>({$implicit:t});function S3e(t,n){if(1&t&&A(0,"span",1),2&t){const e=n.$implicit;Z("ant-slider-mark-active",e.active),h("ngStyle",e.style)("innerHTML",e.label,Gn)}}function T3e(t,n){if(1&t&&A(0,"span",1),2&t){const e=n.$implicit;Z("ant-slider-dot-active",e.active),h("ngStyle",e.style)}}function M3e(t,n){if(1&t&&A(0,"nz-slider-step",4),2&t){const e=g();h("vertical",e.nzVertical)("min",e.nzMin)("max",e.nzMax)("lowerBound",e.bounds.lower)("upperBound",e.bounds.upper)("marksArray",e.marksArray)("included",e.nzIncluded)("reverse",e.nzReverse)}}function D3e(t,n){if(1&t){const e=W();f(0,"nz-slider-handle",5),M("focusin",function(){const o=S(e).index;return T(g().onHandleFocusIn(o))}),m()}if(2&t){const e=n.$implicit,i=g();h("vertical",i.nzVertical)("reverse",i.nzReverse)("offset",e.offset)("value",e.value)("active",e.active)("tooltipFormatter",i.nzTipFormatter)("tooltipVisible",i.nzTooltipVisible)("tooltipPlacement",i.nzTooltipPlacement)("dir",i.dir)}}function E3e(t,n){if(1&t&&A(0,"nz-slider-marks",4),2&t){const e=g();h("vertical",e.nzVertical)("min",e.nzMin)("max",e.nzMax)("lowerBound",e.bounds.lower)("upperBound",e.bounds.upper)("marksArray",e.marksArray)("included",e.nzIncluded)("reverse",e.nzReverse)}}let xv=(()=>{class t{constructor(){this.isDragging=!1}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})(),kv=(()=>{class t{constructor(e,i){this.sliderService=e,this.cdr=i,this.tooltipVisible="default",this.active=!1,this.dir="ltr",this.style={},this.enterHandle=()=>{this.sliderService.isDragging||(this.toggleTooltip(!0),this.updateTooltipPosition(),this.cdr.detectChanges())},this.leaveHandle=()=>{this.sliderService.isDragging||(this.toggleTooltip(!1),this.cdr.detectChanges())}}ngOnChanges(e){const{offset:i,value:o,active:r,tooltipVisible:s,reverse:a,dir:l}=e;(i||a||l)&&this.updateStyle(),o&&(this.updateTooltipTitle(),this.updateTooltipPosition()),r&&this.toggleTooltip(!!r.currentValue),"always"===s?.currentValue&&Promise.resolve().then(()=>this.toggleTooltip(!0,!0))}focus(){this.handleEl?.nativeElement.focus()}toggleTooltip(e,i=!1){!i&&("default"!==this.tooltipVisible||!this.tooltip)||(e?this.tooltip?.show():this.tooltip?.hide())}updateTooltipTitle(){this.tooltipTitle=this.tooltipFormatter?"function"==typeof this.tooltipFormatter?this.tooltipFormatter(this.value):this.tooltipFormatter:`${this.value}`}updateTooltipPosition(){this.tooltip&&Promise.resolve().then(()=>this.tooltip?.updatePosition())}updateStyle(){const i=this.reverse,o=this.offset,r=this.vertical?{[i?"top":"bottom"]:`${o}%`,[i?"bottom":"top"]:"auto",transform:i?null:"translateY(+50%)"}:{...this.getHorizontalStylePosition(),transform:`translateX(${i?"rtl"===this.dir?"-":"+":"rtl"===this.dir?"+":"-"}50%)`};this.style=r,this.cdr.markForCheck()}getHorizontalStylePosition(){let e=this.reverse?"auto":`${this.offset}%`,i=this.reverse?`${this.offset}%`:"auto";if("rtl"===this.dir){const o=e;e=i,i=o}return{left:e,right:i}}static#e=this.\u0275fac=function(i){return new(i||t)(v(xv),v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-slider-handle"]],viewQuery:function(i,o){if(1&i&&(ft(z3e,5),ft(Sa,5)),2&i){let r;ke(r=Ie())&&(o.handleEl=r.first),ke(r=Ie())&&(o.tooltip=r.first)}},hostBindings:function(i,o){1&i&&M("mouseenter",function(){return o.enterHandle()})("mouseleave",function(){return o.leaveHandle()})},inputs:{vertical:[2,"vertical","vertical",I],reverse:[2,"reverse","reverse",I],offset:[2,"offset","offset",y3],value:[2,"value","value",y3],tooltipVisible:"tooltipVisible",tooltipPlacement:"tooltipPlacement",tooltipFormatter:"tooltipFormatter",active:[2,"active","active",I],dir:"dir"},exportAs:["nzSliderHandle"],standalone:!0,features:[je,xe,me],decls:2,vars:7,consts:[["handle",""],["tabindex","0","nz-tooltip","",1,"ant-slider-handle",3,"ngStyle","nzTooltipTitle","nzTooltipTitleContext","nzTooltipTrigger","nzTooltipPlacement"]],template:function(i,o){1&i&&A(0,"div",1,0),2&i&&h("ngStyle",o.style)("nzTooltipTitle",null===o.tooltipFormatter||"never"===o.tooltipVisible?null:o.tooltipTitle)("nzTooltipTitleContext",mr(5,A3e,o.value))("nzTooltipTrigger",null)("nzTooltipPlacement",o.tooltipPlacement)},dependencies:[H7,Sa,ti],encapsulation:2,changeDetection:0})}return t})(),x3e=(()=>{class t{constructor(){this.lowerBound=null,this.upperBound=null,this.marksArray=[],this.vertical=!1,this.included=!1,this.marks=[]}ngOnChanges(e){const{marksArray:i,lowerBound:o,upperBound:r,reverse:s}=e;(i||s)&&this.buildMarks(),(i||o||r||s)&&this.togglePointActive()}trackById(e,i){return i.value}buildMarks(){const e=this.max-this.min;this.marks=this.marksArray.map(i=>{const{value:o,offset:r,config:s}=i,a=this.getMarkStyles(o,e,s);return{label:pP(s)?s.label:s,offset:r,style:a,value:o,config:s,active:!1}})}getMarkStyles(e,i,o){let r;const s=this.reverse?this.max+this.min-e:e;return r=this.vertical?{marginBottom:"-50%",bottom:(s-this.min)/i*100+"%"}:{transform:"translate3d(-50%, 0, 0)",left:(s-this.min)/i*100+"%"},pP(o)&&o.style&&(r={...r,...o.style}),r}togglePointActive(){this.marks&&null!==this.lowerBound&&null!==this.upperBound&&this.marks.forEach(e=>{const i=e.value;e.active=!this.included&&i===this.upperBound||this.included&&i<=this.upperBound&&i>=this.lowerBound})}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-slider-marks"]],hostAttrs:[1,"ant-slider-mark"],inputs:{lowerBound:"lowerBound",upperBound:"upperBound",marksArray:"marksArray",min:[2,"min","min",Oi],max:[2,"max","max",Oi],vertical:[2,"vertical","vertical",I],included:[2,"included","included",I],reverse:[2,"reverse","reverse",I]},exportAs:["nzSliderMarks"],standalone:!0,features:[je,xe,me],decls:1,vars:2,consts:[["class","ant-slider-mark-text",3,"ant-slider-mark-active","ngStyle","innerHTML",4,"ngFor","ngForOf","ngForTrackBy"],[1,"ant-slider-mark-text",3,"ngStyle","innerHTML"]],template:function(i,o){1&i&&C(0,S3e,1,4,"span",0),2&i&&h("ngForOf",o.marks)("ngForTrackBy",o.trackById)},dependencies:[ti,zn],encapsulation:2,changeDetection:0})}return t})();function pP(t){return"string"!=typeof t}let k3e=(()=>{class t{constructor(){this.lowerBound=null,this.upperBound=null,this.marksArray=[],this.vertical=!1,this.included=!1,this.steps=[]}ngOnChanges(e){const{marksArray:i,lowerBound:o,upperBound:r,reverse:s}=e;(i||s)&&this.buildSteps(),(i||o||r||s)&&this.togglePointActive()}trackById(e,i){return i.value}buildSteps(){const e=this.vertical?"bottom":"left";this.steps=this.marksArray.map(i=>{const{value:o,config:r}=i;let s=i.offset;return this.reverse&&(s=(this.max-o)/(this.max-this.min)*100),{value:o,offset:s,config:r,active:!1,style:{[e]:`${s}%`,transform:this.vertical?"translateY(50%)":"translateX(-50%)"}}})}togglePointActive(){this.steps&&null!==this.lowerBound&&null!==this.upperBound&&this.steps.forEach(e=>{const i=e.value;e.active=!this.included&&i===this.upperBound||this.included&&i<=this.upperBound&&i>=this.lowerBound})}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-slider-step"]],hostAttrs:[1,"ant-slider-step"],inputs:{lowerBound:"lowerBound",upperBound:"upperBound",marksArray:"marksArray",min:[2,"min","min",Oi],max:[2,"max","max",Oi],vertical:[2,"vertical","vertical",I],included:[2,"included","included",I],reverse:[2,"reverse","reverse",I]},exportAs:["nzSliderStep"],standalone:!0,features:[je,xe,me],decls:1,vars:2,consts:[["class","ant-slider-dot",3,"ant-slider-dot-active","ngStyle",4,"ngFor","ngForOf","ngForTrackBy"],[1,"ant-slider-dot",3,"ngStyle"]],template:function(i,o){1&i&&C(0,T3e,1,3,"span",0),2&i&&h("ngForOf",o.steps)("ngForTrackBy",o.trackById)},dependencies:[ti,zn],encapsulation:2,changeDetection:0})}return t})(),I3e=(()=>{class t{constructor(){this.offset=0,this.reverse=!1,this.dir="ltr",this.length=0,this.vertical=!1,this.included=!1,this.style={}}ngOnChanges(){const i=this.reverse,o=this.included?"visible":"hidden",r=this.offset,s=this.length,a=this.vertical?{[i?"top":"bottom"]:`${r}%`,[i?"bottom":"top"]:"auto",height:`${s}%`,visibility:o}:{...this.getHorizontalStylePosition(),width:`${s}%`,visibility:o};this.style=a}getHorizontalStylePosition(){let e=this.reverse?"auto":`${this.offset}%`,i=this.reverse?`${this.offset}%`:"auto";if("rtl"===this.dir){const o=e;e=i,i=o}return{left:e,right:i}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-slider-track"]],inputs:{offset:[2,"offset","offset",Oi],reverse:[2,"reverse","reverse",I],dir:"dir",length:[2,"length","length",Oi],vertical:[2,"vertical","vertical",I],included:[2,"included","included",I]},exportAs:["nzSliderTrack"],standalone:!0,features:[je,xe,me],decls:1,vars:1,consts:[[1,"ant-slider-track",3,"ngStyle"]],template:function(i,o){1&i&&A(0,"div",0),2&i&&h("ngStyle",o.style)},dependencies:[ti],encapsulation:2,changeDetection:0})}return t})(),fP=(()=>{class t{constructor(e,i,o,r,s){this.slider=e,this.sliderService=i,this.cdr=o,this.platform=r,this.directionality=s,this.nzDisabled=!1,this.nzDots=!1,this.nzIncluded=!0,this.nzRange=!1,this.nzVertical=!1,this.nzReverse=!1,this.nzMarks=null,this.nzMax=100,this.nzMin=0,this.nzStep=1,this.nzTooltipVisible="default",this.nzTooltipPlacement="top",this.nzOnAfterChange=new B,this.value=null,this.cacheSliderStart=null,this.cacheSliderLength=null,this.activeValueIndex=void 0,this.track={offset:null,length:null},this.handles=[],this.marksArray=null,this.bounds={lower:null,upper:null},this.dir="ltr",this.destroy$=new V,this.isNzDisableFirstChange=!0}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges(),this.updateTrackAndHandles(),this.onValueChange(this.getValue(!0))}),this.handles=mP(this.nzRange?2:1),this.marksArray=this.nzMarks?this.generateMarkItems(this.nzMarks):null,this.bindDraggingHandlers(),this.toggleDragDisabled(this.nzDisabled),null===this.getValue()&&this.setValue(this.formatValue(null))}ngOnChanges(e){const{nzDisabled:i,nzMarks:o,nzRange:r}=e;i&&!i.firstChange?this.toggleDragDisabled(i.currentValue):o&&!o.firstChange?this.marksArray=this.nzMarks?this.generateMarkItems(this.nzMarks):null:r&&!r.firstChange&&(this.handles=mP(r.currentValue?2:1),this.setValue(this.formatValue(null)))}ngOnDestroy(){this.unsubscribeDrag(),this.destroy$.next(!0),this.destroy$.complete()}writeValue(e){this.setValue(e,!0)}onValueChange(e){}onTouched(){}registerOnChange(e){this.onValueChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.toggleDragDisabled(this.nzDisabled),this.cdr.markForCheck()}onKeyDown(e){if(this.nzDisabled)return;const i=e.keyCode,r=37===i||40===i;if(39!==i&&38!==i&&!r)return;e.preventDefault();let s=(r?-this.nzStep:this.nzStep)*(this.nzReverse?-1:1);s="rtl"===this.dir?-1*s:s,this.setActiveValue(w3(this.nzRange?this.value[this.activeValueIndex]+s:this.value+s,this.nzMin,this.nzMax)),this.nzOnAfterChange.emit(this.getValue(!0))}onHandleFocusIn(e){this.activeValueIndex=e}setValue(e,i=!1){i?(this.value=this.formatValue(e),this.updateTrackAndHandles()):function N3e(t,n){return typeof t==typeof n&&(Ro(t)&&Ro(n)?dE(t,n):t===n)}(this.value,e)||(this.value=e,this.updateTrackAndHandles(),this.onValueChange(this.getValue(!0)))}getValue(e=!1){return e&&this.value&&Ro(this.value)?[...this.value].sort((i,o)=>i-o):this.value}getValueToOffset(e){let i=e;return typeof i>"u"&&(i=this.getValue(!0)),Ro(i)?i.map(o=>this.valueToOffset(o)):this.valueToOffset(i)}setActiveValueIndex(e){const i=this.getValue();if(Ro(i)){let r,o=null,s=-1;i.forEach((a,l)=>{r=Math.abs(e-a),(null===o||r{l.offset=Ro(i)?i[c]:i,l.value=Ro(e)?e[c]:e||0}),[this.bounds.lower,this.bounds.upper]=s,[this.track.offset,this.track.length]=a,this.cdr.markForCheck()}onDragStart(e){this.toggleDragMoving(!0),this.cacheSliderProperty(),this.setActiveValueIndex(this.getLogicalValue(e)),this.setActiveValue(this.getLogicalValue(e)),this.showHandleTooltip(this.nzRange?this.activeValueIndex:0)}onDragMove(e){this.setActiveValue(this.getLogicalValue(e)),this.cdr.markForCheck()}getLogicalValue(e){return this.nzReverse?this.nzVertical||"rtl"!==this.dir?this.nzMax-e+this.nzMin:e:this.nzVertical||"rtl"!==this.dir?e:this.nzMax-e+this.nzMin}onDragEnd(){this.nzOnAfterChange.emit(this.getValue(!0)),this.toggleDragMoving(!1),this.cacheSliderProperty(!0),this.hideAllHandleTooltip(),this.cdr.markForCheck()}bindDraggingHandlers(){if(!this.platform.isBrowser)return;const e=a=>l=>a.reduce((c,u)=>c[u]||c,l),i=this.slider.nativeElement,o=this.nzVertical?"pageY":"pageX",r={start:"mousedown",move:"mousemove",end:"mouseup",pluckKey:[o]},s={start:"touchstart",move:"touchmove",end:"touchend",pluckKey:["touches","0",o],filter:a=>a instanceof TouchEvent};[r,s].forEach(a=>{const{start:l,move:c,end:u,pluckKey:p,filter:b=(()=>!0)}=a;a.startPlucked$=nn(i,l).pipe(yt(b),ii(uE),Pe(e(p)),Pe(_=>this.findClosestValue(_))),a.end$=nn(document,u),a.moveResolved$=nn(document,c).pipe(yt(b),ii(uE),Pe(e(p)),Qi(),Pe(_=>this.findClosestValue(_)),Qi(),P(a.end$))}),this.dragStart$=On(r.startPlucked$,s.startPlucked$),this.dragMove$=On(r.moveResolved$,s.moveResolved$),this.dragEnd$=On(r.end$,s.end$)}subscribeDrag(e=["start","move","end"]){-1!==e.indexOf("start")&&this.dragStart$&&!this.dragStart_&&(this.dragStart_=this.dragStart$.subscribe(this.onDragStart.bind(this))),-1!==e.indexOf("move")&&this.dragMove$&&!this.dragMove_&&(this.dragMove_=this.dragMove$.subscribe(this.onDragMove.bind(this))),-1!==e.indexOf("end")&&this.dragEnd$&&!this.dragEnd_&&(this.dragEnd_=this.dragEnd$.subscribe(this.onDragEnd.bind(this)))}unsubscribeDrag(e=["start","move","end"]){-1!==e.indexOf("start")&&this.dragStart_&&(this.dragStart_.unsubscribe(),this.dragStart_=null),-1!==e.indexOf("move")&&this.dragMove_&&(this.dragMove_.unsubscribe(),this.dragMove_=null),-1!==e.indexOf("end")&&this.dragEnd_&&(this.dragEnd_.unsubscribe(),this.dragEnd_=null)}toggleDragMoving(e){const i=["move","end"];e?(this.sliderService.isDragging=!0,this.subscribeDrag(i)):(this.sliderService.isDragging=!1,this.unsubscribeDrag(i))}toggleDragDisabled(e){e?this.unsubscribeDrag():this.subscribeDrag(["start"])}findClosestValue(e){const r=w3((e-this.getSliderStartPosition())/this.getSliderLength(),0,1),s=(this.nzMax-this.nzMin)*(this.nzVertical?1-r:r)+this.nzMin,a=null===this.nzMarks?[]:Object.keys(this.nzMarks).map(parseFloat).sort((u,p)=>u-p);if(0!==this.nzStep&&!this.nzDots){const u=Math.round(s/this.nzStep)*this.nzStep;a.push(u)}const l=a.map(u=>Math.abs(s-u)),c=a[l.indexOf(Math.min(...l))];return 0===this.nzStep?c:parseFloat(c.toFixed(function rne(t){const n=t.toString(),e=n.indexOf(".");return e>=0?n.length-e-1:0}(this.nzStep)))}valueToOffset(e){return function one(t,n,e){return(e-t)/(n-t)*100}(this.nzMin,this.nzMax,e)}getSliderStartPosition(){if(null!==this.cacheSliderStart)return this.cacheSliderStart;const e=hE(this.slider.nativeElement);return this.nzVertical?e.top:e.left}getSliderLength(){if(null!==this.cacheSliderLength)return this.cacheSliderLength;const e=this.slider.nativeElement;return this.nzVertical?e.clientHeight:e.clientWidth}cacheSliderProperty(e=!1){this.cacheSliderStart=e?null:this.getSliderStartPosition(),this.cacheSliderLength=e?null:this.getSliderLength()}formatValue(e){return _3(e)?this.nzRange?[this.nzMin,this.nzMax]:this.nzMin:function P3e(t,n){return!(!Ro(t)&&isNaN(t)||Ro(t)&&t.some(e=>isNaN(e)))&&function V3e(t,n=!1){if(Ro(t)!==n)throw function O3e(){return new Error('The "nzRange" can\'t match the "ngModel"\'s type, please check these properties: "nzRange", "ngModel", "nzDefaultValue".')}();return!0}(t,n)}(e,this.nzRange)?Ro(e)?e.map(i=>w3(i,this.nzMin,this.nzMax)):w3(e,this.nzMin,this.nzMax):this.nzDefaultValue?this.nzDefaultValue:this.nzRange?[this.nzMin,this.nzMax]:this.nzMin}showHandleTooltip(e=0){this.handles.forEach((i,o)=>{i.active=o===e})}hideAllHandleTooltip(){this.handles.forEach(e=>e.active=!1)}generateMarkItems(e){const i=[];for(const o in e)if(e.hasOwnProperty(o)){const r=e[o],s="number"==typeof o?o:parseFloat(o);s>=this.nzMin&&s<=this.nzMax&&i.push({value:s,offset:this.valueToOffset(s),config:r})}return i.length?i:null}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(xv),v(We),v(Qn),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-slider"]],viewQuery:function(i,o){if(1&i&&ft(kv,5),2&i){let r;ke(r=Ie())&&(o.handlerComponents=r)}},hostAttrs:[1,"ant-slider"],hostVars:8,hostBindings:function(i,o){1&i&&M("keydown",function(s){return o.onKeyDown(s)}),2&i&&Z("ant-slider-rtl","rtl"===o.dir)("ant-slider-disabled",o.nzDisabled)("ant-slider-vertical",o.nzVertical)("ant-slider-with-marks",o.marksArray)},inputs:{nzDisabled:[2,"nzDisabled","nzDisabled",I],nzDots:[2,"nzDots","nzDots",I],nzIncluded:[2,"nzIncluded","nzIncluded",I],nzRange:[2,"nzRange","nzRange",I],nzVertical:[2,"nzVertical","nzVertical",I],nzReverse:[2,"nzReverse","nzReverse",I],nzDefaultValue:"nzDefaultValue",nzMarks:"nzMarks",nzMax:[2,"nzMax","nzMax",Oi],nzMin:[2,"nzMin","nzMin",Oi],nzStep:[2,"nzStep","nzStep",y3],nzTooltipVisible:"nzTooltipVisible",nzTooltipPlacement:"nzTooltipPlacement",nzTipFormatter:"nzTipFormatter"},outputs:{nzOnAfterChange:"nzOnAfterChange"},exportAs:["nzSlider"],standalone:!0,features:[et([{provide:Ni,useExisting:Gt(()=>t),multi:!0},xv]),je,xe,me],decls:5,vars:9,consts:[[1,"ant-slider-rail"],[3,"vertical","included","offset","length","reverse","dir"],[3,"vertical","min","max","lowerBound","upperBound","marksArray","included","reverse",4,"ngIf"],[3,"vertical","reverse","offset","value","active","tooltipFormatter","tooltipVisible","tooltipPlacement","dir","focusin",4,"ngFor","ngForOf"],[3,"vertical","min","max","lowerBound","upperBound","marksArray","included","reverse"],[3,"focusin","vertical","reverse","offset","value","active","tooltipFormatter","tooltipVisible","tooltipPlacement","dir"]],template:function(i,o){1&i&&(A(0,"div",0)(1,"nz-slider-track",1),C(2,M3e,1,8,"nz-slider-step",2)(3,D3e,1,9,"nz-slider-handle",3)(4,E3e,1,8,"nz-slider-marks",2)),2&i&&(d(),h("vertical",o.nzVertical)("included",o.nzIncluded)("offset",o.track.offset)("length",o.track.length)("reverse",o.nzReverse)("dir",o.dir),d(),h("ngIf",o.marksArray),d(),h("ngForOf",o.handles),d(),h("ngIf",o.marksArray))},dependencies:[I3e,k3e,kv,zn,x3e,St],encapsulation:2,changeDetection:0})}return t})();function Ro(t){return t instanceof Array&&2===t.length}function mP(t){return Array(t).fill(0).map(()=>({offset:null,value:null,active:!1}))}let F3e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[fP,kv]})}return t})();const Lp=()=>({minRows:3,maxRows:5});function R3e(t,n){1&t&&A(0,"img",90)}function L3e(t,n){1&t&&A(0,"img",91)}function B3e(t,n){1&t&&A(0,"img",92)}function H3e(t,n){1&t&&A(0,"img",93)}function j3e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",94),A(2,"img",95),f(3,"input",96),M("change",function(o){const r=S(e).index;return T(g().onChangeLightBannerUrl(o,r))}),m(),f(4,"app-upload",10),M("onChange",function(o){const r=S(e).index;return T(g().onLightBannerChange(o,r))}),m()(),f(5,"td")(6,"input",97),M("change",function(o){const r=S(e).index;return T(g().onChangeLightJumpUrl(o,r))}),m()(),f(7,"td")(8,"a",98),M("nzOnConfirm",function(){const o=S(e).index;return T(g().onDeleteLightBanner(o))}),f(9,"a"),w(10),m()()()()}if(2&t){const e=n.$implicit,i=g();d(2),h("src",e.src,It),d(),h("value",e.src),d(3),h("value",e.url),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),we(" ",i.$t("_del")," ")}}function Y3e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",94),A(2,"img",95),f(3,"input",96),M("change",function(o){const r=S(e).index;return T(g().onChangeSuperBannerUrl(o,r))}),m(),f(4,"app-upload",10),M("onChange",function(o){const r=S(e).index;return T(g().onSuperBannerChange(o,r))}),m()(),f(5,"td")(6,"input",97),M("change",function(o){const r=S(e).index;return T(g().onChangeSuperJumpUrl(o,r))}),m()(),f(7,"td")(8,"a",98),M("nzOnConfirm",function(){const o=S(e).index;return T(g().onDeleteSuperBanner(o))}),f(9,"a"),w(10),m()()()()}if(2&t){const e=n.$implicit,i=g();d(2),h("src",e.src,It),d(),h("value",e.src),d(3),h("value",e.url),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),we(" ",i.$t("_del")," ")}}function U3e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",94),A(2,"img",95),f(3,"input",96),M("change",function(o){const r=S(e).index;return T(g().onChangeSimBannerUrl(o,r))}),m(),f(4,"app-upload",10),M("onChange",function(o){const r=S(e).index;return T(g().onSimBannerChange(o,r))}),m()(),f(5,"td")(6,"input",97),M("change",function(o){const r=S(e).index;return T(g().onChangeSimJumpUrl(o,r))}),m()(),f(7,"td")(8,"a",98),M("nzOnConfirm",function(){const o=S(e).index;return T(g().onDeleteSimBanner(o))}),f(9,"a"),w(10),m()()()()}if(2&t){const e=n.$implicit,i=g();d(2),h("src",e.src,It),d(),h("value",e.src),d(3),h("value",e.url),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),we(" ",i.$t("_del")," ")}}function W3e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",94),A(2,"img",95),f(3,"input",96),M("change",function(o){const r=S(e).index;return T(g().onChangeSideBannerUrl(o,r))}),m(),f(4,"app-upload",10),M("onChange",function(o){const r=S(e).index;return T(g().onSideBannerChange(o,r))}),m()(),f(5,"td")(6,"input",97),M("change",function(o){const r=S(e).index;return T(g().onChangeSideJumpUrl(o,r))}),m()(),f(7,"td")(8,"a",98),M("nzOnConfirm",function(){const o=S(e).index;return T(g().onDeleteSideBanner(o))}),f(9,"a"),w(10),m()()()()}if(2&t){const e=n.$implicit,i=g();d(2),h("src",e.src,It),d(),h("value",e.src),d(3),h("value",e.url),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),we(" ",i.$t("_del")," ")}}function G3e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td",99)(2,"input",100),M("change",function(o){const r=S(e).index;return T(g().onChangeMirrorUrl(o,r))}),m()(),f(3,"td",101)(4,"input",97),M("change",function(o){const r=S(e).index;return T(g().onChangeMirrorName(o,r))}),m()(),f(5,"td")(6,"a",98),M("nzOnConfirm",function(){const o=S(e).index;return T(g().onDelMirror(o))}),f(7,"a"),w(8),m()()()()}if(2&t){const e=n.$implicit,i=g();d(2),h("value",e.url),d(2),h("value",e.name),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),we(" ",i.$t("_del")," ")}}let q3e=(()=>{class t{constructor(e,i,o){this.fb=e,this.message=i,this.modal=o,this.$t=be,this.submitting=!1,this.settings=kn,this.validateForm=this.fb.group({...kn})}ngOnInit(){}onLogoChange(e){this.settings.favicon=e.cdn||e.target?.value||""}onSimBannerChange(e,i){this.settings.simThemeImages[i].src=e.cdn}onChangeSimBannerUrl(e,i){const o=e.target.value.trim();this.settings.simThemeImages[i].src=o}onChangeSimJumpUrl(e,i){const o=e.target.value.trim();this.settings.simThemeImages[i].url=o}onDeleteSimBanner(e){this.settings.simThemeImages.splice(e,1)}onAddSimBanner(){this.settings.simThemeImages.push({src:"",url:""})}onSuperBannerChange(e,i){this.settings.superImages[i].src=e.cdn}onChangeSuperBannerUrl(e,i){const o=e.target.value.trim();this.settings.superImages[i].src=o}onChangeSuperJumpUrl(e,i){const o=e.target.value.trim();this.settings.superImages[i].url=o}onDeleteSuperBanner(e){this.settings.superImages.splice(e,1)}onAddSuperBanner(){this.settings.superImages.push({src:"",url:""})}onLightBannerChange(e,i){this.settings.lightImages[i].src=e.cdn}onChangeLightBannerUrl(e,i){const o=e.target.value.trim();this.settings.lightImages[i].src=o}onChangeLightJumpUrl(e,i){const o=e.target.value.trim();this.settings.lightImages[i].url=o}onDeleteLightBanner(e){this.settings.lightImages.splice(e,1)}onAddLightBanner(){this.settings.lightImages.push({src:"",url:""})}onSideBannerChange(e,i){this.settings.sideThemeImages[i].src=e.cdn}onChangeSideBannerUrl(e,i){const o=e.target.value.trim();this.settings.sideThemeImages[i].src=o}onChangeSideJumpUrl(e,i){const o=e.target.value.trim();this.settings.sideThemeImages[i].src=o}onDeleteSideBanner(e){this.settings.sideThemeImages.splice(e,1)}onAddSideBanner(){this.settings.sideThemeImages.push({src:"",url:""})}onMirrorBannerChange(e,i){this.settings.sideThemeImages[i].src=e.cdn}onAddMirror(){this.settings.mirrorList.push({url:"",icon:"",name:""})}onDelMirror(e){this.settings.mirrorList.splice(e,1)}onChangeMirrorUrl(e,i){const o=e.target.value.trim();this.settings.mirrorList[i].url=o}onChangeMirrorName(e,i){const o=e.target.value.trim();this.settings.mirrorList[i].name=o}onShortcutImgChange(e){let i=e?.target?.value?.trim()||e.cdn;i||(i=""),this.settings.shortcutThemeImages[0].src=i}handleSubmit(){this.submitting||this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{function e(o){return o.src}const i={...this.validateForm.value,favicon:this.settings.favicon,simThemeImages:this.settings.simThemeImages.filter(e),shortcutThemeImages:this.settings.shortcutThemeImages.filter(e),sideThemeImages:this.settings.sideThemeImages.filter(e),superImages:this.settings.superImages.filter(e),lightImages:this.settings.lightImages.filter(e),mirrorList:this.settings.mirrorList.filter(o=>o.url&&o.name)};this.submitting=!0,vl({message:"Update settings",content:JSON.stringify(i),path:"data/settings.json"}).then(()=>{this.message.success(be("_saveSuccess"))}).finally(()=>{this.submitting=!1})}})}static#e=this.\u0275fac=function(i){return new(i||t)(v(fv),v(er),v(za))};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-setting"]],decls:451,vars:262,consts:[["loading1",""],["loading2",""],["loading3",""],["loading4",""],["basicTable",""],["nz-form","",3,"formGroup"],[3,"nzSpan"],["id","file"],[1,"logo",3,"src"],[2,"white-space","nowrap","margin-top","5px"],[3,"onChange"],["nz-input","",1,"logo-input",3,"change","value"],["nzRequired","",3,"nzSpan"],["nz-input","","formControlName","title"],["nz-input","","formControlName","description"],["nz-input","","formControlName","keywords"],["formControlName","language"],["nzValue","zh-CN","nzLabel","\u7b80\u4f53\u4e2d\u6587"],["nzValue","en","nzLabel","English"],["nz-input","","formControlName","email","placeholder","\u7528\u6237\u63d0\u4ea4\u6536\u5f55\u901a\u77e5"],["formControlName","loading"],["nz-radio","","nzValue","random"],["nz-radio","","nzValue","null"],["nz-radio","","nzValue","loading1","nz-popover","","nzPopoverPlacement","bottom",3,"nzPopoverContent"],["nz-radio","","nzValue","loading2","nz-popover","","nzPopoverPlacement","bottom",3,"nzPopoverContent"],["nz-radio","","nzValue","loading3","nz-popover","","nzPopoverPlacement","bottom",3,"nzPopoverContent"],["nz-radio","","nzValue","loading4","nz-popover","","nzPopoverPlacement","bottom",3,"nzPopoverContent"],["nz-input","","formControlName","loadingCode","placeholder","
Loading...
",3,"nzAutosize"],[3,"nzSpan","nzNoColon"],["nz-checkbox","","formControlName","allowCollect"],["nz-checkbox","","formControlName","openSEO"],["nz-checkbox","","formControlName","showGithub"],["nz-checkbox","","formControlName","showLanguage"],["nz-checkbox","","formControlName","showRate"],["nz-checkbox","","formControlName","showThemeToggle"],["formControlName","theme"],["nz-radio","","nzValue","Light"],["nz-radio","","nzValue","Super"],["nz-radio","","nzValue","Sim"],["nz-radio","","nzValue","Side"],["nz-radio","","nzValue","App"],["nz-radio","","nzValue","Shortcut"],["formControlName","appTheme"],["nz-radio","","nzValue","Current"],["nz-input","","formControlName","headerContent","placeholder","\u4f4d\u4e8e head \u6807\u7b7e\u5c3e\u90e8\uff0c\u4f60\u53ef\u4ee5\u5728\u8fd9\u91cc\u63d2\u5165\u811a\u672c\u4ee3\u7801\u6216\u5404\u79cd\u6837\u5f0f\u7f51\u7ad9\u7edf\u8ba1\u7b49",3,"nzAutosize"],["nz-input","","formControlName","footerContent","placeholder","\u73b0\u6709\u53d8\u91cf\uff1a${total} = \u7f51\u7ad9\u6570\u91cf\uff1b ${hostname} = \u57df\u540d\uff1b ${year} = \u4eca\u5e74\u5e74\u4efd",3,"nzAutosize"],["nz-input","","formControlName","actionUrl",3,"placeholder"],[1,"divider"],[1,"title"],[1,"mb10"],["formControlName","spiderTitle"],["nz-radio","","nzValue","NO"],["nz-radio","","nzValue","EMPTY"],["nz-radio","","nzValue","ALWAYS"],["formControlName","spiderIcon"],["formControlName","spiderDescription"],["nz-checkbox","","formControlName","checkUrl"],["formControlName","spiderQty",3,"nzMin","nzMax"],["formControlName","lightCardStyle"],["nz-radio","","nzValue","standard"],["nz-radio","","nzValue","column"],["nz-radio","","nzValue","example"],["formControlName","lightOverType"],["nz-radio","","nzValue","overflow"],["nz-radio","","nzValue","ellipsis"],[1,"sim-ban"],[3,"nzData","nzShowPagination"],[4,"ngFor","ngForOf"],[1,"mt10","display-block",3,"click"],["nz-input","","formControlName","superTitle",3,"placeholder"],["formControlName","superCardStyle"],["formControlName","superOverType"],["nz-input","","formControlName","simTitle",3,"placeholder"],["formControlName","simCardStyle"],["formControlName","simOverType"],["nz-checkbox","","formControlName","simThemeAutoplay"],["formControlName","simThemeHeight",3,"nzMin","nzMax"],["nz-input","","formControlName","simThemeDesc",3,"nzAutosize"],["nz-input","","formControlName","sideTitle",3,"placeholder"],["formControlName","sideCardStyle"],["nz-checkbox","","formControlName","sideThemeAutoplay"],["formControlName","sideThemeHeight",3,"nzMin","nzMax"],["nz-input","","formControlName","shortcutTitle",3,"placeholder"],["nz-checkbox","","formControlName","shortcutThemeShowWeather"],[3,"src"],["nz-input","","type","text",2,"width","300px","margin-top","10px",3,"change","value"],[3,"click"],[1,"bottom-bar"],["nz-button","","nzType","primary",2,"margin-right","20px",3,"click","nzLoading"],[1,"save-tip"],["src","assets/img/loading1.png",1,"preview"],["src","assets/img/loading2.png",1,"preview"],["src","assets/img/loading3.png",1,"preview"],["src","assets/img/loading4.png",1,"preview"],["width","260px",1,"nowrap"],[1,"icon",3,"src"],["nz-input","","type","text",2,"width","180px","margin-right","10px",3,"change","value"],["nz-input","","maxlength","200",3,"change","value"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"],[1,"nowrap"],["nz-input","","type","text",2,"width","100%","margin-right","10px",3,"change","value"],["width","400px"]],template:function(i,o){if(1&i){const r=W();f(0,"form",5)(1,"nz-form-item")(2,"nz-form-label",6),w(3),m(),f(4,"nz-form-control",6)(5,"label",7),A(6,"img",8),f(7,"span",9),w(8),m(),f(9,"app-upload",10),M("onChange",function(a){return S(r),T(o.onLogoChange(a))}),m(),f(10,"div")(11,"input",11),M("change",function(a){return S(r),T(o.onLogoChange(a))}),m()()()()(),f(12,"nz-form-item")(13,"nz-form-label",12),w(14),m(),f(15,"nz-form-control",6),A(16,"input",13),m()(),f(17,"nz-form-item")(18,"nz-form-label",6),w(19),m(),f(20,"nz-form-control",6),A(21,"input",14),m()(),f(22,"nz-form-item")(23,"nz-form-label",6),w(24),m(),f(25,"nz-form-control",6),A(26,"input",15),m()(),f(27,"nz-form-item")(28,"nz-form-label",6),w(29),m(),f(30,"nz-form-control",6)(31,"nz-select",16),A(32,"nz-option",17)(33,"nz-option",18),m()()(),f(34,"nz-form-item")(35,"nz-form-label",6),w(36,"Email"),m(),f(37,"nz-form-control",6),A(38,"input",19),m()(),f(39,"nz-form-item")(40,"nz-form-label",6),w(41),m(),f(42,"nz-form-control",6)(43,"nz-radio-group",20)(44,"label",21),w(45),m(),f(46,"label",22),w(47),m(),f(48,"label",23),w(49," loading1 "),m(),C(50,R3e,1,0,"ng-template",null,0,ot),f(52,"label",24),w(53," loading2 "),m(),C(54,L3e,1,0,"ng-template",null,1,ot),f(56,"label",25),w(57," loading3 "),m(),C(58,B3e,1,0,"ng-template",null,2,ot),f(60,"label",26),w(61," loading4 "),m(),C(62,H3e,1,0,"ng-template",null,3,ot),m()()(),f(64,"nz-form-item")(65,"nz-form-label",6),w(66,"DIY Loading code"),m(),f(67,"nz-form-control",6),A(68,"textarea",27),m()(),f(69,"nz-form-item")(70,"nz-form-label",28),w(71),m(),f(72,"nz-form-control",6),A(73,"label",29),m()(),f(74,"nz-form-item")(75,"nz-form-label",28),w(76),m(),f(77,"nz-form-control",6),A(78,"label",30),m()(),f(79,"nz-form-item")(80,"nz-form-label",28),w(81),m(),f(82,"nz-form-control",6),A(83,"label",31),m()(),f(84,"nz-form-item")(85,"nz-form-label",28),w(86),m(),f(87,"nz-form-control",6),A(88,"label",32),m()(),f(89,"nz-form-item")(90,"nz-form-label",28),w(91),m(),f(92,"nz-form-control",6),A(93,"label",33),m()(),f(94,"nz-form-item")(95,"nz-form-label",28),w(96),m(),f(97,"nz-form-control",6),A(98,"label",34),m()(),f(99,"nz-form-item")(100,"nz-form-label",28),w(101),m(),f(102,"nz-form-control",6)(103,"nz-radio-group",35)(104,"label",36),w(105,"Light"),m(),f(106,"label",37),w(107,"Super"),m(),f(108,"label",38),w(109,"Sim"),m(),f(110,"label",39),w(111,"Side"),m(),f(112,"label",40),w(113,"App"),m(),f(114,"label",41),w(115,"Shortcut"),m()()()(),f(116,"nz-form-item")(117,"nz-form-label",28),w(118),m(),f(119,"nz-form-control",6)(120,"nz-radio-group",42)(121,"label",43),w(122),m(),f(123,"label",40),w(124,"App"),m(),f(125,"label",36),w(126,"Light"),m(),f(127,"label",38),w(128,"Sim"),m(),f(129,"label",39),w(130,"Side"),m(),f(131,"label",41),w(132,"Shortcut"),m()()()(),f(133,"nz-form-item")(134,"nz-form-label",6),w(135),m(),f(136,"nz-form-control",6),A(137,"textarea",44),m()(),f(138,"nz-form-item")(139,"nz-form-label",6),w(140),m(),f(141,"nz-form-control",6),A(142,"textarea",45),m()(),f(143,"nz-form-item")(144,"nz-form-label",6),w(145),m(),f(146,"nz-form-control",6),A(147,"input",46),m()(),A(148,"div",47),f(149,"h2",48),w(150),m(),f(151,"div",49)(152,"b"),w(153),m()(),f(154,"div",49)(155,"b"),w(156),m()(),f(157,"div",49)(158,"b"),w(159),m()(),f(160,"nz-form-item")(161,"nz-form-label",28),w(162),m(),f(163,"nz-form-control",6)(164,"nz-radio-group",50)(165,"label",51),w(166),m(),f(167,"label",52),w(168),m(),f(169,"label",53),w(170),m()()()(),f(171,"nz-form-item")(172,"nz-form-label",28),w(173),m(),f(174,"nz-form-control",6)(175,"nz-radio-group",54)(176,"label",51),w(177),m(),f(178,"label",52),w(179),m(),f(180,"label",53),w(181),m()()()(),f(182,"nz-form-item")(183,"nz-form-label",28),w(184),m(),f(185,"nz-form-control",6)(186,"nz-radio-group",55)(187,"label",51),w(188),m(),f(189,"label",52),w(190),m(),f(191,"label",53),w(192),m()()()(),f(193,"nz-form-item")(194,"nz-form-label",28),w(195),m(),f(196,"nz-form-control",6)(197,"label",56),w(198),m()()(),f(199,"nz-form-item")(200,"nz-form-label",6),w(201),m(),f(202,"nz-form-control",6),A(203,"nz-slider",57),f(204,"div"),w(205),m()()(),A(206,"div",47),f(207,"h2",48),w(208),m(),f(209,"nz-form-item")(210,"nz-form-label",6),w(211),m(),f(212,"nz-form-control",6)(213,"nz-radio-group",58)(214,"label",59),w(215),m(),f(216,"label",60),w(217),m(),f(218,"label",61),w(219),m()()()(),f(220,"nz-form-item")(221,"nz-form-label",6),w(222),m(),f(223,"nz-form-control",6)(224,"nz-radio-group",62)(225,"label",63),w(226),m(),f(227,"label",64),w(228),m()()()(),f(229,"nz-form-item",65)(230,"nz-form-label",6),w(231),m(),f(232,"nz-form-control",6)(233,"nz-table",66,4)(235,"thead")(236,"tr")(237,"th"),w(238),m(),f(239,"th"),w(240),m(),f(241,"th"),w(242),m()()(),f(243,"tbody"),C(244,j3e,11,5,"tr",67),m()(),f(245,"a",68),M("click",function(){return S(r),T(o.onAddLightBanner())}),w(246),m()()(),A(247,"div",47),f(248,"h2",48),w(249),m(),f(250,"nz-form-item")(251,"nz-form-label",6),w(252),m(),f(253,"nz-form-control",6),A(254,"input",69),m()(),f(255,"nz-form-item")(256,"nz-form-label",6),w(257),m(),f(258,"nz-form-control",6)(259,"nz-radio-group",70)(260,"label",59),w(261),m(),f(262,"label",60),w(263),m(),f(264,"label",61),w(265),m()()()(),f(266,"nz-form-item")(267,"nz-form-label",6),w(268),m(),f(269,"nz-form-control",6)(270,"nz-radio-group",71)(271,"label",63),w(272),m(),f(273,"label",64),w(274),m()()()(),f(275,"nz-form-item",65)(276,"nz-form-label",6),w(277),m(),f(278,"nz-form-control",6)(279,"nz-table",66,4)(281,"thead")(282,"tr")(283,"th"),w(284),m(),f(285,"th"),w(286),m(),f(287,"th"),w(288),m()()(),f(289,"tbody"),C(290,Y3e,11,5,"tr",67),m()(),f(291,"a",68),M("click",function(){return S(r),T(o.onAddSuperBanner())}),w(292),m()()(),A(293,"div",47),f(294,"h2",48),w(295),m(),f(296,"nz-form-item")(297,"nz-form-label",6),w(298),m(),f(299,"nz-form-control",6),A(300,"input",72),m()(),f(301,"nz-form-item")(302,"nz-form-label",6),w(303),m(),f(304,"nz-form-control",6)(305,"nz-radio-group",73)(306,"label",59),w(307),m(),f(308,"label",60),w(309),m(),f(310,"label",61),w(311),m()()()(),f(312,"nz-form-item")(313,"nz-form-label",6),w(314),m(),f(315,"nz-form-control",6)(316,"nz-radio-group",74)(317,"label",63),w(318),m(),f(319,"label",64),w(320),m()()()(),f(321,"nz-form-item",65)(322,"nz-form-label",6),w(323,"Banner"),m(),f(324,"nz-form-control",6)(325,"nz-table",66,4)(327,"thead")(328,"tr")(329,"th"),w(330),m(),f(331,"th"),w(332),m(),f(333,"th"),w(334),m()()(),f(335,"tbody"),C(336,U3e,11,5,"tr",67),m()(),f(337,"a",68),M("click",function(){return S(r),T(o.onAddSimBanner())}),w(338),m()()(),f(339,"nz-form-item")(340,"nz-form-label",6),w(341),m(),f(342,"nz-form-control",6),A(343,"label",75),m()(),f(344,"nz-form-item")(345,"nz-form-label",6),w(346),m(),f(347,"nz-form-control",6),A(348,"nz-slider",76),f(349,"div"),w(350),m()()(),f(351,"nz-form-item")(352,"nz-form-label",6),w(353),m(),f(354,"nz-form-control",6),A(355,"textarea",77),m()(),A(356,"div",47),f(357,"h2",48),w(358),m(),f(359,"nz-form-item")(360,"nz-form-label",6),w(361),m(),f(362,"nz-form-control",6),A(363,"input",78),m()(),f(364,"nz-form-item")(365,"nz-form-label",6),w(366),m(),f(367,"nz-form-control",6)(368,"nz-radio-group",79)(369,"label",59),w(370),m(),f(371,"label",60),w(372),m(),f(373,"label",61),w(374),m()()()(),f(375,"nz-form-item",65)(376,"nz-form-label",6),w(377,"Banner"),m(),f(378,"nz-form-control",6)(379,"nz-table",66,4)(381,"thead")(382,"tr")(383,"th"),w(384),m(),f(385,"th"),w(386),m(),f(387,"th"),w(388),m()()(),f(389,"tbody"),C(390,W3e,11,5,"tr",67),m()(),f(391,"a",68),M("click",function(){return S(r),T(o.onAddSideBanner())}),w(392),m()()(),f(393,"nz-form-item")(394,"nz-form-label",6),w(395),m(),f(396,"nz-form-control",6),A(397,"label",80),m()(),f(398,"nz-form-item")(399,"nz-form-label",6),w(400),m(),f(401,"nz-form-control",6),A(402,"nz-slider",81),f(403,"div"),w(404),m()()(),A(405,"div",47),f(406,"h2",48),w(407),m(),f(408,"nz-form-item")(409,"nz-form-label",6),w(410),m(),f(411,"nz-form-control",6),A(412,"input",82),m()(),f(413,"nz-form-item")(414,"nz-form-label",28),w(415),m(),f(416,"nz-form-control",6),A(417,"label",83),m()(),f(418,"nz-form-item",65)(419,"nz-form-label",6),w(420),m(),f(421,"nz-form-control",6),A(422,"img",84),f(423,"app-upload",10),M("onChange",function(a){return S(r),T(o.onShortcutImgChange(a))}),m(),f(424,"input",85),M("change",function(a){return S(r),T(o.onShortcutImgChange(a))}),m()()(),A(425,"div",47),f(426,"h2",48),w(427),m(),f(428,"nz-form-item",65)(429,"nz-form-label",6),w(430),m(),f(431,"nz-form-control",6)(432,"nz-table",66,4)(434,"thead")(435,"tr")(436,"th"),w(437),m(),f(438,"th"),w(439),m(),f(440,"th"),w(441),m()()(),f(442,"tbody"),C(443,G3e,9,4,"tr",67),m()(),f(444,"a",86),M("click",function(){return S(r),T(o.onAddMirror())}),w(445),m()()(),f(446,"div",87)(447,"button",88),M("click",function(){return S(r),T(o.handleSubmit())}),w(448),m(),f(449,"p",89),w(450),m()()()}if(2&i){const r=Be(51),s=Be(55),a=Be(59),l=Be(63);h("formGroup",o.validateForm),d(2),h("nzSpan",4),d(),D(o.$t("_webLogo")),d(),h("nzSpan",20),d(2),h("src",o.settings.favicon,It),d(2),we(" ",o.$t("_updateLogo")," "),d(3),h("value",o.settings.favicon),d(2),h("nzSpan",4),d(),D(o.$t("_title")),d(),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_webDesc")),d(),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_keywords")),d(),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_defLanguage")),d(),h("nzSpan",10),d(5),h("nzSpan",4),d(2),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_pageLoad")),d(),h("nzSpan",20),d(3),D(o.$t("_random")),d(2),D(o.$t("_noSet")),d(),h("nzPopoverContent",r),d(4),h("nzPopoverContent",s),d(4),h("nzPopoverContent",a),d(4),h("nzPopoverContent",l),d(5),h("nzSpan",4),d(2),h("nzSpan",10),d(),h("nzAutosize",Si(258,Lp)),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_allowCollect")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_enableSEO")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_showGithub")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_showLanguage")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_showRate")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_displaySwitchTheme")),d(),h("nzSpan",20),d(3),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_defTheme")),d(),h("nzSpan",20),d(15),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_appTheme")),d(),h("nzSpan",20),d(3),D(o.$t("_followPage")),d(12),h("nzSpan",4),d(),D(o.$t("_headHtml")),d(),h("nzSpan",10),d(),h("nzAutosize",Si(259,Lp)),d(2),h("nzSpan",4),d(),D(o.$t("_footHtml")),d(),h("nzSpan",10),d(),h("nzAutosize",Si(260,Lp)),d(2),h("nzSpan",4),d(),D(o.$t("_requestAddress")),d(),h("nzSpan",10),d(),h("placeholder",o.$t("_requestTip")),d(3),D(o.$t("_spiderRule")),d(3),D(o.$t("_spiderTip")),d(3),D(o.$t("_spiderNetTip")),d(3),D(o.$t("_spiderBuildTip")),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_spiderTitle")),d(),h("nzSpan",20),d(3),D(o.$t("_notSpider")),d(2),D(o.$t("_spiderEmpty")),d(2),D(o.$t("_spiderAlways")),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_spiderIcon")),d(),h("nzSpan",20),d(3),D(o.$t("_notSpider")),d(2),D(o.$t("_spiderEmpty")),d(2),D(o.$t("_spiderAlways")),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_spiderDesc")),d(),h("nzSpan",20),d(3),D(o.$t("_notSpider")),d(2),D(o.$t("_spiderEmpty")),d(2),D(o.$t("_spiderAlways")),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_spiderStatus")),d(),h("nzSpan",20),d(2),D(o.$t("_checkStatus")),d(2),h("nzSpan",4),d(),D(o.$t("_spiderQty")),d(),h("nzSpan",10),d(),h("nzMin",0)("nzMax",200),d(2),D(o.$t("_spiderQtyTip")),d(3),we("Light ",o.$t("_theme"),""),d(2),h("nzSpan",4),d(),D(o.$t("_cardStyle")),d(),h("nzSpan",10),d(3),D(o.$t("_standard")),d(2),D(o.$t("_column")),d(2),D(o.$t("_simplicity")),d(2),h("nzSpan",4),d(),D(o.$t("_navOver")),d(),h("nzSpan",10),d(3),D(o.$t("_scrollBar")),d(2),D(o.$t("_ellipsis")),d(2),h("nzSpan",4),d(),D(o.$t("_sidebarImg")),d(),h("nzSpan",20),d(),h("nzData",o.settings.lightImages)("nzShowPagination",!1),d(5),D(o.$t("_backgroundImage")),d(2),D(o.$t("_jumpAddr")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.settings.lightImages),d(2),D(o.$t("_add")),d(3),we("Super ",o.$t("_theme"),""),d(2),h("nzSpan",4),d(),D(o.$t("_title")),d(),h("nzSpan",10),d(),h("placeholder",o.$t("_defTitle4")),d(2),h("nzSpan",4),d(),D(o.$t("_cardStyle")),d(),h("nzSpan",10),d(3),D(o.$t("_standard")),d(2),D(o.$t("_column")),d(2),D(o.$t("_simplicity")),d(2),h("nzSpan",4),d(),D(o.$t("_navOver")),d(),h("nzSpan",10),d(3),D(o.$t("_scrollBar")),d(2),D(o.$t("_ellipsis")),d(2),h("nzSpan",4),d(),D(o.$t("_sidebarImg")),d(),h("nzSpan",20),d(),h("nzData",o.settings.superImages)("nzShowPagination",!1),d(5),D(o.$t("_backgroundImage")),d(2),D(o.$t("_jumpAddr")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.settings.superImages),d(2),D(o.$t("_add")),d(3),we("Sim ",o.$t("_theme"),""),d(2),h("nzSpan",4),d(),D(o.$t("_title")),d(),h("nzSpan",10),d(),h("placeholder",o.$t("_defaultTitle")),d(2),h("nzSpan",4),d(),D(o.$t("_cardStyle")),d(),h("nzSpan",10),d(3),D(o.$t("_standard")),d(2),D(o.$t("_column")),d(2),D(o.$t("_simplicity")),d(2),h("nzSpan",4),d(),D(o.$t("_navOver")),d(),h("nzSpan",10),d(3),D(o.$t("_scrollBar")),d(2),D(o.$t("_ellipsis")),d(2),h("nzSpan",4),d(2),h("nzSpan",20),d(),h("nzData",o.settings.simThemeImages)("nzShowPagination",!1),d(5),D(o.$t("_backgroundImage")),d(2),D(o.$t("_jumpAddr")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.settings.simThemeImages),d(2),D(o.$t("_add")),d(2),h("nzSpan",4),d(),D(o.$t("_autoPlay")),d(),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_bannerHeight")),d(),h("nzSpan",10),d(),h("nzMin",0)("nzMax",1e3),d(2),D(o.$t("_bannerTip")),d(2),h("nzSpan",4),d(),D(o.$t("_desc")),d(),h("nzSpan",10),d(),h("nzAutosize",Si(261,Lp)),d(3),we("Side ",o.$t("_theme"),""),d(2),h("nzSpan",4),d(),D(o.$t("_sidebarTitle")),d(),h("nzSpan",10),d(),h("placeholder",o.$t("_defTitle4")),d(2),h("nzSpan",4),d(),D(o.$t("_cardStyle")),d(),h("nzSpan",10),d(3),D(o.$t("_standard")),d(2),D(o.$t("_column")),d(2),D(o.$t("_simplicity")),d(2),h("nzSpan",4),d(2),h("nzSpan",20),d(),h("nzData",o.settings.sideThemeImages)("nzShowPagination",!1),d(5),D(o.$t("_backgroundImage")),d(2),D(o.$t("_jumpAddr")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.settings.sideThemeImages),d(2),D(o.$t("_add")),d(2),h("nzSpan",4),d(),D(o.$t("_autoPlay")),d(),h("nzSpan",10),d(3),h("nzSpan",4),d(),D(o.$t("_bannerHeight")),d(),h("nzSpan",10),d(),h("nzMin",0)("nzMax",1e3),d(2),D(o.$t("_bannerTip")),d(3),we("Shortcut ",o.$t("_theme"),""),d(2),h("nzSpan",4),d(),D(o.$t("_title")),d(),h("nzSpan",10),d(),h("placeholder",o.$t("_defaultTitle")),d(2),h("nzSpan",4)("nzNoColon",!0),d(),D(o.$t("_showWeather")),d(),h("nzSpan",20),d(3),h("nzSpan",4),d(),D(o.$t("_backgroundImage")),d(),h("nzSpan",10),d(),h("src",o.settings.shortcutThemeImages[0].src,It),d(2),h("value",o.settings.shortcutThemeImages[0].src),d(3),la("",o.$t("_mirrorList"),"",o.$t("_ignore"),""),d(2),h("nzSpan",4),d(),D(o.$t("_mirrorList")),d(),h("nzSpan",20),d(),h("nzData",o.settings.mirrorList)("nzShowPagination",!1),d(5),D(o.$t("_mirrorAddr")),d(2),D(o.$t("_mirrorName")),d(2),D(o.$t("_action")),d(2),h("ngForOf",o.settings.mirrorList),d(2),D(o.$t("_add")),d(2),h("nzLoading",o.submitting),d(),we(" ",o.$t("_save")," "),d(2),D(o.$t("_setSaveTip"))}},dependencies:[zn,Gs,bO,UO,whe,Vl,Nl,D1,wl,F2,Np,Rp,Fp,nr,mi,tr,Sp,wr,Zi,gp,R1,L1,H1,U1,V2,Y1,N2,Hl,W1,Rl,w3e,fP,dP],styles:["#file[_ngcontent-%COMP%]{cursor:pointer}#file[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{display:none}#file[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:50px;height:50px}.preview[_ngcontent-%COMP%]{width:300px}.save-tip[_ngcontent-%COMP%]{margin-top:10px;color:#f50;font-weight:700}.divider[_ngcontent-%COMP%]{height:1px;width:100%;margin:20px 0;background-color:#eee}.title[_ngcontent-%COMP%]{margin-bottom:20px}.sim-ban[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;width:100px;min-height:60px;object-fit:cover;margin-right:20px;border:1px solid #eee}.sim-ban[_ngcontent-%COMP%] .anticon{font-size:30px}.logo-input[_ngcontent-%COMP%]{display:block!important;width:518px;margin-top:5px}.bottom-bar[_ngcontent-%COMP%]{z-index:3;position:sticky;bottom:0;left:0;padding:10px 0 10px 200px;background-color:#fff;box-shadow:0 0 10px #ccc;margin-top:80px;border-radius:8px;display:flex;align-items:center}"]})}return t})();var Q3e=fe(578);function K3e(t,n){if(1&t&&(Ye(0),A(1,"span",1),Ue()),2&t){const e=n.$implicit;d(),h("nzType",e)}}const $3e=()=>({minWidth:"46px"}),J3e=()=>({visible:!1});function Z3e(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g().$implicit;d(),we(" ",e.tab.label," ")}}function X3e(t,n){if(1&t){const e=W();f(0,"li",8),M("click",function(){const o=S(e).$implicit;return T(g(2).onSelect(o))})("contextmenu",function(o){const r=S(e).$implicit;return T(g(2).onContextmenu(r,o))}),C(1,Z3e,2,1,"ng-container",9),m()}if(2&t){const e=n.$implicit;Z("ant-tabs-dropdown-menu-item-disabled",e.disabled),h("nzSelected",e.active)("nzDisabled",e.disabled),d(),h("nzStringTemplateOutlet",e.tab.label)("nzStringTemplateOutletContext",Si(6,J3e))}}function epe(t,n){if(1&t&&(f(0,"ul",6),C(1,X3e,2,7,"li",7),m()),2&t){const e=g();d(),h("ngForOf",e.items)}}function tpe(t,n){if(1&t){const e=W();f(0,"button",10),M("click",function(){return S(e),T(g().addClicked.emit())}),m()}2&t&&h("addIcon",g().addIcon)}const npe=["navWarp"],ipe=["navList"],ope=["*"];function rpe(t,n){if(1&t){const e=W();f(0,"button",8),M("click",function(){return S(e),T(g().addClicked.emit())}),m()}2&t&&(h("addIcon",g().addIcon),Ot("tabindex",-1))}function spe(t,n){}function ape(t,n){if(1&t&&(f(0,"div",9),C(1,spe,0,0,"ng-template",10),m()),2&t){const e=g();d(),h("ngTemplateOutlet",e.extraTemplate)}}const lpe=["nz-tab-body",""];function cpe(t,n){}function dpe(t,n){if(1&t&&(Ye(0),C(1,cpe,0,0,"ng-template",1),Ue()),2&t){const e=g();d(),h("ngTemplateOutlet",e.content)}}function upe(t,n){if(1&t&&(Ye(0),A(1,"span",1),Ue()),2&t){const e=n.$implicit;d(),h("nzType",e)}}const hpe=["contentTemplate"],ppe=[[["","nz-tab-link",""]],"*"],fpe=["[nz-tab-link]","*"];function mpe(t,n){1&t&&_t(0)}function gpe(t,n){1&t&&_t(0,1)}const vpe=()=>({visible:!0});function bpe(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g().$implicit;d(),D(e.label)}}function _pe(t,n){if(1&t){const e=W();f(0,"button",10),M("click",function(o){S(e);const r=g().index;return T(g(2).onClose(r,o))}),m()}2&t&&h("closeIcon",g().$implicit.nzCloseIcon)}function ype(t,n){if(1&t){const e=W();f(0,"div",6),M("click",function(o){const r=S(e),s=r.$implicit,a=r.index;return T(g(2).clickNavItem(s,a,o))})("contextmenu",function(o){const r=S(e).$implicit;return T(g(2).contextmenuNavItem(r,o))}),f(1,"button",7),C(2,bpe,2,1,"ng-container",8)(3,_pe,1,1,"button",9),m()()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);Lt("margin-right","horizontal"===o.position?o.nzTabBarGutter:null,"px")("margin-bottom","vertical"===o.position?o.nzTabBarGutter:null,"px"),Z("ant-tabs-tab-active",o.nzSelectedIndex===i)("ant-tabs-tab-disabled",e.nzDisabled),d(),h("id",o.getTabContentId(i))("disabled",e.nzDisabled)("tab",e)("active",o.nzSelectedIndex===i),Ot("tabIndex",o.getTabIndex(e,i))("aria-disabled",e.nzDisabled)("aria-selected",o.nzSelectedIndex===i&&!o.nzHideAll)("aria-controls",o.getTabContentId(i)),d(),h("nzStringTemplateOutlet",e.label)("nzStringTemplateOutletContext",Si(19,vpe)),d(),h("ngIf",e.nzClosable&&o.closable&&!e.nzDisabled)}}function wpe(t,n){if(1&t){const e=W();f(0,"nz-tabs-nav",4),M("tabScroll",function(o){return S(e),T(g().nzTabListScroll.emit(o))})("selectFocusedIndex",function(o){return S(e),T(g().setSelectedIndex(o))})("addClicked",function(){return S(e),T(g().onAdd())}),C(1,ype,4,20,"div",5),m()}if(2&t){const e=g();h("ngStyle",e.nzTabBarStyle)("selectedIndex",e.nzSelectedIndex||0)("inkBarAnimated",e.inkBarAnimated)("addable",e.addable)("addIcon",e.nzAddIcon)("hideBar",e.nzHideAll)("position",e.position)("extraTemplate",e.nzTabBarExtraContent),d(),h("ngForOf",e.tabs)}}function Cpe(t,n){if(1&t&&A(0,"div",11),2&t){const e=n.$implicit,i=n.index,o=g();h("id",o.getTabContentId(i))("active",o.nzSelectedIndex===i&&!o.nzHideAll)("content",e.content)("forceRender",e.nzForceRender)("animated",o.tabPaneAnimated),Ot("aria-labelledby",o.getTabContentId(i))}}let R2=(()=>{class t{constructor(e){this.elementRef=e,this.addIcon="plus",this.element=this.elementRef.nativeElement}getElementWidth(){return this.element?.offsetWidth||0}getElementHeight(){return this.element?.offsetHeight||0}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tab-add-button"],["button","nz-tab-add-button",""]],hostAttrs:["aria-label","Add tab","type","button",1,"ant-tabs-nav-add"],inputs:{addIcon:"addIcon"},standalone:!0,features:[me],decls:1,vars:1,consts:[[4,"nzStringTemplateOutlet"],["nz-icon","","nzTheme","outline",3,"nzType"]],template:function(i,o){1&i&&C(0,K3e,2,1,"ng-container",0),2&i&&h("nzStringTemplateOutlet",o.addIcon)},dependencies:[Sn,An,In,ln],encapsulation:2})}return t})(),Iv=(()=>{class t{get _animated(){return"NoopAnimations"!==this.animationMode&&this.animated}constructor(e,i,o){this.elementRef=e,this.ngZone=i,this.animationMode=o,this.position="horizontal",this.animated=!0}alignToElement(e){this.ngZone.runOutsideAngular(()=>{p2(()=>this.setStyles(e))})}setStyles(e){const i=this.elementRef.nativeElement;"horizontal"===this.position?(i.style.top="",i.style.height="",i.style.left=this.getLeftPosition(e),i.style.width=this.getElementWidth(e)):(i.style.left="",i.style.width="",i.style.top=this.getTopPosition(e),i.style.height=this.getElementHeight(e))}getLeftPosition(e){return e?`${e.offsetLeft||0}px`:"0"}getElementWidth(e){return e?`${e.offsetWidth||0}px`:"0"}getTopPosition(e){return e?`${e.offsetTop||0}px`:"0"}getElementHeight(e){return e?`${e.offsetHeight||0}px`:"0"}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(Me),v(ta,8))};static#t=this.\u0275dir=de({type:t,selectors:[["nz-tabs-ink-bar"],["","nz-tabs-ink-bar",""]],hostAttrs:[1,"ant-tabs-ink-bar"],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-tabs-ink-bar-animated",o._animated)},inputs:{position:"position",animated:"animated"},standalone:!0})}return t})(),Ov=(()=>{class t{constructor(e){this.elementRef=e,this.disabled=!1,this.active=!1,this.el=e.nativeElement,this.parentElement=this.el.parentElement}focus(){this.el.focus()}get width(){return this.parentElement.offsetWidth}get height(){return this.parentElement.offsetHeight}get left(){return this.parentElement.offsetLeft}get top(){return this.parentElement.offsetTop}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzTabNavItem",""]],inputs:{disabled:[2,"disabled","disabled",I],tab:"tab",active:[2,"active","active",I]},standalone:!0,features:[je]})}return t})(),Bp=(()=>{class t{constructor(e,i){this.cdr=e,this.elementRef=i,this.items=[],this.addable=!1,this.addIcon="plus",this.addClicked=new B,this.selected=new B,this.menuOpened=!1,this.element=this.elementRef.nativeElement}onSelect(e){e.disabled||(e.tab.nzClick.emit(),this.selected.emit(e))}onContextmenu(e,i){e.disabled||e.tab.nzContextmenu.emit(i)}showItems(){clearTimeout(this.closeAnimationWaitTimeoutId),this.menuOpened=!0,this.cdr.markForCheck()}menuVisChange(e){e||(this.closeAnimationWaitTimeoutId=setTimeout(()=>{this.menuOpened=!1,this.cdr.markForCheck()},150))}getElementWidth(){return this.element?.offsetWidth||0}getElementHeight(){return this.element?.offsetHeight||0}ngOnDestroy(){clearTimeout(this.closeAnimationWaitTimeoutId)}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Se))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tab-nav-operation"]],hostAttrs:[1,"ant-tabs-nav-operations"],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-tabs-nav-operations-hidden",0===o.items.length)},inputs:{items:"items",addable:[2,"addable","addable",I],addIcon:"addIcon"},outputs:{addClicked:"addClicked",selected:"selected"},exportAs:["nzTabNavOperation"],standalone:!0,features:[je,me],decls:7,vars:6,consts:[["dropdownTrigger","nzDropdown"],["menu","nzDropdownMenu"],["nz-dropdown","","type","button","tabindex","-1","aria-hidden","true","nzOverlayClassName","nz-tabs-dropdown",1,"ant-tabs-nav-more",3,"nzVisibleChange","mouseenter","nzDropdownMenu","nzOverlayStyle","nzMatchWidthElement"],["nz-icon","","nzType","ellipsis"],["nz-menu","",4,"ngIf"],["nz-tab-add-button","",3,"addIcon","click",4,"ngIf"],["nz-menu",""],["nz-menu-item","","class","ant-tabs-dropdown-menu-item",3,"ant-tabs-dropdown-menu-item-disabled","nzSelected","nzDisabled","click","contextmenu",4,"ngFor","ngForOf"],["nz-menu-item","",1,"ant-tabs-dropdown-menu-item",3,"click","contextmenu","nzSelected","nzDisabled"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],["nz-tab-add-button","",3,"click","addIcon"]],template:function(i,o){if(1&i){const r=W();f(0,"button",2,0),M("nzVisibleChange",function(a){return S(r),T(o.menuVisChange(a))})("mouseenter",function(){return S(r),T(o.showItems())}),A(2,"span",3),m(),f(3,"nz-dropdown-menu",null,1),C(5,epe,2,1,"ul",4),m(),C(6,tpe,1,1,"button",5)}2&i&&(h("nzDropdownMenu",Be(4))("nzOverlayStyle",Si(5,$3e))("nzMatchWidthElement",null),d(5),h("ngIf",o.menuOpened),d(),h("ngIf",o.addable))},dependencies:[In,ln,St,zn,Sn,An,R2,w2,R7,Aa,Ws,V1],encapsulation:2,changeDetection:0})}return t})();const vP=.995**20;let bP=(()=>{class t{constructor(e,i){this.ngZone=e,this.elementRef=i,this.lastWheelDirection=null,this.lastWheelTimestamp=0,this.lastTimestamp=0,this.lastTimeDiff=0,this.lastMixedWheel=0,this.lastWheelPrevent=!1,this.touchPosition=null,this.lastOffset=null,this.motion=-1,this.unsubscribe=()=>{},this.offsetChange=new B,this.tabScroll=new B,this.onTouchEnd=o=>{if(!this.touchPosition)return;const r=this.lastOffset,s=this.lastTimeDiff;if(this.lastOffset=this.touchPosition=null,r){const a=r.x/s,l=r.y/s,c=Math.abs(a),u=Math.abs(l);if(Math.max(c,u)<.1)return;let p=a,b=l;this.motion=window.setInterval(()=>{Math.abs(p)<.01&&Math.abs(b)<.01?window.clearInterval(this.motion):(p*=vP,b*=vP,this.onOffset(20*p,20*b,o))},20)}},this.onTouchMove=o=>{if(!this.touchPosition)return;o.preventDefault();const{screenX:r,screenY:s}=o.touches[0],a=r-this.touchPosition.x,l=s-this.touchPosition.y;this.onOffset(a,l,o);const c=Date.now();this.lastTimeDiff=c-this.lastTimestamp,this.lastTimestamp=c,this.lastOffset={x:a,y:l},this.touchPosition={x:r,y:s}},this.onTouchStart=o=>{const{screenX:r,screenY:s}=o.touches[0];this.touchPosition={x:r,y:s},window.clearInterval(this.motion)},this.onWheel=o=>{const{deltaX:r,deltaY:s}=o;let a;const l=Math.abs(r),c=Math.abs(s);l===c?a="x"===this.lastWheelDirection?r:s:l>c?(a=r,this.lastWheelDirection="x"):(a=s,this.lastWheelDirection="y");const u=Date.now(),p=Math.abs(a);(u-this.lastWheelTimestamp>100||p-this.lastMixedWheel>10)&&(this.lastWheelPrevent=!1),this.onOffset(-a,-a,o),(o.defaultPrevented||this.lastWheelPrevent)&&(this.lastWheelPrevent=!0),this.lastWheelTimestamp=u,this.lastMixedWheel=p}}ngOnInit(){this.unsubscribe=this.ngZone.runOutsideAngular(()=>{const e=this.elementRef.nativeElement,i=nn(e,"wheel"),o=nn(e,"touchstart"),r=nn(e,"touchmove"),s=nn(e,"touchend"),a=new Ft;return a.add(this.subscribeWrap("wheel",i,this.onWheel)),a.add(this.subscribeWrap("touchstart",o,this.onTouchStart)),a.add(this.subscribeWrap("touchmove",r,this.onTouchMove)),a.add(this.subscribeWrap("touchend",s,this.onTouchEnd)),()=>{a.unsubscribe()}})}subscribeWrap(e,i,o){return i.subscribe(r=>{this.tabScroll.emit({type:e,event:r}),r.defaultPrevented||o(r)})}onOffset(e,i,o){this.ngZone.run(()=>{this.offsetChange.emit({x:e,y:i,event:o})})}ngOnDestroy(){this.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)(v(Me),v(Se))};static#t=this.\u0275dir=de({type:t,selectors:[["","nzTabScrollList",""]],outputs:{offsetChange:"offsetChange",tabScroll:"tabScroll"},standalone:!0})}return t})();const Ape=typeof requestAnimationFrame<"u"?b7:y7;let jp=(()=>{class t{get selectedIndex(){return this._selectedIndex}set selectedIndex(e){const i=Rs(e);this._selectedIndex!==i&&(this._selectedIndex=e,this.selectedIndexChanged=!0,this.keyManager&&this.keyManager.updateActiveItem(e))}get focusIndex(){return this.keyManager?this.keyManager.activeItemIndex:0}set focusIndex(e){!this.isValidIndex(e)||this.focusIndex===e||!this.keyManager||this.keyManager.setActiveItem(e)}get showAddButton(){return 0===this.hiddenItems.length&&this.addable}constructor(e,i,o,r,s){this.cdr=e,this.ngZone=i,this.viewportRuler=o,this.nzResizeObserver=r,this.dir=s,this.indexFocused=new B,this.selectFocusedIndex=new B,this.addClicked=new B,this.tabScroll=new B,this.position="horizontal",this.addable=!1,this.hideBar=!1,this.addIcon="plus",this.inkBarAnimated=!0,this.translate=null,this.transformX=0,this.transformY=0,this.pingLeft=!1,this.pingRight=!1,this.pingTop=!1,this.pingBottom=!1,this.hiddenItems=[],this.destroy$=new V,this._selectedIndex=0,this.wrapperWidth=0,this.wrapperHeight=0,this.scrollListWidth=0,this.scrollListHeight=0,this.operationWidth=0,this.operationHeight=0,this.addButtonWidth=0,this.addButtonHeight=0,this.selectedIndexChanged=!1}ngAfterViewInit(){const e=this.dir?this.dir.change.asObservable():Ge(null),i=this.viewportRuler.change(150),o=()=>{this.updateScrollListPosition(),this.alignInkBarToSelectedTab()};this.keyManager=new _se(this.items).withHorizontalOrientation(this.getLayoutDirection()).withWrap(),this.keyManager.updateActiveItem(this.selectedIndex),p2(o),On(this.nzResizeObserver.observe(this.navWarpRef),this.nzResizeObserver.observe(this.navListRef)).pipe(P(this.destroy$),bl(16,Ape)).subscribe(()=>{o()}),On(e,i,this.items.changes).pipe(P(this.destroy$)).subscribe(()=>{Promise.resolve().then(o),this.keyManager.withHorizontalOrientation(this.getLayoutDirection())}),this.keyManager.change.pipe(P(this.destroy$)).subscribe(r=>{this.indexFocused.emit(r),this.setTabFocus(r),this.scrollToTab(this.keyManager.activeItem)})}ngAfterContentChecked(){this.selectedIndexChanged&&(this.updateScrollListPosition(),this.alignInkBarToSelectedTab(),this.selectedIndexChanged=!1,this.cdr.markForCheck())}ngOnDestroy(){clearTimeout(this.lockAnimationTimeoutId),clearTimeout(this.cssTransformTimeWaitingId),this.destroy$.next(),this.destroy$.complete()}onSelectedFromMenu(e){const i=this.items.toArray().findIndex(o=>o===e);-1!==i&&(this.keyManager.updateActiveItem(i),this.focusIndex!==this.selectedIndex&&(this.selectFocusedIndex.emit(this.focusIndex),this.scrollToTab(e)))}onOffsetChange(e){if("horizontal"===this.position){if(!this.lockAnimationTimeoutId&&(this.transformX>=0&&e.x>0||this.transformX<=this.wrapperWidth-this.scrollListWidth&&e.x<0))return;e.event.preventDefault(),this.transformX=this.clampTransformX(this.transformX+e.x),this.setTransform(this.transformX,0)}else{if(!this.lockAnimationTimeoutId&&(this.transformY>=0&&e.y>0||this.transformY<=this.wrapperHeight-this.scrollListHeight&&e.y<0))return;e.event.preventDefault(),this.transformY=this.clampTransformY(this.transformY+e.y),this.setTransform(0,this.transformY)}this.lockAnimation(),this.setVisibleRange(),this.setPingStatus()}handleKeydown(e){const i=this.navWarpRef.nativeElement.contains(e.target);if(!c2(e)&&i)switch(e.keyCode){case 37:case 38:case 39:case 40:this.lockAnimation(),this.keyManager.onKeydown(e);break;case 13:case 32:this.focusIndex!==this.selectedIndex&&this.selectFocusedIndex.emit(this.focusIndex);break;default:this.keyManager.onKeydown(e)}}isValidIndex(e){if(!this.items)return!0;const i=this.items?this.items.toArray()[e]:null;return!!i&&!i.disabled}scrollToTab(e){if(!this.items.find(o=>o===e))return;const i=this.items.toArray();if("horizontal"===this.position){let o=this.transformX;if("rtl"===this.getLayoutDirection()){const r=i[0].left+i[0].width-e.left-e.width;rthis.transformX+this.wrapperWidth&&(o=r+e.width-this.wrapperWidth)}else e.left<-this.transformX?o=-e.left:e.left+e.width>-this.transformX+this.wrapperWidth&&(o=-(e.left+e.width-this.wrapperWidth));this.transformX=o,this.transformY=0,this.setTransform(o,0)}else{let o=this.transformY;e.top<-this.transformY?o=-e.top:e.top+e.height>-this.transformY+this.wrapperHeight&&(o=-(e.top+e.height-this.wrapperHeight)),this.transformY=o,this.transformX=0,this.setTransform(0,o)}clearTimeout(this.cssTransformTimeWaitingId),this.cssTransformTimeWaitingId=setTimeout(()=>{this.setVisibleRange()},150)}lockAnimation(){this.lockAnimationTimeoutId||this.ngZone.runOutsideAngular(()=>{this.navListRef.nativeElement.style.transition="none",this.lockAnimationTimeoutId=setTimeout(()=>{this.navListRef.nativeElement.style.transition="",this.lockAnimationTimeoutId=void 0},150)})}setTransform(e,i){this.navListRef.nativeElement.style.transform=`translate(${e}px, ${i}px)`}clampTransformX(e){const i=this.wrapperWidth-this.scrollListWidth;return"rtl"===this.getLayoutDirection()?Math.max(Math.min(i,e),0):Math.min(Math.max(i,e),0)}clampTransformY(e){return Math.min(Math.max(this.wrapperHeight-this.scrollListHeight,e),0)}updateScrollListPosition(){this.resetSizes(),this.transformX=this.clampTransformX(this.transformX),this.transformY=this.clampTransformY(this.transformY),this.setVisibleRange(),this.setPingStatus(),this.keyManager&&(this.keyManager.updateActiveItem(this.keyManager.activeItemIndex),this.keyManager.activeItem&&this.scrollToTab(this.keyManager.activeItem))}resetSizes(){this.addButtonWidth=this.addBtnRef?this.addBtnRef.getElementWidth():0,this.addButtonHeight=this.addBtnRef?this.addBtnRef.getElementHeight():0,this.operationWidth=this.operationRef.getElementWidth(),this.operationHeight=this.operationRef.getElementHeight(),this.wrapperWidth=this.navWarpRef.nativeElement.offsetWidth||0,this.wrapperHeight=this.navWarpRef.nativeElement.offsetHeight||0,this.scrollListHeight=this.navListRef.nativeElement.offsetHeight||0,this.scrollListWidth=this.navListRef.nativeElement.offsetWidth||0}alignInkBarToSelectedTab(){const e=this.items&&this.items.length?this.items.toArray()[this.selectedIndex]:null,i=e?e.elementRef.nativeElement:null;i&&this.inkBar.alignToElement(i.parentElement)}setPingStatus(){const e={top:!1,right:!1,bottom:!1,left:!1},i=this.navWarpRef.nativeElement;"horizontal"===this.position?"rtl"===this.getLayoutDirection()?(e.right=this.transformX>0,e.left=this.transformX+this.wrapperWidth{const r=`ant-tabs-nav-wrap-ping-${o}`;e[o]?i.classList.add(r):i.classList.remove(r)})}setVisibleRange(){let e,i,o,r,s,a;const l=this.items.toArray(),c={width:0,height:0,left:0,top:0,right:0},u=x=>{let k;return k="right"===i?l[0].left+l[0].width-l[x].left-l[x].width:(l[x]||c)[i],k};"horizontal"===this.position?(e="width",r=this.wrapperWidth,s=this.scrollListWidth-(this.hiddenItems.length?this.operationWidth:0),a=this.addButtonWidth,o=Math.abs(this.transformX),"rtl"===this.getLayoutDirection()?(i="right",this.pingRight=this.transformX>0,this.pingLeft=this.transformX+this.wrapperWidthr&&(p=r-a),!l.length)return this.hiddenItems=[],void this.cdr.markForCheck();const b=l.length;let _=b;for(let x=0;xo+p){_=x-1;break}let y=0;for(let x=b-1;x>=0;x-=1)if(u(x){class t{constructor(){this.content=null,this.active=!1,this.animated=!0,this.forceRender=!1,this.hasBeenActive=!1}ngOnChanges(e){const{active:i}=e;i?.currentValue&&(this.hasBeenActive=!0)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["","nz-tab-body",""]],hostAttrs:[1,"ant-tabs-tabpane"],hostVars:10,hostBindings:function(i,o){2&i&&(ol("@tabSwitchMotion",o.active?"enter":"leave")("@.disabled",!o.animated),Ot("tabindex",o.active?0:-1)("aria-hidden",!o.active),Lt("overflow-y",o.animated?o.active?null:"none":null),Z("ant-tabs-tabpane-active",o.active)("ant-tabs-tabpane-hidden",o.animated?null:!o.active))},inputs:{content:"content",active:"active",animated:"animated",forceRender:"forceRender"},exportAs:["nzTabBody"],standalone:!0,features:[xe,me],attrs:lpe,decls:1,vars:1,consts:[[4,"ngIf"],[3,"ngTemplateOutlet"]],template:function(i,o){1&i&&C(0,dpe,2,1,"ng-container",0),2&i&&h("ngIf",o.hasBeenActive||o.forceRender)},dependencies:[St,Nn],encapsulation:2,data:{animation:[$ne]},changeDetection:0})}return t})(),Pv=(()=>{class t{constructor(){this.closeIcon="close"}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tab-close-button"],["button","nz-tab-close-button",""]],hostAttrs:["aria-label","Close tab","type","button",1,"ant-tabs-tab-remove"],inputs:{closeIcon:"closeIcon"},standalone:!0,features:[me],decls:1,vars:1,consts:[[4,"nzStringTemplateOutlet"],["nz-icon","","nzTheme","outline",3,"nzType"]],template:function(i,o){1&i&&C(0,upe,2,1,"ng-container",0),2&i&&h("nzStringTemplateOutlet",o.closeIcon)},dependencies:[Sn,An,In,ln],encapsulation:2})}return t})(),wP=(()=>{class t{constructor(e){this.templateRef=e}static#e=this.\u0275fac=function(i){return new(i||t)(v(qt,1))};static#t=this.\u0275dir=de({type:t,selectors:[["ng-template","nzTabLink",""]],exportAs:["nzTabLinkTemplate"],standalone:!0})}return t})(),CP=(()=>{class t{constructor(e,i){this.elementRef=e,this.routerLink=i}static#e=this.\u0275fac=function(i){return new(i||t)(v(Se),v(_1,10))};static#t=this.\u0275dir=de({type:t,selectors:[["a","nz-tab-link",""]],exportAs:["nzTabLink"],standalone:!0})}return t})(),zP=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-tab",""]],exportAs:["nzTab"],standalone:!0})}return t})();const AP=new oe("NZ_TAB_SET");let Vv=(()=>{class t{get content(){return this.template||this.contentTemplate}get label(){return this.nzTitle||this.nzTabLinkTemplateDirective?.templateRef}constructor(e){this.closestTabSet=e,this.nzTitle="",this.nzClosable=!1,this.nzCloseIcon="close",this.nzDisabled=!1,this.nzForceRender=!1,this.nzSelect=new B,this.nzDeselect=new B,this.nzClick=new B,this.nzContextmenu=new B,this.template=null,this.isActive=!1,this.position=null,this.origin=null,this.stateChanges=new V}ngOnChanges(e){const{nzTitle:i,nzDisabled:o,nzForceRender:r}=e;(i||o||r)&&this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(AP))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tab"]],contentQueries:function(i,o,r){if(1&i&&(fn(r,wP,5),fn(r,zP,5,qt),fn(r,CP,5)),2&i){let s;ke(s=Ie())&&(o.nzTabLinkTemplateDirective=s.first),ke(s=Ie())&&(o.template=s.first),ke(s=Ie())&&(o.linkDirective=s.first)}},viewQuery:function(i,o){if(1&i&&ft(hpe,7),2&i){let r;ke(r=Ie())&&(o.contentTemplate=r.first)}},inputs:{nzTitle:"nzTitle",nzClosable:[2,"nzClosable","nzClosable",I],nzCloseIcon:"nzCloseIcon",nzDisabled:[2,"nzDisabled","nzDisabled",I],nzForceRender:[2,"nzForceRender","nzForceRender",I]},outputs:{nzSelect:"nzSelect",nzDeselect:"nzDeselect",nzClick:"nzClick",nzContextmenu:"nzContextmenu"},exportAs:["nzTab"],standalone:!0,features:[je,xe,me],ngContentSelectors:fpe,decls:4,vars:0,consts:[["tabLinkTemplate",""],["contentTemplate",""]],template:function(i,o){1&i&&(Et(ppe),C(0,mpe,1,0,"ng-template",null,0,ot)(2,gpe,1,0,"ng-template",null,1,ot))},encapsulation:2,changeDetection:0})}return t})();class Spe{}let Mpe=0,Nv=(()=>{class t{get nzSelectedIndex(){return this.selectedIndex}set nzSelectedIndex(e){this.indexToSelect=Rs(e,null)}get position(){return-1===["top","bottom"].indexOf(this.nzTabPosition)?"vertical":"horizontal"}get addable(){return"editable-card"===this.nzType&&!this.nzHideAdd}get closable(){return"editable-card"===this.nzType}get line(){return"line"===this.nzType}get inkBarAnimated(){return this.line&&("boolean"==typeof this.nzAnimated?this.nzAnimated:this.nzAnimated.inkBar)}get tabPaneAnimated(){return"boolean"==typeof this.nzAnimated?this.nzAnimated:this.nzAnimated.tabPane}constructor(e,i,o,r,s){this.nzConfigService=e,this.ngZone=i,this.cdr=o,this.directionality=r,this.router=s,this._nzModuleName="tabs",this.nzTabPosition="top",this.nzCanDeactivate=null,this.nzAddIcon="plus",this.nzTabBarStyle=null,this.nzType="line",this.nzSize="default",this.nzAnimated=!0,this.nzTabBarGutter=void 0,this.nzHideAdd=!1,this.nzCentered=!1,this.nzHideAll=!1,this.nzLinkRouter=!1,this.nzLinkExact=!0,this.nzSelectChange=new B(!0),this.nzSelectedIndexChange=new B,this.nzTabListScroll=new B,this.nzClose=new B,this.nzAdd=new B,this.allTabs=new Wa,this.tabs=new Wa,this.dir="ltr",this.destroy$=new V,this.indexToSelect=0,this.selectedIndex=null,this.tabLabelSubscription=Ft.EMPTY,this.tabsSubscription=Ft.EMPTY,this.canDeactivateSubscription=Ft.EMPTY,this.tabSetId=Mpe++}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.tabs.destroy(),this.tabLabelSubscription.unsubscribe(),this.tabsSubscription.unsubscribe(),this.canDeactivateSubscription.unsubscribe()}ngAfterContentInit(){this.ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>this.setUpRouter())}),this.subscribeToTabLabels(),this.subscribeToAllTabChanges(),this.tabsSubscription=this.tabs.changes.subscribe(()=>{if(this.clampTabIndex(this.indexToSelect)===this.selectedIndex){const i=this.tabs.toArray();for(let o=0;o{this.tabs.forEach((o,r)=>o.isActive=r===e),i||this.nzSelectedIndexChange.emit(e)})}this.tabs.forEach((i,o)=>{i.position=o-e,null!=this.selectedIndex&&0===i.position&&!i.origin&&(i.origin=e-this.selectedIndex)}),this.selectedIndex!==e&&(this.selectedIndex=e,this.cdr.markForCheck())}onClose(e,i){i.preventDefault(),i.stopPropagation(),this.nzClose.emit({index:e})}onAdd(){this.nzAdd.emit()}clampTabIndex(e){return Math.min(this.tabs.length-1,Math.max(e||0,0))}createChangeEvent(e){const i=new Spe;return i.index=e,this.tabs&&this.tabs.length&&(i.tab=this.tabs.toArray()[e],this.tabs.forEach((o,r)=>{r!==e&&o.nzDeselect.emit()}),i.tab.nzSelect.emit()),i}subscribeToTabLabels(){this.tabLabelSubscription&&this.tabLabelSubscription.unsubscribe(),this.tabLabelSubscription=On(...this.tabs.map(e=>e.stateChanges)).subscribe(()=>this.cdr.markForCheck())}subscribeToAllTabChanges(){this.allTabs.changes.pipe(gn(this.allTabs)).subscribe(e=>{this.tabs.reset(e.filter(i=>i.closestTabSet===this)),this.tabs.notifyOnChanges()})}canDeactivateFun(e,i){return"function"==typeof this.nzCanDeactivate?_E(this.nzCanDeactivate(e,i)).pipe(Vs(),P(this.destroy$)):Ge(!0)}clickNavItem(e,i,o){e.nzDisabled||(e.nzClick.emit(),this.isRouterLinkClickEvent(i,o)||this.setSelectedIndex(i))}isRouterLinkClickEvent(e,i){const o=i.target;return!!this.nzLinkRouter&&!!this.tabs.toArray()[e]?.linkDirective?.elementRef.nativeElement.contains(o)}contextmenuNavItem(e,i){e.nzDisabled||e.nzContextmenu.emit(i)}setSelectedIndex(e){this.canDeactivateSubscription.unsubscribe(),this.canDeactivateSubscription=this.canDeactivateFun(this.selectedIndex,e).subscribe(i=>{i&&(this.nzSelectedIndex=e,this.tabNavBarRef.focusIndex=e,this.cdr.markForCheck())})}getTabIndex(e,i){return e.nzDisabled?null:this.selectedIndex===i?0:-1}getTabContentId(e){return`nz-tabs-${this.tabSetId}-tab-${e}`}setUpRouter(){if(this.nzLinkRouter){if(!this.router)throw new Error(`${k3} you should import 'RouterModule' if you want to use 'nzLinkRouter'!`);this.router.events.pipe(P(this.destroy$),yt(e=>e instanceof Hr),gn(!0),C2(0)).subscribe(()=>{this.updateRouterActive(),this.cdr.markForCheck()})}}updateRouterActive(){if(this.router.navigated){const e=this.findShouldActiveTabIndex();e!==this.selectedIndex&&this.setSelectedIndex(e),this.nzHideAll=-1===e}}findShouldActiveTabIndex(){const e=this.tabs.toArray(),i=this.isLinkActive(this.router);return e.findIndex(o=>{const r=o.linkDirective;return!!r&&i(r.routerLink)})}isLinkActive(e){return i=>!!i&&e.isActive(i.urlTree||"",{paths:this.nzLinkExact?"exact":"subset",queryParams:this.nzLinkExact?"exact":"subset",fragment:"ignored",matrixParams:"ignored"})}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(Me),v(We),v(Ct,8),v(oi,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tabset"]],contentQueries:function(i,o,r){if(1&i&&fn(r,Vv,5),2&i){let s;ke(s=Ie())&&(o.allTabs=s)}},viewQuery:function(i,o){if(1&i&&ft(jp,5),2&i){let r;ke(r=Ie())&&(o.tabNavBarRef=r.first)}},hostAttrs:[1,"ant-tabs"],hostVars:24,hostBindings:function(i,o){2&i&&Z("ant-tabs-card","card"===o.nzType||"editable-card"===o.nzType)("ant-tabs-editable","editable-card"===o.nzType)("ant-tabs-editable-card","editable-card"===o.nzType)("ant-tabs-centered",o.nzCentered)("ant-tabs-rtl","rtl"===o.dir)("ant-tabs-top","top"===o.nzTabPosition)("ant-tabs-bottom","bottom"===o.nzTabPosition)("ant-tabs-left","left"===o.nzTabPosition)("ant-tabs-right","right"===o.nzTabPosition)("ant-tabs-default","default"===o.nzSize)("ant-tabs-small","small"===o.nzSize)("ant-tabs-large","large"===o.nzSize)},inputs:{nzSelectedIndex:"nzSelectedIndex",nzTabPosition:"nzTabPosition",nzTabBarExtraContent:"nzTabBarExtraContent",nzCanDeactivate:"nzCanDeactivate",nzAddIcon:"nzAddIcon",nzTabBarStyle:"nzTabBarStyle",nzType:"nzType",nzSize:"nzSize",nzAnimated:"nzAnimated",nzTabBarGutter:"nzTabBarGutter",nzHideAdd:[2,"nzHideAdd","nzHideAdd",I],nzCentered:[2,"nzCentered","nzCentered",I],nzHideAll:[2,"nzHideAll","nzHideAll",I],nzLinkRouter:[2,"nzLinkRouter","nzLinkRouter",I],nzLinkExact:[2,"nzLinkExact","nzLinkExact",I]},outputs:{nzSelectChange:"nzSelectChange",nzSelectedIndexChange:"nzSelectedIndexChange",nzTabListScroll:"nzTabListScroll",nzClose:"nzClose",nzAdd:"nzAdd"},exportAs:["nzTabset"],standalone:!0,features:[et([{provide:AP,useExisting:t}]),je,me],decls:4,vars:12,consts:[[3,"ngStyle","selectedIndex","inkBarAnimated","addable","addIcon","hideBar","position","extraTemplate","tabScroll","selectFocusedIndex","addClicked",4,"ngIf"],[1,"ant-tabs-content-holder"],[1,"ant-tabs-content"],["role","tabpanel","nz-tab-body","",3,"id","active","content","forceRender","animated",4,"ngFor","ngForOf"],[3,"tabScroll","selectFocusedIndex","addClicked","ngStyle","selectedIndex","inkBarAnimated","addable","addIcon","hideBar","position","extraTemplate"],["class","ant-tabs-tab",3,"margin-right","margin-bottom","ant-tabs-tab-active","ant-tabs-tab-disabled","click","contextmenu",4,"ngFor","ngForOf"],[1,"ant-tabs-tab",3,"click","contextmenu"],["type","button","role","tab","nzTabNavItem","","cdkMonitorElementFocus","",1,"ant-tabs-tab-btn",3,"id","disabled","tab","active"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],["type","button","nz-tab-close-button","",3,"closeIcon","click",4,"ngIf"],["type","button","nz-tab-close-button","",3,"click","closeIcon"],["role","tabpanel","nz-tab-body","",3,"id","active","content","forceRender","animated"]],template:function(i,o){1&i&&(C(0,wpe,2,9,"nz-tabs-nav",0),f(1,"div",1)(2,"div",2),C(3,Cpe,1,6,"div",3),m()()),2&i&&(h("ngIf",o.tabs.length||o.addable),d(2),Z("ant-tabs-content-top","top"===o.nzTabPosition)("ant-tabs-content-bottom","bottom"===o.nzTabPosition)("ant-tabs-content-left","left"===o.nzTabPosition)("ant-tabs-content-right","right"===o.nzTabPosition)("ant-tabs-content-animated",o.tabPaneAnimated),d(),h("ngForOf",o.tabs))},dependencies:[jp,St,ti,zn,Ov,Dk,Fse,Sn,An,Pv,yP],encapsulation:2})}return xt([Vt()],t.prototype,"nzType",void 0),xt([Vt()],t.prototype,"nzSize",void 0),xt([Vt()],t.prototype,"nzAnimated",void 0),xt([Vt()],t.prototype,"nzTabBarGutter",void 0),t})(),Dpe=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Nv,jp,Bp,R2,Pv]})}return t})();const Epe=["*"];function xpe(t,n){if(1&t){const e=W();f(0,"span",1),M("click",function(o){return S(e),T(g().closeTag(o))}),m()}}let Fv=(()=>{class t{constructor(e,i,o,r){this.cdr=e,this.renderer=i,this.elementRef=o,this.directionality=r,this.isPresetColor=!1,this.nzMode="default",this.nzChecked=!1,this.nzBordered=!0,this.nzOnClose=new B,this.nzCheckedChange=new B,this.dir="ltr",this.destroy$=new V}updateCheckedStatus(){"checkable"===this.nzMode&&(this.nzChecked=!this.nzChecked,this.nzCheckedChange.emit(this.nzChecked))}closeTag(e){this.nzOnClose.emit(e),e.defaultPrevented||this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement),this.elementRef.nativeElement)}clearPresetColor(){const e=this.elementRef.nativeElement,i=new RegExp(`(ant-tag-(?:${[...xE,...EE].join("|")}))`,"g"),o=e.classList.toString(),r=[];let s=i.exec(o);for(;null!==s;)r.push(s[1]),s=i.exec(o);e.classList.remove(...r)}setPresetColor(){const e=this.elementRef.nativeElement;this.clearPresetColor(),this.isPresetColor=!!this.nzColor&&(kE(this.nzColor)||function xne(t){return-1!==EE.indexOf(t)}(this.nzColor)),this.isPresetColor&&e.classList.add(`ant-tag-${this.nzColor}`)}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnChanges(e){const{nzColor:i}=e;i&&this.setPresetColor()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We),v(Yt),v(Se),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-tag"]],hostAttrs:[1,"ant-tag"],hostVars:12,hostBindings:function(i,o){1&i&&M("click",function(){return o.updateCheckedStatus()}),2&i&&(Lt("background-color",o.isPresetColor?"":o.nzColor),Z("ant-tag-has-color",o.nzColor&&!o.isPresetColor)("ant-tag-checkable","checkable"===o.nzMode)("ant-tag-checkable-checked",o.nzChecked)("ant-tag-rtl","rtl"===o.dir)("ant-tag-borderless",!o.nzBordered))},inputs:{nzMode:"nzMode",nzColor:"nzColor",nzChecked:[2,"nzChecked","nzChecked",I],nzBordered:[2,"nzBordered","nzBordered",I]},outputs:{nzOnClose:"nzOnClose",nzCheckedChange:"nzCheckedChange"},exportAs:["nzTag"],standalone:!0,features:[je,xe,me],ngContentSelectors:Epe,decls:2,vars:1,consts:[["nz-icon","","nzType","close","class","ant-tag-close-icon","tabindex","-1",3,"click",4,"ngIf"],["nz-icon","","nzType","close","tabindex","-1",1,"ant-tag-close-icon",3,"click"]],template:function(i,o){1&i&&(Et(),_t(0),C(1,xpe,1,0,"span",0)),2&i&&(d(),h("ngIf","closeable"===o.nzMode))},dependencies:[In,ln,St],encapsulation:2,changeDetection:0})}return t})(),kpe=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[Fv]})}return t})();const Ipe=()=>({});function Ope(t,n){1&t&&A(0,"i",40)}function Ppe(t,n){if(1&t){const e=W();f(0,"tr",35)(1,"td",18),M("nzCheckedChange",function(o){const r=S(e).$implicit;return T(g(2).onItemChecked(r.title,o))}),m(),f(2,"td"),A(3,"app-logo",36),m(),f(4,"td"),w(5),m(),f(6,"td"),C(7,Ope,1,0,"i",37),m(),f(8,"td"),w(9),m(),f(10,"td")(11,"a",38),M("click",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).handleEditBtn(r,s))}),w(12),m(),f(13,"a",15),M("nzOnConfirm",function(){const o=S(e).index;return T(g(2).handleConfirmDelOne(o))}),f(14,"a",39),w(15),m()()()()}if(2&t){const e=n.$implicit,i=g(2);d(),h("nzChecked",i.setOfCheckedId.has(e.title)),d(2),h("src",e.icon||"")("name",e.title),d(2),D(e.title),d(2),h("ngIf",e.ownVisible),d(2),D(e.createdAt),d(3),D(i.$t("_edit")),d(),h("nzPopconfirmTitle",i.$t("_delWarn")),d(2),D(i.$t("_del"))}}function Vpe(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title)("nzValue",e.title)}}function Npe(t,n){1&t&&A(0,"i",40)}function Fpe(t,n){if(1&t){const e=W();f(0,"tr",35)(1,"td",18),M("nzCheckedChange",function(o){const r=S(e).$implicit;return T(g(2).onItemChecked(r.title,o))}),m(),f(2,"td"),A(3,"app-logo",36),m(),f(4,"td"),w(5),m(),f(6,"td"),C(7,Npe,1,0,"i",37),m(),f(8,"td"),w(9),m(),f(10,"td")(11,"a",38),M("click",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).handleEditBtn(r,s))}),w(12),m(),f(13,"a",15),M("nzOnConfirm",function(){const o=S(e).index;return T(g(2).handleConfirmDelTwo(o))}),f(14,"a",39),w(15),m()()()()}if(2&t){const e=n.$implicit,i=g(2);d(),h("nzChecked",i.setOfCheckedId.has(e.title||"")),d(2),h("src",e.icon||"")("name",e.title||""),d(2),D(e.title),d(2),h("ngIf",e.ownVisible),d(2),D(e.createdAt),d(3),D(i.$t("_edit")),d(),h("nzPopconfirmTitle",i.$t("_delWarn")),d(2),D(i.$t("_del"))}}function Rpe(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title)("nzValue",e.title)}}function Lpe(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title||"")("nzValue",e.title)}}function Bpe(t,n){1&t&&A(0,"i",40)}function Hpe(t,n){if(1&t){const e=W();f(0,"tr",35)(1,"td",18),M("nzCheckedChange",function(o){const r=S(e).$implicit;return T(g(2).onItemChecked(r.title,o))}),m(),f(2,"td"),A(3,"app-logo",36),m(),f(4,"td"),w(5),m(),f(6,"td"),C(7,Bpe,1,0,"i",37),m(),f(8,"td"),w(9),m(),f(10,"td")(11,"a",38),M("click",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).handleEditBtn(r,s))}),w(12),m(),f(13,"a",15),M("nzOnConfirm",function(){const o=S(e).index;return T(g(2).handleConfirmDelThree(o))}),f(14,"a",39),w(15),m()()()()}if(2&t){const e=n.$implicit,i=g(2);d(),h("nzChecked",i.setOfCheckedId.has(e.title||"")),d(2),h("src",e.icon||"")("name",e.title||""),d(2),D(e.title),d(2),h("ngIf",e.ownVisible),d(2),D(e.createdAt),d(3),D(i.$t("_edit")),d(),h("nzPopconfirmTitle",i.$t("_delWarn")),d(2),D(i.$t("_del"))}}function jpe(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title)("nzValue",e.title)}}function Ype(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title||"")("nzValue",e.title)}}function Upe(t,n){if(1&t&&A(0,"nz-option",41),2&t){const e=n.$implicit;h("nzLabel",e.title||"")("nzValue",e.title||"")}}function Wpe(t,n){1&t&&A(0,"span",48)}function Gpe(t,n){if(1&t&&A(0,"app-logo",36),2&t){const e=g().$implicit;h("src",e.icon)("name",e.name)}}function qpe(t,n){if(1&t&&(f(0,"nz-tag",49)(1,"a",50),w(2),m()()),2&t){const e=n.$implicit,i=g().$implicit,o=g(2);h("nzColor",o.tagMap[e]&&o.tagMap[e].color||"#1890ff"),d(),h("href",(null==i.urls?null:i.urls[e])||"javascript:void(0)",It)("target",null!=i.urls&&i.urls[e]?"_blank":""),d(),D(o.tagMap[e]&&o.tagMap[e].name)}}function Qpe(t,n){1&t&&A(0,"i",40)}function Kpe(t,n){if(1&t){const e=W();f(0,"tr",35)(1,"td",18),M("nzCheckedChange",function(o){const r=S(e).$implicit;return T(g(2).onItemChecked(r.name,o))}),m(),f(2,"td",42)(3,"a",38),M("click",function(){const o=S(e).$implicit;return T(g(2).openEditModal(o))}),w(4),m(),f(5,"div")(6,"a",38),M("click",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).openMoveWebModal(r,s))}),w(7),m()(),f(8,"a",15),M("nzOnConfirm",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).handleConfirmDelWebsite(r,s))}),f(9,"a",39),w(10),m()()(),f(11,"td"),C(12,Wpe,1,0,"span",43),m(),f(13,"td"),C(14,Gpe,1,2,"app-logo",44),m(),f(15,"td")(16,"a",45),w(17),m()(),f(18,"td"),C(19,qpe,3,4,"nz-tag",46),m(),f(20,"td"),C(21,Qpe,1,0,"i",37),m(),f(22,"td")(23,"pre",47),w(24),m()(),f(25,"th",34),w(26),m(),f(27,"td"),w(28),m()()}if(2&t){const e=n.$implicit,i=g(2);d(),h("nzChecked",i.setOfCheckedId.has(e.name)),d(3),D(i.$t("_edit")),d(3),D(i.$t("_move")),d(),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),D(i.$t("_del")),d(2),h("ngIf",!1===e.ok),d(2),h("ngIf",e.icon),d(2),h("href",e.url,It),d(),D(e.name),d(2),h("ngForOf",i.objectKeys(e.urls||Si(14,Ipe))),d(2),h("ngIf",e.ownVisible),d(3),D(e.desc),d(2),D(e.breadcrumb),d(2),D(e.createdAt)}}function $pe(t,n){if(1&t){const e=W();f(0,"nz-tabset",12),M("nzSelectedIndexChange",function(o){return S(e),T(g().onTabChange(o))}),f(1,"nz-tab",13)(2,"button",14),M("click",function(){return S(e),T(g().toggleCreateModal())}),w(3),m(),f(4,"a",15),M("nzOnConfirm",function(){return S(e),T(g().onBatchDelete(1))}),f(5,"button",16),w(6),m()(),f(7,"nz-table",17,0)(10,"thead")(11,"tr")(12,"th",18),M("nzCheckedChange",function(o){return S(e),T(g().onAllChecked(o,1))}),m(),f(13,"th"),w(14),m(),f(15,"th"),w(16),m(),f(17,"th"),w(18),m(),f(19,"th"),w(20),m(),f(21,"th"),w(22),m()()(),f(23,"tbody",19),M("cdkDropListDropped",function(o){return S(e),T(g().dropOne(o))}),C(24,Ppe,16,9,"tr",20),m()()(),f(25,"nz-tab",13)(26,"nz-select",21),M("ngModelChange",function(o){return S(e),T(g().hanldeOneSelect(o))}),C(27,Vpe,1,2,"nz-option",22),m(),f(28,"button",23),M("click",function(){return S(e),T(g().toggleCreateModal())}),w(29),m(),f(30,"a",15),M("nzOnConfirm",function(){return S(e),T(g().onBatchDelete(2))}),f(31,"button",16),w(32),m()(),f(33,"nz-table",17,0)(36,"thead")(37,"tr")(38,"th",18),M("nzCheckedChange",function(o){return S(e),T(g().onAllChecked(o,2))}),m(),f(39,"th"),w(40),m(),f(41,"th"),w(42),m(),f(43,"th"),w(44),m(),f(45,"th"),w(46),m(),f(47,"th"),w(48),m()()(),f(49,"tbody",19),M("cdkDropListDropped",function(o){return S(e),T(g().dropTwo(o))}),C(50,Fpe,16,9,"tr",20),m()()(),f(51,"nz-tab",13)(52,"nz-select",24),M("ngModelChange",function(o){return S(e),T(g().hanldeOneSelect(o))}),C(53,Rpe,1,2,"nz-option",22),m(),f(54,"nz-select",25),M("ngModelChange",function(o){return S(e),T(g().hanldeTwoSelect(o))}),C(55,Lpe,1,2,"nz-option",22),m(),f(56,"button",23),M("click",function(){return S(e),T(g().toggleCreateModal())}),w(57),m(),f(58,"a",15),M("nzOnConfirm",function(){return S(e),T(g().onBatchDelete(3))}),f(59,"button",16),w(60),m()(),f(61,"nz-table",17,0)(64,"thead")(65,"tr")(66,"th",18),M("nzCheckedChange",function(o){return S(e),T(g().onAllChecked(o,3))}),m(),f(67,"th"),w(68),m(),f(69,"th"),w(70),m(),f(71,"th"),w(72),m(),f(73,"th"),w(74),m(),f(75,"th"),w(76),m()()(),f(77,"tbody",19),M("cdkDropListDropped",function(o){return S(e),T(g().dropThree(o))}),C(78,Hpe,16,9,"tr",20),m()()(),f(79,"nz-tab",13)(80,"nz-select",26),M("ngModelChange",function(o){return S(e),T(g().hanldeOneSelect(o))}),C(81,jpe,1,2,"nz-option",22),m(),f(82,"nz-select",27),M("ngModelChange",function(o){return S(e),T(g().hanldeTwoSelect(o))}),C(83,Ype,1,2,"nz-option",22),m(),f(84,"nz-select",27),M("ngModelChange",function(o){return S(e),T(g().hanldeThreeSelect(o))}),C(85,Upe,1,2,"nz-option",22),m(),f(86,"button",23),M("click",function(){return S(e),T(g().openCreateWebModal())}),w(87),m(),f(88,"button",23),M("click",function(){return S(e),T(g().getAllErrorWeb())}),w(89," \u68c0\u7d22\u6240\u6709\u5f02\u5e38\u7f51\u7ad9 "),m(),f(90,"a",15),M("nzOnConfirm",function(){return S(e),T(g().onBatchDelete(4))}),f(91,"button",16),w(92),m()(),f(93,"nz-table",17,0)(96,"thead")(97,"tr")(98,"th",28),M("nzCheckedChange",function(o){return S(e),T(g().onAllChecked(o,4))}),m(),f(99,"th",29),w(100),m(),f(101,"th",30),w(102,"\u72b6\u6001"),m(),f(103,"th",31),w(104),m(),f(105,"th",32),w(106),m(),f(107,"th",32),w(108),m(),f(109,"th",33),w(110),m(),f(111,"th",34),w(112),m(),f(113,"th",34),w(114,"\u5206\u7c7b\u4f4d\u7f6e"),m(),f(115,"th"),w(116),m()()(),f(117,"tbody",19),M("cdkDropListDropped",function(o){return S(e),T(g().dropWebsite(o))}),C(118,Kpe,29,15,"tr",20),m()()()()}if(2&t){const e=g();h("nzSelectedIndex",e.tabActive),d(),h("nzTitle",e.$t("_mgr1")),d(2),we(" ",e.$t("_addTag")," "),d(),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(),h("disabled",e.setOfCheckedId.size<=0),d(),we(" ",e.$t("_batchDel")," "),d(),h("nzData",e.websiteList)("nzShowPagination",!1),d(5),h("nzChecked",e.checkedAll),d(2),D(e.$t("_icon")),d(2),D(e.$t("_tagName")),d(2),D(e.$t("_onlyOwnVisible")),d(2),D(e.$t("_createAt")),d(2),D(e.$t("_action")),d(2),h("ngForOf",e.websiteList),d(),h("nzTitle",e.$t("_mgr2")),d(),h("ngModel",e.oneSelect)("nzPlaceHolder",e.$t("_sel1")),d(),h("ngForOf",e.websiteList),d(2),we(" ",e.$t("_addTag")," "),d(),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(),h("disabled",e.setOfCheckedId.size<=0),d(),we(" ",e.$t("_batchDel")," "),d(),h("nzData",e.twoTableData)("nzShowPagination",!1),d(5),h("nzChecked",e.checkedAll),d(2),D(e.$t("_icon")),d(2),D(e.$t("_tagName")),d(2),D(e.$t("_onlyOwnVisible")),d(2),D(e.$t("_createAt")),d(2),D(e.$t("_action")),d(2),h("ngForOf",e.twoTableData),d(),h("nzTitle",e.$t("_mgr3")),d(),h("ngModel",e.oneSelect)("nzPlaceHolder",e.$t("_sel1")),d(),h("ngForOf",e.websiteList),d(),h("ngModel",e.twoSelect)("nzPlaceHolder",e.$t("_sel2")),d(),h("ngForOf",e.twoTableData),d(2),we(" ",e.$t("_addTag")," "),d(),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(),h("disabled",e.setOfCheckedId.size<=0),d(),we(" ",e.$t("_batchDel")," "),d(),h("nzData",e.threeTableData)("nzShowPagination",!1),d(5),h("nzChecked",e.checkedAll),d(2),D(e.$t("_icon")),d(2),D(e.$t("_tagName")),d(2),D(e.$t("_onlyOwnVisible")),d(2),D(e.$t("_createAt")),d(2),D(e.$t("_action")),d(2),h("ngForOf",e.threeTableData),d(),h("nzTitle",e.$t("_mgrWeb")),d(),h("ngModel",e.oneSelect)("nzPlaceHolder",e.$t("_sel1")),d(),h("ngForOf",e.websiteList),d(),h("ngModel",e.twoSelect)("nzPlaceHolder",e.$t("_sel2")),d(),h("ngForOf",e.twoTableData),d(),h("ngModel",e.threeSelect)("nzPlaceHolder",e.$t("_sel3")),d(),h("ngForOf",e.threeTableData),d(2),we(" ",e.$t("_addWeb")," "),d(3),h("nzPopconfirmTitle",e.$t("_confirmDel")),d(),h("disabled",e.setOfCheckedId.size<=0),d(),we(" ",e.$t("_batchDel")," "),d(),h("nzData",e.websiteTableData)("nzShowPagination",!1),d(5),h("nzChecked",e.checkedAll),d(2),D(e.$t("_action")),d(4),D(e.$t("_icon")),d(2),D(e.$t("_webName")),d(2),D(e.$t("_webTag")),d(2),D(e.$t("_onlyOwnVisible")),d(2),D(e.$t("_webDesc")),d(4),D(e.$t("_createAt")),d(2),h("ngForOf",e.websiteTableData)}}function Jpe(t,n){if(1&t&&(Ye(0),f(1,"form",51)(2,"nz-form-item")(3,"nz-form-label",52),w(4,"\u5206\u7c7b\u540d\u79f0"),m(),f(5,"nz-form-control",53),A(6,"input",54),m()(),f(7,"nz-form-item")(8,"nz-form-label",52),w(9),m(),f(10,"nz-form-control",55),A(11,"nz-switch",56),m()(),f(12,"nz-form-item")(13,"nz-form-label",55),w(14,"\u56fe\u6807\u5730\u5740"),m(),f(15,"nz-form-control",55)(16,"nz-input-group"),A(17,"input",57),m()()()(),Ue()),2&t){const e=g();d(),h("formGroup",e.validateForm),d(2),h("nzSpan",6),d(2),h("nzSpan",18)("nzErrorTip",e.$t("_requiredName")),d(),h("placeholder",e.$t("_webTitle"))("maxlength",50),d(2),h("nzSpan",6),d(),D(e.$t("_onlyOwnVisible")),d(),h("nzSpan",18),d(3),h("nzSpan",6),d(2),h("nzSpan",18)}}let Zpe=(()=>{class t{constructor(e,i,o,r){this.fb=e,this.modal=i,this.notification=o,this.message=r,this.$t=be,this.settings=kn,this.websiteList=yn,this.gitRepoUrl=Ns.gitRepoUrl,this.isLogin=Gi,this.showCreateModal=!1,this.syncLoading=!1,this.uploading=!1,this.tabActive=0,this.editIdx=0,this.isEdit=!1,this.oneSelect="",this.twoSelect="",this.threeSelect="",this.tagMap=ju,this.objectKeys=Object.keys,this.twoTableData=[],this.threeTableData=[],this.websiteTableData=[],this.checkedAll=!1,this.setOfCheckedId=new Set,this.validateForm=this.fb.group({title:["",[q7.required]],icon:[""],ownVisible:[!1]})}ngOnInit(){}getAllErrorWeb(){this.oneSelect="",this.twoSelect="",this.threeSelect="",this.onTabChange(),this.websiteTableData=[];const e=[];(function i(o){if(Array.isArray(o))for(let r=0;r{e?this.setOfCheckedId.add(o.title):this.setOfCheckedId.delete(o.title)});break;case 2:this.twoTableData.forEach(o=>{e?this.setOfCheckedId.add(o.title):this.setOfCheckedId.delete(o.title)});break;case 3:this.threeTableData.forEach(o=>{e?this.setOfCheckedId.add(o.title):this.setOfCheckedId.delete(o.title)});break;case 4:this.websiteTableData.forEach(o=>{e?this.setOfCheckedId.add(o.name):this.setOfCheckedId.delete(o.name)})}}onItemChecked(e,i){i?this.setOfCheckedId.add(e):this.setOfCheckedId.delete(e)}onBatchDelete(e){switch(e){case 1:this.setOfCheckedId.forEach(i=>{const o=this.websiteList.findIndex(r=>r.title===i);o>=0&&this.websiteList.splice(o,1)});break;case 2:{this.twoTableData=this.twoTableData.filter(o=>!this.setOfCheckedId.has(o.title));const i=this.websiteList.findIndex(o=>o.title===this.oneSelect);i>=0&&(this.websiteList[i].nav=this.twoTableData)}break;case 3:{this.threeTableData=this.threeTableData.filter(o=>!this.setOfCheckedId.has(o.title));const i=this.websiteList.findIndex(o=>o.title===this.oneSelect);if(i>=0){const o=this.websiteList[i].nav.findIndex(r=>r.title===this.twoSelect);o>=0&&(this.websiteList[i].nav[o].nav=this.threeTableData)}}break;case 4:{const i=[];this.websiteTableData=this.websiteTableData.filter(o=>{const r=!this.setOfCheckedId.has(o.name);return r||i.push(o),r}),i.forEach(o=>{T5({...o,name:fs(o.name),desc:fs(o.desc)})}),this.message.success(be("_delSuccess"))}}this.onTabChange(),Un(this.websiteList)}handleReset(){this.modal.info({nzTitle:be("_resetInitData"),nzContent:be("_warnReset"),nzOnOk:()=>{this.message.success(be("_actionSuccess")),window.localStorage.removeItem(Wi.website),window.localStorage.removeItem(Wi.s_url),setTimeout(()=>{window.location.reload()},500)}})}handleDownloadBackup(){const e=JSON.stringify(this.websiteList),i=new Blob([e],{type:"text/plain;charset=utf-8"});(0,Q3e.saveAs)(i,"db.json")}handleUploadBackup(e){const i=this,o=e.target.files;if(o.length<=0)return;const r=o[0],s=new FileReader;s.readAsText(r),s.onload=function(a){try{const{result:l}=a.target;i.websiteList=JSON.parse(l),Un(i.websiteList),e.target.value="",i.message.success(be("_actionSuccess"))}catch(l){i.notification.error(be("_error"),l.message)}}}goBack(){history.go(-1)}openMoveWebModal(e,i){const o=this.websiteList.findIndex(a=>a.title===this.oneSelect),r=this.twoTableData.findIndex(a=>a.title===this.twoSelect),s=this.threeTableData.findIndex(a=>a.title===this.threeSelect);Ei.emit("MOVE_WEB",{indexs:[o,r,s,i],data:[e]})}openCreateWebModal(){if(3===this.tabActive&&!this.threeSelect)return this.message.error(be("_sel3"));const e=this.websiteList.findIndex(r=>r.title===this.oneSelect),i=this.twoTableData.findIndex(r=>r.title===this.twoSelect),o=this.threeTableData.findIndex(r=>r.title===this.threeSelect);Ei.emit("CREATE_WEB",{oneIndex:e,twoIndex:i,threeIndex:o})}openEditModal(e){Ei.emit("CREATE_WEB",{detail:e})}toggleCreateModal(){if(!this.showCreateModal){if(1===this.tabActive&&!this.oneSelect)return this.message.error(be("_sel1"));if(2===this.tabActive&&!this.twoSelect)return this.message.error(be("_sel2"))}this.isEdit=!1,this.showCreateModal=!this.showCreateModal,this.validateForm.reset()}onTabChange(e){this.tabActive=e??this.tabActive,this.setOfCheckedId.clear(),this.checkedAll||setTimeout(()=>{this.checkedAll=!this.checkedAll,setTimeout(()=>{this.checkedAll=!this.checkedAll})})}handleConfirmDelOne(e){this.websiteList.splice(e,1),this.message.success(be("_delSuccess")),Un(this.websiteList)}dropOne(e){Dl(this.websiteList,e.previousIndex,e.currentIndex),Un(this.websiteList)}dropTwo(e){Dl(this.twoTableData,e.previousIndex,e.currentIndex),Un(this.websiteList)}handleConfirmDelTwo(e){this.twoTableData.splice(e,1),this.message.success(be("_delSuccess")),Un(this.websiteList)}dropThree(e){Dl(this.threeTableData,e.previousIndex,e.currentIndex),Un(this.websiteList)}handleConfirmDelThree(e){this.threeTableData.splice(e,1),this.message.success(be("_delSuccess")),Un(this.websiteList)}dropWebsite(e){Dl(this.websiteTableData,e.previousIndex,e.currentIndex),Un(this.websiteList)}handleConfirmDelWebsite(e,i){this.websiteTableData.splice(i,1),T5({...e,name:fs(e.name),desc:fs(e.desc)}),this.message.success(be("_delSuccess"))}hanldeOneSelect(e){this.oneSelect=e;const i=this.websiteList.find(o=>o.title===e);i&&(this.twoTableData=i.nav),this.twoSelect="",this.threeSelect="",this.onTabChange()}hanldeTwoSelect(e){this.twoSelect=e;const i=this.twoTableData.find(o=>o.title===e);i&&(this.threeTableData=i.nav),this.threeSelect="",this.onTabChange()}hanldeThreeSelect(e){this.threeSelect=e;const i=this.threeTableData.find(o=>o.title===e);i&&(this.websiteTableData=i.nav),this.onTabChange()}handleEditBtn(e,i){let{title:o,icon:r,name:s,ownVisible:a}=e;this.toggleCreateModal(),this.isEdit=!0,this.editIdx=i,this.validateForm.get("title").setValue(o||s||""),this.validateForm.get("icon").setValue(r||""),this.validateForm.get("ownVisible").setValue(!!a)}handleSync(){this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{this.syncLoading=!0,vl({message:"update db",content:JSON.stringify(this.websiteList),path:Yg}).then(()=>{this.message.success(be("_syncSuccessTip"))}).finally(()=>{this.syncLoading=!1})}})}handleOk(){const e=(new Date).toString();for(const s in this.validateForm.controls)this.validateForm.controls[s].markAsDirty(),this.validateForm.controls[s].updateValueAndValidity();let{title:i,icon:o,ownVisible:r}=this.validateForm.value;if(i&&i.trim()){if(i=i.trim(),this.isEdit){switch(this.tabActive){case 0:if(this.websiteList.some(a=>a.title===i)&&this.websiteList[this.editIdx].title!==i)return this.message.error(`${be("_repeatAdd")} "${i}"`);this.websiteList[this.editIdx].title=i,this.websiteList[this.editIdx].icon=o,this.websiteList[this.editIdx].ownVisible=r;break;case 1:if(this.twoTableData.some(a=>a.title===i)&&this.twoTableData[this.editIdx].title!==i)return this.message.error(`${be("_repeatAdd")} "${i}"`);this.twoTableData[this.editIdx].title=i,this.twoTableData[this.editIdx].icon=o,this.twoTableData[this.editIdx].ownVisible=r;break;case 2:if(this.threeTableData.some(a=>a.title===i)&&this.threeTableData[this.editIdx].title!==i)return this.message.error(`${be("_repeatAdd")} "${i}"`);this.threeTableData[this.editIdx].title=i,this.threeTableData[this.editIdx].icon=o,this.threeTableData[this.editIdx].ownVisible=r}this.message.success(be("_saveSuccess"))}else{switch(this.tabActive){case 0:if(this.websiteList.some(a=>a.title===i))return this.message.error(`${be("_repeatAdd")} "${i}"`);this.websiteList.unshift({createdAt:e,title:i,icon:o,ownVisible:r,nav:[]});break;case 1:if(this.twoTableData.some(a=>a.title===i))return this.message.error(`${be("_repeatAdd")} "${i}"`);this.twoTableData.unshift({createdAt:e,title:i,icon:o,ownVisible:r,nav:[]});break;case 2:if(this.threeTableData.some(a=>a.title===i))return this.message.error(`${be("_repeatAdd")} "${i}"`);this.threeTableData.unshift({createdAt:e,title:i,icon:o,ownVisible:r,nav:[]})}this.message.success(be("_addSuccess"))}this.validateForm.reset(),this.toggleCreateModal(),Un(this.websiteList)}else this.message.error("\u5206\u7c7b\u540d\u79f0\u4e0d\u80fd\u4e3a\u7a7a")}static#e=this.\u0275fac=function(i){return new(i||t)(v(fv),v(za),v(Op),v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-admin"]],decls:18,vars:11,consts:[["rowSelectionTable","","basicTable",""],[1,"admin"],["nz-button","","nzType","primary",3,"click","nzLoading"],["nz-button","",2,"margin","0 15px 20px 15px",3,"click"],["nz-button","",2,"margin-right","15px",3,"click"],["id","file2"],["nz-button","","nz-tooltip","",3,"nzTooltipTitle"],["type","file","name","file2","accept",".json",1,"file-upload",3,"change"],[1,"tip2"],[3,"nzSelectedIndex","nzSelectedIndexChange",4,"ngIf"],[3,"nzVisibleChange","nzOnCancel","nzOnOk","nzVisible","nzTitle"],[4,"nzModalContent"],[3,"nzSelectedIndexChange","nzSelectedIndex"],[3,"nzTitle"],["nz-button","","nzType","primary",3,"click"],["nz-popconfirm","","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"],["nz-button","","nzDanger","",1,"ml10",3,"disabled"],[2,"margin-top","15px",3,"nzData","nzShowPagination"],[3,"nzCheckedChange","nzChecked"],["cdkDropList","",3,"cdkDropListDropped"],["cdkDrag","",4,"ngFor","ngForOf"],["nzShowSearch","",2,"width","260px",3,"ngModelChange","ngModel","nzPlaceHolder"],[3,"nzLabel","nzValue",4,"ngFor","ngForOf"],["nz-button","","nzType","primary",2,"margin-left","20px",3,"click"],["nzShowSearch","",2,"width","200px",3,"ngModelChange","ngModel","nzPlaceHolder"],["nzShowSearch","",2,"width","200px","margin-left","15px",3,"ngModelChange","ngModel","nzPlaceHolder"],["nzShowSearch","",2,"width","150px",3,"ngModelChange","ngModel","nzPlaceHolder"],["nzShowSearch","",2,"width","150px","margin-left","15px",3,"ngModelChange","ngModel","nzPlaceHolder"],["nzWidth","70px",3,"nzCheckedChange","nzChecked"],["nzWidth","60px",1,"center"],["nzWidth","70px"],["nzWidth","80px"],["nzWidth","100px"],["nzWidth","120px"],["nzWidth","300px"],["cdkDrag",""],[3,"src","name"],["nz-icon","","nzType","check","nzTheme","outline",4,"ngIf"],[3,"click"],["nz-button","","nzType","link","nzDanger",""],["nz-icon","","nzType","check","nzTheme","outline"],[3,"nzLabel","nzValue"],[1,"center"],["nz-icon","","nzType","close","nzTheme","outline","style","color: red",4,"ngIf"],[3,"src","name",4,"ngIf"],["target","_blank",3,"href"],["style","margin-bottom: 5px",3,"nzColor",4,"ngFor","ngForOf"],[1,"desc"],["nz-icon","","nzType","close","nzTheme","outline",2,"color","red"],[2,"margin-bottom","5px",3,"nzColor"],[3,"href","target"],["nz-form","",3,"formGroup"],["nzRequired","",3,"nzSpan"],[3,"nzSpan","nzErrorTip"],["formControlName","title","nz-input","",3,"placeholder","maxlength"],[3,"nzSpan"],["formControlName","ownVisible"],["formControlName","icon","nz-input","","placeholder","\u7528\u4e8e\u67d0\u4e9b\u4e3b\u9898icon"]],template:function(i,o){1&i&&(f(0,"div",1)(1,"button",2),M("click",function(){return o.handleSync()}),w(2),m(),f(3,"button",3),M("click",function(){return o.handleReset()}),w(4),m(),f(5,"button",4),M("click",function(){return o.handleDownloadBackup()}),w(6),m(),f(7,"label",5)(8,"button",6),w(9),m(),f(10,"input",7),M("change",function(s){return o.handleUploadBackup(s)}),m()(),f(11,"div",8),w(12),f(13,"span"),w(14),m()(),C(15,$pe,119,77,"nz-tabset",9),m(),f(16,"nz-modal",10),Ii("nzVisibleChange",function(s){return Ui(o.showCreateModal,s)||(o.showCreateModal=s),s}),M("nzOnCancel",function(){return o.toggleCreateModal()})("nzOnOk",function(){return o.handleOk()}),C(17,Jpe,18,11,"ng-container",11),m()),2&i&&(d(),h("nzLoading",o.syncLoading),d(),we(" ",o.$t("_save")," "),d(2),we(" ",o.$t("_resetInitData")," "),d(2),we(" ",o.$t("_backup")," "),d(2),h("nzTooltipTitle",o.$t("_importBackupTip")),d(),we(" ",o.$t("_importBackup")," "),d(3),we(" ",o.$t("_dragSort"),"\uff1b "),d(2),we("\u4e0a\u6b21\u68c0\u6d4b\u51fa ",o.settings.errorUrlCount||0," \u4e2a\u7f51\u7ad9\u94fe\u63a5\u5931\u6548\uff0c\u5177\u4f53\u5230\u7ba1\u7406\u7f51\u7ad9\u67e5\u770b\uff0c\u5982\u9700\u518d\u6b21\u68c0\u6d4b\u72b6\u6001\u76f4\u63a5\u70b9\u4fdd\u5b58\u89e6\u53d1\u4e8b\u4ef6\u5373\u53ef\u3002"),d(),h("ngIf",o.isLogin),d(),ki("nzVisible",o.showCreateModal),h("nzTitle",o.$t(o.isEdit?"_edit":"_add")))},dependencies:[zn,St,lp,y2,Gs,Dp,Vl,Nl,D1,wl,F2,Np,Rp,Fp,nr,mi,tr,Sp,wr,Zi,gp,O2,R1,L1,H1,Sa,ln,U1,V2,Y1,oP,N2,Hl,W1,sP,Nv,Vv,Fv,Vp,op,b2,Xi,Fl],styles:[".desc[_ngcontent-%COMP%]{width:300px;white-space:pre-wrap;word-break:break-all}#file2[_ngcontent-%COMP%]{position:relative;cursor:pointer}#file2[_ngcontent-%COMP%] .file-upload[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.tip2[_ngcontent-%COMP%]{color:#f50;font-weight:700}.admin[_ngcontent-%COMP%] .ant-table{max-height:600px;overflow:auto}"]})}return t})(),Xpe=(()=>{class t{constructor(){this.$t=be}ngOnInit(){}submitForm(){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["system-angle-mark"]],decls:1,vars:0,consts:[[1,"angle-mark"]],template:function(i,o){1&i&&A(0,"div",0)}})}return t})();function e6e(t,n){if(1&t&&(f(0,"p"),w(1),m(),w(2)),2&t){const e=g().$implicit;d(),D(e.__name__||e.name),d(),we(" ",e.__desc__||e.desc," ")}}function t6e(t,n){if(1&t){const e=W();f(0,"div",4),M("click",function(){const o=S(e).$implicit;return T(g(2).goUrl(o.url))}),C(1,e6e,3,2,"ng-template",null,0,ot),f(3,"div",5),A(4,"app-logo",6),m(),A(5,"div",7),m()}if(2&t){const e=n.$implicit;h("nzTooltipTitle",Be(2)),d(4),h("src",e.icon||"")("name",e.__name__||e.name)("size",35),d(),h("innerHTML",e.__name__||e.name,Gn)}}function n6e(t,n){if(1&t){const e=W();f(0,"div",2),M("cdkDropListDropped",function(o){return S(e),T(g().handleDrop(o))}),C(1,t6e,6,5,"div",3),m()}if(2&t){const e=g();d(),h("ngForOf",e.dataList)("ngForTrackBy",e.trackByItemWeb)}}let SP=[],TP=(()=>{class t{constructor(e){this.activatedRoute=e,this.max=110,this.search=!0,this.websiteList=yn,this.dataList=[]}ngOnInit(){this.getTopWeb(),this.activatedRoute.queryParams.subscribe(()=>{const{q:e}=pi(),i=A1(this.websiteList,e);this.dataList=this.search&&e.trim()?0===i.length?[]:i[0].nav.slice(0,this.max):SP,Un(this.websiteList)})}getTopWeb(){const e=[],i=this.max;(function o(r){if(Array.isArray(r))for(let s=0;si);s++){const a=r[s];a.url?a.top&&(Gi||!a.ownVisible)&&e.push(a):o(a.nav)}})(yn),this.dataList=e.sort((r,s)=>r.index-s.index),SP=this.dataList}handleDrop(e){Dl(this.dataList,e.previousIndex,e.currentIndex);const i={};for(let r=1;r<=this.dataList.length;r++){const s=this.dataList[r-1];i[`${s.name}${s.url}`]=r}(function o(r){if(Array.isArray(r))for(let s=0;s0)},dependencies:[zn,St,mi,Sa,op,b2,Fl],styles:[".container[_ngcontent-%COMP%]{margin-top:15px;margin-bottom:15px;display:flex;padding:0 30px;max-width:960px;flex-wrap:wrap;gap:25px}.container[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]{display:flex;text-align:center;cursor:pointer;align-items:center;flex-direction:column;transition:transform .1s ease-in}.container[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.container[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{border-radius:50%;margin-bottom:3px}.container[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{width:60px;margin-top:5px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]})}return t})();const i6e=()=>[16,16],o6e=(t,n,e,i)=>[t,n,e,i];function r6e(t,n){1&t&&A(0,"img",21),2&t&&h("src",g(2).$implicit.icon,It)}function s6e(t,n){if(1&t&&(C(0,r6e,1,1,"img",19),f(1,"span",20),w(2),m()),2&t){const e=g().$implicit;h("ngIf",e.icon),d(2),D(e.title)}}function a6e(t,n){1&t&&A(0,"img",25),2&t&&h("src",g().$implicit.icon,It)}function l6e(t,n){if(1&t){const e=W();f(0,"div",26),M("click",function(o){return S(e),T(g(3).onCollapseAll(o))}),A(1,"i",27),m()}if(2&t){const e=g(3);d(),Z("active",e.collapsed())}}function c6e(t,n){if(1&t){const e=W();f(0,"li",22),M("click",function(){const o=S(e).index,r=g().index;return T(g().handleSidebarNav(r,o))}),C(1,a6e,1,1,"img",23),f(2,"span"),w(3),m(),C(4,l6e,2,2,"div",24),m()}if(2&t){const e=n.$implicit,i=n.index,o=g().index,r=g();h("nzSelected",r.page===o&&r.id===i),d(),h("ngIf",e.icon),d(2),D(e.title),d(),h("ngIf",r.page===o&&r.id===i)}}function d6e(t,n){if(1&t){const e=W();f(0,"li",17),M("nzOpenChange",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g().openMenu(r,s))}),C(1,s6e,3,2,"ng-template",null,1,ot),f(3,"ul"),C(4,c6e,5,4,"li",18),m()()}if(2&t){const e=n.$implicit,i=Be(2),o=g();h("nzTitle",i)("nzOpen",e.collapsed),d(4),h("ngForOf",e.nav)("ngForTrackBy",o.trackByItem)}}function u6e(t,n){if(1&t&&(f(0,"div",28),A(1,"app-swiper",29)(2,"app-search-engine",30),m()),2&t){const e=g();d(),h("images",e.settings.sideThemeImages)("autoplay",e.settings.sideThemeAutoplay)("height",e.settings.sideThemeHeight)}}function h6e(t,n){if(1&t&&(f(0,"div",36),A(1,"app-card",37),m()),2&t){const e=n.$implicit,i=n.index,o=g().index,r=g(2);h("nzSpan",6)("nzXs",24)("nzSm",12)("nzMd",12)("nzLg",8)("nzXl",6)("nzXXl","example"===r.settings.sideCardStyle?4:6),d(),h("cardStyle",r.settings.sideCardStyle)("dataSource",e)("indexs",nu(11,o6e,r.page,r.id,o,i))("searchKeyword",r.searchKeyword)}}function p6e(t,n){if(1&t){const e=W();f(0,"div")(1,"div",32)(2,"app-toolbar-title",33),M("onCollapse",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).onCollapse(r,s))}),m(),f(3,"div",34),C(4,h6e,2,16,"div",35),m()()()}if(2&t){const e=n.$implicit,i=n.index,o=g(2);d(2),h("dataSource",e)("index",i),d(),Lt("display",e.collapsed?"none":""),h("nzGutter",Si(7,i6e)),d(),h("ngForOf",e.nav)("ngForTrackBy",o.trackByItemWeb)}}function f6e(t,n){if(1&t&&(f(0,"div"),C(1,p6e,5,8,"div",31),m()),2&t){const e=g();d(),h("ngForOf",e.currentList.slice(0,e.sliceMax))("ngForTrackBy",e.trackByItem)}}function m6e(t,n){1&t&&A(0,"app-no-data")}let g6e=(()=>{class t{constructor(e,i){this.router=e,this.activatedRoute=i,this.LOGO_CDN=kn.favicon,this.websiteList=yn,this.currentList=[],this.id=0,this.page=0,this.title=kn.title.trim().split(/\s/)[0],this.searchEngineList=D5,this.isLogin=Gi,this.settings=kn,this.sliceMax=1,this.searchKeyword="",this.onCollapse=(o,r)=>{o.collapsed=!o.collapsed,this.websiteList[this.page].nav[this.id].nav[r]=o,Un(this.websiteList)},this.onCollapseAll=o=>{o?.stopPropagation(),z5(this.websiteList),this.handlePositionTop()}}ngOnInit(){this.activatedRoute.queryParams.subscribe(()=>{const{id:e,page:i,q:o}=pi();this.page=i,this.id=e,this.searchKeyword=o,this.sliceMax=1,this.currentList=o?A1(this.websiteList,o):Hu(),setTimeout(()=>{this.sliceMax=Number.MAX_SAFE_INTEGER},25)})}handleSidebarNav(e,i){this.websiteList[e].id=i,this.router.navigate([this.router.url.split("?")[0]],{queryParams:{page:e,id:i}}),this.handlePositionTop()}handlePositionTop(){setTimeout(()=>{const e=document.querySelector(".search-header");e&&window.scroll({top:e.offsetHeight,left:0,behavior:"smooth"})},30)}openMenu(e,i){this.websiteList.forEach((o,r)=>{o.collapsed=r===i&&!o.collapsed}),Un(this.websiteList)}collapsed(){try{return!!yn[this.page].nav[this.id].collapsed}catch{return!1}}trackByItem(e,i){return i.title}trackByItemWeb(e,i){return i.id}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-side"]],decls:19,vars:9,consts:[["noData",""],["titleTpl",""],[1,"layout"],[1,"logo","dark-bg"],[1,"logo-img",3,"src"],[1,"web-title"],["nz-menu","","nzMode","inline",1,"sider","dark-scrollbar"],["nz-submenu","",3,"nzTitle","nzOpen","nzOpenChange",4,"ngFor","ngForOf","ngForTrackBy"],[1,"inner-layout"],["class","search-header",4,"ngIf"],[1,"hidden","search-sm","mobile-search"],["id","content",1,"content"],[3,"search"],[1,"box"],[4,"ngIf","ngIfElse"],["className","side-footer"],[3,"onCollapse","collapsed"],["nz-submenu","",3,"nzOpenChange","nzTitle","nzOpen"],["nz-menu-item","",3,"nzSelected","click",4,"ngFor","ngForOf","ngForTrackBy"],["class","sideicon",3,"src",4,"ngIf"],[1,"menu-title","ellipsis"],[1,"sideicon",3,"src"],["nz-menu-item","",3,"click","nzSelected"],["class","sideicon fixicon",3,"src",4,"ngIf"],["class","collapse-wrapper",3,"click",4,"ngIf"],[1,"sideicon","fixicon",3,"src"],[1,"collapse-wrapper",3,"click"],[1,"iconfont","iconweibiaoti25","collapse"],[1,"search-header"],[3,"images","autoplay","height"],[1,"max768none"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"nav-wrapper"],["arrowType","2",3,"onCollapse","dataSource","index"],["nz-row","",3,"nzGutter"],["class","gutter-row","nz-col","",3,"nzSpan","nzXs","nzSm","nzMd","nzLg","nzXl","nzXXl",4,"ngFor","ngForOf","ngForTrackBy"],["nz-col","",1,"gutter-row",3,"nzSpan","nzXs","nzSm","nzMd","nzLg","nzXl","nzXXl"],[1,"column-border",3,"cardStyle","dataSource","indexs","searchKeyword"]],template:function(i,o){if(1&i){const r=W();f(0,"nz-layout",2)(1,"nz-layout")(2,"div",3),A(3,"img",4),f(4,"span",5),w(5),m()(),f(6,"ul",6),C(7,d6e,5,4,"li",7),m(),f(8,"nz-layout",8),C(9,u6e,3,3,"div",9),A(10,"app-search-engine",10),f(11,"nz-content",11),A(12,"app-web-list",12),f(13,"div",13),C(14,f6e,2,2,"div",14)(15,m6e,1,0,"ng-template",null,0,ot),m(),A(17,"app-footer",15),m()()()(),f(18,"app-fixbar",16),M("onCollapse",function(a){return S(r),T(o.onCollapseAll(a))}),m()}if(2&i){const r=Be(16);d(3),h("src",o.LOGO_CDN,It),d(2),D(o.settings.sideTitle||o.title),d(2),h("ngForOf",o.websiteList)("ngForTrackBy",o.trackByItem),d(2),h("ngIf",o.settings.sideThemeImages.length>0),d(3),h("search",!1),d(2),h("ngIf",o.currentList.length>0)("ngIfElse",r),d(4),h("collapsed",o.collapsed())}},dependencies:[zn,St,D1,wl,mi,Aa,Ws,cp,NO,PO,OO,z2,A2,hp,B1,vv,TP,xp],styles:["@media (max-width: 768px){.search-sm[_ngcontent-%COMP%]{display:block;margin-top:10px}.content[_ngcontent-%COMP%]{padding-right:12px!important}.layout[_ngcontent-%COMP%]{--sideWidth: 150px !important}.sider[_ngcontent-%COMP%]{--menuTitleWidth: 85px;padding-top:40px!important}.logo-img[_ngcontent-%COMP%]{width:30px!important;height:30px!important}.web-title[_ngcontent-%COMP%]{font-size:14px!important}}@media (max-width: 568px){.layout[_ngcontent-%COMP%]{--sideWidth: 120px !important}.sider[_ngcontent-%COMP%]{--menuTitleWidth: 70px;padding-top:40px!important}}.layout[_ngcontent-%COMP%]{--sideWidth: 200px;min-height:100vh}.layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%]{margin-left:var(--sideWidth)}.layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:10px 70px 0 20px;display:flex;flex-direction:column}.layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%]{z-index:9;position:relative;text-align:center}.layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .search-engine{z-index:10;position:absolute;top:50%;left:50%;margin-top:-20px;transform:translate(-50%,-50%)}.layout[_ngcontent-%COMP%] .inner-layout[_ngcontent-%COMP%] .search-header[_ngcontent-%COMP%] .search-engine .input-wrapper{width:330px!important}.layout[_ngcontent-%COMP%] .box[_ngcontent-%COMP%]{flex:1;transition:.1s linear}.layout[_ngcontent-%COMP%] .collapse-wrapper[_ngcontent-%COMP%]{position:absolute;right:0;top:0;padding:0 15px}.layout[_ngcontent-%COMP%] .collapse-wrapper[_ngcontent-%COMP%] .collapse[_ngcontent-%COMP%]{display:block;transform:rotate(-270deg)}.layout[_ngcontent-%COMP%] .collapse-wrapper[_ngcontent-%COMP%] .collapse.active[_ngcontent-%COMP%]{transform:rotate(-360deg)}.layout[_ngcontent-%COMP%] .ant-menu-item[_ngcontent-%COMP%]{padding-right:40px}.layout[_ngcontent-%COMP%] .web-list{max-width:100%!important}.layout[_ngcontent-%COMP%] .mobile-search .engine-main{max-width:95%!important}.logo[_ngcontent-%COMP%]{z-index:11;position:fixed;top:0;left:0;width:var(--sideWidth);padding:10px 10px 10px 15px;background-color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo[_ngcontent-%COMP%] .logo-img[_ngcontent-%COMP%]{width:50px;height:50px;pointer-events:none}.logo[_ngcontent-%COMP%] .web-title[_ngcontent-%COMP%]{font-weight:500;font-size:18px;margin-left:10px;vertical-align:middle}.sider[_ngcontent-%COMP%]{position:fixed;height:100vh;left:0;overflow:auto;width:var(--sideWidth);padding-top:70px}.sider[_ngcontent-%COMP%] .sideicon[_ngcontent-%COMP%]{width:20px;height:20px;margin-right:12px;object-fit:cover;border-radius:50%}.sider[_ngcontent-%COMP%] .fixicon[_ngcontent-%COMP%]{position:absolute;top:10px;left:25px;margin-right:0}.sider[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px;height:6px}.sider[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:3px}.sider[_ngcontent-%COMP%]::-webkit-scrollbar-track{background-color:#ffffff26;border-radius:3px}.sider[_ngcontent-%COMP%] .menu-title[_ngcontent-%COMP%]{max-width:var(--menuTitleWidth, 130px)} #app-footer{margin-top:45px} #app-footer, #app-footer .copyright{margin-bottom:10px;color:#666}"]})}return t})();const v6e=t=>({"background-image":t}),b6e=t=>({color:t});function _6e(t,n){1&t&&A(0,"iframe",6)}function y6e(t,n){1&t&&A(0,"iframe",7)}function w6e(t,n){if(1&t&&(f(0,"div"),C(1,_6e,1,0,"iframe",5)(2,y6e,1,0,"ng-template",null,0,ot),m()),2&t){const e=Be(3),i=g();d(),h("ngIf",i.isDark||i.shortcutThemeImage)("ngIfElse",e)}}let C6e=(()=>{class t{constructor(){this.settings=kn,this.isDark=u3(),this.shortcutThemeImage=kn.shortcutThemeImages?.[0]?.src,Ei.on("EVENT_DARK",e=>{this.isDark=e})}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-shortcut"]],decls:8,vars:11,consts:[["other_content",""],[1,"shortcut","dark-bg-gary2",3,"ngStyle"],[1,"title","dark-white",3,"ngStyle"],[3,"showCollapse"],[4,"ngIf"],["class","tianqi","allowtransparency","true","frameborder","0","width","290","height","96","scrolling","no","src","//tianqi.2345.com/plugin/widget/index.htm?s=1&z=1&t=0&v=0&d=2&bd=0&k=&f=ffffff<f=009944&htf=cc0000&q=1&e=1&a=1&c=54511&w=290&h=96&align=center",4,"ngIf","ngIfElse"],["allowtransparency","true","frameborder","0","width","290","height","96","scrolling","no","src",I8`//tianqi.2345.com/plugin/widget/index.htm?s=1&z=1&t=0&v=0&d=2&bd=0&k=&f=ffffff<f=009944&htf=cc0000&q=1&e=1&a=1&c=54511&w=290&h=96&align=center`,1,"tianqi"],["allowtransparency","true","frameborder","0","width","290","height","96","scrolling","no","src",I8`//tianqi.2345.com/plugin/widget/index.htm?s=1&z=1&t=0&v=0&d=2&bd=0&k=&f=<f=009944&htf=cc0000&q=1&e=1&a=1&c=54511&w=290&h=96&align=center`,1,"tianqi"]],template:function(i,o){1&i&&(f(0,"div",1)(1,"div")(2,"h1",2),w(3),m(),A(4,"app-search-engine")(5,"app-web-list"),m()(),A(6,"app-fixbar",3),C(7,w6e,4,2,"div",4)),2&i&&(h("ngStyle",mr(7,v6e,"url("+o.shortcutThemeImage+")")),d(2),Z("color-black",!o.shortcutThemeImage),h("ngStyle",mr(9,b6e,o.shortcutThemeImage?"#fff":"")),d(),we(" ",o.settings.shortcutTitle||o.settings.title," "),d(3),h("showCollapse",!1),d(),h("ngIf",o.settings.shortcutThemeShowWeather))},dependencies:[St,ti,z2,B1,TP],styles:[".shortcut[_ngcontent-%COMP%]{position:fixed;inset:0;display:flex;justify-content:center;padding-top:150px;text-align:center;background-color:#00000005;background-repeat:no-repeat;background-size:cover;background-position:center}.shortcut[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:30px;font-weight:700}.shortcut[_ngcontent-%COMP%] .name{color:#fff!important}.tianqi[_ngcontent-%COMP%]{position:fixed;top:0;right:100px}"]})}return t})();const z6e=()=>({});function A6e(t,n){if(1&t){const e=W();f(0,"div",4)(1,"input",5),Ii("ngModelChange",function(o){S(e);const r=g();return Ui(r.authCode,o)||(r.authCode=o),T(o)}),m(),f(2,"button",6),M("click",function(){return S(e),T(g().handleSubmitAuthCode())}),w(3),m(),f(4,"div",7)(5,"p"),w(6),m(),f(7,"p"),w(8," \u53d1\u9001\u5230: xjh22222228@gmail.com \uff08\u5907\u6ce8\u5f00\u901a\u57df\u540d\uff0c\u652f\u4ed8\u6e20\u9053\u548c\u652f\u4ed8\u65f6\u95f4\uff0c\u6211\u4eec\u4f1a\u572824\u5c0f\u65f6\u5185\u53d1\u9001\u6388\u6743\u7801\u7ed9\u60a8\u90ae\u7bb1\uff09 "),m(),f(9,"p"),w(10,"\u4e00\u4e2a\u6388\u6743\u7801\u53ea\u7ed1\u5b9a\u4e00\u4e2a\u5168\u7ad9\u57df\u540d"),m(),A(11,"img",8),m()()}if(2&t){const e=g();d(),h("placeholder",e.$t("_inputAuthCode")),ki("ngModel",e.authCode),d(),h("nzLoading",e.submitting),d(),we(" ",e.$t("_save")," "),d(3),D(e.$t("_payTip"))}}function S6e(t,n){if(1&t&&A(0,"app-logo",24),2&t){const e=g().$implicit;h("src",e.icon)("name",e.name)}}function T6e(t,n){if(1&t&&(f(0,"nz-tag",25)(1,"a",26),w(2),m()()),2&t){const e=n.$implicit,i=g().$implicit,o=g(2);h("nzColor",o.tagMap[e]&&o.tagMap[e].color||"#1890ff"),d(),h("href",(null==i.urls?null:i.urls[e])||"javascript:void(0)",It)("target",null!=i.urls&&i.urls[e]?"_blank":""),d(),D(o.tagMap[e]&&o.tagMap[e].name)}}function M6e(t,n){if(1&t&&(f(0,"td",15),w(1),m()),2&t){const e=g().$implicit;d(),sm(" ",e.extra.oneName," / ",e.extra.twoName," / ",e.extra.threeName," ")}}function D6e(t,n){if(1&t){const e=W();f(0,"tr")(1,"td")(2,"div")(3,"a",17),M("click",function(){const o=S(e),r=o.$implicit,s=o.index;return T(g(2).handleConfirmGet(r,s))}),w(4),m()(),f(5,"div",7)(6,"a",18),M("nzOnConfirm",function(){const o=S(e).index;return T(g(2).handleDelete(o))}),f(7,"b"),w(8),m()()()(),f(9,"td"),C(10,S6e,1,2,"app-logo",19),m(),f(11,"td")(12,"a",20),w(13),m()(),f(14,"td"),C(15,T6e,3,4,"nz-tag",21),m(),f(16,"td")(17,"pre",22),w(18),m()(),C(19,M6e,2,3,"td",23),f(20,"td"),w(21),m()()}if(2&t){const e=n.$implicit,i=g(2);d(4),D(i.$t("_collect")),d(2),h("nzPopconfirmTitle",i.$t("_confirmDel")),d(2),D(i.$t("_del")),d(2),h("ngIf",e.icon),d(2),h("href",e.url,It),d(),D(e.name),d(2),h("ngForOf",i.objectKeys(e.urls||Si(10,z6e))),d(3),D(e.desc),d(),h("ngIf",e.extra),d(2),D(e.createdAt)}}function E6e(t,n){if(1&t){const e=W();f(0,"div")(1,"button",6),M("click",function(){return S(e),T(g().handleSubmit())}),w(2),m(),f(3,"button",9),M("click",function(){return S(e),T(g().logoutAuthCode())}),w(4),m(),f(5,"button",10),M("click",function(){return S(e),T(g().getUserCollect())}),w(6),m(),f(7,"div",11)(8,"b"),w(9,"\u5904\u7406\u5b8c\u6210\u6240\u6709\u6570\u636e\u540e\u9700\u8981\u70b9\u51fb\u4e00\u6b21\u4fdd\u5b58\u65b9\u53ef\u751f\u6548"),m()(),f(10,"nz-table",12,0)(12,"thead")(13,"tr")(14,"th",13),w(15),m(),f(16,"th",13),w(17),m(),f(18,"th",14),w(19),m(),f(20,"th",14),w(21),m(),f(22,"th",15),w(23),m(),f(24,"th",15),w(25,"\u5206\u7c7b\u4f4d\u7f6e"),m(),f(26,"th"),w(27),m()()(),f(28,"tbody"),C(29,D6e,22,11,"tr",16),m()()()}if(2&t){const e=g();d(),h("nzLoading",e.submitting),d(),we(" ",e.$t("_save")," "),d(),h("nzLoading",e.submitting),d(),we(" ",e.$t("_logoutAuthCode")," "),d(),h("nzLoading",e.submitting),d(),we(" ",e.$t("_refresh")," "),d(4),h("nzData",e.dataList)("nzShowPagination",!1),d(5),D(e.$t("_action")),d(2),D(e.$t("_icon")),d(2),D(e.$t("_webName")),d(2),D(e.$t("_webTag")),d(2),D(e.$t("_webDesc")),d(4),D(e.$t("_createAt")),d(2),h("ngForOf",e.dataList)("ngForTrackBy",e.trackByItem)}}let x6e=(()=>{class t{constructor(e,i,o){this.message=e,this.modal=i,this.notification=o,this.$t=be,this.objectKeys=Object.keys,this.submitting=!1,this.isPermission=!!Ug(),this.dataList=[],this.authCode="",this.tagMap=ju}ngOnInit(){this.getUserCollect()}handleDelete(e){this.submitting=!0,function Ate(t){return y5.apply(this,arguments)}({data:this.dataList[e]}).then(i=>{i.data.success&&(this.dataList=i.data.data)}).finally(()=>{this.submitting=!1})}getUserCollect(){this.submitting=!0,function Cte(t){return b5.apply(this,arguments)}().then(e=>{this.isPermission=!!e.data.success,e.data.success&&e.data.data&&(this.dataList=e.data.data)}).finally(()=>{this.submitting=!1})}handleSubmitAuthCode(){this.submitting||!this.authCode||(BM(this.authCode),this.getUserCollect())}logoutAuthCode(){(function EX(){window.localStorage.removeItem("AUTH_CODE")})(),window.location.reload()}handleConfirmGet(e,i){const o=this;try{const r=yn.findIndex(l=>l.title===e.extra.oneName),s=yn[r].nav.findIndex(l=>l.title===e.extra.twoName),a=yn[r].nav[s].nav.findIndex(l=>l.title===e.extra.threeName);Ei.emit("CREATE_WEB",{detail:e,oneIndex:r,twoIndex:s,threeIndex:a}),Ei.emit("SET_CREATE_WEB",{detail:null,callback(){o.handleDelete(i)}})}catch(r){this.notification.error(`${be("_error")}`,`\u6536\u5f55\u5931\u8d25\uff0c\u53ef\u80fd\u5206\u7c7b\u4f4d\u7f6e\u540d\u79f0\u53d1\u751f\u6539\u53d8\uff0c\u8bf7\u624b\u52a8\u5220\u9664\uff1a${r.message}`)}}handleSubmit(){this.submitting||this.modal.info({nzTitle:be("_syncDataOut"),nzOkText:be("_confirmSync"),nzContent:be("_confirmSyncTip"),nzOnOk:()=>{this.submitting=!0,vl({message:"update db",content:JSON.stringify(yn),path:Yg}).then(()=>{this.message.success(be("_syncSuccessTip"))}).finally(()=>{this.submitting=!1})}})}trackByItem(e,i){return i.id}static#e=this.\u0275fac=function(i){return new(i||t)(v(er),v(za),v(Op))};static#t=this.\u0275cmp=Q({type:t,selectors:[["user-collect"]],decls:3,vars:3,consts:[["basicTable",""],["nzTip","Loading...",3,"nzSpinning"],["class","center",4,"ngIf"],[4,"ngIf"],[1,"center"],["nz-input","","autofocus","",3,"ngModelChange","placeholder","ngModel"],["nz-button","","nzType","primary",1,"mt10",3,"click","nzLoading"],[1,"mt10"],["src","https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/img/32.png","width","600"],["nz-button","","nzType","primary","nzDanger","",1,"ml10",3,"click","nzLoading"],["nz-button","",1,"ml10",3,"click","nzLoading"],[1,"mb10","mt10"],[3,"nzData","nzShowPagination"],["nzWidth","80px"],["nzWidth","100px"],["nzWidth","300px"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"click"],["nz-popconfirm","","nzPopconfirmPlacement","rightTop","nzOkType","danger","nzPopconfirmPlacement","bottom",3,"nzOnConfirm","nzPopconfirmTitle"],[3,"src","name",4,"ngIf"],["target","_blank",3,"href"],["style","margin-bottom: 5px",3,"nzColor",4,"ngFor","ngForOf"],[1,"desc"],["nzWidth","300px",4,"ngIf"],[3,"src","name"],[2,"margin-bottom","5px",3,"nzColor"],[3,"href","target"]],template:function(i,o){1&i&&(f(0,"nz-spin",1),C(1,A6e,12,5,"div",2)(2,E6e,30,16,"div",3),m()),2&i&&(h("nzSpinning",o.submitting),d(),h("ngIf",!o.isPermission),d(),h("ngIf",o.isPermission))},dependencies:[zn,St,Gs,nr,mi,tr,wr,Zi,H1,U1,V2,Y1,N2,Hl,W1,Fv,JO,Xi,Fl],styles:[".add-btn[_ngcontent-%COMP%]{margin-bottom:20px;margin-right:20px}.desc[_ngcontent-%COMP%]{width:300px;white-space:pre-wrap}.ant-table-wrapper[_ngcontent-%COMP%]{overflow:auto}"]})}return t})();const k6e=()=>({});function I6e(t,n){if(1&t){const e=W();f(0,"div",8),M("click",function(){const o=S(e).index;return T(g().handleCilckNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index;Z("active",g().page===i),d(),we(" ",e.title," ")}}function O6e(t,n){if(1&t){const e=W();f(0,"span",14),M("click",function(){const o=S(e).index;return T(g(3).handleSidebarNav(o))}),w(1),m()}if(2&t){const e=n.$implicit,i=n.index;Z("active",g(3).id===i),d(),we(" ",e.title," ")}}function P6e(t,n){if(1&t&&(f(0,"nav",12),C(1,O6e,2,3,"span",13),m()),2&t){const e=g(2);d(),h("ngForOf",e.websiteList[e.page].nav)("ngForTrackBy",e.trackByItem)}}function V6e(t,n){if(1&t&&(f(0,"h2",18),w(1),m()),2&t){const e=g().$implicit;d(),la(" ",e.title," x ",e.nav.length," ")}}function N6e(t,n){if(1&t&&(f(0,"div",27)(1,"a",28),w(2),m()()),2&t){const e=n.$implicit,i=g().$implicit,o=g(3);Qo("background-color: "+(o.tagMap[e]&&o.tagMap[e].color||"#1890ff")),d(),h("href",(null==i.urls?null:i.urls[e])||"javascript:void(0)",It)("target",null!=i.urls&&i.urls[e]?"_blank":""),d(),D(o.tagMap[e]&&o.tagMap[e].name)}}function F6e(t,n){if(1&t&&(f(0,"div",19)(1,"a",20)(2,"div",21),A(3,"app-logo",22)(4,"div",23),m(),A(5,"pre",24),f(6,"div",25),C(7,N6e,3,5,"div",26),m()()()),2&t){const e=n.$implicit,i=g(3);d(),h("href",e.url,It),d(2),h("src",e.icon||"")("name",e.name)("size",30),d(),h("title",e.__name__||e.name)("innerHTML",e.name,Gn),d(),h("title",e.__desc__||e.desc)("innerHTML",e.desc,Gn),d(2),h("ngForOf",i.objectKeys(e.urls||Si(9,k6e)))}}function R6e(t,n){if(1&t&&(f(0,"div"),C(1,V6e,2,2,"h2",15),f(2,"div",16),C(3,F6e,8,10,"div",17),m()()),2&t){const e=n.$implicit,i=g(2);d(),h("ngIf",e.title),d(2),h("ngForOf",e.nav)("ngForTrackBy",i.trackByItem)}}function L6e(t,n){if(1&t&&(f(0,"div",9),C(1,P6e,2,2,"nav",10)(2,R6e,4,3,"div",11),m()),2&t){const e=g();d(),h("ngIf",null==e.websiteList[e.page]||null==e.websiteList[e.page].nav?null:e.websiteList[e.page].nav.length),d(),h("ngForOf",e.currentList)}}const B6e=[{path:"sim",component:C2e},{path:"super",component:a2e},{path:"side",component:g6e},{path:"shortcut",component:C6e},{path:"light",component:que,data:{renderLinear:!0}},{path:"app",component:(()=>{class t{constructor(e,i){this.router=e,this.activatedRoute=i,this.objectKeys=Object.keys,this.websiteList=yn,this.currentList=[],this.id=0,this.page=0,this.open=!1,this.LOGO_CDN=kn.favicon,this.tagMap=ju}ngOnInit(){this.activatedRoute.queryParams.subscribe(()=>{const{page:e,id:i,q:o}=pi();this.page=e,this.id=i,this.currentList=o?A1(this.websiteList,o):Hu()})}handleSidebarNav(e){const{page:i}=pi();this.router.navigate(["/app"],{queryParams:{page:i,id:e}})}handleCilckNav(e){this.router.navigate(["/app"],{queryParams:{page:e}}),this.open=!this.open}handleToggleOpen(){this.open=!this.open}trackByItem(e,i){return i.title}trackByItemWeb(e,i){return i.id}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-home"]],decls:13,vars:8,consts:[[1,"app-page","user-select-none"],[1,"header"],[1,"header-top"],["alt","logo",1,"logo",3,"src"],[1,"open",3,"click"],[1,"nav-open"],["class","nav-title",3,"active","click",4,"ngFor","ngForOf","ngForTrackBy"],["class","wrapper",4,"ngIf"],[1,"nav-title",3,"click"],[1,"wrapper"],["class","children-nav",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"children-nav"],["class","tag",3,"active","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"tag",3,"click"],["class","block-title",4,"ngIf"],[1,"row"],["class","item-list",4,"ngFor","ngForOf","ngForTrackBy"],[1,"block-title"],[1,"item-list"],["target","_blank",3,"href"],[1,"top"],[3,"src","name","size"],[1,"name",3,"title","innerHTML"],[1,"desc",3,"title","innerHTML"],[1,"tagbox"],["class","tag-item",3,"style",4,"ngFor","ngForOf"],[1,"tag-item"],[3,"href","target"]],template:function(i,o){1&i&&(f(0,"section",0)(1,"header",1)(2,"div",2),A(3,"img",3),f(4,"div",4),M("click",function(){return o.handleToggleOpen()}),A(5,"i")(6,"i")(7,"i"),m()(),f(8,"nav",5),C(9,I6e,2,3,"div",6),m()(),A(10,"app-search-engine"),C(11,L6e,3,2,"div",7),A(12,"app-footer"),m()),2&i&&(d(3),h("src",o.LOGO_CDN,It),d(),Z("active",o.open),d(4),Z("active",o.open),d(),h("ngForOf",o.websiteList)("ngForTrackBy",o.trackByItem),d(2),h("ngIf",o.websiteList[o.page]))},dependencies:[zn,St,A2,B1,Fl],styles:['.app-page[_ngcontent-%COMP%]{padding:45px 0 15px;min-height:100vh;background:#f6f6f6}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{z-index:9999;position:fixed;top:0;left:0;right:0;text-align:center;background:#fbfbfb;box-shadow:0 0 3px #ccc}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-top[_ngcontent-%COMP%]{position:relative;height:45px;border-bottom:1px solid #eee;background:#fbfbfb}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-top[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{display:inline-block;width:35px;height:35px;margin-top:4px;pointer-events:none}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .open[_ngcontent-%COMP%]{position:absolute;top:9px;left:15px;cursor:pointer}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .open[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{display:block;margin-top:6px;height:2px;width:25px;background:#999;transform-origin:right center;transition:.1s linear}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .open.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:nth-child(1){transform:rotate(-45deg)}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .open.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:nth-child(2){opacity:0}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .open.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:nth-child(3){transform:translateY(2px) rotate(45deg)}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .nav-open[_ngcontent-%COMP%]{display:none;box-shadow:1px 1px 5px #ccc;overflow:hidden;background:#fbfbfb;transition:.1s linear}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .nav-open.active[_ngcontent-%COMP%]{display:block}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .nav-title[_ngcontent-%COMP%]{display:inline-block;width:50%;font-size:16px;padding:8px 0}.app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .nav-title[_ngcontent-%COMP%]:active, .app-page[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .nav-title.active[_ngcontent-%COMP%]{background:#0000000d}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%]{margin:0 0 30px}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .children-nav[_ngcontent-%COMP%]{background:#fbfbfb;margin:0 0 15px;padding:10px 10px 5px;white-space:nowrap;overflow:auto;box-shadow:0 0 3px #ccc}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .children-nav[_ngcontent-%COMP%] .tag[_ngcontent-%COMP%]{position:relative;display:inline-block;font-size:14px;padding:3px 5px;margin:0 3px 5px 0;transition:background .1s linear;color:#333}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .children-nav[_ngcontent-%COMP%] .active[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:5px;left:50%;width:50%;transform:translate(-50%);height:3px;border-radius:2px;background:#20a0ff}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:10px;background:#fbfbfb;box-shadow:0 0 5px #ccc}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{display:inline-block;font-size:14px;margin-left:5px;width:calc(100% - 50px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%]{padding:10px;border-top:1px solid #eee;margin-top:8px;margin-bottom:0;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;font-size:12px}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .block-title[_ngcontent-%COMP%]{padding:10px 0 10px 15px;border-bottom:1px solid #eee;color:#3f51b5}.app-page[_ngcontent-%COMP%] .wrapper[_ngcontent-%COMP%] .top[_ngcontent-%COMP%]{padding:10px;display:flex;align-items:center}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#333}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .item-list[_ngcontent-%COMP%]{z-index:111;position:relative;width:calc(50% - 18px);margin:12px;border:1px solid #eee;overflow:hidden}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .item-list[_ngcontent-%COMP%]:nth-child(odd){margin-right:6px}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .item-list[_ngcontent-%COMP%]:nth-child(2n){margin-left:6px}.app-page[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .item-list[_ngcontent-%COMP%]:hover .mark{bottom:0!important}.app-page[_ngcontent-%COMP%] .tagbox[_ngcontent-%COMP%]{display:flex;padding:0 8px 8px;flex-wrap:wrap}.app-page[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]{margin:6px 6px 0 0;padding:0 6px;border-radius:2px;font-size:12px;display:flex;align-items:center;transition:all .1s linear;color:#fff}.app-page[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:currentColor}.app-page[_ngcontent-%COMP%] .tag-item[_ngcontent-%COMP%]:hover{opacity:.8}.app-page[_ngcontent-%COMP%] #app-footer{margin-top:40px}.app-page[_ngcontent-%COMP%] #app-footer, .app-page[_ngcontent-%COMP%] #app-footer .copyright{margin-bottom:10px;color:#666}']})}return t})()},{path:"system",component:F2e,children:[{path:"info",component:R2e},{path:"bookmark",component:uhe},{path:"collect",component:x6e},{path:"about",component:hhe},{path:"tag",component:U4e},{path:"search",component:r3e},{path:"setting",component:q3e},{path:"angle",component:Xpe},{path:"web",component:Zpe},{path:"**",redirectTo:"/system/web"}]},{path:"**",redirectTo:"/"+kn.theme.toLowerCase()}];let H6e=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[RM.forRoot(B6e,{useHash:Ns.hashMode}),RM]})}return t})();const Y6e=class j6e{constructor(n,e){Ei.on("MESSAGE",i=>{n[i.type](i.content)}),Ei.on("NOTIFICATION",i=>{e.create(i.type,i.title,i.content)})}};function U6e(t,n){1&t&&(f(0,"a",1),Dh(),f(1,"svg",2),A(2,"path",3)(3,"path",4),f(4,"path",5)(5,"style"),w(6," @keyframes octocat { 0%, 100% { transform: rotate(0); } 20%, 60% { transform: rotate(-25deg); } 40%, 80% { transform: rotate(100deg); } } .octo-arm { animation: octocat 1.1s linear infinite; } "),m()()()()),2&t&&h("href",g().gitRepoUrl,It)}let W6e=(()=>{class t{constructor(){this.gitRepoUrl="https://github.com/xjh22222228/nav-web"===Ns.gitRepoUrl?"https://github.com/xjh22222228/nav":Ns.gitRepoUrl,this.showGithub=kn.showGithub}ngOnInit(){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-icon-git"]],decls:1,vars:1,consts:[["target","_blank","rel","noreferer noopener","class","github-link",3,"href",4,"ngIf"],["target","_blank","rel","noreferer noopener",1,"github-link",3,"href"],["width","50","height","50","viewBox","0 0 250 250","aria-hidden","true",2,"fill","#20a0ff","color","#fff"],["d","M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"],["d","M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2","data-url","https://github.com/xjh22222228","fill","currentColor",1,"octo-arm",2,"transform-origin","130px 106px"],["d","M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z","fill","currentColor",1,"octo-body"]],template:function(i,o){1&i&&C(0,U6e,7,1,"a",0),2&i&&h("ngIf",o.gitRepoUrl&&o.showGithub)},dependencies:[St],styles:["@media (max-width: 580px){.github-link[_ngcontent-%COMP%]{display:none}}.github-link[_ngcontent-%COMP%]{position:fixed;top:-6px;right:-6px;border:0;z-index:10}"]})}return t})();const G6e=()=>({maxHeight:"70vh",overflowY:"auto"}),q6e=()=>({minRows:3,maxRows:5});function Q6e(t,n){1&t&&(f(0,"span",22),w(1,"/"),m())}function K6e(t,n){if(1&t&&(f(0,"span"),w(1),C(2,Q6e,2,0,"span",21),m()),2&t){const e=n.$implicit,i=n.index,o=g(3);d(),we("",e," "),d(),h("ngIf",i!==o.detail.breadcrumb.length-1)}}function $6e(t,n){if(1&t&&(f(0,"div",19),C(1,K6e,3,2,"span",20),m()),2&t){const e=g(2);d(),h("ngForOf",e.detail.breadcrumb)}}function J6e(t,n){if(1&t&&(f(0,"nz-form-item")(1,"nz-form-label",14),w(2),m(),f(3,"nz-form-control",14),A(4,"input",23),m()()),2&t){const e=g(2);d(),h("nzSpan",4),d(),D(e.$t("_sort")),d(),h("nzSpan",20)}}function Z6e(t,n){if(1&t&&(f(0,"nz-form-item")(1,"nz-form-label",14),w(2),m(),f(3,"nz-form-control",14),A(4,"nz-switch",24),m()()),2&t){const e=g(2);d(),h("nzSpan",4),d(),D(e.$t("_shortcut")),d(),h("nzSpan",20)}}function X6e(t,n){if(1&t&&(f(0,"nz-form-item")(1,"nz-form-label",14),w(2),m(),f(3,"nz-form-control",14),A(4,"nz-switch",25),m()()),2&t){const e=g(2);d(),h("nzSpan",4),d(),D(e.$t("_onlyOwnVisible")),d(),h("nzSpan",20)}}function e8e(t,n){1&t&&A(0,"app-logo",29),2&t&&h("src",g(4).iconUrl)("size",25)}function t8e(t,n){1&t&&C(0,e8e,1,2,"app-logo",28),2&t&&h("ngIf",g(3).iconUrl)}function n8e(t,n){1&t&&A(0,"i",31)}function i8e(t,n){if(1&t){const e=W();f(0,"label",32),A(1,"i",33),f(2,"input",34),M("change",function(o){return S(e),T(g(4).onChangeFile(o))}),m()()}if(2&t){const e=g(4);d(),h("title",e.$t("_upload"))}}function o8e(t,n){if(1&t&&C(0,n8e,1,0,"i",30)(1,i8e,3,1,"ng-template",null,2,ot),2&t){const e=Be(2);h("ngIf",g(3).uploading)("ngIfElse",e)}}function r8e(t,n){if(1&t&&(f(0,"nz-form-item")(1,"nz-form-label",14),w(2),m(),f(3,"nz-form-control",14)(4,"nz-input-group",26),A(5,"input",27),m(),C(6,t8e,1,1,"ng-template",null,0,ot)(8,o8e,3,2,"ng-template",null,1,ot),m()()),2&t){const e=Be(7),i=Be(9),o=g(2);d(),h("nzSpan",4),d(),D(o.$t("_iconAddr")),d(),h("nzSpan",20),d(),h("nzPrefix",e)("nzSuffix",i),d(),h("placeholder",o.$t("_copyUpload"))("readonly",o.getting)("placeholder",o.getting?o.$t("_pendingGet"):"")}}function s8e(t,n){1&t&&A(0,"app-logo",29),2&t&&h("src",g(4).iconUrl)("size",25)}function a8e(t,n){1&t&&C(0,s8e,1,2,"app-logo",28),2&t&&h("ngIf",g(3).iconUrl)}function l8e(t,n){if(1&t&&(f(0,"nz-form-item")(1,"nz-form-label",14),w(2),m(),f(3,"nz-form-control",14)(4,"nz-input-group",35),A(5,"input",36),m(),C(6,a8e,1,1,"ng-template",null,0,ot),m()()),2&t){const e=Be(7),i=g(2);d(),h("nzSpan",4),d(),D(i.$t("_iconAddr")),d(),h("nzSpan",20),d(),h("nzPrefix",e),d(),h("readonly",i.getting)("placeholder",i.getting?i.$t("_pendingGet"):"")}}function c8e(t,n){if(1&t&&A(0,"nz-option",43),2&t){const e=n.$implicit;h("nzLabel",e.name)("nzValue",e.id)}}function d8e(t,n){if(1&t&&(f(0,"nz-select",41),C(1,c8e,1,2,"nz-option",42),m()),2&t){const e=g(3);d(),h("ngForOf",e.tagList)}}function u8e(t,n){if(1&t){const e=W();f(0,"i",44),M("click",function(){S(e);const o=g().index;return T(g(2).lessMoreUrl(o))}),m()}}function h8e(t,n){if(1&t&&(f(0,"nz-form-item",37),A(1,"nz-form-label",38),f(2,"nz-form-control",14)(3,"nz-input-group",39),A(4,"input",40),m(),C(5,d8e,2,1,"ng-template",null,3,ot)(7,u8e,1,0,"ng-template",null,4,ot),m()()),2&t){const e=n.index,i=Be(6),o=Be(8),r=g(2);h("formGroupName",e),d(),h("nzSpan",4)("nzNoColon",!0),d(),h("nzSpan",20),d(),h("nzAddOnBefore",i)("nzAddOnAfter",o),d(),h("placeholder",r.$t("_tagPlaceholder"))}}function p8e(t,n){if(1&t){const e=W();f(0,"nz-form-item"),A(1,"nz-form-label",38),f(2,"nz-form-control",14)(3,"button",45),M("click",function(){return S(e),T(g(2).addMoreUrl())}),A(4,"i",46),w(5),m()()()}if(2&t){const e=g(2);d(),h("nzSpan",4)("nzNoColon",!0),d(),h("nzSpan",20),d(3),we("",e.$t("_continueAdd")," ")}}function f8e(t,n){if(1&t){const e=W();Ye(0),C(1,$6e,2,1,"div",7),f(2,"form",8)(3,"nz-form-item")(4,"nz-form-label",9),w(5),m(),f(6,"nz-form-control",10)(7,"input",11),M("blur",function(o){return S(e),T(g().onUrlBlur(o))}),m()()(),f(8,"nz-form-item")(9,"nz-form-label",9),w(10),m(),f(11,"nz-form-control",10),A(12,"input",12),m()(),C(13,J6e,5,3,"nz-form-item",13)(14,Z6e,5,3,"nz-form-item",13)(15,X6e,5,3,"nz-form-item",13),f(16,"nz-form-item")(17,"nz-form-label",14),w(18),m(),f(19,"nz-form-control",14),A(20,"nz-rate",15),m()(),C(21,r8e,10,8,"nz-form-item",13)(22,l8e,8,6,"nz-form-item",13),f(23,"nz-form-item")(24,"nz-form-label",14),w(25),m(),f(26,"nz-form-control",14)(27,"textarea",16),w(28," "),m()()(),f(29,"div",17),C(30,h8e,9,7,"nz-form-item",18),m(),C(31,p8e,6,4,"nz-form-item",13),m(),Ue()}if(2&t){const e=g();d(),h("ngIf",null==e.detail?null:e.detail.breadcrumb),d(),h("formGroup",e.validateForm),d(2),h("nzSpan",4),d(),D(e.$t("_webLink")),d(),h("nzSpan",20)("nzErrorTip",e.$t("_requiredLink")),d(3),h("nzSpan",4),d(),D(e.$t("_webName")),d(),h("nzSpan",20)("nzErrorTip",e.$t("_requiredName")),d(),h("placeholder",e.$t("_webTitle"))("readonly",e.getting)("placeholder",e.getting?e.$t("_pendingGet"):""),d(),h("ngIf",e.isLogin),d(),h("ngIf",e.isLogin),d(),h("ngIf",e.isLogin),d(2),h("nzSpan",4),d(),D(e.$t("_score")),d(),h("nzSpan",20),d(2),h("ngIf",e.isLogin),d(),h("ngIf",!e.isLogin),d(2),h("nzSpan",4),d(),D(e.$t("_webDesc")),d(),h("nzSpan",20),d(),h("placeholder",e.settings.description)("nzAutosize",Si(30,q6e))("readonly",e.getting)("placeholder",e.getting?e.$t("_pendingGet"):""),d(3),h("ngForOf",e.urlArray.controls),d(),h("ngIf",e.tagList.length>0)}}let m8e=(()=>{class t{constructor(e,i){this.fb=e,this.message=i,this.onOk=new B,this.$t=be,this.isLogin=Gi,this.iconUrl="",this.tagList=h3,this.uploading=!1,this.getting=!1,this.settings=kn,this.showModal=!1,this.detail=null,this.callback=()=>{},Ei.on("CREATE_WEB",o=>{this.open(this,o)}),Ei.on("SET_CREATE_WEB",o=>{for(const r in o)this[r]=o[r]}),this.validateForm=this.fb.group({title:["",[q7.required]],url:["",[q7.required]],top:[!1],ownVisible:[!1],rate:[5],icon:[""],desc:[""],index:[""],urlArr:this.fb.array([])})}get urlArray(){return this.validateForm.get("urlArr")}open(e,i={}){const o=i.detail;if(e.detail=o,e.showModal=!0,e.oneIndex=i.oneIndex,e.twoIndex=i.twoIndex,e.threeIndex=i.threeIndex,this.validateForm.get("title").setValue(fs(o?.name)),this.validateForm.get("desc").setValue(fs(o?.desc)),this.validateForm.get("index").setValue(o?.index??""),this.validateForm.get("icon").setValue(o?.icon||""),this.validateForm.get("url").setValue(o?.url||""),this.validateForm.get("top").setValue(o?.top??!1),this.validateForm.get("ownVisible").setValue(o?.ownVisible??!1),this.validateForm.get("rate").setValue(o?.rate??5),o&&"object"==typeof o.urls)for(let r in o.urls)this.validateForm?.get("urlArr").push?.(this.fb.group({id:Number(r),name:ju[r]?.name??"",url:o.urls[r]}))}onClose(){this.validateForm.get("urlArr").controls=[],this.validateForm.reset(),this.showModal=!1,this.detail=null,this.iconUrl="",this.oneIndex=void 0,this.twoIndex=void 0,this.threeIndex=void 0,this.uploading=!1,this.callback=Function}onUrlBlur(e){var i=this;return Mi(function*(){const o=e.target?.value;if(!o)return;i.getting=!0;const r=yield function kte(t){return A5.apply(this,arguments)}(o);null!=r.url&&(i.iconUrl=r.url,i.validateForm.get("icon").setValue(i.iconUrl)),null!=r.title&&i.validateForm.get("title").setValue(r.title),null!=r.description&&i.validateForm.get("desc").setValue(r.description),!1===r.status&&i.message.error("\u81ea\u52a8\u6293\u53d6\u5931\u8d25\uff0c\u8bf7\u624b\u52a8\u5199\u5165"),i.getting=!1})()}addMoreUrl(){this.validateForm.get("urlArr").push(this.fb.group({id:"",name:"",url:""}))}lessMoreUrl(e){this.validateForm.get("urlArr").removeAt(e)}handleUploadImage(e){const i=this,o=new FileReader;o.readAsDataURL(e),o.onload=function(){i.uploading=!0,i.iconUrl=this.result;const r=i.iconUrl.split(",")[1],s=`nav-${Date.now()}-${e.name}`;JD({branch:"image",message:"create image",content:r,isEncode:!1,path:s}).then(()=>{i.validateForm.get("icon").setValue(s),i.message.success(be("_uploadSuccess"))}).finally(()=>{i.uploading=!1})}}onChangeFile(e){const{files:i}=e.target;if(i.length<=0)return;const o=i[0];if(!o.type.startsWith("image"))return this.message.error(be("_notUpload"));this.handleUploadImage(o)}handleOk(){var e=this;return Mi(function*(){for(const z in e.validateForm.controls)e.validateForm.controls[z].markAsDirty(),e.validateForm.controls[z].updateValueAndValidity();const i=(new Date).toString();let o={},{title:r,icon:s,url:a,top:l,ownVisible:c,rate:u,desc:p,index:b}=e.validateForm.value;if(!r||!a)return;r=r.trim(),(e.validateForm.get("urlArr")?.value||[]).forEach(z=>{null!=z.id&&(o[z.id]=z.url)});const y={id:-Date.now(),name:r,createdAt:e.detail?.createdAt??i,rate:u??5,desc:p||"",top:l??!1,index:b,ownVisible:c??!1,icon:s,url:a,urls:o};if(e.detail)!function Ote(t,n){const e=Object.keys(n);let i=!1;return function o(r){for(let s=0;sqe.name===y.name))return e.message.error(`${be("_repeatAdd")} "${y.name}"`);if(e.uploading=!0,e.isLogin)pe.unshift(y),Un(yn),e.message.success(be("_addSuccess"));else if(e.settings.allowCollect){const qe=yield function zte(t){return _5.apply(this,arguments)}({email:e.settings.email,data:{...y,extra:{type:"create",oneName:yn[x].title,twoName:yn[x].nav[k].title,threeName:yn[x].nav[k].nav[ie].title}}});e.message.error(!1===qe.data.success?qe.data.message:be("_waitHandle"))}}catch(z){e.message.error(z.message)}e.callback(),e.onOk?.emit?.(y),e.onClose()})()}static#e=this.\u0275fac=function(i){return new(i||t)(v(fv),v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-create-web"]],outputs:{onOk:"onOk"},decls:2,vars:6,consts:[["prefixIcon",""],["suffixIconSearch",""],["loading",""],["addOnBeforeTemplate",""],["addOnAfterTemplate",""],[3,"nzVisibleChange","nzOnCancel","nzOnOk","nzWidth","nzVisible","nzTitle","nzOkLoading","nzBodyStyle"],[4,"nzModalContent"],["class","breadcrumb1",4,"ngIf"],["nz-form","",3,"formGroup"],["nzRequired","",3,"nzSpan"],[3,"nzSpan","nzErrorTip"],["formControlName","url","nz-input","","placeholder","https://github.com/xjh22222228/nav",3,"blur"],["formControlName","title","nz-input","",3,"placeholder","readonly"],[4,"ngIf"],[3,"nzSpan"],["formControlName","rate","nzAllowHalf",""],["formControlName","desc","nz-input","",1,"dark-scrollbar",3,"placeholder","nzAutosize","readonly"],["formArrayName","urlArr"],[3,"formGroupName",4,"ngFor","ngForOf"],[1,"breadcrumb1"],[4,"ngFor","ngForOf"],["class","arrow",4,"ngIf"],[1,"arrow"],["formControlName","index","nz-input","","type","number","placeholder","-1024"],["formControlName","top"],["formControlName","ownVisible"],[3,"nzPrefix","nzSuffix"],["formControlName","icon","nz-input","",3,"placeholder","readonly"],[3,"src","size",4,"ngIf"],[3,"src","size"],["nz-icon","","nzType","loading","nzTheme","outline",4,"ngIf","ngIfElse"],["nz-icon","","nzType","loading","nzTheme","outline"],["id","file"],["nz-icon","","nzType","upload","nzTheme","outline",1,"cursor-pointer",3,"title"],["type","file","name","file","accept","image/*",1,"file-upload",3,"change"],[3,"nzPrefix"],["formControlName","icon","nz-input","",3,"readonly","placeholder"],[3,"formGroupName"],[3,"nzSpan","nzNoColon"],[3,"nzAddOnBefore","nzAddOnAfter"],["formControlName","url","type","text","nz-input","",3,"placeholder"],["formControlName","id",2,"width","100px"],[3,"nzLabel","nzValue",4,"ngFor","ngForOf"],[3,"nzLabel","nzValue"],["nz-icon","","nzType","minus","nzTheme","outline",1,"cursor-pointer",3,"click"],["nz-button","","nzType","default","nzBlock","",3,"click"],["nz-icon","","nzType","plus"]],template:function(i,o){1&i&&(f(0,"nz-modal",5),Ii("nzVisibleChange",function(s){return Ui(o.showModal,s)||(o.showModal=s),s}),M("nzOnCancel",function(){return o.onClose()})("nzOnOk",function(){return o.handleOk()}),C(1,f8e,32,31,"ng-container",6),m()),2&i&&(h("nzWidth",570),ki("nzVisible",o.showModal),h("nzTitle",o.$t(o.detail?"_edit":"_add"))("nzOkLoading",o.uploading||o.getting)("nzBodyStyle",Si(5,G6e)))},dependencies:[zn,St,lp,y2,Gs,Dp,bO,vO,Vl,Nl,D1,wl,F2,Np,Rp,Fp,nr,mi,tr,Sp,wr,lv,Zi,gp,R1,L1,Tp,Mp,ln,bv,Vp,Fl],styles:[".file-upload[_ngcontent-%COMP%]{display:none!important}.row[_ngcontent-%COMP%]{display:flex;justify-content:space-around}.breadcrumb1[_ngcontent-%COMP%]{margin-bottom:10px;padding-left:5px;font-weight:700}.breadcrumb1[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{margin:0 8px 0 5px}@media (max-width: 580px){ .ant-modal{top:0}}"]})}return t})();function g8e(t,n){if(1&t&&A(0,"nz-option",7),2&t){const i=n.index;h("nzLabel",n.$implicit.title)("nzValue",i)}}function v8e(t,n){if(1&t&&A(0,"nz-option",7),2&t){const i=n.index;h("nzLabel",n.$implicit.title||"")("nzValue",i)}}function b8e(t,n){if(1&t&&A(0,"nz-option",7),2&t){const i=n.index;h("nzLabel",n.$implicit.title||"")("nzValue",i)}}function _8e(t,n){if(1&t){const e=W();Ye(0),f(1,"nz-select",2),M("ngModelChange",function(o){return S(e),T(g().hanldeOneSelect(o))}),C(2,g8e,1,2,"nz-option",3),m(),f(3,"nz-select",4),M("ngModelChange",function(o){return S(e),T(g().hanldeTwoSelect(o))}),C(4,v8e,1,2,"nz-option",3),m(),f(5,"nz-select",4),M("ngModelChange",function(o){return S(e),T(g().hanldeThreeSelect(o))}),C(6,b8e,1,2,"nz-option",3),m(),f(7,"div",5)(8,"label",6),Ii("ngModelChange",function(o){S(e);const r=g();return Ui(r.checked,o)||(r.checked=o),T(o)}),w(9),m()(),Ue()}if(2&t){const e=g();d(),h("ngModel",e.oneSelect)("nzPlaceHolder",e.$t("_sel1")),d(),h("ngForOf",e.websiteList),d(),h("ngModel",e.twoSelect)("nzPlaceHolder",e.$t("_sel2")),d(),h("ngForOf",e.twoOptList),d(),h("ngModel",e.threeSelect)("nzPlaceHolder",e.$t("_sel3")),d(),h("ngForOf",e.threeOptList),d(2),ki("ngModel",e.checked),d(),D(e.$t("_copy"))}}let y8e=(()=>{class t{constructor(e){this.message=e,this.$t=be,this.websiteList=yn,this.twoOptList=[],this.threeOptList=[],this.checked=!1,this.moveSites=[],this.showModal=!1,this.indexs=[],Ei.on("MOVE_WEB",i=>{this.open(this,i)})}ngOnInit(){}open(e,i){e.indexs=i.indexs,e.moveSites=i.data,e.showModal=!0}pushMoveSites(e){this.moveSites=e}hanldeOneSelect(e){this.oneSelect=e;const i=this.websiteList[e].title,o=this.websiteList.find(r=>r.title===i);this.twoOptList=o.nav,this.twoSelect=void 0,this.threeSelect=void 0}hanldeTwoSelect(e){this.twoSelect=e;const i=this.twoOptList[e].title,o=this.twoOptList.find(r=>r.title===i);this.threeOptList=o.nav,this.threeSelect=void 0}hanldeThreeSelect(e){this.threeSelect=e}handleCancel(){this.showModal=!1}hanldeOk(){if(null==this.threeSelect)return this.message.error(be("_sel3"));const e=this.indexs.filter(i=>null!=i);if(4!==e.length)return this.message.error(`move web: indexs\u6570\u91cf\u4e0d\u6b63\u786e${e.join(",")}`);try{const i=this.oneSelect,o=this.twoSelect,r=this.threeSelect;this.moveSites.forEach(s=>{if(this.websiteList[i].nav[o].nav[r].nav.find(l=>l.name===s.name))this.message.error(`${be("_repeatAdd")} "${s.name}"`);else{if(this.websiteList[i].nav[o].nav[r].nav.unshift(s),!this.checked){const[l,c,u,p]=e;this.websiteList[l].nav[c].nav[u].nav.splice(p,1)}this.message.success(`"${s.name}" ${be("_moveSuccess")}`)}}),Un(this.websiteList),this.handleCancel()}catch(i){this.message.error(i.message)}}static#e=this.\u0275fac=function(i){return new(i||t)(v(er))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-move-web"]],decls:2,vars:3,consts:[[3,"nzVisibleChange","nzOnCancel","nzOnOk","nzWidth","nzVisible","nzTitle"],[4,"nzModalContent"],["nzShowSearch","",2,"width","160px",3,"ngModelChange","ngModel","nzPlaceHolder"],[3,"nzLabel","nzValue",4,"ngFor","ngForOf"],["nzShowSearch","",2,"width","160px","margin-left","15px",3,"ngModelChange","ngModel","nzPlaceHolder"],[1,"act"],["nz-checkbox","",3,"ngModelChange","ngModel"],[3,"nzLabel","nzValue"]],template:function(i,o){1&i&&(f(0,"nz-modal",0),Ii("nzVisibleChange",function(s){return Ui(o.showModal,s)||(o.showModal=s),s}),M("nzOnCancel",function(){return o.handleCancel()})("nzOnOk",function(){return o.hanldeOk()}),C(1,_8e,10,11,"ng-container",1),m()),2&i&&(h("nzWidth",560),ki("nzVisible",o.showModal),h("nzTitle",o.$t("_moveTo")))},dependencies:[zn,lp,y2,Vl,Nl,Zi,Rl,Xi],styles:[".act[_ngcontent-%COMP%]{margin-top:30px}"]})}return t})();function w8e(t,n){1&t&&A(0,"app-move-web")}let C8e=(()=>{class t{constructor(e,i,o,r,s){this.router=e,this.activatedRoute=i,this.i18n=o,this.message=r,this.notification=s,this.isLogin=Gi,new Y6e(r,s)}ngOnInit(){this.goRoute(),this.activatedRoute.queryParams.subscribe(Dte),"zh-CN"===X5()?this.i18n.setLocale(D7):this.i18n.setLocale(Ek);const e=j4();e&&$D(e).catch(()=>{HM(),setTimeout(()=>{location.reload()},3e3)})}goRoute(){if("Current"!==kn.appTheme&&"ontouchstart"in window){const e=(this.router.url.split("?")[0]||"").toLowerCase(),{page:i,id:o,q:r}=pi(),s={page:i,id:o,q:r},a="/"+String(kn.appTheme).toLowerCase();e.includes(a)||this.router.navigate([a],{queryParams:s})}}static#e=this.\u0275fac=function(i){return new(i||t)(v(oi),v(Oo),v(Ys),v(er),v(Op))};static#t=this.\u0275cmp=Q({type:t,selectors:[["app-xiejiahe"]],decls:5,vars:1,consts:[["id","xiejiahe"],[4,"ngIf"]],template:function(i,o){1&i&&(f(0,"div",0),A(1,"app-icon-git")(2,"router-outlet")(3,"app-create-web"),C(4,w8e,1,0,"app-move-web",1),m()),2&i&&(d(4),h("ngIf",o.isLogin))},dependencies:[St,P4,W6e,m8e,y8e]})}return t})();function MP(t){return new j(3e3,!1)}function Da(t){switch(t.length){case 0:return new e2;case 1:return t[0];default:return new QE(t)}}function DP(t,n,e=new Map,i=new Map){const o=[],r=[];let s=-1,a=null;if(n.forEach(l=>{const c=l.get("offset"),u=c==s,p=u&&a||new Map;l.forEach((b,_)=>{let y=_,z=b;if("offset"!==_)switch(y=t.normalizePropertyName(y,o),z){case"!":z=e.get(_);break;case Bs:z=i.get(_);break;default:z=t.normalizeStyleValue(_,y,z,o)}p.set(y,z)}),u||r.push(p),a=p,s=c}),o.length)throw function W8e(t){return new j(3502,!1)}();return r}function Rv(t,n,e,i){switch(n){case"start":t.onStart(()=>i(e&&Lv(e,"start",t)));break;case"done":t.onDone(()=>i(e&&Lv(e,"done",t)));break;case"destroy":t.onDestroy(()=>i(e&&Lv(e,"destroy",t)))}}function Lv(t,n,e){const r=Bv(t.element,t.triggerName,t.fromState,t.toState,n||t.phaseName,e.totalTime??t.totalTime,!!e.disabled),s=t._data;return null!=s&&(r._data=s),r}function Bv(t,n,e,i,o="",r=0,s){return{element:t,triggerName:n,fromState:e,toState:i,phaseName:o,totalTime:r,disabled:!!s}}function ir(t,n,e){let i=t.get(n);return i||t.set(n,i=e),i}function EP(t){const n=t.indexOf(":");return[t.substring(1,n),t.slice(n+1)]}const ife=typeof document>"u"?null:document.documentElement;function Hv(t){const n=t.parentNode||t.host||null;return n===ife?null:n}let jl=null,xP=!1;function kP(t,n){for(;n;){if(n===t)return!0;n=Hv(n)}return!1}function IP(t,n,e){if(e)return Array.from(t.querySelectorAll(n));const i=t.querySelector(n);return i?[i]:[]}let jv=(()=>{class t{validateStyleProperty(e){return function rfe(t){jl||(jl=function sfe(){return typeof document<"u"?document.body:null}()||{},xP=!!jl.style&&"WebkitAppearance"in jl.style);let n=!0;return jl.style&&!function ofe(t){return"ebkit"==t.substring(1,6)}(t)&&(n=t in jl.style,!n&&xP&&(n="Webkit"+t.charAt(0).toUpperCase()+t.slice(1)in jl.style)),n}(e)}containsElement(e,i){return kP(e,i)}getParentElement(e){return Hv(e)}query(e,i,o){return IP(e,i,o)}computeStyle(e,i,o){return o||""}animate(e,i,o,r,s,a=[],l){return new e2(o,r)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();class Yv{static#e=this.NOOP=new jv}class Uv{}const lfe=1e3,Wv="ng-enter",Yp="ng-leave",Up="ng-trigger",Wp=".ng-trigger",PP="ng-animating",Gv=".ng-animating";function qs(t){if("number"==typeof t)return t;const n=t.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:qv(parseFloat(n[1]),n[2])}function qv(t,n){return"s"===n?t*lfe:t}function Gp(t,n,e){return t.hasOwnProperty("duration")?t:function dfe(t,n,e){let o,r=0,s="";if("string"==typeof t){const a=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return n.push(MP()),{duration:0,delay:0,easing:""};o=qv(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(r=qv(parseFloat(l),a[4]));const c=a[5];c&&(s=c)}else o=t;if(!e){let a=!1,l=n.length;o<0&&(n.push(function z8e(){return new j(3100,!1)}()),a=!0),r<0&&(n.push(function A8e(){return new j(3101,!1)}()),a=!0),a&&n.splice(l,0,MP())}return{duration:o,delay:r,easing:s}}(t,n,e)}function bs(t,n,e){n.forEach((i,o)=>{const r=Kv(o);e&&!e.has(o)&&e.set(o,t.style[r]),t.style[r]=i})}function Yl(t,n){n.forEach((e,i)=>{const o=Kv(i);t.style[o]=""})}function L2(t){return Array.isArray(t)?1==t.length?t[0]:function Lne(t,n=null){return{type:ct.Sequence,steps:t,options:n}}(t):t}const Qv=new RegExp("{{\\s*(.+?)\\s*}}","g");function NP(t){let n=[];if("string"==typeof t){let e;for(;e=Qv.exec(t);)n.push(e[1]);Qv.lastIndex=0}return n}function B2(t,n,e){const i=`${t}`,o=i.replace(Qv,(r,s)=>{let a=n[s];return null==a&&(e.push(function T8e(t){return new j(3003,!1)}()),a=""),a.toString()});return o==i?t:o}const pfe=/-+([a-z0-9])/g;function Kv(t){return t.replace(pfe,(...n)=>n[1].toUpperCase())}function or(t,n,e){switch(n.type){case ct.Trigger:return t.visitTrigger(n,e);case ct.State:return t.visitState(n,e);case ct.Transition:return t.visitTransition(n,e);case ct.Sequence:return t.visitSequence(n,e);case ct.Group:return t.visitGroup(n,e);case ct.Animate:return t.visitAnimate(n,e);case ct.Keyframes:return t.visitKeyframes(n,e);case ct.Style:return t.visitStyle(n,e);case ct.Reference:return t.visitReference(n,e);case ct.AnimateChild:return t.visitAnimateChild(n,e);case ct.AnimateRef:return t.visitAnimateRef(n,e);case ct.Query:return t.visitQuery(n,e);case ct.Stagger:return t.visitStagger(n,e);default:throw function M8e(t){return new j(3004,!1)}()}}function $v(t,n){return window.getComputedStyle(t)[n]}const gfe=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class FP extends Uv{normalizePropertyName(n,e){return Kv(n)}normalizeStyleValue(n,e,i,o){let r="";const s=i.toString().trim();if(gfe.has(e)&&0!==i&&"0"!==i)if("number"==typeof i)r="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&o.push(function D8e(t,n){return new j(3005,!1)}())}return s+r}}const qp="*";const Qp=new Set(["true","1"]),Kp=new Set(["false","0"]);function RP(t,n){const e=Qp.has(t)||Kp.has(t),i=Qp.has(n)||Kp.has(n);return(o,r)=>{let s=t==qp||t==o,a=n==qp||n==r;return!s&&e&&"boolean"==typeof o&&(s=o?Qp.has(t):Kp.has(t)),!a&&i&&"boolean"==typeof r&&(a=r?Qp.has(n):Kp.has(n)),s&&a}}const yfe=new RegExp("s*:selfs*,?","g");function Jv(t,n,e,i){return new wfe(t).build(n,e,i)}class wfe{constructor(n){this._driver=n}build(n,e,i){const o=new Afe(e);return this._resetContextStyleTimingState(o),or(this,L2(n),o)}_resetContextStyleTimingState(n){n.currentQuerySelector="",n.collectedStyles=new Map,n.collectedStyles.set("",new Map),n.currentTime=0}visitTrigger(n,e){let i=e.queryCount=0,o=e.depCount=0;const r=[],s=[];return"@"==n.name.charAt(0)&&e.errors.push(function E8e(){return new j(3006,!1)}()),n.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),a.type==ct.State){const l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(u=>{l.name=u,r.push(this.visitState(l,e))}),l.name=c}else if(a.type==ct.Transition){const l=this.visitTransition(a,e);i+=l.queryCount,o+=l.depCount,s.push(l)}else e.errors.push(function x8e(){return new j(3007,!1)}())}),{type:ct.Trigger,name:n.name,states:r,transitions:s,queryCount:i,depCount:o,options:null}}visitState(n,e){const i=this.visitStyle(n.styles,e),o=n.options&&n.options.params||null;if(i.containsDynamicStyles){const r=new Set,s=o||{};i.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{NP(l).forEach(c=>{s.hasOwnProperty(c)||r.add(c)})})}),r.size&&e.errors.push(function k8e(t,n){return new j(3008,!1)}(0,r.values()))}return{type:ct.State,name:n.name,style:i,options:o?{params:o}:null}}visitTransition(n,e){e.queryCount=0,e.depCount=0;const i=or(this,L2(n.animation),e),o=function vfe(t,n){const e=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(i=>function bfe(t,n,e){if(":"==t[0]){const l=function _fe(t,n){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(t,e);if("function"==typeof l)return void n.push(l);t=l}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function B8e(t){return new j(3015,!1)}()),n;const o=i[1],r=i[2],s=i[3];n.push(RP(o,s)),"<"==r[0]&&(o!=qp||s!=qp)&&n.push(RP(s,o))}(i,e,n)):e.push(t),e}(n.expr,e.errors);return{type:ct.Transition,matchers:o,animation:i,queryCount:e.queryCount,depCount:e.depCount,options:Ul(n.options)}}visitSequence(n,e){return{type:ct.Sequence,steps:n.steps.map(i=>or(this,i,e)),options:Ul(n.options)}}visitGroup(n,e){const i=e.currentTime;let o=0;const r=n.steps.map(s=>{e.currentTime=i;const a=or(this,s,e);return o=Math.max(o,e.currentTime),a});return e.currentTime=o,{type:ct.Group,steps:r,options:Ul(n.options)}}visitAnimate(n,e){const i=function Tfe(t,n){if(t.hasOwnProperty("duration"))return t;if("number"==typeof t)return Zv(Gp(t,n).duration,0,"");const e=t;if(e.split(/\s+/).some(r=>"{"==r.charAt(0)&&"{"==r.charAt(1))){const r=Zv(0,0,"");return r.dynamic=!0,r.strValue=e,r}const o=Gp(e,n);return Zv(o.duration,o.delay,o.easing)}(n.timings,e.errors);e.currentAnimateTimings=i;let o,r=n.styles?n.styles:Ke({});if(r.type==ct.Keyframes)o=this.visitKeyframes(r,e);else{let s=n.styles,a=!1;if(!s){a=!0;const c={};i.easing&&(c.easing=i.easing),s=Ke(c)}e.currentTime+=i.duration+i.delay;const l=this.visitStyle(s,e);l.isEmptyStep=a,o=l}return e.currentAnimateTimings=null,{type:ct.Animate,timings:i,style:o,options:null}}visitStyle(n,e){const i=this._makeStyleAst(n,e);return this._validateStyleAst(i,e),i}_makeStyleAst(n,e){const i=[],o=Array.isArray(n.styles)?n.styles:[n.styles];for(let a of o)"string"==typeof a?a===Bs?i.push(a):e.errors.push(new j(3002,!1)):i.push(new Map(Object.entries(a)));let r=!1,s=null;return i.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(s=a.get("easing"),a.delete("easing")),!r))for(let l of a.values())if(l.toString().indexOf("{{")>=0){r=!0;break}}),{type:ct.Style,styles:i,easing:s,offset:n.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(n,e){const i=e.currentAnimateTimings;let o=e.currentTime,r=e.currentTime;i&&r>0&&(r-=i.duration+i.delay),n.styles.forEach(s=>{"string"!=typeof s&&s.forEach((a,l)=>{const c=e.collectedStyles.get(e.currentQuerySelector),u=c.get(l);let p=!0;u&&(r!=o&&r>=u.startTime&&o<=u.endTime&&(e.errors.push(function O8e(t,n,e,i,o){return new j(3010,!1)}()),p=!1),r=u.startTime),p&&c.set(l,{startTime:r,endTime:o}),e.options&&function hfe(t,n,e){const i=n.params||{},o=NP(t);o.length&&o.forEach(r=>{i.hasOwnProperty(r)||e.push(function S8e(t){return new j(3001,!1)}())})}(a,e.options,e.errors)})})}visitKeyframes(n,e){const i={type:ct.Keyframes,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function P8e(){return new j(3011,!1)}()),i;let r=0;const s=[];let a=!1,l=!1,c=0;const u=n.steps.map(x=>{const k=this._makeStyleAst(x,e);let ie=null!=k.offset?k.offset:function Sfe(t){if("string"==typeof t)return null;let n=null;if(Array.isArray(t))t.forEach(e=>{if(e instanceof Map&&e.has("offset")){const i=e;n=parseFloat(i.get("offset")),i.delete("offset")}});else if(t instanceof Map&&t.has("offset")){const e=t;n=parseFloat(e.get("offset")),e.delete("offset")}return n}(k.styles),pe=0;return null!=ie&&(r++,pe=k.offset=ie),l=l||pe<0||pe>1,a=a||pe0&&r{const ie=b>0?k==_?1:b*k:s[k],pe=ie*E;e.currentTime=y+z.delay+pe,z.duration=pe,this._validateStyleAst(x,e),x.offset=ie,i.styles.push(x)}),i}visitReference(n,e){return{type:ct.Reference,animation:or(this,L2(n.animation),e),options:Ul(n.options)}}visitAnimateChild(n,e){return e.depCount++,{type:ct.AnimateChild,options:Ul(n.options)}}visitAnimateRef(n,e){return{type:ct.AnimateRef,animation:this.visitReference(n.animation,e),options:Ul(n.options)}}visitQuery(n,e){const i=e.currentQuerySelector,o=n.options||{};e.queryCount++,e.currentQuery=n;const[r,s]=function Cfe(t){const n=!!t.split(/\s*,\s*/).find(e=>":self"==e);return n&&(t=t.replace(yfe,"")),t=t.replace(/@\*/g,Wp).replace(/@\w+/g,e=>Wp+"-"+e.slice(1)).replace(/:animating/g,Gv),[t,n]}(n.selector);e.currentQuerySelector=i.length?i+" "+r:r,ir(e.collectedStyles,e.currentQuerySelector,new Map);const a=or(this,L2(n.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:ct.Query,selector:r,limit:o.limit||0,optional:!!o.optional,includeSelf:s,animation:a,originalSelector:n.selector,options:Ul(n.options)}}visitStagger(n,e){e.currentQuery||e.errors.push(function R8e(){return new j(3013,!1)}());const i="full"===n.timings?{duration:0,delay:0,easing:"full"}:Gp(n.timings,e.errors,!0);return{type:ct.Stagger,animation:or(this,L2(n.animation),e),timings:i,options:null}}}class Afe{constructor(n){this.errors=n,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Ul(t){return t?(t={...t}).params&&(t.params=function zfe(t){return t?{...t}:null}(t.params)):t={},t}function Zv(t,n,e){return{duration:t,delay:n,easing:e}}function Xv(t,n,e,i,o,r,s=null,a=!1){return{type:1,element:t,keyframes:n,preStyleProps:e,postStyleProps:i,duration:o,delay:r,totalTime:o+r,easing:s,subTimeline:a}}class $p{constructor(){this._map=new Map}get(n){return this._map.get(n)||[]}append(n,e){let i=this._map.get(n);i||this._map.set(n,i=[]),i.push(...e)}has(n){return this._map.has(n)}clear(){this._map.clear()}}const Efe=new RegExp(":enter","g"),kfe=new RegExp(":leave","g");function e9(t,n,e,i,o,r=new Map,s=new Map,a,l,c=[]){return(new Ife).buildKeyframes(t,n,e,i,o,r,s,a,l,c)}class Ife{buildKeyframes(n,e,i,o,r,s,a,l,c,u=[]){c=c||new $p;const p=new t9(n,e,c,o,r,u,[]);p.options=l;const b=l.delay?qs(l.delay):0;p.currentTimeline.delayNextStep(b),p.currentTimeline.setStyles([s],null,p.errors,l),or(this,i,p);const _=p.timelines.filter(y=>y.containsAnimation());if(_.length&&a.size){let y;for(let z=_.length-1;z>=0;z--){const E=_[z];if(E.element===e){y=E;break}}y&&!y.allowOnlyTimelineStyles()&&y.setStyles([a],null,p.errors,l)}return _.length?_.map(y=>y.buildKeyframes()):[Xv(e,[],[],[],0,b,"",!1)]}visitTrigger(n,e){}visitState(n,e){}visitTransition(n,e){}visitAnimateChild(n,e){const i=e.subInstructions.get(e.element);if(i){const o=e.createSubContext(n.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,o,o.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=n}visitAnimateRef(n,e){const i=e.createSubContext(n.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([n.options,n.animation.options],e,i),this.visitReference(n.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=n}_applyAnimationRefDelays(n,e,i){for(const o of n){const r=o?.delay;if(r){const s="number"==typeof r?r:qs(B2(r,o?.params??{},e.errors));i.delayNextStep(s)}}}_visitSubInstructions(n,e,i){let r=e.currentTimeline.currentTime;const s=null!=i.duration?qs(i.duration):null,a=null!=i.delay?qs(i.delay):null;return 0!==s&&n.forEach(l=>{const c=e.appendInstructionToTimeline(l,s,a);r=Math.max(r,c.duration+c.delay)}),r}visitReference(n,e){e.updateOptions(n.options,!0),or(this,n.animation,e),e.previousNode=n}visitSequence(n,e){const i=e.subContextCount;let o=e;const r=n.options;if(r&&(r.params||r.delay)&&(o=e.createSubContext(r),o.transformIntoNewTimeline(),null!=r.delay)){o.previousNode.type==ct.Style&&(o.currentTimeline.snapshotCurrentStyles(),o.previousNode=Jp);const s=qs(r.delay);o.delayNextStep(s)}n.steps.length&&(n.steps.forEach(s=>or(this,s,o)),o.currentTimeline.applyStylesToKeyframe(),o.subContextCount>i&&o.transformIntoNewTimeline()),e.previousNode=n}visitGroup(n,e){const i=[];let o=e.currentTimeline.currentTime;const r=n.options&&n.options.delay?qs(n.options.delay):0;n.steps.forEach(s=>{const a=e.createSubContext(n.options);r&&a.delayNextStep(r),or(this,s,a),o=Math.max(o,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(s=>e.currentTimeline.mergeTimelineCollectedStyles(s)),e.transformIntoNewTimeline(o),e.previousNode=n}_visitTiming(n,e){if(n.dynamic){const i=n.strValue;return Gp(e.params?B2(i,e.params,e.errors):i,e.errors)}return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,e){const i=e.currentAnimateTimings=this._visitTiming(n.timings,e),o=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),o.snapshotCurrentStyles());const r=n.style;r.type==ct.Keyframes?this.visitKeyframes(r,e):(e.incrementTime(i.duration),this.visitStyle(r,e),o.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=n}visitStyle(n,e){const i=e.currentTimeline,o=e.currentAnimateTimings;!o&&i.hasCurrentStyleProperties()&&i.forwardFrame();const r=o&&o.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(r):i.setStyles(n.styles,r,e.errors,e.options),e.previousNode=n}visitKeyframes(n,e){const i=e.currentAnimateTimings,o=e.currentTimeline.duration,r=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,n.styles.forEach(l=>{a.forwardTime((l.offset||0)*r),a.setStyles(l.styles,l.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(o+r),e.previousNode=n}visitQuery(n,e){const i=e.currentTimeline.currentTime,o=n.options||{},r=o.delay?qs(o.delay):0;r&&(e.previousNode.type===ct.Style||0==i&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=Jp);let s=i;const a=e.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!o.optional,e.errors);e.currentQueryTotal=a.length;let l=null;a.forEach((c,u)=>{e.currentQueryIndex=u;const p=e.createSubContext(n.options,c);r&&p.delayNextStep(r),c===e.element&&(l=p.currentTimeline),or(this,n.animation,p),p.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,p.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=n}visitStagger(n,e){const i=e.parentContext,o=e.currentTimeline,r=n.timings,s=Math.abs(r.duration),a=s*(e.currentQueryTotal-1);let l=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const u=e.currentTimeline;l&&u.delayNextStep(l);const p=u.currentTime;or(this,n.animation,e),e.previousNode=n,i.currentStaggerTime=o.currentTime-p+(o.startTime-i.currentTimeline.startTime)}}const Jp={};class t9{constructor(n,e,i,o,r,s,a,l){this._driver=n,this.element=e,this.subInstructions=i,this._enterClassName=o,this._leaveClassName=r,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Jp,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new Zp(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,e){if(!n)return;const i=n;let o=this.options;null!=i.duration&&(o.duration=qs(i.duration)),null!=i.delay&&(o.delay=qs(i.delay));const r=i.params;if(r){let s=o.params;s||(s=this.options.params={}),Object.keys(r).forEach(a=>{(!e||!s.hasOwnProperty(a))&&(s[a]=B2(r[a],s,this.errors))})}}_copyOptions(){const n={};if(this.options){const e=this.options.params;if(e){const i=n.params={};Object.keys(e).forEach(o=>{i[o]=e[o]})}}return n}createSubContext(n=null,e,i){const o=e||this.element,r=new t9(this._driver,o,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(o,i||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(n),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(n){return this.previousNode=Jp,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,e,i){const o={duration:e??n.duration,delay:this.currentTimeline.currentTime+(i??0)+n.delay,easing:""},r=new Ofe(this._driver,n.element,n.keyframes,n.preStyleProps,n.postStyleProps,o,n.stretchStartingKeyframe);return this.timelines.push(r),o}incrementTime(n){this.currentTimeline.forwardTime(this.currentTimeline.duration+n)}delayNextStep(n){n>0&&this.currentTimeline.delayNextStep(n)}invokeQuery(n,e,i,o,r,s){let a=[];if(o&&a.push(this.element),n.length>0){n=(n=n.replace(Efe,"."+this._enterClassName)).replace(kfe,"."+this._leaveClassName);let c=this._driver.query(this.element,n,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!r&&0==a.length&&s.push(function L8e(t){return new j(3014,!1)}()),a}}class Zp{constructor(n,e,i,o){this._driver=n,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=o,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(n){const e=1===this._keyframes.size&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+n),e&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,e){return this.applyStylesToKeyframe(),new Zp(this._driver,n,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(n){this.applyStylesToKeyframe(),this.duration=n,this._loadKeyframe()}_updateStyle(n,e){this._localTimelineStyles.set(n,e),this._globalTimelineStyles.set(n,e),this._styleSummary.set(n,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(n){n&&this._previousKeyframe.set("easing",n);for(let[e,i]of this._globalTimelineStyles)this._backFill.set(e,i||Bs),this._currentKeyframe.set(e,Bs);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,e,i,o){e&&this._previousKeyframe.set("easing",e);const r=o&&o.params||{},s=function Pfe(t,n){const e=new Map;let i;return t.forEach(o=>{if("*"===o){i??=n.keys();for(let r of i)e.set(r,Bs)}else for(let[r,s]of o)e.set(r,s)}),e}(n,this._globalTimelineStyles);for(let[a,l]of s){const c=B2(l,r,i);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Bs),this._updateStyle(a,c)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((n,e)=>{this._currentKeyframe.set(e,n)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((n,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,n)}))}snapshotCurrentStyles(){for(let[n,e]of this._localTimelineStyles)this._pendingStyles.set(n,e),this._updateStyle(n,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const n=[];for(let e in this._currentKeyframe)n.push(e);return n}mergeTimelineCollectedStyles(n){n._styleSummary.forEach((e,i)=>{const o=this._styleSummary.get(i);(!o||e.time>o.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();const n=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let o=[];this._keyframes.forEach((a,l)=>{const c=new Map([...this._backFill,...a]);c.forEach((u,p)=>{"!"===u?n.add(p):u===Bs&&e.add(p)}),i||c.set("offset",l/this.duration),o.push(c)});const r=[...n.values()],s=[...e.values()];if(i){const a=o[0],l=new Map(a);a.set("offset",0),l.set("offset",1),o=[a,l]}return Xv(this.element,o,r,s,this.duration,this.startTime,this.easing,!1)}}class Ofe extends Zp{constructor(n,e,i,o,r,s,a=!1){super(n,e,s.delay),this.keyframes=i,this.preStyleProps=o,this.postStyleProps=r,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:e,duration:i,easing:o}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=i+e,a=e/s,l=new Map(n[0]);l.set("offset",0),r.push(l);const c=new Map(n[0]);c.set("offset",HP(a)),r.push(c);const u=n.length-1;for(let p=1;p<=u;p++){let b=new Map(n[p]);const _=b.get("offset");b.set("offset",HP((e+_*i)/s)),r.push(b)}i=s,e=0,o="",n=r}return Xv(this.element,n,this.preStyleProps,this.postStyleProps,i,e,o,!0)}}function HP(t,n=3){const e=Math.pow(10,n-1);return Math.round(t*e)/e}function jP(t,n,e,i,o,r,s,a,l,c,u,p,b){return{type:0,element:t,triggerName:n,isRemovalTransition:o,fromState:e,fromStyles:r,toState:i,toStyles:s,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:p,errors:b}}const n9={};class YP{constructor(n,e,i){this._triggerName=n,this.ast=e,this._stateStyles=i}match(n,e,i,o){return function Vfe(t,n,e,i,o){return t.some(r=>r(n,e,i,o))}(this.ast.matchers,n,e,i,o)}buildStyles(n,e,i){let o=this._stateStyles.get("*");return void 0!==n&&(o=this._stateStyles.get(n?.toString())||o),o?o.buildStyles(e,i):new Map}build(n,e,i,o,r,s,a,l,c,u){const p=[],b=this.ast.options&&this.ast.options.params||n9,y=this.buildStyles(i,a&&a.params||n9,p),z=l&&l.params||n9,E=this.buildStyles(o,z,p),x=new Set,k=new Map,ie=new Map,pe="void"===o,De={params:UP(z,b),delay:this.ast.options?.delay},qe=u?[]:e9(n,e,this.ast.animation,r,s,y,E,De,c,p);let dt=0;return qe.forEach(Ht=>{dt=Math.max(Ht.duration+Ht.delay,dt)}),p.length?jP(e,this._triggerName,i,o,pe,y,E,[],[],k,ie,dt,p):(qe.forEach(Ht=>{const zt=Ht.element,Pn=ir(k,zt,new Set);Ht.preStyleProps.forEach(Kn=>Pn.add(Kn));const so=ir(ie,zt,new Set);Ht.postStyleProps.forEach(Kn=>so.add(Kn)),zt!==e&&x.add(zt)}),jP(e,this._triggerName,i,o,pe,y,E,qe,[...x.values()],k,ie,dt))}}function UP(t,n){const e={...n};return Object.entries(t).forEach(([i,o])=>{null!=o&&(e[i]=o)}),e}class Nfe{constructor(n,e,i){this.styles=n,this.defaultParams=e,this.normalizer=i}buildStyles(n,e){const i=new Map,o=UP(n,this.defaultParams);return this.styles.styles.forEach(r=>{"string"!=typeof r&&r.forEach((s,a)=>{s&&(s=B2(s,o,e));const l=this.normalizer.normalizePropertyName(a,e);s=this.normalizer.normalizeStyleValue(a,l,s,e),i.set(a,s)})}),i}}class Rfe{constructor(n,e,i){this.name=n,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states=new Map,e.states.forEach(o=>{this.states.set(o.name,new Nfe(o.style,o.options&&o.options.params||{},i))}),WP(this.states,"true","1"),WP(this.states,"false","0"),e.transitions.forEach(o=>{this.transitionFactories.push(new YP(n,o,this.states))}),this.fallbackTransition=function Lfe(t,n,e){return new YP(t,{type:ct.Transition,animation:{type:ct.Sequence,steps:[],options:null},matchers:[(s,a)=>!0],options:null,queryCount:0,depCount:0},n)}(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,e,i,o){return this.transitionFactories.find(s=>s.match(n,e,i,o))||null}matchStyles(n,e,i){return this.fallbackTransition.buildStyles(n,e,i)}}function WP(t,n,e){t.has(n)?t.has(e)||t.set(e,t.get(n)):t.has(e)&&t.set(n,t.get(e))}const Bfe=new $p;class Hfe{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(n,e){const i=[],r=Jv(this._driver,e,i,[]);if(i.length)throw function G8e(t){return new j(3503,!1)}();this._animations.set(n,r)}_buildPlayer(n,e,i){const o=n.element,r=DP(this._normalizer,n.keyframes,e,i);return this._driver.animate(o,r,n.duration,n.delay,n.easing,[],!0)}create(n,e,i={}){const o=[],r=this._animations.get(n);let s;const a=new Map;if(r?(s=e9(this._driver,e,r,Wv,Yp,new Map,new Map,i,Bfe,o),s.forEach(u=>{const p=ir(a,u.element,new Map);u.postStyleProps.forEach(b=>p.set(b,null))})):(o.push(function q8e(){return new j(3300,!1)}()),s=[]),o.length)throw function Q8e(t){return new j(3504,!1)}();a.forEach((u,p)=>{u.forEach((b,_)=>{u.set(_,this._driver.computeStyle(p,_,Bs))})});const c=Da(s.map(u=>{const p=a.get(u.element);return this._buildPlayer(u,new Map,p)}));return this._playersById.set(n,c),c.onDestroy(()=>this.destroy(n)),this.players.push(c),c}destroy(n){const e=this._getPlayer(n);e.destroy(),this._playersById.delete(n);const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(n){const e=this._playersById.get(n);if(!e)throw function K8e(t){return new j(3301,!1)}();return e}listen(n,e,i,o){const r=Bv(e,"","","");return Rv(this._getPlayer(n),i,r,o),()=>{}}command(n,e,i,o){if("register"==i)return void this.register(n,o[0]);if("create"==i)return void this.create(n,e,o[0]||{});const r=this._getPlayer(n);switch(i){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(o[0]));break;case"destroy":this.destroy(n)}}}const GP="ng-animate-queued",i9="ng-animate-disabled",Gfe=[],qP={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},qfe={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},$r="__ng_removed";class o9{get params(){return this.options.params}constructor(n,e=""){this.namespaceId=e;const i=n&&n.hasOwnProperty("value");if(this.value=function Jfe(t){return t??null}(i?n.value:n),i){const{value:r,...s}=n;this.options=s}else this.options={};this.options.params||(this.options.params={})}absorbOptions(n){const e=n.params;if(e){const i=this.options.params;Object.keys(e).forEach(o=>{null==i[o]&&(i[o]=e[o])})}}}const H2="void",r9=new o9(H2);class Qfe{constructor(n,e,i){this.id=n,this.hostElement=e,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+n,Cr(e,this._hostClassName)}listen(n,e,i,o){if(!this._triggers.has(e))throw function $8e(t,n){return new j(3302,!1)}();if(null==i||0==i.length)throw function J8e(t){return new j(3303,!1)}();if(!function Zfe(t){return"start"==t||"done"==t}(i))throw function Z8e(t,n){return new j(3400,!1)}();const r=ir(this._elementListeners,n,[]),s={name:e,phase:i,callback:o};r.push(s);const a=ir(this._engine.statesByElement,n,new Map);return a.has(e)||(Cr(n,Up),Cr(n,Up+"-"+e),a.set(e,r9)),()=>{this._engine.afterFlush(()=>{const l=r.indexOf(s);l>=0&&r.splice(l,1),this._triggers.has(e)||a.delete(e)})}}register(n,e){return!this._triggers.has(n)&&(this._triggers.set(n,e),!0)}_getTrigger(n){const e=this._triggers.get(n);if(!e)throw function X8e(t){return new j(3401,!1)}();return e}trigger(n,e,i,o=!0){const r=this._getTrigger(e),s=new s9(this.id,e,n);let a=this._engine.statesByElement.get(n);a||(Cr(n,Up),Cr(n,Up+"-"+e),this._engine.statesByElement.set(n,a=new Map));let l=a.get(e);const c=new o9(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(e,c),l||(l=r9),c.value!==H2&&l.value===c.value){if(!function tme(t,n){const e=Object.keys(t),i=Object.keys(n);if(e.length!=i.length)return!1;for(let o=0;o{Yl(n,E),bs(n,x)})}return}const b=ir(this._engine.playersByElement,n,[]);b.forEach(z=>{z.namespaceId==this.id&&z.triggerName==e&&z.queued&&z.destroy()});let _=r.matchTransition(l.value,c.value,n,c.params),y=!1;if(!_){if(!o)return;_=r.fallbackTransition,y=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:e,transition:_,fromState:l,toState:c,player:s,isFallbackTransition:y}),y||(Cr(n,GP),s.onStart(()=>{G1(n,GP)})),s.onDone(()=>{let z=this.players.indexOf(s);z>=0&&this.players.splice(z,1);const E=this._engine.playersByElement.get(n);if(E){let x=E.indexOf(s);x>=0&&E.splice(x,1)}}),this.players.push(s),b.push(s),s}deregister(n){this._triggers.delete(n),this._engine.statesByElement.forEach(e=>e.delete(n)),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(o=>o.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);const e=this._engine.playersByElement.get(n);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,e){const i=this._engine.driver.query(n,Wp,!0);i.forEach(o=>{if(o[$r])return;const r=this._engine.fetchNamespacesByElement(o);r.size?r.forEach(s=>s.triggerLeaveAnimation(o,e,!1,!0)):this.clearElementCache(o)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(o=>this.clearElementCache(o)))}triggerLeaveAnimation(n,e,i,o){const r=this._engine.statesByElement.get(n),s=new Map;if(r){const a=[];if(r.forEach((l,c)=>{if(s.set(c,l.value),this._triggers.has(c)){const u=this.trigger(n,c,H2,o);u&&a.push(u)}}),a.length)return this._engine.markElementAsRemoved(this.id,n,!0,e,s),i&&Da(a).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){const e=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(e&&i){const o=new Set;e.forEach(r=>{const s=r.name;if(o.has(s))return;o.add(s);const l=this._triggers.get(s).fallbackTransition,c=i.get(s)||r9,u=new o9(H2),p=new s9(this.id,s,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:s,transition:l,fromState:c,toState:u,player:p,isFallbackTransition:!0})})}}removeNode(n,e){const i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,e),this.triggerLeaveAnimation(n,e,!0))return;let o=!1;if(i.totalAnimations){const r=i.players.length?i.playersByQueriedElement.get(n):[];if(r&&r.length)o=!0;else{let s=n;for(;s=s.parentNode;)if(i.statesByElement.get(s)){o=!0;break}}}if(this.prepareLeaveAnimationListeners(n),o)i.markElementAsRemoved(this.id,n,!1,e);else{const r=n[$r];(!r||r===qP)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,e))}}insertNode(n,e){Cr(n,this._hostClassName)}drainQueuedTransitions(n){const e=[];return this._queue.forEach(i=>{const o=i.player;if(o.destroyed)return;const r=i.element,s=this._elementListeners.get(r);s&&s.forEach(a=>{if(a.name==i.triggerName){const l=Bv(r,i.triggerName,i.fromState.value,i.toState.value);l._data=n,Rv(i.player,a.phase,l,a.callback)}}),o.markedForDestroy?this._engine.afterFlush(()=>{o.destroy()}):e.push(i)}),this._queue=[],e.sort((i,o)=>{const r=i.transition.ast.depCount,s=o.transition.ast.depCount;return 0==r||0==s?r-s:this._engine.driver.containsElement(i.element,o.element)?1:-1})}destroy(n){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}}class Kfe{_onRemovalComplete(n,e){this.onRemovalComplete(n,e)}constructor(n,e,i){this.bodyNode=n,this.driver=e,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(o,r)=>{}}get queuedPlayers(){const n=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,e){const i=new Qfe(n,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[n]=i}_balanceNamespaceList(n,e){const i=this._namespaceList,o=this.namespacesByHostElement;if(i.length-1>=0){let s=!1,a=this.driver.getParentElement(e);for(;a;){const l=o.get(a);if(l){const c=i.indexOf(l);i.splice(c+1,0,n),s=!0;break}a=this.driver.getParentElement(a)}s||i.unshift(n)}else i.push(n);return o.set(e,n),n}register(n,e){let i=this._namespaceLookup[n];return i||(i=this.createNamespace(n,e)),i}registerTrigger(n,e,i){let o=this._namespaceLookup[n];o&&o.register(e,i)&&this.totalAnimations++}destroy(n,e){n&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const i=this._fetchNamespace(n);this.namespacesByHostElement.delete(i.hostElement);const o=this._namespaceList.indexOf(i);o>=0&&this._namespaceList.splice(o,1),i.destroy(e),delete this._namespaceLookup[n]}))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){const e=new Set,i=this.statesByElement.get(n);if(i)for(let o of i.values())if(o.namespaceId){const r=this._fetchNamespace(o.namespaceId);r&&e.add(r)}return e}trigger(n,e,i,o){if(Xp(e)){const r=this._fetchNamespace(n);if(r)return r.trigger(e,i,o),!0}return!1}insertNode(n,e,i,o){if(!Xp(e))return;const r=e[$r];if(r&&r.setForRemoval){r.setForRemoval=!1,r.setForMove=!0;const s=this.collectedLeaveElements.indexOf(e);s>=0&&this.collectedLeaveElements.splice(s,1)}if(n){const s=this._fetchNamespace(n);s&&s.insertNode(e,i)}o&&this.collectEnterElement(e)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,e){e?this.disabledNodes.has(n)||(this.disabledNodes.add(n),Cr(n,i9)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),G1(n,i9))}removeNode(n,e,i){if(Xp(e)){const o=n?this._fetchNamespace(n):null;o?o.removeNode(e,i):this.markElementAsRemoved(n,e,!1,i);const r=this.namespacesByHostElement.get(e);r&&r.id!==n&&r.removeNode(e,i)}else this._onRemovalComplete(e,i)}markElementAsRemoved(n,e,i,o,r){this.collectedLeaveElements.push(e),e[$r]={namespaceId:n,setForRemoval:o,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:r}}listen(n,e,i,o,r){return Xp(e)?this._fetchNamespace(n).listen(e,i,o,r):()=>{}}_buildInstruction(n,e,i,o,r){return n.transition.build(this.driver,n.element,n.fromState.value,n.toState.value,i,o,n.fromState.options,n.toState.options,e,r)}destroyInnerAnimations(n){let e=this.driver.query(n,Wp,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(n,Gv,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){const e=this.playersByElement.get(n);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){const e=this.playersByQueriedElement.get(n);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return Da(this.players).onDone(()=>n());n()})}processLeaveNode(n){const e=n[$r];if(e&&e.setForRemoval){if(n[$r]=qP,e.namespaceId){this.destroyInnerAnimations(n);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(n)}this._onRemovalComplete(n,e.setForRemoval)}n.classList?.contains(i9)&&this.markElementAsDisabled(n,!1),this.driver.query(n,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(n=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,o)=>this._balanceNamespaceList(i,o)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?Da(e).onDone(()=>{i.forEach(o=>o())}):i.forEach(o=>o())}}reportError(n){throw function efe(t){return new j(3402,!1)}()}_flushAnimations(n,e){const i=new $p,o=[],r=new Map,s=[],a=new Map,l=new Map,c=new Map,u=new Set;this.disabledNodes.forEach(Oe=>{u.add(Oe);const $e=this.driver.query(Oe,".ng-animate-queued",!0);for(let tt=0;tt<$e.length;tt++)u.add($e[tt])});const p=this.bodyNode,b=Array.from(this.statesByElement.keys()),_=$P(b,this.collectedEnterElements),y=new Map;let z=0;_.forEach((Oe,$e)=>{const tt=Wv+z++;y.set($e,tt),Oe.forEach($t=>Cr($t,tt))});const E=[],x=new Set,k=new Set;for(let Oe=0;Oex.add($t)):k.add($e))}const ie=new Map,pe=$P(b,Array.from(x));pe.forEach((Oe,$e)=>{const tt=Yp+z++;ie.set($e,tt),Oe.forEach($t=>Cr($t,tt))}),n.push(()=>{_.forEach((Oe,$e)=>{const tt=y.get($e);Oe.forEach($t=>G1($t,tt))}),pe.forEach((Oe,$e)=>{const tt=ie.get($e);Oe.forEach($t=>G1($t,tt))}),E.forEach(Oe=>{this.processLeaveNode(Oe)})});const De=[],qe=[];for(let Oe=this._namespaceList.length-1;Oe>=0;Oe--)this._namespaceList[Oe].drainQueuedTransitions(e).forEach(tt=>{const $t=tt.player,gi=tt.element;if(De.push($t),this.collectedEnterElements.length){const ao=gi[$r];if(ao&&ao.setForMove){if(ao.previousTriggersValues&&ao.previousTriggersValues.has(tt.triggerName)){const Wl=ao.previousTriggersValues.get(tt.triggerName),zr=this.statesByElement.get(tt.element);if(zr&&zr.has(tt.triggerName)){const t6=zr.get(tt.triggerName);t6.value=Wl,zr.set(tt.triggerName,t6)}}return void $t.destroy()}}const _s=!p||!this.driver.containsElement(p,gi),lr=ie.get(gi),Ea=y.get(gi),Wn=this._buildInstruction(tt,i,Ea,lr,_s);if(Wn.errors&&Wn.errors.length)return void qe.push(Wn);if(_s)return $t.onStart(()=>Yl(gi,Wn.fromStyles)),$t.onDestroy(()=>bs(gi,Wn.toStyles)),void o.push($t);if(tt.isFallbackTransition)return $t.onStart(()=>Yl(gi,Wn.fromStyles)),$t.onDestroy(()=>bs(gi,Wn.toStyles)),void o.push($t);const aV=[];Wn.timelines.forEach(ao=>{ao.stretchStartingKeyframe=!0,this.disabledNodes.has(ao.element)||aV.push(ao)}),Wn.timelines=aV,i.append(gi,Wn.timelines),s.push({instruction:Wn,player:$t,element:gi}),Wn.queriedElements.forEach(ao=>ir(a,ao,[]).push($t)),Wn.preStyleProps.forEach((ao,Wl)=>{if(ao.size){let zr=l.get(Wl);zr||l.set(Wl,zr=new Set),ao.forEach((t6,c9)=>zr.add(c9))}}),Wn.postStyleProps.forEach((ao,Wl)=>{let zr=c.get(Wl);zr||c.set(Wl,zr=new Set),ao.forEach((t6,c9)=>zr.add(c9))})});if(qe.length){const Oe=[];qe.forEach($e=>{Oe.push(function tfe(t,n){return new j(3505,!1)}())}),De.forEach($e=>$e.destroy()),this.reportError(Oe)}const dt=new Map,Ht=new Map;s.forEach(Oe=>{const $e=Oe.element;i.has($e)&&(Ht.set($e,$e),this._beforeAnimationBuild(Oe.player.namespaceId,Oe.instruction,dt))}),o.forEach(Oe=>{const $e=Oe.element;this._getPreviousPlayers($e,!1,Oe.namespaceId,Oe.triggerName,null).forEach($t=>{ir(dt,$e,[]).push($t),$t.destroy()})});const zt=E.filter(Oe=>ZP(Oe,l,c)),Pn=new Map;KP(Pn,this.driver,k,c,Bs).forEach(Oe=>{ZP(Oe,l,c)&&zt.push(Oe)});const Kn=new Map;_.forEach((Oe,$e)=>{KP(Kn,this.driver,new Set(Oe),l,"!")}),zt.forEach(Oe=>{const $e=Pn.get(Oe),tt=Kn.get(Oe);Pn.set(Oe,new Map([...$e?.entries()??[],...tt?.entries()??[]]))});const rr=[],sr=[],ar={};s.forEach(Oe=>{const{element:$e,player:tt,instruction:$t}=Oe;if(i.has($e)){if(u.has($e))return tt.onDestroy(()=>bs($e,$t.toStyles)),tt.disabled=!0,tt.overrideTotalTime($t.totalTime),void o.push(tt);let gi=ar;if(Ht.size>1){let lr=$e;const Ea=[];for(;lr=lr.parentNode;){const Wn=Ht.get(lr);if(Wn){gi=Wn;break}Ea.push(lr)}Ea.forEach(Wn=>Ht.set(Wn,gi))}const _s=this._buildAnimation(tt.namespaceId,$t,dt,r,Kn,Pn);if(tt.setRealPlayer(_s),gi===ar)rr.push(tt);else{const lr=this.playersByElement.get(gi);lr&&lr.length&&(tt.parentPlayer=Da(lr)),o.push(tt)}}else Yl($e,$t.fromStyles),tt.onDestroy(()=>bs($e,$t.toStyles)),sr.push(tt),u.has($e)&&o.push(tt)}),sr.forEach(Oe=>{const $e=r.get(Oe.element);if($e&&$e.length){const tt=Da($e);Oe.setRealPlayer(tt)}}),o.forEach(Oe=>{Oe.parentPlayer?Oe.syncPlayerEvents(Oe.parentPlayer):Oe.destroy()});for(let Oe=0;Oe!_s.destroyed);gi.length?Xfe(this,$e,gi):this.processLeaveNode($e)}return E.length=0,rr.forEach(Oe=>{this.players.push(Oe),Oe.onDone(()=>{Oe.destroy();const $e=this.players.indexOf(Oe);this.players.splice($e,1)}),Oe.play()}),rr}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,e,i,o,r){let s=[];if(e){const a=this.playersByQueriedElement.get(n);a&&(s=a)}else{const a=this.playersByElement.get(n);if(a){const l=!r||r==H2;a.forEach(c=>{c.queued||!l&&c.triggerName!=o||s.push(c)})}}return(i||o)&&(s=s.filter(a=>!(i&&i!=a.namespaceId||o&&o!=a.triggerName))),s}_beforeAnimationBuild(n,e,i){const r=e.element,s=e.isRemovalTransition?void 0:n,a=e.isRemovalTransition?void 0:e.triggerName;for(const l of e.timelines){const c=l.element,u=c!==r,p=ir(i,c,[]);this._getPreviousPlayers(c,u,s,a,e.toState).forEach(_=>{const y=_.getRealPlayer();y.beforeDestroy&&y.beforeDestroy(),_.destroy(),p.push(_)})}Yl(r,e.fromStyles)}_buildAnimation(n,e,i,o,r,s){const a=e.triggerName,l=e.element,c=[],u=new Set,p=new Set,b=e.timelines.map(y=>{const z=y.element;u.add(z);const E=z[$r];if(E&&E.removedBeforeQueried)return new e2(y.duration,y.delay);const x=z!==l,k=function eme(t){const n=[];return JP(t,n),n}((i.get(z)||Gfe).map(dt=>dt.getRealPlayer())).filter(dt=>!!dt.element&&dt.element===z),ie=r.get(z),pe=s.get(z),De=DP(this._normalizer,y.keyframes,ie,pe),qe=this._buildPlayer(y,De,k);if(y.subTimeline&&o&&p.add(z),x){const dt=new s9(n,a,z);dt.setRealPlayer(qe),c.push(dt)}return qe});c.forEach(y=>{ir(this.playersByQueriedElement,y.element,[]).push(y),y.onDone(()=>function $fe(t,n,e){let i=t.get(n);if(i){if(i.length){const o=i.indexOf(e);i.splice(o,1)}0==i.length&&t.delete(n)}return i}(this.playersByQueriedElement,y.element,y))}),u.forEach(y=>Cr(y,PP));const _=Da(b);return _.onDestroy(()=>{u.forEach(y=>G1(y,PP)),bs(l,e.toStyles)}),p.forEach(y=>{ir(o,y,[]).push(_)}),_}_buildPlayer(n,e,i){return e.length>0?this.driver.animate(n.element,e,n.duration,n.delay,n.easing,i):new e2(n.duration,n.delay)}}class s9{constructor(n,e,i){this.namespaceId=n,this.triggerName=e,this.element=i,this._player=new e2,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(n){this._containsRealPlayer||(this._player=n,this._queuedCallbacks.forEach((e,i)=>{e.forEach(o=>Rv(n,i,void 0,o))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(n.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(n){this.totalTime=n}syncPlayerEvents(n){const e=this._player;e.triggerCallback&&n.onStart(()=>e.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,e){ir(this._queuedCallbacks,n,[]).push(e)}onDone(n){this.queued&&this._queueEvent("done",n),this._player.onDone(n)}onStart(n){this.queued&&this._queueEvent("start",n),this._player.onStart(n)}onDestroy(n){this.queued&&this._queueEvent("destroy",n),this._player.onDestroy(n)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(n){this.queued||this._player.setPosition(n)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(n){const e=this._player;e.triggerCallback&&e.triggerCallback(n)}}function Xp(t){return t&&1===t.nodeType}function QP(t,n){const e=t.style.display;return t.style.display=n??"none",e}function KP(t,n,e,i,o){const r=[];e.forEach(l=>r.push(QP(l)));const s=[];i.forEach((l,c)=>{const u=new Map;l.forEach(p=>{const b=n.computeStyle(c,p,o);u.set(p,b),(!b||0==b.length)&&(c[$r]=qfe,s.push(c))}),t.set(c,u)});let a=0;return e.forEach(l=>QP(l,r[a++])),s}function $P(t,n){const e=new Map;if(t.forEach(a=>e.set(a,[])),0==n.length)return e;const o=new Set(n),r=new Map;function s(a){if(!a)return 1;let l=r.get(a);if(l)return l;const c=a.parentNode;return l=e.has(c)?c:o.has(c)?1:s(c),r.set(a,l),l}return n.forEach(a=>{const l=s(a);1!==l&&e.get(l).push(a)}),e}function Cr(t,n){t.classList?.add(n)}function G1(t,n){t.classList?.remove(n)}function Xfe(t,n,e){Da(e).onDone(()=>t.processLeaveNode(n))}function JP(t,n){for(let e=0;eo.add(r)):n.set(t,i),e.delete(t),!0}class j2{constructor(n,e,i){this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(o,r)=>{},this._transitionEngine=new Kfe(n.body,e,i),this._timelineEngine=new Hfe(n.body,e,i),this._transitionEngine.onRemovalComplete=(o,r)=>this.onRemovalComplete(o,r)}registerTrigger(n,e,i,o,r){const s=n+"-"+o;let a=this._triggerCache[s];if(!a){const l=[],u=Jv(this._driver,r,l,[]);if(l.length)throw function U8e(t,n){return new j(3404,!1)}();a=function Ffe(t,n,e){return new Rfe(t,n,e)}(o,u,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,o,a)}register(n,e){this._transitionEngine.register(n,e)}destroy(n,e){this._transitionEngine.destroy(n,e)}onInsert(n,e,i,o){this._transitionEngine.insertNode(n,e,i,o)}onRemove(n,e,i){this._transitionEngine.removeNode(n,e,i)}disableAnimations(n,e){this._transitionEngine.markElementAsDisabled(n,e)}process(n,e,i,o){if("@"==i.charAt(0)){const[r,s]=EP(i);this._timelineEngine.command(r,e,s,o)}else this._transitionEngine.trigger(n,e,i,o)}listen(n,e,i,o,r){if("@"==i.charAt(0)){const[s,a]=EP(i);return this._timelineEngine.listen(s,e,a,r)}return this._transitionEngine.listen(n,e,i,o,r)}flush(n=-1){this._transitionEngine.flush(n)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(n){this._transitionEngine.afterFlushAnimationsDone(n)}}class Y2{static#e=this.initialStylesByElement=new WeakMap;constructor(n,e,i){this._element=n,this._startStyles=e,this._endStyles=i,this._state=0;let o=Y2.initialStylesByElement.get(n);o||Y2.initialStylesByElement.set(n,o=new Map),this._initialStyles=o}start(){this._state<1&&(this._startStyles&&bs(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(bs(this._element,this._initialStyles),this._endStyles&&(bs(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Y2.initialStylesByElement.delete(this._element),this._startStyles&&(Yl(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Yl(this._element,this._endStyles),this._endStyles=null),bs(this._element,this._initialStyles),this._state=3)}}function a9(t){let n=null;return t.forEach((e,i)=>{(function ime(t){return"display"===t||"position"===t})(i)&&(n=n||new Map,n.set(i,e))}),n}class XP{constructor(n,e,i,o){this.element=n,this.keyframes=e,this.options=i,this._specialStyles=o,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const n=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,n,this.options),this._finalKeyframe=n.length?n[n.length-1]:new Map;const e=()=>this._onFinish();this.domPlayer.addEventListener("finish",e),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",e)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(n){const e=[];return n.forEach(i=>{e.push(Object.fromEntries(i))}),e}_triggerWebAnimation(n,e,i){return n.animate(this._convertKeyframesToObject(e),i)}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(n=>n()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}setPosition(n){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=n*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const n=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,o)=>{"offset"!==o&&n.set(o,this._finished?i:$v(this.element,o))}),this.currentSnapshot=n}triggerCallback(n){const e="start"===n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class eV{validateStyleProperty(n){return!0}validateAnimatableStyleProperty(n){return!0}containsElement(n,e){return kP(n,e)}getParentElement(n){return Hv(n)}query(n,e,i){return IP(n,e,i)}computeStyle(n,e,i){return $v(n,e)}animate(n,e,i,o,r,s=[]){const l={duration:i,delay:o,fill:0==o?"both":"forwards"};r&&(l.easing=r);const c=new Map,u=s.filter(_=>_ instanceof XP);(function ffe(t,n){return 0===t||0===n})(i,o)&&u.forEach(_=>{_.currentSnapshot.forEach((y,z)=>c.set(z,y))});let p=function ufe(t){return t.length?t[0]instanceof Map?t:t.map(n=>new Map(Object.entries(n))):[]}(e).map(_=>new Map(_));p=function mfe(t,n,e){if(e.size&&n.length){let i=n[0],o=[];if(e.forEach((r,s)=>{i.has(s)||o.push(s),i.set(s,r)}),o.length)for(let r=1;rs.set(a,$v(t,a)))}}return n}(n,p,c);const b=function nme(t,n){let e=null,i=null;return Array.isArray(n)&&n.length?(e=a9(n[0]),n.length>1&&(i=a9(n[n.length-1]))):n instanceof Map&&(e=a9(n)),e||i?new Y2(t,e,i):null}(n,p);return new XP(n,p,l,b)}}const tV="@.disabled";class nV{constructor(n,e,i,o){this.namespaceId=n,this.delegate=e,this.engine=i,this._onDestroy=o,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(n){this.delegate.destroyNode?.(n)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(n,e){return this.delegate.createElement(n,e)}createComment(n){return this.delegate.createComment(n)}createText(n){return this.delegate.createText(n)}appendChild(n,e){this.delegate.appendChild(n,e),this.engine.onInsert(this.namespaceId,e,n,!1)}insertBefore(n,e,i,o=!0){this.delegate.insertBefore(n,e,i),this.engine.onInsert(this.namespaceId,e,n,o)}removeChild(n,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate)}selectRootElement(n,e){return this.delegate.selectRootElement(n,e)}parentNode(n){return this.delegate.parentNode(n)}nextSibling(n){return this.delegate.nextSibling(n)}setAttribute(n,e,i,o){this.delegate.setAttribute(n,e,i,o)}removeAttribute(n,e,i){this.delegate.removeAttribute(n,e,i)}addClass(n,e){this.delegate.addClass(n,e)}removeClass(n,e){this.delegate.removeClass(n,e)}setStyle(n,e,i,o){this.delegate.setStyle(n,e,i,o)}removeStyle(n,e,i){this.delegate.removeStyle(n,e,i)}setProperty(n,e,i){"@"==e.charAt(0)&&e==tV?this.disableAnimations(n,!!i):this.delegate.setProperty(n,e,i)}setValue(n,e){this.delegate.setValue(n,e)}listen(n,e,i){return this.delegate.listen(n,e,i)}disableAnimations(n,e){this.engine.disableAnimations(n,e)}}class ome extends nV{constructor(n,e,i,o,r){super(e,i,o,r),this.factory=n,this.namespaceId=e}setProperty(n,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==tV?this.disableAnimations(n,i=void 0===i||!!i):this.engine.process(this.namespaceId,n,e.slice(1),i):this.delegate.setProperty(n,e,i)}listen(n,e,i){if("@"==e.charAt(0)){const o=function rme(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(n);let r=e.slice(1),s="";return"@"!=r.charAt(0)&&([r,s]=function sme(t){const n=t.indexOf(".");return[t.substring(0,n),t.slice(n+1)]}(r)),this.engine.listen(this.namespaceId,o,r,s,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(n,e,i)}}class ame{constructor(n,e,i){this.delegate=n,this.engine=e,this._zone=i,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,e.onRemovalComplete=(o,r)=>{const s=r?.parentNode(o);s&&r.removeChild(s,o)}}createRenderer(n,e){const o=this.delegate.createRenderer(n,e);if(!n||!e?.data?.animation){const c=this._rendererCache;let u=c.get(o);return u||(u=new nV("",o,this.engine,()=>c.delete(o)),c.set(o,u)),u}const r=e.id,s=e.id+"-"+this._currentId;this._currentId++,this.engine.register(s,n);const a=c=>{Array.isArray(c)?c.forEach(a):this.engine.registerTrigger(r,s,n,c.name,c)};return e.data.animation.forEach(a),new ome(this,s,o,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(n,e,i){if(n>=0&&ne(i));const o=this._animationCallbacksBuffer;0==o.length&&queueMicrotask(()=>{this._zone.run(()=>{o.forEach(r=>{const[s,a]=r;s(a)}),this._animationCallbacksBuffer=[]})}),o.push([e,i])}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}let lme=(()=>{class t extends j2{constructor(e,i,o){super(e,i,o)}ngOnDestroy(){this.flush()}static#e=this.\u0275fac=function(i){return new(i||t)(R(Pt),R(Yv),R(Uv))};static#t=this.\u0275prov=ae({token:t,factory:t.\u0275fac})}return t})();const iV=[{provide:Uv,useFactory:function cme(){return new FP}},{provide:j2,useClass:lme},{provide:Za,useFactory:function dme(t,n,e){return new ame(t,n,e)},deps:[ig,j2,Me]}],l9=[{provide:Yv,useFactory:()=>new eV},{provide:ta,useValue:"BrowserAnimations"},...iV],oV=[{provide:Yv,useClass:jv},{provide:ta,useValue:"NoopAnimations"},...iV];let ume=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?oV:l9}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({providers:l9,imports:[sg]})}return t})();const hme=["nzType","avatar"],pme=["*"];function fme(t,n){if(1&t&&(f(0,"div",5),A(1,"nz-skeleton-element",6),m()),2&t){const e=g(2);d(),h("nzSize",e.avatar.size||"default")("nzShape",e.avatar.shape||"circle")}}function mme(t,n){if(1&t&&A(0,"h3",7),2&t){const e=g(2);Lt("width",e.toCSSUnit(e.title.width))}}function gme(t,n){if(1&t&&A(0,"li"),2&t){const e=n.index,i=g(3);Lt("width",i.toCSSUnit(i.widthList[e]))}}function vme(t,n){if(1&t&&(f(0,"ul",8),C(1,gme,1,2,"li",9),m()),2&t){const e=g(2);d(),h("ngForOf",e.rowsList)}}function bme(t,n){if(1&t&&(Ye(0),C(1,fme,2,2,"div",1),f(2,"div",2),C(3,mme,1,2,"h3",3)(4,vme,2,1,"ul",4),m(),Ue()),2&t){const e=g();d(),h("ngIf",!!e.nzAvatar),d(2),h("ngIf",!!e.nzTitle),d(),h("ngIf",!!e.nzParagraph)}}function _me(t,n){1&t&&(Ye(0),_t(1),Ue())}let yme=(()=>{class t{constructor(){this.nzActive=!1,this.nzBlock=!1}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["nz-skeleton-element"]],hostAttrs:[1,"ant-skeleton","ant-skeleton-element"],hostVars:4,hostBindings:function(i,o){2&i&&Z("ant-skeleton-active",o.nzActive)("ant-skeleton-block",o.nzBlock)},inputs:{nzActive:[2,"nzActive","nzActive",I],nzType:"nzType",nzBlock:[2,"nzBlock","nzBlock",I]},standalone:!0,features:[je]})}return t})(),wme=(()=>{class t{constructor(){this.nzShape="circle",this.nzSize="default",this.styleMap={}}ngOnChanges(e){if(e.nzSize&&"number"==typeof this.nzSize){const i=`${this.nzSize}px`;this.styleMap={width:i,height:i,"line-height":i}}else this.styleMap={}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-skeleton-element","nzType","avatar"]],inputs:{nzShape:"nzShape",nzSize:"nzSize"},standalone:!0,features:[xe,me],attrs:hme,decls:1,vars:9,consts:[[1,"ant-skeleton-avatar",3,"ngStyle"]],template:function(i,o){1&i&&A(0,"span",0),2&i&&(Z("ant-skeleton-avatar-square","square"===o.nzShape)("ant-skeleton-avatar-circle","circle"===o.nzShape)("ant-skeleton-avatar-lg","large"===o.nzSize)("ant-skeleton-avatar-sm","small"===o.nzSize),h("ngStyle",o.styleMap))},dependencies:[ti],encapsulation:2,changeDetection:0})}return t})(),Cme=(()=>{class t{constructor(e){this.cdr=e,this.nzActive=!1,this.nzLoading=!0,this.nzRound=!1,this.nzTitle=!0,this.nzAvatar=!1,this.nzParagraph=!0,this.rowsList=[],this.widthList=[]}toCSSUnit(e=""){return M1(e)}getTitleProps(){const e=!!this.nzAvatar,i=!!this.nzParagraph;let o="";return!e&&i?o="38%":e&&i&&(o="50%"),{width:o,...this.getProps(this.nzTitle)}}getAvatarProps(){return{shape:this.nzTitle&&!this.nzParagraph?"square":"circle",size:"large",...this.getProps(this.nzAvatar)}}getParagraphProps(){const e=!!this.nzAvatar,i=!!this.nzTitle,o={};return(!e||!i)&&(o.width="61%"),o.rows=!e&&i?3:2,{...o,...this.getProps(this.nzParagraph)}}getProps(e){return e&&"object"==typeof e?e:{}}getWidthList(){const{width:e,rows:i}=this.paragraph;let o=[];return e&&Array.isArray(e)?o=e:e&&!Array.isArray(e)&&(o=[],o[i-1]=e),o}updateProps(){this.title=this.getTitleProps(),this.avatar=this.getAvatarProps(),this.paragraph=this.getParagraphProps(),this.rowsList=[...Array(this.paragraph.rows)],this.widthList=this.getWidthList(),this.cdr.markForCheck()}ngOnInit(){this.updateProps()}ngOnChanges(e){(e.nzTitle||e.nzAvatar||e.nzParagraph)&&this.updateProps()}static#e=this.\u0275fac=function(i){return new(i||t)(v(We))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-skeleton"]],hostAttrs:[1,"ant-skeleton"],hostVars:6,hostBindings:function(i,o){2&i&&Z("ant-skeleton-with-avatar",!!o.nzAvatar)("ant-skeleton-active",o.nzActive)("ant-skeleton-round",!!o.nzRound)},inputs:{nzActive:"nzActive",nzLoading:"nzLoading",nzRound:"nzRound",nzTitle:"nzTitle",nzAvatar:"nzAvatar",nzParagraph:"nzParagraph"},exportAs:["nzSkeleton"],standalone:!0,features:[xe,me],ngContentSelectors:pme,decls:2,vars:2,consts:[[4,"ngIf"],["class","ant-skeleton-header",4,"ngIf"],[1,"ant-skeleton-content"],["class","ant-skeleton-title",3,"width",4,"ngIf"],["class","ant-skeleton-paragraph",4,"ngIf"],[1,"ant-skeleton-header"],["nzType","avatar",3,"nzSize","nzShape"],[1,"ant-skeleton-title"],[1,"ant-skeleton-paragraph"],[3,"width",4,"ngFor","ngForOf"]],template:function(i,o){1&i&&(Et(),C(0,bme,5,3,"ng-container",0)(1,_me,2,0,"ng-container",0)),2&i&&(h("ngIf",o.nzLoading),d(),h("ngIf",!o.nzLoading))},dependencies:[yme,wme,St,zn],encapsulation:2,changeDetection:0})}return t})(),zme=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({})}return t})();function Ame(t,n){}function Sme(t,n){if(1&t&&(f(0,"div",0),C(1,Ame,0,0,"ng-template",2),m()),2&t){const e=g();d(),h("ngTemplateOutlet",e.nzAvatar)}}function Tme(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(3);d(),D(e.nzTitle)}}function Mme(t,n){if(1&t&&(f(0,"div",3),C(1,Tme,2,1,"ng-container",5),m()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzTitle)}}function Dme(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(3);d(),D(e.nzDescription)}}function Eme(t,n){if(1&t&&(f(0,"div",4),C(1,Dme,2,1,"ng-container",5),m()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzDescription)}}function xme(t,n){if(1&t&&(f(0,"div",1),C(1,Mme,2,1,"div",3)(2,Eme,2,1,"div",4),m()),2&t){const e=g();d(),he(e.nzTitle?1:-1),d(),he(e.nzDescription?2:-1)}}const rV=["*"];function kme(t,n){1&t&&_t(0)}const Ime=()=>({rows:4});function Ome(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(3);d(),D(e.nzTitle)}}function Pme(t,n){if(1&t&&(f(0,"div",6),C(1,Ome,2,1,"ng-container",9),m()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzTitle)}}function Vme(t,n){if(1&t&&(Ye(0),w(1),Ue()),2&t){const e=g(3);d(),D(e.nzExtra)}}function Nme(t,n){if(1&t&&(f(0,"div",7),C(1,Vme,2,1,"ng-container",9),m()),2&t){const e=g(2);d(),h("nzStringTemplateOutlet",e.nzExtra)}}function Fme(t,n){}function Rme(t,n){1&t&&C(0,Fme,0,0,"ng-template",8),2&t&&h("ngTemplateOutlet",g(2).listOfNzCardTabComponent.template)}function Lme(t,n){if(1&t&&(f(0,"div",0)(1,"div",5),C(2,Pme,2,1,"div",6)(3,Nme,2,1,"div",7),m(),C(4,Rme,1,1,null,8),m()),2&t){const e=g();d(2),he(e.nzTitle?2:-1),d(),he(e.nzExtra?3:-1),d(),he(e.listOfNzCardTabComponent?4:-1)}}function Bme(t,n){}function Hme(t,n){if(1&t&&(f(0,"div",1),C(1,Bme,0,0,"ng-template",8),m()),2&t){const e=g();d(),h("ngTemplateOutlet",e.nzCover)}}function jme(t,n){1&t&&A(0,"nz-skeleton",3),2&t&&h("nzActive",!0)("nzTitle",!1)("nzParagraph",Si(3,Ime))}function Yme(t,n){1&t&&_t(0)}function Ume(t,n){}function Wme(t,n){if(1&t&&(f(0,"li")(1,"span"),C(2,Ume,0,0,"ng-template",8),m()()),2&t){const e=n.$implicit;Lt("width",100/g(2).nzActions.length,"%"),d(2),h("ngTemplateOutlet",e)}}function Gme(t,n){if(1&t&&(f(0,"ul",4),ji(1,Wme,3,3,"li",10,JC),m()),2&t){const e=g();d(),Yi(e.nzActions)}}let qme=(()=>{class t{constructor(){this.nzHoverable=!0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=de({type:t,selectors:[["","nz-card-grid",""]],hostAttrs:[1,"ant-card-grid"],hostVars:2,hostBindings:function(i,o){2&i&&Z("ant-card-hoverable",o.nzHoverable)},inputs:{nzHoverable:[2,"nzHoverable","nzHoverable",I]},exportAs:["nzCardGrid"],standalone:!0,features:[je]})}return t})(),Qme=(()=>{class t{constructor(){this.nzTitle=null,this.nzDescription=null,this.nzAvatar=null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-card-meta"]],hostAttrs:[1,"ant-card-meta"],inputs:{nzTitle:"nzTitle",nzDescription:"nzDescription",nzAvatar:"nzAvatar"},exportAs:["nzCardMeta"],standalone:!0,features:[me],decls:2,vars:2,consts:[[1,"ant-card-meta-avatar"],[1,"ant-card-meta-detail"],[3,"ngTemplateOutlet"],[1,"ant-card-meta-title"],[1,"ant-card-meta-description"],[4,"nzStringTemplateOutlet"]],template:function(i,o){1&i&&C(0,Sme,2,1,"div",0)(1,xme,3,2,"div",1),2&i&&(he(o.nzAvatar?0:-1),d(),he(o.nzTitle||o.nzDescription?1:-1))},dependencies:[Nn,Sn,An],encapsulation:2,changeDetection:0})}return t})(),Kme=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-card-tab"]],viewQuery:function(i,o){if(1&i&&ft(qt,7),2&i){let r;ke(r=Ie())&&(o.template=r.first)}},exportAs:["nzCardTab"],standalone:!0,features:[me],ngContentSelectors:rV,decls:1,vars:0,template:function(i,o){1&i&&(Et(),C(0,kme,1,0,"ng-template"))},encapsulation:2,changeDetection:0})}return t})(),$me=(()=>{class t{constructor(e,i,o){this.nzConfigService=e,this.cdr=i,this.directionality=o,this._nzModuleName="card",this.nzBordered=!0,this.nzBorderless=!1,this.nzLoading=!1,this.nzHoverable=!1,this.nzBodyStyle=null,this.nzActions=[],this.nzType=null,this.nzSize="default",this.dir="ltr",this.destroy$=new V,this.nzConfigService.getConfigChangeEventForComponent("card").pipe(P(this.destroy$)).subscribe(()=>{this.cdr.markForCheck()})}ngOnInit(){this.directionality.change?.pipe(P(this.destroy$)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(v(si),v(We),v(Ct,8))};static#t=this.\u0275cmp=Q({type:t,selectors:[["nz-card"]],contentQueries:function(i,o,r){if(1&i&&(fn(r,Kme,5),fn(r,qme,4)),2&i){let s;ke(s=Ie())&&(o.listOfNzCardTabComponent=s.first),ke(s=Ie())&&(o.listOfNzCardGridDirective=s)}},hostAttrs:[1,"ant-card"],hostVars:16,hostBindings:function(i,o){2&i&&Z("ant-card-loading",o.nzLoading)("ant-card-bordered",!1===o.nzBorderless&&o.nzBordered)("ant-card-hoverable",o.nzHoverable)("ant-card-small","small"===o.nzSize)("ant-card-contain-grid",o.listOfNzCardGridDirective&&o.listOfNzCardGridDirective.length)("ant-card-type-inner","inner"===o.nzType)("ant-card-contain-tabs",!!o.listOfNzCardTabComponent)("ant-card-rtl","rtl"===o.dir)},inputs:{nzBordered:[2,"nzBordered","nzBordered",I],nzBorderless:[2,"nzBorderless","nzBorderless",I],nzLoading:[2,"nzLoading","nzLoading",I],nzHoverable:[2,"nzHoverable","nzHoverable",I],nzBodyStyle:"nzBodyStyle",nzCover:"nzCover",nzActions:"nzActions",nzType:"nzType",nzSize:"nzSize",nzTitle:"nzTitle",nzExtra:"nzExtra"},exportAs:["nzCard"],standalone:!0,features:[je,me],ngContentSelectors:rV,decls:6,vars:5,consts:[[1,"ant-card-head"],[1,"ant-card-cover"],[1,"ant-card-body",3,"ngStyle"],[3,"nzActive","nzTitle","nzParagraph"],[1,"ant-card-actions"],[1,"ant-card-head-wrapper"],[1,"ant-card-head-title"],[1,"ant-card-extra"],[3,"ngTemplateOutlet"],[4,"nzStringTemplateOutlet"],[3,"width"]],template:function(i,o){1&i&&(Et(),C(0,Lme,5,3,"div",0)(1,Hme,2,1,"div",1),f(2,"div",2),C(3,jme,1,4,"nz-skeleton",3)(4,Yme,1,0),m(),C(5,Gme,3,0,"ul",4)),2&i&&(he(o.nzTitle||o.nzExtra||o.listOfNzCardTabComponent?0:-1),d(),he(o.nzCover?1:-1),d(),h("ngStyle",o.nzBodyStyle),d(),he(o.nzLoading?3:4),d(2),he(o.nzActions.length?5:-1))},dependencies:[Sn,An,Nn,ti,zme,Cme],encapsulation:2,changeDetection:0})}return xt([Vt()],t.prototype,"nzBordered",void 0),xt([Vt()],t.prototype,"nzBorderless",void 0),xt([Vt()],t.prototype,"nzHoverable",void 0),xt([Vt()],t.prototype,"nzSize",void 0),t})(),Jme=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t});static#n=this.\u0275inj=Je({imports:[$me,Qme,b3]})}return t})();const Zme=[Dx,Ex,{name:"share-alt",theme:"outline",icon:''},xx,kx,Ox,{name:"minus",theme:"outline",icon:''},{name:"plus",theme:"outline",icon:''},{name:"stop",theme:"outline",icon:''}];let Xme=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Ze({type:t,bootstrap:[C8e]});static#n=this.\u0275inj=Je({providers:[{provide:E7,useValue:D7}],imports:[ume,jae,V1e,Che,MO,nse,che,m3e,U7,h2,h1e,tue,dp,H7,Jme,In.forRoot(Zme),AE,O2e,R7,L4e,Dpe,kpe,lue,Pp,C3e,F3e,m0e,Z4e,uae,sg,Pl,sg,H6e]})}return t})();e$().bootstrapModule(Xme).catch(t=>console.error(t))},20:(Ne,jt,fe)=>{"use strict";var X=fe(258),ce=fe(128),Y=ce(X("String.prototype.indexOf"));Ne.exports=function(Te,le){var J=X(Te,!!le);return"function"==typeof J&&Y(Te,".prototype.")>-1?ce(J):J}},128:(Ne,jt,fe)=>{"use strict";var X=fe(992),ce=fe(258),Y=fe(358),N=fe(758),Te=ce("%Function.prototype.apply%"),le=ce("%Function.prototype.call%"),J=ce("%Reflect.apply%",!0)||X.call(le,Te),Ve=fe(570),Ee=ce("%Math.max%");Ne.exports=function(Re){if("function"!=typeof Re)throw new N("a function is required");var re=J(X,le,arguments);return Y(re,1+Ee(0,Re.length-(arguments.length-1)),!0)};var ye=function(){return J(X,Te,arguments)};Ve?Ve(Ne.exports,"apply",{value:ye}):Ne.exports.apply=ye},821:function(Ne){Ne.exports=function(){var jt={686:function(ce,Y,N){"use strict";N.d(Y,{default:function(){return Vn}});var Te=N(279),le=N.n(Te),J=N(370),Ve=N.n(J),Ee=N(817),ye=N.n(Ee);function te(ve){try{return document.execCommand(ve)}catch{return!1}}var re=function(ze){var Ce=ye()(ze);return te("cut"),Ce};var K=function(ze,Ce){var Le=function ne(ve){var ze="rtl"===document.documentElement.getAttribute("dir"),Ce=document.createElement("textarea");Ce.style.fontSize="12pt",Ce.style.border="0",Ce.style.padding="0",Ce.style.margin="0",Ce.style.position="absolute",Ce.style[ze?"right":"left"]="-9999px";var Le=window.pageYOffset||document.documentElement.scrollTop;return Ce.style.top="".concat(Le,"px"),Ce.setAttribute("readonly",""),Ce.value=ve,Ce}(ze);Ce.container.appendChild(Le);var Qe=ye()(Le);return te("copy"),Le.remove(),Qe},O=function(ze){var Ce=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body},Le="";return"string"==typeof ze?Le=K(ze,Ce):ze instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(ze?.type)?Le=K(ze.value,Ce):(Le=ye()(ze),te("copy")),Le};function L(ve){return(L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Ce){return typeof Ce}:function(Ce){return Ce&&"function"==typeof Symbol&&Ce.constructor===Symbol&&Ce!==Symbol.prototype?"symbol":typeof Ce})(ve)}var se=function(){var ze=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},Ce=ze.action,Le=void 0===Ce?"copy":Ce,Qe=ze.container,gt=ze.target,Nt=ze.text;if("copy"!==Le&&"cut"!==Le)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==gt){if(!gt||"object"!==L(gt)||1!==gt.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===Le&>.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===Le&&(gt.hasAttribute("readonly")||gt.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return Nt?O(Nt,{container:Qe}):gt?"cut"===Le?re(gt):O(gt,{container:Qe}):void 0};function ue(ve){return(ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Ce){return typeof Ce}:function(Ce){return Ce&&"function"==typeof Symbol&&Ce.constructor===Symbol&&Ce!==Symbol.prototype?"symbol":typeof Ce})(ve)}function Ae(ve,ze){for(var Ce=0;Ce"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var Qe,Le=$n(ve);if(ze){var gt=$n(this).constructor;Qe=Reflect.construct(Le,arguments,gt)}else Qe=Le.apply(this,arguments);return function bn(ve,ze){return!ze||"object"!==ue(ze)&&"function"!=typeof ze?function pt(ve){if(void 0===ve)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ve}(ve):ze}(this,Qe)}}function $n(ve){return($n=Object.setPrototypeOf?Object.getPrototypeOf:function(Ce){return Ce.__proto__||Object.getPrototypeOf(Ce)})(ve)}function cn(ve,ze){var Ce="data-clipboard-".concat(ve);if(ze.hasAttribute(Ce))return ze.getAttribute(Ce)}var Lo=function(ve){nt(Ce,ve);var ze=ht(Ce);function Ce(Le,Qe){var gt;return function ge(ve,ze){if(!(ve instanceof ze))throw new TypeError("Cannot call a class as a function")}(this,Ce),(gt=ze.call(this)).resolveOptions(Qe),gt.listenClick(Le),gt}return function ut(ve,ze,Ce){return ze&&Ae(ve.prototype,ze),Ce&&Ae(ve,Ce),ve}(Ce,[{key:"resolveOptions",value:function(){var Qe=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof Qe.action?Qe.action:this.defaultAction,this.target="function"==typeof Qe.target?Qe.target:this.defaultTarget,this.text="function"==typeof Qe.text?Qe.text:this.defaultText,this.container="object"===ue(Qe.container)?Qe.container:document.body}},{key:"listenClick",value:function(Qe){var gt=this;this.listener=Ve()(Qe,"click",function(Nt){return gt.onClick(Nt)})}},{key:"onClick",value:function(Qe){var gt=Qe.delegateTarget||Qe.currentTarget,Nt=this.action(gt)||"copy",vi=se({action:Nt,container:this.container,target:this.target(gt),text:this.text(gt)});this.emit(vi?"success":"error",{action:Nt,text:vi,trigger:gt,clearSelection:function(){gt&>.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(Qe){return cn("action",Qe)}},{key:"defaultTarget",value:function(Qe){var gt=cn("target",Qe);if(gt)return document.querySelector(gt)}},{key:"defaultText",value:function(Qe){return cn("text",Qe)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(Qe){var gt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body};return O(Qe,gt)}},{key:"cut",value:function(Qe){return re(Qe)}},{key:"isSupported",value:function(){var Qe=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],Nt=!!document.queryCommandSupported;return("string"==typeof Qe?[Qe]:Qe).forEach(function(vi){Nt=Nt&&!!document.queryCommandSupported(vi)}),Nt}}]),Ce}(le()),Vn=Lo},828:function(ce){if(typeof Element<"u"&&!Element.prototype.matches){var N=Element.prototype;N.matches=N.matchesSelector||N.mozMatchesSelector||N.msMatchesSelector||N.oMatchesSelector||N.webkitMatchesSelector}ce.exports=function Te(le,J){for(;le&&9!==le.nodeType;){if("function"==typeof le.matches&&le.matches(J))return le;le=le.parentNode}}},438:function(ce,Y,N){var Te=N(828);function le(Ee,ye,te,Re,re){var ne=Ve.apply(this,arguments);return Ee.addEventListener(te,ne,re),{destroy:function(){Ee.removeEventListener(te,ne,re)}}}function Ve(Ee,ye,te,Re){return function(re){re.delegateTarget=Te(re.target,ye),re.delegateTarget&&Re.call(Ee,re)}}ce.exports=function J(Ee,ye,te,Re,re){return"function"==typeof Ee.addEventListener?le.apply(null,arguments):"function"==typeof te?le.bind(null,document).apply(null,arguments):("string"==typeof Ee&&(Ee=document.querySelectorAll(Ee)),Array.prototype.map.call(Ee,function(ne){return le(ne,ye,te,Re,re)}))}},879:function(ce,Y){Y.node=function(N){return void 0!==N&&N instanceof HTMLElement&&1===N.nodeType},Y.nodeList=function(N){var Te=Object.prototype.toString.call(N);return void 0!==N&&("[object NodeList]"===Te||"[object HTMLCollection]"===Te)&&"length"in N&&(0===N.length||Y.node(N[0]))},Y.string=function(N){return"string"==typeof N||N instanceof String},Y.fn=function(N){return"[object Function]"===Object.prototype.toString.call(N)}},370:function(ce,Y,N){var Te=N(879),le=N(438);ce.exports=function J(te,Re,re){if(!te&&!Re&&!re)throw new Error("Missing required arguments");if(!Te.string(Re))throw new TypeError("Second argument must be a String");if(!Te.fn(re))throw new TypeError("Third argument must be a Function");if(Te.node(te))return function Ve(te,Re,re){return te.addEventListener(Re,re),{destroy:function(){te.removeEventListener(Re,re)}}}(te,Re,re);if(Te.nodeList(te))return function Ee(te,Re,re){return Array.prototype.forEach.call(te,function(ne){ne.addEventListener(Re,re)}),{destroy:function(){Array.prototype.forEach.call(te,function(ne){ne.removeEventListener(Re,re)})}}}(te,Re,re);if(Te.string(te))return function ye(te,Re,re){return le(document.body,te,Re,re)}(te,Re,re);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},817:function(ce){ce.exports=function Y(N){var Te;if("SELECT"===N.nodeName)N.focus(),Te=N.value;else if("INPUT"===N.nodeName||"TEXTAREA"===N.nodeName){var le=N.hasAttribute("readonly");le||N.setAttribute("readonly",""),N.select(),N.setSelectionRange(0,N.value.length),le||N.removeAttribute("readonly"),Te=N.value}else{N.hasAttribute("contenteditable")&&N.focus();var J=window.getSelection(),Ve=document.createRange();Ve.selectNodeContents(N),J.removeAllRanges(),J.addRange(Ve),Te=J.toString()}return Te}},279:function(ce){function Y(){}Y.prototype={on:function(N,Te,le){var J=this.e||(this.e={});return(J[N]||(J[N]=[])).push({fn:Te,ctx:le}),this},once:function(N,Te,le){var J=this;function Ve(){J.off(N,Ve),Te.apply(le,arguments)}return Ve._=Te,this.on(N,Ve,le)},emit:function(N){for(var Te=[].slice.call(arguments,1),le=((this.e||(this.e={}))[N]||[]).slice(),J=0,Ve=le.length;J{"use strict";var X=fe(570),ce=fe(413),Y=fe(758),N=fe(798);Ne.exports=function(le,J,Ve){if(!le||"object"!=typeof le&&"function"!=typeof le)throw new Y("`obj` must be an object or a function`");if("string"!=typeof J&&"symbol"!=typeof J)throw new Y("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new Y("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new Y("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new Y("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new Y("`loose`, if provided, must be a boolean");var Ee=arguments.length>3?arguments[3]:null,ye=arguments.length>4?arguments[4]:null,te=arguments.length>5?arguments[5]:null,Re=arguments.length>6&&arguments[6],re=!!N&&N(le,J);if(X)X(le,J,{configurable:null===te&&re?re.configurable:!te,enumerable:null===Ee&&re?re.enumerable:!Ee,value:Ve,writable:null===ye&&re?re.writable:!ye});else{if(!Re&&(Ee||ye||te))throw new ce("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");le[J]=Ve}}},570:(Ne,jt,fe)=>{"use strict";var ce=fe(258)("%Object.defineProperty%",!0)||!1;if(ce)try{ce({},"a",{value:1})}catch{ce=!1}Ne.exports=ce},756:Ne=>{"use strict";Ne.exports=EvalError},640:Ne=>{"use strict";Ne.exports=Error},933:Ne=>{"use strict";Ne.exports=RangeError},613:Ne=>{"use strict";Ne.exports=ReferenceError},413:Ne=>{"use strict";Ne.exports=SyntaxError},758:Ne=>{"use strict";Ne.exports=TypeError},286:Ne=>{"use strict";Ne.exports=URIError},578:function(Ne,jt){var fe,ce;void 0!==(ce="function"==typeof(fe=function(){"use strict";function N(ye,te,Re){var re=new XMLHttpRequest;re.open("GET",ye),re.responseType="blob",re.onload=function(){Ee(re.response,te,Re)},re.onerror=function(){console.error("could not download file")},re.send()}function Te(ye){var te=new XMLHttpRequest;te.open("HEAD",ye,!1);try{te.send()}catch{}return 200<=te.status&&299>=te.status}function le(ye){try{ye.dispatchEvent(new MouseEvent("click"))}catch{var te=document.createEvent("MouseEvents");te.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),ye.dispatchEvent(te)}}var J="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,Ve=J.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),Ee=J.saveAs||("object"!=typeof window||window!==J?function(){}:"download"in HTMLAnchorElement.prototype&&!Ve?function(ye,te,Re){var re=J.URL||J.webkitURL,ne=document.createElement("a");ne.download=te=te||ye.name||"download",ne.rel="noopener","string"==typeof ye?(ne.href=ye,ne.origin===location.origin?le(ne):Te(ne.href)?N(ye,te,Re):le(ne,ne.target="_blank")):(ne.href=re.createObjectURL(ye),setTimeout(function(){re.revokeObjectURL(ne.href)},4e4),setTimeout(function(){le(ne)},0))}:"msSaveOrOpenBlob"in navigator?function(ye,te,Re){if(te=te||ye.name||"download","string"!=typeof ye)navigator.msSaveOrOpenBlob(function Y(ye,te){return typeof te>"u"?te={autoBom:!1}:"object"!=typeof te&&(console.warn("Deprecated: Expected third argument to be a object"),te={autoBom:!te}),te.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(ye.type)?new Blob(["\ufeff",ye],{type:ye.type}):ye}(ye,Re),te);else if(Te(ye))N(ye,te,Re);else{var re=document.createElement("a");re.href=ye,re.target="_blank",setTimeout(function(){le(re)})}}:function(ye,te,Re,re){if((re=re||open("","_blank"))&&(re.document.title=re.document.body.innerText="downloading..."),"string"==typeof ye)return N(ye,te,Re);var ne="application/octet-stream"===ye.type,K=/constructor/i.test(J.HTMLElement)||J.safari,ee=/CriOS\/[\d]+/.test(navigator.userAgent);if((ee||ne&&K||Ve)&&typeof FileReader<"u"){var O=new FileReader;O.onloadend=function(){var se=O.result;se=ee?se:se.replace(/^data:[^;]*;/,"data:attachment/file;"),re?re.location.href=se:location=se,re=null},O.readAsDataURL(ye)}else{var L=J.URL||J.webkitURL,H=L.createObjectURL(ye);re?re.location=H:location.href=H,re=null,setTimeout(function(){L.revokeObjectURL(H)},4e4)}});J.saveAs=Ee.saveAs=Ee,Ne.exports=Ee})?fe.apply(jt,[]):fe)&&(Ne.exports=ce)},132:Ne=>{"use strict";var fe=Object.prototype.toString,X=Math.max,Y=function(J,Ve){for(var Ee=[],ye=0;ye{"use strict";var X=fe(132);Ne.exports=Function.prototype.bind||X},258:(Ne,jt,fe)=>{"use strict";var X,ce=fe(640),Y=fe(756),N=fe(933),Te=fe(613),le=fe(413),J=fe(758),Ve=fe(286),Ee=Function,ye=function(Vn){try{return Ee('"use strict"; return ('+Vn+").constructor;")()}catch{}},te=Object.getOwnPropertyDescriptor;if(te)try{te({},"")}catch{te=null}var Re=function(){throw new J},re=te?function(){try{return Re}catch{try{return te(arguments,"callee").get}catch{return Re}}}():Re,ne=fe(900)(),K=fe(119)(),ee=Object.getPrototypeOf||(K?function(Vn){return Vn.__proto__}:null),O={},L=typeof Uint8Array>"u"||!ee?X:ee(Uint8Array),H={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?X:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?X:ArrayBuffer,"%ArrayIteratorPrototype%":ne&&ee?ee([][Symbol.iterator]()):X,"%AsyncFromSyncIteratorPrototype%":X,"%AsyncFunction%":O,"%AsyncGenerator%":O,"%AsyncGeneratorFunction%":O,"%AsyncIteratorPrototype%":O,"%Atomics%":typeof Atomics>"u"?X:Atomics,"%BigInt%":typeof BigInt>"u"?X:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?X:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?X:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?X:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":ce,"%eval%":eval,"%EvalError%":Y,"%Float32Array%":typeof Float32Array>"u"?X:Float32Array,"%Float64Array%":typeof Float64Array>"u"?X:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?X:FinalizationRegistry,"%Function%":Ee,"%GeneratorFunction%":O,"%Int8Array%":typeof Int8Array>"u"?X:Int8Array,"%Int16Array%":typeof Int16Array>"u"?X:Int16Array,"%Int32Array%":typeof Int32Array>"u"?X:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ne&&ee?ee(ee([][Symbol.iterator]())):X,"%JSON%":"object"==typeof JSON?JSON:X,"%Map%":typeof Map>"u"?X:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ne||!ee?X:ee((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?X:Promise,"%Proxy%":typeof Proxy>"u"?X:Proxy,"%RangeError%":N,"%ReferenceError%":Te,"%Reflect%":typeof Reflect>"u"?X:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?X:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ne||!ee?X:ee((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?X:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ne&&ee?ee(""[Symbol.iterator]()):X,"%Symbol%":ne?Symbol:X,"%SyntaxError%":le,"%ThrowTypeError%":re,"%TypedArray%":L,"%TypeError%":J,"%Uint8Array%":typeof Uint8Array>"u"?X:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?X:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?X:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?X:Uint32Array,"%URIError%":Ve,"%WeakMap%":typeof WeakMap>"u"?X:WeakMap,"%WeakRef%":typeof WeakRef>"u"?X:WeakRef,"%WeakSet%":typeof WeakSet>"u"?X:WeakSet};if(ee)try{null.error}catch(Vn){var se=ee(ee(Vn));H["%Error.prototype%"]=se}var ue=function Vn(ve){var ze;if("%AsyncFunction%"===ve)ze=ye("async function () {}");else if("%GeneratorFunction%"===ve)ze=ye("function* () {}");else if("%AsyncGeneratorFunction%"===ve)ze=ye("async function* () {}");else if("%AsyncGenerator%"===ve){var Ce=Vn("%AsyncGeneratorFunction%");Ce&&(ze=Ce.prototype)}else if("%AsyncIteratorPrototype%"===ve){var Le=Vn("%AsyncGenerator%");Le&&ee&&(ze=ee(Le.prototype))}return H[ve]=ze,ze},ge={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ae=fe(992),ut=fe(368),nt=Ae.call(Function.call,Array.prototype.concat),Ut=Ae.call(Function.apply,Array.prototype.splice),ht=Ae.call(Function.call,String.prototype.replace),bn=Ae.call(Function.call,String.prototype.slice),pt=Ae.call(Function.call,RegExp.prototype.exec),lo=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,$n=/\\(\\)?/g,Lo=function(ve,ze){var Le,Ce=ve;if(ut(ge,Ce)&&(Ce="%"+(Le=ge[Ce])[0]+"%"),ut(H,Ce)){var Qe=H[Ce];if(Qe===O&&(Qe=ue(Ce)),typeof Qe>"u"&&!ze)throw new J("intrinsic "+ve+" exists, but is not available. Please file an issue!");return{alias:Le,name:Ce,value:Qe}}throw new le("intrinsic "+ve+" does not exist!")};Ne.exports=function(ve,ze){if("string"!=typeof ve||0===ve.length)throw new J("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof ze)throw new J('"allowMissing" argument must be a boolean');if(null===pt(/^%?[^%]*%?$/,ve))throw new le("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var Ce=function(ve){var ze=bn(ve,0,1),Ce=bn(ve,-1);if("%"===ze&&"%"!==Ce)throw new le("invalid intrinsic syntax, expected closing `%`");if("%"===Ce&&"%"!==ze)throw new le("invalid intrinsic syntax, expected opening `%`");var Le=[];return ht(ve,lo,function(Qe,gt,Nt,vi){Le[Le.length]=Nt?ht(vi,$n,"$1"):gt||Qe}),Le}(ve),Le=Ce.length>0?Ce[0]:"",Qe=Lo("%"+Le+"%",ze),gt=Qe.name,Nt=Qe.value,vi=!1,cr=Qe.alias;cr&&(Le=cr[0],Ut(Ce,nt([0,1],cr)));for(var Ar=1,So=!0;Ar=Ce.length){var wt=te(Nt,bi);Nt=(So=!!wt)&&"get"in wt&&!("originalValue"in wt.get)?wt.get:Nt[bi]}else So=ut(Nt,bi),Nt=Nt[bi];So&&!vi&&(H[gt]=Nt)}}return Nt}},798:(Ne,jt,fe)=>{"use strict";var ce=fe(258)("%Object.getOwnPropertyDescriptor%",!0);if(ce)try{ce([],"length")}catch{ce=null}Ne.exports=ce},861:(Ne,jt,fe)=>{"use strict";var X=fe(570),ce=function(){return!!X};ce.hasArrayLengthDefineBug=function(){if(!X)return null;try{return 1!==X([],"length",{value:1}).length}catch{return!0}},Ne.exports=ce},119:Ne=>{"use strict";var jt={__proto__:null,foo:{}},fe=Object;Ne.exports=function(){return{__proto__:jt}.foo===jt.foo&&!(jt instanceof fe)}},900:(Ne,jt,fe)=>{"use strict";var X=typeof Symbol<"u"&&Symbol,ce=fe(310);Ne.exports=function(){return"function"==typeof X&&"function"==typeof Symbol&&"symbol"==typeof X("foo")&&"symbol"==typeof Symbol("bar")&&ce()}},310:Ne=>{"use strict";Ne.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var fe={},X=Symbol("test"),ce=Object(X);if("string"==typeof X||"[object Symbol]"!==Object.prototype.toString.call(X)||"[object Symbol]"!==Object.prototype.toString.call(ce))return!1;for(X in fe[X]=42,fe)return!1;if("function"==typeof Object.keys&&0!==Object.keys(fe).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(fe).length)return!1;var N=Object.getOwnPropertySymbols(fe);if(1!==N.length||N[0]!==X||!Object.prototype.propertyIsEnumerable.call(fe,X))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var Te=Object.getOwnPropertyDescriptor(fe,X);if(42!==Te.value||!0!==Te.enumerable)return!1}return!0}},368:(Ne,jt,fe)=>{"use strict";var X=Function.prototype.call,ce=Object.prototype.hasOwnProperty,Y=fe(992);Ne.exports=Y.call(X,ce)},560:function(Ne,jt,fe){var X,ce;X=function(){var K,ee,Y={version:"0.2.0"},N=Y.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function Te(K,ee,O){return KO?O:K}function le(K){return 100*(-1+K)}Y.configure=function(K){var ee,O;for(ee in K)void 0!==(O=K[ee])&&K.hasOwnProperty(ee)&&(N[ee]=O);return this},Y.status=null,Y.set=function(K){var ee=Y.isStarted();K=Te(K,N.minimum,1),Y.status=1===K?null:K;var O=Y.render(!ee),L=O.querySelector(N.barSelector),H=N.speed,se=N.easing;return Ve(function(ue){""===N.positionUsing&&(N.positionUsing=Y.getPositioningCSS()),Ee(L,function J(K,ee,O){var L;return(L="translate3d"===N.positionUsing?{transform:"translate3d("+le(K)+"%,0,0)"}:"translate"===N.positionUsing?{transform:"translate("+le(K)+"%,0)"}:{"margin-left":le(K)+"%"}).transition="all "+ee+"ms "+O,L}(K,H,se)),1===K?(Ee(O,{transition:"none",opacity:1}),setTimeout(function(){Ee(O,{transition:"all "+H+"ms linear",opacity:0}),setTimeout(function(){Y.remove(),ue()},H)},H)):setTimeout(ue,H)}),this},Y.isStarted=function(){return"number"==typeof Y.status},Y.start=function(){Y.status||Y.set(0);var K=function(){setTimeout(function(){Y.status&&(Y.trickle(),K())},N.trickleSpeed)};return N.trickle&&K(),this},Y.done=function(K){return K||Y.status?Y.inc(.3+.5*Math.random()).set(1):this},Y.inc=function(K){var ee=Y.status;return ee?("number"!=typeof K&&(K=(1-ee)*Te(Math.random()*ee,.1,.95)),ee=Te(ee+K,0,.994),Y.set(ee)):Y.start()},Y.trickle=function(){return Y.inc(Math.random()*N.trickleRate)},K=0,ee=0,Y.promise=function(O){return O&&"resolved"!==O.state()?(0===ee&&Y.start(),K++,ee++,O.always(function(){0==--ee?(K=0,Y.done()):Y.set((K-ee)/K)}),this):this},Y.render=function(K){if(Y.isRendered())return document.getElementById("nprogress");te(document.documentElement,"nprogress-busy");var ee=document.createElement("div");ee.id="nprogress",ee.innerHTML=N.template;var se,O=ee.querySelector(N.barSelector),L=K?"-100":le(Y.status||0),H=document.querySelector(N.parent);return Ee(O,{transition:"all 0 linear",transform:"translate3d("+L+"%,0,0)"}),N.showSpinner||(se=ee.querySelector(N.spinnerSelector))&&ne(se),H!=document.body&&te(H,"nprogress-custom-parent"),H.appendChild(ee),ee},Y.remove=function(){Re(document.documentElement,"nprogress-busy"),Re(document.querySelector(N.parent),"nprogress-custom-parent");var K=document.getElementById("nprogress");K&&ne(K)},Y.isRendered=function(){return!!document.getElementById("nprogress")},Y.getPositioningCSS=function(){var K=document.body.style,ee="WebkitTransform"in K?"Webkit":"MozTransform"in K?"Moz":"msTransform"in K?"ms":"OTransform"in K?"O":"";return ee+"Perspective"in K?"translate3d":ee+"Transform"in K?"translate":"margin"};var Ve=function(){var K=[];function ee(){var O=K.shift();O&&O(ee)}return function(O){K.push(O),1==K.length&&ee()}}(),Ee=function(){var K=["Webkit","O","Moz","ms"],ee={};function H(ue){return ue=function O(ue){return ue.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(ge,Ae){return Ae.toUpperCase()})}(ue),ee[ue]||(ee[ue]=function L(ue){var ge=document.body.style;if(ue in ge)return ue;for(var nt,Ae=K.length,ut=ue.charAt(0).toUpperCase()+ue.slice(1);Ae--;)if((nt=K[Ae]+ut)in ge)return nt;return ue}(ue))}function se(ue,ge,Ae){ge=H(ge),ue.style[ge]=Ae}return function(ue,ge){var ut,nt,Ae=arguments;if(2==Ae.length)for(ut in ge)void 0!==(nt=ge[ut])&&ge.hasOwnProperty(ut)&&se(ue,ut,nt);else se(ue,Ae[1],Ae[2])}}();function ye(K,ee){return("string"==typeof K?K:re(K)).indexOf(" "+ee+" ")>=0}function te(K,ee){var O=re(K),L=O+ee;ye(O,ee)||(K.className=L.substring(1))}function Re(K,ee){var L,O=re(K);ye(K,ee)&&(L=O.replace(" "+ee+" "," "),K.className=L.substring(1,L.length-1))}function re(K){return(" "+(K.className||"")+" ").replace(/\s+/gi," ")}function ne(K){K&&K.parentNode&&K.parentNode.removeChild(K)}return Y},void 0!==(ce=X.call(jt,fe,jt,Ne))&&(Ne.exports=ce)},150:(Ne,jt,fe)=>{var X="function"==typeof Map&&Map.prototype,ce=Object.getOwnPropertyDescriptor&&X?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,Y=X&&ce&&"function"==typeof ce.get?ce.get:null,N=X&&Map.prototype.forEach,Te="function"==typeof Set&&Set.prototype,le=Object.getOwnPropertyDescriptor&&Te?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,J=Te&&le&&"function"==typeof le.get?le.get:null,Ve=Te&&Set.prototype.forEach,ye="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,Re="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,ne="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,K=Boolean.prototype.valueOf,ee=Object.prototype.toString,O=Function.prototype.toString,L=String.prototype.match,H=String.prototype.slice,se=String.prototype.replace,ue=String.prototype.toUpperCase,ge=String.prototype.toLowerCase,Ae=RegExp.prototype.test,ut=Array.prototype.concat,nt=Array.prototype.join,Ut=Array.prototype.slice,ht=Math.floor,bn="function"==typeof BigInt?BigInt.prototype.valueOf:null,pt=Object.getOwnPropertySymbols,lo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,$n="function"==typeof Symbol&&"object"==typeof Symbol.iterator,cn="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol,1)?Symbol.toStringTag:null,Lo=Object.prototype.propertyIsEnumerable,Vn=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(F){return F.__proto__}:null);function ve(F,U){if(F===1/0||F===-1/0||F!=F||F&&F>-1e3&&F<1e3||Ae.call(/e/,U))return U;var Rt=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof F){var en=F<0?-ht(-F):ht(F);if(en!==F){var Bn=String(en),At=H.call(U,Bn.length+1);return se.call(Bn,Rt,"$&_")+"."+se.call(se.call(At,/([0-9]{3})/g,"$&_"),/_$/,"")}}return se.call(U,Rt,"$&_")}var ze=fe(634),Ce=ze.custom,Le=Sr(Ce)?Ce:null;function Qe(F,U,Rt){var en="double"===(Rt.quoteStyle||U)?'"':"'";return en+F+en}function gt(F){return se.call(String(F),/"/g,""")}function Nt(F){return!("[object Array]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}function cr(F){return!("[object RegExp]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}function Sr(F){if($n)return F&&"object"==typeof F&&F instanceof Symbol;if("symbol"==typeof F)return!0;if(!F||"object"!=typeof F||!lo)return!1;try{return lo.call(F),!0}catch{}return!1}Ne.exports=function F(U,Rt,en,Bn){var At=Rt||{};if(uo(At,"quoteStyle")&&"single"!==At.quoteStyle&&"double"!==At.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(uo(At,"maxStringLength")&&("number"==typeof At.maxStringLength?At.maxStringLength<0&&At.maxStringLength!==1/0:null!==At.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var Zr=!uo(At,"customInspect")||At.customInspect;if("boolean"!=typeof Zr&&"symbol"!==Zr)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(uo(At,"indent")&&null!==At.indent&&"\t"!==At.indent&&!(parseInt(At.indent,10)===At.indent&&At.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(uo(At,"numericSeparator")&&"boolean"!=typeof At.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var Tr=At.numericSeparator;if(typeof U>"u")return"undefined";if(null===U)return"null";if("boolean"==typeof U)return U?"true":"false";if("string"==typeof U)return q2(U,At);if("number"==typeof U){if(0===U)return 1/0/U>0?"0":"-0";var Hn=String(U);return Tr?ve(U,Hn):Hn}if("bigint"==typeof U){var Xr=String(U)+"n";return Tr?ve(U,Xr):Xr}var Kl=typeof At.depth>"u"?5:At.depth;if(typeof en>"u"&&(en=0),en>=Kl&&Kl>0&&"object"==typeof U)return Nt(U)?"[Array]":"[Object]";var Wt=function i6(F,U){var Rt;if("\t"===F.indent)Rt="\t";else{if(!("number"==typeof F.indent&&F.indent>0))return null;Rt=nt.call(Array(F.indent+1)," ")}return{base:Rt,prev:nt.call(Array(U+1),Rt)}}(At,en);if(typeof Bn>"u")Bn=[];else if(q1(Bn,U)>=0)return"[Circular]";function To(Pa,Xl,r6){if(Xl&&(Bn=Ut.call(Bn)).push(Xl),r6){var Fe={depth:At.depth};return uo(At,"quoteStyle")&&(Fe.quoteStyle=At.quoteStyle),F(Pa,Fe,en+1,Bn)}return F(Pa,At,en+1,Bn)}if("function"==typeof U&&!cr(U)){var Q2=function Ft(F){if(F.name)return F.name;var U=L.call(O.call(F),/^function\s*([\w$]+)/);return U?U[1]:null}(U),K2=Ql(U,To);return"[Function"+(Q2?": "+Q2:" (anonymous)")+"]"+(K2.length>0?" { "+nt.call(K2,", ")+" }":"")}if(Sr(U)){var $2=$n?se.call(String(U),/^(Symbol\(.*\))_[^)]*$/,"$1"):lo.call(U);return"object"!=typeof U||$n?$2:ka($2)}if(function Qs(F){return!(!F||"object"!=typeof F)&&(typeof HTMLElement<"u"&&F instanceof HTMLElement||"string"==typeof F.nodeName&&"function"==typeof F.getAttribute)}(U)){for(var V="<"+ge.call(String(U.nodeName)),$l=U.attributes||[],rt=0;rt<$l.length;rt++)V+=" "+$l[rt].name+"="+Qe(gt($l[rt].value),"double",At);return V+=">",U.childNodes&&U.childNodes.length&&(V+="..."),V+""}if(Nt(U)){if(0===U.length)return"[]";var Jl=Ql(U,To);return Wt&&!function ql(F){for(var U=0;U=0)return!1;return!0}(Jl)?"["+Oa(Jl,Wt)+"]":"[ "+nt.call(Jl,", ")+" ]"}if(function Ar(F){return!("[object Error]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}(U)){var dn=Ql(U,To);return"cause"in Error.prototype||!("cause"in U)||Lo.call(U,"cause")?0===dn.length?"["+String(U)+"]":"{ ["+String(U)+"] "+nt.call(dn,", ")+" }":"{ ["+String(U)+"] "+nt.call(ut.call("[cause]: "+To(U.cause),dn),", ")+" }"}if("object"==typeof U&&Zr){if(Le&&"function"==typeof U[Le]&&ze)return ze(U,{depth:Kl-en});if("symbol"!==Zr&&"function"==typeof U.inspect)return U.inspect()}if(function U2(F){if(!Y||!F||"object"!=typeof F)return!1;try{Y.call(F);try{J.call(F)}catch{return!0}return F instanceof Map}catch{}return!1}(U)){var Jt=[];return N&&N.call(U,function(Pa,Xl){Jt.push(To(Xl,U,!0)+" => "+To(Pa,U))}),Jr("Map",Y.call(U),Jt,Wt)}if(function Gl(F){if(!J||!F||"object"!=typeof F)return!1;try{J.call(F);try{Y.call(F)}catch{return!0}return F instanceof Set}catch{}return!1}(U)){var J2=[];return Ve&&Ve.call(U,function(Pa){J2.push(To(Pa,U))}),Jr("Set",J.call(U),J2,Wt)}if(function W2(F){if(!ye||!F||"object"!=typeof F)return!1;try{ye.call(F,ye);try{Re.call(F,Re)}catch{return!0}return F instanceof WeakMap}catch{}return!1}(U))return Ia("WeakMap");if(function G2(F){if(!Re||!F||"object"!=typeof F)return!1;try{Re.call(F,Re);try{ye.call(F,ye)}catch{return!0}return F instanceof WeakSet}catch{}return!1}(U))return Ia("WeakSet");if(function ys(F){if(!ne||!F||"object"!=typeof F)return!1;try{return ne.call(F),!0}catch{}return!1}(U))return Ia("WeakRef");if(function bi(F){return!("[object Number]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}(U))return ka(To(Number(U)));if(function wt(F){if(!F||"object"!=typeof F||!bn)return!1;try{return bn.call(F),!0}catch{}return!1}(U))return ka(To(bn.call(U)));if(function co(F){return!("[object Boolean]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}(U))return ka(K.call(U));if(function So(F){return!("[object String]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}(U))return ka(To(String(U)));if(typeof window<"u"&&U===window)return"{ [object Window] }";if(typeof globalThis<"u"&&U===globalThis||typeof global<"u"&&U===global)return"{ [object globalThis] }";if(!function vi(F){return!("[object Date]"!==Fi(F)||cn&&"object"==typeof F&&cn in F)}(U)&&!cr(U)){var Pe=Ql(U,To),Zl=Vn?Vn(U)===Object.prototype:U instanceof Object||U.constructor===Object,Z2=U instanceof Object?"":"null prototype",o6=!Zl&&cn&&Object(U)===U&&cn in U?H.call(Fi(U),8,-1):Z2?"Object":"",X2=(Zl||"function"!=typeof U.constructor?"":U.constructor.name?U.constructor.name+" ":"")+(o6||Z2?"["+nt.call(ut.call([],o6||[],Z2||[]),": ")+"] ":"");return 0===Pe.length?X2+"{}":Wt?X2+"{"+Oa(Pe,Wt)+"}":X2+"{ "+nt.call(Pe,", ")+" }"}return String(U)};var xa=Object.prototype.hasOwnProperty||function(F){return F in this};function uo(F,U){return xa.call(F,U)}function Fi(F){return ee.call(F)}function q1(F,U){if(F.indexOf)return F.indexOf(U);for(var Rt=0,en=F.length;RtU.maxStringLength){var Rt=F.length-U.maxStringLength,en="... "+Rt+" more character"+(Rt>1?"s":"");return q2(H.call(F,0,U.maxStringLength),U)+en}return Qe(se.call(se.call(F,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,n6),"single",U)}function n6(F){var U=F.charCodeAt(0),Rt={8:"b",9:"t",10:"n",12:"f",13:"r"}[U];return Rt?"\\"+Rt:"\\x"+(U<16?"0":"")+ue.call(U.toString(16))}function ka(F){return"Object("+F+")"}function Ia(F){return F+" { ? }"}function Jr(F,U,Rt,en){return F+" ("+U+") {"+(en?Oa(Rt,en):nt.call(Rt,", "))+"}"}function Oa(F,U){if(0===F.length)return"";var Rt="\n"+U.prev+U.base;return Rt+nt.call(F,","+Rt)+"\n"+U.prev}function Ql(F,U){var Rt=Nt(F),en=[];if(Rt){en.length=F.length;for(var Bn=0;Bn{"use strict";var jt=String.prototype.replace,fe=/%20/g;Ne.exports={default:"RFC3986",formatters:{RFC1738:function(ce){return jt.call(ce,fe,"+")},RFC3986:function(ce){return String(ce)}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},476:(Ne,jt,fe)=>{"use strict";var X=fe(801),ce=fe(919),Y=fe(140);Ne.exports={formats:Y,parse:ce,stringify:X}},919:(Ne,jt,fe)=>{"use strict";var X=fe(221),ce=Object.prototype.hasOwnProperty,Y=Array.isArray,N={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:X.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},le=function(re,ne){return re&&"string"==typeof re&&ne.comma&&re.indexOf(",")>-1?re.split(","):re},te=function(ne,K,ee,O){if(ne){var L=ee.allowDots?ne.replace(/\.([^.[]+)/g,"[$1]"):ne,se=/(\[[^[\]]*])/g,ue=ee.depth>0&&/(\[[^[\]]*])/.exec(L),ge=ue?L.slice(0,ue.index):L,Ae=[];if(ge){if(!ee.plainObjects&&ce.call(Object.prototype,ge)&&!ee.allowPrototypes)return;Ae.push(ge)}for(var ut=0;ee.depth>0&&null!==(ue=se.exec(L))&&ut=0;--L){var H,se=re[L];if("[]"===se&&K.parseArrays)H=K.allowEmptyArrays&&""===O?[]:[].concat(O);else{H=K.plainObjects?Object.create(null):{};var ue="["===se.charAt(0)&&"]"===se.charAt(se.length-1)?se.slice(1,-1):se,ge=K.decodeDotInKeys?ue.replace(/%2E/g,"."):ue,Ae=parseInt(ge,10);K.parseArrays||""!==ge?!isNaN(Ae)&&se!==ge&&String(Ae)===ge&&Ae>=0&&K.parseArrays&&Ae<=K.arrayLimit?(H=[])[Ae]=O:"__proto__"!==ge&&(H[ge]=O):H={0:O}}O=H}return O}(Ae,K,ee,O)}};Ne.exports=function(re,ne){var K=function(ne){if(!ne)return N;if(typeof ne.allowEmptyArrays<"u"&&"boolean"!=typeof ne.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof ne.decodeDotInKeys<"u"&&"boolean"!=typeof ne.decodeDotInKeys)throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==ne.decoder&&typeof ne.decoder<"u"&&"function"!=typeof ne.decoder)throw new TypeError("Decoder has to be a function.");if(typeof ne.charset<"u"&&"utf-8"!==ne.charset&&"iso-8859-1"!==ne.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var K=typeof ne.charset>"u"?N.charset:ne.charset,ee=typeof ne.duplicates>"u"?N.duplicates:ne.duplicates;if("combine"!==ee&&"first"!==ee&&"last"!==ee)throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:typeof ne.allowDots>"u"?!0===ne.decodeDotInKeys||N.allowDots:!!ne.allowDots,allowEmptyArrays:"boolean"==typeof ne.allowEmptyArrays?!!ne.allowEmptyArrays:N.allowEmptyArrays,allowPrototypes:"boolean"==typeof ne.allowPrototypes?ne.allowPrototypes:N.allowPrototypes,allowSparse:"boolean"==typeof ne.allowSparse?ne.allowSparse:N.allowSparse,arrayLimit:"number"==typeof ne.arrayLimit?ne.arrayLimit:N.arrayLimit,charset:K,charsetSentinel:"boolean"==typeof ne.charsetSentinel?ne.charsetSentinel:N.charsetSentinel,comma:"boolean"==typeof ne.comma?ne.comma:N.comma,decodeDotInKeys:"boolean"==typeof ne.decodeDotInKeys?ne.decodeDotInKeys:N.decodeDotInKeys,decoder:"function"==typeof ne.decoder?ne.decoder:N.decoder,delimiter:"string"==typeof ne.delimiter||X.isRegExp(ne.delimiter)?ne.delimiter:N.delimiter,depth:"number"==typeof ne.depth||!1===ne.depth?+ne.depth:N.depth,duplicates:ee,ignoreQueryPrefix:!0===ne.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof ne.interpretNumericEntities?ne.interpretNumericEntities:N.interpretNumericEntities,parameterLimit:"number"==typeof ne.parameterLimit?ne.parameterLimit:N.parameterLimit,parseArrays:!1!==ne.parseArrays,plainObjects:"boolean"==typeof ne.plainObjects?ne.plainObjects:N.plainObjects,strictNullHandling:"boolean"==typeof ne.strictNullHandling?ne.strictNullHandling:N.strictNullHandling}}(ne);if(""===re||null===re||typeof re>"u")return K.plainObjects?Object.create(null):{};for(var ee="string"==typeof re?function(ne,K){var ue,ee={__proto__:null},H=(K.ignoreQueryPrefix?ne.replace(/^\?/,""):ne).split(K.delimiter,K.parameterLimit===1/0?void 0:K.parameterLimit),se=-1,ge=K.charset;if(K.charsetSentinel)for(ue=0;ue{"use strict";var X=fe(541),ce=fe(221),Y=fe(140),N=Object.prototype.hasOwnProperty,Te={brackets:function(O){return O+"[]"},comma:"comma",indices:function(O,L){return O+"["+L+"]"},repeat:function(O){return O}},le=Array.isArray,J=Array.prototype.push,Ve=function(ee,O){J.apply(ee,le(O)?O:[O])},Ee=Date.prototype.toISOString,ye=Y.default,te={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:ce.encode,encodeValuesOnly:!1,format:ye,formatter:Y.formatters[ye],indices:!1,serializeDate:function(O){return Ee.call(O)},skipNulls:!1,strictNullHandling:!1},re={},ne=function ee(O,L,H,se,ue,ge,Ae,ut,nt,Ut,ht,bn,pt,lo,$n,cn,Lo,Vn){for(var ve=O,ze=Vn,Ce=0,Le=!1;void 0!==(ze=ze.get(re))&&!Le;){var Qe=ze.get(O);if(Ce+=1,typeof Qe<"u"){if(Qe===Ce)throw new RangeError("Cyclic object value");Le=!0}typeof ze.get(re)>"u"&&(Ce=0)}if("function"==typeof Ut?ve=Ut(L,ve):ve instanceof Date?ve=pt(ve):"comma"===H&&le(ve)&&(ve=ce.maybeMap(ve,function(Fi){return Fi instanceof Date?pt(Fi):Fi})),null===ve){if(ge)return nt&&!cn?nt(L,te.encoder,Lo,"key",lo):L;ve=""}if(function(O){return"string"==typeof O||"number"==typeof O||"boolean"==typeof O||"symbol"==typeof O||"bigint"==typeof O}(ve)||ce.isBuffer(ve))return nt?[$n(cn?L:nt(L,te.encoder,Lo,"key",lo))+"="+$n(nt(ve,te.encoder,Lo,"value",lo))]:[$n(L)+"="+$n(String(ve))];var vi,Nt=[];if(typeof ve>"u")return Nt;if("comma"===H&&le(ve))cn&&nt&&(ve=ce.maybeMap(ve,nt)),vi=[{value:ve.length>0?ve.join(",")||null:void 0}];else if(le(Ut))vi=Ut;else{var cr=Object.keys(ve);vi=ht?cr.sort(ht):cr}var Ar=ut?L.replace(/\./g,"%2E"):L,So=se&&le(ve)&&1===ve.length?Ar+"[]":Ar;if(ue&&le(ve)&&0===ve.length)return So+"[]";for(var bi=0;bi"u"?!0===O.encodeDotInKeys||te.allowDots:!!O.allowDots,allowEmptyArrays:"boolean"==typeof O.allowEmptyArrays?!!O.allowEmptyArrays:te.allowEmptyArrays,arrayFormat:ge,charset:L,charsetSentinel:"boolean"==typeof O.charsetSentinel?O.charsetSentinel:te.charsetSentinel,commaRoundTrip:O.commaRoundTrip,delimiter:typeof O.delimiter>"u"?te.delimiter:O.delimiter,encode:"boolean"==typeof O.encode?O.encode:te.encode,encodeDotInKeys:"boolean"==typeof O.encodeDotInKeys?O.encodeDotInKeys:te.encodeDotInKeys,encoder:"function"==typeof O.encoder?O.encoder:te.encoder,encodeValuesOnly:"boolean"==typeof O.encodeValuesOnly?O.encodeValuesOnly:te.encodeValuesOnly,filter:ue,format:H,formatter:se,serializeDate:"function"==typeof O.serializeDate?O.serializeDate:te.serializeDate,skipNulls:"boolean"==typeof O.skipNulls?O.skipNulls:te.skipNulls,sort:"function"==typeof O.sort?O.sort:null,strictNullHandling:"boolean"==typeof O.strictNullHandling?O.strictNullHandling:te.strictNullHandling}}(O);"function"==typeof H.filter?L=(0,H.filter)("",L):le(H.filter)&&(se=H.filter);var ge=[];if("object"!=typeof L||null===L)return"";var Ae=Te[H.arrayFormat],ut="comma"===Ae&&H.commaRoundTrip;se||(se=Object.keys(L)),H.sort&&se.sort(H.sort);for(var nt=X(),Ut=0;Ut0?pt+bn:""}},221:(Ne,jt,fe)=>{"use strict";var X=fe(140),ce=Object.prototype.hasOwnProperty,Y=Array.isArray,N=function(){for(var O=[],L=0;L<256;++L)O.push("%"+((L<16?"0":"")+L.toString(16)).toUpperCase());return O}(),le=function(L,H){for(var se=H&&H.plainObjects?Object.create(null):{},ue=0;ue1;){var H=L.pop(),se=H.obj[H.prop];if(Y(se)){for(var ue=[],ge=0;ge=1024?Ae.slice(nt,nt+1024):Ae,ht=[],bn=0;bn=48&&pt<=57||pt>=65&&pt<=90||pt>=97&&pt<=122||ge===X.RFC1738&&(40===pt||41===pt)?ht[ht.length]=Ut.charAt(bn):pt<128?ht[ht.length]=N[pt]:pt<2048?ht[ht.length]=N[192|pt>>6]+N[128|63&pt]:pt<55296||pt>=57344?ht[ht.length]=N[224|pt>>12]+N[128|pt>>6&63]+N[128|63&pt]:(pt=65536+((1023&pt)<<10|1023&Ut.charCodeAt(bn+=1)),ht[ht.length]=N[240|pt>>18]+N[128|pt>>12&63]+N[128|pt>>6&63]+N[128|63&pt])}ut+=ht.join("")}return ut},isBuffer:function(L){return!(!L||"object"!=typeof L||!(L.constructor&&L.constructor.isBuffer&&L.constructor.isBuffer(L)))},isRegExp:function(L){return"[object RegExp]"===Object.prototype.toString.call(L)},maybeMap:function(L,H){if(Y(L)){for(var se=[],ue=0;ue{"use strict";var X=fe(258),ce=fe(736),Y=fe(861)(),N=fe(798),Te=fe(758),le=X("%Math.floor%");Ne.exports=function(Ve,Ee){if("function"!=typeof Ve)throw new Te("`fn` is not a function");if("number"!=typeof Ee||Ee<0||Ee>4294967295||le(Ee)!==Ee)throw new Te("`length` must be a positive 32-bit integer");var ye=arguments.length>2&&!!arguments[2],te=!0,Re=!0;if("length"in Ve&&N){var re=N(Ve,"length");re&&!re.configurable&&(te=!1),re&&!re.writable&&(Re=!1)}return(te||Re||!ye)&&(Y?ce(Ve,"length",Ee,!0,!0):ce(Ve,"length",Ee)),Ve}},541:(Ne,jt,fe)=>{"use strict";var X=fe(258),ce=fe(20),Y=fe(150),N=fe(758),Te=X("%WeakMap%",!0),le=X("%Map%",!0),J=ce("WeakMap.prototype.get",!0),Ve=ce("WeakMap.prototype.set",!0),Ee=ce("WeakMap.prototype.has",!0),ye=ce("Map.prototype.get",!0),te=ce("Map.prototype.set",!0),Re=ce("Map.prototype.has",!0),re=function(O,L){for(var se,H=O;null!==(se=H.next);H=se)if(se.key===L)return H.next=se.next,se.next=O.next,O.next=se,se};Ne.exports=function(){var L,H,se,ue={assert:function(ge){if(!ue.has(ge))throw new N("Side channel does not contain "+Y(ge))},get:function(ge){if(Te&&ge&&("object"==typeof ge||"function"==typeof ge)){if(L)return J(L,ge)}else if(le){if(H)return ye(H,ge)}else if(se)return function(O,L){var H=re(O,L);return H&&H.value}(se,ge)},has:function(ge){if(Te&&ge&&("object"==typeof ge||"function"==typeof ge)){if(L)return Ee(L,ge)}else if(le){if(H)return Re(H,ge)}else if(se)return function(O,L){return!!re(O,L)}(se,ge);return!1},set:function(ge,Ae){Te&&ge&&("object"==typeof ge||"function"==typeof ge)?(L||(L=new Te),Ve(L,ge,Ae)):le?(H||(H=new le),te(H,ge,Ae)):(se||(se={key:{},next:null}),function(O,L,H){var se=re(O,L);se?se.value=H:O.next={key:L,next:O.next,value:H}}(se,ge,Ae))}};return ue}},634:()=>{}},Ne=>{Ne(Ne.s=285)}]); \ No newline at end of file