diff --git a/src/assets/images/img_01.png b/src/assets/images/img_01.png deleted file mode 100644 index 90d4b078..00000000 Binary files a/src/assets/images/img_01.png and /dev/null differ diff --git a/src/assets/images/img_02.png b/src/assets/images/img_02.png deleted file mode 100644 index 35a52339..00000000 Binary files a/src/assets/images/img_02.png and /dev/null differ diff --git a/src/components/speech-content/speech-item.tsx b/src/components/speech-content/speech-item.tsx index ea141d4e..f8b59ee5 100644 --- a/src/components/speech-content/speech-item.tsx +++ b/src/components/speech-content/speech-item.tsx @@ -145,7 +145,7 @@ const SpeechItem: React.FC = (props) => {
= (props) => { maxBarCount={100} amplitude={60} fixedHeight={true} - height={82} + height={120} width={800} analyserData={audioChunks} > diff --git a/src/pages/playground/components/ground-embedding.tsx b/src/pages/playground/components/ground-embedding.tsx index 68f0b96a..ccd55f52 100644 --- a/src/pages/playground/components/ground-embedding.tsx +++ b/src/pages/playground/components/ground-embedding.tsx @@ -31,14 +31,14 @@ import { } from 'react'; import { useHotkeys } from 'react-hotkeys-hook'; import { handleEmbedding } from '../apis'; -import { OpenAIViewCode } from '../config'; import { ParamsSchema } from '../config/types'; import '../style/ground-left.less'; import '../style/rerank.less'; +import { generateEmbeddingCode } from '../view-code/embedding'; import DynamicParams from './dynamic-params'; import FileList from './file-list'; import InputList from './input-list'; -import ViewCodeModal from './view-code-modal'; +import ViewCommonCode from './view-common-code'; interface MessageProps { modelList: Global.BaseOption[]; @@ -123,6 +123,19 @@ const GroundEmbedding: React.FC = forwardRef((props, ref) => { }; }); + const viewCodeContent = useMemo(() => { + return generateEmbeddingCode({ + api: '/v1-openai/embeddings', + parameters: { + ...parameters, + input: [ + ...textList.map((item) => item.text).filter((item) => item), + ...fileList.map((item) => item.text).filter((item) => item) + ] + } + }); + }, [parameters, textList, fileList]); + const inputEmpty = useMemo(() => { const list = [...textList, ...fileList]; return list.length < 2; @@ -660,22 +673,12 @@ const GroundEmbedding: React.FC = forwardRef((props, ref) => { />
- - item.text).filter((item) => item), - ...fileList.map((item) => item.text).filter((item) => item) - ] - }} - parameters={{ - ...parameters - }} + viewCodeContent={viewCodeContent} onCancel={handleCloseViewCode} title={intl.formatMessage({ id: 'playground.viewcode' })} - > + > ); }); diff --git a/src/pages/playground/components/ground-images.tsx b/src/pages/playground/components/ground-images.tsx index 2c7f534b..13dde128 100644 --- a/src/pages/playground/components/ground-images.tsx +++ b/src/pages/playground/components/ground-images.tsx @@ -26,7 +26,7 @@ import React, { useState } from 'react'; import { CREAT_IMAGE_API } from '../apis'; -import { OpenAIViewCode, promptList } from '../config'; +import { promptList } from '../config'; import { ImageAdvancedParamsConfig, ImageCustomSizeConfig, @@ -36,9 +36,9 @@ import { import { MessageItem, ParamsSchema } from '../config/types'; import '../style/ground-left.less'; import '../style/system-message-wrap.less'; +import { generateImageCode, generateOpenaiImageCode } from '../view-code/image'; import DynamicParams from './dynamic-params'; import MessageInput from './message-input'; -import ViewCodeModal from './view-code-modal'; import ViewCommonCode from './view-common-code'; interface MessageProps { @@ -165,6 +165,25 @@ const GroundImages: React.FC = forwardRef((props, ref) => { }; }, [parameters]); + const viewCodeContent = useMemo(() => { + if (isOpenaiCompatible) { + return generateOpenaiImageCode({ + api: '/v1-openai/images/generations', + parameters: { + ...finalParameters, + prompt: currentPrompt + } + }); + } + return generateImageCode({ + api: '/v1-openai/images/generations', + parameters: { + ...finalParameters, + prompt: currentPrompt + } + }); + }, [finalParameters, currentPrompt, parameters.size]); + const setMessageId = () => { messageId.current = messageId.current + 1; return messageId.current; @@ -603,34 +622,12 @@ const GroundImages: React.FC = forwardRef((props, ref) => { /> - - {isOpenaiCompatible ? ( - - ) : ( - - )} + ); }); diff --git a/src/pages/playground/components/ground-reranker.tsx b/src/pages/playground/components/ground-reranker.tsx index 13405248..c6086329 100644 --- a/src/pages/playground/components/ground-reranker.tsx +++ b/src/pages/playground/components/ground-reranker.tsx @@ -19,16 +19,17 @@ import { useCallback, useEffect, useImperativeHandle, + useMemo, useRef, useState } from 'react'; import { useHotkeys } from 'react-hotkeys-hook'; import { rerankerQuery } from '../apis'; -import { OpenAIViewCode } from '../config'; import { MessageItem, ParamsSchema } from '../config/types'; import '../style/ground-left.less'; import '../style/rerank.less'; import '../style/system-message-wrap.less'; +import { generateRerankCode } from '../view-code/rerank'; import DynamicParams from './dynamic-params'; import InputList from './input-list'; import ViewCommonCode from './view-common-code'; @@ -122,7 +123,7 @@ const GroundReranker: React.FC = forwardRef((props, ref) => { } ]); const [sortIndexMap, setSortIndexMap] = useState([]); - const queryValueRef = useRef(''); + const [queryValue, setQueryValue] = useState(''); const { initialize, updateScrollerPosition: updateDocumentScrollerPosition } = useOverlayScroller(); @@ -140,6 +141,19 @@ const GroundReranker: React.FC = forwardRef((props, ref) => { }; }); + const viewCodeContent = useMemo(() => { + return generateRerankCode({ + api: '/v1/rerank', + parameters: { + ...parameters, + query: queryValue, + documents: [...textList, ...fileList] + .map((item) => item.text) + .filter((text) => text) + } + }); + }, [parameters, queryValue, textList, fileList]); + // [0.1, 1.0] const normalizValue = (data: { min: number; max: number; value: number }) => { const range = [0.5, 1.0]; @@ -222,7 +236,7 @@ const GroundReranker: React.FC = forwardRef((props, ref) => { { model: parameters.model, top_n: parameters.top_n, - query: queryValueRef.current, + query: queryValue, documents: [ ...textList.map((item) => item.text), ...fileList.map((item) => item.text) @@ -312,7 +326,7 @@ const GroundReranker: React.FC = forwardRef((props, ref) => { }; const handleQueryChange = (e: any) => { - queryValueRef.current = e.target.value; + setQueryValue(e.target.value); }; const handleCloseViewCode = () => { @@ -420,7 +434,7 @@ const GroundReranker: React.FC = forwardRef((props, ref) => { HotKeys.SUBMIT, (e: any) => { e.preventDefault(); - handleSearch(queryValueRef.current); + handleSearch(queryValue); }, { enabled: !loading, @@ -601,19 +615,9 @@ const GroundReranker: React.FC = forwardRef((props, ref) => { /> - item.text) - .filter((text) => text) - }} - parameters={{ - ...parameters, - query: queryValueRef.current - }} + viewCodeContent={viewCodeContent} onCancel={handleCloseViewCode} title={intl.formatMessage({ id: 'playground.viewcode' })} > diff --git a/src/pages/playground/components/ground-stt.tsx b/src/pages/playground/components/ground-stt.tsx index a5ed09fb..acb17d64 100644 --- a/src/pages/playground/components/ground-stt.tsx +++ b/src/pages/playground/components/ground-stt.tsx @@ -18,6 +18,7 @@ import { useCallback, useEffect, useImperativeHandle, + useMemo, useRef, useState } from 'react'; @@ -26,9 +27,10 @@ import { RealtimeParamsConfig as paramsConfig } from '../config/params-config'; import '../style/ground-left.less'; import '../style/speech-to-text.less'; import '../style/system-message-wrap.less'; +import { speechToTextCode } from '../view-code/audio'; import AudioInput from './audio-input'; import DynamicParams from './dynamic-params'; -import ViewSTTCode from './view-stt-code'; +import ViewCommonCode from './view-common-code'; interface MessageProps { modelList: Global.BaseOption[]; @@ -89,6 +91,15 @@ const GroundLeft: React.FC = forwardRef((props, ref) => { messageId.current = messageId.current + 1; }; + const viewCodeContent = useMemo(() => { + return speechToTextCode({ + api: '/v1-openai/audio/transcriptions', + parameters: { + ...parameters + } + }); + }, [parameters]); + const handleStopConversation = () => { cancelRequest(); setLoading(false); @@ -449,16 +460,12 @@ const GroundLeft: React.FC = forwardRef((props, ref) => { /> - - + > ); }); diff --git a/src/pages/playground/components/ground-tts.tsx b/src/pages/playground/components/ground-tts.tsx index 67f0ef63..7f018306 100644 --- a/src/pages/playground/components/ground-tts.tsx +++ b/src/pages/playground/components/ground-tts.tsx @@ -24,9 +24,10 @@ import { TTSParamsConfig as paramsConfig } from '../config/params-config'; import { MessageItem, ParamsSchema } from '../config/types'; import '../style/ground-left.less'; import '../style/system-message-wrap.less'; +import { TextToSpeechCode } from '../view-code/audio'; import DynamicParams from './dynamic-params'; import MessageInput from './message-input'; -import ViewTTSCode from './view-tts-code'; +import ViewCommonCode from './view-common-code'; interface MessageProps { modelList: Global.BaseOption[]; @@ -92,6 +93,16 @@ const GroundLeft: React.FC = forwardRef((props, ref) => { }; }); + const viewCodeContent = useMemo(() => { + return TextToSpeechCode({ + api: '/v1-openai/audio/speech', + parameters: { + ...parameters, + input: currentPrompt + } + }); + }, [parameters, currentPrompt]); + const sortVoiceList = useCallback( (locale: string, voiceDataList: Global.BaseOption[]) => { const lang = locale === 'en-US' ? 'english' : 'chinese'; @@ -449,18 +460,12 @@ const GroundLeft: React.FC = forwardRef((props, ref) => { /> - - + > ); }); diff --git a/src/pages/playground/components/view-common-code.tsx b/src/pages/playground/components/view-common-code.tsx index b5028c58..43ec25e1 100644 --- a/src/pages/playground/components/view-common-code.tsx +++ b/src/pages/playground/components/view-common-code.tsx @@ -3,15 +3,16 @@ import HighlightCode from '@/components/highlight-code'; import { BulbOutlined } from '@ant-design/icons'; import { useIntl } from '@umijs/max'; import { Button, Modal } from 'antd'; -import React, { useEffect, useState } from 'react'; +import React, { useMemo, useState } from 'react'; type ViewModalProps = { - parameters: any; title: string; open: boolean; - api: string; - payload?: Record; - logcommand: Record; + viewCodeContent: { + curlCode: string; + pythonCode: string; + nodeJsCode: string; + }; onCancel: () => void; }; @@ -24,61 +25,27 @@ const langMap = { const langOptions = [ { label: 'Curl', value: langMap.shell }, { label: 'Python', value: langMap.python }, - { label: 'JavaScript', value: langMap.javascript } + { label: 'Nodejs', value: langMap.javascript } ]; const ViewCodeModal: React.FC = (props) => { - const { - title, - open, - onCancel, - payload, - parameters = {}, - api, - logcommand - } = props || {}; + const { title, open, onCancel, viewCodeContent } = props || {}; const intl = useIntl(); - const [codeValue, setCodeValue] = useState(''); const [lang, setLang] = useState(langMap.shell); - const BaseURL = `${window.location.origin}${api}`; - - const generateCode = () => { + const codeValue = useMemo(() => { if (lang === langMap.shell) { - const code = `curl ${window.location.origin}${api} \\\n-H "Content-Type: application/json" \\\n-H "Authorization: Bearer $\{YOUR_GPUSTACK_API_KEY}" \\\n-d '${JSON.stringify( - { - ...parameters, - ...payload - }, - null, - 2 - )}'`; - setCodeValue(code); - } else if (lang === langMap.javascript) { - const data = { - ...parameters, - ...payload - }; - const headers = { - 'Content-type': 'application/json', - Authorization: `Bearer $\{YOUR_GPUSTACK_API_KEY}` - }; - const code = `import axios from 'axios';\n\nconst url = "${BaseURL}";\n\nconst headers = ${JSON.stringify(headers, null, 2)};\n\nconst data = ${JSON.stringify(data, null, 2)};\n\naxios.post(url, data, { headers }).then((response) => {\n console.log(response.${logcommand.node});\n});`; - setCodeValue(code); - } else if (lang === langMap.python) { - let data = { - ...parameters, - ...payload - }; - const headers = { - 'Content-type': 'application/json', - Authorization: `Bearer $\{YOUR_GPUSTACK_API_KEY}` - }; - const code = `import requests\n\nurl="${BaseURL}"\n\nheaders = ${JSON.stringify(headers, null, 2)}\n\ndata=${JSON.stringify(data, null, 2).replace(/null/g, 'None')}\n\nresponse = requests.post(url, headers=headers, json=data)\n\nprint(response.${logcommand.python})`; - setCodeValue(code); + return viewCodeContent?.curlCode; } - }; + if (lang === langMap.javascript) { + return viewCodeContent?.nodeJsCode; + } + if (lang === langMap.python) { + return viewCodeContent?.pythonCode; + } + return ''; + }, [lang, viewCodeContent]); const handleOnChangeLang = (value: string) => { setLang(value); @@ -89,10 +56,6 @@ const ViewCodeModal: React.FC = (props) => { onCancel(); }; - useEffect(() => { - generateCode(); - }, [lang, parameters, payload]); - return ( <> = (props) => { } }} > - +
+ +
= (props) => { ); }; -export default ViewCodeModal; +export default React.memo(ViewCodeModal); diff --git a/src/pages/playground/components/view-stt-code.tsx b/src/pages/playground/components/view-stt-code.tsx deleted file mode 100644 index aaebe63a..00000000 --- a/src/pages/playground/components/view-stt-code.tsx +++ /dev/null @@ -1,201 +0,0 @@ -import EditorWrap from '@/components/editor-wrap'; -import HighlightCode from '@/components/highlight-code'; -import { BulbOutlined } from '@ant-design/icons'; -import { useIntl } from '@umijs/max'; -import { Button, Modal } from 'antd'; -import _ from 'lodash'; -import React, { useMemo, useState } from 'react'; - -type ViewModalProps = { - systemMessage?: string; - messageList?: any[]; - payload: Record; - parameters: any; - title: string; - api: string; - clientType: string; - logcommand?: string; - open: boolean; - onCancel: () => void; -}; - -const langMap = { - shell: 'bash', - python: 'python', - javascript: 'javascript' -}; - -const langOptions = [ - { label: 'Curl', value: langMap.shell }, - { label: 'Python', value: langMap.python }, - { label: 'Nodejs', value: langMap.javascript } -]; - -const ViewCodeModal: React.FC = (props) => { - const { - title, - open, - api, - clientType, - logcommand, - onCancel, - payload, - parameters = {} - } = props || {}; - - const intl = useIntl(); - const [lang, setLang] = useState(langMap.shell); - - const BaseURL = `${window.location.origin}/v1-openai`; - - const formatPyParams = (params: any) => { - return _.keys(params).reduce((acc: string, key: string) => { - if (params[key] === null) { - return acc; - } - const value = - typeof params[key] === 'object' - ? JSON.stringify(params[key], null, 2) - : `"${params[key]}"`; - return acc + ` ${key}=${value},\n`; - }, ' file=audio_file\n'); - }; - - const codeValue = useMemo(() => { - const consoleLog = `console.log(response.text);\n`; - - const printLog = logcommand ? `print(response.${logcommand})` : ''; - - if (lang === langMap.shell) { - const code = `curl ${window.location.origin}/v1-openai/${api} \\\n-H "Content-Type: multipart/form-data" \\\n-H "Authorization: Bearer $\{YOUR_GPUSTACK_API_KEY}" \\\n-F file="@/path/to/file/audio.mp3;type=audio/mpeg" \\\n-F model="${parameters.model}" \\\n-F language="${parameters.language}"`; - return code; - } - if (lang === langMap.javascript) { - const paramStr = JSON.stringify( - { - ...parameters, - ...payload, - file: `fs.createReadStream(audio.mp3)` - }, - null, - 4 - ); - const params = paramStr.replace( - /"fs.createReadStream\(audio.mp3\)"/g, - 'fs.createReadStream("audio.mp3")' - ); - - const code = `const fs = require("fs")\nconst OpenAI = require("openai");\n\nconst openai = new OpenAI({\n "apiKey": "YOUR_GPUSTACK_API_KEY",\n "baseURL": "${BaseURL}"\n});\n\nasync function main(){\n const params = ${params};\nconst response = await openai.${clientType}(params);\n ${consoleLog}}\nmain();`; - - return code; - } - if (lang === langMap.python) { - const formattedParams = _.keys(parameters).reduce( - (acc: string, key: string) => { - if (parameters[key] === null) { - return acc; - } - const value = - typeof parameters[key] === 'string' - ? `"${parameters[key]}"` - : parameters[key]; - return acc + ` ${key}=${value},\n`; - }, - '' - ); - const params = formatPyParams(payload); - const code = `from openai import OpenAI\n\naudio_file = open("audio.mp3", "rb")\nclient = OpenAI(\n base_url="${BaseURL}", \n api_key="YOUR_GPUSTACK_API_KEY"\n)\n\nresponse = client.${clientType}(\n${formattedParams}${params})\nprint('response:', response.text)`; - return code; - } - return ''; - }, [lang, payload, parameters, api, clientType, logcommand]); - - const handleOnChangeLang = (value: string) => { - setLang(value); - }; - - const handleClose = () => { - setLang(langMap.shell); - onCancel(); - }; - - return ( - <> - -
- {intl.formatMessage({ id: 'playground.viewcode.info' })} -
-
- -
- -
-
-
- - - {intl.formatMessage( - { id: 'playground.viewcode.tips' }, - { - here: ( - - ) - } - )} - -
-
-
- - ); -}; - -export default React.memo(ViewCodeModal); diff --git a/src/pages/playground/components/view-tts-code.tsx b/src/pages/playground/components/view-tts-code.tsx deleted file mode 100644 index ce7f526f..00000000 --- a/src/pages/playground/components/view-tts-code.tsx +++ /dev/null @@ -1,207 +0,0 @@ -import EditorWrap from '@/components/editor-wrap'; -import HighlightCode from '@/components/highlight-code'; -import { BulbOutlined } from '@ant-design/icons'; -import { useIntl } from '@umijs/max'; -import { Button, Modal } from 'antd'; -import _ from 'lodash'; -import React, { useMemo, useState } from 'react'; - -type ViewModalProps = { - systemMessage?: string; - messageList?: any[]; - payload: Record; - parameters: any; - title: string; - api: string; - clientType: string; - logcommand?: string; - open: boolean; - onCancel: () => void; -}; - -const langMap = { - shell: 'bash', - python: 'python', - javascript: 'javascript' -}; - -const langOptions = [ - { label: 'Curl', value: langMap.shell }, - { label: 'Python', value: langMap.python }, - { label: 'Nodejs', value: langMap.javascript } -]; - -const ViewCodeModal: React.FC = (props) => { - const { - title, - open, - api, - clientType, - logcommand, - onCancel, - payload, - parameters = {} - } = props || {}; - - const intl = useIntl(); - const [lang, setLang] = useState(langMap.shell); - - const BaseURL = `${window.location.origin}/v1-openai`; - - const formatPyParams = (params: any) => { - return _.keys(params).reduce((acc: string, key: string) => { - if (params[key] === null) { - return acc; - } - const value = - typeof params[key] === 'object' - ? JSON.stringify(params[key], null, 2) - : `"${params[key]}"`; - return acc + ` ${key}=${value},\n`; - }, ''); - }; - - const codeValue = useMemo(() => { - const consoleLog = logcommand - ? `console.log(response.${logcommand});` - : `console.log(ouptFile);\n const buffer = Buffer.from(await response.arrayBuffer());\n await fs.promises.writeFile(ouptFile, buffer);\n`; - - const printLog = logcommand ? `print(response.${logcommand})` : ''; - - if (lang === langMap.shell) { - const code = `curl ${window.location.origin}/v1-openai/${api} \\\n-H "Content-Type: application/json" \\\n-H "Authorization: Bearer $\{YOUR_GPUSTACK_API_KEY}" \\\n-d '${JSON.stringify( - { - ...parameters, - ...payload - }, - null, - 2 - )}' \\\n--output output.${parameters.response_format}`; - return code; - } - if (lang === langMap.javascript) { - const code = `const fs = require("fs");\nconst path = require("path");\nconst OpenAI = require("openai");\n\nconst ouptFile = path.resolve("./output.${parameters.response_format}");\n\nconst openai = new OpenAI({\n "apiKey": "YOUR_GPUSTACK_API_KEY",\n "baseURL": "${BaseURL}"\n});\n\nasync function main(){\n const params = ${JSON.stringify( - { - ...parameters, - ...payload - }, - null, - 4 - )};\nconst response = await openai.${clientType}(params);\n ${consoleLog}}\nmain();`; - - return code; - } - if (lang === langMap.python) { - const formattedParams = _.keys(parameters).reduce( - (acc: string, key: string) => { - if (parameters[key] === null) { - return acc; - } - const value = - typeof parameters[key] === 'string' - ? `"${parameters[key]}"` - : parameters[key]; - return acc + ` ${key}=${value},\n`; - }, - '' - ); - const params = formatPyParams(payload); - const code = `from pathlib import Path\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url="${BaseURL}", \n api_key="YOUR_GPUSTACK_API_KEY"\n)\n\noutput_file_path = Path(__file__).parent / "output.${parameters.response_format}"\nresponse = client.${clientType}(\n${formattedParams}${params})\n${printLog}\nwith open(output_file_path, "wb") as f: - for chunk in response.iter_bytes(): - f.write(chunk) - -print(f"Audio saved to {output_file_path}")`; - return code; - } - return ''; - }, [lang, payload, parameters, api, clientType, logcommand]); - - const handleOnChangeLang = (value: string) => { - setLang(value); - }; - - const handleClose = () => { - setLang(langMap.shell); - onCancel(); - }; - - return ( - <> - -
- {intl.formatMessage({ id: 'playground.viewcode.info' })} -
-
- -
- -
-
-
- - - {intl.formatMessage( - { id: 'playground.viewcode.tips' }, - { - here: ( - - ) - } - )} - -
-
-
- - ); -}; - -export default React.memo(ViewCodeModal); diff --git a/src/pages/playground/config/embed-data.ts b/src/pages/playground/config/embed-data.ts deleted file mode 100644 index 9bc3a65b..00000000 --- a/src/pages/playground/config/embed-data.ts +++ /dev/null @@ -1,1051 +0,0 @@ -const data = { - id: 'ac5d3e57-405f-4f0a-a683-db1b1df48036', - texts: ['1', '2', '3', '1', '3'], - embeddings: [ - [ - 0.022079468, -0.01953125, -0.017074585, -0.061584473, -0.021743774, - 0.00043582916, -0.030532837, 0.018630981, 0.024475098, 0.02330017, - -0.04058838, 0.02116394, 0.025268555, -0.031311035, 0.02128601, - -0.05633545, 0.010475159, 0.034423828, -0.021606445, -0.013435364, - 0.003604889, 0.00097322464, -0.072143555, -0.010124207, 0.0259552, - -0.0008792877, -0.027694702, -0.012054443, -0.034729004, -0.05218506, - -0.0031604767, 0.060058594, 0.021072388, 0.02960205, -0.007850647, - -0.006465912, -0.057159424, -0.020233154, 0.024810791, -0.029632568, - 0.06274414, -0.06201172, -0.07531738, 0.00062417984, -0.04034424, - -0.015579224, -0.011299133, -0.06488037, 0.046051025, -0.0019683838, - 0.018661499, 0.014602661, 0.030181885, 0.017364502, -0.036499023, - 0.006362915, -0.04473877, -0.022033691, -0.0040626526, -0.0016584396, - 0.016921997, 0.027526855, 0.03643799, 0.06958008, 0.010696411, - 0.0042304993, -0.03793335, 0.029434204, 0.041748047, -0.0463562, - -0.03942871, -0.017745972, -0.021438599, -0.003774643, -0.05670166, - 0.0012588501, 0.018234253, 0.0022411346, 0.0056991577, 0.018859863, - -0.008872986, -0.066833496, -0.03164673, -0.007133484, 0.011833191, - 0.03616333, -0.0051956177, -0.022994995, 0.020584106, 0.007221222, - 0.01210022, 0.06323242, 0.02319336, 0.010871887, -0.04083252, - -0.008300781, -0.0056991577, -0.00447464, -0.03756714, -0.012252808, - -0.03881836, -0.00074481964, -0.048431396, 0.009361267, -0.028686523, - 0.03375244, 0.0340271, 0.0390625, -0.011787415, 0.034820557, -0.04888916, - 0.078186035, -0.032989502, -0.022018433, -0.06365967, -0.0043678284, - -0.038482666, 0.027359009, 0.008834839, 0.032348633, 0.033691406, - 0.05050659, 0.0082473755, -0.042053223, -0.033203125, -0.0073432922, - 0.0011577606, -0.058898926, 0.056274414, -0.037231445, -0.036621094, - 0.058746338, -0.012878418, -0.042785645, -0.021728516, 0.0065307617, - 0.03250122, -0.017303467, 0.016464233, 0.051574707, 0.022262573, - -0.036499023, 0.028518677, 0.037841797, -0.07897949, 0.0038223267, - 0.004070282, 0.026168823, 0.013092041, -0.007663727, -0.049346924, - -0.005168915, 0.015602112, 0.033233643, 0.011054993, 0.031585693, - -0.0513916, 0.008613586, 0.006061554, 0.03100586, -0.00068712234, - 0.028671265, 0.060394287, 0.010223389, -0.017990112, -0.022766113, - -0.025360107, 0.006072998, 0.023147583, 0.086242676, -0.05456543, - -0.0022411346, 0.06878662, 0.031341553, -0.025115967, 0.0037651062, - 0.0026988983, 0.0052223206, 0.023513794, 0.04953003, 0.016448975, - -0.019958496, 0.0016326904, 0.052520752, 0.016189575, -0.046966553, - 0.022750854, 0.002532959, 0.0037250519, 0.008041382, 0.0047912598, - 0.032318115, -0.03967285, -0.06536865, 0.0027580261, -0.007369995, - -0.026763916, -0.025909424, 0.012756348, 0.01928711, 0.016021729, - -0.038269043, 0.089538574, -0.080566406, -0.015220642, -0.008705139, - -0.003435135, 0.034179688, 0.023910522, 0.024932861, 0.0066719055, - -0.019546509, -0.01826477, -0.023071289, 0.016494751, 0.007835388, - -0.03137207, 0.005001068, 0.0075569153, 0.012451172, -0.01348114, - 0.01171875, -0.02998352, 0.02330017, 0.025527954, -0.02432251, - -0.0018262863, -0.0023422241, 0.027389526, -0.00605011, 0.028060913, - 0.013618469, 0.018493652, -0.03845215, -0.0592041, 0.027633667, - 0.027053833, 0.025253296, -0.0017375946, 0.019073486, 0.010871887, - 0.015457153, -0.016845703, 0.015899658, 0.009048462, -0.01676941, - 0.05014038, -0.023666382, 0.014305115, 0.03781128, 0.06518555, - -0.019882202, 0.010147095, -0.023864746, -0.012763977, 0.026657104, - 0.013442993, 0.061279297, -0.046447754, 0.034362793, -0.055419922, - -0.009017944, 0.00945282, -0.03060913, -0.035614014, 0.018707275, - -0.018173218, -0.0047187805, -0.05496216, 0.031707764, 0.030899048, - -0.025024414, -0.0011425018, 0.004711151, 0.0042533875, 0.012397766, - -0.05505371, 0.016525269, -0.003967285, -0.008934021, -0.03164673, - 0.0073928833, 0.008514404, -0.015716553, 0.034606934, 0.05630493, - 0.02178955, -0.008811951, -0.03353882, 0.05267334, 0.048583984, - 0.01524353, -0.042175293, 0.022140503, 0.012466431, 0.018814087, - 0.03665161, 0.010276794, -0.002161026, -0.037017822, 0.056396484, - 0.06335449, -0.02835083, -0.0042648315, 0.0057792664, -0.018341064, - 0.062164307, 0.021636963, 0.019805908, -0.052581787, -0.025772095, - -0.013137817, 0.022842407, -0.040649414, 0.030303955, 0.012794495, - -0.038360596, 0.0033092499, -0.105651855, -0.043884277, -0.011650085, - -0.011398315, 0.0032672882, 0.010650635, -0.007843018, -0.0052948, - -0.025756836, 0.018585205, -0.033447266, 0.005619049, 0.055786133, - 0.0077552795, 0.021133423, 0.02029419, 0.014228821, -0.010154724, - 0.03086853, -0.05911255, -0.00047445297, -0.019134521, 0.064697266, - -0.024658203, 0.020446777, 0.018753052, 0.016220093, 0.028701782, - -0.023757935, 0.023834229, -0.025558472, 0.0037078857, -0.004852295, - -0.048583984, -0.008514404, 0.009223938, 0.050994873, -0.021133423, - -0.023956299, 0.014770508, 0.06945801, -0.052734375, 0.010910034, - -0.033172607, -0.035888672, 0.028656006, 0.024291992, -0.034729004, - -0.03967285, 0.00907135, -0.0022296906, -0.008163452, 0.0058135986, - -0.035827637, -0.017333984, -0.014717102, -0.024902344, 0.0124435425, - 0.037231445, -0.07147217, 0.02861023, 0.009742737, 0.010246277, - 0.023834229, 0.0049934387, 0.0009794235, 0.06665039, 0.04562378, - -0.016189575, 0.011634827, 0.050079346, 0.0033187866, -0.0018177032, - 0.039031982, -0.027908325, -0.027862549, -0.0096588135, -0.0112838745, - -0.00030493736, 0.03933716, -0.036987305, -0.007411957, 0.009185791, - 0.020751953, -0.019714355, -0.016723633, -0.009231567, -0.011177063, - 0.002960205, -0.015197754, 0.013175964, 0.05154419, -0.015213013, - 0.04147339, -0.016830444, 0.015556335, -0.0060653687, 0.009536743, - 0.032592773, -0.02784729, 0.018218994, 0.041168213, 0.03677368, - -0.024276733, -0.0061302185, 0.04876709, -0.037963867, 0.03253174, - -0.02973938, 0.017074585, 0.0073776245, 0.006336212, -0.025665283, - -0.016647339, -0.007133484, -0.058807373, -0.038238525, 0.054382324, - -0.023986816, 0.063964844, 0.018463135, -0.03024292, -0.05166626, - 0.024154663, 0.05960083, 0.0129776, -0.018539429, 0.033813477, - 0.004547119, 0.03173828, -0.03527832, 0.017868042, -0.055114746, - 0.03656006, 0.027313232, 0.06311035, -0.013465881, -0.019836426, - 0.029373169, 0.024459839, -0.0032234192, 0.027236938, 0.0018186569, - 0.012054443, -0.038238525, -0.006706238, -0.030914307, 0.009246826, - 0.04434204, 0.023330688, -0.027297974, -0.0060195923, 0.02166748, - -0.0014772415, -0.02078247, -0.03466797, 0.06854248, 0.051483154, - -0.02331543, -0.001947403, -0.03366089, -0.023956299, -0.038726807, - 0.016845703, 0.09069824, -0.032806396, -0.0036506653, 0.024993896, - -0.008346558, 0.041625977, 0.030395508, 0.038635254, 0.0057907104, - 0.018539429, 0.04067993, 0.029556274, -0.012359619, 0.00021457672, - 0.010948181, -0.009590149, 0.03765869, -0.0690918, -0.060943604, - 0.027923584, -0.015312195, -0.03918457, 0.035888672, -0.014457703, - -0.030548096, -0.010322571, 0.06463623, 0.056762695, -0.034179688, - -0.029708862, -0.005718231, 0.04324341, -0.041534424, 0.05682373, - -0.013168335, 0.035095215, -0.0035572052, -0.035980225, 0.013847351, - -0.0061569214, 0.082214355, 0.001253128, -0.02609253, 0.04232788, - 0.0052986145, 0.0043563843, -0.029968262, 0.009170532, 0.066711426, - 0.0039749146, 0.011482239, -0.02607727, 0.02293396, 0.056854248, - -0.020706177, -0.009849548, -0.004951477, -0.026977539, -0.036865234, - -0.04724121, -0.007850647, 0.007675171, 0.0070762634, -0.023101807, - -0.0036907196, 0.04562378, 0.0012168884, 0.068359375, -0.014770508, - -0.05014038, 0.03552246, -0.011634827, 0.022232056, -0.008163452, - -0.05380249, -0.016815186, -0.02029419, 0.038208008, -0.0072746277, - 0.035308838, -0.02192688, -0.034240723, 0.02532959, 0.01940918, - 0.051696777, -0.036499023, 0.00831604, 0.02015686, 0.002603531, - 0.018554688, 0.057373047, -0.06274414, 0.027633667, -0.06555176, - -0.007850647, 0.0008330345, 0.006286621, 0.043182373, 0.030288696, - 0.014556885, -0.040893555, 0.029052734, -0.0124435425, 0.028030396, - -0.0051193237, -0.0637207, -0.038146973, -0.0028762817, 0.0017576218, - -0.0121536255, -0.0071029663, -0.055755615, -0.003917694, -0.02734375, - 0.028381348, -0.023910522, -0.026489258, 0.004207611, -0.020339966, - 0.047424316, 0.029678345, -0.027648926, -0.02154541, 0.05429077, - 0.008773804, 0.047454834, 0.0059661865, 0.06744385, 0.012290955, - -0.0029830933, -0.017074585, -0.004760742, -0.01121521, 0.010108948, - 0.033233643, -0.0030937195, 0.0011758804, -0.009674072, -0.02444458, - 0.022903442, 0.017868042, -0.018325806, 0.012519836, 0.0019445419, - 0.037628174, 0.021362305, -0.020889282, 0.019165039, -0.00137043, - -0.011024475, -0.015403748, -0.06719971, -0.010902405, 0.037200928, - 0.009536743, -0.039855957, -0.024429321, 0.06536865, 0.01461792, - 0.0423584, -0.015266418, -0.0001565218, 0.056396484, 0.010215759, - -0.00819397, -0.011512756, -0.012710571, -0.017105103, -0.032592773, - 0.0073013306, -0.005344391, 0.0011520386, 0.017730713, -0.008705139, - 0.053619385, 0.057495117, -0.011360168, -0.022994995, 0.032989502, - 0.066345215, -0.058807373, 0.0026187897, 0.008468628, 0.022460938, - 0.00894928, 0.016571045, -0.0022468567, 0.021591187, 0.006996155, - -0.016693115, -0.028244019, -0.037475586, -0.04055786, 0.051818848, - 0.011459351, 0.03616333, -0.0044021606, 0.012535095, -0.027008057, - -0.09259033, 0.05154419, 0.010375977, -0.018203735, 0.0149383545, - 0.031234741, 0.015266418, 0.00983429, 0.0060691833, -0.029556274, - 0.0013189316, 0.008430481, 0.0110321045, 0.0259552, -0.01335907, - -0.021560669, -0.004459381, -0.045532227, 0.004425049, 0.044006348, - -0.011352539, 0.0067214966, -0.024902344, 0.0059661865, 0.03881836, - 0.016220093, -0.012992859, 0.0061149597, 0.012107849, 0.002565384, - 0.046691895, -0.007762909, 0.0063056946, 0.006954193, -0.015899658, - -0.02545166, -0.01676941, -0.052642822, 0.029800415, -0.00053596497, - -0.046081543, 0.027679443, -0.007205963, 0.0340271, -0.0034942627, - -0.038085938, 0.017059326, 0.017486572, 0.022216797, 0.059326172, - -0.043823242, -0.014045715, 0.02722168, -0.0033283234, 0.02243042, - 0.027450562, 0.021484375, 0.006175995, -0.010414124, -0.03579712, - -0.025924683, 0.04650879, 0.0046806335, -0.028518677, 0.06414795, - 0.03591919, 0.025009155, -0.006374359, 0.029464722, 0.02609253, - -0.017211914, -0.0149383545, 0.012046814, 0.028030396, -0.020721436, - -0.018722534, -0.02722168, -0.0109939575, -0.0067214966, -0.064086914, - 0.0008625984, 0.010223389, 0.014778137, 0.03677368, 0.043762207, - -0.0124435425, 0.021347046, -0.011436462, 0.012931824, 0.044799805, - 0.021255493, 0.010871887, 0.036132812, -0.019607544, 0.042633057, - 0.0015716553, 0.0018529892, -0.037139893, 0.012481689, 0.008651733, - -0.019760132, -0.031082153, 0.011054993, -0.032073975, 0.039031982, - 0.025772095, 0.017196655, -0.00217247, 0.011711121, 0.009155273, - 0.028411865, -0.03111267, 0.013397217, 0.00819397, 0.036193848, - 0.023910522, -0.032043457, -0.0010871887, -0.026504517, -0.030654907, - -0.04699707, 0.00048565865, 0.022735596, 0.0011835098, 0.046783447, - 0.03265381, -0.014350891, 0.03567505, 0.028121948, 0.021972656, - 0.037597656, -0.009315491, 0.013572693, -0.049743652, 0.05899048, - 0.05618286, 0.012260437, 0.006084442, -0.12695312, 0.028793335, - 0.07232666, 0.0072784424, 0.01713562, -0.006767273, 0.04257202, - 0.055633545, -0.06896973, -0.006641388, 0.008117676, 0.057769775, - 0.03237915, -0.04095459, 0.036499023, 0.02406311, -0.0357666, - -0.017807007, 0.0035381317, 0.046203613, 0.013687134, 0.017120361, - 0.009353638, -0.037078857, 0.0047950745, -0.0069351196, -0.054901123, - 0.024032593, -0.00011497736, 0.04763794, 0.0055122375, 0.0546875, - -0.039093018, -0.033111572, 0.015716553, 0.021560669, 0.04043579, - 0.010299683, -0.019729614, 0.015975952, 0.017181396, -0.012367249, - 0.061431885, 0.015731812, 0.018630981, -0.0046958923, -0.0037708282, - -0.030883789, 0.009552002, -0.02368164, -0.01096344, -0.0030384064, - 0.020812988, 0.016052246, -0.039093018, -0.031280518, 0.025283813, - 0.017150879, -0.01940918, 0.04260254, 0.07006836, -0.0030555725, - 0.013885498, 0.031021118, -0.049804688, -0.011917114, 0.00032615662, - 0.0027179718, -0.02822876, 0.07055664, 0.0038890839, 0.009963989, - -0.055236816, -0.033416748, -0.0022907257, 0.00017797947, 0.061187744, - 0.020904541, -0.022323608, -0.052490234, -0.007045746, -0.0014677048, - -0.04336548, 0.031051636, -0.057678223, 0.040924072, -0.004802704, - 0.032165527, -0.04586792, -0.020629883, -0.0635376, 0.014701843, - -0.051635742, -0.01687622, 0.03225708, 0.00029873848, 0.000161767, - -0.053741455, -0.0496521, 0.0059814453, -0.040039062, -0.046936035, - 0.033111572, -0.007850647, 0.0037593842, -0.029418945, 0.01235199, - -0.0146102905, -0.05999756, -0.0046920776, -0.00484848, 0.006214142, - -0.029968262, -0.04159546, -0.010658264, 0.028579712, -0.02583313, - 0.015045166, -0.04095459, -0.02230835, 0.0025177002, -0.0038528442, - -0.013916016, -0.026306152, 0.041137695, -0.027023315, -0.0017871857, - 0.01109314, -0.029876709, -0.08782959, -0.013122559, 0.004600525, - -0.022705078, -0.043182373, 0.021881104, -0.032348633, 0.028396606, - -0.046813965, -0.001616478, -0.0038928986, 0.0066947937, -0.030654907, - 0.029312134, 0.028244019, -0.005088806, -0.018951416, -0.005428314, - -0.025314331, -0.0116119385, -0.061340332, 0.005142212, -0.009819031, - -0.0048675537, 0.018447876, -0.07702637, 0.009300232, -0.00667572, - 0.0013628006, 0.02949524, -0.00907135, 0.00014674664, -0.026657104, - 0.03677368, -0.03375244, -0.007385254, 0.019729614, 0.011550903, - -0.01121521, 0.029541016, 0.012908936, -0.029373169, -0.009735107, - 0.070007324, -0.025405884, 0.03604126, -0.009246826, 0.0041542053, - 0.03866577, -0.0035209656, -0.008087158, 0.021697998, -0.015449524, - -0.021835327, 0.026168823, -0.029327393, -0.02230835, 0.020980835, - 0.027008057, -0.007659912, -0.00617218, 0.03161621, -0.021240234, - 0.042785645, -0.009216309, -0.011932373, 0.010604858, -0.0015325546, - 0.010025024, 0.0026187897, 0.05053711, -0.05328369, -0.008575439, - 0.036102295, 0.028579712, 0.04031372 - ], - [ - 0.010559082, -0.032989502, -0.023330688, -0.012741089, -0.053985596, - -0.018600464, -0.007751465, -0.0015459061, -0.019714355, 0.021743774, - -0.023803711, 0.016708374, -0.005012512, -0.02684021, 0.032562256, - -0.0546875, 0.035247803, 0.031280518, 0.007896423, -0.008056641, - 0.017044067, 0.028182983, -0.05618286, 0.034301758, 0.04547119, - 0.0001373291, -0.006843567, -0.011520386, 0.00040769577, -0.055603027, - 0.029312134, 0.033477783, 0.014556885, 0.03881836, -0.02607727, - -0.016830444, -0.047607422, -0.019729614, 0.017074585, 0.0026435852, - 0.046844482, -0.03677368, -0.019577026, -0.038085938, -0.025375366, - -0.007751465, -0.002691269, -0.047576904, 0.030441284, 0.012779236, - 0.0446167, 0.048736572, 0.035095215, 0.0023956299, -0.00894165, - 0.016799927, -0.040100098, -0.034301758, 0.00217247, -0.010818481, - 0.016601562, 0.04498291, 0.040008545, 0.057434082, 0.012107849, - -0.006942749, 0.004257202, 0.037200928, 0.043701172, -0.030075073, - -0.02519226, -0.0016088486, 0.0074806213, -0.042510986, -0.004634857, - 0.012451172, -0.0054397583, 0.01096344, 0.016311646, -0.018203735, - -0.01096344, -0.053131104, -0.07458496, 0.03213501, 0.0036182404, - 0.06585693, 0.01373291, -0.043518066, 0.029663086, 0.0056877136, - 0.0058784485, 0.06262207, 0.014556885, 0.028121948, -0.0047798157, - -0.032165527, 0.012748718, 0.01398468, -0.05368042, -0.007865906, - -0.06201172, -0.0058670044, -0.03692627, -0.017440796, -0.016311646, - 0.010688782, 0.01058197, 0.008361816, 0.008850098, 0.044830322, - -0.02128601, 0.09564209, 0.030426025, -0.04260254, -0.028778076, - -0.023651123, -0.014839172, 0.059051514, 0.021896362, -0.008201599, - 0.01701355, 0.013580322, 0.01361084, 0.016693115, -0.019439697, - -0.0023670197, -0.003578186, -0.050079346, 0.046936035, -0.03643799, - -0.034240723, 0.066833496, 0.00080394745, -0.042114258, -0.019500732, - 0.016113281, 0.0121154785, -0.03451538, 0.0056648254, 0.051116943, - 0.019042969, -0.024505615, 0.04336548, 0.013572693, -0.032714844, - 0.012802124, -0.0023593903, 0.013153076, 0.047180176, 0.008255005, - -0.017913818, -0.05303955, 0.022720337, 0.037841797, -0.00970459, - 0.037017822, -0.048919678, 0.035247803, -0.024856567, 0.030334473, - -0.031143188, 0.004283905, 0.054534912, -0.025802612, -0.052612305, - 0.009483337, -0.028564453, 0.0028896332, 0.01864624, 0.031219482, - -0.044952393, 0.0007042885, 0.06756592, 0.036468506, -0.0013122559, - 0.012863159, 0.01020813, -0.013626099, 0.02619934, 0.053466797, - 0.011421204, -0.009925842, -0.009841919, 0.04449463, 0.01235199, - -0.0309906, 0.012779236, 0.009613037, -0.009094238, 0.00541687, - 0.006000519, 0.03970337, 0.0059776306, -0.051605225, -0.029205322, - -0.031921387, 0.0067710876, -0.015945435, -0.012550354, 0.022964478, - 0.0009217262, -0.004047394, 0.027877808, -0.03668213, -0.052001953, - -0.017288208, -0.002653122, 0.032287598, 0.03262329, 0.019241333, - 0.009887695, -0.03640747, -0.039398193, 0.058288574, 0.019165039, - -0.022216797, -0.003200531, -0.02659607, 0.0061683655, 0.007774353, - -0.0005373955, 0.0020999908, -0.042907715, 0.031707764, 0.017028809, - -0.048614502, 0.004085541, -0.012130737, 0.0519104, -0.013442993, - 0.07043457, -0.014305115, 0.041778564, 0.036499023, -0.016021729, - 0.025543213, 0.036102295, 0.029830933, -0.006111145, -0.005771637, - 0.03289795, -0.016830444, -0.02003479, 0.018035889, 0.00699234, - -0.022979736, 0.03375244, 0.012329102, -0.029052734, -0.010597229, - 0.06347656, -0.01928711, 0.03488159, -0.007858276, -0.015701294, - 0.03390503, -0.009506226, 0.03363037, -0.014373779, -0.004600525, - -0.021331787, -0.013290405, -0.011497498, -0.011207581, -0.014770508, - -0.0076675415, 0.006511688, 0.024261475, -0.019943237, -0.001572609, - 0.010070801, -0.026870728, -0.004558563, -0.042022705, -0.0073051453, - -0.0234375, -0.072631836, 0.04788208, 0.010498047, -0.052703857, - -0.005710602, 0.03475952, -0.021102905, -0.0031814575, 0.043426514, - 0.040740967, -0.02746582, 0.0068626404, -0.06323242, 0.040985107, - 0.05432129, 0.032470703, -0.04031372, 0.015457153, 0.008972168, - 0.015205383, 0.08520508, 0.04736328, -0.015930176, -0.021270752, - 0.061523438, 0.059326172, -0.011581421, -0.02822876, -0.0017995834, - 0.0005493164, 0.05633545, 0.024246216, 0.023498535, -0.04498291, - -0.012931824, 0.00749588, 0.019500732, -0.020111084, 0.01586914, - 0.0013113022, -0.017074585, -0.010658264, -0.0692749, -0.041137695, - 0.004108429, 0.008644104, -0.019943237, 0.015579224, 0.0047950745, - -0.005302429, -0.021408081, -0.0056114197, -0.044403076, -0.01184845, - 0.035369873, -0.015525818, 0.0035133362, 0.0069274902, 0.0054512024, - 0.004207611, 0.026626587, -0.031036377, 0.014266968, -0.032196045, - 0.07476807, -0.020568848, 0.009094238, 0.018508911, -0.017913818, - 0.051879883, -0.055480957, 0.028152466, -0.022369385, -0.030426025, - 0.01109314, -0.05682373, -0.022964478, 0.024246216, 0.053619385, - -0.018814087, 0.009765625, 0.030395508, 0.06652832, -0.062683105, - 0.022949219, -0.061920166, -0.04925537, 0.003692627, 0.04562378, - -0.013885498, -0.04510498, -0.031219482, -0.00015354156, -0.028717041, - -0.0013780594, -0.026763916, -0.014915466, -0.0072898865, -0.026428223, - 0.023605347, 0.0063323975, -0.07550049, 0.036956787, -0.016433716, - 0.014526367, -0.0037765503, 0.035949707, -0.018585205, 0.036987305, - 0.038726807, -0.004322052, -0.00078964233, 0.05001831, 0.0008234978, - 0.008415222, 0.020996094, -0.02041626, -0.036102295, -0.017791748, - 0.008888245, 0.007827759, -0.014549255, 0.01423645, -0.015129089, - -0.012374878, 0.0034484863, -0.030258179, -0.009185791, -0.015701294, - -0.0072021484, -0.01020813, -0.04272461, 0.026245117, 0.046417236, - -0.029846191, 0.0184021, -0.024017334, -0.02571106, -0.02571106, - 0.03186035, 0.059051514, -0.028518677, 0.059143066, -0.012069702, - -0.004421234, 0.009231567, 0.005836487, 0.04537964, -0.006072998, - 0.043701172, -0.04724121, -0.013420105, -0.019317627, 0.018218994, - -0.021026611, -0.0007557869, -0.020751953, -0.058288574, -0.01878357, - 0.05831909, -0.02796936, 0.0848999, 0.010131836, -0.018478394, - -0.057617188, 0.023239136, 0.068481445, 0.0010194778, 0.0068244934, - 0.0057907104, 0.025314331, 0.030151367, -0.03552246, 0.030899048, - -0.0690918, 0.034088135, 0.004501343, 0.055267334, -0.018829346, - -0.0069847107, 0.040985107, 0.024978638, 0.016647339, 0.015731812, - -0.032958984, 0.008262634, -0.06994629, -0.009353638, -0.016952515, - 0.008178711, 0.03164673, 0.009567261, -0.045806885, -0.005241394, - -0.0131073, 0.029693604, -0.018051147, -0.019058228, 0.05984497, - 0.032684326, -0.036346436, 0.03112793, -0.057250977, -0.015304565, - 0.0019721985, -0.0075531006, 0.03503418, 0.045135498, 0.009712219, - 0.0231781, -0.02128601, 0.019851685, 0.053833008, -0.000364542, - -0.020996094, -0.00038433075, 0.032287598, 0.01234436, 0.0011034012, - 0.005302429, 0.012298584, -0.033813477, 0.032409668, -0.05609131, - -0.09838867, 0.03668213, -0.0055122375, -0.055541992, 0.06567383, - -0.06713867, -0.045288086, -0.00063180923, 0.083984375, 0.08441162, - -0.017715454, 0.017868042, -0.017837524, 0.020401001, -0.027740479, - 0.06402588, -0.0062332153, 0.038879395, -0.0027599335, -0.039215088, - 0.0013971329, -0.04107666, 0.09576416, -0.0027008057, -0.024032593, - 0.04586792, 0.009841919, 0.0064888, -0.030685425, -0.012367249, - 0.06530762, -0.007446289, 0.053741455, 0.022140503, -0.016204834, - 0.06677246, -0.029907227, -0.028320312, -0.031951904, -0.0149383545, - -0.033935547, -0.05532837, -0.024673462, 0.01576233, 0.016860962, - -0.040618896, 0.007335663, -0.005455017, 0.0050697327, -0.009483337, - -0.0052871704, -0.011680603, -0.009094238, 0.0019569397, 0.0074882507, - 0.005016327, -0.08673096, 0.01876831, 0.006187439, 0.017501831, - -0.018661499, 0.017364502, -0.030838013, 0.0028839111, -0.021270752, - 0.012229919, 0.039367676, -0.03781128, 0.009803772, 0.019760132, - -0.0068969727, 0.011177063, 0.0012626648, -0.062042236, -0.008338928, - -0.037384033, 0.019714355, 0.018371582, -0.0014219284, -0.016540527, - 0.044403076, 0.009742737, -0.026870728, 0.012435913, -0.018310547, - 0.0446167, 0.016067505, -0.030426025, -0.015487671, 0.021484375, - 0.005622864, -0.030410767, 0.025482178, -0.037506104, -0.02507019, - -0.034210205, -0.02532959, -0.06329346, -0.018508911, -0.0050354004, - -0.035949707, 0.040374756, 0.029052734, -0.025665283, -0.0023880005, - 0.02798462, -0.01348114, 0.036224365, -0.031829834, 0.0025558472, - 0.0345459, 0.011688232, -0.013832092, -0.0015516281, -0.04623413, - 0.037353516, 0.06359863, -0.008956909, -0.0107040405, 0.001531601, - -0.0006098747, 0.01360321, 0.029953003, -0.042266846, 0.016342163, - -0.020614624, 0.029220581, 0.039367676, -0.0064201355, -0.008010864, - 0.0058403015, -0.030776978, -0.0143585205, -0.055145264, -0.0065994263, - 0.034820557, 0.0022392273, -0.061187744, -0.05090332, 0.059020996, - 0.012634277, 0.012321472, -0.015731812, 0.022705078, 0.026138306, - 0.0020599365, 0.012809753, -0.01348114, -0.031463623, 0.009521484, - -0.05130005, 0.03656006, 0.021224976, 0.045166016, -0.013534546, - 0.057769775, 0.055358887, 0.054595947, 0.0006761551, -0.053985596, - -0.0041007996, 0.042236328, -0.02809143, -0.049743652, 0.007144928, - 0.023223877, 0.039978027, 0.009635925, 0.012329102, -0.009056091, - -0.0033302307, 0.010719299, -0.0027275085, -0.012664795, -0.038482666, - -0.0011024475, 0.009101868, 0.017547607, -0.049987793, 0.04248047, - -0.0107040405, -0.062438965, 0.050201416, 0.010421753, -0.029815674, - 0.046173096, 0.026473999, -0.005771637, -0.000869751, 0.021087646, - -0.029830933, -0.000238657, 0.0032863617, 0.008598328, 0.027816772, - -0.031066895, -0.022415161, -0.001958847, -0.05407715, -0.006252289, - 0.04547119, -0.009025574, 0.0008292198, -0.030166626, 0.0052337646, - 0.059906006, -0.0017662048, -0.018508911, 0.009727478, 0.022415161, - -0.00088500977, 0.02809143, -0.01222229, -0.0004146099, 0.008666992, - -0.03515625, -0.035217285, 0.013420105, -0.007850647, -0.0009870529, - -0.001452446, -0.087402344, 0.024276733, -0.03857422, 0.0036029816, - -0.015388489, 0.003074646, 0.024276733, 0.010444641, 0.010231018, - 0.021911621, -0.011474609, 0.00818634, -0.008987427, -0.003583908, - -0.046966553, 0.0082473755, 0.046173096, 0.028518677, -0.002670288, - -0.029251099, -0.0395813, 0.04763794, 0.016525269, -0.013687134, - 0.049804688, 0.02381897, 0.015670776, 0.036346436, 0.041748047, - 0.06750488, -0.026992798, 0.028015137, 0.0040245056, 0.008964539, - -0.03543091, 0.021530151, -0.011680603, 0.02406311, -0.022079468, - -0.04385376, -0.0034999847, 0.0098724365, 0.027770996, 0.0018911362, - 0.03503418, -0.023330688, 0.012336731, 0.0072517395, 0.0023822784, - 0.020095825, -0.02368164, -0.0008225441, 0.039978027, 0.052001953, - 0.07220459, 0.00018239021, 0.021194458, -0.03161621, 0.01524353, - 0.017913818, -0.007408142, -0.04547119, 0.00078487396, 0.00048470497, - 0.066711426, 0.0132369995, -0.007671356, -0.029403687, -0.06286621, - 0.042785645, 0.034179688, -0.02508545, 0.019424438, -0.01927185, - 0.010826111, 0.02067566, -0.012145996, 0.0107803345, -0.03994751, - -0.016860962, -0.085754395, -0.037200928, -0.024917603, -0.032165527, - 0.04638672, -0.036254883, -0.0099487305, 0.008659363, 0.025939941, - 0.012069702, 0.0345459, -0.021392822, 0.011871338, -0.05404663, - 0.02027893, 0.043182373, 0.009277344, -0.0062713623, -0.11419678, - 0.030319214, 0.062683105, -0.004627228, 0.021362305, 0.039978027, - -0.024459839, 0.028717041, -0.018630981, 0.020950317, 0.015113831, - 0.024887085, 0.02583313, -0.022949219, 0.039886475, 0.020080566, - -0.00749588, -0.015617371, -0.0073547363, 0.0395813, 0.028457642, - 0.0046691895, 0.011001587, -0.026565552, 0.015548706, -0.05126953, - -0.040405273, 0.031219482, 0.0030269623, 0.07128906, 0.044525146, - 0.033721924, -0.011306763, -0.0049057007, 0.014511108, 0.018920898, - 0.0524292, 0.03817749, -0.02456665, -0.020996094, -0.023330688, - -0.001083374, 0.03781128, -0.016998291, -0.013450623, -0.0076065063, - 0.032196045, -0.011192322, 0.0063476562, -0.001461029, 0.013442993, - 0.022232056, -0.018096924, 0.03918457, -0.0368042, -0.04586792, 0.0435791, - -0.0000320673, -0.021774292, 0.01651001, 0.05166626, -0.00831604, - -0.003364563, 0.023010254, -0.040618896, -0.013465881, -0.0055122375, - 0.0064353943, -0.030838013, 0.058624268, -0.0007209778, 0.014625549, - -0.02532959, -0.015144348, 0.01776123, 0.045318604, 0.08380127, - 0.008865356, 0.0074882507, -0.021484375, -0.036254883, 0.019180298, - -0.022109985, -0.0007071495, -0.015731812, -0.014854431, -0.024810791, - 0.008903503, -0.0009784698, -0.03579712, -0.08526611, 0.030014038, - -0.024215698, -0.016174316, 0.018859863, 0.011512756, -0.022644043, - -0.03793335, -0.058654785, 0.011360168, 0.013015747, -0.048858643, - 0.04046631, -0.013145447, 0.01701355, -0.0022964478, 0.008651733, - 0.034088135, -0.03363037, 0.0036945343, -0.014343262, -0.007381439, - -0.03970337, -0.034484863, 0.03955078, 0.023635864, -0.014701843, - 0.022155762, -0.04208374, -0.028198242, 0.036499023, -0.007183075, - -0.026641846, -0.0029239655, 0.03378296, -0.029571533, 0.0014572144, - 0.02973938, -0.005882263, -0.075805664, -0.036621094, -0.012748718, - -0.03829956, -0.04598999, 0.03149414, -0.017105103, 0.046722412, - -0.019638062, 0.03945923, 0.009651184, -0.029327393, -0.011520386, - 0.031280518, 0.007881165, -0.002002716, -0.03274536, -0.01637268, - -0.025375366, 0.00737381, -0.049560547, 0.0513916, 0.060546875, - 0.009803772, -0.0015916824, -0.08459473, -0.012435913, 0.0034275055, - 0.0055656433, 0.024108887, -0.03387451, -0.011619568, -0.032073975, - -0.0007314682, -0.022720337, -0.0149383545, 0.0028209686, 0.004627228, - 0.0060653687, 0.07989502, -0.040008545, 0.006477356, 0.030441284, - 0.08050537, -0.027633667, -0.018371582, 0.008529663, 0.032684326, - 0.023742676, 0.015563965, 0.005039215, -0.019332886, -0.0066223145, - -0.039154053, 0.013496399, -0.07293701, -0.009185791, -0.004760742, - -0.0021800995, 0.026229858, 0.009063721, 0.016403198, -0.017669678, - 0.017288208, -0.019638062, 0.008522034, -0.046936035, 0.003917694, - 0.0070648193, 0.025985718, -0.021224976, -0.011810303, -0.030853271, - 0.045318604, -0.011642456, 0.013282776 - ], - [ - 0.034423828, -0.0030097961, -0.040863037, -0.05166626, -0.02178955, - -0.03112793, -0.03878784, -0.0042037964, 0.019470215, 0.032165527, - -0.06109619, 0.02659607, -0.010635376, -0.0022411346, -0.01637268, - -0.061950684, 0.041534424, 0.027267456, 0.026489258, 0.015144348, - -0.003982544, 0.057006836, -0.029586792, 0.016937256, 0.053466797, - 0.021514893, -0.039154053, 0.012161255, 0.0076942444, -0.018829346, - 0.025680542, -0.0048179626, 0.025299072, 0.0053596497, -0.008918762, - 0.042877197, 0.001121521, -0.044769287, 0.037872314, -0.007587433, - 0.064331055, -0.053863525, -0.030349731, -0.02998352, -0.036987305, - 0.024520874, -0.016555786, -0.044647217, 0.0496521, 0.025238037, - 0.012779236, 0.040740967, 0.008522034, -0.011001587, -0.0058059692, - 0.018157959, -0.05722046, 0.019958496, 0.012496948, -0.027999878, - 0.0090789795, 0.03564453, 0.04168701, 0.07116699, 0.018676758, - -0.00093984604, 0.018447876, 0.032470703, 0.052764893, -0.036499023, - -0.019515991, 0.006565094, 0.017807007, -0.0413208, -0.026794434, - 0.011558533, 0.009796143, 0.007534027, 0.019348145, -0.04788208, - -0.015914917, -0.015022278, -0.06719971, 0.0041160583, 0.0050582886, - 0.042816162, -0.00012010336, -0.03753662, 0.037963867, -0.0012331009, - 0.011291504, 0.08709717, 0.024536133, 0.0004658699, -0.03475952, - -0.049835205, -0.01083374, -0.026824951, -0.024536133, 0.0074691772, - -0.026855469, -0.014694214, -0.021957397, -0.0041656494, -0.040252686, - 0.025848389, 0.040893555, 0.05404663, -0.031341553, 0.028930664, - -0.03656006, 0.04776001, 0.0019187927, -0.010139465, -0.034484863, - -0.011062622, -0.017471313, 0.03213501, -0.0129470825, 0.0066490173, - 0.028686523, 0.023010254, 0.00617218, -0.0121536255, -0.009681702, - 0.0027198792, -0.024291992, -0.04537964, 0.045837402, -0.06451416, - -0.0049972534, 0.10205078, -0.04446411, -0.06365967, -0.053344727, - 0.033996582, 0.005420685, -0.04156494, -0.008323669, 0.067871094, - 0.024627686, -0.020080566, 0.046295166, 0.032836914, -0.019500732, - 0.038726807, -0.0126953125, -0.01411438, 0.045684814, 0.019042969, - -0.03475952, -0.0597229, 0.01398468, 0.045837402, 0.0018835068, - 0.03314209, -0.034729004, 0.01676941, -0.0025672913, 0.015037537, - -0.028015137, 0.012550354, 0.05319214, -0.02116394, -0.047943115, - -0.0099487305, -0.021392822, 0.008895874, 0.024765015, 0.06616211, - -0.024612427, 0.0045318604, 0.010932922, 0.036499023, 0.0026397705, - 0.006706238, 0.024887085, 0.014877319, 0.013748169, 0.060577393, - 0.0013980865, -0.035461426, -0.013839722, 0.03741455, 0.015914917, - -0.07141113, 0.030670166, 0.023086548, 0.00579834, 0.03414917, - 0.016540527, 0.010421753, 0.0030994415, -0.062316895, -0.031188965, - -0.022766113, -0.010444641, 0.0070114136, -0.013259888, 0.030471802, - -0.015625, 0.019699097, 0.0552063, -0.008171082, 0.013160706, 0.018066406, - 0.0028495789, 0.028320312, 0.06317139, -0.0076065063, -0.014457703, - -0.023513794, -0.032226562, 0.033935547, -0.018814087, 0.024459839, - -0.024002075, -0.026748657, 0.0024337769, 0.037872314, -0.018325806, - -0.0013141632, -0.052764893, 0.014190674, 0.016799927, -0.04748535, - -0.010124207, -0.011398315, 0.018997192, 0.0041999817, 0.0051498413, - -0.016998291, 0.035491943, 0.04736328, -0.029785156, 0.016815186, - 0.02406311, 0.03753662, -0.014533997, -0.0031642914, 0.054840088, - -0.0005393028, -0.03604126, -0.04574585, 0.02142334, -0.057800293, - 0.021270752, -0.030731201, -0.022903442, 0.023956299, 0.039215088, - 0.013633728, 0.03451538, 0.0064697266, -0.019561768, 0.051635742, - -0.02305603, 0.0071144104, -0.013450623, 0.010177612, -0.013847351, - -0.0005097389, -0.012130737, 0.0055160522, -0.050994873, -0.0059013367, - 0.0065460205, 0.030578613, -0.011169434, -0.025314331, 0.009918213, - -0.0014801025, 0.0040283203, -0.014335632, -0.0345459, 0.022491455, - -0.06149292, 0.026748657, 0.0026054382, -0.014602661, 0.0057411194, - 0.054382324, 0.00059604645, -0.017547607, 0.043395996, 0.049926758, - -0.025772095, -0.0036830902, -0.051971436, 0.030548096, 0.04626465, - 0.010620117, -0.040130615, -0.0099105835, 0.044067383, -0.0026626587, - 0.010856628, 0.043060303, 0.018112183, -0.070373535, -0.0030918121, - 0.031829834, -0.036987305, -0.013198853, -0.003358841, -0.009819031, - 0.034240723, 0.026779175, 0.01612854, -0.043121338, -0.037475586, - -0.0039634705, 0.033325195, -0.020812988, 0.013069153, -0.0064468384, - -0.03604126, -0.015541077, -0.09185791, -0.037994385, 0.043182373, - -0.037261963, -0.05758667, -0.013931274, -0.04321289, 0.017959595, - -0.04345703, -0.017303467, 0.01461792, 0.012268066, 0.02444458, - 0.03793335, 0.014198303, 0.0027618408, -0.014129639, -0.01335144, - 0.028717041, -0.012786865, 0.0024738312, -0.03894043, 0.046173096, - -0.0390625, 0.017623901, 0.0028381348, 0.040100098, 0.03466797, - -0.055755615, 0.047546387, -0.042907715, -0.021759033, -0.013839722, - -0.07507324, -0.01965332, 0.0107421875, 0.03225708, -0.03756714, - 0.0043411255, 0.034423828, 0.05419922, -0.051574707, 0.0015935898, - -0.03704834, -0.048339844, 0.03717041, 0.041870117, -0.029876709, - -0.033203125, -0.005657196, 0.031829834, 0.016159058, -0.025772095, - -0.029220581, 0.0011405945, 0.007572174, -0.004234314, 0.015464783, - 0.0071792603, -0.07354736, 0.030288696, -0.019866943, -0.0027637482, - -0.01626587, 0.026901245, -0.02519226, 0.08355713, 0.039154053, - 0.009490967, 0.022201538, 0.040740967, 0.0046195984, -0.03302002, - -0.00957489, -0.039093018, -0.03930664, -0.006252289, -0.0009598732, - 0.0053749084, 0.01259613, -0.025421143, -0.015258789, 0.049224854, - 0.02658081, -0.030822754, 0.030883789, -0.0345459, 0.042541504, - 0.032562256, -0.013244629, 0.032043457, 0.046325684, -0.03543091, - 0.0064964294, -0.01374054, -0.05807495, -0.02041626, 0.039001465, - 0.04421997, -0.03213501, 0.019515991, 0.016433716, 0.033966064, - -0.027114868, 0.031951904, 0.058929443, 0.018218994, 0.036499023, - -0.024917603, -0.030273438, 0.008880615, -0.023071289, -0.015899658, - -0.031707764, -0.015426636, -0.066711426, -0.04046631, 0.025421143, - -0.028411865, 0.07019043, -0.0004069805, -0.028625488, -0.009170532, - 0.04660034, 0.062683105, 0.017807007, -0.0058021545, -0.0048675537, - 0.04260254, 0.05996704, -0.014411926, -0.0053253174, -0.07867432, - 0.037017822, 0.027908325, 0.06161499, -0.012481689, -0.008811951, - 0.0234375, 0.06100464, 0.016845703, -0.008010864, -0.034301758, - -0.03173828, -0.019104004, 0.012451172, -0.012130737, 0.016662598, - 0.009010315, 0.03652954, -0.015930176, -0.027359009, 0.023223877, - 0.02192688, 0.009643555, -0.0138549805, 0.040740967, 0.031707764, - -0.0014314651, 0.017959595, -0.049591064, -0.035461426, -0.018157959, - -0.003124237, 0.035217285, 0.06616211, 0.024124146, 0.019989014, - 0.01499176, 0.020248413, 0.051086426, 0.007980347, -0.00091457367, - 0.00028276443, 0.052337646, -0.017181396, 0.00066185, 0.0064315796, - 0.0013904572, -0.0010471344, 0.03552246, -0.041778564, -0.084350586, - 0.020263672, 0.0013427734, -0.04220581, 0.022201538, -0.038879395, - 0.0058670044, -0.022521973, 0.05895996, 0.01612854, 0.028045654, - -0.025619507, -0.026626587, 0.004211426, -0.024627686, 0.057617188, - -0.034576416, -0.0032615662, -0.004901886, -0.034484863, -0.011245728, - -0.014625549, 0.05532837, -0.003818512, 0.021377563, 0.030395508, - 0.0015954971, 0.039886475, -0.028533936, -0.027008057, 0.044189453, - 0.016555786, 0.027038574, 0.012207031, -0.008110046, 0.053741455, - -0.024459839, -0.034606934, -0.03692627, -0.015266418, -0.027908325, - -0.06500244, -0.030838013, 0.021118164, 0.032348633, -0.029968262, - 0.00073957443, -0.017837524, -0.0046844482, 0.01612854, -0.040039062, - -0.041015625, -0.0070228577, 0.010322571, 0.028244019, -0.011634827, - -0.10913086, 0.025527954, 0.0031394958, -0.0051002502, -0.014129639, - 0.020401001, -0.0049591064, -0.026321411, 0.013244629, 0.022155762, - 0.01210022, -0.050872803, 0.009216309, 0.02279663, -0.0005764961, - 0.006778717, -0.0005712509, -0.08282471, -0.006996155, -0.045074463, - 0.016525269, -0.02255249, 0.022903442, -0.0010948181, 0.026733398, - 0.050872803, -0.008911133, 0.014099121, 0.015472412, -0.00016450882, - 0.0049209595, -0.021820068, -0.011329651, -0.02519226, -0.02670288, - -0.025482178, 0.00831604, -0.053741455, -0.012962341, -0.007080078, - -0.038330078, -0.039031982, 0.0045204163, 0.0042152405, -0.06329346, - 0.031799316, 0.0149383545, -0.01574707, 0.038391113, 0.07720947, - -0.039031982, 0.066101074, -0.012748718, 0.0014305115, -0.0007300377, - 0.0010929108, -0.02381897, -0.0030212402, -0.041229248, 0.034973145, - 0.023590088, 0.013290405, 0.003824234, -0.003042221, -0.008201599, - -0.0030078888, 0.018066406, -0.043395996, -0.022201538, 0.039123535, - 0.04309082, 0.01033783, -0.047668457, 0.014030457, -0.011566162, - -0.024230957, -0.017227173, -0.04901123, -0.004814148, 0.028121948, - -0.01902771, -0.076660156, -0.06695557, 0.077941895, 0.017303467, - 0.0066719055, -0.009681702, -0.008056641, 0.0060920715, -0.01525116, - -0.012496948, -0.015151978, -0.0062446594, 0.03366089, -0.000053822994, - 0.01637268, 0.004760742, -0.040496826, -0.006591797, 0.004146576, - 0.042053223, 0.06591797, -0.008201599, -0.026153564, 0.031555176, - 0.0836792, -0.03414917, -0.010887146, -0.0059165955, 0.016799927, - -0.024963379, 0.041381836, -0.048217773, 0.012840271, 0.041107178, - -0.03857422, -0.020004272, -0.04660034, -0.045959473, 0.013328552, - 0.004722595, 0.02947998, -0.020217896, 0.0006251335, -0.0058517456, - -0.033081055, 0.027755737, 0.04458618, -0.057525635, 0.045928955, - 0.030944824, 0.0033054352, 0.014518738, -0.0068588257, -0.06573486, - -0.041992188, 0.014511108, -0.02619934, 0.03326416, 0.0024166107, - -0.046844482, 0.010231018, -0.0524292, 0.020858765, 0.03265381, - -0.0116119385, 0.008277893, -0.026672363, 0.016983032, 0.021514893, - -0.055389404, -0.003129959, -0.016189575, 0.0048332214, -0.002035141, - 0.061767578, -0.04824829, -0.0079422, -0.011894226, -0.00894165, - 0.008918762, 0.040374756, 0.027755737, -0.011352539, 0.015007019, - -0.03982544, 0.039215088, -0.030075073, 0.03074646, -0.03137207, - -0.0057678223, 0.024963379, -0.008903503, -0.012825012, 0.046417236, - 0.0032596588, -0.02720642, 0.0019130707, 0.019104004, -0.062927246, - 0.040649414, 0.016952515, 0.0072364807, 0.033966064, -0.015098572, - -0.021011353, 0.03463745, -0.0073013306, -0.0340271, 0.037841797, - 0.016921997, 0.01914978, 0.009033203, 0.010375977, 0.05657959, - -0.006385803, 0.038879395, 0.024490356, 0.04385376, -0.0006451607, - 0.001832962, -0.02609253, 0.03250122, -0.014854431, -0.060058594, - -0.009902954, 0.0027580261, 0.048675537, 0.019683838, 0.054595947, - -0.006175995, 0.017929077, 0.008811951, 0.000033438206, 0.031341553, - 0.021133423, -0.0006389618, 0.024551392, -0.001660347, 0.03930664, - 0.014892578, 0.007068634, -0.0113220215, -0.0059928894, 0.018417358, - -0.031021118, -0.04916382, 0.0053100586, 0.007774353, 0.030151367, - 0.009567261, -0.015357971, 0.002319336, -0.042419434, 0.022033691, - 0.022216797, -0.032104492, 0.055267334, 0.041168213, 0.060058594, - 0.0020751953, -0.026977539, 0.019256592, -0.04675293, -0.020690918, - -0.07659912, -0.013648987, 0.0019950867, -0.013114929, 0.0340271, - -0.021987915, -0.003206253, -0.0065574646, 0.0140686035, 0.0072250366, - 0.0143585205, -0.011329651, -0.0016593933, -0.022109985, 0.008743286, - 0.034118652, -0.029891968, 0.045654297, -0.03945923, -0.009521484, - 0.037597656, -0.019424438, 0.06286621, 0.008529663, -0.024871826, - 0.017684937, 0.0016679764, -0.006225586, 0.012268066, 0.037078857, - 0.003818512, -0.022079468, 0.05697632, 0.043823242, -0.04638672, - -0.033416748, 0.00015604496, 0.052856445, 0.009414673, 0.0024204254, - 0.00034689903, -0.03414917, 0.010475159, -0.053833008, -0.040771484, - 0.034057617, -0.023742676, 0.078063965, 0.024932861, 0.037384033, - -0.022415161, -0.018630981, 0.0016851425, 0.024307251, 0.06756592, - 0.074035645, -0.02166748, -0.0041542053, -0.04473877, -0.03753662, - 0.064819336, -0.029342651, -0.012489319, -0.0042304993, 0.04751587, - -0.009147644, 0.00969696, -0.007633209, 0.007762909, 0.0063705444, - 0.03744507, 0.008796692, -0.00920105, -0.027572632, 0.05493164, - -0.000121831894, 0.040740967, 0.033325195, 0.049102783, 0.0076026917, - 0.020935059, 0.020324707, -0.051361084, -0.030883789, 0.020141602, - -0.021820068, -0.0043182373, 0.09033203, -0.012710571, 0.035369873, - -0.048217773, -0.03010559, -0.0051727295, -0.023086548, -0.0154418945, - 0.0058059692, -0.022003174, -0.016998291, -0.045806885, 0.029327393, - -0.017929077, -0.0026874542, -0.044403076, 0.057800293, -0.013450623, - 0.024398804, -0.026367188, 0.011711121, -0.034851074, -0.0020694733, - 0.028182983, 0.017715454, 0.03970337, -0.00919342, -0.030319214, - -0.041107178, -0.036376953, 0.024978638, 0.019042969, -0.03515625, - 0.056030273, -0.03439331, -0.02444458, -0.010391235, 0.03741455, - -0.011817932, -0.05645752, -0.018569946, 0.01600647, 0.0178833, - -0.037322998, -0.044189453, 0.023208618, 0.0064926147, -0.022506714, - 0.03869629, -0.040130615, -0.017715454, 0.024490356, 0.010482788, - -0.028579712, -0.01612854, 0.030029297, -0.005859375, 0.035247803, - 0.011817932, -0.008880615, -0.06402588, -0.032318115, -0.017532349, - 0.011878967, -0.04824829, 0.01134491, -0.0146865845, 0.023803711, - -0.028244019, 0.005027771, 0.01676941, 0.022537231, -0.011268616, - 0.00548172, 0.004211426, -0.028701782, -0.032958984, -0.031036377, - -0.013549805, 0.011764526, -0.012741089, 0.059631348, 0.007331848, - -0.0004734993, 0.008079529, -0.078186035, -0.020843506, -0.004890442, - -0.016952515, -0.01878357, -0.010253906, -0.0069351196, -0.021011353, - 0.035064697, -0.0423584, 0.051696777, -0.040496826, 0.035583496, - -0.018081665, 0.015205383, -0.008277893, 0.030929565, -0.0016794205, - 0.026412964, -0.038208008, 0.0036964417, -0.0149002075, 0.012718201, - 0.023544312, 0.010482788, -0.0046920776, 0.002658844, 0.016189575, - -0.0020637512, 0.020507812, -0.008514404, -0.018341064, 0.019973755, - 0.002670288, -0.043670654, -0.010505676, -0.015235901, -0.028930664, - 0.0025520325, -0.032928467, 0.020828247, -0.04232788, 0.017486572, - 0.022384644, 0.012107849, 0.000895977, 0.0010175705, -0.03817749, - 0.025253296, -0.034301758, 0.013961792 - ], - [ - 0.022079468, -0.01953125, -0.017074585, -0.061584473, -0.021743774, - 0.00043582916, -0.030532837, 0.018630981, 0.024475098, 0.02330017, - -0.04058838, 0.02116394, 0.025268555, -0.031311035, 0.02128601, - -0.05633545, 0.010475159, 0.034423828, -0.021606445, -0.013435364, - 0.003604889, 0.00097322464, -0.072143555, -0.010124207, 0.0259552, - -0.0008792877, -0.027694702, -0.012054443, -0.034729004, -0.05218506, - -0.0031604767, 0.060058594, 0.021072388, 0.02960205, -0.007850647, - -0.006465912, -0.057159424, -0.020233154, 0.024810791, -0.029632568, - 0.06274414, -0.06201172, -0.07531738, 0.00062417984, -0.04034424, - -0.015579224, -0.011299133, -0.06488037, 0.046051025, -0.0019683838, - 0.018661499, 0.014602661, 0.030181885, 0.017364502, -0.036499023, - 0.006362915, -0.04473877, -0.022033691, -0.0040626526, -0.0016584396, - 0.016921997, 0.027526855, 0.03643799, 0.06958008, 0.010696411, - 0.0042304993, -0.03793335, 0.029434204, 0.041748047, -0.0463562, - -0.03942871, -0.017745972, -0.021438599, -0.003774643, -0.05670166, - 0.0012588501, 0.018234253, 0.0022411346, 0.0056991577, 0.018859863, - -0.008872986, -0.066833496, -0.03164673, -0.007133484, 0.011833191, - 0.03616333, -0.0051956177, -0.022994995, 0.020584106, 0.007221222, - 0.01210022, 0.06323242, 0.02319336, 0.010871887, -0.04083252, - -0.008300781, -0.0056991577, -0.00447464, -0.03756714, -0.012252808, - -0.03881836, -0.00074481964, -0.048431396, 0.009361267, -0.028686523, - 0.03375244, 0.0340271, 0.0390625, -0.011787415, 0.034820557, -0.04888916, - 0.078186035, -0.032989502, -0.022018433, -0.06365967, -0.0043678284, - -0.038482666, 0.027359009, 0.008834839, 0.032348633, 0.033691406, - 0.05050659, 0.0082473755, -0.042053223, -0.033203125, -0.0073432922, - 0.0011577606, -0.058898926, 0.056274414, -0.037231445, -0.036621094, - 0.058746338, -0.012878418, -0.042785645, -0.021728516, 0.0065307617, - 0.03250122, -0.017303467, 0.016464233, 0.051574707, 0.022262573, - -0.036499023, 0.028518677, 0.037841797, -0.07897949, 0.0038223267, - 0.004070282, 0.026168823, 0.013092041, -0.007663727, -0.049346924, - -0.005168915, 0.015602112, 0.033233643, 0.011054993, 0.031585693, - -0.0513916, 0.008613586, 0.006061554, 0.03100586, -0.00068712234, - 0.028671265, 0.060394287, 0.010223389, -0.017990112, -0.022766113, - -0.025360107, 0.006072998, 0.023147583, 0.086242676, -0.05456543, - -0.0022411346, 0.06878662, 0.031341553, -0.025115967, 0.0037651062, - 0.0026988983, 0.0052223206, 0.023513794, 0.04953003, 0.016448975, - -0.019958496, 0.0016326904, 0.052520752, 0.016189575, -0.046966553, - 0.022750854, 0.002532959, 0.0037250519, 0.008041382, 0.0047912598, - 0.032318115, -0.03967285, -0.06536865, 0.0027580261, -0.007369995, - -0.026763916, -0.025909424, 0.012756348, 0.01928711, 0.016021729, - -0.038269043, 0.089538574, -0.080566406, -0.015220642, -0.008705139, - -0.003435135, 0.034179688, 0.023910522, 0.024932861, 0.0066719055, - -0.019546509, -0.01826477, -0.023071289, 0.016494751, 0.007835388, - -0.03137207, 0.005001068, 0.0075569153, 0.012451172, -0.01348114, - 0.01171875, -0.02998352, 0.02330017, 0.025527954, -0.02432251, - -0.0018262863, -0.0023422241, 0.027389526, -0.00605011, 0.028060913, - 0.013618469, 0.018493652, -0.03845215, -0.0592041, 0.027633667, - 0.027053833, 0.025253296, -0.0017375946, 0.019073486, 0.010871887, - 0.015457153, -0.016845703, 0.015899658, 0.009048462, -0.01676941, - 0.05014038, -0.023666382, 0.014305115, 0.03781128, 0.06518555, - -0.019882202, 0.010147095, -0.023864746, -0.012763977, 0.026657104, - 0.013442993, 0.061279297, -0.046447754, 0.034362793, -0.055419922, - -0.009017944, 0.00945282, -0.03060913, -0.035614014, 0.018707275, - -0.018173218, -0.0047187805, -0.05496216, 0.031707764, 0.030899048, - -0.025024414, -0.0011425018, 0.004711151, 0.0042533875, 0.012397766, - -0.05505371, 0.016525269, -0.003967285, -0.008934021, -0.03164673, - 0.0073928833, 0.008514404, -0.015716553, 0.034606934, 0.05630493, - 0.02178955, -0.008811951, -0.03353882, 0.05267334, 0.048583984, - 0.01524353, -0.042175293, 0.022140503, 0.012466431, 0.018814087, - 0.03665161, 0.010276794, -0.002161026, -0.037017822, 0.056396484, - 0.06335449, -0.02835083, -0.0042648315, 0.0057792664, -0.018341064, - 0.062164307, 0.021636963, 0.019805908, -0.052581787, -0.025772095, - -0.013137817, 0.022842407, -0.040649414, 0.030303955, 0.012794495, - -0.038360596, 0.0033092499, -0.105651855, -0.043884277, -0.011650085, - -0.011398315, 0.0032672882, 0.010650635, -0.007843018, -0.0052948, - -0.025756836, 0.018585205, -0.033447266, 0.005619049, 0.055786133, - 0.0077552795, 0.021133423, 0.02029419, 0.014228821, -0.010154724, - 0.03086853, -0.05911255, -0.00047445297, -0.019134521, 0.064697266, - -0.024658203, 0.020446777, 0.018753052, 0.016220093, 0.028701782, - -0.023757935, 0.023834229, -0.025558472, 0.0037078857, -0.004852295, - -0.048583984, -0.008514404, 0.009223938, 0.050994873, -0.021133423, - -0.023956299, 0.014770508, 0.06945801, -0.052734375, 0.010910034, - -0.033172607, -0.035888672, 0.028656006, 0.024291992, -0.034729004, - -0.03967285, 0.00907135, -0.0022296906, -0.008163452, 0.0058135986, - -0.035827637, -0.017333984, -0.014717102, -0.024902344, 0.0124435425, - 0.037231445, -0.07147217, 0.02861023, 0.009742737, 0.010246277, - 0.023834229, 0.0049934387, 0.0009794235, 0.06665039, 0.04562378, - -0.016189575, 0.011634827, 0.050079346, 0.0033187866, -0.0018177032, - 0.039031982, -0.027908325, -0.027862549, -0.0096588135, -0.0112838745, - -0.00030493736, 0.03933716, -0.036987305, -0.007411957, 0.009185791, - 0.020751953, -0.019714355, -0.016723633, -0.009231567, -0.011177063, - 0.002960205, -0.015197754, 0.013175964, 0.05154419, -0.015213013, - 0.04147339, -0.016830444, 0.015556335, -0.0060653687, 0.009536743, - 0.032592773, -0.02784729, 0.018218994, 0.041168213, 0.03677368, - -0.024276733, -0.0061302185, 0.04876709, -0.037963867, 0.03253174, - -0.02973938, 0.017074585, 0.0073776245, 0.006336212, -0.025665283, - -0.016647339, -0.007133484, -0.058807373, -0.038238525, 0.054382324, - -0.023986816, 0.063964844, 0.018463135, -0.03024292, -0.05166626, - 0.024154663, 0.05960083, 0.0129776, -0.018539429, 0.033813477, - 0.004547119, 0.03173828, -0.03527832, 0.017868042, -0.055114746, - 0.03656006, 0.027313232, 0.06311035, -0.013465881, -0.019836426, - 0.029373169, 0.024459839, -0.0032234192, 0.027236938, 0.0018186569, - 0.012054443, -0.038238525, -0.006706238, -0.030914307, 0.009246826, - 0.04434204, 0.023330688, -0.027297974, -0.0060195923, 0.02166748, - -0.0014772415, -0.02078247, -0.03466797, 0.06854248, 0.051483154, - -0.02331543, -0.001947403, -0.03366089, -0.023956299, -0.038726807, - 0.016845703, 0.09069824, -0.032806396, -0.0036506653, 0.024993896, - -0.008346558, 0.041625977, 0.030395508, 0.038635254, 0.0057907104, - 0.018539429, 0.04067993, 0.029556274, -0.012359619, 0.00021457672, - 0.010948181, -0.009590149, 0.03765869, -0.0690918, -0.060943604, - 0.027923584, -0.015312195, -0.03918457, 0.035888672, -0.014457703, - -0.030548096, -0.010322571, 0.06463623, 0.056762695, -0.034179688, - -0.029708862, -0.005718231, 0.04324341, -0.041534424, 0.05682373, - -0.013168335, 0.035095215, -0.0035572052, -0.035980225, 0.013847351, - -0.0061569214, 0.082214355, 0.001253128, -0.02609253, 0.04232788, - 0.0052986145, 0.0043563843, -0.029968262, 0.009170532, 0.066711426, - 0.0039749146, 0.011482239, -0.02607727, 0.02293396, 0.056854248, - -0.020706177, -0.009849548, -0.004951477, -0.026977539, -0.036865234, - -0.04724121, -0.007850647, 0.007675171, 0.0070762634, -0.023101807, - -0.0036907196, 0.04562378, 0.0012168884, 0.068359375, -0.014770508, - -0.05014038, 0.03552246, -0.011634827, 0.022232056, -0.008163452, - -0.05380249, -0.016815186, -0.02029419, 0.038208008, -0.0072746277, - 0.035308838, -0.02192688, -0.034240723, 0.02532959, 0.01940918, - 0.051696777, -0.036499023, 0.00831604, 0.02015686, 0.002603531, - 0.018554688, 0.057373047, -0.06274414, 0.027633667, -0.06555176, - -0.007850647, 0.0008330345, 0.006286621, 0.043182373, 0.030288696, - 0.014556885, -0.040893555, 0.029052734, -0.0124435425, 0.028030396, - -0.0051193237, -0.0637207, -0.038146973, -0.0028762817, 0.0017576218, - -0.0121536255, -0.0071029663, -0.055755615, -0.003917694, -0.02734375, - 0.028381348, -0.023910522, -0.026489258, 0.004207611, -0.020339966, - 0.047424316, 0.029678345, -0.027648926, -0.02154541, 0.05429077, - 0.008773804, 0.047454834, 0.0059661865, 0.06744385, 0.012290955, - -0.0029830933, -0.017074585, -0.004760742, -0.01121521, 0.010108948, - 0.033233643, -0.0030937195, 0.0011758804, -0.009674072, -0.02444458, - 0.022903442, 0.017868042, -0.018325806, 0.012519836, 0.0019445419, - 0.037628174, 0.021362305, -0.020889282, 0.019165039, -0.00137043, - -0.011024475, -0.015403748, -0.06719971, -0.010902405, 0.037200928, - 0.009536743, -0.039855957, -0.024429321, 0.06536865, 0.01461792, - 0.0423584, -0.015266418, -0.0001565218, 0.056396484, 0.010215759, - -0.00819397, -0.011512756, -0.012710571, -0.017105103, -0.032592773, - 0.0073013306, -0.005344391, 0.0011520386, 0.017730713, -0.008705139, - 0.053619385, 0.057495117, -0.011360168, -0.022994995, 0.032989502, - 0.066345215, -0.058807373, 0.0026187897, 0.008468628, 0.022460938, - 0.00894928, 0.016571045, -0.0022468567, 0.021591187, 0.006996155, - -0.016693115, -0.028244019, -0.037475586, -0.04055786, 0.051818848, - 0.011459351, 0.03616333, -0.0044021606, 0.012535095, -0.027008057, - -0.09259033, 0.05154419, 0.010375977, -0.018203735, 0.0149383545, - 0.031234741, 0.015266418, 0.00983429, 0.0060691833, -0.029556274, - 0.0013189316, 0.008430481, 0.0110321045, 0.0259552, -0.01335907, - -0.021560669, -0.004459381, -0.045532227, 0.004425049, 0.044006348, - -0.011352539, 0.0067214966, -0.024902344, 0.0059661865, 0.03881836, - 0.016220093, -0.012992859, 0.0061149597, 0.012107849, 0.002565384, - 0.046691895, -0.007762909, 0.0063056946, 0.006954193, -0.015899658, - -0.02545166, -0.01676941, -0.052642822, 0.029800415, -0.00053596497, - -0.046081543, 0.027679443, -0.007205963, 0.0340271, -0.0034942627, - -0.038085938, 0.017059326, 0.017486572, 0.022216797, 0.059326172, - -0.043823242, -0.014045715, 0.02722168, -0.0033283234, 0.02243042, - 0.027450562, 0.021484375, 0.006175995, -0.010414124, -0.03579712, - -0.025924683, 0.04650879, 0.0046806335, -0.028518677, 0.06414795, - 0.03591919, 0.025009155, -0.006374359, 0.029464722, 0.02609253, - -0.017211914, -0.0149383545, 0.012046814, 0.028030396, -0.020721436, - -0.018722534, -0.02722168, -0.0109939575, -0.0067214966, -0.064086914, - 0.0008625984, 0.010223389, 0.014778137, 0.03677368, 0.043762207, - -0.0124435425, 0.021347046, -0.011436462, 0.012931824, 0.044799805, - 0.021255493, 0.010871887, 0.036132812, -0.019607544, 0.042633057, - 0.0015716553, 0.0018529892, -0.037139893, 0.012481689, 0.008651733, - -0.019760132, -0.031082153, 0.011054993, -0.032073975, 0.039031982, - 0.025772095, 0.017196655, -0.00217247, 0.011711121, 0.009155273, - 0.028411865, -0.03111267, 0.013397217, 0.00819397, 0.036193848, - 0.023910522, -0.032043457, -0.0010871887, -0.026504517, -0.030654907, - -0.04699707, 0.00048565865, 0.022735596, 0.0011835098, 0.046783447, - 0.03265381, -0.014350891, 0.03567505, 0.028121948, 0.021972656, - 0.037597656, -0.009315491, 0.013572693, -0.049743652, 0.05899048, - 0.05618286, 0.012260437, 0.006084442, -0.12695312, 0.028793335, - 0.07232666, 0.0072784424, 0.01713562, -0.006767273, 0.04257202, - 0.055633545, -0.06896973, -0.006641388, 0.008117676, 0.057769775, - 0.03237915, -0.04095459, 0.036499023, 0.02406311, -0.0357666, - -0.017807007, 0.0035381317, 0.046203613, 0.013687134, 0.017120361, - 0.009353638, -0.037078857, 0.0047950745, -0.0069351196, -0.054901123, - 0.024032593, -0.00011497736, 0.04763794, 0.0055122375, 0.0546875, - -0.039093018, -0.033111572, 0.015716553, 0.021560669, 0.04043579, - 0.010299683, -0.019729614, 0.015975952, 0.017181396, -0.012367249, - 0.061431885, 0.015731812, 0.018630981, -0.0046958923, -0.0037708282, - -0.030883789, 0.009552002, -0.02368164, -0.01096344, -0.0030384064, - 0.020812988, 0.016052246, -0.039093018, -0.031280518, 0.025283813, - 0.017150879, -0.01940918, 0.04260254, 0.07006836, -0.0030555725, - 0.013885498, 0.031021118, -0.049804688, -0.011917114, 0.00032615662, - 0.0027179718, -0.02822876, 0.07055664, 0.0038890839, 0.009963989, - -0.055236816, -0.033416748, -0.0022907257, 0.00017797947, 0.061187744, - 0.020904541, -0.022323608, -0.052490234, -0.007045746, -0.0014677048, - -0.04336548, 0.031051636, -0.057678223, 0.040924072, -0.004802704, - 0.032165527, -0.04586792, -0.020629883, -0.0635376, 0.014701843, - -0.051635742, -0.01687622, 0.03225708, 0.00029873848, 0.000161767, - -0.053741455, -0.0496521, 0.0059814453, -0.040039062, -0.046936035, - 0.033111572, -0.007850647, 0.0037593842, -0.029418945, 0.01235199, - -0.0146102905, -0.05999756, -0.0046920776, -0.00484848, 0.006214142, - -0.029968262, -0.04159546, -0.010658264, 0.028579712, -0.02583313, - 0.015045166, -0.04095459, -0.02230835, 0.0025177002, -0.0038528442, - -0.013916016, -0.026306152, 0.041137695, -0.027023315, -0.0017871857, - 0.01109314, -0.029876709, -0.08782959, -0.013122559, 0.004600525, - -0.022705078, -0.043182373, 0.021881104, -0.032348633, 0.028396606, - -0.046813965, -0.001616478, -0.0038928986, 0.0066947937, -0.030654907, - 0.029312134, 0.028244019, -0.005088806, -0.018951416, -0.005428314, - -0.025314331, -0.0116119385, -0.061340332, 0.005142212, -0.009819031, - -0.0048675537, 0.018447876, -0.07702637, 0.009300232, -0.00667572, - 0.0013628006, 0.02949524, -0.00907135, 0.00014674664, -0.026657104, - 0.03677368, -0.03375244, -0.007385254, 0.019729614, 0.011550903, - -0.01121521, 0.029541016, 0.012908936, -0.029373169, -0.009735107, - 0.070007324, -0.025405884, 0.03604126, -0.009246826, 0.0041542053, - 0.03866577, -0.0035209656, -0.008087158, 0.021697998, -0.015449524, - -0.021835327, 0.026168823, -0.029327393, -0.02230835, 0.020980835, - 0.027008057, -0.007659912, -0.00617218, 0.03161621, -0.021240234, - 0.042785645, -0.009216309, -0.011932373, 0.010604858, -0.0015325546, - 0.010025024, 0.0026187897, 0.05053711, -0.05328369, -0.008575439, - 0.036102295, 0.028579712, 0.04031372 - ], - [ - 0.034423828, -0.0030097961, -0.040863037, -0.05166626, -0.02178955, - -0.03112793, -0.03878784, -0.0042037964, 0.019470215, 0.032165527, - -0.06109619, 0.02659607, -0.010635376, -0.0022411346, -0.01637268, - -0.061950684, 0.041534424, 0.027267456, 0.026489258, 0.015144348, - -0.003982544, 0.057006836, -0.029586792, 0.016937256, 0.053466797, - 0.021514893, -0.039154053, 0.012161255, 0.0076942444, -0.018829346, - 0.025680542, -0.0048179626, 0.025299072, 0.0053596497, -0.008918762, - 0.042877197, 0.001121521, -0.044769287, 0.037872314, -0.007587433, - 0.064331055, -0.053863525, -0.030349731, -0.02998352, -0.036987305, - 0.024520874, -0.016555786, -0.044647217, 0.0496521, 0.025238037, - 0.012779236, 0.040740967, 0.008522034, -0.011001587, -0.0058059692, - 0.018157959, -0.05722046, 0.019958496, 0.012496948, -0.027999878, - 0.0090789795, 0.03564453, 0.04168701, 0.07116699, 0.018676758, - -0.00093984604, 0.018447876, 0.032470703, 0.052764893, -0.036499023, - -0.019515991, 0.006565094, 0.017807007, -0.0413208, -0.026794434, - 0.011558533, 0.009796143, 0.007534027, 0.019348145, -0.04788208, - -0.015914917, -0.015022278, -0.06719971, 0.0041160583, 0.0050582886, - 0.042816162, -0.00012010336, -0.03753662, 0.037963867, -0.0012331009, - 0.011291504, 0.08709717, 0.024536133, 0.0004658699, -0.03475952, - -0.049835205, -0.01083374, -0.026824951, -0.024536133, 0.0074691772, - -0.026855469, -0.014694214, -0.021957397, -0.0041656494, -0.040252686, - 0.025848389, 0.040893555, 0.05404663, -0.031341553, 0.028930664, - -0.03656006, 0.04776001, 0.0019187927, -0.010139465, -0.034484863, - -0.011062622, -0.017471313, 0.03213501, -0.0129470825, 0.0066490173, - 0.028686523, 0.023010254, 0.00617218, -0.0121536255, -0.009681702, - 0.0027198792, -0.024291992, -0.04537964, 0.045837402, -0.06451416, - -0.0049972534, 0.10205078, -0.04446411, -0.06365967, -0.053344727, - 0.033996582, 0.005420685, -0.04156494, -0.008323669, 0.067871094, - 0.024627686, -0.020080566, 0.046295166, 0.032836914, -0.019500732, - 0.038726807, -0.0126953125, -0.01411438, 0.045684814, 0.019042969, - -0.03475952, -0.0597229, 0.01398468, 0.045837402, 0.0018835068, - 0.03314209, -0.034729004, 0.01676941, -0.0025672913, 0.015037537, - -0.028015137, 0.012550354, 0.05319214, -0.02116394, -0.047943115, - -0.0099487305, -0.021392822, 0.008895874, 0.024765015, 0.06616211, - -0.024612427, 0.0045318604, 0.010932922, 0.036499023, 0.0026397705, - 0.006706238, 0.024887085, 0.014877319, 0.013748169, 0.060577393, - 0.0013980865, -0.035461426, -0.013839722, 0.03741455, 0.015914917, - -0.07141113, 0.030670166, 0.023086548, 0.00579834, 0.03414917, - 0.016540527, 0.010421753, 0.0030994415, -0.062316895, -0.031188965, - -0.022766113, -0.010444641, 0.0070114136, -0.013259888, 0.030471802, - -0.015625, 0.019699097, 0.0552063, -0.008171082, 0.013160706, 0.018066406, - 0.0028495789, 0.028320312, 0.06317139, -0.0076065063, -0.014457703, - -0.023513794, -0.032226562, 0.033935547, -0.018814087, 0.024459839, - -0.024002075, -0.026748657, 0.0024337769, 0.037872314, -0.018325806, - -0.0013141632, -0.052764893, 0.014190674, 0.016799927, -0.04748535, - -0.010124207, -0.011398315, 0.018997192, 0.0041999817, 0.0051498413, - -0.016998291, 0.035491943, 0.04736328, -0.029785156, 0.016815186, - 0.02406311, 0.03753662, -0.014533997, -0.0031642914, 0.054840088, - -0.0005393028, -0.03604126, -0.04574585, 0.02142334, -0.057800293, - 0.021270752, -0.030731201, -0.022903442, 0.023956299, 0.039215088, - 0.013633728, 0.03451538, 0.0064697266, -0.019561768, 0.051635742, - -0.02305603, 0.0071144104, -0.013450623, 0.010177612, -0.013847351, - -0.0005097389, -0.012130737, 0.0055160522, -0.050994873, -0.0059013367, - 0.0065460205, 0.030578613, -0.011169434, -0.025314331, 0.009918213, - -0.0014801025, 0.0040283203, -0.014335632, -0.0345459, 0.022491455, - -0.06149292, 0.026748657, 0.0026054382, -0.014602661, 0.0057411194, - 0.054382324, 0.00059604645, -0.017547607, 0.043395996, 0.049926758, - -0.025772095, -0.0036830902, -0.051971436, 0.030548096, 0.04626465, - 0.010620117, -0.040130615, -0.0099105835, 0.044067383, -0.0026626587, - 0.010856628, 0.043060303, 0.018112183, -0.070373535, -0.0030918121, - 0.031829834, -0.036987305, -0.013198853, -0.003358841, -0.009819031, - 0.034240723, 0.026779175, 0.01612854, -0.043121338, -0.037475586, - -0.0039634705, 0.033325195, -0.020812988, 0.013069153, -0.0064468384, - -0.03604126, -0.015541077, -0.09185791, -0.037994385, 0.043182373, - -0.037261963, -0.05758667, -0.013931274, -0.04321289, 0.017959595, - -0.04345703, -0.017303467, 0.01461792, 0.012268066, 0.02444458, - 0.03793335, 0.014198303, 0.0027618408, -0.014129639, -0.01335144, - 0.028717041, -0.012786865, 0.0024738312, -0.03894043, 0.046173096, - -0.0390625, 0.017623901, 0.0028381348, 0.040100098, 0.03466797, - -0.055755615, 0.047546387, -0.042907715, -0.021759033, -0.013839722, - -0.07507324, -0.01965332, 0.0107421875, 0.03225708, -0.03756714, - 0.0043411255, 0.034423828, 0.05419922, -0.051574707, 0.0015935898, - -0.03704834, -0.048339844, 0.03717041, 0.041870117, -0.029876709, - -0.033203125, -0.005657196, 0.031829834, 0.016159058, -0.025772095, - -0.029220581, 0.0011405945, 0.007572174, -0.004234314, 0.015464783, - 0.0071792603, -0.07354736, 0.030288696, -0.019866943, -0.0027637482, - -0.01626587, 0.026901245, -0.02519226, 0.08355713, 0.039154053, - 0.009490967, 0.022201538, 0.040740967, 0.0046195984, -0.03302002, - -0.00957489, -0.039093018, -0.03930664, -0.006252289, -0.0009598732, - 0.0053749084, 0.01259613, -0.025421143, -0.015258789, 0.049224854, - 0.02658081, -0.030822754, 0.030883789, -0.0345459, 0.042541504, - 0.032562256, -0.013244629, 0.032043457, 0.046325684, -0.03543091, - 0.0064964294, -0.01374054, -0.05807495, -0.02041626, 0.039001465, - 0.04421997, -0.03213501, 0.019515991, 0.016433716, 0.033966064, - -0.027114868, 0.031951904, 0.058929443, 0.018218994, 0.036499023, - -0.024917603, -0.030273438, 0.008880615, -0.023071289, -0.015899658, - -0.031707764, -0.015426636, -0.066711426, -0.04046631, 0.025421143, - -0.028411865, 0.07019043, -0.0004069805, -0.028625488, -0.009170532, - 0.04660034, 0.062683105, 0.017807007, -0.0058021545, -0.0048675537, - 0.04260254, 0.05996704, -0.014411926, -0.0053253174, -0.07867432, - 0.037017822, 0.027908325, 0.06161499, -0.012481689, -0.008811951, - 0.0234375, 0.06100464, 0.016845703, -0.008010864, -0.034301758, - -0.03173828, -0.019104004, 0.012451172, -0.012130737, 0.016662598, - 0.009010315, 0.03652954, -0.015930176, -0.027359009, 0.023223877, - 0.02192688, 0.009643555, -0.0138549805, 0.040740967, 0.031707764, - -0.0014314651, 0.017959595, -0.049591064, -0.035461426, -0.018157959, - -0.003124237, 0.035217285, 0.06616211, 0.024124146, 0.019989014, - 0.01499176, 0.020248413, 0.051086426, 0.007980347, -0.00091457367, - 0.00028276443, 0.052337646, -0.017181396, 0.00066185, 0.0064315796, - 0.0013904572, -0.0010471344, 0.03552246, -0.041778564, -0.084350586, - 0.020263672, 0.0013427734, -0.04220581, 0.022201538, -0.038879395, - 0.0058670044, -0.022521973, 0.05895996, 0.01612854, 0.028045654, - -0.025619507, -0.026626587, 0.004211426, -0.024627686, 0.057617188, - -0.034576416, -0.0032615662, -0.004901886, -0.034484863, -0.011245728, - -0.014625549, 0.05532837, -0.003818512, 0.021377563, 0.030395508, - 0.0015954971, 0.039886475, -0.028533936, -0.027008057, 0.044189453, - 0.016555786, 0.027038574, 0.012207031, -0.008110046, 0.053741455, - -0.024459839, -0.034606934, -0.03692627, -0.015266418, -0.027908325, - -0.06500244, -0.030838013, 0.021118164, 0.032348633, -0.029968262, - 0.00073957443, -0.017837524, -0.0046844482, 0.01612854, -0.040039062, - -0.041015625, -0.0070228577, 0.010322571, 0.028244019, -0.011634827, - -0.10913086, 0.025527954, 0.0031394958, -0.0051002502, -0.014129639, - 0.020401001, -0.0049591064, -0.026321411, 0.013244629, 0.022155762, - 0.01210022, -0.050872803, 0.009216309, 0.02279663, -0.0005764961, - 0.006778717, -0.0005712509, -0.08282471, -0.006996155, -0.045074463, - 0.016525269, -0.02255249, 0.022903442, -0.0010948181, 0.026733398, - 0.050872803, -0.008911133, 0.014099121, 0.015472412, -0.00016450882, - 0.0049209595, -0.021820068, -0.011329651, -0.02519226, -0.02670288, - -0.025482178, 0.00831604, -0.053741455, -0.012962341, -0.007080078, - -0.038330078, -0.039031982, 0.0045204163, 0.0042152405, -0.06329346, - 0.031799316, 0.0149383545, -0.01574707, 0.038391113, 0.07720947, - -0.039031982, 0.066101074, -0.012748718, 0.0014305115, -0.0007300377, - 0.0010929108, -0.02381897, -0.0030212402, -0.041229248, 0.034973145, - 0.023590088, 0.013290405, 0.003824234, -0.003042221, -0.008201599, - -0.0030078888, 0.018066406, -0.043395996, -0.022201538, 0.039123535, - 0.04309082, 0.01033783, -0.047668457, 0.014030457, -0.011566162, - -0.024230957, -0.017227173, -0.04901123, -0.004814148, 0.028121948, - -0.01902771, -0.076660156, -0.06695557, 0.077941895, 0.017303467, - 0.0066719055, -0.009681702, -0.008056641, 0.0060920715, -0.01525116, - -0.012496948, -0.015151978, -0.0062446594, 0.03366089, -0.000053822994, - 0.01637268, 0.004760742, -0.040496826, -0.006591797, 0.004146576, - 0.042053223, 0.06591797, -0.008201599, -0.026153564, 0.031555176, - 0.0836792, -0.03414917, -0.010887146, -0.0059165955, 0.016799927, - -0.024963379, 0.041381836, -0.048217773, 0.012840271, 0.041107178, - -0.03857422, -0.020004272, -0.04660034, -0.045959473, 0.013328552, - 0.004722595, 0.02947998, -0.020217896, 0.0006251335, -0.0058517456, - -0.033081055, 0.027755737, 0.04458618, -0.057525635, 0.045928955, - 0.030944824, 0.0033054352, 0.014518738, -0.0068588257, -0.06573486, - -0.041992188, 0.014511108, -0.02619934, 0.03326416, 0.0024166107, - -0.046844482, 0.010231018, -0.0524292, 0.020858765, 0.03265381, - -0.0116119385, 0.008277893, -0.026672363, 0.016983032, 0.021514893, - -0.055389404, -0.003129959, -0.016189575, 0.0048332214, -0.002035141, - 0.061767578, -0.04824829, -0.0079422, -0.011894226, -0.00894165, - 0.008918762, 0.040374756, 0.027755737, -0.011352539, 0.015007019, - -0.03982544, 0.039215088, -0.030075073, 0.03074646, -0.03137207, - -0.0057678223, 0.024963379, -0.008903503, -0.012825012, 0.046417236, - 0.0032596588, -0.02720642, 0.0019130707, 0.019104004, -0.062927246, - 0.040649414, 0.016952515, 0.0072364807, 0.033966064, -0.015098572, - -0.021011353, 0.03463745, -0.0073013306, -0.0340271, 0.037841797, - 0.016921997, 0.01914978, 0.009033203, 0.010375977, 0.05657959, - -0.006385803, 0.038879395, 0.024490356, 0.04385376, -0.0006451607, - 0.001832962, -0.02609253, 0.03250122, -0.014854431, -0.060058594, - -0.009902954, 0.0027580261, 0.048675537, 0.019683838, 0.054595947, - -0.006175995, 0.017929077, 0.008811951, 0.000033438206, 0.031341553, - 0.021133423, -0.0006389618, 0.024551392, -0.001660347, 0.03930664, - 0.014892578, 0.007068634, -0.0113220215, -0.0059928894, 0.018417358, - -0.031021118, -0.04916382, 0.0053100586, 0.007774353, 0.030151367, - 0.009567261, -0.015357971, 0.002319336, -0.042419434, 0.022033691, - 0.022216797, -0.032104492, 0.055267334, 0.041168213, 0.060058594, - 0.0020751953, -0.026977539, 0.019256592, -0.04675293, -0.020690918, - -0.07659912, -0.013648987, 0.0019950867, -0.013114929, 0.0340271, - -0.021987915, -0.003206253, -0.0065574646, 0.0140686035, 0.0072250366, - 0.0143585205, -0.011329651, -0.0016593933, -0.022109985, 0.008743286, - 0.034118652, -0.029891968, 0.045654297, -0.03945923, -0.009521484, - 0.037597656, -0.019424438, 0.06286621, 0.008529663, -0.024871826, - 0.017684937, 0.0016679764, -0.006225586, 0.012268066, 0.037078857, - 0.003818512, -0.022079468, 0.05697632, 0.043823242, -0.04638672, - -0.033416748, 0.00015604496, 0.052856445, 0.009414673, 0.0024204254, - 0.00034689903, -0.03414917, 0.010475159, -0.053833008, -0.040771484, - 0.034057617, -0.023742676, 0.078063965, 0.024932861, 0.037384033, - -0.022415161, -0.018630981, 0.0016851425, 0.024307251, 0.06756592, - 0.074035645, -0.02166748, -0.0041542053, -0.04473877, -0.03753662, - 0.064819336, -0.029342651, -0.012489319, -0.0042304993, 0.04751587, - -0.009147644, 0.00969696, -0.007633209, 0.007762909, 0.0063705444, - 0.03744507, 0.008796692, -0.00920105, -0.027572632, 0.05493164, - -0.000121831894, 0.040740967, 0.033325195, 0.049102783, 0.0076026917, - 0.020935059, 0.020324707, -0.051361084, -0.030883789, 0.020141602, - -0.021820068, -0.0043182373, 0.09033203, -0.012710571, 0.035369873, - -0.048217773, -0.03010559, -0.0051727295, -0.023086548, -0.0154418945, - 0.0058059692, -0.022003174, -0.016998291, -0.045806885, 0.029327393, - -0.017929077, -0.0026874542, -0.044403076, 0.057800293, -0.013450623, - 0.024398804, -0.026367188, 0.011711121, -0.034851074, -0.0020694733, - 0.028182983, 0.017715454, 0.03970337, -0.00919342, -0.030319214, - -0.041107178, -0.036376953, 0.024978638, 0.019042969, -0.03515625, - 0.056030273, -0.03439331, -0.02444458, -0.010391235, 0.03741455, - -0.011817932, -0.05645752, -0.018569946, 0.01600647, 0.0178833, - -0.037322998, -0.044189453, 0.023208618, 0.0064926147, -0.022506714, - 0.03869629, -0.040130615, -0.017715454, 0.024490356, 0.010482788, - -0.028579712, -0.01612854, 0.030029297, -0.005859375, 0.035247803, - 0.011817932, -0.008880615, -0.06402588, -0.032318115, -0.017532349, - 0.011878967, -0.04824829, 0.01134491, -0.0146865845, 0.023803711, - -0.028244019, 0.005027771, 0.01676941, 0.022537231, -0.011268616, - 0.00548172, 0.004211426, -0.028701782, -0.032958984, -0.031036377, - -0.013549805, 0.011764526, -0.012741089, 0.059631348, 0.007331848, - -0.0004734993, 0.008079529, -0.078186035, -0.020843506, -0.004890442, - -0.016952515, -0.01878357, -0.010253906, -0.0069351196, -0.021011353, - 0.035064697, -0.0423584, 0.051696777, -0.040496826, 0.035583496, - -0.018081665, 0.015205383, -0.008277893, 0.030929565, -0.0016794205, - 0.026412964, -0.038208008, 0.0036964417, -0.0149002075, 0.012718201, - 0.023544312, 0.010482788, -0.0046920776, 0.002658844, 0.016189575, - -0.0020637512, 0.020507812, -0.008514404, -0.018341064, 0.019973755, - 0.002670288, -0.043670654, -0.010505676, -0.015235901, -0.028930664, - 0.0025520325, -0.032928467, 0.020828247, -0.04232788, 0.017486572, - 0.022384644, 0.012107849, 0.000895977, 0.0010175705, -0.03817749, - 0.025253296, -0.034301758, 0.013961792 - ] - ], - meta: { - api_version: { - version: '1' - }, - billed_units: { - input_tokens: 5 - } - }, - response_type: 'embeddings_floats' -}; -export default data; diff --git a/src/pages/playground/config/small-logo-200x200.png b/src/pages/playground/config/small-logo-200x200.png deleted file mode 100644 index 339af613..00000000 Binary files a/src/pages/playground/config/small-logo-200x200.png and /dev/null differ diff --git a/src/pages/playground/config/test-image.ts b/src/pages/playground/config/test-image.ts deleted file mode 100644 index 1c58a11a..00000000 --- a/src/pages/playground/config/test-image.ts +++ /dev/null @@ -1,44 +0,0 @@ -// import Img01 from '@/assets/images/img_01.png'; -import Img02 from '@/assets/images/img_02.png'; - -export default [ - { - // dataUrl: - // 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', - dataUrl: Img02, - height: 1024, - width: 512, - uid: 0, - span: 24, - loading: false, - progress: 30 - } - // { - // // dataUrl: - // // 'https://gw.alipayobjects.com/zos/antfincdn/LlvErxo8H9/photo-1503185912284-5271ff81b9a8.webp', - // dataUrl: Img02, - // height: 1024, - // width: 512, - // uid: 1, - // span: 12, - // progress: 15 - // } - // { - // dataUrl: - // 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', - // height: 'auto', - // width: 'auto', - // uid: 3, - // span: 12, - // progress: 10 - // }, - // { - // dataUrl: - // 'https://gw.alipayobjects.com/zos/antfincdn/LlvErxo8H9/photo-1503185912284-5271ff81b9a8.webp', - // height: 'auto', - // width: 'auto', - // uid: 4, - // span: 12, - // progress: 15 - // } -]; diff --git a/src/pages/playground/config/view-code.ts b/src/pages/playground/config/view-code.ts deleted file mode 100644 index 5e3545b6..00000000 --- a/src/pages/playground/config/view-code.ts +++ /dev/null @@ -1,61 +0,0 @@ -import _ from 'lodash'; - -const formatCurlArgs = (args: Record, isFormdata?: boolean) => { - if (isFormdata) { - return _.keys(args).reduce((acc: string, key: string) => { - const value = args[key]; - return acc + `-F ${key}="${value}" \\\n`; - }, ''); - } - return `-d "${JSON.stringify(args)}" \\\n`; -}; - -const formatPyParams = (params: Record) => {}; - -export const speechToTextCode = ({ - payload, - api, - parameters -}: Record) => { - const host = window.location.origin; - const curlCode = `curl ${host}}${api} \ --H "Content-Type: multipart/form-data" \ --H "Authorization: Bearer $\{YOUR_GPUSTACK_API_KEY}" \ --F file="@/path/to/file/audio.mp3;type=audio/mpeg" \ --F model="${parameters.model}" \ --F language="${parameters.language}"`; - - const pythonCode = `from openai import OpenAI - -audio_file = open("audio.mp3", "rb") -client = OpenAI( - base_url="${host}/v1-openai", - api_key="YOUR_GPUSTACK_API_KEY" -) - -response = client.audio.transcriptions.create( - model="${parameters.model}", - language="${parameters.language}", - file=audio_file -) -print('response:', response.text)`; - - const nodeJsCode = `const fs = require("fs") -const OpenAI = require("openai"); - -const openai = new OpenAI({ - "apiKey": "YOUR_GPUSTACK_API_KEY", - "baseURL": "${host}/v1-openai" -}); - -async function main(){ - const params = { - "model": "faster-whisper-large-v3", - "language": "auto", - "file": fs.createReadStream("audio.mp3") -}; -const response = await openai.audio.transcriptions.create(params); - console.log(response.text); -} -main();`; -}; diff --git a/src/pages/playground/view-code/audio.ts b/src/pages/playground/view-code/audio.ts new file mode 100644 index 00000000..aeca5683 --- /dev/null +++ b/src/pages/playground/view-code/audio.ts @@ -0,0 +1,122 @@ +import { fomatNodeJsParams, formatCurlArgs, formatPyParams } from './utils'; + +export const speechToTextCode = ({ api, parameters }: Record) => { + const host = window.location.origin; + + // ========================= Curl ========================= + const curlCode = ` +curl ${host}${api} \\ +-H "Content-Type: multipart/form-data" \\ +-H "Authorization: Bearer $\{YOUR_GPUSTACK_API_KEY}" \\ +-F file="@/path/to/file/audio.mp3;type=audio/mpeg" \\ +${formatCurlArgs(parameters, true)}` + .trim() + .replace(/\\$/g, ''); + + // ========================= Python ========================= + const pythonCode = ` +from openai import OpenAI\n +audio_file = open("audio.mp3", "rb") +client = OpenAI( + base_url="${host}/v1-openai", + api_key="YOUR_GPUSTACK_API_KEY" +) + +response = client.audio.transcriptions.create(\n${formatPyParams({ + ...parameters, + file: 'audio_file' + }).replace(/"audio_file"/, 'audio_file')})\n +print('response:', response.text)`.trim(); + + // ========================= Node.js ========================= + const jsonParams = fomatNodeJsParams({ + ...parameters, + file: `fs.createReadStream(audio.mp3)` + }); + const params = jsonParams.replace( + /"fs.createReadStream\(audio.mp3\)"/g, + 'fs.createReadStream("audio.mp3")' + ); + const nodeJsCode = ` +const fs = require("fs") +const OpenAI = require("openai"); + +const openai = new OpenAI({ + "apiKey": "YOUR_GPUSTACK_API_KEY", + "baseURL": "${host}/v1-openai" +}); + +async function main() { + const params = ${params}; + const response = await openai.audio.transcriptions.create(params); + console.log(response.text); +} + +main();`.trim(); + + return { + curlCode, + pythonCode, + nodeJsCode + }; +}; + +export const TextToSpeechCode = ({ api, parameters }: Record) => { + const host = window.location.origin; + + // ========================= Curl ========================= + const curlCode = ` +curl ${host}${api} \\ +-H "Content-Type: multipart/form-data" \\ +-H "Authorization: Bearer $\{YOUR_GPUSTACK_API_KEY}" \\ +${formatCurlArgs(parameters, false)} \\\n--output output.${parameters.response_format}`.trim(); + + // ========================= Python ========================= + const pythonCode = ` +from pathlib import Path +from openai import OpenAI\n +output_file_path = Path(__file__).parent / "output.mp3" +client = OpenAI( + base_url="${host}/v1-openai", + api_key="YOUR_GPUSTACK_API_KEY" +) + +response = client.audio.speech.create(\n${formatPyParams({ ...parameters })})\n +with open(output_file_path, "wb") as f: + for chunk in response.iter_bytes(): + f.write(chunk) + +print(f"Audio saved to {output_file_path}")`.trim(); + + // ========================= Node.js ========================= + const params = fomatNodeJsParams({ + ...parameters + }); + + const nodeJsCode = ` +const fs = require("fs"); +const path = require("path"); +const OpenAI = require("openai"); + +const ouptFile = path.resolve("./output.mp3"); + +const openai = new OpenAI({ + "apiKey": "YOUR_GPUSTACK_API_KEY", + "baseURL": "${host}/v1-openai" +}); + +async function main() { + const params = ${params}; + const response = await openai.audio.speech.create(params); + console.log(ouptFile); + const buffer = Buffer.from(await response.arrayBuffer()); + await fs.promises.writeFile(ouptFile, buffer); +} +main();`.trim(); + + return { + curlCode, + pythonCode, + nodeJsCode + }; +}; diff --git a/src/pages/playground/view-code/embedding.ts b/src/pages/playground/view-code/embedding.ts new file mode 100644 index 00000000..28b96e7e --- /dev/null +++ b/src/pages/playground/view-code/embedding.ts @@ -0,0 +1,52 @@ +import { fomatNodeJsParams, formatCurlArgs, formatPyParams } from './utils'; + +export const generateEmbeddingCode = ({ + api, + parameters +}: Record) => { + const host = window.location.origin; + + // ========================= Curl ========================= + const curlCode = ` +curl ${host}${api} \\ +-H "Content-Type: application/json" \\ +-H "Authorization: Bearer $\{YOUR_GPUSTACK_API_KEY}" \\ +${formatCurlArgs(parameters, false)}`.trim(); + + // ========================= Python ========================= + const pythonCode = ` +from openai import OpenAI\n +client = OpenAI( + base_url="${host}/v1-openai", + api_key="YOUR_GPUSTACK_API_KEY" +) + +response = client.embeddings.create(\n${formatPyParams({ ...parameters })})\n +print(response.data[0].embedding)`.trim(); + + // ========================= Node.js ========================= + const params = fomatNodeJsParams({ + ...parameters + }); + + const nodeJsCode = ` +const OpenAI = require("openai"); + +const openai = new OpenAI({ + "apiKey": "YOUR_GPUSTACK_API_KEY", + "baseURL": "${host}/v1-openai" +}); + +async function main() { + const params = ${params}; + const response = await openai.embeddings.create(params); + console.log(response.data[0].embedding); +} +main();`.trim(); + + return { + curlCode, + pythonCode, + nodeJsCode + }; +}; diff --git a/src/pages/playground/view-code/image.ts b/src/pages/playground/view-code/image.ts new file mode 100644 index 00000000..f1013b32 --- /dev/null +++ b/src/pages/playground/view-code/image.ts @@ -0,0 +1,96 @@ +import { fomatNodeJsParams, formatCurlArgs, formatPyParams } from './utils'; + +export const generateImageCode = ({ api, parameters }: Record) => { + const host = window.location.origin; + + // ========================= Curl ========================= + const curlCode = ` +curl ${host}${api} \\ +-H "Content-Type: application/json" \\ +-H "Authorization: Bearer $\{YOUR_GPUSTACK_API_KEY}" \\ +${formatCurlArgs(parameters, false)}`.trim(); + + // ========================= Python ========================= + const pythonCode = ` +import requests\n +url="${host}${api}" +headers = { + "Content-type": "application/json", + "Authorization": "Bearer $\{YOUR_GPUSTACK_API_KEY}" +} +data = ${JSON.stringify(parameters, null, 2).replace(/null/g, 'None')}\n +response = requests.post(url, headers=headers, json=data) +print(response.json()['data'][0]['b64_json'])`.trim(); + + // ========================= Node.js ========================= + const nodeJsCode = ` +const axios = require('axios'); + +const url = "http://localhost/v1-openai/images/generations"; +const headers = { + "Content-type": "application/json", + "Authorization": "Bearer $\{YOUR_GPUSTACK_API_KEY}" +}; +const data = ${fomatNodeJsParams(parameters)}; + +axios.post(url, data, { headers }).then((response) => { + console.log(response.data.data[0].b64_json); +});`.trim(); + + return { + curlCode, + pythonCode, + nodeJsCode + }; +}; + +export const generateOpenaiImageCode = ({ + api, + parameters +}: Record) => { + const host = window.location.origin; + + // ========================= Curl ========================= + const curlCode = ` +curl ${host}${api} \\ +-H "Content-Type: application/json" \\ +-H "Authorization: Bearer $\{YOUR_GPUSTACK_API_KEY}" \\ +${formatCurlArgs(parameters, false)}`.trim(); + + // ========================= Python ========================= + const pythonCode = ` +from openai import OpenAI\n +client = OpenAI( + base_url="${host}/v1-openai", + api_key="YOUR_GPUSTACK_API_KEY" +) + +response = client.images.generate(\n${formatPyParams({ ...parameters })})\n +print(response.data[0].b64_json)`.trim(); + + // ========================= Node.js ========================= + const params = fomatNodeJsParams({ + ...parameters + }); + + const nodeJsCode = ` +const OpenAI = require("openai"); + +const openai = new OpenAI({ + "apiKey": "YOUR_GPUSTACK_API_KEY", + "baseURL": "${host}/v1-openai" +}); + +async function main() { + const params = ${params}; + const response = await openai.images.generate(params); + console.log(response.data[0].b64_json); +} +main();`.trim(); + + return { + curlCode, + pythonCode, + nodeJsCode + }; +}; diff --git a/src/pages/playground/view-code/rerank.ts b/src/pages/playground/view-code/rerank.ts new file mode 100644 index 00000000..58bc602d --- /dev/null +++ b/src/pages/playground/view-code/rerank.ts @@ -0,0 +1,48 @@ +import { formatCurlArgs } from './utils'; + +export const generateRerankCode = ({ + api, + parameters +}: Record) => { + const host = window.location.origin; + + // ========================= Curl ========================= + const curlCode = ` +curl ${host}${api} \\ +-H "Content-Type: application/json" \\ +-H "Authorization: Bearer $\{YOUR_GPUSTACK_API_KEY}" \\ +${formatCurlArgs(parameters, false)}`.trim(); + + // ========================= Python ========================= + const pythonCode = ` +import requests\n +url="${host}${api}" +headers = { + "Content-type": "application/json", + "Authorization": "Bearer $\{YOUR_GPUSTACK_API_KEY}" +} +data = ${JSON.stringify(parameters, null, 2)}\n +response = requests.post(url, headers=headers, json=data) +print(response.json())`.trim(); + + // ========================= Node.js ========================= + const nodeJsCode = ` +const axios = require('axios'); + +const url = "${host}${api}"; +const headers = { + "Content-type": "application/json", + "Authorization": "Bearer $\{YOUR_GPUSTACK_API_KEY}" +}; +const data = ${JSON.stringify(parameters, null, 2)}; + +axios.post(url, data, { headers }).then((response) => { + console.log(response.data); +});`.trim(); + + return { + curlCode, + pythonCode, + nodeJsCode + }; +}; diff --git a/src/pages/playground/view-code/utils.ts b/src/pages/playground/view-code/utils.ts new file mode 100644 index 00000000..b990a7b1 --- /dev/null +++ b/src/pages/playground/view-code/utils.ts @@ -0,0 +1,42 @@ +import _ from 'lodash'; + +// curl format +export const formatCurlArgs = ( + parameters: Record, + isFormdata?: boolean +) => { + if (isFormdata) { + return _.keys(parameters).reduce((acc: string, key: string) => { + const val = parameters[key]; + const value = + typeof val === 'object' ? JSON.stringify(val, null, 2) : `${val}`; + return acc + `-F ${key}="${value}" \\\n`; + }, ''); + } + return `-d '${JSON.stringify(parameters, null, 2)}'`; +}; + +// python format +export const formatPyParams = (parameters: Record) => { + return _.keys(parameters).reduce((acc: string, key: string) => { + if (parameters[key] === null || parameters[key] === undefined) { + return acc; + } + const value = + typeof parameters[key] === 'object' + ? JSON.stringify(parameters[key], null, 2) + : `"${parameters[key]}"`; + return acc + ` ${key}=${value},\n`; + }, ''); +}; + +// node format +export const fomatNodeJsParams = (parameters: Record) => { + return JSON.stringify( + { + ...parameters + }, + null, + 4 + ); +};