cpee 2.1.125 → 2.1.126

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/compliance.html +301 -0
  3. data/cockpit/css/compliance.css +38 -0
  4. data/cockpit/css/llm.css +15 -4
  5. data/cockpit/css/llm_active.svg +43 -0
  6. data/cockpit/css/llm_inactive.svg +43 -0
  7. data/cockpit/css/mode_active.svg +85 -0
  8. data/cockpit/css/mode_inactive.svg +77 -0
  9. data/cockpit/css/ui.css +10 -1
  10. data/cockpit/js/compliance.js +134 -0
  11. data/cockpit/js/instance.js +6 -1
  12. data/cockpit/js/llm.js +254 -86
  13. data/cockpit/js/parameters.js +19 -12
  14. data/cockpit/js/wfadaptor.js +49 -12
  15. data/cockpit/llm.html +34 -7
  16. data/cockpit/only_llm.html +15 -7
  17. data/cockpit/rngs/requirements.rng +8 -0
  18. data/cockpit/themes/base.js +1 -0
  19. data/cockpit/themes/control/rngs/choose.rng +8 -1
  20. data/cockpit/themes/control/rngs/parallel.rng +4 -10
  21. data/cockpit/themes/dataflow/rngs/choose.rng +8 -1
  22. data/cockpit/themes/dataflow/rngs/parallel.rng +4 -10
  23. data/cockpit/themes/default/rngs/choose.rng +8 -1
  24. data/cockpit/themes/default/rngs/parallel.rng +4 -10
  25. data/cockpit/themes/extended/rngs/choose.rng +8 -1
  26. data/cockpit/themes/extended/rngs/parallel.rng +4 -10
  27. data/cockpit/themes/packed/rngs/choose.rng +8 -1
  28. data/cockpit/themes/packed/rngs/parallel.rng +4 -10
  29. data/cockpit/themes/preset/rngs/choose.rng +8 -1
  30. data/cockpit/themes/preset/rngs/parallel.rng +4 -10
  31. data/cockpit/themes/presetaltid/rngs/choose.rng +8 -1
  32. data/cockpit/themes/presetaltid/rngs/parallel.rng +4 -10
  33. data/cockpit/themes/presetid/rngs/choose.rng +8 -1
  34. data/cockpit/themes/presetid/rngs/parallel.rng +4 -10
  35. data/cockpit/themes/reduced/rngs/choose.rng +8 -1
  36. data/cockpit/themes/reduced/rngs/parallel.rng +4 -10
  37. data/cpee.gemspec +1 -1
  38. data/server/executionhandlers/ruby/connection.rb +2 -2
  39. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +20 -3
  40. data/server/routing/persist.rb +1 -5
  41. metadata +9 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d5c30dd94db7a7ad8002ff0a92858e287ca7e92e98d5450c045f3daf055f968c
4
- data.tar.gz: b2dc5d570aad23df9f558e68218a7edfdcf9771edd296e8a037f7b377d66a3c8
3
+ metadata.gz: ab0596aa5b8fd02e48ecb1f32f0487d0ba38cb50c266a1eea316bdd8b3e72299
4
+ data.tar.gz: 06eb40788ffede2e143987ff2a15ee6cb15ba8bd455a3a7e5455d1f0c5e4dc17
5
5
  SHA512:
