fmode-ng 0.0.41 → 0.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/LICENSE.md +8 -0
  2. package/esm2022/fmode-ng.mjs +10 -5
  3. package/esm2022/lib/aigc/agent/agent.prompt.mjs +10 -122
  4. package/esm2022/lib/aigc/agent/index.mjs +10 -2
  5. package/esm2022/lib/aigc/avatar/avatar.module.mjs +10 -45
  6. package/esm2022/lib/aigc/avatar/comp-avatar-particle/avatar.role.mjs +10 -2
  7. package/esm2022/lib/aigc/avatar/comp-avatar-particle/comp-avatar-particle.component.mjs +10 -315
  8. package/esm2022/lib/aigc/avatar/comp-avatar-particle/index.mjs +10 -3
  9. package/esm2022/lib/aigc/avatar/comp-avatar-particle/role-points.class.mjs +10 -57
  10. package/esm2022/lib/aigc/avatar/comp-avatar-role-image/comp-avatar-role-image.component.mjs +10 -97
  11. package/esm2022/lib/aigc/avatar/comp-avatar-role-video/comp-avatar-role-video.component.mjs +10 -104
  12. package/esm2022/lib/aigc/avatar/comp-avatar-talk/comp-avatar-talk.component.mjs +10 -111
  13. package/esm2022/lib/aigc/avatar/index.mjs +10 -8
  14. package/esm2022/lib/aigc/avatar/interface-avatar-role.mjs +10 -2
  15. package/esm2022/lib/aigc/avatar/modal-chat-voice-input/modal-chat-voice-input.component.mjs +8 -166
  16. package/esm2022/lib/aigc/chat/chat-header-area/comp-header-area.component.mjs +10 -36
  17. package/esm2022/lib/aigc/chat/chat-header-area/index.mjs +10 -2
  18. package/esm2022/lib/aigc/chat/chat-list/chat-list.component.mjs +8 -141
  19. package/esm2022/lib/aigc/chat/chat-list/index.mjs +10 -2
  20. package/esm2022/lib/aigc/chat/chat-message-area/comp-message-area.component.mjs +10 -40
  21. package/esm2022/lib/aigc/chat/chat-message-area/index.mjs +10 -2
  22. package/esm2022/lib/aigc/chat/chat-message-card/comp-message-card.component.mjs +10 -92
  23. package/esm2022/lib/aigc/chat/chat-message-card/index.mjs +10 -2
  24. package/esm2022/lib/aigc/chat/chat-modal-input/index.mjs +10 -2
  25. package/esm2022/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component.mjs +8 -207
  26. package/esm2022/lib/aigc/chat/chat-modal-input/modal-input.component.mjs +10 -236
  27. package/esm2022/lib/aigc/chat/chat-panel/chat-panel.component.mjs +10 -137
  28. package/esm2022/lib/aigc/chat/comp-role-prompt/comp-role-prompt.component.mjs +10 -69
  29. package/esm2022/lib/aigc/chat/comp-role-prompt/index.mjs +10 -2
  30. package/esm2022/lib/aigc/chat/index.mjs +10 -8
  31. package/esm2022/lib/aigc/comp-markdown-preview/clipboard.service.mjs +10 -82
  32. package/esm2022/lib/aigc/comp-markdown-preview/markdown-parse.mjs +8 -269
  33. package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.component.mjs +10 -51
  34. package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.module.mjs +10 -24
  35. package/esm2022/lib/aigc/comp-markdown-preview/plugins/md-mathjax/index.mjs +10 -94
  36. package/esm2022/lib/aigc/index.mjs +10 -13
  37. package/esm2022/lib/aigc/service-fmai/fmai.service.mjs +10 -21
  38. package/esm2022/lib/aigc/service-fmai/service-chat/chat-class.mjs +8 -736
  39. package/esm2022/lib/aigc/service-fmai/service-chat/chat.service.mjs +8 -181
  40. package/esm2022/lib/aigc/service-fmai/service-chat/index.mjs +10 -7
  41. package/esm2022/lib/aigc/service-fmai/service-chat/mask-list.mjs +9 -194
  42. package/esm2022/lib/aigc/service-fmai/service-chat/pipes/chat-content.pipe.mjs +10 -27
  43. package/esm2022/lib/aigc/service-fmai/service-chat/pipes/hidexml.pipe.mjs +10 -27
  44. package/esm2022/lib/aigc/service-fmai/service-chat/utilnow.pipe.mjs +10 -68
  45. package/esm2022/lib/aigc/service-fmai/service-imagine/imagine.service.mjs +8 -229
  46. package/esm2022/lib/aigc/service-fmai/service-imagine/index.mjs +10 -2
  47. package/esm2022/lib/aigc/voice/audio.player.mjs +10 -52
  48. package/esm2022/lib/aigc/voice/class-asr.mjs +8 -79
  49. package/esm2022/lib/aigc/voice/fmode-voice.service.mjs +8 -501
  50. package/esm2022/lib/aigc/voice/index.mjs +10 -3
  51. package/esm2022/lib/aigc/voice/lib/pcm2wav.mjs +10 -38
  52. package/esm2022/lib/aigc/voice/lib/resample.mjs +10 -34
  53. package/esm2022/lib/aigc/voice/stream.player.mjs +10 -0
  54. package/esm2022/lib/aigc/voice/tts/fmode-tts-class.mjs +8 -233
  55. package/esm2022/lib/aigc/voice/tts/index.mjs +10 -2
  56. package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.component.mjs +10 -190
  57. package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.module.mjs +10 -33
  58. package/esm2022/lib/map/index.mjs +10 -4
  59. package/esm2022/lib/map/map.module.mjs +10 -61
  60. package/esm2022/lib/map/page-loca-scatter/page-loca-scatter.component.mjs +10 -110
  61. package/esm2022/lib/map/page-map.start/page-map.start.component.mjs +8 -98
  62. package/esm2022/lib/map/page-plan-route/page-plan-route.component.mjs +8 -100
  63. package/esm2022/lib/nova-cloud/index.mjs +10 -2
  64. package/esm2022/lib/nova-cloud/nova-cloud.service.mjs +10 -148
  65. package/esm2022/lib/platform/cross.service.mjs +10 -63
  66. package/esm2022/lib/platform/index.mjs +10 -2
  67. package/esm2022/lib/social/index.mjs +10 -2
  68. package/esm2022/lib/social/wechat/wechat-jssdk.service.mjs +8 -236
  69. package/esm2022/lib/storage/comp-hwobs-manager/hwobs-manager.component.mjs +10 -59
  70. package/esm2022/lib/storage/index.mjs +10 -5
  71. package/esm2022/lib/storage/service-hwobs/hwobs.service.mjs +8 -130
  72. package/esm2022/lib/storage/service-upload/index.mjs +10 -2
  73. package/esm2022/lib/storage/service-upload/nova-upload.service.mjs +8 -462
  74. package/esm2022/lib/storage/service-upload/util-file-md5.mjs +10 -28
  75. package/esm2022/lib/storage/storage.module.mjs +10 -41
  76. package/esm2022/lib/user/account/account.service.mjs +10 -221
  77. package/esm2022/lib/user/captcha/captcha.component.mjs +10 -135
  78. package/esm2022/lib/user/comp-user-avatar/comp-user-avatar.component.mjs +10 -62
  79. package/esm2022/lib/user/index.mjs +10 -17
  80. package/esm2022/lib/user/login/auth.guard.mjs +10 -28
  81. package/esm2022/lib/user/login/auth.service.mjs +8 -373
  82. package/esm2022/lib/user/login/login.component.mjs +10 -913
  83. package/esm2022/lib/user/modal-user-login/modal-user-login.component.mjs +10 -273
  84. package/esm2022/lib/user/profile/auth-profile.guard.mjs +10 -27
  85. package/esm2022/lib/user/profile/auth-profile.service.mjs +10 -122
  86. package/esm2022/lib/user/profile/profile-bind/profile-bind.component.mjs +10 -115
  87. package/esm2022/lib/user/profile/profile.module.mjs +10 -57
  88. package/esm2022/lib/user/staff/index.mjs +10 -4
  89. package/esm2022/lib/user/staff/staff.guard.mjs +10 -26
  90. package/esm2022/lib/user/staff/staff.module.mjs +10 -18
  91. package/esm2022/lib/user/staff/staff.service.mjs +10 -85
  92. package/esm2022/lib/user/user-name.pipe.mjs +10 -29
  93. package/esm2022/lib/user/user.module.mjs +10 -106
  94. package/esm2022/lib/video/fm-video/fm-video.component.mjs +10 -67
  95. package/esm2022/lib/video/index.mjs +10 -2
  96. package/esm2022/public-api.mjs +10 -13
  97. package/fesm2022/fmode-ng.mjs +7 -8895
  98. package/fesm2022/fmode-ng.mjs.map +1 -1
  99. package/lib/aigc/voice/fmode-voice.service.d.ts +18 -1
  100. package/lib/aigc/voice/stream.player.d.ts +10 -0
  101. package/lib/aigc/voice/tts/fmode-tts-class.d.ts +2 -2
  102. package/package.json +1 -1
