diff --git a/.vscode/settings.json b/.vscode/settings.json index 8b1629be..7798ada6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,6 +4,7 @@ "Astley", "Astro", "Autoload", + "Bezier", "Birdnardo", "Chatbook", "Checkmark", diff --git a/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftClipboardIcon.wl b/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftClipboardIcon.wl new file mode 100644 index 00000000..a3181a7d --- /dev/null +++ b/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftClipboardIcon.wl @@ -0,0 +1,330 @@ +(* ::Package:: *) + +RawBoxes @ ToBoxes @ Mouseover[ + Framed[ + Graphics[ + { + Thickness[ 0.055556 ], + Style[ + { + FilledCurve[ + { + { { 1, 4, 3 }, { 0, 1, 0 }, { 0, 1, 0 }, { 1, 3, 3 }, { 1, 3, 3 }, { 0, 1, 0 }, { 1, 3, 3 }, { 1, 3, 3 }, { 0, 1, 0 }, { 1, 3, 3 } }, + { + { 0, 2, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 } + }, + { { 0, 2, 0 }, { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } }, + { + { 1, 4, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 } + } + }, + { + { + { 17.853, 7.8531 }, + { 17.658, 8.0481 }, + { 17.341, 8.0481 }, + { 17.146, 7.8531 }, + { 15.499, 6.2071 }, + { 13.853, 7.8531 }, + { 13.658, 8.0481 }, + { 13.341, 8.0481 }, + { 13.146, 7.8531 }, + { 12.951, 7.6581 }, + { 12.951, 7.3411 }, + { 13.146, 7.1461 }, + { 15.146, 5.1461 }, + { 15.244, 5.0481 }, + { 15.372, 4.9991 }, + { 15.499, 4.9991 }, + { 15.627, 4.9991 }, + { 15.755, 5.0481 }, + { 15.853, 5.1461 }, + { 17.853, 7.1461 }, + { 18.048, 7.3411 }, + { 18.048, 7.6581 }, + { 17.853, 7.8531 } + }, + { + { 9.9995, 12.999 }, + { 10.999, 12.999 }, + { 10.999, 0.9991 }, + { 0.9995, 0.9991 }, + { 0.9995, 12.999 }, + { 1.9995, 12.999 }, + { 1.9995, 13.999 }, + { -0.00049973, 13.999 }, + { -0.00049973, 0.00010014 }, + { 11.999, 0.00010014 }, + { 11.999, 13.999 }, + { 9.9995, 13.999 }, + { 9.9995, 12.999 } + }, + { { 4.0015, 12.999 }, { 7.9995, 12.999 }, { 7.4995, 13.999 }, { 4.5015, 13.999 }, { 4.0015, 12.999 } }, + { + { 3.1505, 12.475 }, + { 2.9675, 12.769 }, + { 2.9505, 13.137 }, + { 3.1065, 13.447 }, + { 3.6065, 14.447 }, + { 3.7755, 14.786 }, + { 4.1225, 15.001 }, + { 4.5015, 14.999 }, + { 5.0005, 14.999 }, + { 5.0005, 15.999 }, + { 7.0005, 15.999 }, + { 7.0005, 14.999 }, + { 7.4985, 14.999 }, + { 7.8775, 15.001 }, + { 8.2245, 14.786 }, + { 8.3925, 14.447 }, + { 8.8935, 13.447 }, + { 9.1405, 12.952 }, + { 8.9405, 12.351 }, + { 8.4455, 12.105 }, + { 8.3075, 12.035 }, + { 8.1545, 11.999 }, + { 7.9995, 11.999 }, + { 4.0015, 11.999 }, + { 3.6545, 11.999 }, + { 3.3325, 12.179 }, + { 3.1505, 12.475 } + } + } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ], + Style[ + { + FilledCurve[ + { { { 0, 2, 0 }, { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } } }, + { { { 10.0, 9.0 }, { 2.0, 9.0 }, { 2.0, 10.0 }, { 10.0, 10.0 }, { 10.0, 9.0 } } } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ], + Style[ + { + FilledCurve[ + { { { 0, 2, 0 }, { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } } }, + { { { 10.0, 7.0 }, { 2.0, 7.0 }, { 2.0, 8.0 }, { 10.0, 8.0 }, { 10.0, 7.0 } } } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ], + Style[ + { + FilledCurve[ + { { { 0, 2, 0 }, { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } } }, + { { { 10.0, 5.0 }, { 2.0, 5.0 }, { 2.0, 6.0 }, { 10.0, 6.0 }, { 10.0, 5.0 } } } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ], + Style[ + { + FilledCurve[ + { { { 0, 2, 0 }, { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } } }, + { { { 10.0, 3.0 }, { 2.0, 3.0 }, { 2.0, 4.0 }, { 10.0, 4.0 }, { 10.0, 3.0 } } } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ] + }, + ImageSize -> { 19.0, 17.0 }, + PlotRange -> { { -0.5, 18.5 }, { -0.5, 16.5 } }, + AspectRatio -> Automatic + ], + Background -> GrayLevel[ 1 ], + RoundingRadius -> 3, + FrameMargins -> 3, + FrameStyle -> GrayLevel[ 1 ] + ], + Framed[ + Graphics[ + { + Thickness[ 0.055556 ], + Style[ + { + FilledCurve[ + { + { { 1, 4, 3 }, { 0, 1, 0 }, { 0, 1, 0 }, { 1, 3, 3 }, { 1, 3, 3 }, { 0, 1, 0 }, { 1, 3, 3 }, { 1, 3, 3 }, { 0, 1, 0 }, { 1, 3, 3 } }, + { + { 0, 2, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 } + }, + { { 0, 2, 0 }, { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } }, + { + { 1, 4, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 } + } + }, + { + { + { 17.853, 7.8531 }, + { 17.658, 8.0481 }, + { 17.341, 8.0481 }, + { 17.146, 7.8531 }, + { 15.499, 6.2071 }, + { 13.853, 7.8531 }, + { 13.658, 8.0481 }, + { 13.341, 8.0481 }, + { 13.146, 7.8531 }, + { 12.951, 7.6581 }, + { 12.951, 7.3411 }, + { 13.146, 7.1461 }, + { 15.146, 5.1461 }, + { 15.244, 5.0481 }, + { 15.372, 4.9991 }, + { 15.499, 4.9991 }, + { 15.627, 4.9991 }, + { 15.755, 5.0481 }, + { 15.853, 5.1461 }, + { 17.853, 7.1461 }, + { 18.048, 7.3411 }, + { 18.048, 7.6581 }, + { 17.853, 7.8531 } + }, + { + { 9.9995, 12.999 }, + { 10.999, 12.999 }, + { 10.999, 0.9991 }, + { 0.9995, 0.9991 }, + { 0.9995, 12.999 }, + { 1.9995, 12.999 }, + { 1.9995, 13.999 }, + { -0.00049973, 13.999 }, + { -0.00049973, 0.00010014 }, + { 11.999, 0.00010014 }, + { 11.999, 13.999 }, + { 9.9995, 13.999 }, + { 9.9995, 12.999 } + }, + { { 4.0015, 12.999 }, { 7.9995, 12.999 }, { 7.4995, 13.999 }, { 4.5015, 13.999 }, { 4.0015, 12.999 } }, + { + { 3.1505, 12.475 }, + { 2.9675, 12.769 }, + { 2.9505, 13.137 }, + { 3.1065, 13.447 }, + { 3.6065, 14.447 }, + { 3.7755, 14.786 }, + { 4.1225, 15.001 }, + { 4.5015, 14.999 }, + { 5.0005, 14.999 }, + { 5.0005, 15.999 }, + { 7.0005, 15.999 }, + { 7.0005, 14.999 }, + { 7.4985, 14.999 }, + { 7.8775, 15.001 }, + { 8.2245, 14.786 }, + { 8.3925, 14.447 }, + { 8.8935, 13.447 }, + { 9.1405, 12.952 }, + { 8.9405, 12.351 }, + { 8.4455, 12.105 }, + { 8.3075, 12.035 }, + { 8.1545, 11.999 }, + { 7.9995, 11.999 }, + { 4.0015, 11.999 }, + { 3.6545, 11.999 }, + { 3.3325, 12.179 }, + { 3.1505, 12.475 } + } + } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ], + Style[ + { + FilledCurve[ + { { { 0, 2, 0 }, { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } } }, + { { { 10.0, 9.0 }, { 2.0, 9.0 }, { 2.0, 10.0 }, { 10.0, 10.0 }, { 10.0, 9.0 } } } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ], + Style[ + { + FilledCurve[ + { { { 0, 2, 0 }, { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } } }, + { { { 10.0, 7.0 }, { 2.0, 7.0 }, { 2.0, 8.0 }, { 10.0, 8.0 }, { 10.0, 7.0 } } } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ], + Style[ + { + FilledCurve[ + { { { 0, 2, 0 }, { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } } }, + { { { 10.0, 5.0 }, { 2.0, 5.0 }, { 2.0, 6.0 }, { 10.0, 6.0 }, { 10.0, 5.0 } } } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ], + Style[ + { + FilledCurve[ + { { { 0, 2, 0 }, { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } } }, + { { { 10.0, 3.0 }, { 2.0, 3.0 }, { 2.0, 4.0 }, { 10.0, 4.0 }, { 10.0, 3.0 } } } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ] + }, + ImageSize -> { 19.0, 17.0 }, + PlotRange -> { { -0.5, 18.5 }, { -0.5, 16.5 } }, + AspectRatio -> Automatic + ], + Background -> RGBColor[ 0.85882, 0.92941, 0.96863 ], + RoundingRadius -> 3, + FrameMargins -> 3, + FrameStyle -> RGBColor[ 0.85882, 0.92941, 0.96863 ] + ] +] \ No newline at end of file diff --git a/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftRegenerateIcon.wl b/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftRegenerateIcon.wl new file mode 100644 index 00000000..fc0320b5 --- /dev/null +++ b/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftRegenerateIcon.wl @@ -0,0 +1,194 @@ +(* ::Package:: *) + +RawBoxes @ ToBoxes @ Mouseover[ + Framed[ + Graphics[ + { + Thickness[ 0.071429 ], + Style[ + { + FilledCurve[ + { + { + { 1, 4, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 } + }, + { + { 0, 2, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 } + } + }, + { + { + { 13.0, 7.0 }, + { 13.0, 3.691 }, + { 10.309, 1.0 }, + { 7.0, 1.0 }, + { 5.272, 1.0 }, + { 3.668, 1.738 }, + { 2.539, 3.0 }, + { 5.0, 3.0 }, + { 5.0, 4.0 }, + { 1.0, 4.0 }, + { 1.0, 0.0 }, + { 2.0, 0.0 }, + { 2.0, 2.116 }, + { 3.303, 0.778 }, + { 5.085, 0.0 }, + { 7.0, 0.0 }, + { 10.86, 0.0 }, + { 14.0, 3.14 }, + { 14.0, 7.0 }, + { 13.0, 7.0 } + }, + { + { 1.0, 7.0 }, + { 0.0, 7.0 }, + { 0.0, 10.86 }, + { 3.14, 14.0 }, + { 7.0, 14.0 }, + { 8.915, 14.0 }, + { 10.697, 13.222 }, + { 12.0, 11.884 }, + { 12.0, 14.0 }, + { 13.0, 14.0 }, + { 13.0, 10.0 }, + { 9.0, 10.0 }, + { 9.0, 11.0 }, + { 11.461, 11.0 }, + { 10.332, 12.262 }, + { 8.728, 13.0 }, + { 7.0, 13.0 }, + { 3.691, 13.0 }, + { 1.0, 10.309 }, + { 1.0, 7.0 } + } + } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ] + }, + ImageSize -> { 15.0, 15.0 }, + PlotRange -> { { -0.5, 14.5 }, { -0.5, 14.5 } }, + AspectRatio -> Automatic + ], + Background -> GrayLevel[ 1 ], + RoundingRadius -> 3, + FrameMargins -> 3, + FrameStyle -> GrayLevel[ 1 ] + ], + Framed[ + Graphics[ + { + Thickness[ 0.071429 ], + Style[ + { + FilledCurve[ + { + { + { 1, 4, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 } + }, + { + { 0, 2, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 } + } + }, + { + { + { 13.0, 7.0 }, + { 13.0, 3.691 }, + { 10.309, 1.0 }, + { 7.0, 1.0 }, + { 5.272, 1.0 }, + { 3.668, 1.738 }, + { 2.539, 3.0 }, + { 5.0, 3.0 }, + { 5.0, 4.0 }, + { 1.0, 4.0 }, + { 1.0, 0.0 }, + { 2.0, 0.0 }, + { 2.0, 2.116 }, + { 3.303, 0.778 }, + { 5.085, 0.0 }, + { 7.0, 0.0 }, + { 10.86, 0.0 }, + { 14.0, 3.14 }, + { 14.0, 7.0 }, + { 13.0, 7.0 } + }, + { + { 1.0, 7.0 }, + { 0.0, 7.0 }, + { 0.0, 10.86 }, + { 3.14, 14.0 }, + { 7.0, 14.0 }, + { 8.915, 14.0 }, + { 10.697, 13.222 }, + { 12.0, 11.884 }, + { 12.0, 14.0 }, + { 13.0, 14.0 }, + { 13.0, 10.0 }, + { 9.0, 10.0 }, + { 9.0, 11.0 }, + { 11.461, 11.0 }, + { 10.332, 12.262 }, + { 8.728, 13.0 }, + { 7.0, 13.0 }, + { 3.691, 13.0 }, + { 1.0, 10.309 }, + { 1.0, 7.0 } + } + } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ] + }, + ImageSize -> { 15.0, 15.0 }, + PlotRange -> { { -0.5, 14.5 }, { -0.5, 14.5 } }, + AspectRatio -> Automatic + ], + Background -> RGBColor[ 0.85882, 0.92941, 0.96863 ], + RoundingRadius -> 3, + FrameMargins -> 3, + FrameStyle -> RGBColor[ 0.85882, 0.92941, 0.96863 ] + ] +] \ No newline at end of file diff --git a/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftThumbsDownIcon.wl b/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftThumbsDownIcon.wl new file mode 100644 index 00000000..7d0a5c04 --- /dev/null +++ b/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftThumbsDownIcon.wl @@ -0,0 +1,620 @@ +(* ::Package:: *) + +RawBoxes @ ToBoxes @ Mouseover[ + Framed[ + Graphics[ + { + Thickness[ 0.066667 ], + Style[ + { + FilledCurve[ + { + { + { 1, 4, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 } + }, + { + { 1, 4, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 } + }, + { + { 1, 4, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 } + } + }, + { + { + { 14.019, 6.3907 }, + { 14.019, 6.1717 }, + { 13.841, 5.9927 }, + { 13.623, 5.9917 }, + { 11.35, 5.9817 }, + { 11.245, 5.9817 }, + { 11.148, 6.0217 }, + { 11.074, 6.0947 }, + { 10.999, 6.1687 }, + { 10.983, 6.2677 }, + { 10.983, 6.3737 }, + { 10.983, 6.3747 }, + { 10.983, 6.4167 }, + { 10.983, 6.4547 }, + { 10.983, 6.4997 }, + { 10.983, 12.501 }, + { 10.983, 12.503 }, + { 10.983, 12.505 }, + { 10.983, 12.506 }, + { 10.983, 12.611 }, + { 10.983, 12.83 }, + { 11.136, 13.009 }, + { 11.354, 13.01 }, + { 13.628, 13.02 }, + { 13.732, 13.02 }, + { 13.83, 12.98 }, + { 13.904, 12.907 }, + { 13.978, 12.833 }, + { 14.019, 12.733 }, + { 14.019, 12.628 }, + { 14.019, 6.3907 } + }, + { + { 9.5535, 4.6627 }, + { 9.4225, 4.4827 }, + { 9.2305, 4.3267 }, + { 9.0935, 4.1747 }, + { 8.6645, 3.6967 }, + { 8.1785, 3.0707 }, + { 8.1825, 2.0917 }, + { 8.1855, 1.2777 }, + { 8.0365, 0.9807 }, + { 7.9355, 0.9807 }, + { 7.8275, 0.9797 }, + { 7.6845, 1.0577 }, + { 7.5545, 1.1877 }, + { 7.2055, 1.5357 }, + { 6.9965, 2.1427 }, + { 6.9965, 2.8107 }, + { 6.9975, 3.5407 }, + { 7.1675, 4.3107 }, + { 7.3105, 4.7557 }, + { 7.4015, 5.0377 }, + { 7.3525, 5.3377 }, + { 7.1765, 5.5777 }, + { 6.9995, 5.8187 }, + { 6.7135, 5.9617 }, + { 6.4125, 5.9607 }, + { 1.4985, 5.9607 }, + { 1.3605, 5.9597 }, + { 1.2305, 5.9457 }, + { 1.1335, 6.0427 }, + { 1.0355, 6.1397 }, + { 0.9815, 6.2707 }, + { 0.9805, 6.4097 }, + { 0.9815, 6.6797 }, + { 1.2725, 7.0267 }, + { 1.5795, 7.0287 }, + { 1.6905, 7.0207 }, + { 3.7105, 7.0207 }, + { 3.7065, 8.0157 }, + { 1.6855, 8.0157 }, + { 1.5475, 8.0157 }, + { 1.4185, 7.9717 }, + { 1.3195, 8.0687 }, + { 1.2225, 8.1667 }, + { 1.1685, 8.2967 }, + { 1.1675, 8.4367 }, + { 1.1675, 8.7257 }, + { 1.4025, 8.9607 }, + { 1.6895, 8.9617 }, + { 2.2365, 8.9577 }, + { 2.2375, 8.9577 }, + { 4.0475, 8.9577 }, + { 4.0435, 9.9527 }, + { 2.3225, 9.9527 }, + { 2.1985, 9.9607 }, + { 2.0815, 10.007 }, + { 1.9915, 10.096 }, + { 1.8935, 10.194 }, + { 1.8395, 10.324 }, + { 1.8385, 10.463 }, + { 1.8395, 10.753 }, + { 2.0735, 10.99 }, + { 2.3625, 10.991 }, + { 2.5955, 10.985 }, + { 4.4055, 10.985 }, + { 4.4015, 11.98 }, + { 2.8215, 11.98 }, + { 2.7465, 11.989 }, + { 2.7075, 12.012 }, + { 2.6965, 12.023 }, + { 2.6395, 12.08 }, + { 2.5785, 12.233 }, + { 2.5785, 12.491 }, + { 2.5785, 12.781 }, + { 2.8135, 13.017 }, + { 3.1005, 13.018 }, + { 9.4605, 13.002 }, + { 9.6015, 13.002 }, + { 9.7335, 12.948 }, + { 9.8315, 12.85 }, + { 9.9255, 12.757 }, + { 10.001, 12.634 }, + { 10.002, 12.503 }, + { 10.002, 8.2987 }, + { 10.002, 6.4207 }, + { 10.002, 5.4967 }, + { 9.9785, 5.2477 }, + { 9.5535, 4.6627 } + }, + { + { 14.595, 13.602 }, + { 14.335, 13.861 }, + { 13.991, 14.002 }, + { 13.623, 14.0 }, + { 11.35, 14.0 }, + { 10.994, 13.999 }, + { 10.672, 13.848 }, + { 10.428, 13.624 }, + { 10.156, 13.854 }, + { 9.8185, 14.002 }, + { 9.4555, 14.0 }, + { 3.0965, 13.999 }, + { 2.2705, 13.995 }, + { 1.5985, 13.32 }, + { 1.5975, 12.492 }, + { 1.5965, 12.241 }, + { 1.6325, 12.015 }, + { 1.7035, 11.818 }, + { 1.2035, 11.572 }, + { 0.8585, 11.057 }, + { 0.8585, 10.464 }, + { 0.8585, 10.224 }, + { 0.9145, 9.9917 }, + { 1.0195, 9.7847 }, + { 0.5265, 9.5367 }, + { 0.1865, 9.0237 }, + { 0.1875, 8.4357 }, + { 0.1885, 8.0937 }, + { 0.3005, 7.7697 }, + { 0.5085, 7.5067 }, + { 0.1985, 7.2287 }, + { 0.00049973, 6.8367 }, + { -0.00050068, 6.4097 }, + { -0.00050068, 6.0077 }, + { 0.1565, 5.7207 }, + { 0.4415, 5.4377 }, + { 0.7245, 5.1557 }, + { 1.1025, 5.0007 }, + { 1.5025, 5.0027 }, + { 6.3485, 5.0027 }, + { 6.1845, 4.4917 }, + { 6.0165, 3.6687 }, + { 6.0165, 2.8097 }, + { 6.0165, 1.8867 }, + { 6.3325, 1.0207 }, + { 6.8625, 0.4927 }, + { 7.1825, 0.1737 }, + { 7.5655, -0.0012999 }, + { 7.9395, -0.00029993 }, + { 8.7575, 0.0037003 }, + { 9.1685, 0.7087 }, + { 9.1625, 2.0957 }, + { 9.1605, 2.6967 }, + { 9.4875, 3.0057 }, + { 9.8725, 3.4327 }, + { 10.031, 3.6097 }, + { 10.194, 3.7917 }, + { 10.345, 3.9997 }, + { 10.622, 4.3787 }, + { 10.769, 4.7747 }, + { 10.853, 5.0977 }, + { 11.011, 5.0367 }, + { 11.179, 5.0007 }, + { 11.354, 5.0017 }, + { 13.627, 5.0107 }, + { 14.384, 5.0147 }, + { 15.0, 5.6337 }, + { 14.999, 6.3907 }, + { 14.999, 12.628 }, + { 15.0, 12.996 }, + { 14.856, 13.343 }, + { 14.595, 13.602 } + } + } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ] + }, + ImageSize -> { 16.0, 15.0 }, + PlotRange -> { { -0.5, 15.5 }, { -0.5, 14.5 } }, + AspectRatio -> Automatic + ], + Background -> GrayLevel[ 1 ], + RoundingRadius -> 3, + FrameMargins -> 3, + FrameStyle -> GrayLevel[ 1 ] + ], + Framed[ + Graphics[ + { + Thickness[ 0.066667 ], + Style[ + { + FilledCurve[ + { + { + { 1, 4, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 } + }, + { + { 1, 4, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 } + }, + { + { 1, 4, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 } + } + }, + { + { + { 14.019, 6.3907 }, + { 14.019, 6.1717 }, + { 13.841, 5.9927 }, + { 13.623, 5.9917 }, + { 11.35, 5.9817 }, + { 11.245, 5.9817 }, + { 11.148, 6.0217 }, + { 11.074, 6.0947 }, + { 10.999, 6.1687 }, + { 10.983, 6.2677 }, + { 10.983, 6.3737 }, + { 10.983, 6.3747 }, + { 10.983, 6.4167 }, + { 10.983, 6.4547 }, + { 10.983, 6.4997 }, + { 10.983, 12.501 }, + { 10.983, 12.503 }, + { 10.983, 12.505 }, + { 10.983, 12.506 }, + { 10.983, 12.611 }, + { 10.983, 12.83 }, + { 11.136, 13.009 }, + { 11.354, 13.01 }, + { 13.628, 13.02 }, + { 13.732, 13.02 }, + { 13.83, 12.98 }, + { 13.904, 12.907 }, + { 13.978, 12.833 }, + { 14.019, 12.733 }, + { 14.019, 12.628 }, + { 14.019, 6.3907 } + }, + { + { 9.5535, 4.6627 }, + { 9.4225, 4.4827 }, + { 9.2305, 4.3267 }, + { 9.0935, 4.1747 }, + { 8.6645, 3.6967 }, + { 8.1785, 3.0707 }, + { 8.1825, 2.0917 }, + { 8.1855, 1.2777 }, + { 8.0365, 0.9807 }, + { 7.9355, 0.9807 }, + { 7.8275, 0.9797 }, + { 7.6845, 1.0577 }, + { 7.5545, 1.1877 }, + { 7.2055, 1.5357 }, + { 6.9965, 2.1427 }, + { 6.9965, 2.8107 }, + { 6.9975, 3.5407 }, + { 7.1675, 4.3107 }, + { 7.3105, 4.7557 }, + { 7.4015, 5.0377 }, + { 7.3525, 5.3377 }, + { 7.1765, 5.5777 }, + { 6.9995, 5.8187 }, + { 6.7135, 5.9617 }, + { 6.4125, 5.9607 }, + { 1.4985, 5.9607 }, + { 1.3605, 5.9597 }, + { 1.2305, 5.9457 }, + { 1.1335, 6.0427 }, + { 1.0355, 6.1397 }, + { 0.9815, 6.2707 }, + { 0.9805, 6.4097 }, + { 0.9815, 6.6797 }, + { 1.2725, 7.0267 }, + { 1.5795, 7.0287 }, + { 1.6905, 7.0207 }, + { 3.7105, 7.0207 }, + { 3.7065, 8.0157 }, + { 1.6855, 8.0157 }, + { 1.5475, 8.0157 }, + { 1.4185, 7.9717 }, + { 1.3195, 8.0687 }, + { 1.2225, 8.1667 }, + { 1.1685, 8.2967 }, + { 1.1675, 8.4367 }, + { 1.1675, 8.7257 }, + { 1.4025, 8.9607 }, + { 1.6895, 8.9617 }, + { 2.2365, 8.9577 }, + { 2.2375, 8.9577 }, + { 4.0475, 8.9577 }, + { 4.0435, 9.9527 }, + { 2.3225, 9.9527 }, + { 2.1985, 9.9607 }, + { 2.0815, 10.007 }, + { 1.9915, 10.096 }, + { 1.8935, 10.194 }, + { 1.8395, 10.324 }, + { 1.8385, 10.463 }, + { 1.8395, 10.753 }, + { 2.0735, 10.99 }, + { 2.3625, 10.991 }, + { 2.5955, 10.985 }, + { 4.4055, 10.985 }, + { 4.4015, 11.98 }, + { 2.8215, 11.98 }, + { 2.7465, 11.989 }, + { 2.7075, 12.012 }, + { 2.6965, 12.023 }, + { 2.6395, 12.08 }, + { 2.5785, 12.233 }, + { 2.5785, 12.491 }, + { 2.5785, 12.781 }, + { 2.8135, 13.017 }, + { 3.1005, 13.018 }, + { 9.4605, 13.002 }, + { 9.6015, 13.002 }, + { 9.7335, 12.948 }, + { 9.8315, 12.85 }, + { 9.9255, 12.757 }, + { 10.001, 12.634 }, + { 10.002, 12.503 }, + { 10.002, 8.2987 }, + { 10.002, 6.4207 }, + { 10.002, 5.4967 }, + { 9.9785, 5.2477 }, + { 9.5535, 4.6627 } + }, + { + { 14.595, 13.602 }, + { 14.335, 13.861 }, + { 13.991, 14.002 }, + { 13.623, 14.0 }, + { 11.35, 14.0 }, + { 10.994, 13.999 }, + { 10.672, 13.848 }, + { 10.428, 13.624 }, + { 10.156, 13.854 }, + { 9.8185, 14.002 }, + { 9.4555, 14.0 }, + { 3.0965, 13.999 }, + { 2.2705, 13.995 }, + { 1.5985, 13.32 }, + { 1.5975, 12.492 }, + { 1.5965, 12.241 }, + { 1.6325, 12.015 }, + { 1.7035, 11.818 }, + { 1.2035, 11.572 }, + { 0.8585, 11.057 }, + { 0.8585, 10.464 }, + { 0.8585, 10.224 }, + { 0.9145, 9.9917 }, + { 1.0195, 9.7847 }, + { 0.5265, 9.5367 }, + { 0.1865, 9.0237 }, + { 0.1875, 8.4357 }, + { 0.1885, 8.0937 }, + { 0.3005, 7.7697 }, + { 0.5085, 7.5067 }, + { 0.1985, 7.2287 }, + { 0.00049973, 6.8367 }, + { -0.00050068, 6.4097 }, + { -0.00050068, 6.0077 }, + { 0.1565, 5.7207 }, + { 0.4415, 5.4377 }, + { 0.7245, 5.1557 }, + { 1.1025, 5.0007 }, + { 1.5025, 5.0027 }, + { 6.3485, 5.0027 }, + { 6.1845, 4.4917 }, + { 6.0165, 3.6687 }, + { 6.0165, 2.8097 }, + { 6.0165, 1.8867 }, + { 6.3325, 1.0207 }, + { 6.8625, 0.4927 }, + { 7.1825, 0.1737 }, + { 7.5655, -0.0012999 }, + { 7.9395, -0.00029993 }, + { 8.7575, 0.0037003 }, + { 9.1685, 0.7087 }, + { 9.1625, 2.0957 }, + { 9.1605, 2.6967 }, + { 9.4875, 3.0057 }, + { 9.8725, 3.4327 }, + { 10.031, 3.6097 }, + { 10.194, 3.7917 }, + { 10.345, 3.9997 }, + { 10.622, 4.3787 }, + { 10.769, 4.7747 }, + { 10.853, 5.0977 }, + { 11.011, 5.0367 }, + { 11.179, 5.0007 }, + { 11.354, 5.0017 }, + { 13.627, 5.0107 }, + { 14.384, 5.0147 }, + { 15.0, 5.6337 }, + { 14.999, 6.3907 }, + { 14.999, 12.628 }, + { 15.0, 12.996 }, + { 14.856, 13.343 }, + { 14.595, 13.602 } + } + } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ] + }, + ImageSize -> { 16.0, 15.0 }, + PlotRange -> { { -0.5, 15.5 }, { -0.5, 14.5 } }, + AspectRatio -> Automatic + ], + Background -> RGBColor[ 0.85882, 0.92941, 0.96863 ], + RoundingRadius -> 3, + FrameMargins -> 3, + FrameStyle -> RGBColor[ 0.85882, 0.92941, 0.96863 ] + ] +] \ No newline at end of file diff --git a/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftThumbsUpIcon.wl b/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftThumbsUpIcon.wl new file mode 100644 index 00000000..bcd21757 --- /dev/null +++ b/Developer/Resources/FrontEndResources/WorkspaceChat/OutputRaft/WorkspaceOutputRaftThumbsUpIcon.wl @@ -0,0 +1,620 @@ +(* ::Package:: *) + +RawBoxes @ ToBoxes @ Mouseover[ + Framed[ + Graphics[ + { + Thickness[ 0.066667 ], + Style[ + { + FilledCurve[ + { + { + { 1, 4, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 } + }, + { + { 1, 4, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 } + }, + { + { 1, 4, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 } + } + }, + { + { + { 0.9805, 7.6093 }, + { 0.9805, 7.8283 }, + { 1.1585, 8.0073 }, + { 1.3765, 8.0083 }, + { 3.6495, 8.0183 }, + { 3.7545, 8.0183 }, + { 3.8515, 7.9783 }, + { 3.9255, 7.9053 }, + { 4.0005, 7.8313 }, + { 4.0165, 7.7323 }, + { 4.0165, 7.6263 }, + { 4.0165, 7.6253 }, + { 4.0165, 7.5833 }, + { 4.0165, 7.5453 }, + { 4.0165, 7.5003 }, + { 4.0165, 1.4993 }, + { 4.0165, 1.4973 }, + { 4.0165, 1.4953 }, + { 4.0165, 1.4943 }, + { 4.0165, 1.3893 }, + { 4.0165, 1.1703 }, + { 3.8635, 0.9913 }, + { 3.6455, 0.9903 }, + { 1.3715, 0.9803 }, + { 1.2675, 0.9803 }, + { 1.1695, 1.0203 }, + { 1.0955, 1.0933 }, + { 1.0215, 1.1673 }, + { 0.9805, 1.2673 }, + { 0.9805, 1.3723 }, + { 0.9805, 7.6093 } + }, + { + { 5.4465, 9.3373 }, + { 5.5775, 9.5173 }, + { 5.7695, 9.6733 }, + { 5.9065, 9.8253 }, + { 6.3355, 10.303 }, + { 6.8215, 10.929 }, + { 6.8175, 11.908 }, + { 6.8145, 12.722 }, + { 6.9635, 13.019 }, + { 7.0645, 13.019 }, + { 7.1725, 13.02 }, + { 7.3155, 12.942 }, + { 7.4455, 12.812 }, + { 7.7945, 12.464 }, + { 8.0035, 11.857 }, + { 8.0035, 11.189 }, + { 8.0025, 10.459 }, + { 7.8325, 9.6893 }, + { 7.6895, 9.2443 }, + { 7.5985, 8.9623 }, + { 7.6475, 8.6623 }, + { 7.8235, 8.4223 }, + { 8.0005, 8.1813 }, + { 8.2865, 8.0383 }, + { 8.5875, 8.0393 }, + { 13.502, 8.0393 }, + { 13.64, 8.0403 }, + { 13.769, 8.0543 }, + { 13.866, 7.9573 }, + { 13.964, 7.8603 }, + { 14.019, 7.7293 }, + { 14.019, 7.5903 }, + { 14.019, 7.3203 }, + { 13.727, 6.9733 }, + { 13.42, 6.9713 }, + { 13.31, 6.9793 }, + { 11.29, 6.9793 }, + { 11.294, 5.9843 }, + { 13.314, 5.9843 }, + { 13.452, 5.9843 }, + { 13.582, 6.0283 }, + { 13.68, 5.9313 }, + { 13.777, 5.8333 }, + { 13.832, 5.7033 }, + { 13.833, 5.5633 }, + { 13.833, 5.2743 }, + { 13.598, 5.0393 }, + { 13.31, 5.0383 }, + { 12.764, 5.0423 }, + { 12.762, 5.0423 }, + { 10.952, 5.0423 }, + { 10.956, 4.0473 }, + { 12.678, 4.0473 }, + { 12.802, 4.0393 }, + { 12.918, 3.9933 }, + { 13.009, 3.9043 }, + { 13.107, 3.8063 }, + { 13.161, 3.6763 }, + { 13.162, 3.5373 }, + { 13.161, 3.2473 }, + { 12.926, 3.0103 }, + { 12.638, 3.0093 }, + { 12.404, 3.0153 }, + { 10.595, 3.0153 }, + { 10.599, 2.0203 }, + { 12.179, 2.0203 }, + { 12.253, 2.0113 }, + { 12.293, 1.9883 }, + { 12.304, 1.9773 }, + { 12.361, 1.9203 }, + { 12.422, 1.7673 }, + { 12.422, 1.5093 }, + { 12.422, 1.2193 }, + { 12.186, 0.9833 }, + { 11.899, 0.9823 }, + { 5.5395, 0.9983 }, + { 5.3985, 0.9983 }, + { 5.2665, 1.0523 }, + { 5.1685, 1.1503 }, + { 5.0745, 1.2433 }, + { 4.9985, 1.3663 }, + { 4.9975, 1.4973 }, + { 4.9975, 5.7013 }, + { 4.9975, 7.5793 }, + { 4.9975, 8.5033 }, + { 5.0215, 8.7523 }, + { 5.4465, 9.3373 } + }, + { + { 0.4045, 0.3983 }, + { 0.6645, 0.1393 }, + { 1.0085, -0.0017004 }, + { 1.3765, 0.00029993 }, + { 3.6495, 0.00029993 }, + { 4.0055, 0.0012999 }, + { 4.3275, 0.1523 }, + { 4.5715, 0.3763 }, + { 4.8435, 0.1463 }, + { 5.1815, -0.0017004 }, + { 5.5445, 0.00029993 }, + { 11.904, 0.0012999 }, + { 12.729, 0.0052996 }, + { 13.402, 0.6803 }, + { 13.402, 1.5083 }, + { 13.404, 1.7593 }, + { 13.368, 1.9853 }, + { 13.297, 2.1823 }, + { 13.797, 2.4283 }, + { 14.142, 2.9433 }, + { 14.142, 3.5363 }, + { 14.142, 3.7763 }, + { 14.086, 4.0083 }, + { 13.981, 4.2153 }, + { 14.474, 4.4633 }, + { 14.814, 4.9763 }, + { 14.812, 5.5643 }, + { 14.812, 5.9063 }, + { 14.699, 6.2303 }, + { 14.492, 6.4933 }, + { 14.802, 6.7713 }, + { 15.0, 7.1633 }, + { 15.001, 7.5903 }, + { 15.001, 7.9923 }, + { 14.844, 8.2793 }, + { 14.559, 8.5623 }, + { 14.276, 8.8443 }, + { 13.897, 8.9993 }, + { 13.498, 8.9973 }, + { 8.6515, 8.9973 }, + { 8.8145, 9.5083 }, + { 8.9835, 10.331 }, + { 8.9835, 11.19 }, + { 8.9835, 12.113 }, + { 8.6675, 12.979 }, + { 8.1375, 13.507 }, + { 7.8175, 13.826 }, + { 7.4345, 14.001 }, + { 7.0605, 14.0 }, + { 6.2425, 13.996 }, + { 5.8315, 13.291 }, + { 5.8375, 11.904 }, + { 5.8395, 11.303 }, + { 5.5125, 10.994 }, + { 5.1275, 10.567 }, + { 4.9685, 10.39 }, + { 4.8055, 10.208 }, + { 4.6545, 10.0 }, + { 4.3785, 9.6213 }, + { 4.2305, 9.2253 }, + { 4.1465, 8.9023 }, + { 3.9885, 8.9633 }, + { 3.8205, 8.9993 }, + { 3.6455, 8.9983 }, + { 1.3725, 8.9893 }, + { 0.6155, 8.9853 }, + { -0.00049996, 8.3663 }, + { 0.00050002, 7.6093 }, + { 0.00050002, 1.3723 }, + { -0.00049996, 1.0043 }, + { 0.1435, 0.6573 }, + { 0.4045, 0.3983 } + } + } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ] + }, + ImageSize -> { 16.0, 15.0 }, + PlotRange -> { { -0.5, 15.5 }, { -0.5, 14.5 } }, + AspectRatio -> Automatic + ], + Background -> GrayLevel[ 1 ], + RoundingRadius -> 3, + FrameMargins -> 3, + FrameStyle -> GrayLevel[ 1 ] + ], + Framed[ + Graphics[ + { + Thickness[ 0.066667 ], + Style[ + { + FilledCurve[ + { + { + { 1, 4, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 } + }, + { + { 1, 4, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 0, 1, 0 }, + { 1, 3, 3 } + }, + { + { 1, 4, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 }, + { 0, 1, 0 }, + { 1, 3, 3 } + } + }, + { + { + { 0.9805, 7.6093 }, + { 0.9805, 7.8283 }, + { 1.1585, 8.0073 }, + { 1.3765, 8.0083 }, + { 3.6495, 8.0183 }, + { 3.7545, 8.0183 }, + { 3.8515, 7.9783 }, + { 3.9255, 7.9053 }, + { 4.0005, 7.8313 }, + { 4.0165, 7.7323 }, + { 4.0165, 7.6263 }, + { 4.0165, 7.6253 }, + { 4.0165, 7.5833 }, + { 4.0165, 7.5453 }, + { 4.0165, 7.5003 }, + { 4.0165, 1.4993 }, + { 4.0165, 1.4973 }, + { 4.0165, 1.4953 }, + { 4.0165, 1.4943 }, + { 4.0165, 1.3893 }, + { 4.0165, 1.1703 }, + { 3.8635, 0.9913 }, + { 3.6455, 0.9903 }, + { 1.3715, 0.9803 }, + { 1.2675, 0.9803 }, + { 1.1695, 1.0203 }, + { 1.0955, 1.0933 }, + { 1.0215, 1.1673 }, + { 0.9805, 1.2673 }, + { 0.9805, 1.3723 }, + { 0.9805, 7.6093 } + }, + { + { 5.4465, 9.3373 }, + { 5.5775, 9.5173 }, + { 5.7695, 9.6733 }, + { 5.9065, 9.8253 }, + { 6.3355, 10.303 }, + { 6.8215, 10.929 }, + { 6.8175, 11.908 }, + { 6.8145, 12.722 }, + { 6.9635, 13.019 }, + { 7.0645, 13.019 }, + { 7.1725, 13.02 }, + { 7.3155, 12.942 }, + { 7.4455, 12.812 }, + { 7.7945, 12.464 }, + { 8.0035, 11.857 }, + { 8.0035, 11.189 }, + { 8.0025, 10.459 }, + { 7.8325, 9.6893 }, + { 7.6895, 9.2443 }, + { 7.5985, 8.9623 }, + { 7.6475, 8.6623 }, + { 7.8235, 8.4223 }, + { 8.0005, 8.1813 }, + { 8.2865, 8.0383 }, + { 8.5875, 8.0393 }, + { 13.502, 8.0393 }, + { 13.64, 8.0403 }, + { 13.769, 8.0543 }, + { 13.866, 7.9573 }, + { 13.964, 7.8603 }, + { 14.019, 7.7293 }, + { 14.019, 7.5903 }, + { 14.019, 7.3203 }, + { 13.727, 6.9733 }, + { 13.42, 6.9713 }, + { 13.31, 6.9793 }, + { 11.29, 6.9793 }, + { 11.294, 5.9843 }, + { 13.314, 5.9843 }, + { 13.452, 5.9843 }, + { 13.582, 6.0283 }, + { 13.68, 5.9313 }, + { 13.777, 5.8333 }, + { 13.832, 5.7033 }, + { 13.833, 5.5633 }, + { 13.833, 5.2743 }, + { 13.598, 5.0393 }, + { 13.31, 5.0383 }, + { 12.764, 5.0423 }, + { 12.762, 5.0423 }, + { 10.952, 5.0423 }, + { 10.956, 4.0473 }, + { 12.678, 4.0473 }, + { 12.802, 4.0393 }, + { 12.918, 3.9933 }, + { 13.009, 3.9043 }, + { 13.107, 3.8063 }, + { 13.161, 3.6763 }, + { 13.162, 3.5373 }, + { 13.161, 3.2473 }, + { 12.926, 3.0103 }, + { 12.638, 3.0093 }, + { 12.404, 3.0153 }, + { 10.595, 3.0153 }, + { 10.599, 2.0203 }, + { 12.179, 2.0203 }, + { 12.253, 2.0113 }, + { 12.293, 1.9883 }, + { 12.304, 1.9773 }, + { 12.361, 1.9203 }, + { 12.422, 1.7673 }, + { 12.422, 1.5093 }, + { 12.422, 1.2193 }, + { 12.186, 0.9833 }, + { 11.899, 0.9823 }, + { 5.5395, 0.9983 }, + { 5.3985, 0.9983 }, + { 5.2665, 1.0523 }, + { 5.1685, 1.1503 }, + { 5.0745, 1.2433 }, + { 4.9985, 1.3663 }, + { 4.9975, 1.4973 }, + { 4.9975, 5.7013 }, + { 4.9975, 7.5793 }, + { 4.9975, 8.5033 }, + { 5.0215, 8.7523 }, + { 5.4465, 9.3373 } + }, + { + { 0.4045, 0.3983 }, + { 0.6645, 0.1393 }, + { 1.0085, -0.0017004 }, + { 1.3765, 0.00029993 }, + { 3.6495, 0.00029993 }, + { 4.0055, 0.0012999 }, + { 4.3275, 0.1523 }, + { 4.5715, 0.3763 }, + { 4.8435, 0.1463 }, + { 5.1815, -0.0017004 }, + { 5.5445, 0.00029993 }, + { 11.904, 0.0012999 }, + { 12.729, 0.0052996 }, + { 13.402, 0.6803 }, + { 13.402, 1.5083 }, + { 13.404, 1.7593 }, + { 13.368, 1.9853 }, + { 13.297, 2.1823 }, + { 13.797, 2.4283 }, + { 14.142, 2.9433 }, + { 14.142, 3.5363 }, + { 14.142, 3.7763 }, + { 14.086, 4.0083 }, + { 13.981, 4.2153 }, + { 14.474, 4.4633 }, + { 14.814, 4.9763 }, + { 14.812, 5.5643 }, + { 14.812, 5.9063 }, + { 14.699, 6.2303 }, + { 14.492, 6.4933 }, + { 14.802, 6.7713 }, + { 15.0, 7.1633 }, + { 15.001, 7.5903 }, + { 15.001, 7.9923 }, + { 14.844, 8.2793 }, + { 14.559, 8.5623 }, + { 14.276, 8.8443 }, + { 13.897, 8.9993 }, + { 13.498, 8.9973 }, + { 8.6515, 8.9973 }, + { 8.8145, 9.5083 }, + { 8.9835, 10.331 }, + { 8.9835, 11.19 }, + { 8.9835, 12.113 }, + { 8.6675, 12.979 }, + { 8.1375, 13.507 }, + { 7.8175, 13.826 }, + { 7.4345, 14.001 }, + { 7.0605, 14.0 }, + { 6.2425, 13.996 }, + { 5.8315, 13.291 }, + { 5.8375, 11.904 }, + { 5.8395, 11.303 }, + { 5.5125, 10.994 }, + { 5.1275, 10.567 }, + { 4.9685, 10.39 }, + { 4.8055, 10.208 }, + { 4.6545, 10.0 }, + { 4.3785, 9.6213 }, + { 4.2305, 9.2253 }, + { 4.1465, 8.9023 }, + { 3.9885, 8.9633 }, + { 3.8205, 8.9993 }, + { 3.6455, 8.9983 }, + { 1.3725, 8.9893 }, + { 0.6155, 8.9853 }, + { -0.00049996, 8.3663 }, + { 0.00050002, 7.6093 }, + { 0.00050002, 1.3723 }, + { -0.00049996, 1.0043 }, + { 0.1435, 0.6573 }, + { 0.4045, 0.3983 } + } + } + ] + }, + FaceForm @ RGBColor[ 0.2, 0.51373, 0.67451, 1.0 ] + ] + }, + ImageSize -> { 16.0, 15.0 }, + PlotRange -> { { -0.5, 15.5 }, { -0.5, 14.5 } }, + AspectRatio -> Automatic + ], + Background -> RGBColor[ 0.85882, 0.92941, 0.96863 ], + RoundingRadius -> 3, + FrameMargins -> 3, + FrameStyle -> RGBColor[ 0.85882, 0.92941, 0.96863 ] + ] +] \ No newline at end of file diff --git a/Developer/Resources/WorkspaceStyles.wl b/Developer/Resources/WorkspaceStyles.wl index 39cda21c..76ee0860 100644 --- a/Developer/Resources/WorkspaceStyles.wl +++ b/Developer/Resources/WorkspaceStyles.wl @@ -105,7 +105,7 @@ Cell[ CellDingbat -> None, CellFrame -> 0, CellFrameLabelMargins -> -5, - CellMargins -> { { 10, 15 }, { 25, 12 } }, + CellMargins -> { { 10, 15 }, { 30, 12 } }, FrameBoxOptions -> { BaselinePosition -> Baseline }, Initialization -> None, PaneBoxOptions -> { BaselinePosition -> Baseline }, diff --git a/Developer/VectorDatabases/VectorDatabaseBuilder.wl b/Developer/VectorDatabases/VectorDatabaseBuilder.wl index 8a134b83..f4ff6f90 100644 --- a/Developer/VectorDatabases/VectorDatabaseBuilder.wl +++ b/Developer/VectorDatabases/VectorDatabaseBuilder.wl @@ -536,36 +536,14 @@ createEmbeddings[ string_String ] := (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*sentenceBERTEmbedding*) -sentenceBERTEmbedding := getSentenceBERTEmbeddingFunction[ ]; +sentenceBERTEmbedding // beginDefinition; -(* ::**************************************************************************************************************:: *) -(* ::Subsubsubsection::Closed:: *) -(*getSentenceBERTEmbeddingFunction*) -getSentenceBERTEmbeddingFunction // beginDefinition; - -getSentenceBERTEmbeddingFunction[ ] := Enclose[ - Module[ { name }, - - Needs[ "SemanticSearch`" -> None ]; - - name = ConfirmBy[ - SelectFirst[ - { - "SemanticSearch`SentenceBERTEmbedding", - "SemanticSearch`SemanticSearch`Private`SentenceBERTEmbedding" - }, - NameQ @ # && ToExpression[ #, InputForm, System`Private`HasAnyEvaluationsQ ] & - ], - StringQ, - "SymbolName" - ]; - - getSentenceBERTEmbeddingFunction[ ] = Symbol @ name - ], - throwInternalFailure -]; +sentenceBERTEmbedding[ args___ ] := ( + Needs[ "SemanticSearch`" -> None ]; + SemanticSearch`SemanticSearch`Private`SentenceBERTEmbedding @ args +); -getSentenceBERTEmbeddingFunction // endDefinition; +sentenceBERTEmbedding // endDefinition; (* ::**************************************************************************************************************:: *) (* ::Subsection::Closed:: *) diff --git a/FrontEnd/Assets/Extensions/CoreExtensions.nb b/FrontEnd/Assets/Extensions/CoreExtensions.nb index 03865167..0509fd45 100644 --- a/FrontEnd/Assets/Extensions/CoreExtensions.nb +++ b/FrontEnd/Assets/Extensions/CoreExtensions.nb @@ -11,7 +11,7 @@ Notebook[ Cell["Chatbook Core.nb Extensions", "Title"], Cell[ StyleData["ChatStyleSheetInformation"], - TaggingRules -> <|"StyleSheetVersion" -> "1.5.2.3940579478"|> + TaggingRules -> <|"StyleSheetVersion" -> "1.5.2.3940599860"|> ], Cell[ StyleData["NotebookAssistant`Text"], diff --git a/FrontEnd/StyleSheets/Chatbook.nb b/FrontEnd/StyleSheets/Chatbook.nb index eed193bc..81f62d6f 100644 --- a/FrontEnd/StyleSheets/Chatbook.nb +++ b/FrontEnd/StyleSheets/Chatbook.nb @@ -824,7 +824,7 @@ Notebook[ ], Cell[ StyleData["ChatStyleSheetInformation"], - TaggingRules -> <|"StyleSheetVersion" -> "1.5.2.3940579478"|> + TaggingRules -> <|"StyleSheetVersion" -> "1.5.2.3940599860"|> ], Cell[ StyleData["NotebookAssistant`Text"], diff --git a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb index 0d435ec1..e1aa6083 100644 --- a/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb +++ b/FrontEnd/StyleSheets/Wolfram/WorkspaceChat.nb @@ -75,7 +75,7 @@ Notebook[ Cell[StyleData["CellExpression"], Selectable -> True], Cell[ StyleData["WorkspaceChatStyleSheetInformation"], - TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.2.3940579478"|> + TaggingRules -> <|"WorkspaceChatStyleSheetVersion" -> "1.5.2.3940599860"|> ], Cell[ StyleData[ @@ -135,7 +135,7 @@ Notebook[ CellFrame -> 0, CellDingbat -> None, ShowCellBracket -> False, - CellMargins -> {{10, 15}, {25, 12}}, + CellMargins -> {{10, 15}, {30, 12}}, Initialization :> None, CellFrameLabels -> { { diff --git a/FrontEnd/TextResources/ChatbookResources.tr b/FrontEnd/TextResources/ChatbookResources.tr index e2dedf85..57b079f1 100644 --- a/FrontEnd/TextResources/ChatbookResources.tr +++ b/FrontEnd/TextResources/ChatbookResources.tr @@ -5056,6 +5056,506 @@ r1E= PlotRange->{{-0.5, 11.5}, {-0.5, 11.5}}]}, Dynamic[ CurrentValue["MouseOver"]], FrameMargins->0, + ImageSize->Automatic], + +"WorkspaceOutputRaftClipboardIcon" -> PaneSelectorBox[{False-> + FrameBox[ + GraphicsBox[ + {Thickness[0.055556], + {FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[1.]}], + FilledCurveBox[{{{1, 4, 3}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}}, {{0, 2, + 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, + 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, {{1, 4, 3}, {0, 1, 0}, {1, 3, + 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, + 3}}}, {CompressedData[" +1:eJxTTMoPSmViYGAQB2IQ/a7G3jTulqHD5XsPuCdnyjvMOaKwoWiFoQPvA90J +CyQUHOa9X37MOxzB9zHvdExQRagvzpj4tua/nsNixj2sQlckHG7/rMvas0Ub +Lg9S/jRAG67f+r5/7/R1WnD+jDyh5gNeWnD1X/5eqXj5TNOh+2/q9ycL5eD8 +ySubAj1jZeHqvU+w286eKgPl60H5Ig4bikAO0nOQOhCt4Ggo4hBhueVE2T49 +Byag80T+C8PdC+NL699VYXPUh/MPf9WI6W/Sh+uH+Ecfbj4svGD2A3m7PHmM +4O6D8WHuRw9fABp3nHM= + "], {{9.9995, 12.999}, {10.999, 12.999}, {10.999, 0.9991}, {0.9995, + 0.9991}, {0.9995, 12.999}, {1.9995, 12.999}, {1.9995, + 13.999}, {-0.00049973, 13.999}, {-0.00049973, 0.00010014}, {11.999, + 0.00010014}, {11.999, 13.999}, {9.9995, 13.999}, {9.9995, 12.999}}, {{ + 4.0015, 12.999}, {7.9995, 12.999}, {7.4995, 13.999}, {4.5015, + 13.999}, {4.0015, 12.999}}, CompressedData[" +1:eJxTTMoPSmViYGCQBmIQ7ZckEGFpwulgDAKfNRxsua4vLtjL7lBrbxq3q1PT +YcuJsn3zZ7E7LJDSv6vipuWgbsixRuYWh8O++UCBJzA+D5Sv4wAxj8/hvn/v +9LxJuhDzagUcgDyhZgY9hxXHvM07GYUcijMmvq35rwsVF8HB14fyZXDwdR0i +LIEu/CcL5x/+qhHT3yQPty/3+e+VH4sU4O7RjOk/9PWEAty92z7/vVJxUhHu +Hz7dTXPfuys5NE517s55rglx70NFh4OnFrpu26zhkLWnZLLEEwWHb0BrDplC +w2uugkPQDrnW14IaDieBwSXlrwB1jzqUlofzIf4XgPOVb/+sy7LhhfPB7lvB +5XD+e/DjpdEaDujxAwCec7rY + "]}]}, + {FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[1.]}], + FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{10., + 9.}, {2., 9.}, {2., 10.}, {10., 10.}, {10., 9.}}}]}, + {FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[1.]}], + FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{10., + 7.}, {2., 7.}, {2., 8.}, {10., 8.}, {10., 7.}}}]}, + {FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[1.]}], + FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{10., + 5.}, {2., 5.}, {2., 6.}, {10., 6.}, {10., 5.}}}]}, + {FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[1.]}], + FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{10., + 3.}, {2., 3.}, {2., 4.}, {10., 4.}, {10., 3.}}}]}}, + AspectRatio->Automatic, + ImageSize->{19., 17.}, + PlotRange->{{-0.5, 18.5}, {-0.5, 16.5}}], + Background->GrayLevel[1], + FrameMargins->3, + FrameStyle->GrayLevel[1], + RoundingRadius->3, + StripOnInput->False], True-> + FrameBox[ + GraphicsBox[ + {Thickness[0.055556], + {FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[1.]}], + FilledCurveBox[{{{1, 4, 3}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}}, {{0, 2, + 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, + 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}, {{1, 4, 3}, {0, 1, 0}, {1, 3, + 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, + 3}}}, {CompressedData[" +1:eJxTTMoPSmViYGAQB2IQ/a7G3jTulqHD5XsPuCdnyjvMOaKwoWiFoQPvA90J +CyQUHOa9X37MOxzB9zHvdExQRagvzpj4tua/nsNixj2sQlckHG7/rMvas0Ub +Lg9S/jRAG67f+r5/7/R1WnD+jDyh5gNeWnD1X/5eqXj5TNOh+2/q9ycL5eD8 +ySubAj1jZeHqvU+w286eKgPl60H5Ig4bikAO0nOQOhCt4Ggo4hBhueVE2T49 +Byag80T+C8PdC+NL699VYXPUh/MPf9WI6W/Sh+uH+Ecfbj4svGD2A3m7PHmM +4O6D8WHuRw9fABp3nHM= + "], {{9.9995, 12.999}, {10.999, 12.999}, {10.999, 0.9991}, {0.9995, + 0.9991}, {0.9995, 12.999}, {1.9995, 12.999}, {1.9995, + 13.999}, {-0.00049973, 13.999}, {-0.00049973, 0.00010014}, {11.999, + 0.00010014}, {11.999, 13.999}, {9.9995, 13.999}, {9.9995, 12.999}}, {{ + 4.0015, 12.999}, {7.9995, 12.999}, {7.4995, 13.999}, {4.5015, + 13.999}, {4.0015, 12.999}}, CompressedData[" +1:eJxTTMoPSmViYGCQBmIQ7ZckEGFpwulgDAKfNRxsua4vLtjL7lBrbxq3q1PT +YcuJsn3zZ7E7LJDSv6vipuWgbsixRuYWh8O++UCBJzA+D5Sv4wAxj8/hvn/v +9LxJuhDzagUcgDyhZgY9hxXHvM07GYUcijMmvq35rwsVF8HB14fyZXDwdR0i +LIEu/CcL5x/+qhHT3yQPty/3+e+VH4sU4O7RjOk/9PWEAty92z7/vVJxUhHu +Hz7dTXPfuys5NE517s55rglx70NFh4OnFrpu26zhkLWnZLLEEwWHb0BrDplC +w2uugkPQDrnW14IaDieBwSXlrwB1jzqUlofzIf4XgPOVb/+sy7LhhfPB7lvB +5XD+e/DjpdEaDujxAwCec7rY + "]}]}, + {FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[1.]}], + FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{10., + 9.}, {2., 9.}, {2., 10.}, {10., 10.}, {10., 9.}}}]}, + {FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[1.]}], + FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{10., + 7.}, {2., 7.}, {2., 8.}, {10., 8.}, {10., 7.}}}]}, + {FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[1.]}], + FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{10., + 5.}, {2., 5.}, {2., 6.}, {10., 6.}, {10., 5.}}}]}, + {FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[1.]}], + FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{10., + 3.}, {2., 3.}, {2., 4.}, {10., 4.}, {10., 3.}}}]}}, + AspectRatio->Automatic, + ImageSize->{19., 17.}, + PlotRange->{{-0.5, 18.5}, {-0.5, 16.5}}], + Background->RGBColor[0.85882, 0.92941, 0.96863], + FrameMargins->3, + FrameStyle->RGBColor[0.85882, 0.92941, 0.96863], + RoundingRadius->3, + StripOnInput->False]}, Dynamic[ + CurrentValue["MouseOver"]], + FrameMargins->0, + ImageSize->Automatic], + +"WorkspaceOutputRaftRegenerateIcon" -> PaneSelectorBox[{False-> + FrameBox[ + GraphicsBox[ + {Thickness[0.071429], FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[ + 1.]}], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, + 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, + 0}}, {{0, 2, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, + 3}}}, CompressedData[" +1:eJxTTMoPSmVmYGBgAmIRKA0BWg4QWsYBxt/lycOk3c7rMPFtjb3pPBWo+Ad7 +VHUf7L1AysRE4fxPl3yTBCJ4HUCiN8/9tpeNSrG+788CleeA0iI4+AJo9qDz +4cABna+4oShj4lsGB7bGqc7dOVwOPuadjglPX9hfX1xgyxUugqZeBs7fIdf6 +OnCHKpq8joM8SFiO0wHGR9WHHl7o4YLbHvzm6jiIrHN/WHVFEc7fN19K/26K +qkN3zvPfKwth9mo4/Ah+vHT2EXU4H9U8LRx8WDwq4eCrOVS+VDPkeKMG57uA +LVZxWAB0hkqbhsPtn3VZe0pg7sOdblDlP9jjSkcA2wtoqg== + "]]}, + AspectRatio->Automatic, + ImageSize->{15., 15.}, + PlotRange->{{-0.5, 14.5}, {-0.5, 14.5}}], + Background->GrayLevel[1], + FrameMargins->3, + FrameStyle->GrayLevel[1], + RoundingRadius->3, + StripOnInput->False], True-> + FrameBox[ + GraphicsBox[ + {Thickness[0.071429], FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[ + 1.]}], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, + 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, + 0}}, {{0, 2, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, + 3}}}, CompressedData[" +1:eJxTTMoPSmVmYGBgAmIRKA0BWg4QWsYBxt/lycOk3c7rMPFtjb3pPBWo+Ad7 +VHUf7L1AysRE4fxPl3yTBCJ4HUCiN8/9tpeNSrG+788CleeA0iI4+AJo9qDz +4cABna+4oShj4lsGB7bGqc7dOVwOPuadjglPX9hfX1xgyxUugqZeBs7fIdf6 +OnCHKpq8joM8SFiO0wHGR9WHHl7o4YLbHvzm6jiIrHN/WHVFEc7fN19K/26K +qkN3zvPfKwth9mo4/Ah+vHT2EXU4H9U8LRx8WDwq4eCrOVS+VDPkeKMG57uA +LVZxWAB0hkqbhsPtn3VZe0pg7sOdblDlP9jjSkcA2wtoqg== + "]]}, + AspectRatio->Automatic, + ImageSize->{15., 15.}, + PlotRange->{{-0.5, 14.5}, {-0.5, 14.5}}], + Background->RGBColor[0.85882, 0.92941, 0.96863], + FrameMargins->3, + FrameStyle->RGBColor[0.85882, 0.92941, 0.96863], + RoundingRadius->3, + StripOnInput->False]}, Dynamic[ + CurrentValue["MouseOver"]], + FrameMargins->0, + ImageSize->Automatic], + +"WorkspaceOutputRaftThumbsDownIcon" -> PaneSelectorBox[{False-> + FrameBox[ + GraphicsBox[ + {Thickness[0.066667], FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[ + 1.]}], FilledCurveBox[{{{1, 4, 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, + 1, 0}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}}, {{1, 4, 3}, {1, 3, 3}, {1, 3, + 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, { + 1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, { + 0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}}, {{1, 4, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, { + 1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, + 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, 0}, { + 1, 3, 3}}}, {CompressedData[" +1:eJxTTMoPSmViYGCQB2IQXWtvGreLU8ch1EBrpfAESQcYv//JJ/lL6yUcrO/7 +905fp+3w8YtXZNsPcYenF5Ru/7TTdrh2NNek4bu4gzEIbFZzOPPu5GGnt+IO +tlzXFxfUIvib5r5ffsxbzeErULuFmITDzXPfgx+rqjn07Mzm/Jkg4VCcMfFt +zX9VB/vw6I3710g4zAMp/67q0NUHdICQJJw/kb/KbHUdgr/aDqihHsHn/Lkg +ffMqBP/vt9IHcy6iqf+P4PdOzxNqZtCE81cc8zbvZETwD3/ViOlnQvADQBqY +EXy3bZ//XrFA8DVj+g99XaHpINR84NRCVzWHH8GPl85m0XIAec9+q5pD6+vA +HXKsWhB7HLUdQMFky6XlIBBhueVEGYIPMUfb4ZsGiKHpwKTdLnbznLbDqo+X +fJMuaDrc/lmXteeLtsNFYDTUrdKExxfYHeUIPsQeBB8WvwBL4ObK + "], CompressedData[" +1:eJxdlAtQVGUUx5fHIiYQS8ACuwv7uMAu0FiZUZF+fyvRJEXDeAmkPBpzmgwh +QCJnFBHLYg0VmFCQHB5mISERBfZAEowkZRBQE0wgItBFljesdr97YZnxzuzs +/O79zut/zvkU0TvfiDMVCAQh7I/+W34tDY+VqFD4kk/bFyV2qHHNGNzUqUS/ +rPTftfdEqEs84mSepMQ373TFf7JBBFl4rF/3UiVYyuqttMWGaNvQFzYrsHHW +KaEj2xqcvy1ySAqiNM2HLbHisY5T70fKsTu0bPnlWgH6rihvTkXJEZSjyPog +fpSU5DfIK+zkOGSIm+jdpiPNRaur9efdjKytH1NHBLqhen/alXNhOlKxa/vn +d+tc0fLVn9eCh4aJd6bj9RZfV9wJFX9/VaAn3YGf5b7XKkXp7kbNi9mTRHVz +as+OWQkcZJf6CGOCeV407Lh2Y5oFn59Bgq4jmRnhQVYY2sQqcEYKs5QljHql +CFw+K2QICDvwfLvwCby8la0gX8br5WEPTQSb4XYZWne+taglzAHUfV2VFE15 +tTmHAx2RwKab9lCCzuHRdWH+YlQ1Jf1UeMMFNdh3p7FTjLfpU+KME6Li8792 +iLGVE2iCzPNkUE9xfsMYYU/n1baLQUleoSc2gWePxjWJ8fEqajFCGPWeT3/w +dsJvcqrQMPEzWb/fWuuE4w30hY7ckKRte8bBGY0BvqyJjlDzg6ecjd9jI//y +N6txQQQn+ChJfe7MyhCJFHbpv/xetHqK0OMxMinI8qgfX7OamfMnxSW2HJez +1pjnUUNbykCJNbydjrUttpSD68/ENJnnC6x3bf2kkZ3Ng22erBwn9WKPIGGP +GwY8nmZHaIy8m5Ja7KOSg0tHqycZtP1vzp8fIWt2TT0+kCtH+Zq/U+3LR4g2 +KJHJ7V5gxx3r9VkJCsRzDR4nLQdbu24PKnAthUaYIRHyVfdjhhSg0cJ7TeBZ +f6A05D8F349/Fpizf8rWyBZ7j71yyMcWsX9EBjT1q2BPAx41NfI6K1PvzBwT +8PFUc3oIcIthLc0YJLNyLb31kDxoo4kwqDyhK70Y8ICIWZWCYhj4cQNsIBR7 +ihlcVdKJMhB2C4Nt7i58L7vINnKv+1w8AT6kiUy7z+Vvyu/hjDsf94I5v9eT +7qCv/QpFRubnWYRx2pYxT3Dusy2M7F+tN7RNCnEvje38tCc/72VCnGSrYCzU +c+eFfB1L1ODaIxPy59RqbKYDe9IcBbTM5AXm81tg7l7RasCN1z4L0GulytIL +/TOn77detsQwa+672IuPM6iEhIY38QI3XstURo6lAiWr8Dod8z4NPqIDe1qF +ZfQ5p+H367qK1yVdAzZ7u3QBw+/Zq5o5Pww4fU0WOLqo/VldntzIid85zDSX +Oxt5y7c/DxXMOuBL9rowjKqQdPu4qNhgj0fv1/8BXTtl5w== + "], CompressedData[" +1:eJxdVH1QVFUcXbZAggUEXrgr3/sl8BYhxYxZ8R5ClD5EEhbJrDFcjZwUhYYI +tSigIKYxNG0Ki1GipTBkzJBhCBhEBJzEVDJHnAUdRAObDWtgXZHufW95f3Rn +3rw5990593fO7/xeeHbu+q1ymUyWQh/23p3gcbU2Nhqp2fOz4uN4TLzUElLW +YMDq5vszV1p4uB8P2mh28AiMuaF1czFg9KL6un0lD5mwDFjK1k96CTfl5VTd +e6hDPn3tneUxeWktZdZB9Ximd/RJHs9uZgxa8TvhEbzRbLSu00KAP/NI+/SL +nX61Guk+m6XnheV31RK/X0ln/9Gz7hL/qsq3xhyRcjAZu2Z4PHhve9vbB+3k +211sJwr7u/6N2LTfTg4nsYMR0Ll9cCip0k4EXXsiEFo2ThU/ICkjRVzjvAjU +0+sqEh2kIpEWemyRE98n7TULaUWLRF8Kx8k7bCNYL+FwQbhWwt9Vd4c15WlB +VdAL75Hxm08v7HRonHptpH5D/5LuKg0Ucv7jgGvDpOsjy4Z+Pw1YWUbrOXLo +yhM5asWc7l4ib3P146xhyLhVR5l7SXzymjx7TJjYH+Nl0jnxzQoDFyr6kzxM +tpVveXXILQRHWBk5fWTv60tMsX8G4cYFq8xjM0gLPrx5LisQI+2jQfIcdKw7 +8fnW8lqVhItP0wPzlBgsvKt/yr2bWO6kLJ4dCXD6MUTifz+7I67zSfQVMCPG +yOhk6KXcGg6i73+Tnh1xxadlHFhbEjymieP8X31n5BwEH80qzGHBtjYlGF3x +lC+WM+PnK7GvsTn7/Ze9JPxb1aZHSUVuEm4YGMyciHlEuMY1I0UZKryZayvr +y7ARIY/5gfAWBFnJHnagNQjvZtUv+9XYQ4R8JYXgWOWKWcOLpo5lr7U+p+gK +Revl0k9mLEs7hPpLwqFMLc9dkLaTCHZmqpFQbapp+PG2yJ+uRior6IxMzPV6 +NdIeKvOvHnDFV1/SZVfj8EnF7uOe7mK+2jV4Y3BsO1/gKfbfR4tnprvMPwwr +sODahan0LVr4TyYObDN5Q5jHJi0ymQGzPsiKP9VbsFKHAGZYiS/2EVpxhQ7J +f9j+eV7lj+t2GvhTOgytfqzQ08yJ/XfVo9SLGqDjMDCVfqvuFT3m+iHOmR7D +R3zrfnHhxDlL5HFxFSX04DCdzgJmgNFlbamXD+fM32JU3w623CkPcM5dNEyx +Ud/7f6aSsJiLSOn8+aPJdBIiIfjXHA02/V+fiML//zf/AQwp5lg= + "]}]}, + AspectRatio->Automatic, + ImageSize->{16., 15.}, + PlotRange->{{-0.5, 15.5}, {-0.5, 14.5}}], + Background->GrayLevel[1], + FrameMargins->3, + FrameStyle->GrayLevel[1], + RoundingRadius->3, + StripOnInput->False], True-> + FrameBox[ + GraphicsBox[ + {Thickness[0.066667], FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[ + 1.]}], FilledCurveBox[{{{1, 4, 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, + 1, 0}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}}, {{1, 4, 3}, {1, 3, 3}, {1, 3, + 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, { + 1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, { + 0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}}, {{1, 4, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, { + 1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, + 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, 0}, { + 1, 3, 3}}}, {CompressedData[" +1:eJxTTMoPSmViYGCQB2IQXWtvGreLU8ch1EBrpfAESQcYv//JJ/lL6yUcrO/7 +905fp+3w8YtXZNsPcYenF5Ru/7TTdrh2NNek4bu4gzEIbFZzOPPu5GGnt+IO +tlzXFxfUIvib5r5ffsxbzeErULuFmITDzXPfgx+rqjn07Mzm/Jkg4VCcMfFt +zX9VB/vw6I3710g4zAMp/67q0NUHdICQJJw/kb/KbHUdgr/aDqihHsHn/Lkg +ffMqBP/vt9IHcy6iqf+P4PdOzxNqZtCE81cc8zbvZETwD3/ViOlnQvADQBqY +EXy3bZ//XrFA8DVj+g99XaHpINR84NRCVzWHH8GPl85m0XIAec9+q5pD6+vA +HXKsWhB7HLUdQMFky6XlIBBhueVEGYIPMUfb4ZsGiKHpwKTdLnbznLbDqo+X +fJMuaDrc/lmXteeLtsNFYDTUrdKExxfYHeUIPsQeBB8WvwBL4ObK + "], CompressedData[" +1:eJxdlAtQVGUUx5fHIiYQS8ACuwv7uMAu0FiZUZF+fyvRJEXDeAmkPBpzmgwh +QCJnFBHLYg0VmFCQHB5mISERBfZAEowkZRBQE0wgItBFljesdr97YZnxzuzs +/O79zut/zvkU0TvfiDMVCAQh7I/+W34tDY+VqFD4kk/bFyV2qHHNGNzUqUS/ +rPTftfdEqEs84mSepMQ373TFf7JBBFl4rF/3UiVYyuqttMWGaNvQFzYrsHHW +KaEj2xqcvy1ySAqiNM2HLbHisY5T70fKsTu0bPnlWgH6rihvTkXJEZSjyPog +fpSU5DfIK+zkOGSIm+jdpiPNRaur9efdjKytH1NHBLqhen/alXNhOlKxa/vn +d+tc0fLVn9eCh4aJd6bj9RZfV9wJFX9/VaAn3YGf5b7XKkXp7kbNi9mTRHVz +as+OWQkcZJf6CGOCeV407Lh2Y5oFn59Bgq4jmRnhQVYY2sQqcEYKs5QljHql +CFw+K2QICDvwfLvwCby8la0gX8br5WEPTQSb4XYZWne+taglzAHUfV2VFE15 +tTmHAx2RwKab9lCCzuHRdWH+YlQ1Jf1UeMMFNdh3p7FTjLfpU+KME6Li8792 +iLGVE2iCzPNkUE9xfsMYYU/n1baLQUleoSc2gWePxjWJ8fEqajFCGPWeT3/w +dsJvcqrQMPEzWb/fWuuE4w30hY7ckKRte8bBGY0BvqyJjlDzg6ecjd9jI//y +N6txQQQn+ChJfe7MyhCJFHbpv/xetHqK0OMxMinI8qgfX7OamfMnxSW2HJez +1pjnUUNbykCJNbydjrUttpSD68/ENJnnC6x3bf2kkZ3Ng22erBwn9WKPIGGP +GwY8nmZHaIy8m5Ja7KOSg0tHqycZtP1vzp8fIWt2TT0+kCtH+Zq/U+3LR4g2 +KJHJ7V5gxx3r9VkJCsRzDR4nLQdbu24PKnAthUaYIRHyVfdjhhSg0cJ7TeBZ +f6A05D8F349/Fpizf8rWyBZ7j71yyMcWsX9EBjT1q2BPAx41NfI6K1PvzBwT +8PFUc3oIcIthLc0YJLNyLb31kDxoo4kwqDyhK70Y8ICIWZWCYhj4cQNsIBR7 +ihlcVdKJMhB2C4Nt7i58L7vINnKv+1w8AT6kiUy7z+Vvyu/hjDsf94I5v9eT +7qCv/QpFRubnWYRx2pYxT3Dusy2M7F+tN7RNCnEvje38tCc/72VCnGSrYCzU +c+eFfB1L1ODaIxPy59RqbKYDe9IcBbTM5AXm81tg7l7RasCN1z4L0GulytIL +/TOn77detsQwa+672IuPM6iEhIY38QI3XstURo6lAiWr8Dod8z4NPqIDe1qF +ZfQ5p+H367qK1yVdAzZ7u3QBw+/Zq5o5Pww4fU0WOLqo/VldntzIid85zDSX +Oxt5y7c/DxXMOuBL9rowjKqQdPu4qNhgj0fv1/8BXTtl5w== + "], CompressedData[" +1:eJxdVH1QVFUcXbZAggUEXrgr3/sl8BYhxYxZ8R5ClD5EEhbJrDFcjZwUhYYI +tSigIKYxNG0Ki1GipTBkzJBhCBhEBJzEVDJHnAUdRAObDWtgXZHufW95f3Rn +3rw5990593fO7/xeeHbu+q1ymUyWQh/23p3gcbU2Nhqp2fOz4uN4TLzUElLW +YMDq5vszV1p4uB8P2mh28AiMuaF1czFg9KL6un0lD5mwDFjK1k96CTfl5VTd +e6hDPn3tneUxeWktZdZB9Ximd/RJHs9uZgxa8TvhEbzRbLSu00KAP/NI+/SL +nX61Guk+m6XnheV31RK/X0ln/9Gz7hL/qsq3xhyRcjAZu2Z4PHhve9vbB+3k +211sJwr7u/6N2LTfTg4nsYMR0Ll9cCip0k4EXXsiEFo2ThU/ICkjRVzjvAjU +0+sqEh2kIpEWemyRE98n7TULaUWLRF8Kx8k7bCNYL+FwQbhWwt9Vd4c15WlB +VdAL75Hxm08v7HRonHptpH5D/5LuKg0Ucv7jgGvDpOsjy4Z+Pw1YWUbrOXLo +yhM5asWc7l4ib3P146xhyLhVR5l7SXzymjx7TJjYH+Nl0jnxzQoDFyr6kzxM +tpVveXXILQRHWBk5fWTv60tMsX8G4cYFq8xjM0gLPrx5LisQI+2jQfIcdKw7 +8fnW8lqVhItP0wPzlBgsvKt/yr2bWO6kLJ4dCXD6MUTifz+7I67zSfQVMCPG +yOhk6KXcGg6i73+Tnh1xxadlHFhbEjymieP8X31n5BwEH80qzGHBtjYlGF3x +lC+WM+PnK7GvsTn7/Ze9JPxb1aZHSUVuEm4YGMyciHlEuMY1I0UZKryZayvr +y7ARIY/5gfAWBFnJHnagNQjvZtUv+9XYQ4R8JYXgWOWKWcOLpo5lr7U+p+gK +Revl0k9mLEs7hPpLwqFMLc9dkLaTCHZmqpFQbapp+PG2yJ+uRior6IxMzPV6 +NdIeKvOvHnDFV1/SZVfj8EnF7uOe7mK+2jV4Y3BsO1/gKfbfR4tnprvMPwwr +sODahan0LVr4TyYObDN5Q5jHJi0ymQGzPsiKP9VbsFKHAGZYiS/2EVpxhQ7J +f9j+eV7lj+t2GvhTOgytfqzQ08yJ/XfVo9SLGqDjMDCVfqvuFT3m+iHOmR7D +R3zrfnHhxDlL5HFxFSX04DCdzgJmgNFlbamXD+fM32JU3w623CkPcM5dNEyx +Ud/7f6aSsJiLSOn8+aPJdBIiIfjXHA02/V+fiML//zf/AQwp5lg= + "]}]}, + AspectRatio->Automatic, + ImageSize->{16., 15.}, + PlotRange->{{-0.5, 15.5}, {-0.5, 14.5}}], + Background->RGBColor[0.85882, 0.92941, 0.96863], + FrameMargins->3, + FrameStyle->RGBColor[0.85882, 0.92941, 0.96863], + RoundingRadius->3, + StripOnInput->False]}, Dynamic[ + CurrentValue["MouseOver"]], + FrameMargins->0, + ImageSize->Automatic], + +"WorkspaceOutputRaftThumbsUpIcon" -> PaneSelectorBox[{False-> + FrameBox[ + GraphicsBox[ + {Thickness[0.066667], FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[ + 1.]}], FilledCurveBox[{{{1, 4, 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, + 1, 0}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}}, {{1, 4, 3}, {1, 3, 3}, {1, 3, + 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, { + 1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, { + 0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}}, {{1, 4, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, { + 1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, + 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, 0}, { + 1, 3, 3}}}, {CompressedData[" +1:eJxTTMoPSmViYGCQB2IQfdzbvNMx4b396vNXw97kyznA+IXSvA90A+QdPiw/ +BhT5ZN/RGnV5D7OCwwIp/bsqbN/sRWVPPrVnUXCQZAnj0zXidZjFIT0vjlMB +op6TD86XjUqxvn+ez4F767LK4y/lHRqnOnfnpPM7lLhN+cY2X96hd3qeUDOD +gMPBFUv8HILlHUC2PxUQcCgDOeCtHJyf/6H1ZEgjgh8K0tCA4H9ni5/hE4rg +M3N2ySfroalnQPBfeuj9V/z73R7GF7ngcuPDFwTfPjx64/43CP6VWc9kl79A +8NWCWRdPsvoG53OraNT17PxkP+eIwoaiF3wOmqcFju/a8d7epTvn+W9NXoeQ +IPUFnRve24O4Kz9+tWcCB9B7e4+HVSLr3L/A+c0HTi103fbJfuneg+JqwR/s +d3nyMGm3f7RnrgDZ8NH+0yXfJIGID/Zn3p087LT2kz0svtI6kmPvuH2B8yH+ ++WqPHr8A6AzUGQ== + "], CompressedData[" +1:eJxdlAlMFGcUxxdCKTcUll3owh4cy+yOVKBSaBT3L/dZbqVAK+GoeJQ7QjWY +UiOUIppWAStUiRSEljRIrQJVrEQLtqIIKCheHE2LaLlKEIrYb3ZwSDrJzOSX +782b9/3f/32yxPSIFE0ej7eF3Mx76vSvQW7XzHFmeLysudEGhzvmqPhQAQwz +G0uGdGxRJLh7Y95MCMXvJp1tMbboDHIr3lQtxBudbS2ldbZIXv8otHSLJTwT +/uixqbSDOl+ACDfnI0drh+xxYCK8RewjAvmKRDjA9cO2AANPEUp2/flvQ6YC +Z7t2t5+8J0K+iqzoKlfWrTjO9NAbqGmyAnlmeOgpEVZakWbqZY2lhunekBEF +bueNy527rPGuOpECsqas1C8dJez7GYV00/2//KYhhUkMiTjnwHHUaG3llQQ5 +hvfwf/AjzPxWc8IOhIb3REmw7LX4bCLBlq2nQ4y4vguj/HwbtJ98c+2DZDGr +11MZ1GVViCH0D1uyiJTBXrugzCtIgqq3T511G5SyevGkOFp0ILYvXoq6yivS +pq+k+PZRu1GVmRTd18m1RgaXXEeZhC+FaO0DO20NmmN/dYE0LhmRjITVuhTT ++CSm3rVbJIVOo1Vs8s807g8UZPv2v9o3javLzXtnMiQrOq6BfGz/ie4nYo7P +hO08nhu/ylWnbFuX/KzxXiJRKodG4bWoy/VjInZ/A0qEk/CqEREkTENPKFfy +iVi9jso5DjTQpIvK5fj+5u3NTyeFrM7VSo6JOqT1q+zNGEFBY+NfdxsXrSwQ +rzYgDcpY/6e6ViGIS6Z7S2nMa289Fhy9Et9AI1Nk+NixR4BbNkML+76jMRIj +PH8Lq9xPp1iOWJjDUmuzkaMLjaS/Yz03Unyufv9L+dbuDnwwbaeLFPhx70xT +GM1HNWmvXeEqs/Xac3xu9kV/3rg93Ld5b093MmF9H6fgWG3D44qV/5ngQs4R +C607CrhOuvv4zRjjORmLSi0lmt9Kq9HYYMz68h0lQsWCHSHZRiDTVJEWoYSP +X9aC8XZDfMwIQDheumk6KdiAW9dLtdmVt6gLB2figHsKtDt9rbQw14Fj8zeT +p30VKO59+FjfTAdkc2SCKXS97lEZLdFh58nJnmO1H13s0UfCjyh47NzGURzX +k3EuLqAweygyx07IY/dTTiHaSdlg1vNSpY6vpNAhlEe+VvNS5csI1EJB347a +d7B1WTXTG5JoMkjho8+TPrjvu8Sxae3Fy0L5c47T1n16Hp/Nqhg7r99KoUDr +6mHn3EkVY8+A6w4gp1EqL31SVUXKzaIEWLLIHjCdmWS/P2bOsfqcMTHHXOD7 +he53plTMOJY0kj7v1F2o3jbD5gvmY8fDzC8Ojc2qGPl3L5uhLIUpcE7FyJPx +wgz8Hu/BqX/mOd5wMaJcdkOAV3ww8InWunAxxxEO1cVNGjJWHwEfTPWOBTL8 +/3z9Dww0UHA= + "], CompressedData[" +1:eJxdVGtQVGUY3oCIH4DL7rKLIcseWBD2okMNk1j6PYbQpjJaJnmhjC0bypLR +2JAGNUMi3RTUVFwYAibcNMfZwhhNigSjjLiEVm7rraEdcIRmQ5bltmzfdxbO +j96ZM2eec97vvTzPcw5nzH9+S4BIJDLQi90V9i7P2j47OdKxx9Cyy05uqYP3 +Hkt3kpSTmqhj1y+T/ctecfbEuYim0VM57djUUvvoQpoySr65tu+A1/o4mRuU +Ha5/LAyzWFLy/c91D4tRb37Kp1u1jpS3upNyVkegQH3CV7G7jbis7SufeFYC +T/DmylWRN0ja+Z/e/W6zFLt6Gje4L7YS1s1xUYbZfpxtR95hvVyoH6Atk9u7 +5gv18w4PFRNTMs5NDRwI+dpE+idP/9vbqcEbovy9QT84BWwdMCzwcWMz5zWQ +NHx7WZE4ReId47vfbNZAPtnxz9U2HxnuzTKKKzUoLaYDmR6CH2thC+z/OOnt +QBjF69POG3To+qj39l3zIwKe3/qh9cUVoQKWyEj7zdRwFN1LTAnR6aBZTBkO +EYPRkzGqxZdrtloKb4pxquqKyjasQ/Gwbc3WPyPwQl9D1ZVaPX7PHlx4qV8K +np9P9fCWjTj+WCYX8CHT9uiwWgV4+bboAWlu27X7UTiebn6rf1IHS2F1ffz4 +XPDpFj321XSe6Y6MhoiPBaBixyyyzsPBE9skJRTz8+QoBfw+SxiLBRtHZdPj +rNmRJypXgdGdqtTjb1nMVWcsh42vPXln9UEdDgW75AYbhwRmnw4t6FvymY8D +k3N8WoMAS0h0zTQHXs8sTsDRzE51HCLZgaB48OU8HJoeeK/vPK0W8F/vyc49 +k5soYN4naUkYTcopb13HgfeBOxmvs8hUgfdxoBal95+7oMyIxQgtd+8U1ZG2 +H2qOmdlTh466jKYHS+bN8KLDBSU9MRblf+7VYoK6o2CtAvUMfqKB5SSNDQrM ++rCb0t+wSYGn2UBViej8hUao3N9nKgFt1P7lH8gwRW2YFZfg1++OFAa20I9q +ZLJFF0nxaxwzotrPb41kZh61f4+SCJgYYUvj/X4aFOP20bLSje/EobngaFTQ +cTGO5EynT3RyqKZq7RiYg6VF6z9PHeJwhrY1VoQLeixn9kgOQ0VKoZ6jmOfP +7SaVt2jBCQ789/xVH3l1j31J0RiHxVzToCcXLY2h28+aL6nw0rY57TuNIF90 +/5Y9mK8UsKxn+Q3XiJvM5ntHTXerI1yE3+flVpKZwDZwkv//b/4DSmsNRw== + + "]}]}, + AspectRatio->Automatic, + ImageSize->{16., 15.}, + PlotRange->{{-0.5, 15.5}, {-0.5, 14.5}}], + Background->GrayLevel[1], + FrameMargins->3, + FrameStyle->GrayLevel[1], + RoundingRadius->3, + StripOnInput->False], True-> + FrameBox[ + GraphicsBox[ + {Thickness[0.066667], FaceForm[{RGBColor[0.2, 0.51373, 0.67451], Opacity[ + 1.]}], FilledCurveBox[{{{1, 4, 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, + 1, 0}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}}, {{1, 4, 3}, {1, 3, 3}, {1, 3, + 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, { + 1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {0, 1, + 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, { + 0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, + 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}}, {{1, 4, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, { + 1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, + 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, + 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {0, 1, 0}, { + 1, 3, 3}}}, {CompressedData[" +1:eJxTTMoPSmViYGCQB2IQfdzbvNMx4b396vNXw97kyznA+IXSvA90A+QdPiw/ +BhT5ZN/RGnV5D7OCwwIp/bsqbN/sRWVPPrVnUXCQZAnj0zXidZjFIT0vjlMB +op6TD86XjUqxvn+ez4F767LK4y/lHRqnOnfnpPM7lLhN+cY2X96hd3qeUDOD +gMPBFUv8HILlHUC2PxUQcCgDOeCtHJyf/6H1ZEgjgh8K0tCA4H9ni5/hE4rg +M3N2ySfroalnQPBfeuj9V/z73R7GF7ngcuPDFwTfPjx64/43CP6VWc9kl79A +8NWCWRdPsvoG53OraNT17PxkP+eIwoaiF3wOmqcFju/a8d7epTvn+W9NXoeQ +IPUFnRve24O4Kz9+tWcCB9B7e4+HVSLr3L/A+c0HTi103fbJfuneg+JqwR/s +d3nyMGm3f7RnrgDZ8NH+0yXfJIGID/Zn3p087LT2kz0svtI6kmPvuH2B8yH+ ++WqPHr8A6AzUGQ== + "], CompressedData[" +1:eJxdlAlMFGcUxxdCKTcUll3owh4cy+yOVKBSaBT3L/dZbqVAK+GoeJQ7QjWY +UiOUIppWAStUiRSEljRIrQJVrEQLtqIIKCheHE2LaLlKEIrYb3ZwSDrJzOSX +782b9/3f/32yxPSIFE0ej7eF3Mx76vSvQW7XzHFmeLysudEGhzvmqPhQAQwz +G0uGdGxRJLh7Y95MCMXvJp1tMbboDHIr3lQtxBudbS2ldbZIXv8otHSLJTwT +/uixqbSDOl+ACDfnI0drh+xxYCK8RewjAvmKRDjA9cO2AANPEUp2/flvQ6YC +Z7t2t5+8J0K+iqzoKlfWrTjO9NAbqGmyAnlmeOgpEVZakWbqZY2lhunekBEF +bueNy527rPGuOpECsqas1C8dJez7GYV00/2//KYhhUkMiTjnwHHUaG3llQQ5 +hvfwf/AjzPxWc8IOhIb3REmw7LX4bCLBlq2nQ4y4vguj/HwbtJ98c+2DZDGr +11MZ1GVViCH0D1uyiJTBXrugzCtIgqq3T511G5SyevGkOFp0ILYvXoq6yivS +pq+k+PZRu1GVmRTd18m1RgaXXEeZhC+FaO0DO20NmmN/dYE0LhmRjITVuhTT ++CSm3rVbJIVOo1Vs8s807g8UZPv2v9o3javLzXtnMiQrOq6BfGz/ie4nYo7P +hO08nhu/ylWnbFuX/KzxXiJRKodG4bWoy/VjInZ/A0qEk/CqEREkTENPKFfy +iVi9jso5DjTQpIvK5fj+5u3NTyeFrM7VSo6JOqT1q+zNGEFBY+NfdxsXrSwQ +rzYgDcpY/6e6ViGIS6Z7S2nMa289Fhy9Et9AI1Nk+NixR4BbNkML+76jMRIj +PH8Lq9xPp1iOWJjDUmuzkaMLjaS/Yz03Unyufv9L+dbuDnwwbaeLFPhx70xT +GM1HNWmvXeEqs/Xac3xu9kV/3rg93Ld5b093MmF9H6fgWG3D44qV/5ngQs4R +C607CrhOuvv4zRjjORmLSi0lmt9Kq9HYYMz68h0lQsWCHSHZRiDTVJEWoYSP +X9aC8XZDfMwIQDheumk6KdiAW9dLtdmVt6gLB2figHsKtDt9rbQw14Fj8zeT +p30VKO59+FjfTAdkc2SCKXS97lEZLdFh58nJnmO1H13s0UfCjyh47NzGURzX +k3EuLqAweygyx07IY/dTTiHaSdlg1vNSpY6vpNAhlEe+VvNS5csI1EJB347a +d7B1WTXTG5JoMkjho8+TPrjvu8Sxae3Fy0L5c47T1n16Hp/Nqhg7r99KoUDr +6mHn3EkVY8+A6w4gp1EqL31SVUXKzaIEWLLIHjCdmWS/P2bOsfqcMTHHXOD7 +he53plTMOJY0kj7v1F2o3jbD5gvmY8fDzC8Ojc2qGPl3L5uhLIUpcE7FyJPx +wgz8Hu/BqX/mOd5wMaJcdkOAV3ww8InWunAxxxEO1cVNGjJWHwEfTPWOBTL8 +/3z9Dww0UHA= + "], CompressedData[" +1:eJxdVGtQVGUY3oCIH4DL7rKLIcseWBD2okMNk1j6PYbQpjJaJnmhjC0bypLR +2JAGNUMi3RTUVFwYAibcNMfZwhhNigSjjLiEVm7rraEdcIRmQ5bltmzfdxbO +j96ZM2eec97vvTzPcw5nzH9+S4BIJDLQi90V9i7P2j47OdKxx9Cyy05uqYP3 +Hkt3kpSTmqhj1y+T/ctecfbEuYim0VM57djUUvvoQpoySr65tu+A1/o4mRuU +Ha5/LAyzWFLy/c91D4tRb37Kp1u1jpS3upNyVkegQH3CV7G7jbis7SufeFYC +T/DmylWRN0ja+Z/e/W6zFLt6Gje4L7YS1s1xUYbZfpxtR95hvVyoH6Atk9u7 +5gv18w4PFRNTMs5NDRwI+dpE+idP/9vbqcEbovy9QT84BWwdMCzwcWMz5zWQ +NHx7WZE4ReId47vfbNZAPtnxz9U2HxnuzTKKKzUoLaYDmR6CH2thC+z/OOnt +QBjF69POG3To+qj39l3zIwKe3/qh9cUVoQKWyEj7zdRwFN1LTAnR6aBZTBkO +EYPRkzGqxZdrtloKb4pxquqKyjasQ/Gwbc3WPyPwQl9D1ZVaPX7PHlx4qV8K +np9P9fCWjTj+WCYX8CHT9uiwWgV4+bboAWlu27X7UTiebn6rf1IHS2F1ffz4 +XPDpFj321XSe6Y6MhoiPBaBixyyyzsPBE9skJRTz8+QoBfw+SxiLBRtHZdPj +rNmRJypXgdGdqtTjb1nMVWcsh42vPXln9UEdDgW75AYbhwRmnw4t6FvymY8D +k3N8WoMAS0h0zTQHXs8sTsDRzE51HCLZgaB48OU8HJoeeK/vPK0W8F/vyc49 +k5soYN4naUkYTcopb13HgfeBOxmvs8hUgfdxoBal95+7oMyIxQgtd+8U1ZG2 +H2qOmdlTh466jKYHS+bN8KLDBSU9MRblf+7VYoK6o2CtAvUMfqKB5SSNDQrM ++rCb0t+wSYGn2UBViej8hUao3N9nKgFt1P7lH8gwRW2YFZfg1++OFAa20I9q +ZLJFF0nxaxwzotrPb41kZh61f4+SCJgYYUvj/X4aFOP20bLSje/EobngaFTQ +cTGO5EynT3RyqKZq7RiYg6VF6z9PHeJwhrY1VoQLeixn9kgOQ0VKoZ6jmOfP +7SaVt2jBCQ789/xVH3l1j31J0RiHxVzToCcXLY2h28+aL6nw0rY57TuNIF90 +/5Y9mK8UsKxn+Q3XiJvM5ntHTXerI1yE3+flVpKZwDZwkv//b/4DSmsNRw== + + "]}]}, + AspectRatio->Automatic, + ImageSize->{16., 15.}, + PlotRange->{{-0.5, 15.5}, {-0.5, 14.5}}], + Background->RGBColor[0.85882, 0.92941, 0.96863], + FrameMargins->3, + FrameStyle->RGBColor[0.85882, 0.92941, 0.96863], + RoundingRadius->3, + StripOnInput->False]}, Dynamic[ + CurrentValue["MouseOver"]], + FrameMargins->0, ImageSize->Automatic] } @| diff --git a/FrontEnd/TextResources/ChatbookStrings.tr b/FrontEnd/TextResources/ChatbookStrings.tr index 60a4d697..b3945388 100644 --- a/FrontEnd/TextResources/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChatbookStrings.tr @@ -207,6 +207,10 @@ "WorkspaceToolbarButtonTooltipNew" -> "Start a new conversation", "WorkspaceSourcesOpenNotebooks" -> "Open Notebooks", +"WorkspaceOutputRaftCopyAsTooltip" -> "Copy response to clipboard\[Ellipsis]", +"WorkspaceOutputRaftRegenerateTooltip" -> "Regenerate response", +"WorkspaceOutputRaftFeedbackTooltip" -> "Send feedback to Wolfram", + "InlineChatButtonTooltipClose" -> "Close", "InlineChatButtonTooltipViewNotebookAssist" -> "View in Notebook Assistance Chat", diff --git a/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr b/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr index 350bba67..e92b19ea 100644 --- a/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr +++ b/FrontEnd/TextResources/ChineseTraditional/ChatbookStrings.tr @@ -207,6 +207,10 @@ "WorkspaceToolbarButtonTooltipNew" -> "\:958B\:59CB\:65B0\:589E\:6703\:8A71", "WorkspaceSourcesOpenNotebooks" -> "\:958B\:555F\:7B46\:8A18\:672C", +"WorkspaceOutputRaftCopyAsTooltip" -> "Copy response to clipboard\[Ellipsis]", +"WorkspaceOutputRaftRegenerateTooltip" -> "Regenerate response", +"WorkspaceOutputRaftFeedbackTooltip" -> "\:767C\:9001\:56DE\:994B\:81F3 Wolfram", + "InlineChatButtonTooltipClose" -> "\:95DC\:9589", "InlineChatButtonTooltipViewNotebookAssist" -> "\:7DE8\:78BC\:5C0F\:5E6B\:624B\:804A\:5929\:7CFB\:7D71\:4E2D\:7684\:8996\:5716", diff --git a/FrontEnd/TextResources/French/ChatbookStrings.tr b/FrontEnd/TextResources/French/ChatbookStrings.tr index dccb394b..de606a37 100644 --- a/FrontEnd/TextResources/French/ChatbookStrings.tr +++ b/FrontEnd/TextResources/French/ChatbookStrings.tr @@ -207,6 +207,10 @@ "WorkspaceToolbarButtonTooltipNew" -> "D\[EAcute]marrer une nouvelle conversation", "WorkspaceSourcesOpenNotebooks" -> "Ouvrir les notebooks", +"WorkspaceOutputRaftCopyAsTooltip" -> "Copy response to clipboard\[Ellipsis]", +"WorkspaceOutputRaftRegenerateTooltip" -> "Regenerate response", +"WorkspaceOutputRaftFeedbackTooltip" -> "Envoyer un commentaire \[AGrave] Wolfram", + "InlineChatButtonTooltipClose" -> "Fermer", "InlineChatButtonTooltipViewNotebookAssist" -> "Voir dans le chat de l\[CloseCurlyQuote]assistant du notebook", diff --git a/FrontEnd/TextResources/Japanese/ChatbookStrings.tr b/FrontEnd/TextResources/Japanese/ChatbookStrings.tr index 092df8ac..288cf663 100644 --- a/FrontEnd/TextResources/Japanese/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Japanese/ChatbookStrings.tr @@ -207,6 +207,10 @@ "WorkspaceToolbarButtonTooltipNew" -> "\:65B0\:3057\:3044\:4F1A\:8A71\:3092\:59CB\:3081\:308B", "WorkspaceSourcesOpenNotebooks" -> "\:30ce\:30fc\:30c8\:30d6\:30c3\:30af\:3092\:958b\:304f", +"WorkspaceOutputRaftCopyAsTooltip" -> "Copy response to clipboard\[Ellipsis]", +"WorkspaceOutputRaftRegenerateTooltip" -> "Regenerate response", +"WorkspaceOutputRaftFeedbackTooltip" -> "\:30d5\:30a3\:30fc\:30c9\:30d0\:30c3\:30af\:3092Wolfram\:306b\:9001\:4fe1\:3059\:308b", + "InlineChatButtonTooltipClose" -> "\:9589\:3058\:308b", "InlineChatButtonTooltipViewNotebookAssist" -> "\:30ce\:30fc\:30c8\:30d6\:30c3\:30af\:30a2\:30b7\:30b9\:30bf\:30f3\:30b9\:30c1\:30e3\:30c3\:30c8\:3067\:898b\:308b", diff --git a/FrontEnd/TextResources/Korean/ChatbookStrings.tr b/FrontEnd/TextResources/Korean/ChatbookStrings.tr index 21ec26f9..30781abb 100644 --- a/FrontEnd/TextResources/Korean/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Korean/ChatbookStrings.tr @@ -208,6 +208,10 @@ "WorkspaceToolbarButtonTooltipNew" -> "\:C0C8\:B85C\:C6B4 \:B300\:D654 \:C2DC\:C791", "WorkspaceSourcesOpenNotebooks" -> "\:B178\:D2B8\:BD81 \:C5F4\:AE30", +"WorkspaceOutputRaftCopyAsTooltip" -> "Copy response to clipboard\[Ellipsis]", +"WorkspaceOutputRaftRegenerateTooltip" -> "Regenerate response", +"WorkspaceOutputRaftFeedbackTooltip" -> "Wolfram\:C5D0 \:D53C\:B4DC\:BC31 \:BCF4\:B0B4\:AE30", + "InlineChatButtonTooltipClose" -> "\:B2EB\:AE30", "InlineChatButtonTooltipViewNotebookAssist" -> "\:B178\:D2B8\:BD81 \:C5B4\:C2DC\:C2A4\:D134\:C2A4 \:CC44\:D305\:C5D0\:C11C \:BCF4\:AE30", diff --git a/FrontEnd/TextResources/Spanish/ChatbookStrings.tr b/FrontEnd/TextResources/Spanish/ChatbookStrings.tr index f473331d..7c1aa163 100644 --- a/FrontEnd/TextResources/Spanish/ChatbookStrings.tr +++ b/FrontEnd/TextResources/Spanish/ChatbookStrings.tr @@ -207,6 +207,10 @@ "WorkspaceToolbarButtonTooltipNew" -> "Iniciar una nueva conversaci\[OAcute]n", "WorkspaceSourcesOpenNotebooks" -> "Abrir cuadernos", +"WorkspaceOutputRaftCopyAsTooltip" -> "Copy response to clipboard\[Ellipsis]", +"WorkspaceOutputRaftRegenerateTooltip" -> "Regenerate response", +"WorkspaceOutputRaftFeedbackTooltip" -> "Enviar comentarios a Wolfram", + "InlineChatButtonTooltipClose" -> "Cerrar", "InlineChatButtonTooltipViewNotebookAssist" -> "Ver en chat de asistencia de cuadernos", diff --git a/Source/Chatbook/Actions.wl b/Source/Chatbook/Actions.wl index e53bdbc5..ba1e9efe 100644 --- a/Source/Chatbook/Actions.wl +++ b/Source/Chatbook/Actions.wl @@ -69,11 +69,13 @@ ChatbookAction[ "AttachCodeButtons" , args___ ] := catchMine @ Attach ChatbookAction[ "AttachWorkspaceChatInput" , args___ ] := catchMine @ attachWorkspaceChatInput @ args; ChatbookAction[ "CopyChatObject" , args___ ] := catchMine @ CopyChatObject @ args; ChatbookAction[ "CopyExplodedCells" , args___ ] := catchMine @ CopyExplodedCells @ args; +ChatbookAction[ "CopyImage" , args___ ] := catchMine @ copyImage @ args; +ChatbookAction[ "CopyPlainText" , args___ ] := catchMine @ copyPlainText @ args; ChatbookAction[ "DisableAssistance" , args___ ] := catchMine @ DisableAssistance @ args; ChatbookAction[ "DisplayInlineChat" , args___ ] := catchMine @ displayInlineChat @ args; ChatbookAction[ "EvaluateChatInput" , args___ ] := catchMine @ EvaluateChatInput @ args; -ChatbookAction[ "EvaluateWorkspaceChat" , args___ ] := catchMine @ evaluateWorkspaceChat @ args; ChatbookAction[ "EvaluateInlineChat" , args___ ] := catchMine @ evaluateInlineChat @ args; +ChatbookAction[ "EvaluateWorkspaceChat" , args___ ] := catchMine @ evaluateWorkspaceChat @ args; ChatbookAction[ "ExclusionToggle" , args___ ] := catchMine @ ExclusionToggle @ args; ChatbookAction[ "ExplodeDuplicate" , args___ ] := catchMine @ ExplodeDuplicate @ args; ChatbookAction[ "ExplodeInPlace" , args___ ] := catchMine @ ExplodeInPlace @ args; @@ -84,6 +86,7 @@ ChatbookAction[ "MoveToChatInputField" , args___ ] := catchMine @ moveTo ChatbookAction[ "OpenChatBlockSettings" , args___ ] := catchMine @ OpenChatBlockSettings @ args; ChatbookAction[ "OpenChatMenu" , args___ ] := catchMine @ OpenChatMenu @ args; ChatbookAction[ "PersonaManage" , args___ ] := catchMine @ PersonaManage @ args; +ChatbookAction[ "RegenerateAssistantMessage" , args___ ] := catchMine @ regenerateAssistantMessage @ args; ChatbookAction[ "RemoveCellAccents" , args___ ] := catchMine @ removeCellAccents @ args; ChatbookAction[ "Send" , args___ ] := catchMine @ SendChat @ args; ChatbookAction[ "SendFeedback" , args___ ] := catchMine @ SendFeedback @ args; @@ -97,6 +100,25 @@ ChatbookAction[ "UserMessageLabel" , args___ ] := catchMine @ userMe ChatbookAction[ "WidgetSend" , args___ ] := catchMine @ WidgetSend @ args; ChatbookAction[ args___ ] := catchMine @ throwInternalFailure @ ChatbookAction @ args; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*regenerateAssistantMessage*) +regenerateAssistantMessage // beginDefinition; + +regenerateAssistantMessage[ chatOutput_CellObject ] := Enclose[ + Catch @ Module[ { chatInput, nbo }, + chatInput = PreviousCell[ chatOutput, CellStyle -> "ChatInput" ]; + If[ ! MatchQ[ chatInput, _CellObject ], Throw @ Null ]; + nbo = ConfirmMatch[ parentNotebook @ chatInput, _NotebookObject, "Notebook" ]; + NotebookDelete @ chatOutput; + SelectionMove[ chatInput, All, Cell, AutoScroll -> True ]; + FrontEndTokenExecute[ nbo, "EvaluateCells" ]; + ], + throwInternalFailure +]; + +regenerateAssistantMessage // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*SendFeedback*) @@ -104,7 +126,7 @@ SendFeedback // beginDefinition; SendFeedback[ cellObject0_, positive: True|False ] := Enclose[ Module[ { cellObject }, - cellObject = ConfirmMatch[ ensureChatOutputCell @ parentCell @ cellObject0, _CellObject, "CellObject" ]; + cellObject = ConfirmMatch[ ensureChatOutputCell @ cellObject0, _CellObject, "CellObject" ]; ConfirmMatch[ sendFeedback[ cellObject, positive ], _NotebookObject, "SendFeedbackDialog" ] ], throwInternalFailure[ SendFeedback[ cellObject0, positive ], ## ] & @@ -112,6 +134,38 @@ SendFeedback[ cellObject0_, positive: True|False ] := Enclose[ SendFeedback // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*copyImage*) +copyImage // beginDefinition; + +copyImage[ cellObject0_ ] := Enclose[ + Module[ { cellObject, image }, + cellObject = ConfirmMatch[ ensureChatOutputCell @ cellObject0, _CellObject, "CellObject" ]; + image = ConfirmBy[ rasterize @ cellObject, image2DQ, "Image" ]; + CopyToClipboard @ image + ], + throwInternalFailure +]; + +copyImage // endDefinition; + +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*copyPlainText*) +copyPlainText // beginDefinition; + +copyPlainText[ cellObject0_ ] := Enclose[ + Module[ { cellObject, text }, + cellObject = ConfirmMatch[ ensureChatOutputCell @ cellObject0, _CellObject, "CellObject" ]; + text = ConfirmBy[ CellToString @ cellObject, StringQ, "String" ]; + CopyToClipboard @ text + ], + throwInternalFailure +]; + +copyPlainText // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*CopyExplodedCells*) @@ -123,7 +177,7 @@ CopyExplodedCells[ cellObject0_ ] := Enclose[ exploded = ConfirmMatch[ explodeCell @ cellObject, { ___Cell }, "ExplodeCell" ]; CopyToClipboard @ exploded ], - throwInternalFailure[ CopyExplodedCells @ cellObject, ## ] & + throwInternalFailure ]; CopyExplodedCells // endDefinition; @@ -141,7 +195,7 @@ ExplodeDuplicate[ cellObject0_ ] := Enclose[ nbo = ConfirmMatch[ parentNotebook @ cellObject, _NotebookObject, "ParentNotebook" ]; ConfirmMatch[ NotebookWrite[ nbo, exploded ], Null, "NotebookWrite" ] ], - throwInternalFailure[ ExplodeDuplicate @ cellObject, ## ] & + throwInternalFailure ]; ExplodeDuplicate // endDefinition; @@ -157,7 +211,7 @@ ExplodeInPlace[ cellObject0_ ] := Enclose[ exploded = ConfirmMatch[ explodeCell @ cellObject, { __Cell }, "ExplodeCell" ]; ConfirmMatch[ NotebookWrite[ cellObject, exploded ], Null, "NotebookWrite" ] ], - throwInternalFailure[ ExplodeInPlace @ cellObject, ## ] & + throwInternalFailure ]; ExplodeInPlace // endDefinition; @@ -175,7 +229,7 @@ ToggleFormatting[ cellObject0_ ] := Enclose[ content = ConfirmMatch[ NotebookRead @ nbo, _String | _List, "NotebookRead" ]; Confirm[ toggleFormatting[ cellObject, nbo, content ], "Toggle" ] ], - throwInternalFailure[ ToggleFormatting @ cellObject, ## ] & + throwInternalFailure ]; ToggleFormatting // endDefinition; @@ -197,7 +251,7 @@ toggleFormatting[ cellObject_CellObject, nbo_NotebookObject, string_String ] := Confirm[ SelectionMove[ cellObject, All, CellContents, AutoScroll -> False ], "SelectionMove" ]; Confirm[ NotebookWrite[ nbo, TextData @ textDataList, None ], "NotebookWrite" ] ], - throwInternalFailure[ toggleFormatting[ cellObject, nbo, string ], ## ] & + throwInternalFailure ]; (* Convert formatted TextData to a plain string: *) @@ -207,7 +261,7 @@ toggleFormatting[ cellObject_CellObject, nbo_NotebookObject, textDataList_List ] Confirm[ SelectionMove[ cellObject, All, CellContents, AutoScroll -> False ], "SelectionMove" ]; Confirm[ NotebookWrite[ nbo, TextData @ string, None ], "NotebookWrite" ] ], - throwInternalFailure[ toggleFormatting[ cellObject, nbo, textDataList ], ## ] & + throwInternalFailure ]; toggleFormatting // endDefinition; diff --git a/Source/Chatbook/ChatMessageToCell.wl b/Source/Chatbook/ChatMessageToCell.wl index 26f2ebfe..a9213928 100644 --- a/Source/Chatbook/ChatMessageToCell.wl +++ b/Source/Chatbook/ChatMessageToCell.wl @@ -101,7 +101,10 @@ workspaceOutput // beginDefinition; workspaceOutput[ text_TextData ] := wrapCellContent[ - BoxData @ TemplateBox[ { Cell[ text, $selectableOptions ] }, "AssistantMessageBox" ], + TextData @ Cell[ + BoxData @ TemplateBox[ { Cell[ text, $selectableOptions ] }, "AssistantMessageBox" ], + Background -> None + ], "Assistant", "Default" ]; diff --git a/Source/Chatbook/ChatModes/UI.wl b/Source/Chatbook/ChatModes/UI.wl index d8bb29ca..6ae88b52 100644 --- a/Source/Chatbook/ChatModes/UI.wl +++ b/Source/Chatbook/ChatModes/UI.wl @@ -989,13 +989,13 @@ attachAssistantMessageButtons[ cell_CellObject ] := attachAssistantMessageButtons[ cell, CurrentChatSettings[ cell, "WorkspaceChat" ] ]; attachAssistantMessageButtons[ cell0_CellObject, True ] := Enclose[ - Catch @ Module[ { cell, attached }, + Catch @ Module[ { cell, includeFeedback, attached }, cell = topParentCell @ cell0; If[ ! MatchQ[ cell, _CellObject ], Throw @ Null ]; (* If chat has been reloaded from history, it no longer has the necessary metadata for feedback: *) - If[ ! StringQ @ CurrentValue[ cell, { TaggingRules, "ChatData" } ], Throw @ Null ]; + includeFeedback = StringQ @ CurrentValue[ cell, { TaggingRules, "ChatData" } ]; (* Remove existing attached cell, if any: *) NotebookDelete @ Cells[ cell, AttachedCell -> True, CellStyle -> "ChatOutputTrayButtons" ]; @@ -1004,7 +1004,7 @@ attachAssistantMessageButtons[ cell0_CellObject, True ] := Enclose[ attached = AttachCell[ cell, Cell[ - BoxData @ TemplateBox[ { }, "FeedbackButtonsHorizontal" ], + BoxData @ assistantMessageButtons @ includeFeedback, "ChatOutputTrayButtons", Magnification -> AbsoluteCurrentValue[ cell, Magnification ] ], @@ -1022,6 +1022,67 @@ attachAssistantMessageButtons[ cell_CellObject, _ ] := attachAssistantMessageButtons // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*assistantMessageButtons*) +assistantMessageButtons // beginDefinition; + +assistantMessageButtons[ includeFeedback_ ] := assistantMessageButtons[ includeFeedback ] = + ToBoxes @ DynamicModule[ { cell }, + Grid[ + { { + ActionMenu[ + Tooltip[ $clipboardLabel, tr[ "WorkspaceOutputRaftCopyAsTooltip" ] ], + { + "Copy as\[Ellipsis]" :> Null, + " Cells" :> ChatbookAction[ "CopyExplodedCells", cell ], + " Plain Text" :> ChatbookAction[ "CopyPlainText" , cell ], + " Image" :> ChatbookAction[ "CopyImage" , cell ] + }, + Appearance -> "Suppressed", + Method -> "Queued", + MenuStyle -> { Magnification -> Inherited/0.85 } + ], + Button[ + Tooltip[ $regenerateLabel, tr[ "WorkspaceOutputRaftRegenerateTooltip" ] ], + ChatbookAction[ "RegenerateAssistantMessage", cell ], + Appearance -> "Suppressed", + Method -> "Queued" + ], + If[ TrueQ @ includeFeedback, + Splice @ { + Item[ Spacer[ 0 ], ItemSize -> Fit ], + Button[ + Tooltip[ $thumbsUpLabel, tr[ "WorkspaceOutputRaftFeedbackTooltip" ] ], + ChatbookAction[ "SendFeedback", cell, True ], + Appearance -> "Suppressed", + Method -> "Queued" + ], + Button[ + Tooltip[ $thumbsDownLabel, tr[ "WorkspaceOutputRaftFeedbackTooltip" ] ], + ChatbookAction[ "SendFeedback", cell, False ], + Appearance -> "Suppressed", + Method -> "Queued" + ], + Spacer[ 45 ] + }, + Nothing + ] + } }, + Alignment -> { Automatic, Baseline }, + Spacings -> 0 + ], + Initialization :> (cell = ParentCell @ EvaluationCell[ ]) + ]; + +assistantMessageButtons // endDefinition; + + +$clipboardLabel := $clipboardLabel = chatbookIcon[ "WorkspaceOutputRaftClipboardIcon" , False ]; +$regenerateLabel := $regenerateLabel = chatbookIcon[ "WorkspaceOutputRaftRegenerateIcon", False ]; +$thumbsUpLabel := $thumbsUpLabel = chatbookIcon[ "WorkspaceOutputRaftThumbsUpIcon" , False ]; +$thumbsDownLabel := $thumbsDownLabel = chatbookIcon[ "WorkspaceOutputRaftThumbsDownIcon", False ]; + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Chat Notebook Conversion*) @@ -1079,9 +1140,12 @@ $inlineToWorkspaceConversionRules := $inlineToWorkspaceConversionRules = Dispatc ___ ] :> Cell[ - BoxData @ TemplateBox[ - { Cell[ Flatten @ TextData @ text, Background -> None, Editable -> True, Selectable -> True ] }, - "AssistantMessageBox" + TextData @ Cell[ + BoxData @ TemplateBox[ + { Cell[ Flatten @ TextData @ text, Background -> None, Editable -> True, Selectable -> True ] }, + "AssistantMessageBox" + ], + Background -> None ], "ChatOutput", TaggingRules -> tags, @@ -1137,7 +1201,13 @@ $fromWorkspaceChatConversionRules := $fromWorkspaceChatConversionRules = Dispatc Cell[ Flatten @ TextData @ text, "ChatInput" ] , Cell[ - BoxData @ TemplateBox[ { Cell[ text_, ___ ] }, "AssistantMessageBox", ___ ], + TextData @ Cell[ BoxData @ TemplateBox[ { Cell[ text_, ___ ] }, "AssistantMessageBox", ___ ], ___ ], + "ChatOutput", + ___ + ] :> Cell[ Flatten @ TextData @ text, "ChatOutput" ] + , + Cell[ + TextData @ { Cell[ BoxData @ TemplateBox[ { Cell[ text_, ___ ] }, "AssistantMessageBox", ___ ], ___ ] }, "ChatOutput", ___ ] :> Cell[ Flatten @ TextData @ text, "ChatOutput" ] @@ -1738,6 +1808,35 @@ $searchButtonLabel := $searchButtonLabel = chatbookIcon[ "WorkspaceHistorySearch $popOutButtonLabel := $popOutButtonLabel = chatbookIcon[ "WorkspaceHistoryPopOutIcon", False ]; $trashButtonLabel := $trashButtonLabel = chatbookIcon[ "WorkspaceHistoryTrashIcon" , False ]; +(* ::**************************************************************************************************************:: *) +(* ::Section::Closed:: *) +(*Global Progress Bar*) + +(* TODO: *) +Grid[ + { + { + Graphics[ + { + RGBColor[ "#449EF7" ], + Dynamic @ Rectangle[ + ImageScaled @ { Max[ 0, Clock[ { -0.5, 1.0 }, 3 ] ], 0 }, + ImageScaled @ { Min[ 1, Clock[ { 0.0, 1.5 }, 3 ] ], 1 } + ] + }, + AspectRatio -> Full, + Background -> RGBColor[ "#D1D1D1" ], + ImageSize -> { Full, 2 }, + PlotRangePadding -> None + ] + } + }, + Alignment -> { Center, Center }, + Frame -> None, + ItemSize -> { Automatic, 0 }, + Spacings -> { { 0, { }, 0 }, { 0, { }, 0 } } +] + (* ::**************************************************************************************************************:: *) (* ::Section::Closed:: *) (*Package Footer*) diff --git a/Source/Chatbook/Explode.wl b/Source/Chatbook/Explode.wl index 8bcdeb26..44b3c464 100644 --- a/Source/Chatbook/Explode.wl +++ b/Source/Chatbook/Explode.wl @@ -52,7 +52,8 @@ $$newCellStyle = Alternatives[ "Subtitle", "Text", "TextTableForm", - "Title" + "Title", + "WolframAlphaLong" ]; $$ws = _String? (StringMatchQ[ WhitespaceCharacter... ]); @@ -161,8 +162,8 @@ postProcessExplodedCells // endDefinition; (*$preprocessingRules*) $preprocessingRules := $preprocessingRules = Dispatch @ { (* Workspace/Inline chat template boxes: *) - Cell[ BoxData @ TemplateBox[ { Cell[ text_, ___ ] }, "AssistantMessageBox", ___ ], ___ ] :> - text, + Cell[ BoxData @ TemplateBox[ { Cell[ text_, ___ ] }, "AssistantMessageBox" ], ___ ] :> text, + TemplateBox[ { Cell[ text_, ___ ] }, "AssistantMessageBox", ___ ] :> text, (* Remove "InlineSection" styling: *) Cell[ @@ -233,14 +234,8 @@ $preprocessingRules := $preprocessingRules = Dispatch @ { Cell[ content, "ExternalLanguage", System`CellEvaluationLanguage -> lang ], (* Inline tool calls: *) - Cell[ _, "InlineToolCall", TaggingRules -> tags: KeyValuePattern[ { } ], ___ ] :> - Cell[ - BoxData @ ToBoxes @ Iconize[ - tags, (* FIXME: iconize an actual tool response object here *) - "Used " <> Lookup[ tags, "DisplayName", Lookup[ tags, "Name", "LLMTool" ] ] - ], - "Input" - ], + Cell[ _, "InlineToolCall", ___, TaggingRules -> tags: KeyValuePattern[ { } ], ___ ] :> + RuleCondition @ explodeToolCall @ tags, (* Nested text data cells: *) { a___, b: StyleBox[ _, $$newCellStyle, ___ ], c___ } :> @@ -262,10 +257,35 @@ $preprocessingRules := $preprocessingRules = Dispatch @ { ], (* Markdown images: *) - Cell[ BoxData @ PaneBox[ TagBox[ box_, "MarkdownImage", ___ ], ___ ], "Input", ___ ] :> + Cell[ BoxData @ PaneBox[ TagBox[ box_, "MarkdownImage", ___ ], ___ ], ___ ] :> Cell[ BoxData @ box, "Picture" ] }; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*explodeToolCall*) +explodeToolCall // beginDefinition; + +explodeToolCall[ KeyValuePattern @ { + "Name" -> "WolframLanguageEvaluator", + "Parameters" -> KeyValuePattern[ "code" -> code_String ] +} ] := Cell[ BoxData @ StringToBoxes[ code, "WL" ], "Input" ]; + +explodeToolCall[ KeyValuePattern @ { + "Name" -> "WolframAlpha", + "Parameters" -> KeyValuePattern[ "query" -> query_String ] +} ] := Cell[ query, "WolframAlphaLong" ]; + +explodeToolCall[ tags: KeyValuePattern @ { } ] := Cell[ + BoxData @ ToBoxes @ Iconize[ + tags, (* FIXME: iconize an actual tool response object here *) + "Used " <> Lookup[ tags, "DisplayName", Lookup[ tags, "Name", "LLMTool" ] ] + ], + "Input" +]; + +explodeToolCall // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*extractText*) diff --git a/Source/Chatbook/Formatting.wl b/Source/Chatbook/Formatting.wl index 2a5d626a..d98cb1fe 100644 --- a/Source/Chatbook/Formatting.wl +++ b/Source/Chatbook/Formatting.wl @@ -1140,8 +1140,6 @@ $$simpleToolCall = Shortest[ $$simpleToolCommand ~~ ___ ~~ ($$endToolCall|End (* ::Subsection::Closed:: *) (*$textDataFormatRules*) $textDataFormatRules = { - "```" ~~ code: Except[ "\n" ].. ~~ "```" :> inlineCodeCell @ code, - StringExpression[ Longest[ "```" ~~ language: Except[ "\n" ]... ] ~~ (" "...) ~~ "\n", Shortest[ code__ ], diff --git a/Source/Chatbook/PromptGenerators/VectorDatabases.wl b/Source/Chatbook/PromptGenerators/VectorDatabases.wl index 2047e8a8..32a440d1 100644 --- a/Source/Chatbook/PromptGenerators/VectorDatabases.wl +++ b/Source/Chatbook/PromptGenerators/VectorDatabases.wl @@ -603,10 +603,7 @@ getAndCacheEmbeddings[ { } ] := getAndCacheEmbeddings[ strings: { __String } ] /; $embeddingModel === "SentenceBERT" := Enclose[ Module[ { vectors }, vectors = ConfirmBy[ - If[ AllTrue[ strings, StringMatchQ[ WhitespaceCharacter... ] ], - Developer`ToPackedArray @ Rest @ sentenceBERTEmbedding @ Prepend[ strings, "hello" ], - Developer`ToPackedArray @ sentenceBERTEmbedding @ strings - ], + Developer`ToPackedArray @ sentenceBERTEmbedding @ strings, Developer`PackedArrayQ, "PackedArray" ]; diff --git a/Source/Chatbook/Search.wl b/Source/Chatbook/Search.wl index 1b6676b8..742904fd 100644 --- a/Source/Chatbook/Search.wl +++ b/Source/Chatbook/Search.wl @@ -99,7 +99,7 @@ addChatToSearchIndex[ spec_ ] := Enclose[ Catch @ Module[ { data, appName, uuid, vectors, metadata }, If[ $noSemanticSearch, Throw @ Missing[ "NoSemanticSearch" ] ]; data = ConfirmMatch[ getChatConversationData @ spec, _Association|_Missing, "Data" ]; - If[ MissingQ @ data, Throw @ Missing[ "NoVectors" ] ]; (* TODO: auto-save here? *) + If[ MissingQ @ data, Throw @ data ]; (* TODO: auto-save here? *) appName = ConfirmBy[ data[ "AppName" ], StringQ, "AppName" ]; uuid = ConfirmBy[ data[ "ConversationUUID" ], StringQ, "ConversationUUID" ]; vectors = ConfirmMatch[ data[ "Vectors" ], { ___NumericArray }, "Vectors" ]; diff --git a/Source/Chatbook/SendChat.wl b/Source/Chatbook/SendChat.wl index 938fe3bf..0d1362b4 100644 --- a/Source/Chatbook/SendChat.wl +++ b/Source/Chatbook/SendChat.wl @@ -110,7 +110,7 @@ sendChat[ evalCell_, nbo_, settings0_ ] /; $useLLMServices := catchTopAs[ Chatbo ]; AppendTo[ settings, "Data" -> data ]; - CurrentChatSettings[ cellObject, "Data" ] = data; + CurrentValue[ cellObject, { TaggingRules, "ChatNotebookSettings", "Data" } ] = data; $resultCellCache = <| |>; $debugLog = Internal`Bag[ ]; @@ -145,8 +145,8 @@ sendChat[ evalCell_, nbo_, settings0_ ] /; $useLLMServices := catchTopAs[ Chatbo addHandlerArguments[ "Task" -> task ]; - CurrentChatSettings[ cellObject, "CellObject" ] = cellObject; - CurrentChatSettings[ cellObject, "Task" ] = task; + CurrentValue[ cellObject, { TaggingRules, "ChatNotebookSettings", "CellObject" } ] = cellObject; + CurrentValue[ cellObject, { TaggingRules, "ChatNotebookSettings", "Task" } ] = task; If[ FailureQ @ task, throwTop @ writeErrorCell[ cellObject, task ] ]; setProgressDisplay[ "Waiting for response", 1.0 ]; @@ -895,7 +895,6 @@ autoCorrect[ string_String ] := StringReplace[ string, $llmAutoCorrectRules ]; autoCorrect // endDefinition; $llmAutoCorrectRules := $llmAutoCorrectRules = Flatten @ { - "```" ~~ code: Except[ "\n" ].. ~~ "```" :> "``"<>code<>"``", "wolfram_language_evaliator" -> "wolfram_language_evaluator", "\\!\\(\\*MarkdownImageBox[\"" ~~ Shortest[ uri__ ] ~~ "\"]\\)" :> uri, "\\!\\(MarkdownImageBox[\"" ~~ Shortest[ uri__ ] ~~ "\"]\\)" :> uri, @@ -2265,10 +2264,15 @@ reformatCell[ settings_, string_, tag_, open_, label_, pageData_, cellTags_, uui dingbat = makeOutputDingbat @ settings; outer = If[ TrueQ @ $WorkspaceChat, - BoxData @ TemplateBox[ - { Cell[ #, Background -> None, Editable -> True, Selectable -> True ] }, - "AssistantMessageBox" - ] &, + TextData @ { + Cell[ + BoxData @ TemplateBox[ + { Cell[ #, Background -> None, Editable -> True, Selectable -> True ] }, + "AssistantMessageBox" + ], + Background -> None + ] + } &, # & ]; @@ -2520,7 +2524,7 @@ restoreLastPage // endDefinition; (*attachChatOutputMenu*) attachChatOutputMenu // beginDefinition; -attachChatOutputMenu[ cell_CellObject ] /; $cloudNotebooks || $WorkspaceChat || $InlineChat := Null; +attachChatOutputMenu[ cell_CellObject ] /; $cloudNotebooks := Null; attachChatOutputMenu[ cell_CellObject ] := ( $lastChatOutput = cell; diff --git a/Source/Chatbook/UI.wl b/Source/Chatbook/UI.wl index 36e99c36..5612af30 100644 --- a/Source/Chatbook/UI.wl +++ b/Source/Chatbook/UI.wl @@ -1039,24 +1039,6 @@ makeServiceModelMenu[ Dynamic[ display_ ], obj_, root_, currentModel_, service_S 200 ]; -makeServiceModelMenu[ Dynamic[ display_ ], obj_, root_, currentModel_, service_String, Missing[ "NoModelList" ] ] := - display = MakeMenu[ - { - { service }, - { - Spacer[ 0 ], - Automatic, - Hold[ - removeChatMenus @ EvaluationCell[ ]; - (* TODO: this could probably prompt the user with an InputField to enter a name: *) - setModel[ obj, <| "Service" -> service, "Name" -> Automatic |> ] - ] - } - }, - GrayLevel[ 0.85 ], - 200 - ]; - makeServiceModelMenu // endDefinition; (* ::**************************************************************************************************************:: *)