6
- metadata.gz: b808f91456f36d67f6f0b940dc592e9cb17508d037bf66630f08c25876935ecfc7c08a7c983f299ba92288945658695f15355a778c9bfbc20336971e578409d5
7
- data.tar.gz: 1968a021e24a8cf4a23c614c002e6098b5b63686e3e2d83adf8465a7dfb435fca69c79a2242141521500805ed9c1a2d37aaec0d7ec06d95600f342992fa7d9a3
6
+ metadata.gz: e494deb1d688f09d89bb1e29c2c973d2388ad86ad1625b3ec88cbce0f6da0f0b700338d23d6d4ae41bf55f53665d4c46986cccb19eb8a0d7a522b235cd9bd733
7
+ data.tar.gz: 140db69200f00160050fc0119be5b7e9a023bb9219f6c7ec02e88c51670e4f758dc21bf5017998173847e07b1174784a001f5fc1243380b1a4c47ffe8b47ed16
@@ -0,0 +1,301 @@
1
+ <!--
2
+ This file is part of CPEE.
3
+
4
+ CPEE is free software: you can redistribute it and/or modify it under the terms
5
+ of the GNU General Public License as published by the Free Software Foundation,
6
+ either version 3 of the License, or (at your option) any later version.
7
+
8
+ CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
9
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
+ PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
+
12
+ You should have received a copy of the GNU General Public License along with
13
+ CPEE (file COPYING in the main directory). If not, see
14
+ <http://www.gnu.org/licenses/>.
15
+ -->
16
+
17
+ <!DOCTYPE html>
18
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
19
+ <head>
20
+ <meta charset="utf-8"/>
21
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
22
+ <link rel="icon" type="image/png" href="/favicon.png">
23
+ <title>CPEE Cockpit</title>
24
+
25
+ <!-- libs, do not modify. When local than load local libs. -->
26
+ <script type="text/javascript" src="/js_libs/jquery.min.js"></script>
27
+ <script type="text/javascript" src="/js_libs/jquery.browser.js"></script>
28
+ <script type="text/javascript" src="/js_libs/jquery.svg.min.js"></script>
29
+ <script type="text/javascript" src="/js_libs/jquery.svgdom.min.js"></script>
30
+ <script type="text/javascript" src="/js_libs/vkbeautify.js"></script>
31
+ <script type="text/javascript" src="/js_libs/util.js"></script>
32
+ <script type="text/javascript" src="/js_libs/printf.js"></script>
33
+ <script type="text/javascript" src="/js_libs/strftime.min.js"></script>
34
+ <script type="text/javascript" src="/js_libs/parsequery.js"></script>
35
+ <script type="text/javascript" src="/js_libs/underscore.min.js"></script>
36
+ <script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
37
+ <script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
38
+
39
+ <script type="text/javascript" src="/js_libs/relaxngui.js"></script>
40
+
41
+ <script type="text/javascript" src="/js_libs/uidash.js"></script>
42
+ <script type="text/javascript" src="/js_libs/custommenu.js"></script>
43
+
44
+ <script type="text/javascript" src="/js_libs/build-bpmn.js"></script>
45
+
46
+ <link rel="stylesheet" href="/js_libs/custommenu.css" type="text/css"/>
47
+ <link rel="stylesheet" href="/js_libs/uidash.css" type="text/css"/>
48
+
49
+ <link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
50
+
51
+ <!-- modelling ui -->
52
+ <script type="text/javascript" src="js/wfadaptor.js"></script>
53
+ <link rel="stylesheet" href="css/wfadaptor.css" type="text/css" data-include-export="true"/>
54
+
55
+ <!-- custom stuff, play arround -->
56
+ <script type="text/javascript" src="js/ui.js"></script>
57
+ <script type="text/javascript" src="js/instance.js"></script>
58
+ <script type="text/javascript" src="js/details.js"></script>
59
+ <script type="text/javascript" src="js/parameters.js"></script>
60
+ <script type="text/javascript" src="js/extended_columns.js"></script>
61
+ <script type="text/javascript" src="js/modifiers.js"></script>
62
+ <script type="text/javascript" src="themes/base.js"></script>
63
+ <link rel="stylesheet" href="css/ui.css" type="text/css"/>
64
+ <link rel="stylesheet" href="css/extended_columns-label.css" type="text/css"/>
65
+ <link rel="stylesheet" href="css/extended_columns-svg.css" type="text/css" data-include-export="true"/>
66
+ <link rel="stylesheet" href="/global_ui/uicpee.css" type="text/css"/>
67
+
68
+ <script type="text/javascript" src="js/compliance.js"></script>
69
+ <link rel="stylesheet" href="css/compliance.css" type="text/css"/>
70
+ </head>
71
+ <body data-base-port="8298" data-res-port="9303" data-theme-base="themes" is="x-ui-">
72
+ <div id='disclaimer' class='hidden'> <!--{{{-->
73
+ <h1>Disclaimer</h1>
74
+
75
+ <p>
76
+ We use reasonable care in creating and presenting the functionality
77
+ found in this demonstrator. It is provided purely for demonstration purposes
78
+ and you should seek further guidance and make independent enquiries
79
+ before relying upon it.
80
+ </p>
81
+
82
+ <p>
83
+ All functionality included in this demonstrator is subject to change
84
+ without notice. We make no representation or warranty whatsoever
85
+ regarding the completeness, accuracy, adequacy, suitability or
86
+ operation of this demonstrator, or of the results it produces.
87
+ </p>
88
+
89
+ <p>
90
+ We assume no responsibility for process instances created with this
91
+ demonstrator and disclaim all liability arising from negligence or
92
+ otherwise in respect of such process instances. We will not be liable
93
+ for any damages (including, without limitation, damages for any
94
+ consequential loss or loss of business opportunities or projects, or
95
+ loss of profits) howsoever arising from use of or inability to use
96
+ this demonstrator, or from any action or omission taken as a result of
97
+ using this demonstrator.
98
+ </p>
99
+
100
+ <p>
101
+ This demonstrator is hosted in Austria. All liability is excluded to the extent
102
+ permitted by law including any implied terms. Any interpretation of its
103
+ content, claims or disputes (of whatever nature and not limited to contractual
104
+ issues) shall be subject to the exclusive jurisdiction of the Austrian Courts
105
+ under Austrian law.
106
+ </p>
107
+
108
+ <p>
109
+ All actions performed while using this demonstrator will be logged, including
110
+ the IP address of the user.
111
+ </p>
112
+
113
+ <p>
114
+ <input id='iagree' type='checkbox'/><label for='iagree'><strong>OK, I Agree with this terms. I will be a happy person, and do no evil.</strong></label>
115
+ </p>
116
+ <p>
117
+ <button id='icontinue' disabled='disabled'>Continue</button>
118
+ </p>
119
+ </div> <!--}}}-->
120
+
121
+ <div class='hidden' id='relaxngworker'></div>
122
+
123
+ <div class='menu' id='templates'></div>
124
+ <div class='menu' id='modeltypes'></div>
125
+
126
+ <template id="label">
127
+ <svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" style="position: absolute; top: 0; left: 0;" class="displaylabel">
128
+ <g transform="translate(1 %%1) rotate(-%%2)">
129
+ <rect class="displaylabel" width="200" height="14" x="8" y="0" rx="5" ry="5"/>
130
+ <path class="displaylabel" d="M10,13 0,13 8,8"/>
131
+ <path class="displaylabelinner" d="M10,11.5 8.5,11.5 8.5,9.5 10,9.5"/>
132
+ <text class="label" x="18" y="10">aaaa</text>
133
+ </g>
134
+ </svg>
135
+ </template>
136
+
137
+ <ui-tabbed id="instance">
138
+ <ui-tabbar>
139
+ <ui-tab class="switch" ></ui-tab>
140
+ <ui-tab class="" data-tab="new" id="tabnew" >New</ui-tab>
141
+ <ui-tab class="inactive hidden" data-tab="instance" id="tabinstance" >Instance</ui-tab>
142
+ <ui-tab class="inactive hidden" data-tab="execution" id="tabexecution">Execution</ui-tab>
143
+ <ui-behind ><a style='display:none' target='_blank' id='current-instance'></a><a style='display:none' target='_blank' id='current-instance-properties'>P</a><a style='display:none' target='_blank' id='current-instance-subscriptions'>S</a><a style='display:none' target='_blank' id='current-instance-callbacks'>C</a></ui-behind>
144
+ <ui-last ><a class="logo" href=".."></a></ui-last>
145
+ </ui-tabbar>
146
+ <ui-content>
147
+ <ui-area data-belongs-to-tab="new" id="areanew"> <!--{{{-->
148
+ <table class='x-ui-layout'>
149
+ <tr>
150
+ <td>Resources:</td>
151
+ <td><input name="res-url" type="text" value=""/></td>
152
+ <td></td>
153
+ </tr>
154
+ <tr>
155
+ <td>Engine:</td>
156
+ <td><input name="base-url" type="text" value=""/></td>
157
+ <td><button name="base">create new instance</button></td>
158
+ </tr>
159
+ <tr>
160
+ <td>Instance:</td>
161
+ <td><input name="instance-url" type="text" value=""/></td>
162
+ <td><button name="instance">monitor instance</button></td>
163
+ </tr>
164
+ </table>
165
+ </ui-area> <!--}}}-->
166
+ <ui-area data-belongs-to-tab="instance" id="areainstance" class="inactive"> <!--{{{-->
167
+ <div>
168
+ <div class='section'>
169
+ <div>
170
+ <form id='fuckchrome'>
171
+ <input type='file' name='testsetfile' id='testsetfile'/>
172
+ </form>
173
+ <button title='a template includes various settings, subscriptions or a (partial) model' name="loadtestset">load template</button><button title='a testset includes various settings, subscriptions or a model' name="loadtestsetfile">load testset</button>
174
+ </div>
175
+ <div>
176
+ <input type='file' name='modelfile' id='modelfile'/>
177
+ <button title='a standalone process model is only loadable if the currently loaded testset sucessfully prepared the current instance for the type of model' name="loadmodelfile">load model</button>
178
+ </div>
179
+ </div><div class='section'>
180
+ <div>
181
+ <a id="savetestsetfile" href="" download=""></a>
182
+ <a id="savesvgfile" href="" download=""></a>
183
+ <button title='a testset includes various settings, subscriptions and a model' name="savetestsetfile">save<br>testset</button>
184
+ <button title='the SVG contains the graphical repesentation of the CPEE tree as you see it on the screen' name="savesvgfile">save svg<br>graph</button>
185
+ </div>
186
+ <div>
187
+ <a id="savebpmnfile" href="" download=""></a>
188
+ <button title='the BPMN includes a graphical representation that can be loaded in Signavio and Camundal' name="savebpmnfile">save BPMN</button>
189
+ </div>
190
+ </div><div class='section' id='modifiers'>
191
+ <template id="item">
192
+ <div>
193
+ <div class='title'><strong></strong></div>
194
+ <div class='select'><select></select></div>
195
+ <div class='additional'></div>
196
+ </div>
197
+ </template>
198
+ </div>
199
+ </div>
200
+ </ui-area> <!--}}}-->
201
+ <ui-area data-belongs-to-tab="execution" id="areaexecution" class='inactive'> <!--{{{-->
202
+ <table class='x-ui-compact'>
203
+ <tbody class='debug'>
204
+ <tr>
205
+ <td>Debugging:</td>
206
+ <td><input type="checkbox" name="votecontinue"/></td>
207
+ </tr>
208
+ </tbody>
209
+ <tbody class='exe'>
210
+ <tr>
211
+ <td>State:</td>
212
+ <td id='state'>
213
+ <span id="state_text"></span>
214
+ <span id="state_any" style='display:none'>
215
+ <span> ⇒ </span>
216
+ <button name="state_start" title='start' style='display:none'>Start</button>
217
+ <button name="state_stop" title='stop' style='display:none'>Stop</button>
218
+ <span id="state_extended" style='display:none'>
219
+ <span> / </span>
220
+ <button name="state_abandon" title='abandon' style='display:none'>Abandon</button>
221
+ </span>
222
+ </span>
223
+ </td>
224
+ </tr>
225
+ <tr>
226
+ <td>Continue:</td>
227
+ <td id='votes'></td>
228
+ </tr>
229
+ </tbody>
230
+ </table>
231
+ </ui-area> <!--}}}-->
232
+ </ui-content>
233
+ </ui-tabbed>
234
+
235
+ <ui-tabbed class="hidden" id='parameters'>
236
+ <ui-tabbar>
237
+ <ui-tab class="switch" ></ui-tab>
238
+ <ui-tab class="" data-tab="dataelements" id="tabdataelements">Data Objects</ui-tab>
239
+ <ui-tab class="inactive" data-tab="endpoints" id="tabendpoints" >Endpoints</ui-tab>
240
+ <ui-tab class="inactive" data-tab="attributes" id="tabattributes" >Attributes</ui-tab>
241
+ <ui-tab class="inactive" data-tab="requirements" id="tabrequirements">Requirements</ui-tab>
242
+ <ui-behind ></ui-behind>
243
+ </ui-tabbar>
244
+ <ui-content>
245
+ <ui-area data-belongs-to-tab="dataelements" id="areadataelements"> <!--{{{-->
246
+ <button title='add entry'><span>New</span></button>
247
+ <div id="dat_dataelements"></div>
248
+ </ui-area> <!--}}}-->
249
+ <ui-area data-belongs-to-tab="endpoints" id="areaendpoints" class="inactive"> <!--{{{-->
250
+ <button title='add entry'><span>New</span></button>
251
+ <div id="dat_endpoints"></div>
252
+ </ui-area> <!--}}}-->
253
+ <ui-area data-belongs-to-tab="attributes" id="areaattributes" class="inactive"> <!--{{{-->
254
+ <button title='add entry'><span>New</span></button>
255
+ <div id="dat_attributes"></div>
256
+ </ui-area> <!--}}}-->
257
+ <ui-area data-belongs-to-tab="requirements" id="arearequirements" class="inactive"> <!--{{{-->
258
+ <button title='add entry'><span>New</span></button>
259
+ <div id="dat_requirements"></div>
260
+ </ui-area> <!--}}}-->
261
+ </ui-content>
262
+ </ui-tabbed>
263
+
264
+ <ui-resizehandle class="hidden">drag to resize</ui-resizehandle>
265
+
266
+ <ui-rest id="main" class="hidden">
267
+ <ui-tabbar>
268
+ <ui-before ></ui-before>
269
+ <ui-tab class="" data-tab="details" id="tabdetails">Graph</ui-tab>
270
+ <ui-tab class="inactive" data-tab="dsl" id="tabdsl" >Description</ui-tab>
271
+ <ui-tab class="inactive" data-tab="log" id="tablog" >Log</ui-tab>
272
+ <ui-tab class="inactive" data-tab="comp" id="tabcomp">Compliance</ui-tab>
273
+ <ui-behind ><a style='display:none' target='_blank' id='current-track'>T</a><a style='display:none' target='_blank' id='current-graph'>G</a></ui-behind>
274
+ </ui-tabbar>
275
+ <ui-content>
276
+ <ui-area data-belongs-to-tab="details" id='graphcolumn' oncontextmenu='return false'>
277
+ <div id="modelling">
278
+ <div id='graphgrid'>
279
+ <div class="resource-label" style="display: none"></div>
280
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
281
+ </div>
282
+ </div>
283
+ </ui-area>
284
+ <ui-resizehandle data-belongs-to-tab="details" data-label="drag to resize"></ui-resizehandle>
285
+ <ui-area data-belongs-to-tab="details" id="detailcolumn">
286
+ <div id="dat_details" class='x-ui-layout'></div>
287
+ </ui-area>
288
+ <ui-area data-belongs-to-tab="dsl" id="areadsl" class="inactive"></ui-area>
289
+ <ui-area data-belongs-to-tab="log" id="arealog" class="inactive"> <!--{{{-->
290
+ <div>Persistent Log: <a style='display:none' target='_blank' id='current-log'></a> [<a style='display:none' target='_blank' id='xml-log'>X</a>,<a style='display:none' target='_blank' id='shifted-log'>S</a>]</div>
291
+ <table id="dat_log" class="x-ui-layout"></table>
292
+ </ui-area> <!--}}}-->
293
+ <ui-area data-belongs-to-tab="comp" id="areacomp" class="inactive"> <!--{{{-->
294
+ <div>Compliance: <button id="verify">Verify</button> <a style='display:none' target='_blank' id='comp-current-log'></a> [<a style='display:none' target='_blank' id='comp-all-log'>all</a>]</div>
295
+ <div id="comp_log" class="x-ui-layout"></div>
296
+ </ui-area> <!--}}}-->
297
+ </ui-content>
298
+ </ui-rest>
299
+
300
+ </body>
301
+ </html>
@@ -0,0 +1,38 @@
1
+ #arearequirements {
2
+ display: flex;
3
+ flex-direction: row;
4
+ align-items: flex-start;
5
+ height: 100%;
6
+ }
7
+ #arearequirements > button {
8
+ height: 100%;
9
+ padding: 0;
10
+ margin-right: 0.5em;
11
+ }
12
+ #arearequirements > button span {
13
+ display: inline-block;
14
+ transform: rotate(-90deg);
15
+ }
16
+ #arearequirements.inactive { display: none; }
17
+ #arearequirements button.relaxngui_control { display: none; }
18
+
19
+ #dat_requirements {
20
+ border-collapse:collapse;
21
+ border-spacing:0;
22
+ border:0 none;
23
+ margin:0;
24
+ padding:0;
25
+ width: 100%;
26
+ height: 100%;
27
+ overflow-x: hidden;
28
+ overflow-y: scroll;
29
+ }
30
+
31
+ #dat_log div:nth-child(odd) { background-color: #e8e8e8; color: #333; }
32
+
33
+ #areacomp > div { padding-left: 1em; padding-top: 1em; }
34
+
35
+ #comp_log { overflow-y: scroll; overflow-x: hidden; user-select: text; -webkit-user-select: text; -moz-user-select: text; }
36
+ #comp_log div { padding: 0.2em 0.5em; }
37
+ #comp_log div.indent { padding-left: 2em; }
38
+ #comp_log div:nth-child(odd) { background-color: #e8e8e8; color: #333; }
data/cockpit/css/llm.css CHANGED
@@ -7,6 +7,8 @@
7
7
  border-top: 0.1em solid var(--x-ui-border-color);