@@ -1,271 +1,10 @@
1
- import hljs from 'highlight.js';
2
- import MarkdownIt from "markdown-it";
3
- import $ from "jquery";
4
- /**
5
- * 自定义插件
6
- */
7
- import { MarkdownMathJax } from './plugins/md-mathjax';
8
- /**
9
- * use插件
10
- */
11
- import abbr from 'markdown-it-abbr';
12
- import footnote from 'markdown-it-footnote';
13
- import deflist from 'markdown-it-deflist';
14
- import mark from 'markdown-it-mark';
15
- import ins from 'markdown-it-ins';
16
- import sub from 'markdown-it-sub';
17
- import sup from 'markdown-it-sup';
18
- // import imsize from 'markdown-it-imsize' // fs path
19
- import ruby from 'markdown-it-ruby';
20
- let md = new MarkdownIt({
21
- html: true, // 在源码中启用 HTML 标签
22
- xhtmlOut: true, // 使用 '/' 来闭合单标签 (比如 <br />)。
23
- // 这个选项只对完全的 CommonMark 模式兼容。
24
- breaks: false, // 转换段落里的 '\n' 到 <br>。
25
- // langPrefix: 'language-', // 给围栏代码块的 CSS 语言前缀。对于额外的高亮代码非常有用。
26
- linkify: false, // 将类似 URL 的文本自动转换为链接。
27
- // 启用一些语言中立的替换 + 引号美化
28
- typographer: false,
29
- // 双 + 单引号替换对,当 typographer 启用时。
30
- // 或者智能引号等,可以是 String 或 Array。
31
- //
32
- // 比方说,你可以支持 '«»„“' 给俄罗斯人使用, '„“‚‘' 给德国人使用。
33
- // 还有 ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] 给法国人使用(包括 nbsp)。
34
- quotes: '“”‘’',
35
- // 高亮函数,会返回转义的HTML。
36
- // 或 '' 如果源字符串未更改,则应在外部进行转义。
37
- // 如果结果以 <pre ... 开头,内部包装器则会跳过。
38
- // highlight: function (/*str, lang*/) { return ''; }
39
- highlight: function (str, lang) {
40
- if (lang && hljs.getLanguage(lang)) {
41
- try {
42
- let hljsCode = hljs.highlight(str, { language: lang }).value;
43
- return `<pre style="position:relative;padding:10px;" class="hljs lang-${lang}"><code>${hljsCode}</code><small class="hljs-lang"><span class="sr-only">Language:</span>${lang}</small></pre>`;
44
- }
45
- catch (__) { }
46
- }
47
- return ''; // use external default escaping
48
- }
49
- });
50
- md.use(abbr);
51
- md.use(footnote);
52
- md.use(deflist);
53
- md.use(mark);
54
- md.use(ins);
55
- md.use(sub);
56
- md.use(sup);
57
- // md.use(katex);
58
- // md.use(figure, {
59
- // render: (content, displayMode) => {
60
- // // render tex here and return
61
- // },
62
- // }); // 加载@mdit/tex 被mathjax依赖
63
- // const mathjaxInstance = createMathjaxInstance({output:"svg"});
64
- // md.use(mathjax,mathjaxInstance)
65
- // import MathJax from 'mathjax';
66
- // (window as any).MathJax = MathJax;
67
- // (window as any).markdownitMathjax = {
68
- // messageStyle: 'none',
69
- // skipStartupTypeset: true,
70
- // tex2jax: {
71
- // inlineMath: [['$', '$'], ['\\[', '\\]'],['\\(', '\\)']],
72
- // processEscapes: true
73
- // },
74
- // TeX: {
75
- // extensions: ['mhchem.js']
76
- // }
77
- // };
78
- // (window as any).MathJax = {
79
- // messageStyle: 'none',
80
- // skipStartupTypeset: true,
81
- // tex2jax: {
82
- // inlineMath: [['$', '$'], ['\\(', '\\)']],
83
- // processEscapes: true
84
- // },
85
- // TeX: {
86
- // extensions: ['mhchem.js']
87
- // }
88
- // }
89
- // md.use(mathjax3)
90
- // md.use(mathjax())
91
- // md.use(mathjax({
92
- // beforeMath: '<span class="mathjax raw">',
93
- // afterMath: '</span>',
94
- // beforeInlineMath: '<span class="mathjax raw">\\(',
95
- // afterInlineMath: '\\)</span>',
96
- // beforeDisplayMath: '<span class="mathjax raw">\\[',
97
- // afterDisplayMath: '\\]</span>'
98
- // }))
99
- // md.use(imsize)
100
- md.use(ruby);
101
- /**
102
- * PlantUML 插件
103
- */
104
- const mditConfig = {
105
- plantumlServer: 'https://www.plantuml.com/plantuml'
106
- };
107
- import plantumlEncoder from 'plantuml-encoder';
108
- /**
109
- * uml代码转图片地址方法
110
- * @param {*} umlCode
111
- * @returns
112
- * @example
113
- * console.log(makePlantumlURL(`@startuml
114
- start
115
- :创建本地仓库;
116
- :运行git init;
117
- :使用git add .;
118
- :使用git commit -m "xxx";
119
- :使用git remote add origin xxx;
120
- :使用git push -u origin "master";
121
- stop
122
- @enduml`))
123
- */
124
- function makePlantumlURL(umlCode) {
125
- const format = 'svg';
126
- const code = plantumlEncoder.encode(umlCode);
127
- return `${mditConfig.plantumlServer}/${format}/${code}`;
128
- }
129
- // https://github.com/qjebbs/vscode-plantuml/tree/master/src/markdown-it-plantuml
130
- md.renderer.rules['plantuml'] = (tokens, idx, options, env, self) => {
131
- const token = tokens[idx];
132
- if (token.type !== 'plantuml') {
133
- return tokens[idx].content;
134
- }
135
- const url = makePlantumlURL(token.content);
136
- return `
137
- <img src="${url}" />
138
- <pre style="position:relative;padding:10px;" class="hljs lang-plantuml"><code>${token.content}</code><small class="hljs-lang"><span class="sr-only">Language:</span>plantuml</small></pre>
139
- `;
140
- };
141
- // https://github.com/qjebbs/vscode-plantuml/tree/master/src/markdown-it-plantuml
142
- // 默认不支持rules['plantuml'] 需要通过ruler push
143
- md.core.ruler.push('plantuml', (state) => {
144
- const blockTokens = state.tokens;
145
- for (const blockToken of blockTokens) {
146
- if (blockToken.type === 'fence' && blockToken.info === 'plantuml') {
147
- blockToken.type = 'plantuml';
148
- }
149
- }
150
- });
151
- // regex for extra tags
152
- const spaceregex = /\s*/;
153
- const notinhtmltagregex = /(?![^<]*>|[^<>]*<\/)/;
154
- let coloregex = /\[color=([#|(|)|\s|,|\w]*?)\]/;
155
- coloregex = new RegExp(coloregex.source + notinhtmltagregex.source, 'g');
156
- let nameregex = /\[name=(.*?)\]/;
157
- let timeregex = /\[time=([:|,|+|-|(|)|\s|\w]*?)\]/;
158
- const nameandtimeregex = new RegExp(nameregex.source + spaceregex.source + timeregex.source + notinhtmltagregex.source, 'g');
159
- nameregex = new RegExp(nameregex.source + notinhtmltagregex.source, 'g');
160
- timeregex = new RegExp(timeregex.source + notinhtmltagregex.source, 'g');
161
- function replaceExtraTags(html) {
162
- console.log("replaceExtraTags", html);
163
- html = html.replace(coloregex, '<span class="color" data-color="$1"></span>');
164
- html = html.replace(nameandtimeregex, '<small><i class="fa fa-user"></i> $1 <i class="fa fa-clock-o"></i> $2</small>');
165
- html = html.replace(nameregex, '<small><i class="fa fa-user"></i> $1</small>');
166
- html = html.replace(timeregex, '<small><i class="fa fa-clock-o"></i> $1</small>');
167
- console.log("replaceExtraTags", html);
168
- return html;
169
- }
170
- // 生命周期:生成HTML后,动态修正生成内容:dynamic event or object binding here
171
- function finishView(html) {
172
- let mdDivEl = $.parseHTML(`<html><body><div id="topmd">${html}</div></body></html>`)[0];
173
- let mdhtml$ = $(mdDivEl);
174
- /************************************************
175
- * 第一步:需操作DOM,进行页面修正
176
- */
177
- /**
178
- * BlockQuote 引用增强插件
179
- */
180
- // blockquote 修正引用标签
181
- let blockquote = mdhtml$.find('blockquote.raw').removeClass('raw');
182
- blockquote = mdhtml$.find('blockquote');
183
- let blockquoteP = $(blockquote).find('p');
184
- blockquoteP.each((key, value) => {
185
- let htmlStr = $(value).html();
186
- htmlStr = replaceExtraTags(htmlStr);
187
- value.innerHTML = htmlStr;
188
- $(value).html(htmlStr);
189
- blockquoteP[key].innerHTML = htmlStr;
190
- $(blockquoteP[key]).html(htmlStr);
191
- });
192
- // 引用标签颜色渲染 color tag in blockquote will change its left border color
193
- let blockquoteColor = blockquote.find('.color');
194
- blockquoteColor.each((key, value) => {
195
- let dataColor = $(value).attr('data-color');
196
- $(value).closest('blockquote').css('border-left-color', dataColor);
197
- });
198
- let style = `<style>
199
- .markdown-section {
200
- color: black;
201
- text-align: left;
202
- }
203
- .markdown-section pre .hljs-lang{
204
- text-transform: uppercase;
205
- font-weight: 700;
206
- font-size: .75rem;
207
- line-height: 1rem;
208
- padding-top: .25rem;
209
- padding-bottom: .25rem;
210
- padding-left: .5rem;
211
- padding-right: .5rem;
212
- background-color: rgba(0,0,0,.3);
213
- border-bottom-left-radius: .375rem;
214
- top:0;
215
- right:0;
216
- position:absolute;
217
- }
218
-
219
- }
220
- .markdown-section pre .hljs {
221
- position:relative!important;
222
- background: #272822!important;
223
- padding:10px!important;
224
- color: #ddd;
225
- text-shadow: none!important;
226
- }
227
1
 
228
- .markdown-section blockquote {
229
- margin: 0;
230
- margin-bottom: 0px;
231
- margin-bottom: .85em;
232
- padding: 0 15px;
233
- color: #858585;
234
- border-left: 4px solid #e5e5e5;
235
- border-left-color: rgb(229, 229, 229);
236
- }
237
- .markdown-section img {
238
- max-width:100%;
239
- }
240
- </style>`;
241
- let result = style + (mdhtml$.html() || html);
242
- /************************************************
243
- * 第二步:无需操作DOM,替换文本信息
244
- */
245
2
  /**
246
- * uploads 修正附件地址
247
- */
248
- result = result.replaceAll('src="/uploads/', 'src="https://md.fmode.cn/uploads/');
249
- return result;
250
- }
251
- export class MarkdownParse {
252
- constructor() {
253
- }
254
- parseToHTML(markdown) {
255
- this.info("markdown", markdown);
256
- // 由于md=>html会转义原文本中的 \( 为 (,\[ 为 [,因此需要先mathjax转换再转markdown
257
- let mdMathJax = new MarkdownMathJax();
258
- markdown = mdMathJax.text_to_mathjax(markdown, {
259
- output: "svg"
260
- });
261
- let htmlResult = md.render(markdown);
262
- // this.info("html",htmlResult)
263
- htmlResult = finishView(htmlResult);
264
- // this.info("html plus",htmlResult)
265
- return htmlResult;
266
- }
267
- info(...args) {
268
- // console.log(...args)
269
- }
270
- }
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tcGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvY29tcC1tYXJrZG93bi1wcmV2aWV3L21hcmtkb3duLXBhcnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLGNBQWMsQ0FBQztBQUNoQyxPQUFPLFVBQVUsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXZCOztHQUVHO0FBQ0gsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZEOztHQUVHO0FBQ0QsT0FBTyxJQUFJLE1BQU0sa0JBQWtCLENBQUE7QUFDbkMsT0FBTyxRQUFRLE1BQU0sc0JBQXNCLENBQUE7QUFDM0MsT0FBTyxPQUFPLE1BQU0scUJBQXFCLENBQUE7QUFDekMsT0FBTyxJQUFJLE1BQU0sa0JBQWtCLENBQUE7QUFDbkMsT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUE7QUFDakMsT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUE7QUFDakMsT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUE7QUFDbkMsc0RBQXNEO0FBQ3BELE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBRXJDLElBQUksRUFBRSxHQUFHLElBQUksVUFBVSxDQUFDO0lBQ3BCLElBQUksRUFBVSxJQUFJLEVBQVMsaUJBQWlCO0lBQzVDLFFBQVEsRUFBTSxJQUFJLEVBQVMsNkJBQTZCO0lBQzVCLDZCQUE2QjtJQUN6RCxNQUFNLEVBQVEsS0FBSyxFQUFTLHNCQUFzQjtJQUNsRCxpRUFBaUU7SUFDakUsT0FBTyxFQUFPLEtBQUssRUFBUyxzQkFBc0I7SUFFbEQscUJBQXFCO0lBQ3JCLFdBQVcsRUFBRyxLQUFLO0lBRW5CLGdDQUFnQztJQUNoQyw4QkFBOEI7SUFDOUIsRUFBRTtJQUNGLDRDQUE0QztJQUM1Qywy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Ozs7Ozs7Ozs7Ozs7V0EwQ0gsQ0FBQTtJQUNULElBQUksTUFBTSxHQUFHLEtBQUssR0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQTtJQUU5Qzs7T0FFRztJQUNIOztNQUVFO0lBQ0YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUMsbUNBQW1DLENBQUMsQ0FBQTtJQUNoRixPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLE9BQU8sYUFBYTtJQUN0QjtJQUNBLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBWTtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQTtRQUU5Qiw0REFBNEQ7UUFDNUQsSUFBSSxTQUFTLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTtRQUNyQyxRQUFRLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUM7WUFDNUMsTUFBTSxFQUFDLEtBQUs7U0FDYixDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJDLCtCQUErQjtRQUMvQixVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLG9DQUFvQztRQUNwQyxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxDQUFDLEdBQUcsSUFBUTtRQUNkLHVCQUF1QjtJQUN6QixDQUFDO0NBR0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGxqcyBmcm9tICdoaWdobGlnaHQuanMnO1xuaW1wb3J0IE1hcmtkb3duSXQgZnJvbSBcIm1hcmtkb3duLWl0XCI7XG5pbXBvcnQgJCBmcm9tIFwianF1ZXJ5XCI7XG5cbi8qKlxuICog6Ieq5a6a5LmJ5o+S5Lu2XG4gKi9cbmltcG9ydCB7IE1hcmtkb3duTWF0aEpheCB9IGZyb20gJy4vcGx1Z2lucy9tZC1tYXRoamF4JztcblxuLyoqXG4gKiB1c2Xmj5Lku7ZcbiAqL1xuICBpbXBvcnQgYWJiciBmcm9tICdtYXJrZG93bi1pdC1hYmJyJ1xuICBpbXBvcnQgZm9vdG5vdGUgZnJvbSAnbWFya2Rvd24taXQtZm9vdG5vdGUnXG4gIGltcG9ydCBkZWZsaXN0IGZyb20gJ21hcmtkb3duLWl0LWRlZmxpc3QnXG4gIGltcG9ydCBtYXJrIGZyb20gJ21hcmtkb3duLWl0LW1hcmsnXG4gIGltcG9ydCBpbnMgZnJvbSAnbWFya2Rvd24taXQtaW5zJ1xuICBpbXBvcnQgc3ViIGZyb20gJ21hcmtkb3duLWl0LXN1YidcbiAgaW1wb3J0IHN1cCBmcm9tICdtYXJrZG93bi1pdC1zdXAnXG4vLyAgaW1wb3J0IGltc2l6ZSBmcm9tICdtYXJrZG93bi1pdC1pbXNpemUnIC8vIGZzIHBhdGhcbiAgaW1wb3J0IHJ1YnkgZnJvbSAnbWFya2Rvd24taXQtcnVieSdcblxubGV0IG1kID0gbmV3IE1hcmtkb3duSXQoe1xuICAgIGh0bWw6ICAgICAgICAgdHJ1ZSwgICAgICAgIC8vIOWcqOa6kOeggeS4reWQr+eUqCBIVE1MIOagh+etvlxuICAgIHhodG1sT3V0OiAgICAgdHJ1ZSwgICAgICAgIC8vIOS9v+eUqCAnLycg5p2l6Zet5ZCI5Y2V5qCH562+IO+8iOavlOWmgiA8YnIgLz7vvInjgIJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6L+Z5Liq6YCJ6aG55Y+q5a+55a6M5YWo55qEIENvbW1vbk1hcmsg5qih5byP5YW85a6544CCXG4gICAgYnJlYWtzOiAgICAgICBmYWxzZSwgICAgICAgIC8vIOi9rOaNouauteiQvemHjOeahCAnXFxuJyDliLAgPGJyPuOAglxuICAgIC8vIGxhbmdQcmVmaXg6ICAgJ2xhbmd1YWdlLScsICAvLyDnu5nlm7TmoI/ku6PnoIHlnZfnmoQgQ1NTIOivreiogOWJjee8gOOAguWvueS6jumineWklueahOmrmOS6ruS7o+eggemdnuW4uOacieeUqOOAglxuICAgIGxpbmtpZnk6ICAgICAgZmFsc2UsICAgICAgICAvLyDlsIbnsbvkvLwgVVJMIOeahOaWh+acrOiHquWKqOi9rOaNouS4uumTvuaOpeOAglxuICBcbiAgICAvLyDlkK/nlKjkuIDkupvor63oqIDkuK3nq4vnmoTmm7/mjaIgKyDlvJXlj7fnvo7ljJZcbiAgICB0eXBvZ3JhcGhlcjogIGZhbHNlLFxuICBcbiAgICAvLyDlj4wgKyDljZXlvJXlj7fmm7/mjaLlr7nvvIzlvZMgdHlwb2dyYXBoZXIg5ZCv55So5pe244CCXG4gICAgLy8g5oiW6ICF5pm66IO95byV5Y+3562J77yM5Y+v5Lul5pivIFN0cmluZyDmiJYgQXJyYXnjgIJcbiAgICAvL1xuICAgIC8vIOavlOaWueivtO+8jOS9oOWPr+S7peaUr+aMgSAnwqvCu+KAnuKAnCcg57uZ5L+E572X5pav5Lq65L2/55So77yMICfigJ7igJzigJrigJgnICDnu5nlvrflm73kurrkvb/nlKjjgIJcbiAgICAvLyDov5jmnIkgWyfCq1xceEEwJywgJ1xceEEwwrsnLCAn4oC5XFx4QTAnLCAnXFx4QTDigLonXSDnu5nms5Xlm73kurrkvb/nlKjvvIjljIXmi6wgbmJzcO+8ieOAglxuICAgIHF1b3RlczogJ+KAnOKAneKAmOKAmScsXG4gIFxuICAgIC8vIOmrmOS6ruWHveaVsO+8jOS8mui/lOWbnui9rOS5ieeahEhUTUzjgIJcbiAgICAvLyDmiJYgJycg5aaC5p6c5rqQ5a2X56ym5Liy5pyq5pu05pS577yM5YiZ5bqU5Zyo5aSW6YOo6L+b6KGM6L2s5LmJ44CCXG4gICAgLy8g5aaC5p6c57uT5p6c5LulIDxwcmUgLi4uIOW8gOWktO+8jOWGhemDqOWMheijheWZqOWImeS8mui3s+i/h+OAglxuICAgIC8vIGhpZ2hsaWdodDogZnVuY3Rpb24gKC8qc3RyLCBsYW5nKi8pIHsgcmV0dXJuICcnOyB9XG4gICAgaGlnaGxpZ2h0OiBmdW5jdGlvbiAoc3RyOmFueSwgbGFuZzphbnkpIHtcbiAgICAgICAgaWYgKGxhbmcgJiYgaGxqcy5nZXRMYW5ndWFnZShsYW5nKSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgaGxqc0NvZGUgPSBobGpzLmhpZ2hsaWdodChzdHIsIHsgbGFuZ3VhZ2U6IGxhbmcgfSkudmFsdWVcbiAgICAgICAgICAgIHJldHVybiBgPHByZSBzdHlsZT1cInBvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MTBweDtcIiBjbGFzcz1cImhsanMgbGFuZy0ke2xhbmd9XCI+PGNvZGU+JHtobGpzQ29kZX08L2NvZGU+PHNtYWxsIGNsYXNzPVwiaGxqcy1sYW5nXCI+PHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+TGFuZ3VhZ2U6PC9zcGFuPiR7bGFuZ308L3NtYWxsPjwvcHJlPmA7XG4gICAgICAgICAgfSBjYXRjaCAoX18pIHt9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgcmV0dXJuICcnOyAvLyB1c2UgZXh0ZXJuYWwgZGVmYXVsdCBlc2NhcGluZ1xuICAgICAgfVxuICB9KTtcbiAgXG4gXG4gIFxuICAgICBtZC51c2UoYWJicilcbiAgICAgbWQudXNlKGZvb3Rub3RlKVxuICAgICBtZC51c2UoZGVmbGlzdClcbiAgICAgbWQudXNlKG1hcmspXG4gICAgIG1kLnVzZShpbnMpXG4gICAgIG1kLnVzZShzdWIpO1xuICAgICBtZC51c2Uoc3VwKTtcblxuICAgIC8vICBtZC51c2Uoa2F0ZXgpO1xuXG4gICAgLy8gIG1kLnVzZShmaWd1cmUsIHtcbiAgICAvLyAgIHJlbmRlcjogKGNvbnRlbnQsIGRpc3BsYXlNb2RlKSA9PiB7XG4gICAgLy8gICAgIC8vIHJlbmRlciB0ZXggaGVyZSBhbmQgcmV0dXJuXG4gICAgLy8gICB9LFxuICAgIC8vIH0pOyAvLyDliqDovb1AbWRpdC90ZXgg6KKrbWF0aGpheOS+nei1llxuICAgIC8vICBjb25zdCBtYXRoamF4SW5zdGFuY2UgPSBjcmVhdGVNYXRoamF4SW5zdGFuY2Uoe291dHB1dDpcInN2Z1wifSk7XG4gICAgLy8gIG1kLnVzZShtYXRoamF4LG1hdGhqYXhJbnN0YW5jZSlcbiAgICAvLyBpbXBvcnQgTWF0aEpheCBmcm9tICdtYXRoamF4JztcbiAgICAvLyAod2luZG93IGFzIGFueSkuTWF0aEpheCA9IE1hdGhKYXg7XG4gICAgLy8gKHdpbmRvdyBhcyBhbnkpLm1hcmtkb3duaXRNYXRoamF4ID0ge1xuICAgIC8vICAgbWVzc2FnZVN0eWxlOiAnbm9uZScsXG4gICAgLy8gICBza2lwU3RhcnR1cFR5cGVzZXQ6IHRydWUsXG4gICAgLy8gICB0ZXgyamF4OiB7XG4gICAgLy8gICAgIGlubGluZU1hdGg6IFtbJyQnLCAnJCddLCBbJ1xcXFxbJywgJ1xcXFxdJ10sWydcXFxcKCcsICdcXFxcKSddXSxcbiAgICAvLyAgICAgcHJvY2Vzc0VzY2FwZXM6IHRydWVcbiAgICAvLyAgIH0sXG4gICAgLy8gICBUZVg6IHtcbiAgICAvLyAgICAgZXh0ZW5zaW9uczogWydtaGNoZW0uanMnXVxuICAgIC8vICAgfVxuICAgIC8vIH07XG5cbiAgICAvLyAod2luZG93IGFzIGFueSkuTWF0aEpheCA9IHtcbiAgICAvLyAgIG1lc3NhZ2VTdHlsZTogJ25vbmUnLFxuICAgIC8vICAgc2tpcFN0YXJ0dXBUeXBlc2V0OiB0cnVlLFxuICAgIC8vICAgdGV4MmpheDoge1xuICAgIC8vICAgICBpbmxpbmVNYXRoOiBbWyckJywgJyQnXSwgWydcXFxcKCcsICdcXFxcKSddXSxcbiAgICAvLyAgICAgcHJvY2Vzc0VzY2FwZXM6IHRydWVcbiAgICAvLyAgIH0sXG4gICAgLy8gICBUZVg6IHtcbiAgICAvLyAgICAgZXh0ZW5zaW9uczogWydtaGNoZW0uanMnXVxuICAgICAgLy8gfVxuICAgIC8vIH1cblxuICAgIC8vIG1kLnVzZShtYXRoamF4MylcbiAgICAvLyBtZC51c2UobWF0aGpheCgpKVxuICAgIC8vIG1kLnVzZShtYXRoamF4KHtcbiAgICAvLyAgIGJlZm9yZU1hdGg6ICc8c3BhbiBjbGFzcz1cIm1hdGhqYXggcmF3XCI+JyxcbiAgICAvLyAgIGFmdGVyTWF0aDogJzwvc3Bhbj4nLFxuICAgIC8vICAgYmVmb3JlSW5saW5lTWF0aDogJzxzcGFuIGNsYXNzPVwibWF0aGpheCByYXdcIj5cXFxcKCcsXG4gICAgLy8gICBhZnRlcklubGluZU1hdGg6ICdcXFxcKTwvc3Bhbj4nLFxuICAgIC8vICAgYmVmb3JlRGlzcGxheU1hdGg6ICc8c3BhbiBjbGFzcz1cIm1hdGhqYXggcmF3XCI+XFxcXFsnLFxuICAgIC8vICAgYWZ0ZXJEaXNwbGF5TWF0aDogJ1xcXFxdPC9zcGFuPidcbiAgICAvLyB9KSlcblxuICAgIC8vICBtZC51c2UoaW1zaXplKVxuICAgICBtZC51c2UocnVieSlcbiAgXG4gIC8qKlxuICAgKiBQbGFudFVNTCDmj5Lku7ZcbiAgICovXG4gIGNvbnN0IG1kaXRDb25maWcgPSB7XG4gICAgcGxhbnR1bWxTZXJ2ZXI6J2h0dHBzOi8vd3d3LnBsYW50dW1sLmNvbS9wbGFudHVtbCdcbiAgfVxuICBcbiAgaW1wb3J0IHBsYW50dW1sRW5jb2RlciBmcm9tICdwbGFudHVtbC1lbmNvZGVyJ1xuICAgLyoqXG4gICAgICogdW1s5Luj56CB6L2s5Zu+54mH5Zyw5Z2A5pa55rOVXG4gICAgICogQHBhcmFtIHsqfSB1bWxDb2RlIFxuICAgICAqIEByZXR1cm5zIFxuICAgICAqIEBleGFtcGxlXG4gICAgICogY29uc29sZS5sb2cobWFrZVBsYW50dW1sVVJMKGBAc3RhcnR1bWxcbiAgICAgICAgc3RhcnRcbiAgICAgICAgOuWIm+W7uuacrOWcsOS7k+W6kztcbiAgICAgICAgOui/kOihjGdpdCBpbml0O1xuICAgICAgICA65L2/55SoZ2l0IGFkZCAuO1xuICAgICAgICA65L2/55SoZ2l0IGNvbW1pdCAtbSBcInh4eFwiO1xuICAgICAgICA65L2/55SoZ2l0IHJlbW90ZSBhZGQgb3JpZ2luIHh4eDtcbiAgICAgICAgOuS9v+eUqGdpdCBwdXNoIC11IG9yaWdpbiBcIm1hc3RlclwiO1xuICAgICAgICBzdG9wXG4gICAgICAgIEBlbmR1bWxgKSlcbiAgICAqL1xuXG5cblxuICAgICBmdW5jdGlvbiBtYWtlUGxhbnR1bWxVUkwodW1sQ29kZTphbnkpe1xuICAgICAgICBjb25zdCBmb3JtYXQgPSAnc3ZnJ1xuICAgICAgICBjb25zdCBjb2RlID0gcGxhbnR1bWxFbmNvZGVyLmVuY29kZSh1bWxDb2RlKVxuICAgICAgICByZXR1cm4gYCR7bWRpdENvbmZpZy5wbGFudHVtbFNlcnZlcn0vJHtmb3JtYXR9LyR7Y29kZX1gXG4gICAgfVxuICBcblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcWplYmJzL3ZzY29kZS1wbGFudHVtbC90cmVlL21hc3Rlci9zcmMvbWFya2Rvd24taXQtcGxhbnR1bWxcbiAgbWQucmVuZGVyZXIucnVsZXNbJ3BsYW50dW1sJ10gPSAodG9rZW5zOmFueSwgaWR4OmFueSwgb3B0aW9uczphbnksIGVudjphbnksIHNlbGY6YW55KSAgPT4ge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2lkeF1cbiAgICBpZiAodG9rZW4udHlwZSAhPT0gJ3BsYW50dW1sJykge1xuICAgICAgICByZXR1cm4gdG9rZW5zW2lkeF0uY29udGVudFxuICAgIH1cbiAgICBjb25zdCB1cmwgPSBtYWtlUGxhbnR1bWxVUkwodG9rZW4uY29udGVudClcbiAgICByZXR1cm4gYFxuICAgIDxpbWcgc3JjPVwiJHt1cmx9XCIgLz5cbiAgICA8cHJlIHN0eWxlPVwicG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzoxMHB4O1wiIGNsYXNzPVwiaGxqcyBsYW5nLXBsYW50dW1sXCI+PGNvZGU+JHt0b2tlbi5jb250ZW50fTwvY29kZT48c21hbGwgY2xhc3M9XCJobGpzLWxhbmdcIj48c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5MYW5ndWFnZTo8L3NwYW4+cGxhbnR1bWw8L3NtYWxsPjwvcHJlPlxuICAgIGBcbn1cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9xamViYnMvdnNjb2RlLXBsYW50dW1sL3RyZWUvbWFzdGVyL3NyYy9tYXJrZG93bi1pdC1wbGFudHVtbFxuLy8g6buY6K6k5LiN5pSv5oyBcnVsZXNbJ3BsYW50dW1sJ10g6ZyA6KaB6YCa6L+HcnVsZXIgcHVzaFxubWQuY29yZS5ydWxlci5wdXNoKCdwbGFudHVtbCcsIChzdGF0ZTphbnkpID0+IHtcbiAgICBjb25zdCBibG9ja1Rva2VucyA9IHN0YXRlLnRva2Vuc1xuICAgIGZvciAoY29uc3QgYmxvY2tUb2tlbiBvZiBibG9ja1Rva2Vucykge1xuICAgICAgaWYgKGJsb2NrVG9rZW4udHlwZSA9PT0gJ2ZlbmNlJyAmJiBibG9ja1Rva2VuLmluZm8gPT09ICdwbGFudHVtbCcpIHtcbiAgICAgICAgYmxvY2tUb2tlbi50eXBlID0gJ3BsYW50dW1sJ1xuICAgICAgfVxuICAgIH1cbiAgfSlcblxuICAvLyByZWdleCBmb3IgZXh0cmEgdGFnc1xuICBjb25zdCBzcGFjZXJlZ2V4ID0gL1xccyovXG4gIGNvbnN0IG5vdGluaHRtbHRhZ3JlZ2V4ID0gLyg/IVtePF0qPnxbXjw+XSo8XFwvKS9cbiAgbGV0IGNvbG9yZWdleCA9IC9cXFtjb2xvcj0oWyN8KHwpfFxcc3wsfFxcd10qPylcXF0vXG5jb2xvcmVnZXggPSBuZXcgUmVnRXhwKGNvbG9yZWdleC5zb3VyY2UgKyBub3Rpbmh0bWx0YWdyZWdleC5zb3VyY2UsICdnJylcbmxldCBuYW1lcmVnZXggPSAvXFxbbmFtZT0oLio/KVxcXS9cbmxldCB0aW1lcmVnZXggPSAvXFxbdGltZT0oWzp8LHwrfC18KHwpfFxcc3xcXHddKj8pXFxdL1xuY29uc3QgbmFtZWFuZHRpbWVyZWdleCA9IG5ldyBSZWdFeHAobmFtZXJlZ2V4LnNvdXJjZSArIHNwYWNlcmVnZXguc291cmNlICsgdGltZXJlZ2V4LnNvdXJjZSArIG5vdGluaHRtbHRhZ3JlZ2V4LnNvdXJjZSwgJ2cnKVxubmFtZXJlZ2V4ID0gbmV3IFJlZ0V4cChuYW1lcmVnZXguc291cmNlICsgbm90aW5odG1sdGFncmVnZXguc291cmNlLCAnZycpXG50aW1lcmVnZXggPSBuZXcgUmVnRXhwKHRpbWVyZWdleC5zb3VyY2UgKyBub3Rpbmh0bWx0YWdyZWdleC5zb3VyY2UsICdnJylcblxuZnVuY3Rpb24gcmVwbGFjZUV4dHJhVGFncyAoaHRtbDphbnkpIHsgXG4gIGNvbnNvbGUubG9nKFwicmVwbGFjZUV4dHJhVGFnc1wiLGh0bWwpXG4gIGh0bWwgPSBodG1sLnJlcGxhY2UoY29sb3JlZ2V4LCAnPHNwYW4gY2xhc3M9XCJjb2xvclwiIGRhdGEtY29sb3I9XCIkMVwiPjwvc3Bhbj4nKVxuICBodG1sID0gaHRtbC5yZXBsYWNlKG5hbWVhbmR0aW1lcmVnZXgsICc8c21hbGw+PGkgY2xhc3M9XCJmYSBmYS11c2VyXCI+PC9pPiAkMSA8aSBjbGFzcz1cImZhIGZhLWNsb2NrLW9cIj48L2k+ICQyPC9zbWFsbD4nKVxuICBodG1sID0gaHRtbC5yZXBsYWNlKG5hbWVyZWdleCwgJzxzbWFsbD48aSBjbGFzcz1cImZhIGZhLXVzZXJcIj48L2k+ICQxPC9zbWFsbD4nKVxuICBodG1sID0gaHRtbC5yZXBsYWNlKHRpbWVyZWdleCwgJzxzbWFsbD48aSBjbGFzcz1cImZhIGZhLWNsb2NrLW9cIj48L2k+ICQxPC9zbWFsbD4nKVxuICBjb25zb2xlLmxvZyhcInJlcGxhY2VFeHRyYVRhZ3NcIixodG1sKVxuICByZXR1cm4gaHRtbFxufVxuXG5cbi8vIOeUn+WRveWRqOacn++8mueUn+aIkEhUTUzlkI7vvIzliqjmgIHkv67mraPnlJ/miJDlhoXlrrnvvJpkeW5hbWljIGV2ZW50IG9yIG9iamVjdCBiaW5kaW5nIGhlcmVcbmZ1bmN0aW9uIGZpbmlzaFZpZXcgKGh0bWw6YW55KSB7XG5cbiAgbGV0IG1kRGl2RWwgPSAkLnBhcnNlSFRNTChgPGh0bWw+PGJvZHk+PGRpdiBpZD1cInRvcG1kXCI+JHtodG1sfTwvZGl2PjwvYm9keT48L2h0bWw+YClbMF1cbiAgbGV0IG1kaHRtbCQgPSAkKG1kRGl2RWwpXG5cbiAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICog56ys5LiA5q2l77ya6ZyA5pON5L2cRE9N77yM6L+b6KGM6aG16Z2i5L+u5q2jXG4gICAqL1xuICAvKipcbiAgICogQmxvY2tRdW90ZSDlvJXnlKjlop7lvLrmj5Lku7ZcbiAgKi9cbiAgLy8gYmxvY2txdW90ZSDkv67mraPlvJXnlKjmoIfnrb5cbiAgbGV0IGJsb2NrcXVvdGUgPSBtZGh0bWwkLmZpbmQoJ2Jsb2NrcXVvdGUucmF3JykucmVtb3ZlQ2xhc3MoJ3JhdycpXG4gIGJsb2NrcXVvdGUgPSBtZGh0bWwkLmZpbmQoJ2Jsb2NrcXVvdGUnKVxuXG4gIGxldCBibG9ja3F1b3RlUCA9ICQoYmxvY2txdW90ZSkuZmluZCgncCcpXG4gIGJsb2NrcXVvdGVQLmVhY2goKGtleTphbnksIHZhbHVlOmFueSkgPT4ge1xuICAgIGxldCBodG1sU3RyID0gJCh2YWx1ZSkuaHRtbCgpXG4gICAgaHRtbFN0ciA9IHJlcGxhY2VFeHRyYVRhZ3MoaHRtbFN0cilcbiAgICB2YWx1ZS5pbm5lckhUTUwgPSBodG1sU3RyXG4gICAgJCh2YWx1ZSkuaHRtbChodG1sU3RyKVxuICAgIGJsb2NrcXVvdGVQW2tleV0uaW5uZXJIVE1MID0gaHRtbFN0cjtcbiAgICAkKGJsb2NrcXVvdGVQW2tleV0pLmh0bWwoaHRtbFN0cilcbiAgfSlcblxuICAvLyDlvJXnlKjmoIfnrb7popzoibLmuLLmn5MgY29sb3IgdGFnIGluIGJsb2NrcXVvdGUgd2lsbCBjaGFuZ2UgaXRzIGxlZnQgYm9yZGVyIGNvbG9yXG4gIGxldCBibG9ja3F1b3RlQ29sb3IgPSBibG9ja3F1b3RlLmZpbmQoJy5jb2xvcicpXG4gIGJsb2NrcXVvdGVDb2xvci5lYWNoKChrZXk6YW55LCB2YWx1ZTphbnkpID0+IHtcbiAgICBsZXQgZGF0YUNvbG9yOmFueSA9ICQodmFsdWUpLmF0dHIoJ2RhdGEtY29sb3InKVxuICAgICQodmFsdWUpLmNsb3Nlc3QoJ2Jsb2NrcXVvdGUnKS5jc3MoJ2JvcmRlci1sZWZ0LWNvbG9yJywgZGF0YUNvbG9yKVxuICB9KVxuXG4gIFxuICBsZXQgc3R5bGUgPSBgPHN0eWxlPlxuICAgIC5tYXJrZG93bi1zZWN0aW9uIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC5tYXJrZG93bi1zZWN0aW9uIHByZSAuaGxqcy1sYW5ne1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy10b3A6IC4yNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuMjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IC41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4zKTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC4zNzVyZW07XG4gICAgICB0b3A6MDtcbiAgICAgIHJpZ2h0OjA7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbn1cblxuICAgIH1cbiAgICAubWFya2Rvd24tc2VjdGlvbiBwcmUgLmhsanMge1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZSFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyNzI4MjIhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOjEwcHghaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2RkZDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYXJrZG93bi1zZWN0aW9uIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjg1ZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgY29sb3I6ICM4NTg1ODU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYigyMjksIDIyOSwgMjI5KTtcbiAgICB9XG4gICAgLm1hcmtkb3duLXNlY3Rpb24gaW1nIHtcbiAgICAgIG1heC13aWR0aDoxMDAlO1xuICB9XG4gIDwvc3R5bGU+YFxuICBsZXQgcmVzdWx0ID0gc3R5bGUgICsgKG1kaHRtbCQuaHRtbCgpIHx8IGh0bWwpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiDnrKzkuozmraXvvJrml6DpnIDmk43kvZxET03vvIzmm7/mjaLmlofmnKzkv6Hmga9cbiAgICovXG4gIC8qKlxuICAgKiB1cGxvYWRzIOS/ruato+mZhOS7tuWcsOWdgFxuICAqL1xuICByZXN1bHQgPSByZXN1bHQucmVwbGFjZUFsbCgnc3JjPVwiL3VwbG9hZHMvJywnc3JjPVwiaHR0cHM6Ly9tZC5mbW9kZS5jbi91cGxvYWRzLycpXG4gIHJldHVybiByZXN1bHRcbn1cblxuZXhwb3J0IGNsYXNzIE1hcmtkb3duUGFyc2V7XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICB9IFxuXG4gICAgcGFyc2VUb0hUTUwobWFya2Rvd246YW55KXtcbiAgICAgIHRoaXMuaW5mbyhcIm1hcmtkb3duXCIsbWFya2Rvd24pXG5cbiAgICAgIC8vIOeUseS6jm1kPT5odG1s5Lya6L2s5LmJ5Y6f5paH5pys5Lit55qEIFxcKCDkuLogKO+8jFxcWyDkuLogW++8jOWboOatpOmcgOimgeWFiG1hdGhqYXjovazmjaLlho3ovaxtYXJrZG93blxuICAgICAgbGV0IG1kTWF0aEpheCA9IG5ldyBNYXJrZG93bk1hdGhKYXgoKVxuICAgICAgbWFya2Rvd24gPSBtZE1hdGhKYXgudGV4dF90b19tYXRoamF4KG1hcmtkb3duLHtcbiAgICAgICAgb3V0cHV0Olwic3ZnXCJcbiAgICAgIH0pO1xuXG4gICAgICBsZXQgaHRtbFJlc3VsdCA9IG1kLnJlbmRlcihtYXJrZG93bik7XG5cbiAgICAgIC8vIHRoaXMuaW5mbyhcImh0bWxcIixodG1sUmVzdWx0KVxuICAgICAgaHRtbFJlc3VsdCA9IGZpbmlzaFZpZXcoaHRtbFJlc3VsdCk7XG4gICAgICAvLyB0aGlzLmluZm8oXCJodG1sIHBsdXNcIixodG1sUmVzdWx0KVxuICAgICAgcmV0dXJuIGh0bWxSZXN1bHQ7XG4gICAgfVxuICAgIGluZm8oLi4uYXJnczphbnkpe1xuICAgICAgLy8gY29uc29sZS5sb2coLi4uYXJncylcbiAgICB9XG4gICAgLy8gTWFya2Rvd24gVGV4dCB0byBIVE1MXG4gICAgLy8gSFRNTCBET00gdG8gRW5oYW5jZSBIVE1MIERPTVxufSJdfQ==
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/comp-markdown-preview/markdown-parse.mjs
7
+ */
8
+ import hljs from"highlight.js";import MarkdownIt from"markdown-it";import $ from"jquery";import{MarkdownMathJax}from"./plugins/md-mathjax";import abbr from"markdown-it-abbr";import footnote from"markdown-it-footnote";import deflist from"markdown-it-deflist";import mark from"markdown-it-mark";import ins from"markdown-it-ins";import sub from"markdown-it-sub";import sup from"markdown-it-sup";import ruby from"markdown-it-ruby";let md=new MarkdownIt({html:!0,xhtmlOut:!0,breaks:!1,linkify:!1,typographer:!1,quotes:"“”‘’",highlight:function(e,n){if(n&&hljs.getLanguage(n))try{return`<pre style="position:relative;padding:10px;" class="hljs lang-${n}"><code>${hljs.highlight(e,{language:n}).value}</code><small class="hljs-lang"><span class="sr-only">Language:</span>${n}</small></pre>`}catch(e){}return""}});md.use(abbr),md.use(footnote),md.use(deflist),md.use(mark),md.use(ins),md.use(sub),md.use(sup),md.use(ruby);const mditConfig={plantumlServer:"https://www.plantuml.com/plantuml"};import plantumlEncoder from"plantuml-encoder";function makePlantumlURL(e){const n=plantumlEncoder.encode(e);return`${mditConfig.plantumlServer}/svg/${n}`}md.renderer.rules.plantuml=(e,n,t,r,o)=>{const a=e[n];if("plantuml"!==a.type)return e[n].content;return`\n <img src="${makePlantumlURL(a.content)}" />\n <pre style="position:relative;padding:10px;" class="hljs lang-plantuml"><code>${a.content}</code><small class="hljs-lang"><span class="sr-only">Language:</span>plantuml</small></pre>\n `},md.core.ruler.push("plantuml",(e=>{const n=e.tokens;for(const e of n)"fence"===e.type&&"plantuml"===e.info&&(e.type="plantuml")}));const spaceregex=/\s*/,notinhtmltagregex=/(?![^<]*>|[^<>]*<\/)/;let coloregex=/\[color=([#|(|)|\s|,|\w]*?)\]/;coloregex=new RegExp(coloregex.source+notinhtmltagregex.source,"g");let nameregex=/\[name=(.*?)\]/,timeregex=/\[time=([:|,|+|-|(|)|\s|\w]*?)\]/;const nameandtimeregex=new RegExp(nameregex.source+spaceregex.source+timeregex.source+notinhtmltagregex.source,"g");function replaceExtraTags(e){return console.log("replaceExtraTags",e),e=(e=(e=(e=e.replace(coloregex,'<span class="color" data-color="$1"></span>')).replace(nameandtimeregex,'<small><i class="fa fa-user"></i> $1 <i class="fa fa-clock-o"></i> $2</small>')).replace(nameregex,'<small><i class="fa fa-user"></i> $1</small>')).replace(timeregex,'<small><i class="fa fa-clock-o"></i> $1</small>'),console.log("replaceExtraTags",e),e}function finishView(e){let n=$.parseHTML(`<html><body><div id="topmd">${e}</div></body></html>`)[0],t=$(n),r=t.find("blockquote.raw").removeClass("raw");r=t.find("blockquote");let o=$(r).find("p");o.each(((e,n)=>{let t=$(n).html();t=replaceExtraTags(t),n.innerHTML=t,$(n).html(t),o[e].innerHTML=t,$(o[e]).html(t)})),r.find(".color").each(((e,n)=>{let t=$(n).attr("data-color");$(n).closest("blockquote").css("border-left-color",t)}));let a="<style>\n .markdown-section {\n color: black;\n text-align: left;\n }\n .markdown-section pre .hljs-lang{\n text-transform: uppercase;\n font-weight: 700;\n font-size: .75rem;\n line-height: 1rem;\n padding-top: .25rem;\n padding-bottom: .25rem;\n padding-left: .5rem;\n padding-right: .5rem;\n background-color: rgba(0,0,0,.3);\n border-bottom-left-radius: .375rem;\n top:0;\n right:0;\n position:absolute;\n}\n\n }\n .markdown-section pre .hljs {\n position:relative!important;\n background: #272822!important;\n padding:10px!important;\n color: #ddd;\n text-shadow: none!important;\n }\n\n .markdown-section blockquote {\n margin: 0;\n margin-bottom: 0px;\n margin-bottom: .85em;\n padding: 0 15px;\n color: #858585;\n border-left: 4px solid #e5e5e5;\n border-left-color: rgb(229, 229, 229);\n }\n .markdown-section img {\n max-width:100%;\n }\n </style>"+(t.html()||e);return a=a.replaceAll('src="/uploads/','src="https://md.fmode.cn/uploads/'),a}nameregex=new RegExp(nameregex.source+notinhtmltagregex.source,"g"),timeregex=new RegExp(timeregex.source+notinhtmltagregex.source,"g");export class MarkdownParse{constructor(){}parseToHTML(e){this.info("markdown",e),e=(new MarkdownMathJax).text_to_mathjax(e,{output:"svg"});let n=md.render(e);return n=finishView(n),n}info(...e){}}
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wYXJzZS5tanM=`
10
+
@@ -1,51 +1,10 @@
1
- import { Component, ElementRef, Input, Renderer2, ViewChild } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
- import { MarkdownParse } from "./markdown-parse";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/platform-browser";
6
- import * as i2 from "@angular/common";
7
- /**
8
- * Markdown 文档高级渲染组件
9
- * @name fm-markdown-preview
10
- * @public
11
- */
12
- export class MarkdownPreviewComponent {
13
- constructor(domSan, renderer) {
14
- this.domSan = domSan;
15
- this.renderer = renderer;
16
- this.content = ``;
17
- /**
18
- * 是否开启MD渲染,默认开启
19
- * @default true
20
- */
21
- this.render = true;
22
- }
23
- ngAfterViewInit() {
24
- this.renderMdToHTML();
25
- }
26
- renderMdToHTML() {
27
- if (!this.render)
28
- return;
29
- let mdparser = new MarkdownParse();
30
- let htmlResult = mdparser.parseToHTML(this.content);
31
- this.safeHTML = this.domSan.bypassSecurityTrustHtml(htmlResult);
32
- let mdDiv = this.renderer.createElement("div");
33
- mdDiv.innerHTML = htmlResult;
34
- // console.log(mdDiv.innerHTML)
35
- this.renderer.appendChild(this.mdContent.nativeElement, mdDiv);
36
- }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MarkdownPreviewComponent, selector: "fm-markdown-preview", inputs: { content: "content", render: "render" }, viewQueries: [{ propertyName: "mdContent", first: true, predicate: ["mdContent"], descendants: true }], ngImport: i0, template: "<div class=\"message-body\">\n <div *ngIf=\"render\" #mdContent class=\"markdown-section\">\n </div>\n <div *ngIf=\"!render\" class=\"pre-section\">\n {{content}}\n </div>\n</div>", styles: [":host{overflow-x:auto}.message-body div{text-align:left;overflow-x:auto}.message-body .pre-section{white-space:pre-wrap}.markdown-section blockquote{margin:0 0 .85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5;border-left-color:#e5e5e5}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewComponent, decorators: [{
41
- type: Component,
42
- args: [{ selector: 'fm-markdown-preview', template: "<div class=\"message-body\">\n <div *ngIf=\"render\" #mdContent class=\"markdown-section\">\n </div>\n <div *ngIf=\"!render\" class=\"pre-section\">\n {{content}}\n </div>\n</div>", styles: [":host{overflow-x:auto}.message-body div{text-align:left;overflow-x:auto}.message-body .pre-section{white-space:pre-wrap}.markdown-section blockquote{margin:0 0 .85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5;border-left-color:#e5e5e5}\n"] }]
43
- }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.Renderer2 }], propDecorators: { content: [{
44
- type: Input
45
- }], mdContent: [{
46
- type: ViewChild,
47
- args: ['mdContent']
48
- }], render: [{
49
- type: Input
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tcHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvY29tcC1tYXJrZG93bi1wcmV2aWV3L21hcmtkb3duLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm1vZGUtbmcvc3JjL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFFbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7O0FBRS9DOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8sd0JBQXdCO0lBV25DLFlBQ1UsTUFBbUIsRUFDbkIsUUFBa0I7UUFEbEIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBWm5CLFlBQU8sR0FBVSxFQUFFLENBQUE7UUFLNUI7OztXQUdHO1FBQ00sV0FBTSxHQUFXLElBQUksQ0FBQTtJQUs5QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU07UUFDdkIsSUFBSSxRQUFRLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQTtRQUNsQyxJQUFJLFVBQVUsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFL0QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsS0FBSyxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFDN0IsK0JBQStCO1FBRS9CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFDLEtBQUssQ0FBQyxDQUFBO0lBRS9ELENBQUM7K0dBakNVLHdCQUF3QjttR0FBeEIsd0JBQXdCLHFOQ2ZyQyx3TUFNTTs7NEZEU08sd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjt5R0FLdEIsT0FBTztzQkFBZixLQUFLO2dCQUdrQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBTWIsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHtNYXJrZG93blBhcnNlfSBmcm9tIFwiLi9tYXJrZG93bi1wYXJzZVwiO1xuXG4vKipcbiAqIE1hcmtkb3duIOaWh+aho+mrmOe6p+a4suafk+e7hOS7tlxuICogQG5hbWUgZm0tbWFya2Rvd24tcHJldmlld1xuICogQHB1YmxpY1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbS1tYXJrZG93bi1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcmtkb3duLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTWFya2Rvd25QcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCAge1xuICBASW5wdXQoKSBjb250ZW50OnN0cmluZyA9IGBgXG4gIHNhZmVIVE1MOlNhZmVIdG1sXG5cbiAgQFZpZXdDaGlsZCgnbWRDb250ZW50JykgbWRDb250ZW50OiBFbGVtZW50UmVmO1xuICBcbiAgLyoqXG4gICAqIOaYr+WQpuW8gOWQr01E5riy5p+T77yM6buY6K6k5byA5ZCvXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpIHJlbmRlcjpib29sZWFuID0gdHJ1ZVxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRvbVNhbjpEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjpSZW5kZXJlcjJcbiAgICApe1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCl7XG4gICAgdGhpcy5yZW5kZXJNZFRvSFRNTCgpXG4gIH1cblxuICByZW5kZXJNZFRvSFRNTCgpe1xuICAgIGlmKCF0aGlzLnJlbmRlcikgcmV0dXJuXG4gICAgbGV0IG1kcGFyc2VyID0gbmV3IE1hcmtkb3duUGFyc2UoKVxuICAgIGxldCBodG1sUmVzdWx0ID0gbWRwYXJzZXIucGFyc2VUb0hUTUwodGhpcy5jb250ZW50KVxuICAgIHRoaXMuc2FmZUhUTUwgPSB0aGlzLmRvbVNhbi5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChodG1sUmVzdWx0KVxuXG4gICAgbGV0IG1kRGl2ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgIG1kRGl2LmlubmVySFRNTCA9IGh0bWxSZXN1bHQ7XG4gICAgLy8gY29uc29sZS5sb2cobWREaXYuaW5uZXJIVE1MKVxuXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLm1kQ29udGVudC5uYXRpdmVFbGVtZW50LG1kRGl2KVxuICAgIFxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWVzc2FnZS1ib2R5XCI+XG4gICAgPGRpdiAqbmdJZj1cInJlbmRlclwiICNtZENvbnRlbnQgY2xhc3M9XCJtYXJrZG93bi1zZWN0aW9uXCI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFyZW5kZXJcIiBjbGFzcz1cInByZS1zZWN0aW9uXCI+XG4gICAgICAgIHt7Y29udGVudH19XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.component.mjs
7
+ */
8
+ import{Component,ElementRef,Input,Renderer2,ViewChild}from"@angular/core";import{DomSanitizer}from"@angular/platform-browser";import{MarkdownParse}from"./markdown-parse";import*as i0 from"@angular/core";import*as i1 from"@angular/platform-browser";import*as i2 from"@angular/common";export class MarkdownPreviewComponent{constructor(e,n){this.domSan=e,this.renderer=n,this.content="",this.render=!0}ngAfterViewInit(){this.renderMdToHTML()}renderMdToHTML(){if(!this.render)return;let e=(new MarkdownParse).parseToHTML(this.content);this.safeHTML=this.domSan.bypassSecurityTrustHtml(e);let n=this.renderer.createElement("div");n.innerHTML=e,this.renderer.appendChild(this.mdContent.nativeElement,n)}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewComponent,deps:[{token:i1.DomSanitizer},{token:i0.Renderer2}],target:i0.ɵɵFactoryTarget.Component})}static{this.ɵcmp=i0.ɵɵngDeclareComponent({minVersion:"14.0.0",version:"17.3.12",type:MarkdownPreviewComponent,selector:"fm-markdown-preview",inputs:{content:"content",render:"render"},viewQueries:[{propertyName:"mdContent",first:!0,predicate:["mdContent"],descendants:!0}],ngImport:i0,template:'<div class="message-body">\n <div *ngIf="render" #mdContent class="markdown-section">\n </div>\n <div *ngIf="!render" class="pre-section">\n {{content}}\n </div>\n</div>',styles:[":host{overflow-x:auto}.message-body div{text-align:left;overflow-x:auto}.message-body .pre-section{white-space:pre-wrap}.markdown-section blockquote{margin:0 0 .85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5;border-left-color:#e5e5e5}\n"],dependencies:[{kind:"directive",type:i2.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewComponent,decorators:[{type:Component,args:[{selector:"fm-markdown-preview",template:'<div class="message-body">\n <div *ngIf="render" #mdContent class="markdown-section">\n </div>\n <div *ngIf="!render" class="pre-section">\n {{content}}\n </div>\n</div>',styles:[":host{overflow-x:auto}.message-body div{text-align:left;overflow-x:auto}.message-body .pre-section{white-space:pre-wrap}.markdown-section blockquote{margin:0 0 .85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5;border-left-color:#e5e5e5}\n"]}]}],ctorParameters:()=>[{type:i1.DomSanitizer},{type:i0.Renderer2}],propDecorators:{content:[{type:Input}],mdContent:[{type:ViewChild,args:["mdContent"]}],render:[{type:Input}]}});
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wcmV2aWV3LmNvbXBvbmVudC5tanM=`
10
+
@@ -1,24 +1,10 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MarkdownPreviewComponent } from './markdown-preview.component';
4
- import * as i0 from "@angular/core";
5
- export class MarkdownPreviewModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewModule, declarations: [MarkdownPreviewComponent], imports: [CommonModule], exports: [MarkdownPreviewComponent] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewModule, imports: [CommonModule] }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [
14
- MarkdownPreviewComponent
15
- ],
16
- imports: [
17
- CommonModule,
18
- ],
19
- exports: [
20
- MarkdownPreviewComponent
21
- ]
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tcHJldmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvY29tcC1tYXJrZG93bi1wcmV2aWV3L21hcmtkb3duLXByZXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQWN4RSxNQUFNLE9BQU8scUJBQXFCOytHQUFyQixxQkFBcUI7Z0hBQXJCLHFCQUFxQixpQkFUOUIsd0JBQXdCLGFBR3hCLFlBQVksYUFHWix3QkFBd0I7Z0hBR2YscUJBQXFCLFlBTjlCLFlBQVk7OzRGQU1ILHFCQUFxQjtrQkFYakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUM7d0JBQ04sd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWFya2Rvd25QcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9tYXJrZG93bi1wcmV2aWV3LmNvbXBvbmVudCc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTWFya2Rvd25QcmV2aWV3Q29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6W1xuICAgIE1hcmtkb3duUHJldmlld0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duUHJldmlld01vZHVsZSB7IH1cbiJdfQ==
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.module.mjs
7
+ */
8
+ import{NgModule}from"@angular/core";import{CommonModule}from"@angular/common";import{MarkdownPreviewComponent}from"./markdown-preview.component";import*as i0 from"@angular/core";export class MarkdownPreviewModule{static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,deps:[],target:i0.ɵɵFactoryTarget.NgModule})}static{this.ɵmod=i0.ɵɵngDeclareNgModule({minVersion:"14.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,declarations:[MarkdownPreviewComponent],imports:[CommonModule],exports:[MarkdownPreviewComponent]})}static{this.ɵinj=i0.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,imports:[CommonModule]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,decorators:[{type:NgModule,args:[{declarations:[MarkdownPreviewComponent],imports:[CommonModule],exports:[MarkdownPreviewComponent]}]}]});
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wcmV2aWV3Lm1vZHVsZS5tanM=`
10
+
@@ -1,94 +1,10 @@
1
- import { mathjax } from "mathjax-full/js/mathjax";
2
- import { TeX } from "mathjax-full/js/input/tex";
3
- import { SVG } from "mathjax-full/js/output/svg";
4
- import { CHTML } from "mathjax-full/js/output/chtml";
5
- import { AllPackages } from "mathjax-full/js/input/tex/AllPackages";
6
- import { liteAdaptor } from "mathjax-full/js/adaptors/liteAdaptor";
7
- import { RegisterHTMLHandler } from "mathjax-full/js/handlers/html";
8
- export class MarkdownMathJax {
9
- constructor(options) {
10
- this.options = options;
11
- this.adaptor = liteAdaptor();
12
- RegisterHTMLHandler(this.adaptor);
13
- }
14
- text_to_mathjax(math, options) {
15
- if (!math?.length)
16
- return "";
17
- if (!math?.replace)
18
- return "";
19
- options = options || this.options;
20
- let output = new SVG({ fontCache: 'local' });
21
- if (options?.output == "chtml") {
22
- output = new CHTML();
23
- }
24
- // 设置输入输出参数
25
- const mathjax_document = mathjax.document('', {
26
- skipHtmlTags: [
27
- 'script', "noscript", 'style', "textarea", "pre", "code", "annotation", "annotation-xml"
28
- ],
29
- InputJax: new TeX({
30
- // displayMath: [['\$\$', '\$\$'], ['\\\[', '\\\]']],
31
- // inlineMath: [['\$', '\$'],['\\\(', '\\\)']],
32
- processEscapes: true,
33
- packages: AllPackages,
34
- }),
35
- OutputJax: output
36
- });
37
- const mathjax_options = {
38
- em: 16,
39
- ex: 8,
40
- containerWidth: 1280
41
- };
42
- // Preprocess the input to handle inline and block math separately
43
- let regxList = [
44
- /\$\$\ (.+?)\ \$\$/g, /\$\$(.+?)\$\$/g, /\$\$\n(.+?)\n\$\$/g,
45
- /\$(.+?)\$/g, /\\\((.+?)\\\)/g, /\\\[(.+?)\\\]/g
46
- ];
47
- regxList.forEach(regx => {
48
- math = math
49
- .replace(regx, (match, p1) => {
50
- // Inline math
51
- let node = mathjax_document.convert(`${p1}`, mathjax_options);
52
- let nodeHtml = `<span class="mathjax raw" style="margin-left:10px;margin-right:10px;">${this.adaptor.innerHTML(node)}</span>`;
53
- return nodeHtml;
54
- });
55
- });
56
- return math;
57
- // math
58
- // .replace(/\$\$\ (.+?)\ \$\$/g, (match, p1) => {
59
- // // Inline math
60
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
61
- // return this.adaptor.innerHTML(node);
62
- // })
63
- // .replace(/\$\$(.+?)\$\$/g, (match, p1) => {
64
- // // Inline math
65
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
66
- // return this.adaptor.innerHTML(node);
67
- // })
68
- // .replace(/\$\$\n(.+?)\n\$\$/g, (match, p1) => {
69
- // // Inline math
70
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
71
- // return this.adaptor.innerHTML(node);
72
- // })
73
- // .replace(/\$(.+?)\$/g, (match, p1) => {
74
- // // Inline math
75
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
76
- // return this.adaptor.innerHTML(node);
77
- // })
78
- // .replace(/\\\((.+?)\\\)/g, (match, p1) => {
79
- // // Inline math
80
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
81
- // return this.adaptor.innerHTML(node);
82
- // })
83
- // .replace(/\\\[(.+?)\\\]/g, (match, p1) => {
84
- // // Inline math
85
- // let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
86
- // return this.adaptor.innerHTML(node);
87
- // })
88
- // return processedMath;
89
- // 内置Tex内容筛选(不如正则准确)
90
- // let node:any = mathjax_document.convert(math,mathjax_options) as any;
91
- // return adaptor.innerHTML(node);
92
- }
93
- }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvY29tcC1tYXJrZG93bi1wcmV2aWV3L3BsdWdpbnMvbWQtbWF0aGpheC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxNQUFNLE9BQU8sZUFBZTtJQUl4QixZQUFZLE9BQVk7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUM3QixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFRLEVBQUMsT0FBWTtRQUNqQyxJQUFHLENBQUMsSUFBSSxFQUFFLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQTtRQUMzQixJQUFHLENBQUMsSUFBSSxFQUFFLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQTtRQUM1QixPQUFPLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDakMsSUFBSSxNQUFNLEdBQU8sSUFBSSxHQUFHLENBQUMsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFHLE9BQU8sRUFBRSxNQUFNLElBQUUsT0FBTyxFQUFDLENBQUM7WUFDN0IsTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7UUFDcEIsQ0FBQztRQUNELFdBQVc7UUFDWCxNQUFNLGdCQUFnQixHQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFDO1lBQ2pELFlBQVksRUFBQztnQkFDVCxRQUFRLEVBQUMsVUFBVSxFQUFDLE9BQU8sRUFBQyxVQUFVLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsZ0JBQWdCO2FBQ3BGO1lBQ0QsUUFBUSxFQUFDLElBQUksR0FBRyxDQUFDO2dCQUNiLHFEQUFxRDtnQkFDckQsK0NBQStDO2dCQUMvQyxjQUFjLEVBQUUsSUFBSTtnQkFDcEIsUUFBUSxFQUFDLFdBQVc7YUFDdkIsQ0FBQztZQUNGLFNBQVMsRUFBQyxNQUFNO1NBQ2YsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxlQUFlLEdBQUc7WUFDeEIsRUFBRSxFQUFDLEVBQUU7WUFDTCxFQUFFLEVBQUMsQ0FBQztZQUNKLGNBQWMsRUFBQyxJQUFJO1NBQ2xCLENBQUE7UUFFRCxrRUFBa0U7UUFDbEUsSUFBSSxRQUFRLEdBQUc7WUFDWCxvQkFBb0IsRUFBQyxnQkFBZ0IsRUFBQyxvQkFBb0I7WUFDMUQsWUFBWSxFQUFDLGdCQUFnQixFQUFDLGdCQUFnQjtTQUNqRCxDQUFBO1FBQ0QsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUEsRUFBRTtZQUNuQixJQUFJLEdBQUcsSUFBSTtpQkFDVixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUM3QixjQUFjO2dCQUNkLElBQUksSUFBSSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLGVBQWUsQ0FBUSxDQUFDO2dCQUNyRSxJQUFJLFFBQVEsR0FBRyx5RUFBeUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQTtnQkFDN0gsT0FBTyxRQUFRLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQVEsSUFBSSxDQUFBO1FBQ1osT0FBTztRQUNQLGtEQUFrRDtRQUNsRCxpQkFBaUI7UUFDakIsd0VBQXdFO1FBQ3hFLHVDQUF1QztRQUN2QyxLQUFLO1FBQ0wsOENBQThDO1FBQzlDLHFCQUFxQjtRQUNyQiw0RUFBNEU7UUFDNUUsMkNBQTJDO1FBQzNDLEtBQUs7UUFDTCxrREFBa0Q7UUFDbEQscUJBQXFCO1FBQ3JCLDRFQUE0RTtRQUM1RSwyQ0FBMkM7UUFDM0MsS0FBSztRQUNMLDBDQUEwQztRQUMxQyxxQkFBcUI7UUFDckIsNEVBQTRFO1FBQzVFLDJDQUEyQztRQUMzQyxLQUFLO1FBQ0wsOENBQThDO1FBQzlDLHFCQUFxQjtRQUNyQiw0RUFBNEU7UUFDNUUsMkNBQTJDO1FBQzNDLEtBQUs7UUFDTCw4Q0FBOEM7UUFDOUMscUJBQXFCO1FBQ3JCLDRFQUE0RTtRQUM1RSwyQ0FBMkM7UUFDM0MsS0FBSztRQUNMLHdCQUF3QjtRQUV4QixvQkFBb0I7UUFDcEIsd0VBQXdFO1FBQ3hFLGtDQUFrQztJQUN0QyxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgbWF0aGpheCB9IGZyb20gXCJtYXRoamF4LWZ1bGwvanMvbWF0aGpheFwiO1xuaW1wb3J0IHsgVGVYIH0gZnJvbSBcIm1hdGhqYXgtZnVsbC9qcy9pbnB1dC90ZXhcIjtcbmltcG9ydCB7IFNWRyB9IGZyb20gXCJtYXRoamF4LWZ1bGwvanMvb3V0cHV0L3N2Z1wiO1xuaW1wb3J0IHsgQ0hUTUwgfSBmcm9tIFwibWF0aGpheC1mdWxsL2pzL291dHB1dC9jaHRtbFwiO1xuaW1wb3J0IHsgQWxsUGFja2FnZXMgfSBmcm9tIFwibWF0aGpheC1mdWxsL2pzL2lucHV0L3RleC9BbGxQYWNrYWdlc1wiO1xuaW1wb3J0IHsgbGl0ZUFkYXB0b3IgfSBmcm9tIFwibWF0aGpheC1mdWxsL2pzL2FkYXB0b3JzL2xpdGVBZGFwdG9yXCI7XG5pbXBvcnQgeyBSZWdpc3RlckhUTUxIYW5kbGVyIH0gZnJvbSBcIm1hdGhqYXgtZnVsbC9qcy9oYW5kbGVycy9odG1sXCI7XG5cbmV4cG9ydCBjbGFzcyBNYXJrZG93bk1hdGhKYXh7XG5cbiAgICBvcHRpb25zOmFueVxuICAgIGFkYXB0b3I6YW55XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucz86YW55KXtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5hZGFwdG9yID0gbGl0ZUFkYXB0b3IoKTtcbiAgICAgICAgUmVnaXN0ZXJIVE1MSGFuZGxlcih0aGlzLmFkYXB0b3IpO1xuICAgIH1cbiAgICB0ZXh0X3RvX21hdGhqYXgobWF0aDphbnksb3B0aW9ucz86YW55KTphbnl7XG4gICAgICAgIGlmKCFtYXRoPy5sZW5ndGgpIHJldHVybiBcIlwiXG4gICAgICAgIGlmKCFtYXRoPy5yZXBsYWNlKSByZXR1cm4gXCJcIlxuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB0aGlzLm9wdGlvbnNcbiAgICAgICAgbGV0IG91dHB1dDphbnkgPSBuZXcgU1ZHKHtmb250Q2FjaGU6J2xvY2FsJ30pO1xuICAgICAgICBpZihvcHRpb25zPy5vdXRwdXQ9PVwiY2h0bWxcIil7XG4gICAgICAgIG91dHB1dCA9IG5ldyBDSFRNTCgpXG4gICAgICAgIH1cbiAgICAgICAgLy8g6K6+572u6L6T5YWl6L6T5Ye65Y+C5pWwXG4gICAgICAgIGNvbnN0IG1hdGhqYXhfZG9jdW1lbnQ6YW55ID0gbWF0aGpheC5kb2N1bWVudCgnJyx7XG4gICAgICAgIHNraXBIdG1sVGFnczpbXG4gICAgICAgICAgICAnc2NyaXB0JyxcIm5vc2NyaXB0XCIsJ3N0eWxlJyxcInRleHRhcmVhXCIsXCJwcmVcIixcImNvZGVcIixcImFubm90YXRpb25cIixcImFubm90YXRpb24teG1sXCJcbiAgICAgICAgXSxcbiAgICAgICAgSW5wdXRKYXg6bmV3IFRlWCh7XG4gICAgICAgICAgICAvLyBkaXNwbGF5TWF0aDogW1snXFwkXFwkJywgJ1xcJFxcJCddLCBbJ1xcXFxcXFsnLCAnXFxcXFxcXSddXSxcbiAgICAgICAgICAgIC8vIGlubGluZU1hdGg6IFtbJ1xcJCcsICdcXCQnXSxbJ1xcXFxcXCgnLCAnXFxcXFxcKSddXSxcbiAgICAgICAgICAgIHByb2Nlc3NFc2NhcGVzOiB0cnVlLFxuICAgICAgICAgICAgcGFja2FnZXM6QWxsUGFja2FnZXMsXG4gICAgICAgIH0pLFxuICAgICAgICBPdXRwdXRKYXg6b3V0cHV0XG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IG1hdGhqYXhfb3B0aW9ucyA9IHtcbiAgICAgICAgZW06MTYsXG4gICAgICAgIGV4OjgsXG4gICAgICAgIGNvbnRhaW5lcldpZHRoOjEyODBcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAvLyBQcmVwcm9jZXNzIHRoZSBpbnB1dCB0byBoYW5kbGUgaW5saW5lIGFuZCBibG9jayBtYXRoIHNlcGFyYXRlbHlcbiAgICAgICAgbGV0IHJlZ3hMaXN0ID0gW1xuICAgICAgICAgICAgL1xcJFxcJFxcICguKz8pXFwgXFwkXFwkL2csL1xcJFxcJCguKz8pXFwkXFwkL2csL1xcJFxcJFxcbiguKz8pXFxuXFwkXFwkL2csXG4gICAgICAgICAgICAvXFwkKC4rPylcXCQvZywvXFxcXFxcKCguKz8pXFxcXFxcKS9nLC9cXFxcXFxbKC4rPylcXFxcXFxdL2dcbiAgICAgICAgXVxuICAgICAgICByZWd4TGlzdC5mb3JFYWNoKHJlZ3g9PntcbiAgICAgICAgICAgIG1hdGggPSBtYXRoXG4gICAgICAgICAgICAucmVwbGFjZShyZWd4LCAobWF0Y2gsIHAxKSA9PiB7XG4gICAgICAgICAgICAvLyBJbmxpbmUgbWF0aFxuICAgICAgICAgICAgbGV0IG5vZGUgPSBtYXRoamF4X2RvY3VtZW50LmNvbnZlcnQoYCR7cDF9YCwgbWF0aGpheF9vcHRpb25zKSBhcyBhbnk7XG4gICAgICAgICAgICBsZXQgbm9kZUh0bWwgPSBgPHNwYW4gY2xhc3M9XCJtYXRoamF4IHJhd1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweDtcIj4ke3RoaXMuYWRhcHRvci5pbm5lckhUTUwobm9kZSl9PC9zcGFuPmBcbiAgICAgICAgICAgIHJldHVybiBub2RlSHRtbDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiAgbWF0aFxuICAgICAgICAvLyBtYXRoXG4gICAgICAgIC8vIC5yZXBsYWNlKC9cXCRcXCRcXCAoLis/KVxcIFxcJFxcJC9nLCAobWF0Y2gsIHAxKSA9PiB7XG4gICAgICAgIC8vIC8vIElubGluZSBtYXRoXG4gICAgICAgIC8vIGxldCBub2RlID0gbWF0aGpheF9kb2N1bWVudC5jb252ZXJ0KGAke3AxfWAsIG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xuICAgICAgICAvLyByZXR1cm4gdGhpcy5hZGFwdG9yLmlubmVySFRNTChub2RlKTtcbiAgICAgICAgLy8gfSlcbiAgICAgICAgLy8gLnJlcGxhY2UoL1xcJFxcJCguKz8pXFwkXFwkL2csIChtYXRjaCwgcDEpID0+IHtcbiAgICAgICAgLy8gICAgIC8vIElubGluZSBtYXRoXG4gICAgICAgIC8vICAgICBsZXQgbm9kZSA9IG1hdGhqYXhfZG9jdW1lbnQuY29udmVydChgJHtwMX1gLCBtYXRoamF4X29wdGlvbnMpIGFzIGFueTtcbiAgICAgICAgLy8gICAgIHJldHVybiB0aGlzLmFkYXB0b3IuaW5uZXJIVE1MKG5vZGUpO1xuICAgICAgICAvLyB9KVxuICAgICAgICAvLyAucmVwbGFjZSgvXFwkXFwkXFxuKC4rPylcXG5cXCRcXCQvZywgKG1hdGNoLCBwMSkgPT4ge1xuICAgICAgICAvLyAgICAgLy8gSW5saW5lIG1hdGhcbiAgICAgICAgLy8gICAgIGxldCBub2RlID0gbWF0aGpheF9kb2N1bWVudC5jb252ZXJ0KGAke3AxfWAsIG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xuICAgICAgICAvLyAgICAgcmV0dXJuIHRoaXMuYWRhcHRvci5pbm5lckhUTUwobm9kZSk7XG4gICAgICAgIC8vIH0pXG4gICAgICAgIC8vIC5yZXBsYWNlKC9cXCQoLis/KVxcJC9nLCAobWF0Y2gsIHAxKSA9PiB7XG4gICAgICAgIC8vICAgICAvLyBJbmxpbmUgbWF0aFxuICAgICAgICAvLyAgICAgbGV0IG5vZGUgPSBtYXRoamF4X2RvY3VtZW50LmNvbnZlcnQoYCR7cDF9YCwgbWF0aGpheF9vcHRpb25zKSBhcyBhbnk7XG4gICAgICAgIC8vICAgICByZXR1cm4gdGhpcy5hZGFwdG9yLmlubmVySFRNTChub2RlKTtcbiAgICAgICAgLy8gfSlcbiAgICAgICAgLy8gLnJlcGxhY2UoL1xcXFxcXCgoLis/KVxcXFxcXCkvZywgKG1hdGNoLCBwMSkgPT4ge1xuICAgICAgICAvLyAgICAgLy8gSW5saW5lIG1hdGhcbiAgICAgICAgLy8gICAgIGxldCBub2RlID0gbWF0aGpheF9kb2N1bWVudC5jb252ZXJ0KGAke3AxfWAsIG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xuICAgICAgICAvLyAgICAgcmV0dXJuIHRoaXMuYWRhcHRvci5pbm5lckhUTUwobm9kZSk7XG4gICAgICAgIC8vIH0pXG4gICAgICAgIC8vIC5yZXBsYWNlKC9cXFxcXFxbKC4rPylcXFxcXFxdL2csIChtYXRjaCwgcDEpID0+IHtcbiAgICAgICAgLy8gICAgIC8vIElubGluZSBtYXRoXG4gICAgICAgIC8vICAgICBsZXQgbm9kZSA9IG1hdGhqYXhfZG9jdW1lbnQuY29udmVydChgJHtwMX1gLCBtYXRoamF4X29wdGlvbnMpIGFzIGFueTtcbiAgICAgICAgLy8gICAgIHJldHVybiB0aGlzLmFkYXB0b3IuaW5uZXJIVE1MKG5vZGUpO1xuICAgICAgICAvLyB9KVxuICAgICAgICAvLyByZXR1cm4gcHJvY2Vzc2VkTWF0aDtcbiAgICAgICAgXG4gICAgICAgIC8vIOWGhee9rlRleOWGheWuueetm+mAiSjkuI3lpoLmraPliJnlh4bnoa4pXG4gICAgICAgIC8vIGxldCBub2RlOmFueSA9IG1hdGhqYXhfZG9jdW1lbnQuY29udmVydChtYXRoLG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xuICAgICAgICAvLyByZXR1cm4gYWRhcHRvci5pbm5lckhUTUwobm9kZSk7XG4gICAgfVxuICBcbn0iXX0=
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/comp-markdown-preview/plugins/md-mathjax/index.mjs
7
+ */
8
+ import{mathjax}from"mathjax-full/js/mathjax";import{TeX}from"mathjax-full/js/input/tex";import{SVG}from"mathjax-full/js/output/svg";import{CHTML}from"mathjax-full/js/output/chtml";import{AllPackages}from"mathjax-full/js/input/tex/AllPackages";import{liteAdaptor}from"mathjax-full/js/adaptors/liteAdaptor";import{RegisterHTMLHandler}from"mathjax-full/js/handlers/html";export class MarkdownMathJax{constructor(t){this.options=t,this.adaptor=liteAdaptor(),RegisterHTMLHandler(this.adaptor)}text_to_mathjax(t,a){if(!t?.length)return"";if(!t?.replace)return"";a=a||this.options;let r=new SVG({fontCache:"local"});"chtml"==a?.output&&(r=new CHTML);const e=mathjax.document("",{skipHtmlTags:["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],InputJax:new TeX({processEscapes:!0,packages:AllPackages}),OutputJax:r}),o={em:16,ex:8,containerWidth:1280};return[/\$\$\ (.+?)\ \$\$/g,/\$\$(.+?)\$\$/g,/\$\$\n(.+?)\n\$\$/g,/\$(.+?)\$/g,/\\\((.+?)\\\)/g,/\\\[(.+?)\\\]/g].forEach((a=>{t=t.replace(a,((t,a)=>{let r=e.convert(`${a}`,o);return`<span class="mathjax raw" style="margin-left:10px;margin-right:10px;">${this.adaptor.innerHTML(r)}</span>`}))})),t}}
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9wbHVnaW5zL21kLW1hdGhqYXgvaW5kZXgubWpz`
10
+
@@ -1,13 +1,10 @@
1
- export * from "./service-fmai/fmai.service";
2
- export * from "./service-fmai/service-imagine";
3
- export * from "./service-fmai/service-chat";
4
- export * from "./comp-markdown-preview/plugins/md-mathjax/index";
5
- export * from "./comp-markdown-preview/markdown-parse";
6
- export * from "./comp-markdown-preview/markdown-preview.module";
7
- export * from "./comp-markdown-preview/markdown-preview.component";
8
- export * from "./comp-markdown-preview/clipboard.service";
9
- export * from "./voice";
10
- export * from "./avatar";
11
- export * from "./agent";
12
- export * from "./chat";
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxrREFBa0QsQ0FBQTtBQUNoRSxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYyxvREFBb0QsQ0FBQTtBQUNsRSxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc2VydmljZS1mbWFpL2ZtYWkuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9zZXJ2aWNlLWZtYWkvc2VydmljZS1pbWFnaW5lXCJcbmV4cG9ydCAqIGZyb20gXCIuL3NlcnZpY2UtZm1haS9zZXJ2aWNlLWNoYXRcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29tcC1tYXJrZG93bi1wcmV2aWV3L3BsdWdpbnMvbWQtbWF0aGpheC9pbmRleFwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb21wLW1hcmtkb3duLXByZXZpZXcvbWFya2Rvd24tcGFyc2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29tcC1tYXJrZG93bi1wcmV2aWV3L21hcmtkb3duLXByZXZpZXcubW9kdWxlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wcmV2aWV3LmNvbXBvbmVudFwiIFxuZXhwb3J0ICogZnJvbSBcIi4vY29tcC1tYXJrZG93bi1wcmV2aWV3L2NsaXBib2FyZC5zZXJ2aWNlXCIgXG5leHBvcnQgKiBmcm9tIFwiLi92b2ljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9hdmF0YXJcIlxuZXhwb3J0ICogZnJvbSBcIi4vYWdlbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vY2hhdFwiIl19
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/index.mjs
7
+ */
8
+ export*from"./service-fmai/fmai.service";export*from"./service-fmai/service-imagine";export*from"./service-fmai/service-chat";export*from"./comp-markdown-preview/plugins/md-mathjax/index";export*from"./comp-markdown-preview/markdown-parse";export*from"./comp-markdown-preview/markdown-preview.module";export*from"./comp-markdown-preview/markdown-preview.component";export*from"./comp-markdown-preview/clipboard.service";export*from"./voice";export*from"./avatar";export*from"./agent";export*from"./chat";
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2luZGV4Lm1qcw==`
10
+