From cf4ac6d1732a00822e5fba8145260408675d1172 Mon Sep 17 00:00:00 2001
From: linghaihui <75124771@qq.com>
Date: Sun, 9 Apr 2023 23:44:21 +0800
Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=88=87=E6=8D=A2=E5=AF=B9?=
=?UTF-8?q?=E8=AF=9D=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
bingchat/app.js | 6 +-
bingchat/components/chatbox/index.js | 10 +--
bingchat/components/chatbox/index.json | 7 +-
bingchat/components/chatbox/index.wxml | 1 +
bingchat/components/quotes/quotes.js | 71 ++++++++++++++++++
bingchat/components/quotes/quotes.json | 4 +
bingchat/components/quotes/quotes.wxml | 3 +
bingchat/components/quotes/quotes.wxss | 23 ++++++
bingchat/image/chatgpt_share.png | Bin 5217 -> 7338 bytes
.../miniprogram_npm/mp-html/node/node.wxss | 2 +-
bingchat/pages/index/index.js | 70 +++++++++++++----
bingchat/pages/index/index.wxml | 4 +-
new-bing/app.py | 23 +++++-
13 files changed, 193 insertions(+), 31 deletions(-)
create mode 100644 bingchat/components/quotes/quotes.js
create mode 100644 bingchat/components/quotes/quotes.json
create mode 100644 bingchat/components/quotes/quotes.wxml
create mode 100644 bingchat/components/quotes/quotes.wxss
diff --git a/bingchat/app.js b/bingchat/app.js
index 61a56e7..c0c56d3 100644
--- a/bingchat/app.js
+++ b/bingchat/app.js
@@ -1,6 +1,6 @@
import {
doRequest,
- sid_prefix
+ sidPrefix
} from "./config"
App({
@@ -23,7 +23,7 @@ App({
var data = res.data
if (data && data.length > 0) {
doRequest("/save", "POST", {
- "sid": sid_prefix + sid,
+ "sid": sidPrefix + sid,
"conversations": data
}).then(res => {
that.globalData["saved"] = res.data["saved"]
@@ -42,7 +42,7 @@ App({
} else {
that.getSid(sid => {
doRequest("/save", "POST", {
- "sid": sid_prefix + sid,
+ "sid": sidPrefix + sid,
"conversations": conversations,
}).then(res => {
console.log("upload " + conversations.length + " conversations success!")
diff --git a/bingchat/components/chatbox/index.js b/bingchat/components/chatbox/index.js
index 311a7a1..e900b1d 100644
--- a/bingchat/components/chatbox/index.js
+++ b/bingchat/components/chatbox/index.js
@@ -2,7 +2,7 @@ const app = getApp()
import {
doRequest,
- sid_prefix,
+ sidPrefix,
systemInfo
} from "../../config"
@@ -48,7 +48,7 @@ Component({
showShare: false,
loadingData: false,
systemInfo: systemInfo,
- height: systemInfo.windowHeight - parseInt(100 / 750 * systemInfo.windowWidth) - ((systemInfo.platform == "ios" || systemInfo.platform == "android") ? 22 : 5)
+ height: systemInfo.windowHeight - parseInt(100 / 750 * systemInfo.windowWidth) - ((systemInfo.platform == "ios" || systemInfo.platform == "android") ? 22 : 0)
},
methods: {
bindscrolltoupper: function (e) {
@@ -68,7 +68,7 @@ Component({
page = Math.ceil((that.data.chatList.length + 1) / 10)
}
doRequest("/query", "GET", {
- "sid": sid_prefix + sid,
+ "sid": sidPrefix + sid,
"page": page,
"size": 10,
}).then(res => {
@@ -93,7 +93,7 @@ Component({
if (oldData.length < 10) {
wx.setStorage({
key: "chatList",
- data: newData.slice(newData.length - 10),
+ data: newData.slice(-10),
})
}
if (filterData.length == 0 && e) {
@@ -149,7 +149,7 @@ Component({
})
app.getSid(sid => {
doRequest("/delete", "POST", {
- "sid": sid_prefix + sid,
+ "sid": sidPrefix + sid,
"conversation": deleteData
}).then(res => {
console.log(res)
diff --git a/bingchat/components/chatbox/index.json b/bingchat/components/chatbox/index.json
index 9d9ffff..8a8fbb8 100644
--- a/bingchat/components/chatbox/index.json
+++ b/bingchat/components/chatbox/index.json
@@ -1,7 +1,8 @@
{
"component": true,
"usingComponents": {
- "mp-html": "mp-html",
- "popup": "../popup/popup"
- }
+ "mp-html": "mp-html",
+ "popup": "../popup/popup",
+ "quotes": "../quotes/quotes"
+ }
}
\ No newline at end of file
diff --git a/bingchat/components/chatbox/index.wxml b/bingchat/components/chatbox/index.wxml
index fa8a1c1..74cea44 100644
--- a/bingchat/components/chatbox/index.wxml
+++ b/bingchat/components/chatbox/index.wxml
@@ -13,6 +13,7 @@
{{item.originContent}}
+
{{suggest}}
diff --git a/bingchat/components/quotes/quotes.js b/bingchat/components/quotes/quotes.js
new file mode 100644
index 0000000..2ed8cbd
--- /dev/null
+++ b/bingchat/components/quotes/quotes.js
@@ -0,0 +1,71 @@
+// components/quotes/quotes.js
+
+var urlRe = /\[\d+\]:.*/g
+
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ content: {
+ type: String,
+ value: "",
+ observer(nv, ov, path) {
+ if (nv) {
+ var quoteUrls = this.getquoteUrls(nv)
+ this.setData({
+ quoteUrls: quoteUrls
+ })
+ } else {
+ this.setData({
+ quoteUrls: []
+ })
+ }
+ }
+ }
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ quoteUrls: []
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ copyUrl: function (e) {
+ var url = e.currentTarget.dataset.url
+ wx.setClipboardData({
+ data: url,
+ success: function () {
+ wx.showToast({
+ title: "链接已复制",
+ })
+ }
+ })
+ },
+ getquoteUrls: function (content) {
+ var quoteUrls = content.match(urlRe)
+ if (null == quoteUrls) {
+ return []
+ }
+ var res = []
+ quoteUrls.forEach(k => {
+ k = k.split(" ")
+ var i = k[0].match(/\[(\d+)\]/)[1]
+ var url = k[1]
+ var host = url.split("/").splice(0, 3).join("/")
+ var title = k.slice(2).join("").replaceAll('"', "")
+ res.push({
+ i,
+ url,
+ host,
+ title
+ })
+ })
+ return res
+ }
+ }
+})
diff --git a/bingchat/components/quotes/quotes.json b/bingchat/components/quotes/quotes.json
new file mode 100644
index 0000000..7efff18
--- /dev/null
+++ b/bingchat/components/quotes/quotes.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/bingchat/components/quotes/quotes.wxml b/bingchat/components/quotes/quotes.wxml
new file mode 100644
index 0000000..3f57e79
--- /dev/null
+++ b/bingchat/components/quotes/quotes.wxml
@@ -0,0 +1,3 @@
+
+ {{item.i}}. {{item.host}} {{item.title}}
+
\ No newline at end of file
diff --git a/bingchat/components/quotes/quotes.wxss b/bingchat/components/quotes/quotes.wxss
new file mode 100644
index 0000000..a58e334
--- /dev/null
+++ b/bingchat/components/quotes/quotes.wxss
@@ -0,0 +1,23 @@
+.quote {
+ display: flex;
+ justify-content: flex-start;
+ flex-wrap: wrap;
+ background-color: #f4f6f8;
+ border-radius: 0rpx 16rpx 0rpx 16rpx;
+ padding: 10rpx 16rpx 10rpx 16rpx;
+ margin-top: -16rpx;
+}
+
+.quote-item {
+ background-color: #D1DBFA;
+ display: inline-block;
+ padding: 5rpx;
+ border-radius: 8rpx;
+ margin-right: 10rpx;
+ color: #123BB6;
+ margin-bottom: 10rpx;
+ font-size: 24rpx;
+ cursor: pointer;
+ word-break: break-all;
+ min-width: 100%;
+}
diff --git a/bingchat/image/chatgpt_share.png b/bingchat/image/chatgpt_share.png
index 676679cfa5cd56a917d8eed3cd74f5c8c9495c9b..ad1fed586b8eea37109c9c44ebb10bae862e055e 100644
GIT binary patch
literal 7338
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.newline{display:block}.katex .base{position:relative;display:inline-block;white-space:nowrap;width:min-content}.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-weight:700;font-style:italic}.katex .amsrm{font-family:KaTeX_AMS}.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{display:inline-table;table-layout:fixed;border-collapse:collapse}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;vertical-align:bottom;position:relative}.katex .vlist>.katex-span{display:block;height:0;position:relative}.katex .vlist>.katex-span>.katex-span{display:inline-block}.katex .vlist>.katex-span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px}.katex .vbox{display:inline-flex;flex-direction:column;align-items:baseline}.katex .hbox{display:inline-flex;flex-direction:row;width:100%}.katex .thinbox{display:inline-flex;flex-direction:row;width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>.katex-span>.katex-span{text-align:center}.katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>.katex-span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;border:solid 0;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>.katex-span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>.katex-span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter{position:relative}.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .op-limits>.vlist-t{text-align:center}.katex .accent>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex .katex-svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex .katex-svg path{stroke:none}.katex img{border-style:none;min-width:0;min-height:0;max-width:none;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy::after,.katex .stretchy::before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden}.katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden}.katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden}.katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden}.katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num::before{counter-increment:katexEqnNo;content:"(" counter(katexEqnNo) ")"}.katex .mml-eqn-num::before{counter-increment:mmlEqnNo;content:"(" counter(mmlEqnNo) ")"}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;position:absolute;left:calc(50% + .3em);text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}.md-p{margin-block-start:1em;margin-block-end:0}.md-blockquote,.md-table{margin-bottom:16px}.md-table{box-sizing:border-box;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse}.md-tr{background-color:#fff;border-top:1px solid #c6cbd1}.md-table .md-tr:nth-child(2n){background-color:#f6f8fa}.md-td,.md-th{padding:6px 13px!important;border:1px solid #dfe2e5}.md-th{font-weight:600}.md-blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}.md-code{padding:.2em .4em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}.md-pre .md-code{padding:0;font-size:100%;background:0 0;border:0}.hl-pre{position:relative}.hl-code{overflow:auto;display:block}.hl-language{font-size:12px;font-weight:600;position:absolute;right:8px;text-align:right;top:3px}.hl-pre{padding-top:1.5em}.hl-pre{font-size:14px;padding-left:3.8em;counter-reset:linenumber}.line-numbers-rows{position:absolute;pointer-events:none;top:1.5em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows .span{display:block;counter-increment:linenumber}.line-numbers-rows .span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}._a{padding:1.5px 0 1.5px 0;color:#366092;word-break:break-all;cursor:pointer;z-index:10000;position:relative}._hover{text-decoration:underline;opacity:.7}._img{max-width:100%;-webkit-touch-callout:none}._b,._strong{font-weight:700}._code{font-family:monospace}._del{text-decoration:line-through}._em,._i{font-style:italic}._h1{font-size:2em}._h2{font-size:1.5em}._h3{font-size:1.17em}._h5{font-size:.83em}._h6{font-size:.67em}._h1,._h2,._h3,._h4,._h5,._h6{display:block;font-weight:700}._ins{text-decoration:underline}._li{display:list-item}._ol{list-style-type:decimal}._ol,._ul{display:block;padding-left:40px;margin:1em 0}._q::before{content:'"'}._q::after{content:'"'}._sub{font-size:smaller;vertical-align:sub}._sup{font-size:smaller;vertical-align:super}._tbody,._tfoot,._thead{display:table-row-group}._tr{display:table-row}._td,._th{display:table-cell;vertical-align:middle}._th{font-weight:700;text-align:center}._ul{list-style-type:disc}._ul ._ul{margin:0;list-style-type:circle}._ul ._ul ._ul{list-style-type:square}._abbr,._b,._code,._del,._em,._i,._ins,._label,._q,._span,._strong,._sub,._sup{display:inline}._blockquote,._div,._p{display:block}
\ No newline at end of file
+.hl-code,.hl-pre{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.hl-code ::-moz-selection,.hl-code::-moz-selection,.hl-pre ::-moz-selection,.hl-pre::-moz-selection{text-shadow:none;background:#b3d4fc}.hl-code ::selection,.hl-code::selection,.hl-pre ::selection,.hl-pre::selection{text-shadow:none;background:#b3d4fc}@media print{.hl-code,.hl-pre{text-shadow:none}}.hl-pre{padding:1.5em;margin:.5em 0;overflow:auto}.hl-pre{background:#f5f2f0}.hl-cdata,.hl-comment,.hl-doctype,.hl-prolog{color:#708090}.hl-punctuation{color:#999}.hl-namespace{opacity:.7}.hl-boolean,.hl-constant,.hl-deleted,.hl-number,.hl-property,.hl-symbol,.hl-tag{color:#905}.hl-attr-name,.hl-builtin,.hl-char,.hl-inserted,.hl-selector,.hl-string{color:#690}.hl-entity,.hl-operator,.hl-url,.language-css .hl-string,.style .hl-string{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.hl-atrule,.hl-attr-value,.hl-keyword{color:#07a}.hl-class-name,.hl-function{color:#dd4a68}.hl-important,.hl-regex,.hl-variable{color:#e90}.hl-bold,.hl-important{font-weight:700}.hl-italic{font-style:italic}.hl-entity{cursor:help}@font-face{font-family:KaTeX_AMS;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_AMS-Regular.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_AMS-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Fraktur-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Fraktur-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-Bold.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-Italic.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-Regular.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Main-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Math;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Math-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Math;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Math-Italic.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Math-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_SansSerif;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_SansSerif-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_SansSerif;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_SansSerif-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_SansSerif;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_SansSerif-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Script;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Script-Regular.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Script-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size1;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size1-Regular.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size1-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size2;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size2-Regular.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size2-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size3;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size3-Regular.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size3-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size4;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size4-Regular.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Size4-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Typewriter;src:url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.13.16/fonts/KaTeX_Typewriter-Regular.ttf) format("truetype");font-weight:400;font-style:normal}.katex{counter-reset:katexEqnNo mmlEqnNo;font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex text,.katex view{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-mathml{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{position:relative;display:inline-block;white-space:nowrap;width:min-content}.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-weight:700;font-style:italic}.katex .amsrm{font-family:KaTeX_AMS}.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{display:inline-table;table-layout:fixed;border-collapse:collapse}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;vertical-align:bottom;position:relative}.katex .vlist>.katex-span{display:block;height:0;position:relative}.katex .vlist>.katex-span>.katex-span{display:inline-block}.katex .vlist>.katex-span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px}.katex .vbox{display:inline-flex;flex-direction:column;align-items:baseline}.katex .hbox{display:inline-flex;flex-direction:row;width:100%}.katex .thinbox{display:inline-flex;flex-direction:row;width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>.katex-span>.katex-span{text-align:center}.katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>.katex-span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;border:solid 0;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>.katex-span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>.katex-span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter{position:relative}.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .op-limits>.vlist-t{text-align:center}.katex .accent>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex .katex-svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex .katex-svg path{stroke:none}.katex img{border-style:none;min-width:0;min-height:0;max-width:none;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy::after,.katex .stretchy::before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden}.katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden}.katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden}.katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden}.katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num::before{counter-increment:katexEqnNo;content:"(" counter(katexEqnNo) ")"}.katex .mml-eqn-num::before{counter-increment:mmlEqnNo;content:"(" counter(mmlEqnNo) ")"}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;position:absolute;left:calc(50% + .3em);text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}.md-p{margin-block-start:1em;margin-block-end:0}.md-blockquote,.md-table{margin-bottom:16px}.md-table{box-sizing:border-box;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse}.md-tr{background-color:#fff;border-top:1px solid #c6cbd1}.md-table .md-tr:nth-child(2n){background-color:#f6f8fa}.md-td,.md-th{padding:6px 13px!important;border:1px solid #dfe2e5}.md-th{font-weight:600}.md-blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}.md-code{padding:.2em .4em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}.md-pre .md-code{padding:0;font-size:100%;background:0 0;border:0}.hl-pre{position:relative}.hl-code{overflow:auto;display:block}.hl-language{font-size:12px;font-weight:600;position:absolute;right:8px;text-align:right;top:3px}.hl-pre{padding-top:1.5em}.hl-pre{font-size:14px;padding-left:3.8em;counter-reset:linenumber}.line-numbers-rows{position:absolute;pointer-events:none;top:1.5em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows .span{display:block;counter-increment:linenumber}.line-numbers-rows .span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}._a{padding:1.5px 0 1.5px 0;color:#123BB6;word-break:break-all;cursor:pointer;z-index:10000;position:relative}._hover{text-decoration:underline;opacity:.7}._img{max-width:100%;-webkit-touch-callout:none}._b,._strong{font-weight:700}._code{font-family:monospace}._del{text-decoration:line-through}._em,._i{font-style:italic}._h1{font-size:2em}._h2{font-size:1.5em}._h3{font-size:1.17em}._h5{font-size:.83em}._h6{font-size:.67em}._h1,._h2,._h3,._h4,._h5,._h6{display:block;font-weight:700}._ins{text-decoration:underline}._li{display:list-item}._ol{list-style-type:decimal}._ol,._ul{display:block;padding-left:40px;margin:1em 0}._q::before{content:'"'}._q::after{content:'"'}._sub{font-size:smaller;vertical-align:sub}._sup{font-size:smaller;vertical-align:super}._tbody,._tfoot,._thead{display:table-row-group}._tr{display:table-row}._td,._th{display:table-cell;vertical-align:middle}._th{font-weight:700;text-align:center}._ul{list-style-type:disc}._ul ._ul{margin:0;list-style-type:circle}._ul ._ul ._ul{list-style-type:square}._abbr,._b,._code,._del,._em,._i,._ins,._label,._q,._span,._strong,._sub,._sup{display:inline}._blockquote,._div,._p{display:block}
\ No newline at end of file
diff --git a/bingchat/pages/index/index.js b/bingchat/pages/index/index.js
index 88b56bd..b17a166 100644
--- a/bingchat/pages/index/index.js
+++ b/bingchat/pages/index/index.js
@@ -2,7 +2,7 @@ import {
doRequest,
SERVER_WSS_HOST,
systemInfo,
- sid_prefix
+ sidPrefix
} from "../../config"
const initHeight = inputPop() ? 22 : 5
@@ -32,6 +32,17 @@ try {
} catch (e) {
chatType = "bing"
}
+// 对话模式
+var chatStyleList = ["creative", "balanced", "precise"]
+var chatStyle = chatStyleList[0]
+try {
+ var chatStyle = wx.getStorageSync("chatStyle")
+ if (!chatStyle) {
+ chatStyle = chatStyleList[0]
+ }
+} catch (e) {
+ chatStyle = chatStyleList[0]
+}
Date.prototype.format = function (fmt) {
var o = {
@@ -84,6 +95,12 @@ Page({
showSearchPop: false,
searchPopMessage: "",
chatType: chatType,
+ chatStyle: chatStyle,
+ chatStyleBg: {
+ creative: "#8B257E",
+ balanced: "#1B4AEF",
+ precise: "#005366"
+ }
},
inputFocus(e) {
if (inputPop()) {
@@ -104,7 +121,7 @@ Page({
resetConversation: function (callback) {
app.getSid(sid => {
doRequest("/reset", "GET", {
- sid: sid_prefix + sid,
+ sid: sidPrefix + sid,
}).then(res => {
if (callback) {
callback(res)
@@ -175,7 +192,7 @@ Page({
scrollId: "item" + (cht.data.chatList.length - 2),
})
}
- }, 500)
+ }, 300)
},
processData: function (data, suggests, content) {
var robContent = data["data"]["status"]
@@ -213,9 +230,10 @@ Page({
var that = this
app.getSid(sid => {
that.sendSocketMessage({
- "q": content,
- "sid": sid_prefix + sid,
- "t": new Date().getTime()
+ q: content,
+ sid: sidPrefix + sid,
+ t: new Date().getTime(),
+ style: that.data.chatStyle,
})
})
},
@@ -226,7 +244,8 @@ Page({
app.getSid(sid => {
doRequest(api, "POST", {
q: content,
- sid: sid_prefix + sid,
+ sid: sidPrefix + sid,
+ style: that.data.chatStyle,
}).then(res => {
try {
var robContent = ""
@@ -553,7 +572,7 @@ Page({
})
app.getSid(sid => {
doRequest("/delete_all", "POST", {
- "sid": sid_prefix + sid
+ "sid": sidPrefix + sid
}).then(res => {
console.log("delete all")
wx.setStorage({
@@ -569,18 +588,43 @@ Page({
longPress: function (e) {
var that = this
const cht = app.globalData.cht
- var itemList = ["删除全部聊天记录", "切换聊天接口方式", cht.data.closeShareOnCopy ? "打开复制后分享" : "关闭复制后分享"]
+ var itemList = ["选择对话模式", "删除全部聊天记录", "切换聊天接口方式", cht.data.closeShareOnCopy ? "打开复制后分享" : "关闭复制后分享"]
if ((app.globalData["saved"] && app.globalData["saved"] == 1) || that.data.chatType == "chatgpt") {
- itemList = ["删除全部聊天记录", "切换聊天接口方式", cht.data.closeShareOnCopy ? "打开复制后分享" : "关闭复制后分享", that.data.chatType == "bing" ? "切换成ChatGPT" : "切换成New Bing"]
+ itemList = ["选择对话模式", "删除全部聊天记录", "切换聊天接口方式", cht.data.closeShareOnCopy ? "打开复制后分享" : "关闭复制后分享", that.data.chatType == "bing" ? "切换成ChatGPT" : "切换成New Bing"]
}
wx.showActionSheet({
itemList: itemList,
success(res) {
if (res.tapIndex == 0) {
- that.deleteAllChat()
+ var items = ["更多创造力", "更多平衡", "更多精确"]
+ items.forEach((v, k) => {
+ if (that.data.chatStyle == chatStyleList[k]) {
+ items[k] += "(已选)"
+ }
+ })
+ wx.showActionSheet({
+ title: "选择对话模式",
+ itemList: items,
+ success(res) {
+ wx.showToast({
+ title: "已选择“" + items[res.tapIndex] + "”",
+ icon: "none"
+ })
+ var chatStyle = chatStyleList[res.tapIndex]
+ that.setData({
+ chatStyle: chatStyle
+ })
+ wx.setStorage({
+ key: "chatStyle",
+ data: chatStyle,
+ })
+ }
+ })
} else if (res.tapIndex == 1) {
- that.switchRequestMethod()
+ that.deleteAllChat()
} else if (res.tapIndex == 2) {
+ that.switchRequestMethod()
+ } else if (res.tapIndex == 3) {
if (cht.data.closeShareOnCopy) {
cht.setData({
closeShareOnCopy: false,
@@ -605,7 +649,7 @@ Page({
data: 1,
})
}
- } else if (res.tapIndex == 3) {
+ } else if (res.tapIndex == 4) {
if (that.data.chatType == "chatgpt") {
wx.removeStorage({
key: "usechatgpt",
diff --git a/bingchat/pages/index/index.wxml b/bingchat/pages/index/index.wxml
index 567d4df..b6cc444 100644
--- a/bingchat/pages/index/index.wxml
+++ b/bingchat/pages/index/index.wxml
@@ -1,6 +1,6 @@
-
-
+
+
发送
\ No newline at end of file
diff --git a/new-bing/app.py b/new-bing/app.py
index 7e43aa8..29e10c8 100644
--- a/new-bing/app.py
+++ b/new-bing/app.py
@@ -91,9 +91,10 @@ async def ws_chat(_, ws):
logger.info('[bing] Websocket receive data: %s', data)
sid = data['sid']
q = data['q']
+ style = data.get('style', 'balanced')
index = 0
last_not_final_text = ''
- async for response in get_bot(sid).ask_stream(q, conversation_style=ConversationStyle.creative):
+ async for response in get_bot(sid).ask_stream(q, conversation_style=ConversationStyle[style]):
final, res = response
if final:
processed_data = await process_data(res, q, sid, auto_reset=1)
@@ -147,8 +148,10 @@ async def reset_conversation(sid):
async def do_chat(request):
logger.info('[bing] Http request payload: %s', request.json)
+ style = request.json.get('style', 'balanced')
return await get_bot(request.json.get('sid')).ask(
- request.json.get('q'), conversation_style=ConversationStyle.creative
+ request.json.get('q'),
+ conversation_style=ConversationStyle[style],
)
@@ -217,6 +220,16 @@ async def openid(request):
# #########################################以下是openid接口##################################
+def get_temperature(style):
+ if style == ConversationStyle.balanced.name:
+ return 1
+ elif style == ConversationStyle.creative.name:
+ return 1.5
+ elif style == ConversationStyle.precise.name:
+ return 0.5
+ return 0.5
+
+
@app.websocket('/ws_openai_chat')
async def ws_openai_chat(_, ws):
while True:
@@ -227,6 +240,7 @@ async def ws_openai_chat(_, ws):
if not show_chatgpt(sid):
raise Exception('无权限访问此服务')
q = data['q']
+ style = data.get('style', 'balanced')
# 保存30个对话
history_conversation = OPENAI_CONVERSATION[sid][-30:]
history_conversation.append({
@@ -236,7 +250,7 @@ async def ws_openai_chat(_, ws):
response = openai.ChatCompletion.create(
model='gpt-3.5-turbo',
messages=history_conversation,
- temperature=0.8,
+ temperature=get_temperature(style),
stream=True,
)
chunks = []
@@ -281,6 +295,7 @@ async def openai_chat(request):
if not show_chatgpt(sid):
raise Exception('无权限访问此服务')
q = request.json.get('q')
+ style = request.json.get('style', 'balanced')
history_conversation = OPENAI_CONVERSATION[sid][-30:]
history_conversation.append({
'role': 'user',
@@ -289,7 +304,7 @@ async def openai_chat(request):
response = openai.ChatCompletion.create(
model='gpt-3.5-turbo',
messages=history_conversation,
- temperature=0.8,
+ temperature=get_temperature(style),
stream=True,
)
chunks = []