8
8
  background-color: var(--x-tab-inactive-color);
9
9
  min-height: 1.4em;
10
+ white-space: nowrap;
11
+ text-overflow: ellipsis;
10
12
  overflow:hidden;
11
13
  }
12
14
  #status.error {
@@ -35,10 +37,20 @@
35
37
  100% { content: ''; }
36
38
  }
37
39
 
40
+ @keyframes dotty {
41
+ 0% { content: 'ₒₒₒ'; }
42
+ 16% { content: 'ₒₒ∘'; }
43
+ 32% { content: 'ₒ∘ᵒ'; }
44
+ 48% { content: '∘ᵒ∘'; }
45
+ 64% { content: 'ᵒ∘ₒ'; }
46
+ 80% { content: '∘ₒₒ'; }
47
+ 100% { content: 'ₒₒₒ'; }
48
+ }
49
+
38
50
  #prompt_container {
39
51
  padding: 0.2em 0.5em;
40
52
  outline: none;
41
- min-height: 9em;
53
+ min-height: 7.3em;
42
54
  display: flex;
43
55
  flex-wrap: nowrap;
44
56
  }
@@ -53,7 +65,6 @@
53
65
  #prompt {
54
66
  flex: 1 1 auto;
55
67
  outline: none;
56
- min-height: 2.66em;
57
68
  overflow-y: scroll;
58
69
  }
59
70
  #prompt:empty:before {
@@ -91,9 +102,9 @@
91
102
  .llm_button {
92
103
  width: 100%;
93
104
  min-width: 2.5em;
94
- height: 100%;
105
+ height: 2em;
95
106
  }
96
- .llm_button.small:nth-child(2) {
107
+ .llm_button.small:nth-child(n+2) {
97
108
  margin-top: 0.5em;
98
109
  }
99
110
 
@@ -0,0 +1,43 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="39.952mm"
6
+ height="39.952mm"
7
+ viewBox="0 0 39.952 39.951999"
8
+ version="1.1"
9
+ id="svg1"
10
+ xml:space="preserve"
11
+ sodipodi:docname="llm_active.svg"
12
+ inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
13
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
15
+ xmlns="http://www.w3.org/2000/svg"
16
+ xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
17
+ id="namedview1"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#666666"
20
+ borderopacity="1.0"
21
+ inkscape:showpageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:deskcolor="#d1d1d1"
25
+ inkscape:document-units="mm"
26
+ inkscape:zoom="1.0048822"
27
+ inkscape:cx="220.92142"
28
+ inkscape:cy="452.78939"
29
+ inkscape:window-width="3440"
30
+ inkscape:window-height="1371"
31
+ inkscape:window-x="0"
32
+ inkscape:window-y="0"
33
+ inkscape:window-maximized="1"
34
+ inkscape:current-layer="layer1"
35
+ showgrid="false" /><defs
36
+ id="defs1" /><g
37
+ inkscape:label="Layer 1"
38
+ inkscape:groupmode="layer"
39
+ id="layer1"
40
+ transform="translate(-46.644447,-28.77213)"><path
41
+ style="fill:#e5a50a;stroke-width:0.999997"
42
+ d="M 74.918344,64.58336 C 74.260028,62.995055 73.1929,61.92059 71.63064,61.273075 c -0.692673,-0.287099 -1.2594,-0.591138 -1.2594,-0.675641 0,-0.08452 0.476913,-0.335784 1.05981,-0.558394 1.480463,-0.565395 2.872968,-1.923611 3.484262,-3.398459 0.27997,-0.675489 0.580183,-1.228153 0.667136,-1.228153 0.08696,0 0.383692,0.555824 0.659417,1.235163 0.601076,1.480952 1.969441,2.821699 3.46132,3.391449 0.582897,0.22261 1.059809,0.473881 1.059809,0.558394 0,0.08453 -0.555293,0.383802 -1.233991,0.665105 -1.583792,0.656447 -2.837676,1.91737 -3.36504,3.383935 -0.228971,0.63675 -0.489054,1.15772 -0.577963,1.15772 -0.08891,0 -0.389353,-0.549368 -0.667656,-1.220834 z M 62.683122,58.894315 c -2.270091,-5.976349 -3.518842,-7.344435 -8.431125,-9.236822 -0.975757,-0.375897 -1.774102,-0.78511 -1.774102,-0.909359 0,-0.124249 0.798345,-0.533462 1.774102,-0.90936 4.490176,-1.729783 6.064715,-3.262 7.771053,-7.562203 0.468377,-1.180371 0.930714,-2.146126 1.027418,-2.146126 0.0967,0 0.53854,0.914925 0.981857,2.033174 1.095079,2.762281 1.407993,3.289981 2.790652,4.706188 1.311602,1.343427 2.313821,1.940508 4.983508,2.968967 0.97575,0.375898 1.774104,0.785111 1.774104,0.90936 0,0.124249 -0.798354,0.533462 -1.774104,0.909359 -2.588044,0.997004 -3.627149,1.599892 -4.829094,2.801839 -1.394752,1.394761 -2.020534,2.416509 -2.915534,4.760356 -0.88992,2.330545 -1.05392,2.529742 -1.378735,1.674627 z m 12.23219,-18.038628 c -0.611294,-1.474856 -2.003799,-2.833072 -3.484262,-3.398467 -0.582897,-0.222609 -1.05981,-0.473883 -1.05981,-0.558395 0,-0.08452 0.546781,-0.380276 1.215078,-0.657266 1.545013,-0.640379 2.69404,-1.789398 3.334408,-3.334423 0.276998,-0.668291 0.56787,-1.215072 0.646387,-1.215072 0.07855,0 0.377673,0.566728 0.664763,1.259402 0.647523,1.562264 1.721976,2.629392 3.310285,3.287711 0.671456,0.278304 1.220833,0.575146 1.220833,0.659648 0,0.08453 -0.476912,0.335786 -1.059809,0.558395 -1.491879,0.569758 -2.860244,1.910505 -3.46132,3.391449 -0.275725,0.679348 -0.572464,1.235171 -0.659417,1.235171 -0.08696,0 -0.387166,-0.552673 -0.667136,-1.228153 z"
43
+ id="path1" /></g></svg>
@@ -0,0 +1,43 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="39.952mm"
6
+ height="39.952mm"
7
+ viewBox="0 0 39.952 39.951999"
8
+ version="1.1"
9
+ id="svg1"
10
+ xml:space="preserve"
11
+ sodipodi:docname="llm_inactive.svg"
12
+ inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
13
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
15
+ xmlns="http://www.w3.org/2000/svg"
16
+ xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
17
+ id="namedview1"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#666666"
20
+ borderopacity="1.0"
21
+ inkscape:showpageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:deskcolor="#d1d1d1"
25
+ inkscape:document-units="mm"
26
+ inkscape:zoom="1.0048822"
27
+ inkscape:cx="220.92142"
28
+ inkscape:cy="452.78939"
29
+ inkscape:window-width="3440"
30
+ inkscape:window-height="1371"
31
+ inkscape:window-x="0"
32
+ inkscape:window-y="0"
33
+ inkscape:window-maximized="1"
34
+ inkscape:current-layer="layer1"
35
+ showgrid="false" /><defs
36
+ id="defs1" /><g
37
+ inkscape:label="Layer 1"
38
+ inkscape:groupmode="layer"
39
+ id="layer1"
40
+ transform="translate(-46.644447,-28.77213)"><path
41
+ style="fill:#c0bfbc;stroke-width:0.999997"
42
+ d="M 74.918344,64.58336 C 74.260028,62.995055 73.1929,61.92059 71.63064,61.273075 c -0.692673,-0.287099 -1.2594,-0.591138 -1.2594,-0.675641 0,-0.08452 0.476913,-0.335784 1.05981,-0.558394 1.480463,-0.565395 2.872968,-1.923611 3.484262,-3.398459 0.27997,-0.675489 0.580183,-1.228153 0.667136,-1.228153 0.08696,0 0.383692,0.555824 0.659417,1.235163 0.601076,1.480952 1.969441,2.821699 3.46132,3.391449 0.582897,0.22261 1.059809,0.473881 1.059809,0.558394 0,0.08453 -0.555293,0.383802 -1.233991,0.665105 -1.583792,0.656447 -2.837676,1.91737 -3.36504,3.383935 -0.228971,0.63675 -0.489054,1.15772 -0.577963,1.15772 -0.08891,0 -0.389353,-0.549368 -0.667656,-1.220834 z M 62.683122,58.894315 c -2.270091,-5.976349 -3.518842,-7.344435 -8.431125,-9.236822 -0.975757,-0.375897 -1.774102,-0.78511 -1.774102,-0.909359 0,-0.124249 0.798345,-0.533462 1.774102,-0.90936 4.490176,-1.729783 6.064715,-3.262 7.771053,-7.562203 0.468377,-1.180371 0.930714,-2.146126 1.027418,-2.146126 0.0967,0 0.53854,0.914925 0.981857,2.033174 1.095079,2.762281 1.407993,3.289981 2.790652,4.706188 1.311602,1.343427 2.313821,1.940508 4.983508,2.968967 0.97575,0.375898 1.774104,0.785111 1.774104,0.90936 0,0.124249 -0.798354,0.533462 -1.774104,0.909359 -2.588044,0.997004 -3.627149,1.599892 -4.829094,2.801839 -1.394752,1.394761 -2.020534,2.416509 -2.915534,4.760356 -0.88992,2.330545 -1.05392,2.529742 -1.378735,1.674627 z m 12.23219,-18.038628 c -0.611294,-1.474856 -2.003799,-2.833072 -3.484262,-3.398467 -0.582897,-0.222609 -1.05981,-0.473883 -1.05981,-0.558395 0,-0.08452 0.546781,-0.380276 1.215078,-0.657266 1.545013,-0.640379 2.69404,-1.789398 3.334408,-3.334423 0.276998,-0.668291 0.56787,-1.215072 0.646387,-1.215072 0.07855,0 0.377673,0.566728 0.664763,1.259402 0.647523,1.562264 1.721976,2.629392 3.310285,3.287711 0.671456,0.278304 1.220833,0.575146 1.220833,0.659648 0,0.08453 -0.476912,0.335786 -1.059809,0.558395 -1.491879,0.569758 -2.860244,1.910505 -3.46132,3.391449 -0.275725,0.679348 -0.572464,1.235171 -0.659417,1.235171 -0.08696,0 -0.387166,-0.552673 -0.667136,-1.228153 z"
43
+ id="path1" /></g></svg>
@@ -0,0 +1,85 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="39.688mm"
6
+ height="39.687504mm"
7
+ viewBox="0 0 39.688 39.687503"
8
+ version="1.1"
9
+ id="svg1"
10
+ xml:space="preserve"
11
+ sodipodi:docname="mode_active.svg"
12
+ inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
13
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
15
+ xmlns="http://www.w3.org/2000/svg"
16
+ xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
17
+ id="namedview1"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#666666"
20
+ borderopacity="1.0"
21
+ inkscape:showpageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:deskcolor="#d1d1d1"
25
+ inkscape:document-units="mm"
26
+ inkscape:zoom="1.0048822"
27
+ inkscape:cx="28.361533"
28
+ inkscape:cy="504.53675"
29
+ inkscape:window-width="3440"
30
+ inkscape:window-height="1371"
31
+ inkscape:window-x="0"
32
+ inkscape:window-y="0"
33
+ inkscape:window-maximized="1"
34
+ inkscape:current-layer="layer1"
35
+ showgrid="true"
36
+ showguides="true"><sodipodi:guide
37
+ position="-6.4326542,14.460154"
38
+ orientation="1,0"
39
+ id="guide1"
40
+ inkscape:locked="false" /><sodipodi:guide
41
+ position="9.2604167,30.427086"
42
+ orientation="1,0"
43
+ id="guide2"
44
+ inkscape:locked="false" /><sodipodi:guide
45
+ position="9.2604167,30.427086"
46
+ orientation="0,-1"
47
+ id="guide3"
48
+ inkscape:locked="false" /><sodipodi:guide
49
+ position="30.427083,10.583336"
50
+ orientation="1,0"
51
+ id="guide4"
52
+ inkscape:locked="false" /><sodipodi:guide
53
+ position="9.2604167,9.2604188"
54
+ orientation="0,-1"
55
+ id="guide5"
56
+ inkscape:locked="false" /><inkscape:grid
57
+ id="grid5"
58
+ units="mm"
59
+ originx="0"
60
+ originy="0"
61
+ spacingx="0.26458334"
62
+ spacingy="0.26458334"
63
+ empcolor="#0099e5"
64
+ empopacity="0.30196078"
65
+ color="#0099e5"
66
+ opacity="0.14901961"
67
+ empspacing="5"
68
+ enabled="true"
69
+ visible="true" /></sodipodi:namedview><defs
70
+ id="defs1" /><g
71
+ inkscape:label="Layer 1"
72
+ inkscape:groupmode="layer"
73
+ id="layer1"
74
+ transform="translate(-46.644447,-28.77213)"><path
75
+ style="fill:none;stroke:#e11c23;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:0.427451"
76
+ d="M 53.259031,35.386714 V 51.261715 H 69.134032 V 35.386714 Z"
77
+ id="path5" /><rect
78
+ style="opacity:0.425825;fill:#e01b24;fill-opacity:1;fill-rule:evenodd;stroke:#e01b24;stroke-width:0;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
79
+ id="rect5"
80
+ width="7.9374967"
81
+ height="7.9374976"
82
+ x="57.227787"
83
+ y="39.355465"
84
+ rx="8.1006539e-07"
85
+ ry="8.1006539e-07" /></g></svg>