1# WARNING: This file is auto-generated. Do NOT modify it manually, but rather
2# modify the generating script file. Otherwise changes will be lost!
3
4group vector_swizzles "Vector Swizzles"
5
6	case mediump_vec2_x
7		version 300 es
8		values
9		{
10			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
11			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
12		}
13
14		both ""
15			#version 300 es
16			precision mediump float;
17
18			${DECLARATIONS}
19
20			void main()
21			{
22				${SETUP}
23				out0 = in0.x;
24				${OUTPUT}
25			}
26		""
27	end
28
29	case mediump_vec2_xx
30		version 300 es
31		values
32		{
33			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
34			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(-0.5, -0.5) | vec2(-32.0, -32.0) | vec2(-0.75, -0.75) ];
35		}
36
37		both ""
38			#version 300 es
39			precision mediump float;
40
41			${DECLARATIONS}
42
43			void main()
44			{
45				${SETUP}
46				out0 = in0.xx;
47				${OUTPUT}
48			}
49		""
50	end
51
52	case mediump_vec2_xy
53		version 300 es
54		values
55		{
56			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
57			output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
58		}
59
60		both ""
61			#version 300 es
62			precision mediump float;
63
64			${DECLARATIONS}
65
66			void main()
67			{
68				${SETUP}
69				out0 = in0.xy;
70				${OUTPUT}
71			}
72		""
73	end
74
75	case mediump_vec2_yx
76		version 300 es
77		values
78		{
79			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
80			output vec2 out0 = [ vec2(0.5, 0.0) | vec2(1.25, 1.0) | vec2(-2.25, -0.5) | vec2(64.0, -32.0) | vec2(-0.0322580645161, -0.75) ];
81		}
82
83		both ""
84			#version 300 es
85			precision mediump float;
86
87			${DECLARATIONS}
88
89			void main()
90			{
91				${SETUP}
92				out0 = in0.yx;
93				${OUTPUT}
94			}
95		""
96	end
97
98	case mediump_vec2_yxy
99		version 300 es
100		values
101		{
102			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
103			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
104		}
105
106		both ""
107			#version 300 es
108			precision mediump float;
109
110			${DECLARATIONS}
111
112			void main()
113			{
114				${SETUP}
115				out0 = in0.yxy;
116				${OUTPUT}
117			}
118		""
119	end
120
121	case mediump_vec2_xyxx
122		version 300 es
123		values
124		{
125			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
126			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
127		}
128
129		both ""
130			#version 300 es
131			precision mediump float;
132
133			${DECLARATIONS}
134
135			void main()
136			{
137				${SETUP}
138				out0 = in0.xyxx;
139				${OUTPUT}
140			}
141		""
142	end
143
144	case mediump_vec2_yyyy
145		version 300 es
146		values
147		{
148			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
149			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
150		}
151
152		both ""
153			#version 300 es
154			precision mediump float;
155
156			${DECLARATIONS}
157
158			void main()
159			{
160				${SETUP}
161				out0 = in0.yyyy;
162				${OUTPUT}
163			}
164		""
165	end
166
167	case mediump_vec2_s
168		version 300 es
169		values
170		{
171			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
172			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
173		}
174
175		both ""
176			#version 300 es
177			precision mediump float;
178
179			${DECLARATIONS}
180
181			void main()
182			{
183				${SETUP}
184				out0 = in0.s;
185				${OUTPUT}
186			}
187		""
188	end
189
190	case mediump_vec2_ss
191		version 300 es
192		values
193		{
194			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
195			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(-0.5, -0.5) | vec2(-32.0, -32.0) | vec2(-0.75, -0.75) ];
196		}
197
198		both ""
199			#version 300 es
200			precision mediump float;
201
202			${DECLARATIONS}
203
204			void main()
205			{
206				${SETUP}
207				out0 = in0.ss;
208				${OUTPUT}
209			}
210		""
211	end
212
213	case mediump_vec2_st
214		version 300 es
215		values
216		{
217			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
218			output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
219		}
220
221		both ""
222			#version 300 es
223			precision mediump float;
224
225			${DECLARATIONS}
226
227			void main()
228			{
229				${SETUP}
230				out0 = in0.st;
231				${OUTPUT}
232			}
233		""
234	end
235
236	case mediump_vec2_ts
237		version 300 es
238		values
239		{
240			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
241			output vec2 out0 = [ vec2(0.5, 0.0) | vec2(1.25, 1.0) | vec2(-2.25, -0.5) | vec2(64.0, -32.0) | vec2(-0.0322580645161, -0.75) ];
242		}
243
244		both ""
245			#version 300 es
246			precision mediump float;
247
248			${DECLARATIONS}
249
250			void main()
251			{
252				${SETUP}
253				out0 = in0.ts;
254				${OUTPUT}
255			}
256		""
257	end
258
259	case mediump_vec2_tst
260		version 300 es
261		values
262		{
263			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
264			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
265		}
266
267		both ""
268			#version 300 es
269			precision mediump float;
270
271			${DECLARATIONS}
272
273			void main()
274			{
275				${SETUP}
276				out0 = in0.tst;
277				${OUTPUT}
278			}
279		""
280	end
281
282	case mediump_vec2_stss
283		version 300 es
284		values
285		{
286			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
287			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
288		}
289
290		both ""
291			#version 300 es
292			precision mediump float;
293
294			${DECLARATIONS}
295
296			void main()
297			{
298				${SETUP}
299				out0 = in0.stss;
300				${OUTPUT}
301			}
302		""
303	end
304
305	case mediump_vec2_tttt
306		version 300 es
307		values
308		{
309			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
310			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
311		}
312
313		both ""
314			#version 300 es
315			precision mediump float;
316
317			${DECLARATIONS}
318
319			void main()
320			{
321				${SETUP}
322				out0 = in0.tttt;
323				${OUTPUT}
324			}
325		""
326	end
327
328	case mediump_vec2_r
329		version 300 es
330		values
331		{
332			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
333			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
334		}
335
336		both ""
337			#version 300 es
338			precision mediump float;
339
340			${DECLARATIONS}
341
342			void main()
343			{
344				${SETUP}
345				out0 = in0.r;
346				${OUTPUT}
347			}
348		""
349	end
350
351	case mediump_vec2_rr
352		version 300 es
353		values
354		{
355			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
356			output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(-0.5, -0.5) | vec2(-32.0, -32.0) | vec2(-0.75, -0.75) ];
357		}
358
359		both ""
360			#version 300 es
361			precision mediump float;
362
363			${DECLARATIONS}
364
365			void main()
366			{
367				${SETUP}
368				out0 = in0.rr;
369				${OUTPUT}
370			}
371		""
372	end
373
374	case mediump_vec2_rg
375		version 300 es
376		values
377		{
378			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
379			output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
380		}
381
382		both ""
383			#version 300 es
384			precision mediump float;
385
386			${DECLARATIONS}
387
388			void main()
389			{
390				${SETUP}
391				out0 = in0.rg;
392				${OUTPUT}
393			}
394		""
395	end
396
397	case mediump_vec2_gr
398		version 300 es
399		values
400		{
401			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
402			output vec2 out0 = [ vec2(0.5, 0.0) | vec2(1.25, 1.0) | vec2(-2.25, -0.5) | vec2(64.0, -32.0) | vec2(-0.0322580645161, -0.75) ];
403		}
404
405		both ""
406			#version 300 es
407			precision mediump float;
408
409			${DECLARATIONS}
410
411			void main()
412			{
413				${SETUP}
414				out0 = in0.gr;
415				${OUTPUT}
416			}
417		""
418	end
419
420	case mediump_vec2_grg
421		version 300 es
422		values
423		{
424			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
425			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
426		}
427
428		both ""
429			#version 300 es
430			precision mediump float;
431
432			${DECLARATIONS}
433
434			void main()
435			{
436				${SETUP}
437				out0 = in0.grg;
438				${OUTPUT}
439			}
440		""
441	end
442
443	case mediump_vec2_rgrr
444		version 300 es
445		values
446		{
447			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
448			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
449		}
450
451		both ""
452			#version 300 es
453			precision mediump float;
454
455			${DECLARATIONS}
456
457			void main()
458			{
459				${SETUP}
460				out0 = in0.rgrr;
461				${OUTPUT}
462			}
463		""
464	end
465
466	case mediump_vec2_gggg
467		version 300 es
468		values
469		{
470			input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ];
471			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
472		}
473
474		both ""
475			#version 300 es
476			precision mediump float;
477
478			${DECLARATIONS}
479
480			void main()
481			{
482				${SETUP}
483				out0 = in0.gggg;
484				${OUTPUT}
485			}
486		""
487	end
488
489	case mediump_vec3_x
490		version 300 es
491		values
492		{
493			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
494			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
495		}
496
497		both ""
498			#version 300 es
499			precision mediump float;
500
501			${DECLARATIONS}
502
503			void main()
504			{
505				${SETUP}
506				out0 = in0.x;
507				${OUTPUT}
508			}
509		""
510	end
511
512	case mediump_vec3_z
513		version 300 es
514		values
515		{
516			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
517			output float out0 = [ 0.75 | 1.125 | -4.875 | -51.0 | 0.0526315789474 ];
518		}
519
520		both ""
521			#version 300 es
522			precision mediump float;
523
524			${DECLARATIONS}
525
526			void main()
527			{
528				${SETUP}
529				out0 = in0.z;
530				${OUTPUT}
531			}
532		""
533	end
534
535	case mediump_vec3_xz
536		version 300 es
537		values
538		{
539			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
540			output vec2 out0 = [ vec2(0.0, 0.75) | vec2(1.0, 1.125) | vec2(-0.5, -4.875) | vec2(-32.0, -51.0) | vec2(-0.75, 0.0526315789474) ];
541		}
542
543		both ""
544			#version 300 es
545			precision mediump float;
546
547			${DECLARATIONS}
548
549			void main()
550			{
551				${SETUP}
552				out0 = in0.xz;
553				${OUTPUT}
554			}
555		""
556	end
557
558	case mediump_vec3_zz
559		version 300 es
560		values
561		{
562			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
563			output vec2 out0 = [ vec2(0.75, 0.75) | vec2(1.125, 1.125) | vec2(-4.875, -4.875) | vec2(-51.0, -51.0) | vec2(0.0526315789474, 0.0526315789474) ];
564		}
565
566		both ""
567			#version 300 es
568			precision mediump float;
569
570			${DECLARATIONS}
571
572			void main()
573			{
574				${SETUP}
575				out0 = in0.zz;
576				${OUTPUT}
577			}
578		""
579	end
580
581	case mediump_vec3_xyz
582		version 300 es
583		values
584		{
585			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
586			output vec3 out0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
587		}
588
589		both ""
590			#version 300 es
591			precision mediump float;
592
593			${DECLARATIONS}
594
595			void main()
596			{
597				${SETUP}
598				out0 = in0.xyz;
599				${OUTPUT}
600			}
601		""
602	end
603
604	case mediump_vec3_zyx
605		version 300 es
606		values
607		{
608			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
609			output vec3 out0 = [ vec3(0.75, 0.5, 0.0) | vec3(1.125, 1.25, 1.0) | vec3(-4.875, -2.25, -0.5) | vec3(-51.0, 64.0, -32.0) | vec3(0.0526315789474, -0.0322580645161, -0.75) ];
610		}
611
612		both ""
613			#version 300 es
614			precision mediump float;
615
616			${DECLARATIONS}
617
618			void main()
619			{
620				${SETUP}
621				out0 = in0.zyx;
622				${OUTPUT}
623			}
624		""
625	end
626
627	case mediump_vec3_xxx
628		version 300 es
629		values
630		{
631			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
632			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(-0.5, -0.5, -0.5) | vec3(-32.0, -32.0, -32.0) | vec3(-0.75, -0.75, -0.75) ];
633		}
634
635		both ""
636			#version 300 es
637			precision mediump float;
638
639			${DECLARATIONS}
640
641			void main()
642			{
643				${SETUP}
644				out0 = in0.xxx;
645				${OUTPUT}
646			}
647		""
648	end
649
650	case mediump_vec3_zzz
651		version 300 es
652		values
653		{
654			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
655			output vec3 out0 = [ vec3(0.75, 0.75, 0.75) | vec3(1.125, 1.125, 1.125) | vec3(-4.875, -4.875, -4.875) | vec3(-51.0, -51.0, -51.0) | vec3(0.0526315789474, 0.0526315789474, 0.0526315789474) ];
656		}
657
658		both ""
659			#version 300 es
660			precision mediump float;
661
662			${DECLARATIONS}
663
664			void main()
665			{
666				${SETUP}
667				out0 = in0.zzz;
668				${OUTPUT}
669			}
670		""
671	end
672
673	case mediump_vec3_zzy
674		version 300 es
675		values
676		{
677			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
678			output vec3 out0 = [ vec3(0.75, 0.75, 0.5) | vec3(1.125, 1.125, 1.25) | vec3(-4.875, -4.875, -2.25) | vec3(-51.0, -51.0, 64.0) | vec3(0.0526315789474, 0.0526315789474, -0.0322580645161) ];
679		}
680
681		both ""
682			#version 300 es
683			precision mediump float;
684
685			${DECLARATIONS}
686
687			void main()
688			{
689				${SETUP}
690				out0 = in0.zzy;
691				${OUTPUT}
692			}
693		""
694	end
695
696	case mediump_vec3_yxy
697		version 300 es
698		values
699		{
700			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
701			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
702		}
703
704		both ""
705			#version 300 es
706			precision mediump float;
707
708			${DECLARATIONS}
709
710			void main()
711			{
712				${SETUP}
713				out0 = in0.yxy;
714				${OUTPUT}
715			}
716		""
717	end
718
719	case mediump_vec3_xzx
720		version 300 es
721		values
722		{
723			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
724			output vec3 out0 = [ vec3(0.0, 0.75, 0.0) | vec3(1.0, 1.125, 1.0) | vec3(-0.5, -4.875, -0.5) | vec3(-32.0, -51.0, -32.0) | vec3(-0.75, 0.0526315789474, -0.75) ];
725		}
726
727		both ""
728			#version 300 es
729			precision mediump float;
730
731			${DECLARATIONS}
732
733			void main()
734			{
735				${SETUP}
736				out0 = in0.xzx;
737				${OUTPUT}
738			}
739		""
740	end
741
742	case mediump_vec3_xyyx
743		version 300 es
744		values
745		{
746			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
747			output vec4 out0 = [ vec4(0.0, 0.5, 0.5, 0.0) | vec4(1.0, 1.25, 1.25, 1.0) | vec4(-0.5, -2.25, -2.25, -0.5) | vec4(-32.0, 64.0, 64.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.0322580645161, -0.75) ];
748		}
749
750		both ""
751			#version 300 es
752			precision mediump float;
753
754			${DECLARATIONS}
755
756			void main()
757			{
758				${SETUP}
759				out0 = in0.xyyx;
760				${OUTPUT}
761			}
762		""
763	end
764
765	case mediump_vec3_zzzz
766		version 300 es
767		values
768		{
769			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
770			output vec4 out0 = [ vec4(0.75, 0.75, 0.75, 0.75) | vec4(1.125, 1.125, 1.125, 1.125) | vec4(-4.875, -4.875, -4.875, -4.875) | vec4(-51.0, -51.0, -51.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.0526315789474, 0.0526315789474) ];
771		}
772
773		both ""
774			#version 300 es
775			precision mediump float;
776
777			${DECLARATIONS}
778
779			void main()
780			{
781				${SETUP}
782				out0 = in0.zzzz;
783				${OUTPUT}
784			}
785		""
786	end
787
788	case mediump_vec3_s
789		version 300 es
790		values
791		{
792			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
793			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
794		}
795
796		both ""
797			#version 300 es
798			precision mediump float;
799
800			${DECLARATIONS}
801
802			void main()
803			{
804				${SETUP}
805				out0 = in0.s;
806				${OUTPUT}
807			}
808		""
809	end
810
811	case mediump_vec3_p
812		version 300 es
813		values
814		{
815			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
816			output float out0 = [ 0.75 | 1.125 | -4.875 | -51.0 | 0.0526315789474 ];
817		}
818
819		both ""
820			#version 300 es
821			precision mediump float;
822
823			${DECLARATIONS}
824
825			void main()
826			{
827				${SETUP}
828				out0 = in0.p;
829				${OUTPUT}
830			}
831		""
832	end
833
834	case mediump_vec3_sp
835		version 300 es
836		values
837		{
838			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
839			output vec2 out0 = [ vec2(0.0, 0.75) | vec2(1.0, 1.125) | vec2(-0.5, -4.875) | vec2(-32.0, -51.0) | vec2(-0.75, 0.0526315789474) ];
840		}
841
842		both ""
843			#version 300 es
844			precision mediump float;
845
846			${DECLARATIONS}
847
848			void main()
849			{
850				${SETUP}
851				out0 = in0.sp;
852				${OUTPUT}
853			}
854		""
855	end
856
857	case mediump_vec3_pp
858		version 300 es
859		values
860		{
861			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
862			output vec2 out0 = [ vec2(0.75, 0.75) | vec2(1.125, 1.125) | vec2(-4.875, -4.875) | vec2(-51.0, -51.0) | vec2(0.0526315789474, 0.0526315789474) ];
863		}
864
865		both ""
866			#version 300 es
867			precision mediump float;
868
869			${DECLARATIONS}
870
871			void main()
872			{
873				${SETUP}
874				out0 = in0.pp;
875				${OUTPUT}
876			}
877		""
878	end
879
880	case mediump_vec3_stp
881		version 300 es
882		values
883		{
884			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
885			output vec3 out0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
886		}
887
888		both ""
889			#version 300 es
890			precision mediump float;
891
892			${DECLARATIONS}
893
894			void main()
895			{
896				${SETUP}
897				out0 = in0.stp;
898				${OUTPUT}
899			}
900		""
901	end
902
903	case mediump_vec3_pts
904		version 300 es
905		values
906		{
907			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
908			output vec3 out0 = [ vec3(0.75, 0.5, 0.0) | vec3(1.125, 1.25, 1.0) | vec3(-4.875, -2.25, -0.5) | vec3(-51.0, 64.0, -32.0) | vec3(0.0526315789474, -0.0322580645161, -0.75) ];
909		}
910
911		both ""
912			#version 300 es
913			precision mediump float;
914
915			${DECLARATIONS}
916
917			void main()
918			{
919				${SETUP}
920				out0 = in0.pts;
921				${OUTPUT}
922			}
923		""
924	end
925
926	case mediump_vec3_sss
927		version 300 es
928		values
929		{
930			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
931			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(-0.5, -0.5, -0.5) | vec3(-32.0, -32.0, -32.0) | vec3(-0.75, -0.75, -0.75) ];
932		}
933
934		both ""
935			#version 300 es
936			precision mediump float;
937
938			${DECLARATIONS}
939
940			void main()
941			{
942				${SETUP}
943				out0 = in0.sss;
944				${OUTPUT}
945			}
946		""
947	end
948
949	case mediump_vec3_ppp
950		version 300 es
951		values
952		{
953			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
954			output vec3 out0 = [ vec3(0.75, 0.75, 0.75) | vec3(1.125, 1.125, 1.125) | vec3(-4.875, -4.875, -4.875) | vec3(-51.0, -51.0, -51.0) | vec3(0.0526315789474, 0.0526315789474, 0.0526315789474) ];
955		}
956
957		both ""
958			#version 300 es
959			precision mediump float;
960
961			${DECLARATIONS}
962
963			void main()
964			{
965				${SETUP}
966				out0 = in0.ppp;
967				${OUTPUT}
968			}
969		""
970	end
971
972	case mediump_vec3_ppt
973		version 300 es
974		values
975		{
976			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
977			output vec3 out0 = [ vec3(0.75, 0.75, 0.5) | vec3(1.125, 1.125, 1.25) | vec3(-4.875, -4.875, -2.25) | vec3(-51.0, -51.0, 64.0) | vec3(0.0526315789474, 0.0526315789474, -0.0322580645161) ];
978		}
979
980		both ""
981			#version 300 es
982			precision mediump float;
983
984			${DECLARATIONS}
985
986			void main()
987			{
988				${SETUP}
989				out0 = in0.ppt;
990				${OUTPUT}
991			}
992		""
993	end
994
995	case mediump_vec3_tst
996		version 300 es
997		values
998		{
999			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1000			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
1001		}
1002
1003		both ""
1004			#version 300 es
1005			precision mediump float;
1006
1007			${DECLARATIONS}
1008
1009			void main()
1010			{
1011				${SETUP}
1012				out0 = in0.tst;
1013				${OUTPUT}
1014			}
1015		""
1016	end
1017
1018	case mediump_vec3_sps
1019		version 300 es
1020		values
1021		{
1022			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1023			output vec3 out0 = [ vec3(0.0, 0.75, 0.0) | vec3(1.0, 1.125, 1.0) | vec3(-0.5, -4.875, -0.5) | vec3(-32.0, -51.0, -32.0) | vec3(-0.75, 0.0526315789474, -0.75) ];
1024		}
1025
1026		both ""
1027			#version 300 es
1028			precision mediump float;
1029
1030			${DECLARATIONS}
1031
1032			void main()
1033			{
1034				${SETUP}
1035				out0 = in0.sps;
1036				${OUTPUT}
1037			}
1038		""
1039	end
1040
1041	case mediump_vec3_stts
1042		version 300 es
1043		values
1044		{
1045			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1046			output vec4 out0 = [ vec4(0.0, 0.5, 0.5, 0.0) | vec4(1.0, 1.25, 1.25, 1.0) | vec4(-0.5, -2.25, -2.25, -0.5) | vec4(-32.0, 64.0, 64.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.0322580645161, -0.75) ];
1047		}
1048
1049		both ""
1050			#version 300 es
1051			precision mediump float;
1052
1053			${DECLARATIONS}
1054
1055			void main()
1056			{
1057				${SETUP}
1058				out0 = in0.stts;
1059				${OUTPUT}
1060			}
1061		""
1062	end
1063
1064	case mediump_vec3_pppp
1065		version 300 es
1066		values
1067		{
1068			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1069			output vec4 out0 = [ vec4(0.75, 0.75, 0.75, 0.75) | vec4(1.125, 1.125, 1.125, 1.125) | vec4(-4.875, -4.875, -4.875, -4.875) | vec4(-51.0, -51.0, -51.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.0526315789474, 0.0526315789474) ];
1070		}
1071
1072		both ""
1073			#version 300 es
1074			precision mediump float;
1075
1076			${DECLARATIONS}
1077
1078			void main()
1079			{
1080				${SETUP}
1081				out0 = in0.pppp;
1082				${OUTPUT}
1083			}
1084		""
1085	end
1086
1087	case mediump_vec3_r
1088		version 300 es
1089		values
1090		{
1091			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1092			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1093		}
1094
1095		both ""
1096			#version 300 es
1097			precision mediump float;
1098
1099			${DECLARATIONS}
1100
1101			void main()
1102			{
1103				${SETUP}
1104				out0 = in0.r;
1105				${OUTPUT}
1106			}
1107		""
1108	end
1109
1110	case mediump_vec3_b
1111		version 300 es
1112		values
1113		{
1114			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1115			output float out0 = [ 0.75 | 1.125 | -4.875 | -51.0 | 0.0526315789474 ];
1116		}
1117
1118		both ""
1119			#version 300 es
1120			precision mediump float;
1121
1122			${DECLARATIONS}
1123
1124			void main()
1125			{
1126				${SETUP}
1127				out0 = in0.b;
1128				${OUTPUT}
1129			}
1130		""
1131	end
1132
1133	case mediump_vec3_rb
1134		version 300 es
1135		values
1136		{
1137			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1138			output vec2 out0 = [ vec2(0.0, 0.75) | vec2(1.0, 1.125) | vec2(-0.5, -4.875) | vec2(-32.0, -51.0) | vec2(-0.75, 0.0526315789474) ];
1139		}
1140
1141		both ""
1142			#version 300 es
1143			precision mediump float;
1144
1145			${DECLARATIONS}
1146
1147			void main()
1148			{
1149				${SETUP}
1150				out0 = in0.rb;
1151				${OUTPUT}
1152			}
1153		""
1154	end
1155
1156	case mediump_vec3_bb
1157		version 300 es
1158		values
1159		{
1160			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1161			output vec2 out0 = [ vec2(0.75, 0.75) | vec2(1.125, 1.125) | vec2(-4.875, -4.875) | vec2(-51.0, -51.0) | vec2(0.0526315789474, 0.0526315789474) ];
1162		}
1163
1164		both ""
1165			#version 300 es
1166			precision mediump float;
1167
1168			${DECLARATIONS}
1169
1170			void main()
1171			{
1172				${SETUP}
1173				out0 = in0.bb;
1174				${OUTPUT}
1175			}
1176		""
1177	end
1178
1179	case mediump_vec3_rgb
1180		version 300 es
1181		values
1182		{
1183			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1184			output vec3 out0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1185		}
1186
1187		both ""
1188			#version 300 es
1189			precision mediump float;
1190
1191			${DECLARATIONS}
1192
1193			void main()
1194			{
1195				${SETUP}
1196				out0 = in0.rgb;
1197				${OUTPUT}
1198			}
1199		""
1200	end
1201
1202	case mediump_vec3_bgr
1203		version 300 es
1204		values
1205		{
1206			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1207			output vec3 out0 = [ vec3(0.75, 0.5, 0.0) | vec3(1.125, 1.25, 1.0) | vec3(-4.875, -2.25, -0.5) | vec3(-51.0, 64.0, -32.0) | vec3(0.0526315789474, -0.0322580645161, -0.75) ];
1208		}
1209
1210		both ""
1211			#version 300 es
1212			precision mediump float;
1213
1214			${DECLARATIONS}
1215
1216			void main()
1217			{
1218				${SETUP}
1219				out0 = in0.bgr;
1220				${OUTPUT}
1221			}
1222		""
1223	end
1224
1225	case mediump_vec3_rrr
1226		version 300 es
1227		values
1228		{
1229			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1230			output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(-0.5, -0.5, -0.5) | vec3(-32.0, -32.0, -32.0) | vec3(-0.75, -0.75, -0.75) ];
1231		}
1232
1233		both ""
1234			#version 300 es
1235			precision mediump float;
1236
1237			${DECLARATIONS}
1238
1239			void main()
1240			{
1241				${SETUP}
1242				out0 = in0.rrr;
1243				${OUTPUT}
1244			}
1245		""
1246	end
1247
1248	case mediump_vec3_bbb
1249		version 300 es
1250		values
1251		{
1252			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1253			output vec3 out0 = [ vec3(0.75, 0.75, 0.75) | vec3(1.125, 1.125, 1.125) | vec3(-4.875, -4.875, -4.875) | vec3(-51.0, -51.0, -51.0) | vec3(0.0526315789474, 0.0526315789474, 0.0526315789474) ];
1254		}
1255
1256		both ""
1257			#version 300 es
1258			precision mediump float;
1259
1260			${DECLARATIONS}
1261
1262			void main()
1263			{
1264				${SETUP}
1265				out0 = in0.bbb;
1266				${OUTPUT}
1267			}
1268		""
1269	end
1270
1271	case mediump_vec3_bbg
1272		version 300 es
1273		values
1274		{
1275			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1276			output vec3 out0 = [ vec3(0.75, 0.75, 0.5) | vec3(1.125, 1.125, 1.25) | vec3(-4.875, -4.875, -2.25) | vec3(-51.0, -51.0, 64.0) | vec3(0.0526315789474, 0.0526315789474, -0.0322580645161) ];
1277		}
1278
1279		both ""
1280			#version 300 es
1281			precision mediump float;
1282
1283			${DECLARATIONS}
1284
1285			void main()
1286			{
1287				${SETUP}
1288				out0 = in0.bbg;
1289				${OUTPUT}
1290			}
1291		""
1292	end
1293
1294	case mediump_vec3_grg
1295		version 300 es
1296		values
1297		{
1298			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1299			output vec3 out0 = [ vec3(0.5, 0.0, 0.5) | vec3(1.25, 1.0, 1.25) | vec3(-2.25, -0.5, -2.25) | vec3(64.0, -32.0, 64.0) | vec3(-0.0322580645161, -0.75, -0.0322580645161) ];
1300		}
1301
1302		both ""
1303			#version 300 es
1304			precision mediump float;
1305
1306			${DECLARATIONS}
1307
1308			void main()
1309			{
1310				${SETUP}
1311				out0 = in0.grg;
1312				${OUTPUT}
1313			}
1314		""
1315	end
1316
1317	case mediump_vec3_rbr
1318		version 300 es
1319		values
1320		{
1321			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1322			output vec3 out0 = [ vec3(0.0, 0.75, 0.0) | vec3(1.0, 1.125, 1.0) | vec3(-0.5, -4.875, -0.5) | vec3(-32.0, -51.0, -32.0) | vec3(-0.75, 0.0526315789474, -0.75) ];
1323		}
1324
1325		both ""
1326			#version 300 es
1327			precision mediump float;
1328
1329			${DECLARATIONS}
1330
1331			void main()
1332			{
1333				${SETUP}
1334				out0 = in0.rbr;
1335				${OUTPUT}
1336			}
1337		""
1338	end
1339
1340	case mediump_vec3_rggr
1341		version 300 es
1342		values
1343		{
1344			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1345			output vec4 out0 = [ vec4(0.0, 0.5, 0.5, 0.0) | vec4(1.0, 1.25, 1.25, 1.0) | vec4(-0.5, -2.25, -2.25, -0.5) | vec4(-32.0, 64.0, 64.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.0322580645161, -0.75) ];
1346		}
1347
1348		both ""
1349			#version 300 es
1350			precision mediump float;
1351
1352			${DECLARATIONS}
1353
1354			void main()
1355			{
1356				${SETUP}
1357				out0 = in0.rggr;
1358				${OUTPUT}
1359			}
1360		""
1361	end
1362
1363	case mediump_vec3_bbbb
1364		version 300 es
1365		values
1366		{
1367			input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ];
1368			output vec4 out0 = [ vec4(0.75, 0.75, 0.75, 0.75) | vec4(1.125, 1.125, 1.125, 1.125) | vec4(-4.875, -4.875, -4.875, -4.875) | vec4(-51.0, -51.0, -51.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.0526315789474, 0.0526315789474) ];
1369		}
1370
1371		both ""
1372			#version 300 es
1373			precision mediump float;
1374
1375			${DECLARATIONS}
1376
1377			void main()
1378			{
1379				${SETUP}
1380				out0 = in0.bbbb;
1381				${OUTPUT}
1382			}
1383		""
1384	end
1385
1386	case mediump_vec4_x
1387		version 300 es
1388		values
1389		{
1390			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1391			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1392		}
1393
1394		both ""
1395			#version 300 es
1396			precision mediump float;
1397
1398			${DECLARATIONS}
1399
1400			void main()
1401			{
1402				${SETUP}
1403				out0 = in0.x;
1404				${OUTPUT}
1405			}
1406		""
1407	end
1408
1409	case mediump_vec4_w
1410		version 300 es
1411		values
1412		{
1413			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1414			output float out0 = [ 0.825 | 1.75 | 9.0 | 24.0 | 0.25 ];
1415		}
1416
1417		both ""
1418			#version 300 es
1419			precision mediump float;
1420
1421			${DECLARATIONS}
1422
1423			void main()
1424			{
1425				${SETUP}
1426				out0 = in0.w;
1427				${OUTPUT}
1428			}
1429		""
1430	end
1431
1432	case mediump_vec4_wx
1433		version 300 es
1434		values
1435		{
1436			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1437			output vec2 out0 = [ vec2(0.825, 0.0) | vec2(1.75, 1.0) | vec2(9.0, -0.5) | vec2(24.0, -32.0) | vec2(0.25, -0.75) ];
1438		}
1439
1440		both ""
1441			#version 300 es
1442			precision mediump float;
1443
1444			${DECLARATIONS}
1445
1446			void main()
1447			{
1448				${SETUP}
1449				out0 = in0.wx;
1450				${OUTPUT}
1451			}
1452		""
1453	end
1454
1455	case mediump_vec4_wz
1456		version 300 es
1457		values
1458		{
1459			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1460			output vec2 out0 = [ vec2(0.825, 0.75) | vec2(1.75, 1.125) | vec2(9.0, -4.875) | vec2(24.0, -51.0) | vec2(0.25, 0.0526315789474) ];
1461		}
1462
1463		both ""
1464			#version 300 es
1465			precision mediump float;
1466
1467			${DECLARATIONS}
1468
1469			void main()
1470			{
1471				${SETUP}
1472				out0 = in0.wz;
1473				${OUTPUT}
1474			}
1475		""
1476	end
1477
1478	case mediump_vec4_www
1479		version 300 es
1480		values
1481		{
1482			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1483			output vec3 out0 = [ vec3(0.825, 0.825, 0.825) | vec3(1.75, 1.75, 1.75) | vec3(9.0, 9.0, 9.0) | vec3(24.0, 24.0, 24.0) | vec3(0.25, 0.25, 0.25) ];
1484		}
1485
1486		both ""
1487			#version 300 es
1488			precision mediump float;
1489
1490			${DECLARATIONS}
1491
1492			void main()
1493			{
1494				${SETUP}
1495				out0 = in0.www;
1496				${OUTPUT}
1497			}
1498		""
1499	end
1500
1501	case mediump_vec4_yyw
1502		version 300 es
1503		values
1504		{
1505			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1506			output vec3 out0 = [ vec3(0.5, 0.5, 0.825) | vec3(1.25, 1.25, 1.75) | vec3(-2.25, -2.25, 9.0) | vec3(64.0, 64.0, 24.0) | vec3(-0.0322580645161, -0.0322580645161, 0.25) ];
1507		}
1508
1509		both ""
1510			#version 300 es
1511			precision mediump float;
1512
1513			${DECLARATIONS}
1514
1515			void main()
1516			{
1517				${SETUP}
1518				out0 = in0.yyw;
1519				${OUTPUT}
1520			}
1521		""
1522	end
1523
1524	case mediump_vec4_wzy
1525		version 300 es
1526		values
1527		{
1528			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1529			output vec3 out0 = [ vec3(0.825, 0.75, 0.5) | vec3(1.75, 1.125, 1.25) | vec3(9.0, -4.875, -2.25) | vec3(24.0, -51.0, 64.0) | vec3(0.25, 0.0526315789474, -0.0322580645161) ];
1530		}
1531
1532		both ""
1533			#version 300 es
1534			precision mediump float;
1535
1536			${DECLARATIONS}
1537
1538			void main()
1539			{
1540				${SETUP}
1541				out0 = in0.wzy;
1542				${OUTPUT}
1543			}
1544		""
1545	end
1546
1547	case mediump_vec4_xyzw
1548		version 300 es
1549		values
1550		{
1551			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1552			output vec4 out0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1553		}
1554
1555		both ""
1556			#version 300 es
1557			precision mediump float;
1558
1559			${DECLARATIONS}
1560
1561			void main()
1562			{
1563				${SETUP}
1564				out0 = in0.xyzw;
1565				${OUTPUT}
1566			}
1567		""
1568	end
1569
1570	case mediump_vec4_wzyx
1571		version 300 es
1572		values
1573		{
1574			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1575			output vec4 out0 = [ vec4(0.825, 0.75, 0.5, 0.0) | vec4(1.75, 1.125, 1.25, 1.0) | vec4(9.0, -4.875, -2.25, -0.5) | vec4(24.0, -51.0, 64.0, -32.0) | vec4(0.25, 0.0526315789474, -0.0322580645161, -0.75) ];
1576		}
1577
1578		both ""
1579			#version 300 es
1580			precision mediump float;
1581
1582			${DECLARATIONS}
1583
1584			void main()
1585			{
1586				${SETUP}
1587				out0 = in0.wzyx;
1588				${OUTPUT}
1589			}
1590		""
1591	end
1592
1593	case mediump_vec4_xxxx
1594		version 300 es
1595		values
1596		{
1597			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1598			output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(-0.5, -0.5, -0.5, -0.5) | vec4(-32.0, -32.0, -32.0, -32.0) | vec4(-0.75, -0.75, -0.75, -0.75) ];
1599		}
1600
1601		both ""
1602			#version 300 es
1603			precision mediump float;
1604
1605			${DECLARATIONS}
1606
1607			void main()
1608			{
1609				${SETUP}
1610				out0 = in0.xxxx;
1611				${OUTPUT}
1612			}
1613		""
1614	end
1615
1616	case mediump_vec4_yyyy
1617		version 300 es
1618		values
1619		{
1620			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1621			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
1622		}
1623
1624		both ""
1625			#version 300 es
1626			precision mediump float;
1627
1628			${DECLARATIONS}
1629
1630			void main()
1631			{
1632				${SETUP}
1633				out0 = in0.yyyy;
1634				${OUTPUT}
1635			}
1636		""
1637	end
1638
1639	case mediump_vec4_wwww
1640		version 300 es
1641		values
1642		{
1643			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1644			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.825) | vec4(1.75, 1.75, 1.75, 1.75) | vec4(9.0, 9.0, 9.0, 9.0) | vec4(24.0, 24.0, 24.0, 24.0) | vec4(0.25, 0.25, 0.25, 0.25) ];
1645		}
1646
1647		both ""
1648			#version 300 es
1649			precision mediump float;
1650
1651			${DECLARATIONS}
1652
1653			void main()
1654			{
1655				${SETUP}
1656				out0 = in0.wwww;
1657				${OUTPUT}
1658			}
1659		""
1660	end
1661
1662	case mediump_vec4_wzzw
1663		version 300 es
1664		values
1665		{
1666			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1667			output vec4 out0 = [ vec4(0.825, 0.75, 0.75, 0.825) | vec4(1.75, 1.125, 1.125, 1.75) | vec4(9.0, -4.875, -4.875, 9.0) | vec4(24.0, -51.0, -51.0, 24.0) | vec4(0.25, 0.0526315789474, 0.0526315789474, 0.25) ];
1668		}
1669
1670		both ""
1671			#version 300 es
1672			precision mediump float;
1673
1674			${DECLARATIONS}
1675
1676			void main()
1677			{
1678				${SETUP}
1679				out0 = in0.wzzw;
1680				${OUTPUT}
1681			}
1682		""
1683	end
1684
1685	case mediump_vec4_wwwy
1686		version 300 es
1687		values
1688		{
1689			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1690			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.5) | vec4(1.75, 1.75, 1.75, 1.25) | vec4(9.0, 9.0, 9.0, -2.25) | vec4(24.0, 24.0, 24.0, 64.0) | vec4(0.25, 0.25, 0.25, -0.0322580645161) ];
1691		}
1692
1693		both ""
1694			#version 300 es
1695			precision mediump float;
1696
1697			${DECLARATIONS}
1698
1699			void main()
1700			{
1701				${SETUP}
1702				out0 = in0.wwwy;
1703				${OUTPUT}
1704			}
1705		""
1706	end
1707
1708	case mediump_vec4_xyxx
1709		version 300 es
1710		values
1711		{
1712			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1713			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
1714		}
1715
1716		both ""
1717			#version 300 es
1718			precision mediump float;
1719
1720			${DECLARATIONS}
1721
1722			void main()
1723			{
1724				${SETUP}
1725				out0 = in0.xyxx;
1726				${OUTPUT}
1727			}
1728		""
1729	end
1730
1731	case mediump_vec4_zzwz
1732		version 300 es
1733		values
1734		{
1735			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1736			output vec4 out0 = [ vec4(0.75, 0.75, 0.825, 0.75) | vec4(1.125, 1.125, 1.75, 1.125) | vec4(-4.875, -4.875, 9.0, -4.875) | vec4(-51.0, -51.0, 24.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.25, 0.0526315789474) ];
1737		}
1738
1739		both ""
1740			#version 300 es
1741			precision mediump float;
1742
1743			${DECLARATIONS}
1744
1745			void main()
1746			{
1747				${SETUP}
1748				out0 = in0.zzwz;
1749				${OUTPUT}
1750			}
1751		""
1752	end
1753
1754	case mediump_vec4_s
1755		version 300 es
1756		values
1757		{
1758			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1759			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
1760		}
1761
1762		both ""
1763			#version 300 es
1764			precision mediump float;
1765
1766			${DECLARATIONS}
1767
1768			void main()
1769			{
1770				${SETUP}
1771				out0 = in0.s;
1772				${OUTPUT}
1773			}
1774		""
1775	end
1776
1777	case mediump_vec4_q
1778		version 300 es
1779		values
1780		{
1781			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1782			output float out0 = [ 0.825 | 1.75 | 9.0 | 24.0 | 0.25 ];
1783		}
1784
1785		both ""
1786			#version 300 es
1787			precision mediump float;
1788
1789			${DECLARATIONS}
1790
1791			void main()
1792			{
1793				${SETUP}
1794				out0 = in0.q;
1795				${OUTPUT}
1796			}
1797		""
1798	end
1799
1800	case mediump_vec4_qs
1801		version 300 es
1802		values
1803		{
1804			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1805			output vec2 out0 = [ vec2(0.825, 0.0) | vec2(1.75, 1.0) | vec2(9.0, -0.5) | vec2(24.0, -32.0) | vec2(0.25, -0.75) ];
1806		}
1807
1808		both ""
1809			#version 300 es
1810			precision mediump float;
1811
1812			${DECLARATIONS}
1813
1814			void main()
1815			{
1816				${SETUP}
1817				out0 = in0.qs;
1818				${OUTPUT}
1819			}
1820		""
1821	end
1822
1823	case mediump_vec4_qp
1824		version 300 es
1825		values
1826		{
1827			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1828			output vec2 out0 = [ vec2(0.825, 0.75) | vec2(1.75, 1.125) | vec2(9.0, -4.875) | vec2(24.0, -51.0) | vec2(0.25, 0.0526315789474) ];
1829		}
1830
1831		both ""
1832			#version 300 es
1833			precision mediump float;
1834
1835			${DECLARATIONS}
1836
1837			void main()
1838			{
1839				${SETUP}
1840				out0 = in0.qp;
1841				${OUTPUT}
1842			}
1843		""
1844	end
1845
1846	case mediump_vec4_qqq
1847		version 300 es
1848		values
1849		{
1850			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1851			output vec3 out0 = [ vec3(0.825, 0.825, 0.825) | vec3(1.75, 1.75, 1.75) | vec3(9.0, 9.0, 9.0) | vec3(24.0, 24.0, 24.0) | vec3(0.25, 0.25, 0.25) ];
1852		}
1853
1854		both ""
1855			#version 300 es
1856			precision mediump float;
1857
1858			${DECLARATIONS}
1859
1860			void main()
1861			{
1862				${SETUP}
1863				out0 = in0.qqq;
1864				${OUTPUT}
1865			}
1866		""
1867	end
1868
1869	case mediump_vec4_ttq
1870		version 300 es
1871		values
1872		{
1873			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1874			output vec3 out0 = [ vec3(0.5, 0.5, 0.825) | vec3(1.25, 1.25, 1.75) | vec3(-2.25, -2.25, 9.0) | vec3(64.0, 64.0, 24.0) | vec3(-0.0322580645161, -0.0322580645161, 0.25) ];
1875		}
1876
1877		both ""
1878			#version 300 es
1879			precision mediump float;
1880
1881			${DECLARATIONS}
1882
1883			void main()
1884			{
1885				${SETUP}
1886				out0 = in0.ttq;
1887				${OUTPUT}
1888			}
1889		""
1890	end
1891
1892	case mediump_vec4_qpt
1893		version 300 es
1894		values
1895		{
1896			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1897			output vec3 out0 = [ vec3(0.825, 0.75, 0.5) | vec3(1.75, 1.125, 1.25) | vec3(9.0, -4.875, -2.25) | vec3(24.0, -51.0, 64.0) | vec3(0.25, 0.0526315789474, -0.0322580645161) ];
1898		}
1899
1900		both ""
1901			#version 300 es
1902			precision mediump float;
1903
1904			${DECLARATIONS}
1905
1906			void main()
1907			{
1908				${SETUP}
1909				out0 = in0.qpt;
1910				${OUTPUT}
1911			}
1912		""
1913	end
1914
1915	case mediump_vec4_stpq
1916		version 300 es
1917		values
1918		{
1919			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1920			output vec4 out0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1921		}
1922
1923		both ""
1924			#version 300 es
1925			precision mediump float;
1926
1927			${DECLARATIONS}
1928
1929			void main()
1930			{
1931				${SETUP}
1932				out0 = in0.stpq;
1933				${OUTPUT}
1934			}
1935		""
1936	end
1937
1938	case mediump_vec4_qpts
1939		version 300 es
1940		values
1941		{
1942			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1943			output vec4 out0 = [ vec4(0.825, 0.75, 0.5, 0.0) | vec4(1.75, 1.125, 1.25, 1.0) | vec4(9.0, -4.875, -2.25, -0.5) | vec4(24.0, -51.0, 64.0, -32.0) | vec4(0.25, 0.0526315789474, -0.0322580645161, -0.75) ];
1944		}
1945
1946		both ""
1947			#version 300 es
1948			precision mediump float;
1949
1950			${DECLARATIONS}
1951
1952			void main()
1953			{
1954				${SETUP}
1955				out0 = in0.qpts;
1956				${OUTPUT}
1957			}
1958		""
1959	end
1960
1961	case mediump_vec4_ssss
1962		version 300 es
1963		values
1964		{
1965			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1966			output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(-0.5, -0.5, -0.5, -0.5) | vec4(-32.0, -32.0, -32.0, -32.0) | vec4(-0.75, -0.75, -0.75, -0.75) ];
1967		}
1968
1969		both ""
1970			#version 300 es
1971			precision mediump float;
1972
1973			${DECLARATIONS}
1974
1975			void main()
1976			{
1977				${SETUP}
1978				out0 = in0.ssss;
1979				${OUTPUT}
1980			}
1981		""
1982	end
1983
1984	case mediump_vec4_tttt
1985		version 300 es
1986		values
1987		{
1988			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
1989			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
1990		}
1991
1992		both ""
1993			#version 300 es
1994			precision mediump float;
1995
1996			${DECLARATIONS}
1997
1998			void main()
1999			{
2000				${SETUP}
2001				out0 = in0.tttt;
2002				${OUTPUT}
2003			}
2004		""
2005	end
2006
2007	case mediump_vec4_qqqq
2008		version 300 es
2009		values
2010		{
2011			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2012			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.825) | vec4(1.75, 1.75, 1.75, 1.75) | vec4(9.0, 9.0, 9.0, 9.0) | vec4(24.0, 24.0, 24.0, 24.0) | vec4(0.25, 0.25, 0.25, 0.25) ];
2013		}
2014
2015		both ""
2016			#version 300 es
2017			precision mediump float;
2018
2019			${DECLARATIONS}
2020
2021			void main()
2022			{
2023				${SETUP}
2024				out0 = in0.qqqq;
2025				${OUTPUT}
2026			}
2027		""
2028	end
2029
2030	case mediump_vec4_qppq
2031		version 300 es
2032		values
2033		{
2034			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2035			output vec4 out0 = [ vec4(0.825, 0.75, 0.75, 0.825) | vec4(1.75, 1.125, 1.125, 1.75) | vec4(9.0, -4.875, -4.875, 9.0) | vec4(24.0, -51.0, -51.0, 24.0) | vec4(0.25, 0.0526315789474, 0.0526315789474, 0.25) ];
2036		}
2037
2038		both ""
2039			#version 300 es
2040			precision mediump float;
2041
2042			${DECLARATIONS}
2043
2044			void main()
2045			{
2046				${SETUP}
2047				out0 = in0.qppq;
2048				${OUTPUT}
2049			}
2050		""
2051	end
2052
2053	case mediump_vec4_qqqt
2054		version 300 es
2055		values
2056		{
2057			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2058			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.5) | vec4(1.75, 1.75, 1.75, 1.25) | vec4(9.0, 9.0, 9.0, -2.25) | vec4(24.0, 24.0, 24.0, 64.0) | vec4(0.25, 0.25, 0.25, -0.0322580645161) ];
2059		}
2060
2061		both ""
2062			#version 300 es
2063			precision mediump float;
2064
2065			${DECLARATIONS}
2066
2067			void main()
2068			{
2069				${SETUP}
2070				out0 = in0.qqqt;
2071				${OUTPUT}
2072			}
2073		""
2074	end
2075
2076	case mediump_vec4_stss
2077		version 300 es
2078		values
2079		{
2080			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2081			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
2082		}
2083
2084		both ""
2085			#version 300 es
2086			precision mediump float;
2087
2088			${DECLARATIONS}
2089
2090			void main()
2091			{
2092				${SETUP}
2093				out0 = in0.stss;
2094				${OUTPUT}
2095			}
2096		""
2097	end
2098
2099	case mediump_vec4_ppqp
2100		version 300 es
2101		values
2102		{
2103			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2104			output vec4 out0 = [ vec4(0.75, 0.75, 0.825, 0.75) | vec4(1.125, 1.125, 1.75, 1.125) | vec4(-4.875, -4.875, 9.0, -4.875) | vec4(-51.0, -51.0, 24.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.25, 0.0526315789474) ];
2105		}
2106
2107		both ""
2108			#version 300 es
2109			precision mediump float;
2110
2111			${DECLARATIONS}
2112
2113			void main()
2114			{
2115				${SETUP}
2116				out0 = in0.ppqp;
2117				${OUTPUT}
2118			}
2119		""
2120	end
2121
2122	case mediump_vec4_r
2123		version 300 es
2124		values
2125		{
2126			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2127			output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ];
2128		}
2129
2130		both ""
2131			#version 300 es
2132			precision mediump float;
2133
2134			${DECLARATIONS}
2135
2136			void main()
2137			{
2138				${SETUP}
2139				out0 = in0.r;
2140				${OUTPUT}
2141			}
2142		""
2143	end
2144
2145	case mediump_vec4_a
2146		version 300 es
2147		values
2148		{
2149			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2150			output float out0 = [ 0.825 | 1.75 | 9.0 | 24.0 | 0.25 ];
2151		}
2152
2153		both ""
2154			#version 300 es
2155			precision mediump float;
2156
2157			${DECLARATIONS}
2158
2159			void main()
2160			{
2161				${SETUP}
2162				out0 = in0.a;
2163				${OUTPUT}
2164			}
2165		""
2166	end
2167
2168	case mediump_vec4_ar
2169		version 300 es
2170		values
2171		{
2172			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2173			output vec2 out0 = [ vec2(0.825, 0.0) | vec2(1.75, 1.0) | vec2(9.0, -0.5) | vec2(24.0, -32.0) | vec2(0.25, -0.75) ];
2174		}
2175
2176		both ""
2177			#version 300 es
2178			precision mediump float;
2179
2180			${DECLARATIONS}
2181
2182			void main()
2183			{
2184				${SETUP}
2185				out0 = in0.ar;
2186				${OUTPUT}
2187			}
2188		""
2189	end
2190
2191	case mediump_vec4_ab
2192		version 300 es
2193		values
2194		{
2195			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2196			output vec2 out0 = [ vec2(0.825, 0.75) | vec2(1.75, 1.125) | vec2(9.0, -4.875) | vec2(24.0, -51.0) | vec2(0.25, 0.0526315789474) ];
2197		}
2198
2199		both ""
2200			#version 300 es
2201			precision mediump float;
2202
2203			${DECLARATIONS}
2204
2205			void main()
2206			{
2207				${SETUP}
2208				out0 = in0.ab;
2209				${OUTPUT}
2210			}
2211		""
2212	end
2213
2214	case mediump_vec4_aaa
2215		version 300 es
2216		values
2217		{
2218			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2219			output vec3 out0 = [ vec3(0.825, 0.825, 0.825) | vec3(1.75, 1.75, 1.75) | vec3(9.0, 9.0, 9.0) | vec3(24.0, 24.0, 24.0) | vec3(0.25, 0.25, 0.25) ];
2220		}
2221
2222		both ""
2223			#version 300 es
2224			precision mediump float;
2225
2226			${DECLARATIONS}
2227
2228			void main()
2229			{
2230				${SETUP}
2231				out0 = in0.aaa;
2232				${OUTPUT}
2233			}
2234		""
2235	end
2236
2237	case mediump_vec4_gga
2238		version 300 es
2239		values
2240		{
2241			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2242			output vec3 out0 = [ vec3(0.5, 0.5, 0.825) | vec3(1.25, 1.25, 1.75) | vec3(-2.25, -2.25, 9.0) | vec3(64.0, 64.0, 24.0) | vec3(-0.0322580645161, -0.0322580645161, 0.25) ];
2243		}
2244
2245		both ""
2246			#version 300 es
2247			precision mediump float;
2248
2249			${DECLARATIONS}
2250
2251			void main()
2252			{
2253				${SETUP}
2254				out0 = in0.gga;
2255				${OUTPUT}
2256			}
2257		""
2258	end
2259
2260	case mediump_vec4_abg
2261		version 300 es
2262		values
2263		{
2264			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2265			output vec3 out0 = [ vec3(0.825, 0.75, 0.5) | vec3(1.75, 1.125, 1.25) | vec3(9.0, -4.875, -2.25) | vec3(24.0, -51.0, 64.0) | vec3(0.25, 0.0526315789474, -0.0322580645161) ];
2266		}
2267
2268		both ""
2269			#version 300 es
2270			precision mediump float;
2271
2272			${DECLARATIONS}
2273
2274			void main()
2275			{
2276				${SETUP}
2277				out0 = in0.abg;
2278				${OUTPUT}
2279			}
2280		""
2281	end
2282
2283	case mediump_vec4_rgba
2284		version 300 es
2285		values
2286		{
2287			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2288			output vec4 out0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2289		}
2290
2291		both ""
2292			#version 300 es
2293			precision mediump float;
2294
2295			${DECLARATIONS}
2296
2297			void main()
2298			{
2299				${SETUP}
2300				out0 = in0.rgba;
2301				${OUTPUT}
2302			}
2303		""
2304	end
2305
2306	case mediump_vec4_abgr
2307		version 300 es
2308		values
2309		{
2310			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2311			output vec4 out0 = [ vec4(0.825, 0.75, 0.5, 0.0) | vec4(1.75, 1.125, 1.25, 1.0) | vec4(9.0, -4.875, -2.25, -0.5) | vec4(24.0, -51.0, 64.0, -32.0) | vec4(0.25, 0.0526315789474, -0.0322580645161, -0.75) ];
2312		}
2313
2314		both ""
2315			#version 300 es
2316			precision mediump float;
2317
2318			${DECLARATIONS}
2319
2320			void main()
2321			{
2322				${SETUP}
2323				out0 = in0.abgr;
2324				${OUTPUT}
2325			}
2326		""
2327	end
2328
2329	case mediump_vec4_rrrr
2330		version 300 es
2331		values
2332		{
2333			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2334			output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(-0.5, -0.5, -0.5, -0.5) | vec4(-32.0, -32.0, -32.0, -32.0) | vec4(-0.75, -0.75, -0.75, -0.75) ];
2335		}
2336
2337		both ""
2338			#version 300 es
2339			precision mediump float;
2340
2341			${DECLARATIONS}
2342
2343			void main()
2344			{
2345				${SETUP}
2346				out0 = in0.rrrr;
2347				${OUTPUT}
2348			}
2349		""
2350	end
2351
2352	case mediump_vec4_gggg
2353		version 300 es
2354		values
2355		{
2356			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2357			output vec4 out0 = [ vec4(0.5, 0.5, 0.5, 0.5) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(-2.25, -2.25, -2.25, -2.25) | vec4(64.0, 64.0, 64.0, 64.0) | vec4(-0.0322580645161, -0.0322580645161, -0.0322580645161, -0.0322580645161) ];
2358		}
2359
2360		both ""
2361			#version 300 es
2362			precision mediump float;
2363
2364			${DECLARATIONS}
2365
2366			void main()
2367			{
2368				${SETUP}
2369				out0 = in0.gggg;
2370				${OUTPUT}
2371			}
2372		""
2373	end
2374
2375	case mediump_vec4_aaaa
2376		version 300 es
2377		values
2378		{
2379			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2380			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.825) | vec4(1.75, 1.75, 1.75, 1.75) | vec4(9.0, 9.0, 9.0, 9.0) | vec4(24.0, 24.0, 24.0, 24.0) | vec4(0.25, 0.25, 0.25, 0.25) ];
2381		}
2382
2383		both ""
2384			#version 300 es
2385			precision mediump float;
2386
2387			${DECLARATIONS}
2388
2389			void main()
2390			{
2391				${SETUP}
2392				out0 = in0.aaaa;
2393				${OUTPUT}
2394			}
2395		""
2396	end
2397
2398	case mediump_vec4_abba
2399		version 300 es
2400		values
2401		{
2402			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2403			output vec4 out0 = [ vec4(0.825, 0.75, 0.75, 0.825) | vec4(1.75, 1.125, 1.125, 1.75) | vec4(9.0, -4.875, -4.875, 9.0) | vec4(24.0, -51.0, -51.0, 24.0) | vec4(0.25, 0.0526315789474, 0.0526315789474, 0.25) ];
2404		}
2405
2406		both ""
2407			#version 300 es
2408			precision mediump float;
2409
2410			${DECLARATIONS}
2411
2412			void main()
2413			{
2414				${SETUP}
2415				out0 = in0.abba;
2416				${OUTPUT}
2417			}
2418		""
2419	end
2420
2421	case mediump_vec4_aaag
2422		version 300 es
2423		values
2424		{
2425			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2426			output vec4 out0 = [ vec4(0.825, 0.825, 0.825, 0.5) | vec4(1.75, 1.75, 1.75, 1.25) | vec4(9.0, 9.0, 9.0, -2.25) | vec4(24.0, 24.0, 24.0, 64.0) | vec4(0.25, 0.25, 0.25, -0.0322580645161) ];
2427		}
2428
2429		both ""
2430			#version 300 es
2431			precision mediump float;
2432
2433			${DECLARATIONS}
2434
2435			void main()
2436			{
2437				${SETUP}
2438				out0 = in0.aaag;
2439				${OUTPUT}
2440			}
2441		""
2442	end
2443
2444	case mediump_vec4_rgrr
2445		version 300 es
2446		values
2447		{
2448			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2449			output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.5, -2.25, -0.5, -0.5) | vec4(-32.0, 64.0, -32.0, -32.0) | vec4(-0.75, -0.0322580645161, -0.75, -0.75) ];
2450		}
2451
2452		both ""
2453			#version 300 es
2454			precision mediump float;
2455
2456			${DECLARATIONS}
2457
2458			void main()
2459			{
2460				${SETUP}
2461				out0 = in0.rgrr;
2462				${OUTPUT}
2463			}
2464		""
2465	end
2466
2467	case mediump_vec4_bbab
2468		version 300 es
2469		values
2470		{
2471			input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ];
2472			output vec4 out0 = [ vec4(0.75, 0.75, 0.825, 0.75) | vec4(1.125, 1.125, 1.75, 1.125) | vec4(-4.875, -4.875, 9.0, -4.875) | vec4(-51.0, -51.0, 24.0, -51.0) | vec4(0.0526315789474, 0.0526315789474, 0.25, 0.0526315789474) ];
2473		}
2474
2475		both ""
2476			#version 300 es
2477			precision mediump float;
2478
2479			${DECLARATIONS}
2480
2481			void main()
2482			{
2483				${SETUP}
2484				out0 = in0.bbab;
2485				${OUTPUT}
2486			}
2487		""
2488	end
2489
2490	case mediump_ivec2_x
2491		version 300 es
2492		values
2493		{
2494			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2495			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2496		}
2497
2498		both ""
2499			#version 300 es
2500			precision mediump float;
2501
2502			${DECLARATIONS}
2503
2504			void main()
2505			{
2506				${SETUP}
2507				out0 = in0.x;
2508				${OUTPUT}
2509			}
2510		""
2511	end
2512
2513	case mediump_ivec2_xx
2514		version 300 es
2515		values
2516		{
2517			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2518			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, -32) | ivec2(0, 0) ];
2519		}
2520
2521		both ""
2522			#version 300 es
2523			precision mediump float;
2524
2525			${DECLARATIONS}
2526
2527			void main()
2528			{
2529				${SETUP}
2530				out0 = in0.xx;
2531				${OUTPUT}
2532			}
2533		""
2534	end
2535
2536	case mediump_ivec2_xy
2537		version 300 es
2538		values
2539		{
2540			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2541			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2542		}
2543
2544		both ""
2545			#version 300 es
2546			precision mediump float;
2547
2548			${DECLARATIONS}
2549
2550			void main()
2551			{
2552				${SETUP}
2553				out0 = in0.xy;
2554				${OUTPUT}
2555			}
2556		""
2557	end
2558
2559	case mediump_ivec2_yx
2560		version 300 es
2561		values
2562		{
2563			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2564			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-2, 0) | ivec2(64, -32) | ivec2(0, 0) ];
2565		}
2566
2567		both ""
2568			#version 300 es
2569			precision mediump float;
2570
2571			${DECLARATIONS}
2572
2573			void main()
2574			{
2575				${SETUP}
2576				out0 = in0.yx;
2577				${OUTPUT}
2578			}
2579		""
2580	end
2581
2582	case mediump_ivec2_yxy
2583		version 300 es
2584		values
2585		{
2586			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2587			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
2588		}
2589
2590		both ""
2591			#version 300 es
2592			precision mediump float;
2593
2594			${DECLARATIONS}
2595
2596			void main()
2597			{
2598				${SETUP}
2599				out0 = in0.yxy;
2600				${OUTPUT}
2601			}
2602		""
2603	end
2604
2605	case mediump_ivec2_xyxx
2606		version 300 es
2607		values
2608		{
2609			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2610			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
2611		}
2612
2613		both ""
2614			#version 300 es
2615			precision mediump float;
2616
2617			${DECLARATIONS}
2618
2619			void main()
2620			{
2621				${SETUP}
2622				out0 = in0.xyxx;
2623				${OUTPUT}
2624			}
2625		""
2626	end
2627
2628	case mediump_ivec2_yyyy
2629		version 300 es
2630		values
2631		{
2632			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2633			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
2634		}
2635
2636		both ""
2637			#version 300 es
2638			precision mediump float;
2639
2640			${DECLARATIONS}
2641
2642			void main()
2643			{
2644				${SETUP}
2645				out0 = in0.yyyy;
2646				${OUTPUT}
2647			}
2648		""
2649	end
2650
2651	case mediump_ivec2_s
2652		version 300 es
2653		values
2654		{
2655			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2656			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2657		}
2658
2659		both ""
2660			#version 300 es
2661			precision mediump float;
2662
2663			${DECLARATIONS}
2664
2665			void main()
2666			{
2667				${SETUP}
2668				out0 = in0.s;
2669				${OUTPUT}
2670			}
2671		""
2672	end
2673
2674	case mediump_ivec2_ss
2675		version 300 es
2676		values
2677		{
2678			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2679			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, -32) | ivec2(0, 0) ];
2680		}
2681
2682		both ""
2683			#version 300 es
2684			precision mediump float;
2685
2686			${DECLARATIONS}
2687
2688			void main()
2689			{
2690				${SETUP}
2691				out0 = in0.ss;
2692				${OUTPUT}
2693			}
2694		""
2695	end
2696
2697	case mediump_ivec2_st
2698		version 300 es
2699		values
2700		{
2701			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2702			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2703		}
2704
2705		both ""
2706			#version 300 es
2707			precision mediump float;
2708
2709			${DECLARATIONS}
2710
2711			void main()
2712			{
2713				${SETUP}
2714				out0 = in0.st;
2715				${OUTPUT}
2716			}
2717		""
2718	end
2719
2720	case mediump_ivec2_ts
2721		version 300 es
2722		values
2723		{
2724			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2725			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-2, 0) | ivec2(64, -32) | ivec2(0, 0) ];
2726		}
2727
2728		both ""
2729			#version 300 es
2730			precision mediump float;
2731
2732			${DECLARATIONS}
2733
2734			void main()
2735			{
2736				${SETUP}
2737				out0 = in0.ts;
2738				${OUTPUT}
2739			}
2740		""
2741	end
2742
2743	case mediump_ivec2_tst
2744		version 300 es
2745		values
2746		{
2747			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2748			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
2749		}
2750
2751		both ""
2752			#version 300 es
2753			precision mediump float;
2754
2755			${DECLARATIONS}
2756
2757			void main()
2758			{
2759				${SETUP}
2760				out0 = in0.tst;
2761				${OUTPUT}
2762			}
2763		""
2764	end
2765
2766	case mediump_ivec2_stss
2767		version 300 es
2768		values
2769		{
2770			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2771			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
2772		}
2773
2774		both ""
2775			#version 300 es
2776			precision mediump float;
2777
2778			${DECLARATIONS}
2779
2780			void main()
2781			{
2782				${SETUP}
2783				out0 = in0.stss;
2784				${OUTPUT}
2785			}
2786		""
2787	end
2788
2789	case mediump_ivec2_tttt
2790		version 300 es
2791		values
2792		{
2793			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2794			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
2795		}
2796
2797		both ""
2798			#version 300 es
2799			precision mediump float;
2800
2801			${DECLARATIONS}
2802
2803			void main()
2804			{
2805				${SETUP}
2806				out0 = in0.tttt;
2807				${OUTPUT}
2808			}
2809		""
2810	end
2811
2812	case mediump_ivec2_r
2813		version 300 es
2814		values
2815		{
2816			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2817			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2818		}
2819
2820		both ""
2821			#version 300 es
2822			precision mediump float;
2823
2824			${DECLARATIONS}
2825
2826			void main()
2827			{
2828				${SETUP}
2829				out0 = in0.r;
2830				${OUTPUT}
2831			}
2832		""
2833	end
2834
2835	case mediump_ivec2_rr
2836		version 300 es
2837		values
2838		{
2839			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2840			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, -32) | ivec2(0, 0) ];
2841		}
2842
2843		both ""
2844			#version 300 es
2845			precision mediump float;
2846
2847			${DECLARATIONS}
2848
2849			void main()
2850			{
2851				${SETUP}
2852				out0 = in0.rr;
2853				${OUTPUT}
2854			}
2855		""
2856	end
2857
2858	case mediump_ivec2_rg
2859		version 300 es
2860		values
2861		{
2862			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2863			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2864		}
2865
2866		both ""
2867			#version 300 es
2868			precision mediump float;
2869
2870			${DECLARATIONS}
2871
2872			void main()
2873			{
2874				${SETUP}
2875				out0 = in0.rg;
2876				${OUTPUT}
2877			}
2878		""
2879	end
2880
2881	case mediump_ivec2_gr
2882		version 300 es
2883		values
2884		{
2885			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2886			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-2, 0) | ivec2(64, -32) | ivec2(0, 0) ];
2887		}
2888
2889		both ""
2890			#version 300 es
2891			precision mediump float;
2892
2893			${DECLARATIONS}
2894
2895			void main()
2896			{
2897				${SETUP}
2898				out0 = in0.gr;
2899				${OUTPUT}
2900			}
2901		""
2902	end
2903
2904	case mediump_ivec2_grg
2905		version 300 es
2906		values
2907		{
2908			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2909			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
2910		}
2911
2912		both ""
2913			#version 300 es
2914			precision mediump float;
2915
2916			${DECLARATIONS}
2917
2918			void main()
2919			{
2920				${SETUP}
2921				out0 = in0.grg;
2922				${OUTPUT}
2923			}
2924		""
2925	end
2926
2927	case mediump_ivec2_rgrr
2928		version 300 es
2929		values
2930		{
2931			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2932			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
2933		}
2934
2935		both ""
2936			#version 300 es
2937			precision mediump float;
2938
2939			${DECLARATIONS}
2940
2941			void main()
2942			{
2943				${SETUP}
2944				out0 = in0.rgrr;
2945				${OUTPUT}
2946			}
2947		""
2948	end
2949
2950	case mediump_ivec2_gggg
2951		version 300 es
2952		values
2953		{
2954			input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ];
2955			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
2956		}
2957
2958		both ""
2959			#version 300 es
2960			precision mediump float;
2961
2962			${DECLARATIONS}
2963
2964			void main()
2965			{
2966				${SETUP}
2967				out0 = in0.gggg;
2968				${OUTPUT}
2969			}
2970		""
2971	end
2972
2973	case mediump_ivec3_x
2974		version 300 es
2975		values
2976		{
2977			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
2978			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
2979		}
2980
2981		both ""
2982			#version 300 es
2983			precision mediump float;
2984
2985			${DECLARATIONS}
2986
2987			void main()
2988			{
2989				${SETUP}
2990				out0 = in0.x;
2991				${OUTPUT}
2992			}
2993		""
2994	end
2995
2996	case mediump_ivec3_z
2997		version 300 es
2998		values
2999		{
3000			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3001			output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
3002		}
3003
3004		both ""
3005			#version 300 es
3006			precision mediump float;
3007
3008			${DECLARATIONS}
3009
3010			void main()
3011			{
3012				${SETUP}
3013				out0 = in0.z;
3014				${OUTPUT}
3015			}
3016		""
3017	end
3018
3019	case mediump_ivec3_xz
3020		version 300 es
3021		values
3022		{
3023			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3024			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
3025		}
3026
3027		both ""
3028			#version 300 es
3029			precision mediump float;
3030
3031			${DECLARATIONS}
3032
3033			void main()
3034			{
3035				${SETUP}
3036				out0 = in0.xz;
3037				${OUTPUT}
3038			}
3039		""
3040	end
3041
3042	case mediump_ivec3_zz
3043		version 300 es
3044		values
3045		{
3046			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3047			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
3048		}
3049
3050		both ""
3051			#version 300 es
3052			precision mediump float;
3053
3054			${DECLARATIONS}
3055
3056			void main()
3057			{
3058				${SETUP}
3059				out0 = in0.zz;
3060				${OUTPUT}
3061			}
3062		""
3063	end
3064
3065	case mediump_ivec3_xyz
3066		version 300 es
3067		values
3068		{
3069			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3070			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3071		}
3072
3073		both ""
3074			#version 300 es
3075			precision mediump float;
3076
3077			${DECLARATIONS}
3078
3079			void main()
3080			{
3081				${SETUP}
3082				out0 = in0.xyz;
3083				${OUTPUT}
3084			}
3085		""
3086	end
3087
3088	case mediump_ivec3_zyx
3089		version 300 es
3090		values
3091		{
3092			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3093			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
3094		}
3095
3096		both ""
3097			#version 300 es
3098			precision mediump float;
3099
3100			${DECLARATIONS}
3101
3102			void main()
3103			{
3104				${SETUP}
3105				out0 = in0.zyx;
3106				${OUTPUT}
3107			}
3108		""
3109	end
3110
3111	case mediump_ivec3_xxx
3112		version 300 es
3113		values
3114		{
3115			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3116			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
3117		}
3118
3119		both ""
3120			#version 300 es
3121			precision mediump float;
3122
3123			${DECLARATIONS}
3124
3125			void main()
3126			{
3127				${SETUP}
3128				out0 = in0.xxx;
3129				${OUTPUT}
3130			}
3131		""
3132	end
3133
3134	case mediump_ivec3_zzz
3135		version 300 es
3136		values
3137		{
3138			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3139			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
3140		}
3141
3142		both ""
3143			#version 300 es
3144			precision mediump float;
3145
3146			${DECLARATIONS}
3147
3148			void main()
3149			{
3150				${SETUP}
3151				out0 = in0.zzz;
3152				${OUTPUT}
3153			}
3154		""
3155	end
3156
3157	case mediump_ivec3_zzy
3158		version 300 es
3159		values
3160		{
3161			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3162			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
3163		}
3164
3165		both ""
3166			#version 300 es
3167			precision mediump float;
3168
3169			${DECLARATIONS}
3170
3171			void main()
3172			{
3173				${SETUP}
3174				out0 = in0.zzy;
3175				${OUTPUT}
3176			}
3177		""
3178	end
3179
3180	case mediump_ivec3_yxy
3181		version 300 es
3182		values
3183		{
3184			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3185			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
3186		}
3187
3188		both ""
3189			#version 300 es
3190			precision mediump float;
3191
3192			${DECLARATIONS}
3193
3194			void main()
3195			{
3196				${SETUP}
3197				out0 = in0.yxy;
3198				${OUTPUT}
3199			}
3200		""
3201	end
3202
3203	case mediump_ivec3_xzx
3204		version 300 es
3205		values
3206		{
3207			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3208			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
3209		}
3210
3211		both ""
3212			#version 300 es
3213			precision mediump float;
3214
3215			${DECLARATIONS}
3216
3217			void main()
3218			{
3219				${SETUP}
3220				out0 = in0.xzx;
3221				${OUTPUT}
3222			}
3223		""
3224	end
3225
3226	case mediump_ivec3_xyyx
3227		version 300 es
3228		values
3229		{
3230			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3231			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
3232		}
3233
3234		both ""
3235			#version 300 es
3236			precision mediump float;
3237
3238			${DECLARATIONS}
3239
3240			void main()
3241			{
3242				${SETUP}
3243				out0 = in0.xyyx;
3244				${OUTPUT}
3245			}
3246		""
3247	end
3248
3249	case mediump_ivec3_zzzz
3250		version 300 es
3251		values
3252		{
3253			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3254			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
3255		}
3256
3257		both ""
3258			#version 300 es
3259			precision mediump float;
3260
3261			${DECLARATIONS}
3262
3263			void main()
3264			{
3265				${SETUP}
3266				out0 = in0.zzzz;
3267				${OUTPUT}
3268			}
3269		""
3270	end
3271
3272	case mediump_ivec3_s
3273		version 300 es
3274		values
3275		{
3276			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3277			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
3278		}
3279
3280		both ""
3281			#version 300 es
3282			precision mediump float;
3283
3284			${DECLARATIONS}
3285
3286			void main()
3287			{
3288				${SETUP}
3289				out0 = in0.s;
3290				${OUTPUT}
3291			}
3292		""
3293	end
3294
3295	case mediump_ivec3_p
3296		version 300 es
3297		values
3298		{
3299			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3300			output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
3301		}
3302
3303		both ""
3304			#version 300 es
3305			precision mediump float;
3306
3307			${DECLARATIONS}
3308
3309			void main()
3310			{
3311				${SETUP}
3312				out0 = in0.p;
3313				${OUTPUT}
3314			}
3315		""
3316	end
3317
3318	case mediump_ivec3_sp
3319		version 300 es
3320		values
3321		{
3322			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3323			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
3324		}
3325
3326		both ""
3327			#version 300 es
3328			precision mediump float;
3329
3330			${DECLARATIONS}
3331
3332			void main()
3333			{
3334				${SETUP}
3335				out0 = in0.sp;
3336				${OUTPUT}
3337			}
3338		""
3339	end
3340
3341	case mediump_ivec3_pp
3342		version 300 es
3343		values
3344		{
3345			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3346			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
3347		}
3348
3349		both ""
3350			#version 300 es
3351			precision mediump float;
3352
3353			${DECLARATIONS}
3354
3355			void main()
3356			{
3357				${SETUP}
3358				out0 = in0.pp;
3359				${OUTPUT}
3360			}
3361		""
3362	end
3363
3364	case mediump_ivec3_stp
3365		version 300 es
3366		values
3367		{
3368			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3369			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3370		}
3371
3372		both ""
3373			#version 300 es
3374			precision mediump float;
3375
3376			${DECLARATIONS}
3377
3378			void main()
3379			{
3380				${SETUP}
3381				out0 = in0.stp;
3382				${OUTPUT}
3383			}
3384		""
3385	end
3386
3387	case mediump_ivec3_pts
3388		version 300 es
3389		values
3390		{
3391			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3392			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
3393		}
3394
3395		both ""
3396			#version 300 es
3397			precision mediump float;
3398
3399			${DECLARATIONS}
3400
3401			void main()
3402			{
3403				${SETUP}
3404				out0 = in0.pts;
3405				${OUTPUT}
3406			}
3407		""
3408	end
3409
3410	case mediump_ivec3_sss
3411		version 300 es
3412		values
3413		{
3414			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3415			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
3416		}
3417
3418		both ""
3419			#version 300 es
3420			precision mediump float;
3421
3422			${DECLARATIONS}
3423
3424			void main()
3425			{
3426				${SETUP}
3427				out0 = in0.sss;
3428				${OUTPUT}
3429			}
3430		""
3431	end
3432
3433	case mediump_ivec3_ppp
3434		version 300 es
3435		values
3436		{
3437			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3438			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
3439		}
3440
3441		both ""
3442			#version 300 es
3443			precision mediump float;
3444
3445			${DECLARATIONS}
3446
3447			void main()
3448			{
3449				${SETUP}
3450				out0 = in0.ppp;
3451				${OUTPUT}
3452			}
3453		""
3454	end
3455
3456	case mediump_ivec3_ppt
3457		version 300 es
3458		values
3459		{
3460			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3461			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
3462		}
3463
3464		both ""
3465			#version 300 es
3466			precision mediump float;
3467
3468			${DECLARATIONS}
3469
3470			void main()
3471			{
3472				${SETUP}
3473				out0 = in0.ppt;
3474				${OUTPUT}
3475			}
3476		""
3477	end
3478
3479	case mediump_ivec3_tst
3480		version 300 es
3481		values
3482		{
3483			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3484			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
3485		}
3486
3487		both ""
3488			#version 300 es
3489			precision mediump float;
3490
3491			${DECLARATIONS}
3492
3493			void main()
3494			{
3495				${SETUP}
3496				out0 = in0.tst;
3497				${OUTPUT}
3498			}
3499		""
3500	end
3501
3502	case mediump_ivec3_sps
3503		version 300 es
3504		values
3505		{
3506			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3507			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
3508		}
3509
3510		both ""
3511			#version 300 es
3512			precision mediump float;
3513
3514			${DECLARATIONS}
3515
3516			void main()
3517			{
3518				${SETUP}
3519				out0 = in0.sps;
3520				${OUTPUT}
3521			}
3522		""
3523	end
3524
3525	case mediump_ivec3_stts
3526		version 300 es
3527		values
3528		{
3529			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3530			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
3531		}
3532
3533		both ""
3534			#version 300 es
3535			precision mediump float;
3536
3537			${DECLARATIONS}
3538
3539			void main()
3540			{
3541				${SETUP}
3542				out0 = in0.stts;
3543				${OUTPUT}
3544			}
3545		""
3546	end
3547
3548	case mediump_ivec3_pppp
3549		version 300 es
3550		values
3551		{
3552			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3553			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
3554		}
3555
3556		both ""
3557			#version 300 es
3558			precision mediump float;
3559
3560			${DECLARATIONS}
3561
3562			void main()
3563			{
3564				${SETUP}
3565				out0 = in0.pppp;
3566				${OUTPUT}
3567			}
3568		""
3569	end
3570
3571	case mediump_ivec3_r
3572		version 300 es
3573		values
3574		{
3575			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3576			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
3577		}
3578
3579		both ""
3580			#version 300 es
3581			precision mediump float;
3582
3583			${DECLARATIONS}
3584
3585			void main()
3586			{
3587				${SETUP}
3588				out0 = in0.r;
3589				${OUTPUT}
3590			}
3591		""
3592	end
3593
3594	case mediump_ivec3_b
3595		version 300 es
3596		values
3597		{
3598			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3599			output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
3600		}
3601
3602		both ""
3603			#version 300 es
3604			precision mediump float;
3605
3606			${DECLARATIONS}
3607
3608			void main()
3609			{
3610				${SETUP}
3611				out0 = in0.b;
3612				${OUTPUT}
3613			}
3614		""
3615	end
3616
3617	case mediump_ivec3_rb
3618		version 300 es
3619		values
3620		{
3621			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3622			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
3623		}
3624
3625		both ""
3626			#version 300 es
3627			precision mediump float;
3628
3629			${DECLARATIONS}
3630
3631			void main()
3632			{
3633				${SETUP}
3634				out0 = in0.rb;
3635				${OUTPUT}
3636			}
3637		""
3638	end
3639
3640	case mediump_ivec3_bb
3641		version 300 es
3642		values
3643		{
3644			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3645			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
3646		}
3647
3648		both ""
3649			#version 300 es
3650			precision mediump float;
3651
3652			${DECLARATIONS}
3653
3654			void main()
3655			{
3656				${SETUP}
3657				out0 = in0.bb;
3658				${OUTPUT}
3659			}
3660		""
3661	end
3662
3663	case mediump_ivec3_rgb
3664		version 300 es
3665		values
3666		{
3667			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3668			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3669		}
3670
3671		both ""
3672			#version 300 es
3673			precision mediump float;
3674
3675			${DECLARATIONS}
3676
3677			void main()
3678			{
3679				${SETUP}
3680				out0 = in0.rgb;
3681				${OUTPUT}
3682			}
3683		""
3684	end
3685
3686	case mediump_ivec3_bgr
3687		version 300 es
3688		values
3689		{
3690			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3691			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
3692		}
3693
3694		both ""
3695			#version 300 es
3696			precision mediump float;
3697
3698			${DECLARATIONS}
3699
3700			void main()
3701			{
3702				${SETUP}
3703				out0 = in0.bgr;
3704				${OUTPUT}
3705			}
3706		""
3707	end
3708
3709	case mediump_ivec3_rrr
3710		version 300 es
3711		values
3712		{
3713			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3714			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
3715		}
3716
3717		both ""
3718			#version 300 es
3719			precision mediump float;
3720
3721			${DECLARATIONS}
3722
3723			void main()
3724			{
3725				${SETUP}
3726				out0 = in0.rrr;
3727				${OUTPUT}
3728			}
3729		""
3730	end
3731
3732	case mediump_ivec3_bbb
3733		version 300 es
3734		values
3735		{
3736			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3737			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
3738		}
3739
3740		both ""
3741			#version 300 es
3742			precision mediump float;
3743
3744			${DECLARATIONS}
3745
3746			void main()
3747			{
3748				${SETUP}
3749				out0 = in0.bbb;
3750				${OUTPUT}
3751			}
3752		""
3753	end
3754
3755	case mediump_ivec3_bbg
3756		version 300 es
3757		values
3758		{
3759			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3760			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
3761		}
3762
3763		both ""
3764			#version 300 es
3765			precision mediump float;
3766
3767			${DECLARATIONS}
3768
3769			void main()
3770			{
3771				${SETUP}
3772				out0 = in0.bbg;
3773				${OUTPUT}
3774			}
3775		""
3776	end
3777
3778	case mediump_ivec3_grg
3779		version 300 es
3780		values
3781		{
3782			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3783			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
3784		}
3785
3786		both ""
3787			#version 300 es
3788			precision mediump float;
3789
3790			${DECLARATIONS}
3791
3792			void main()
3793			{
3794				${SETUP}
3795				out0 = in0.grg;
3796				${OUTPUT}
3797			}
3798		""
3799	end
3800
3801	case mediump_ivec3_rbr
3802		version 300 es
3803		values
3804		{
3805			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3806			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
3807		}
3808
3809		both ""
3810			#version 300 es
3811			precision mediump float;
3812
3813			${DECLARATIONS}
3814
3815			void main()
3816			{
3817				${SETUP}
3818				out0 = in0.rbr;
3819				${OUTPUT}
3820			}
3821		""
3822	end
3823
3824	case mediump_ivec3_rggr
3825		version 300 es
3826		values
3827		{
3828			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3829			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
3830		}
3831
3832		both ""
3833			#version 300 es
3834			precision mediump float;
3835
3836			${DECLARATIONS}
3837
3838			void main()
3839			{
3840				${SETUP}
3841				out0 = in0.rggr;
3842				${OUTPUT}
3843			}
3844		""
3845	end
3846
3847	case mediump_ivec3_bbbb
3848		version 300 es
3849		values
3850		{
3851			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
3852			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
3853		}
3854
3855		both ""
3856			#version 300 es
3857			precision mediump float;
3858
3859			${DECLARATIONS}
3860
3861			void main()
3862			{
3863				${SETUP}
3864				out0 = in0.bbbb;
3865				${OUTPUT}
3866			}
3867		""
3868	end
3869
3870	case mediump_ivec4_x
3871		version 300 es
3872		values
3873		{
3874			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3875			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
3876		}
3877
3878		both ""
3879			#version 300 es
3880			precision mediump float;
3881
3882			${DECLARATIONS}
3883
3884			void main()
3885			{
3886				${SETUP}
3887				out0 = in0.x;
3888				${OUTPUT}
3889			}
3890		""
3891	end
3892
3893	case mediump_ivec4_w
3894		version 300 es
3895		values
3896		{
3897			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3898			output int out0 = [ 0 | 1 | 9 | 24 | 0 ];
3899		}
3900
3901		both ""
3902			#version 300 es
3903			precision mediump float;
3904
3905			${DECLARATIONS}
3906
3907			void main()
3908			{
3909				${SETUP}
3910				out0 = in0.w;
3911				${OUTPUT}
3912			}
3913		""
3914	end
3915
3916	case mediump_ivec4_wx
3917		version 300 es
3918		values
3919		{
3920			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3921			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, 0) | ivec2(24, -32) | ivec2(0, 0) ];
3922		}
3923
3924		both ""
3925			#version 300 es
3926			precision mediump float;
3927
3928			${DECLARATIONS}
3929
3930			void main()
3931			{
3932				${SETUP}
3933				out0 = in0.wx;
3934				${OUTPUT}
3935			}
3936		""
3937	end
3938
3939	case mediump_ivec4_wz
3940		version 300 es
3941		values
3942		{
3943			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3944			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, -4) | ivec2(24, -51) | ivec2(0, 0) ];
3945		}
3946
3947		both ""
3948			#version 300 es
3949			precision mediump float;
3950
3951			${DECLARATIONS}
3952
3953			void main()
3954			{
3955				${SETUP}
3956				out0 = in0.wz;
3957				${OUTPUT}
3958			}
3959		""
3960	end
3961
3962	case mediump_ivec4_www
3963		version 300 es
3964		values
3965		{
3966			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3967			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, 9, 9) | ivec3(24, 24, 24) | ivec3(0, 0, 0) ];
3968		}
3969
3970		both ""
3971			#version 300 es
3972			precision mediump float;
3973
3974			${DECLARATIONS}
3975
3976			void main()
3977			{
3978				${SETUP}
3979				out0 = in0.www;
3980				${OUTPUT}
3981			}
3982		""
3983	end
3984
3985	case mediump_ivec4_yyw
3986		version 300 es
3987		values
3988		{
3989			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
3990			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, -2, 9) | ivec3(64, 64, 24) | ivec3(0, 0, 0) ];
3991		}
3992
3993		both ""
3994			#version 300 es
3995			precision mediump float;
3996
3997			${DECLARATIONS}
3998
3999			void main()
4000			{
4001				${SETUP}
4002				out0 = in0.yyw;
4003				${OUTPUT}
4004			}
4005		""
4006	end
4007
4008	case mediump_ivec4_wzy
4009		version 300 es
4010		values
4011		{
4012			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4013			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, -4, -2) | ivec3(24, -51, 64) | ivec3(0, 0, 0) ];
4014		}
4015
4016		both ""
4017			#version 300 es
4018			precision mediump float;
4019
4020			${DECLARATIONS}
4021
4022			void main()
4023			{
4024				${SETUP}
4025				out0 = in0.wzy;
4026				${OUTPUT}
4027			}
4028		""
4029	end
4030
4031	case mediump_ivec4_xyzw
4032		version 300 es
4033		values
4034		{
4035			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4036			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4037		}
4038
4039		both ""
4040			#version 300 es
4041			precision mediump float;
4042
4043			${DECLARATIONS}
4044
4045			void main()
4046			{
4047				${SETUP}
4048				out0 = in0.xyzw;
4049				${OUTPUT}
4050			}
4051		""
4052	end
4053
4054	case mediump_ivec4_wzyx
4055		version 300 es
4056		values
4057		{
4058			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4059			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -2, 0) | ivec4(24, -51, 64, -32) | ivec4(0, 0, 0, 0) ];
4060		}
4061
4062		both ""
4063			#version 300 es
4064			precision mediump float;
4065
4066			${DECLARATIONS}
4067
4068			void main()
4069			{
4070				${SETUP}
4071				out0 = in0.wzyx;
4072				${OUTPUT}
4073			}
4074		""
4075	end
4076
4077	case mediump_ivec4_xxxx
4078		version 300 es
4079		values
4080		{
4081			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4082			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, -32, -32, -32) | ivec4(0, 0, 0, 0) ];
4083		}
4084
4085		both ""
4086			#version 300 es
4087			precision mediump float;
4088
4089			${DECLARATIONS}
4090
4091			void main()
4092			{
4093				${SETUP}
4094				out0 = in0.xxxx;
4095				${OUTPUT}
4096			}
4097		""
4098	end
4099
4100	case mediump_ivec4_yyyy
4101		version 300 es
4102		values
4103		{
4104			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4105			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
4106		}
4107
4108		both ""
4109			#version 300 es
4110			precision mediump float;
4111
4112			${DECLARATIONS}
4113
4114			void main()
4115			{
4116				${SETUP}
4117				out0 = in0.yyyy;
4118				${OUTPUT}
4119			}
4120		""
4121	end
4122
4123	case mediump_ivec4_wwww
4124		version 300 es
4125		values
4126		{
4127			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4128			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, 9) | ivec4(24, 24, 24, 24) | ivec4(0, 0, 0, 0) ];
4129		}
4130
4131		both ""
4132			#version 300 es
4133			precision mediump float;
4134
4135			${DECLARATIONS}
4136
4137			void main()
4138			{
4139				${SETUP}
4140				out0 = in0.wwww;
4141				${OUTPUT}
4142			}
4143		""
4144	end
4145
4146	case mediump_ivec4_wzzw
4147		version 300 es
4148		values
4149		{
4150			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4151			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -4, 9) | ivec4(24, -51, -51, 24) | ivec4(0, 0, 0, 0) ];
4152		}
4153
4154		both ""
4155			#version 300 es
4156			precision mediump float;
4157
4158			${DECLARATIONS}
4159
4160			void main()
4161			{
4162				${SETUP}
4163				out0 = in0.wzzw;
4164				${OUTPUT}
4165			}
4166		""
4167	end
4168
4169	case mediump_ivec4_wwwy
4170		version 300 es
4171		values
4172		{
4173			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4174			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, -2) | ivec4(24, 24, 24, 64) | ivec4(0, 0, 0, 0) ];
4175		}
4176
4177		both ""
4178			#version 300 es
4179			precision mediump float;
4180
4181			${DECLARATIONS}
4182
4183			void main()
4184			{
4185				${SETUP}
4186				out0 = in0.wwwy;
4187				${OUTPUT}
4188			}
4189		""
4190	end
4191
4192	case mediump_ivec4_xyxx
4193		version 300 es
4194		values
4195		{
4196			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4197			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
4198		}
4199
4200		both ""
4201			#version 300 es
4202			precision mediump float;
4203
4204			${DECLARATIONS}
4205
4206			void main()
4207			{
4208				${SETUP}
4209				out0 = in0.xyxx;
4210				${OUTPUT}
4211			}
4212		""
4213	end
4214
4215	case mediump_ivec4_zzwz
4216		version 300 es
4217		values
4218		{
4219			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4220			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, 9, -4) | ivec4(-51, -51, 24, -51) | ivec4(0, 0, 0, 0) ];
4221		}
4222
4223		both ""
4224			#version 300 es
4225			precision mediump float;
4226
4227			${DECLARATIONS}
4228
4229			void main()
4230			{
4231				${SETUP}
4232				out0 = in0.zzwz;
4233				${OUTPUT}
4234			}
4235		""
4236	end
4237
4238	case mediump_ivec4_s
4239		version 300 es
4240		values
4241		{
4242			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4243			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
4244		}
4245
4246		both ""
4247			#version 300 es
4248			precision mediump float;
4249
4250			${DECLARATIONS}
4251
4252			void main()
4253			{
4254				${SETUP}
4255				out0 = in0.s;
4256				${OUTPUT}
4257			}
4258		""
4259	end
4260
4261	case mediump_ivec4_q
4262		version 300 es
4263		values
4264		{
4265			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4266			output int out0 = [ 0 | 1 | 9 | 24 | 0 ];
4267		}
4268
4269		both ""
4270			#version 300 es
4271			precision mediump float;
4272
4273			${DECLARATIONS}
4274
4275			void main()
4276			{
4277				${SETUP}
4278				out0 = in0.q;
4279				${OUTPUT}
4280			}
4281		""
4282	end
4283
4284	case mediump_ivec4_qs
4285		version 300 es
4286		values
4287		{
4288			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4289			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, 0) | ivec2(24, -32) | ivec2(0, 0) ];
4290		}
4291
4292		both ""
4293			#version 300 es
4294			precision mediump float;
4295
4296			${DECLARATIONS}
4297
4298			void main()
4299			{
4300				${SETUP}
4301				out0 = in0.qs;
4302				${OUTPUT}
4303			}
4304		""
4305	end
4306
4307	case mediump_ivec4_qp
4308		version 300 es
4309		values
4310		{
4311			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4312			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, -4) | ivec2(24, -51) | ivec2(0, 0) ];
4313		}
4314
4315		both ""
4316			#version 300 es
4317			precision mediump float;
4318
4319			${DECLARATIONS}
4320
4321			void main()
4322			{
4323				${SETUP}
4324				out0 = in0.qp;
4325				${OUTPUT}
4326			}
4327		""
4328	end
4329
4330	case mediump_ivec4_qqq
4331		version 300 es
4332		values
4333		{
4334			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4335			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, 9, 9) | ivec3(24, 24, 24) | ivec3(0, 0, 0) ];
4336		}
4337
4338		both ""
4339			#version 300 es
4340			precision mediump float;
4341
4342			${DECLARATIONS}
4343
4344			void main()
4345			{
4346				${SETUP}
4347				out0 = in0.qqq;
4348				${OUTPUT}
4349			}
4350		""
4351	end
4352
4353	case mediump_ivec4_ttq
4354		version 300 es
4355		values
4356		{
4357			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4358			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, -2, 9) | ivec3(64, 64, 24) | ivec3(0, 0, 0) ];
4359		}
4360
4361		both ""
4362			#version 300 es
4363			precision mediump float;
4364
4365			${DECLARATIONS}
4366
4367			void main()
4368			{
4369				${SETUP}
4370				out0 = in0.ttq;
4371				${OUTPUT}
4372			}
4373		""
4374	end
4375
4376	case mediump_ivec4_qpt
4377		version 300 es
4378		values
4379		{
4380			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4381			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, -4, -2) | ivec3(24, -51, 64) | ivec3(0, 0, 0) ];
4382		}
4383
4384		both ""
4385			#version 300 es
4386			precision mediump float;
4387
4388			${DECLARATIONS}
4389
4390			void main()
4391			{
4392				${SETUP}
4393				out0 = in0.qpt;
4394				${OUTPUT}
4395			}
4396		""
4397	end
4398
4399	case mediump_ivec4_stpq
4400		version 300 es
4401		values
4402		{
4403			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4404			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4405		}
4406
4407		both ""
4408			#version 300 es
4409			precision mediump float;
4410
4411			${DECLARATIONS}
4412
4413			void main()
4414			{
4415				${SETUP}
4416				out0 = in0.stpq;
4417				${OUTPUT}
4418			}
4419		""
4420	end
4421
4422	case mediump_ivec4_qpts
4423		version 300 es
4424		values
4425		{
4426			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4427			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -2, 0) | ivec4(24, -51, 64, -32) | ivec4(0, 0, 0, 0) ];
4428		}
4429
4430		both ""
4431			#version 300 es
4432			precision mediump float;
4433
4434			${DECLARATIONS}
4435
4436			void main()
4437			{
4438				${SETUP}
4439				out0 = in0.qpts;
4440				${OUTPUT}
4441			}
4442		""
4443	end
4444
4445	case mediump_ivec4_ssss
4446		version 300 es
4447		values
4448		{
4449			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4450			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, -32, -32, -32) | ivec4(0, 0, 0, 0) ];
4451		}
4452
4453		both ""
4454			#version 300 es
4455			precision mediump float;
4456
4457			${DECLARATIONS}
4458
4459			void main()
4460			{
4461				${SETUP}
4462				out0 = in0.ssss;
4463				${OUTPUT}
4464			}
4465		""
4466	end
4467
4468	case mediump_ivec4_tttt
4469		version 300 es
4470		values
4471		{
4472			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4473			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
4474		}
4475
4476		both ""
4477			#version 300 es
4478			precision mediump float;
4479
4480			${DECLARATIONS}
4481
4482			void main()
4483			{
4484				${SETUP}
4485				out0 = in0.tttt;
4486				${OUTPUT}
4487			}
4488		""
4489	end
4490
4491	case mediump_ivec4_qqqq
4492		version 300 es
4493		values
4494		{
4495			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4496			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, 9) | ivec4(24, 24, 24, 24) | ivec4(0, 0, 0, 0) ];
4497		}
4498
4499		both ""
4500			#version 300 es
4501			precision mediump float;
4502
4503			${DECLARATIONS}
4504
4505			void main()
4506			{
4507				${SETUP}
4508				out0 = in0.qqqq;
4509				${OUTPUT}
4510			}
4511		""
4512	end
4513
4514	case mediump_ivec4_qppq
4515		version 300 es
4516		values
4517		{
4518			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4519			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -4, 9) | ivec4(24, -51, -51, 24) | ivec4(0, 0, 0, 0) ];
4520		}
4521
4522		both ""
4523			#version 300 es
4524			precision mediump float;
4525
4526			${DECLARATIONS}
4527
4528			void main()
4529			{
4530				${SETUP}
4531				out0 = in0.qppq;
4532				${OUTPUT}
4533			}
4534		""
4535	end
4536
4537	case mediump_ivec4_qqqt
4538		version 300 es
4539		values
4540		{
4541			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4542			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, -2) | ivec4(24, 24, 24, 64) | ivec4(0, 0, 0, 0) ];
4543		}
4544
4545		both ""
4546			#version 300 es
4547			precision mediump float;
4548
4549			${DECLARATIONS}
4550
4551			void main()
4552			{
4553				${SETUP}
4554				out0 = in0.qqqt;
4555				${OUTPUT}
4556			}
4557		""
4558	end
4559
4560	case mediump_ivec4_stss
4561		version 300 es
4562		values
4563		{
4564			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4565			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
4566		}
4567
4568		both ""
4569			#version 300 es
4570			precision mediump float;
4571
4572			${DECLARATIONS}
4573
4574			void main()
4575			{
4576				${SETUP}
4577				out0 = in0.stss;
4578				${OUTPUT}
4579			}
4580		""
4581	end
4582
4583	case mediump_ivec4_ppqp
4584		version 300 es
4585		values
4586		{
4587			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4588			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, 9, -4) | ivec4(-51, -51, 24, -51) | ivec4(0, 0, 0, 0) ];
4589		}
4590
4591		both ""
4592			#version 300 es
4593			precision mediump float;
4594
4595			${DECLARATIONS}
4596
4597			void main()
4598			{
4599				${SETUP}
4600				out0 = in0.ppqp;
4601				${OUTPUT}
4602			}
4603		""
4604	end
4605
4606	case mediump_ivec4_r
4607		version 300 es
4608		values
4609		{
4610			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4611			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
4612		}
4613
4614		both ""
4615			#version 300 es
4616			precision mediump float;
4617
4618			${DECLARATIONS}
4619
4620			void main()
4621			{
4622				${SETUP}
4623				out0 = in0.r;
4624				${OUTPUT}
4625			}
4626		""
4627	end
4628
4629	case mediump_ivec4_a
4630		version 300 es
4631		values
4632		{
4633			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4634			output int out0 = [ 0 | 1 | 9 | 24 | 0 ];
4635		}
4636
4637		both ""
4638			#version 300 es
4639			precision mediump float;
4640
4641			${DECLARATIONS}
4642
4643			void main()
4644			{
4645				${SETUP}
4646				out0 = in0.a;
4647				${OUTPUT}
4648			}
4649		""
4650	end
4651
4652	case mediump_ivec4_ar
4653		version 300 es
4654		values
4655		{
4656			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4657			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, 0) | ivec2(24, -32) | ivec2(0, 0) ];
4658		}
4659
4660		both ""
4661			#version 300 es
4662			precision mediump float;
4663
4664			${DECLARATIONS}
4665
4666			void main()
4667			{
4668				${SETUP}
4669				out0 = in0.ar;
4670				${OUTPUT}
4671			}
4672		""
4673	end
4674
4675	case mediump_ivec4_ab
4676		version 300 es
4677		values
4678		{
4679			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4680			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(9, -4) | ivec2(24, -51) | ivec2(0, 0) ];
4681		}
4682
4683		both ""
4684			#version 300 es
4685			precision mediump float;
4686
4687			${DECLARATIONS}
4688
4689			void main()
4690			{
4691				${SETUP}
4692				out0 = in0.ab;
4693				${OUTPUT}
4694			}
4695		""
4696	end
4697
4698	case mediump_ivec4_aaa
4699		version 300 es
4700		values
4701		{
4702			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4703			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, 9, 9) | ivec3(24, 24, 24) | ivec3(0, 0, 0) ];
4704		}
4705
4706		both ""
4707			#version 300 es
4708			precision mediump float;
4709
4710			${DECLARATIONS}
4711
4712			void main()
4713			{
4714				${SETUP}
4715				out0 = in0.aaa;
4716				${OUTPUT}
4717			}
4718		""
4719	end
4720
4721	case mediump_ivec4_gga
4722		version 300 es
4723		values
4724		{
4725			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4726			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, -2, 9) | ivec3(64, 64, 24) | ivec3(0, 0, 0) ];
4727		}
4728
4729		both ""
4730			#version 300 es
4731			precision mediump float;
4732
4733			${DECLARATIONS}
4734
4735			void main()
4736			{
4737				${SETUP}
4738				out0 = in0.gga;
4739				${OUTPUT}
4740			}
4741		""
4742	end
4743
4744	case mediump_ivec4_abg
4745		version 300 es
4746		values
4747		{
4748			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4749			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(9, -4, -2) | ivec3(24, -51, 64) | ivec3(0, 0, 0) ];
4750		}
4751
4752		both ""
4753			#version 300 es
4754			precision mediump float;
4755
4756			${DECLARATIONS}
4757
4758			void main()
4759			{
4760				${SETUP}
4761				out0 = in0.abg;
4762				${OUTPUT}
4763			}
4764		""
4765	end
4766
4767	case mediump_ivec4_rgba
4768		version 300 es
4769		values
4770		{
4771			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4772			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4773		}
4774
4775		both ""
4776			#version 300 es
4777			precision mediump float;
4778
4779			${DECLARATIONS}
4780
4781			void main()
4782			{
4783				${SETUP}
4784				out0 = in0.rgba;
4785				${OUTPUT}
4786			}
4787		""
4788	end
4789
4790	case mediump_ivec4_abgr
4791		version 300 es
4792		values
4793		{
4794			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4795			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -2, 0) | ivec4(24, -51, 64, -32) | ivec4(0, 0, 0, 0) ];
4796		}
4797
4798		both ""
4799			#version 300 es
4800			precision mediump float;
4801
4802			${DECLARATIONS}
4803
4804			void main()
4805			{
4806				${SETUP}
4807				out0 = in0.abgr;
4808				${OUTPUT}
4809			}
4810		""
4811	end
4812
4813	case mediump_ivec4_rrrr
4814		version 300 es
4815		values
4816		{
4817			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4818			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, -32, -32, -32) | ivec4(0, 0, 0, 0) ];
4819		}
4820
4821		both ""
4822			#version 300 es
4823			precision mediump float;
4824
4825			${DECLARATIONS}
4826
4827			void main()
4828			{
4829				${SETUP}
4830				out0 = in0.rrrr;
4831				${OUTPUT}
4832			}
4833		""
4834	end
4835
4836	case mediump_ivec4_gggg
4837		version 300 es
4838		values
4839		{
4840			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4841			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-2, -2, -2, -2) | ivec4(64, 64, 64, 64) | ivec4(0, 0, 0, 0) ];
4842		}
4843
4844		both ""
4845			#version 300 es
4846			precision mediump float;
4847
4848			${DECLARATIONS}
4849
4850			void main()
4851			{
4852				${SETUP}
4853				out0 = in0.gggg;
4854				${OUTPUT}
4855			}
4856		""
4857	end
4858
4859	case mediump_ivec4_aaaa
4860		version 300 es
4861		values
4862		{
4863			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4864			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, 9) | ivec4(24, 24, 24, 24) | ivec4(0, 0, 0, 0) ];
4865		}
4866
4867		both ""
4868			#version 300 es
4869			precision mediump float;
4870
4871			${DECLARATIONS}
4872
4873			void main()
4874			{
4875				${SETUP}
4876				out0 = in0.aaaa;
4877				${OUTPUT}
4878			}
4879		""
4880	end
4881
4882	case mediump_ivec4_abba
4883		version 300 es
4884		values
4885		{
4886			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4887			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, -4, -4, 9) | ivec4(24, -51, -51, 24) | ivec4(0, 0, 0, 0) ];
4888		}
4889
4890		both ""
4891			#version 300 es
4892			precision mediump float;
4893
4894			${DECLARATIONS}
4895
4896			void main()
4897			{
4898				${SETUP}
4899				out0 = in0.abba;
4900				${OUTPUT}
4901			}
4902		""
4903	end
4904
4905	case mediump_ivec4_aaag
4906		version 300 es
4907		values
4908		{
4909			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4910			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, -2) | ivec4(24, 24, 24, 64) | ivec4(0, 0, 0, 0) ];
4911		}
4912
4913		both ""
4914			#version 300 es
4915			precision mediump float;
4916
4917			${DECLARATIONS}
4918
4919			void main()
4920			{
4921				${SETUP}
4922				out0 = in0.aaag;
4923				${OUTPUT}
4924			}
4925		""
4926	end
4927
4928	case mediump_ivec4_rgrr
4929		version 300 es
4930		values
4931		{
4932			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4933			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, -32) | ivec4(0, 0, 0, 0) ];
4934		}
4935
4936		both ""
4937			#version 300 es
4938			precision mediump float;
4939
4940			${DECLARATIONS}
4941
4942			void main()
4943			{
4944				${SETUP}
4945				out0 = in0.rgrr;
4946				${OUTPUT}
4947			}
4948		""
4949	end
4950
4951	case mediump_ivec4_bbab
4952		version 300 es
4953		values
4954		{
4955			input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ];
4956			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, 9, -4) | ivec4(-51, -51, 24, -51) | ivec4(0, 0, 0, 0) ];
4957		}
4958
4959		both ""
4960			#version 300 es
4961			precision mediump float;
4962
4963			${DECLARATIONS}
4964
4965			void main()
4966			{
4967				${SETUP}
4968				out0 = in0.bbab;
4969				${OUTPUT}
4970			}
4971		""
4972	end
4973
4974	case mediump_bvec2_x
4975		version 300 es
4976		values
4977		{
4978			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
4979			output bool out0 = [ true | false | false | true | false ];
4980		}
4981
4982		both ""
4983			#version 300 es
4984			precision mediump float;
4985
4986			${DECLARATIONS}
4987
4988			void main()
4989			{
4990				${SETUP}
4991				out0 = in0.x;
4992				${OUTPUT}
4993			}
4994		""
4995	end
4996
4997	case mediump_bvec2_xx
4998		version 300 es
4999		values
5000		{
5001			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5002			output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5003		}
5004
5005		both ""
5006			#version 300 es
5007			precision mediump float;
5008
5009			${DECLARATIONS}
5010
5011			void main()
5012			{
5013				${SETUP}
5014				out0 = in0.xx;
5015				${OUTPUT}
5016			}
5017		""
5018	end
5019
5020	case mediump_bvec2_xy
5021		version 300 es
5022		values
5023		{
5024			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5025			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5026		}
5027
5028		both ""
5029			#version 300 es
5030			precision mediump float;
5031
5032			${DECLARATIONS}
5033
5034			void main()
5035			{
5036				${SETUP}
5037				out0 = in0.xy;
5038				${OUTPUT}
5039			}
5040		""
5041	end
5042
5043	case mediump_bvec2_yx
5044		version 300 es
5045		values
5046		{
5047			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5048			output bvec2 out0 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) ];
5049		}
5050
5051		both ""
5052			#version 300 es
5053			precision mediump float;
5054
5055			${DECLARATIONS}
5056
5057			void main()
5058			{
5059				${SETUP}
5060				out0 = in0.yx;
5061				${OUTPUT}
5062			}
5063		""
5064	end
5065
5066	case mediump_bvec2_yxy
5067		version 300 es
5068		values
5069		{
5070			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5071			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5072		}
5073
5074		both ""
5075			#version 300 es
5076			precision mediump float;
5077
5078			${DECLARATIONS}
5079
5080			void main()
5081			{
5082				${SETUP}
5083				out0 = in0.yxy;
5084				${OUTPUT}
5085			}
5086		""
5087	end
5088
5089	case mediump_bvec2_xyxx
5090		version 300 es
5091		values
5092		{
5093			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5094			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5095		}
5096
5097		both ""
5098			#version 300 es
5099			precision mediump float;
5100
5101			${DECLARATIONS}
5102
5103			void main()
5104			{
5105				${SETUP}
5106				out0 = in0.xyxx;
5107				${OUTPUT}
5108			}
5109		""
5110	end
5111
5112	case mediump_bvec2_yyyy
5113		version 300 es
5114		values
5115		{
5116			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5117			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5118		}
5119
5120		both ""
5121			#version 300 es
5122			precision mediump float;
5123
5124			${DECLARATIONS}
5125
5126			void main()
5127			{
5128				${SETUP}
5129				out0 = in0.yyyy;
5130				${OUTPUT}
5131			}
5132		""
5133	end
5134
5135	case mediump_bvec2_s
5136		version 300 es
5137		values
5138		{
5139			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5140			output bool out0 = [ true | false | false | true | false ];
5141		}
5142
5143		both ""
5144			#version 300 es
5145			precision mediump float;
5146
5147			${DECLARATIONS}
5148
5149			void main()
5150			{
5151				${SETUP}
5152				out0 = in0.s;
5153				${OUTPUT}
5154			}
5155		""
5156	end
5157
5158	case mediump_bvec2_ss
5159		version 300 es
5160		values
5161		{
5162			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5163			output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5164		}
5165
5166		both ""
5167			#version 300 es
5168			precision mediump float;
5169
5170			${DECLARATIONS}
5171
5172			void main()
5173			{
5174				${SETUP}
5175				out0 = in0.ss;
5176				${OUTPUT}
5177			}
5178		""
5179	end
5180
5181	case mediump_bvec2_st
5182		version 300 es
5183		values
5184		{
5185			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5186			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5187		}
5188
5189		both ""
5190			#version 300 es
5191			precision mediump float;
5192
5193			${DECLARATIONS}
5194
5195			void main()
5196			{
5197				${SETUP}
5198				out0 = in0.st;
5199				${OUTPUT}
5200			}
5201		""
5202	end
5203
5204	case mediump_bvec2_ts
5205		version 300 es
5206		values
5207		{
5208			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5209			output bvec2 out0 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) ];
5210		}
5211
5212		both ""
5213			#version 300 es
5214			precision mediump float;
5215
5216			${DECLARATIONS}
5217
5218			void main()
5219			{
5220				${SETUP}
5221				out0 = in0.ts;
5222				${OUTPUT}
5223			}
5224		""
5225	end
5226
5227	case mediump_bvec2_tst
5228		version 300 es
5229		values
5230		{
5231			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5232			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5233		}
5234
5235		both ""
5236			#version 300 es
5237			precision mediump float;
5238
5239			${DECLARATIONS}
5240
5241			void main()
5242			{
5243				${SETUP}
5244				out0 = in0.tst;
5245				${OUTPUT}
5246			}
5247		""
5248	end
5249
5250	case mediump_bvec2_stss
5251		version 300 es
5252		values
5253		{
5254			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5255			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5256		}
5257
5258		both ""
5259			#version 300 es
5260			precision mediump float;
5261
5262			${DECLARATIONS}
5263
5264			void main()
5265			{
5266				${SETUP}
5267				out0 = in0.stss;
5268				${OUTPUT}
5269			}
5270		""
5271	end
5272
5273	case mediump_bvec2_tttt
5274		version 300 es
5275		values
5276		{
5277			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5278			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5279		}
5280
5281		both ""
5282			#version 300 es
5283			precision mediump float;
5284
5285			${DECLARATIONS}
5286
5287			void main()
5288			{
5289				${SETUP}
5290				out0 = in0.tttt;
5291				${OUTPUT}
5292			}
5293		""
5294	end
5295
5296	case mediump_bvec2_r
5297		version 300 es
5298		values
5299		{
5300			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5301			output bool out0 = [ true | false | false | true | false ];
5302		}
5303
5304		both ""
5305			#version 300 es
5306			precision mediump float;
5307
5308			${DECLARATIONS}
5309
5310			void main()
5311			{
5312				${SETUP}
5313				out0 = in0.r;
5314				${OUTPUT}
5315			}
5316		""
5317	end
5318
5319	case mediump_bvec2_rr
5320		version 300 es
5321		values
5322		{
5323			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5324			output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5325		}
5326
5327		both ""
5328			#version 300 es
5329			precision mediump float;
5330
5331			${DECLARATIONS}
5332
5333			void main()
5334			{
5335				${SETUP}
5336				out0 = in0.rr;
5337				${OUTPUT}
5338			}
5339		""
5340	end
5341
5342	case mediump_bvec2_rg
5343		version 300 es
5344		values
5345		{
5346			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5347			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5348		}
5349
5350		both ""
5351			#version 300 es
5352			precision mediump float;
5353
5354			${DECLARATIONS}
5355
5356			void main()
5357			{
5358				${SETUP}
5359				out0 = in0.rg;
5360				${OUTPUT}
5361			}
5362		""
5363	end
5364
5365	case mediump_bvec2_gr
5366		version 300 es
5367		values
5368		{
5369			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5370			output bvec2 out0 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) ];
5371		}
5372
5373		both ""
5374			#version 300 es
5375			precision mediump float;
5376
5377			${DECLARATIONS}
5378
5379			void main()
5380			{
5381				${SETUP}
5382				out0 = in0.gr;
5383				${OUTPUT}
5384			}
5385		""
5386	end
5387
5388	case mediump_bvec2_grg
5389		version 300 es
5390		values
5391		{
5392			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5393			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5394		}
5395
5396		both ""
5397			#version 300 es
5398			precision mediump float;
5399
5400			${DECLARATIONS}
5401
5402			void main()
5403			{
5404				${SETUP}
5405				out0 = in0.grg;
5406				${OUTPUT}
5407			}
5408		""
5409	end
5410
5411	case mediump_bvec2_rgrr
5412		version 300 es
5413		values
5414		{
5415			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5416			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5417		}
5418
5419		both ""
5420			#version 300 es
5421			precision mediump float;
5422
5423			${DECLARATIONS}
5424
5425			void main()
5426			{
5427				${SETUP}
5428				out0 = in0.rgrr;
5429				${OUTPUT}
5430			}
5431		""
5432	end
5433
5434	case mediump_bvec2_gggg
5435		version 300 es
5436		values
5437		{
5438			input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ];
5439			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5440		}
5441
5442		both ""
5443			#version 300 es
5444			precision mediump float;
5445
5446			${DECLARATIONS}
5447
5448			void main()
5449			{
5450				${SETUP}
5451				out0 = in0.gggg;
5452				${OUTPUT}
5453			}
5454		""
5455	end
5456
5457	case mediump_bvec3_x
5458		version 300 es
5459		values
5460		{
5461			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5462			output bool out0 = [ true | false | false | true | false ];
5463		}
5464
5465		both ""
5466			#version 300 es
5467			precision mediump float;
5468
5469			${DECLARATIONS}
5470
5471			void main()
5472			{
5473				${SETUP}
5474				out0 = in0.x;
5475				${OUTPUT}
5476			}
5477		""
5478	end
5479
5480	case mediump_bvec3_z
5481		version 300 es
5482		values
5483		{
5484			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5485			output bool out0 = [ false | false | false | true | false ];
5486		}
5487
5488		both ""
5489			#version 300 es
5490			precision mediump float;
5491
5492			${DECLARATIONS}
5493
5494			void main()
5495			{
5496				${SETUP}
5497				out0 = in0.z;
5498				${OUTPUT}
5499			}
5500		""
5501	end
5502
5503	case mediump_bvec3_xz
5504		version 300 es
5505		values
5506		{
5507			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5508			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5509		}
5510
5511		both ""
5512			#version 300 es
5513			precision mediump float;
5514
5515			${DECLARATIONS}
5516
5517			void main()
5518			{
5519				${SETUP}
5520				out0 = in0.xz;
5521				${OUTPUT}
5522			}
5523		""
5524	end
5525
5526	case mediump_bvec3_zz
5527		version 300 es
5528		values
5529		{
5530			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5531			output bvec2 out0 = [ bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5532		}
5533
5534		both ""
5535			#version 300 es
5536			precision mediump float;
5537
5538			${DECLARATIONS}
5539
5540			void main()
5541			{
5542				${SETUP}
5543				out0 = in0.zz;
5544				${OUTPUT}
5545			}
5546		""
5547	end
5548
5549	case mediump_bvec3_xyz
5550		version 300 es
5551		values
5552		{
5553			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5554			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5555		}
5556
5557		both ""
5558			#version 300 es
5559			precision mediump float;
5560
5561			${DECLARATIONS}
5562
5563			void main()
5564			{
5565				${SETUP}
5566				out0 = in0.xyz;
5567				${OUTPUT}
5568			}
5569		""
5570	end
5571
5572	case mediump_bvec3_zyx
5573		version 300 es
5574		values
5575		{
5576			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5577			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5578		}
5579
5580		both ""
5581			#version 300 es
5582			precision mediump float;
5583
5584			${DECLARATIONS}
5585
5586			void main()
5587			{
5588				${SETUP}
5589				out0 = in0.zyx;
5590				${OUTPUT}
5591			}
5592		""
5593	end
5594
5595	case mediump_bvec3_xxx
5596		version 300 es
5597		values
5598		{
5599			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5600			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5601		}
5602
5603		both ""
5604			#version 300 es
5605			precision mediump float;
5606
5607			${DECLARATIONS}
5608
5609			void main()
5610			{
5611				${SETUP}
5612				out0 = in0.xxx;
5613				${OUTPUT}
5614			}
5615		""
5616	end
5617
5618	case mediump_bvec3_zzz
5619		version 300 es
5620		values
5621		{
5622			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5623			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5624		}
5625
5626		both ""
5627			#version 300 es
5628			precision mediump float;
5629
5630			${DECLARATIONS}
5631
5632			void main()
5633			{
5634				${SETUP}
5635				out0 = in0.zzz;
5636				${OUTPUT}
5637			}
5638		""
5639	end
5640
5641	case mediump_bvec3_zzy
5642		version 300 es
5643		values
5644		{
5645			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5646			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5647		}
5648
5649		both ""
5650			#version 300 es
5651			precision mediump float;
5652
5653			${DECLARATIONS}
5654
5655			void main()
5656			{
5657				${SETUP}
5658				out0 = in0.zzy;
5659				${OUTPUT}
5660			}
5661		""
5662	end
5663
5664	case mediump_bvec3_yxy
5665		version 300 es
5666		values
5667		{
5668			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5669			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5670		}
5671
5672		both ""
5673			#version 300 es
5674			precision mediump float;
5675
5676			${DECLARATIONS}
5677
5678			void main()
5679			{
5680				${SETUP}
5681				out0 = in0.yxy;
5682				${OUTPUT}
5683			}
5684		""
5685	end
5686
5687	case mediump_bvec3_xzx
5688		version 300 es
5689		values
5690		{
5691			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5692			output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5693		}
5694
5695		both ""
5696			#version 300 es
5697			precision mediump float;
5698
5699			${DECLARATIONS}
5700
5701			void main()
5702			{
5703				${SETUP}
5704				out0 = in0.xzx;
5705				${OUTPUT}
5706			}
5707		""
5708	end
5709
5710	case mediump_bvec3_xyyx
5711		version 300 es
5712		values
5713		{
5714			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5715			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5716		}
5717
5718		both ""
5719			#version 300 es
5720			precision mediump float;
5721
5722			${DECLARATIONS}
5723
5724			void main()
5725			{
5726				${SETUP}
5727				out0 = in0.xyyx;
5728				${OUTPUT}
5729			}
5730		""
5731	end
5732
5733	case mediump_bvec3_zzzz
5734		version 300 es
5735		values
5736		{
5737			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5738			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
5739		}
5740
5741		both ""
5742			#version 300 es
5743			precision mediump float;
5744
5745			${DECLARATIONS}
5746
5747			void main()
5748			{
5749				${SETUP}
5750				out0 = in0.zzzz;
5751				${OUTPUT}
5752			}
5753		""
5754	end
5755
5756	case mediump_bvec3_s
5757		version 300 es
5758		values
5759		{
5760			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5761			output bool out0 = [ true | false | false | true | false ];
5762		}
5763
5764		both ""
5765			#version 300 es
5766			precision mediump float;
5767
5768			${DECLARATIONS}
5769
5770			void main()
5771			{
5772				${SETUP}
5773				out0 = in0.s;
5774				${OUTPUT}
5775			}
5776		""
5777	end
5778
5779	case mediump_bvec3_p
5780		version 300 es
5781		values
5782		{
5783			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5784			output bool out0 = [ false | false | false | true | false ];
5785		}
5786
5787		both ""
5788			#version 300 es
5789			precision mediump float;
5790
5791			${DECLARATIONS}
5792
5793			void main()
5794			{
5795				${SETUP}
5796				out0 = in0.p;
5797				${OUTPUT}
5798			}
5799		""
5800	end
5801
5802	case mediump_bvec3_sp
5803		version 300 es
5804		values
5805		{
5806			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5807			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5808		}
5809
5810		both ""
5811			#version 300 es
5812			precision mediump float;
5813
5814			${DECLARATIONS}
5815
5816			void main()
5817			{
5818				${SETUP}
5819				out0 = in0.sp;
5820				${OUTPUT}
5821			}
5822		""
5823	end
5824
5825	case mediump_bvec3_pp
5826		version 300 es
5827		values
5828		{
5829			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5830			output bvec2 out0 = [ bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
5831		}
5832
5833		both ""
5834			#version 300 es
5835			precision mediump float;
5836
5837			${DECLARATIONS}
5838
5839			void main()
5840			{
5841				${SETUP}
5842				out0 = in0.pp;
5843				${OUTPUT}
5844			}
5845		""
5846	end
5847
5848	case mediump_bvec3_stp
5849		version 300 es
5850		values
5851		{
5852			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5853			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5854		}
5855
5856		both ""
5857			#version 300 es
5858			precision mediump float;
5859
5860			${DECLARATIONS}
5861
5862			void main()
5863			{
5864				${SETUP}
5865				out0 = in0.stp;
5866				${OUTPUT}
5867			}
5868		""
5869	end
5870
5871	case mediump_bvec3_pts
5872		version 300 es
5873		values
5874		{
5875			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5876			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5877		}
5878
5879		both ""
5880			#version 300 es
5881			precision mediump float;
5882
5883			${DECLARATIONS}
5884
5885			void main()
5886			{
5887				${SETUP}
5888				out0 = in0.pts;
5889				${OUTPUT}
5890			}
5891		""
5892	end
5893
5894	case mediump_bvec3_sss
5895		version 300 es
5896		values
5897		{
5898			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5899			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5900		}
5901
5902		both ""
5903			#version 300 es
5904			precision mediump float;
5905
5906			${DECLARATIONS}
5907
5908			void main()
5909			{
5910				${SETUP}
5911				out0 = in0.sss;
5912				${OUTPUT}
5913			}
5914		""
5915	end
5916
5917	case mediump_bvec3_ppp
5918		version 300 es
5919		values
5920		{
5921			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5922			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5923		}
5924
5925		both ""
5926			#version 300 es
5927			precision mediump float;
5928
5929			${DECLARATIONS}
5930
5931			void main()
5932			{
5933				${SETUP}
5934				out0 = in0.ppp;
5935				${OUTPUT}
5936			}
5937		""
5938	end
5939
5940	case mediump_bvec3_ppt
5941		version 300 es
5942		values
5943		{
5944			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5945			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5946		}
5947
5948		both ""
5949			#version 300 es
5950			precision mediump float;
5951
5952			${DECLARATIONS}
5953
5954			void main()
5955			{
5956				${SETUP}
5957				out0 = in0.ppt;
5958				${OUTPUT}
5959			}
5960		""
5961	end
5962
5963	case mediump_bvec3_tst
5964		version 300 es
5965		values
5966		{
5967			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5968			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
5969		}
5970
5971		both ""
5972			#version 300 es
5973			precision mediump float;
5974
5975			${DECLARATIONS}
5976
5977			void main()
5978			{
5979				${SETUP}
5980				out0 = in0.tst;
5981				${OUTPUT}
5982			}
5983		""
5984	end
5985
5986	case mediump_bvec3_sps
5987		version 300 es
5988		values
5989		{
5990			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5991			output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
5992		}
5993
5994		both ""
5995			#version 300 es
5996			precision mediump float;
5997
5998			${DECLARATIONS}
5999
6000			void main()
6001			{
6002				${SETUP}
6003				out0 = in0.sps;
6004				${OUTPUT}
6005			}
6006		""
6007	end
6008
6009	case mediump_bvec3_stts
6010		version 300 es
6011		values
6012		{
6013			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6014			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6015		}
6016
6017		both ""
6018			#version 300 es
6019			precision mediump float;
6020
6021			${DECLARATIONS}
6022
6023			void main()
6024			{
6025				${SETUP}
6026				out0 = in0.stts;
6027				${OUTPUT}
6028			}
6029		""
6030	end
6031
6032	case mediump_bvec3_pppp
6033		version 300 es
6034		values
6035		{
6036			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6037			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6038		}
6039
6040		both ""
6041			#version 300 es
6042			precision mediump float;
6043
6044			${DECLARATIONS}
6045
6046			void main()
6047			{
6048				${SETUP}
6049				out0 = in0.pppp;
6050				${OUTPUT}
6051			}
6052		""
6053	end
6054
6055	case mediump_bvec3_r
6056		version 300 es
6057		values
6058		{
6059			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6060			output bool out0 = [ true | false | false | true | false ];
6061		}
6062
6063		both ""
6064			#version 300 es
6065			precision mediump float;
6066
6067			${DECLARATIONS}
6068
6069			void main()
6070			{
6071				${SETUP}
6072				out0 = in0.r;
6073				${OUTPUT}
6074			}
6075		""
6076	end
6077
6078	case mediump_bvec3_b
6079		version 300 es
6080		values
6081		{
6082			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6083			output bool out0 = [ false | false | false | true | false ];
6084		}
6085
6086		both ""
6087			#version 300 es
6088			precision mediump float;
6089
6090			${DECLARATIONS}
6091
6092			void main()
6093			{
6094				${SETUP}
6095				out0 = in0.b;
6096				${OUTPUT}
6097			}
6098		""
6099	end
6100
6101	case mediump_bvec3_rb
6102		version 300 es
6103		values
6104		{
6105			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6106			output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6107		}
6108
6109		both ""
6110			#version 300 es
6111			precision mediump float;
6112
6113			${DECLARATIONS}
6114
6115			void main()
6116			{
6117				${SETUP}
6118				out0 = in0.rb;
6119				${OUTPUT}
6120			}
6121		""
6122	end
6123
6124	case mediump_bvec3_bb
6125		version 300 es
6126		values
6127		{
6128			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6129			output bvec2 out0 = [ bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6130		}
6131
6132		both ""
6133			#version 300 es
6134			precision mediump float;
6135
6136			${DECLARATIONS}
6137
6138			void main()
6139			{
6140				${SETUP}
6141				out0 = in0.bb;
6142				${OUTPUT}
6143			}
6144		""
6145	end
6146
6147	case mediump_bvec3_rgb
6148		version 300 es
6149		values
6150		{
6151			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6152			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6153		}
6154
6155		both ""
6156			#version 300 es
6157			precision mediump float;
6158
6159			${DECLARATIONS}
6160
6161			void main()
6162			{
6163				${SETUP}
6164				out0 = in0.rgb;
6165				${OUTPUT}
6166			}
6167		""
6168	end
6169
6170	case mediump_bvec3_bgr
6171		version 300 es
6172		values
6173		{
6174			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6175			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6176		}
6177
6178		both ""
6179			#version 300 es
6180			precision mediump float;
6181
6182			${DECLARATIONS}
6183
6184			void main()
6185			{
6186				${SETUP}
6187				out0 = in0.bgr;
6188				${OUTPUT}
6189			}
6190		""
6191	end
6192
6193	case mediump_bvec3_rrr
6194		version 300 es
6195		values
6196		{
6197			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6198			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6199		}
6200
6201		both ""
6202			#version 300 es
6203			precision mediump float;
6204
6205			${DECLARATIONS}
6206
6207			void main()
6208			{
6209				${SETUP}
6210				out0 = in0.rrr;
6211				${OUTPUT}
6212			}
6213		""
6214	end
6215
6216	case mediump_bvec3_bbb
6217		version 300 es
6218		values
6219		{
6220			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6221			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6222		}
6223
6224		both ""
6225			#version 300 es
6226			precision mediump float;
6227
6228			${DECLARATIONS}
6229
6230			void main()
6231			{
6232				${SETUP}
6233				out0 = in0.bbb;
6234				${OUTPUT}
6235			}
6236		""
6237	end
6238
6239	case mediump_bvec3_bbg
6240		version 300 es
6241		values
6242		{
6243			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6244			output bvec3 out0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
6245		}
6246
6247		both ""
6248			#version 300 es
6249			precision mediump float;
6250
6251			${DECLARATIONS}
6252
6253			void main()
6254			{
6255				${SETUP}
6256				out0 = in0.bbg;
6257				${OUTPUT}
6258			}
6259		""
6260	end
6261
6262	case mediump_bvec3_grg
6263		version 300 es
6264		values
6265		{
6266			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6267			output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
6268		}
6269
6270		both ""
6271			#version 300 es
6272			precision mediump float;
6273
6274			${DECLARATIONS}
6275
6276			void main()
6277			{
6278				${SETUP}
6279				out0 = in0.grg;
6280				${OUTPUT}
6281			}
6282		""
6283	end
6284
6285	case mediump_bvec3_rbr
6286		version 300 es
6287		values
6288		{
6289			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6290			output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6291		}
6292
6293		both ""
6294			#version 300 es
6295			precision mediump float;
6296
6297			${DECLARATIONS}
6298
6299			void main()
6300			{
6301				${SETUP}
6302				out0 = in0.rbr;
6303				${OUTPUT}
6304			}
6305		""
6306	end
6307
6308	case mediump_bvec3_rggr
6309		version 300 es
6310		values
6311		{
6312			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6313			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6314		}
6315
6316		both ""
6317			#version 300 es
6318			precision mediump float;
6319
6320			${DECLARATIONS}
6321
6322			void main()
6323			{
6324				${SETUP}
6325				out0 = in0.rggr;
6326				${OUTPUT}
6327			}
6328		""
6329	end
6330
6331	case mediump_bvec3_bbbb
6332		version 300 es
6333		values
6334		{
6335			input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6336			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6337		}
6338
6339		both ""
6340			#version 300 es
6341			precision mediump float;
6342
6343			${DECLARATIONS}
6344
6345			void main()
6346			{
6347				${SETUP}
6348				out0 = in0.bbbb;
6349				${OUTPUT}
6350			}
6351		""
6352	end
6353
6354	case mediump_bvec4_x
6355		version 300 es
6356		values
6357		{
6358			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6359			output bool out0 = [ true | false | false | true | false ];
6360		}
6361
6362		both ""
6363			#version 300 es
6364			precision mediump float;
6365
6366			${DECLARATIONS}
6367
6368			void main()
6369			{
6370				${SETUP}
6371				out0 = in0.x;
6372				${OUTPUT}
6373			}
6374		""
6375	end
6376
6377	case mediump_bvec4_w
6378		version 300 es
6379		values
6380		{
6381			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6382			output bool out0 = [ true | true | false | true | false ];
6383		}
6384
6385		both ""
6386			#version 300 es
6387			precision mediump float;
6388
6389			${DECLARATIONS}
6390
6391			void main()
6392			{
6393				${SETUP}
6394				out0 = in0.w;
6395				${OUTPUT}
6396			}
6397		""
6398	end
6399
6400	case mediump_bvec4_wx
6401		version 300 es
6402		values
6403		{
6404			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6405			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6406		}
6407
6408		both ""
6409			#version 300 es
6410			precision mediump float;
6411
6412			${DECLARATIONS}
6413
6414			void main()
6415			{
6416				${SETUP}
6417				out0 = in0.wx;
6418				${OUTPUT}
6419			}
6420		""
6421	end
6422
6423	case mediump_bvec4_wz
6424		version 300 es
6425		values
6426		{
6427			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6428			output bvec2 out0 = [ bvec2(true, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6429		}
6430
6431		both ""
6432			#version 300 es
6433			precision mediump float;
6434
6435			${DECLARATIONS}
6436
6437			void main()
6438			{
6439				${SETUP}
6440				out0 = in0.wz;
6441				${OUTPUT}
6442			}
6443		""
6444	end
6445
6446	case mediump_bvec4_www
6447		version 300 es
6448		values
6449		{
6450			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6451			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6452		}
6453
6454		both ""
6455			#version 300 es
6456			precision mediump float;
6457
6458			${DECLARATIONS}
6459
6460			void main()
6461			{
6462				${SETUP}
6463				out0 = in0.www;
6464				${OUTPUT}
6465			}
6466		""
6467	end
6468
6469	case mediump_bvec4_yyw
6470		version 300 es
6471		values
6472		{
6473			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6474			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6475		}
6476
6477		both ""
6478			#version 300 es
6479			precision mediump float;
6480
6481			${DECLARATIONS}
6482
6483			void main()
6484			{
6485				${SETUP}
6486				out0 = in0.yyw;
6487				${OUTPUT}
6488			}
6489		""
6490	end
6491
6492	case mediump_bvec4_wzy
6493		version 300 es
6494		values
6495		{
6496			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6497			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(true, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
6498		}
6499
6500		both ""
6501			#version 300 es
6502			precision mediump float;
6503
6504			${DECLARATIONS}
6505
6506			void main()
6507			{
6508				${SETUP}
6509				out0 = in0.wzy;
6510				${OUTPUT}
6511			}
6512		""
6513	end
6514
6515	case mediump_bvec4_xyzw
6516		version 300 es
6517		values
6518		{
6519			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6520			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6521		}
6522
6523		both ""
6524			#version 300 es
6525			precision mediump float;
6526
6527			${DECLARATIONS}
6528
6529			void main()
6530			{
6531				${SETUP}
6532				out0 = in0.xyzw;
6533				${OUTPUT}
6534			}
6535		""
6536	end
6537
6538	case mediump_bvec4_wzyx
6539		version 300 es
6540		values
6541		{
6542			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6543			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, false) | bvec4(false, false, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6544		}
6545
6546		both ""
6547			#version 300 es
6548			precision mediump float;
6549
6550			${DECLARATIONS}
6551
6552			void main()
6553			{
6554				${SETUP}
6555				out0 = in0.wzyx;
6556				${OUTPUT}
6557			}
6558		""
6559	end
6560
6561	case mediump_bvec4_xxxx
6562		version 300 es
6563		values
6564		{
6565			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6566			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6567		}
6568
6569		both ""
6570			#version 300 es
6571			precision mediump float;
6572
6573			${DECLARATIONS}
6574
6575			void main()
6576			{
6577				${SETUP}
6578				out0 = in0.xxxx;
6579				${OUTPUT}
6580			}
6581		""
6582	end
6583
6584	case mediump_bvec4_yyyy
6585		version 300 es
6586		values
6587		{
6588			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6589			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6590		}
6591
6592		both ""
6593			#version 300 es
6594			precision mediump float;
6595
6596			${DECLARATIONS}
6597
6598			void main()
6599			{
6600				${SETUP}
6601				out0 = in0.yyyy;
6602				${OUTPUT}
6603			}
6604		""
6605	end
6606
6607	case mediump_bvec4_wwww
6608		version 300 es
6609		values
6610		{
6611			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6612			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6613		}
6614
6615		both ""
6616			#version 300 es
6617			precision mediump float;
6618
6619			${DECLARATIONS}
6620
6621			void main()
6622			{
6623				${SETUP}
6624				out0 = in0.wwww;
6625				${OUTPUT}
6626			}
6627		""
6628	end
6629
6630	case mediump_bvec4_wzzw
6631		version 300 es
6632		values
6633		{
6634			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6635			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6636		}
6637
6638		both ""
6639			#version 300 es
6640			precision mediump float;
6641
6642			${DECLARATIONS}
6643
6644			void main()
6645			{
6646				${SETUP}
6647				out0 = in0.wzzw;
6648				${OUTPUT}
6649			}
6650		""
6651	end
6652
6653	case mediump_bvec4_wwwy
6654		version 300 es
6655		values
6656		{
6657			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6658			output bvec4 out0 = [ bvec4(true, true, true, false) | bvec4(true, true, true, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6659		}
6660
6661		both ""
6662			#version 300 es
6663			precision mediump float;
6664
6665			${DECLARATIONS}
6666
6667			void main()
6668			{
6669				${SETUP}
6670				out0 = in0.wwwy;
6671				${OUTPUT}
6672			}
6673		""
6674	end
6675
6676	case mediump_bvec4_xyxx
6677		version 300 es
6678		values
6679		{
6680			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6681			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6682		}
6683
6684		both ""
6685			#version 300 es
6686			precision mediump float;
6687
6688			${DECLARATIONS}
6689
6690			void main()
6691			{
6692				${SETUP}
6693				out0 = in0.xyxx;
6694				${OUTPUT}
6695			}
6696		""
6697	end
6698
6699	case mediump_bvec4_zzwz
6700		version 300 es
6701		values
6702		{
6703			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6704			output bvec4 out0 = [ bvec4(false, false, true, false) | bvec4(false, false, true, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6705		}
6706
6707		both ""
6708			#version 300 es
6709			precision mediump float;
6710
6711			${DECLARATIONS}
6712
6713			void main()
6714			{
6715				${SETUP}
6716				out0 = in0.zzwz;
6717				${OUTPUT}
6718			}
6719		""
6720	end
6721
6722	case mediump_bvec4_s
6723		version 300 es
6724		values
6725		{
6726			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6727			output bool out0 = [ true | false | false | true | false ];
6728		}
6729
6730		both ""
6731			#version 300 es
6732			precision mediump float;
6733
6734			${DECLARATIONS}
6735
6736			void main()
6737			{
6738				${SETUP}
6739				out0 = in0.s;
6740				${OUTPUT}
6741			}
6742		""
6743	end
6744
6745	case mediump_bvec4_q
6746		version 300 es
6747		values
6748		{
6749			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6750			output bool out0 = [ true | true | false | true | false ];
6751		}
6752
6753		both ""
6754			#version 300 es
6755			precision mediump float;
6756
6757			${DECLARATIONS}
6758
6759			void main()
6760			{
6761				${SETUP}
6762				out0 = in0.q;
6763				${OUTPUT}
6764			}
6765		""
6766	end
6767
6768	case mediump_bvec4_qs
6769		version 300 es
6770		values
6771		{
6772			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6773			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6774		}
6775
6776		both ""
6777			#version 300 es
6778			precision mediump float;
6779
6780			${DECLARATIONS}
6781
6782			void main()
6783			{
6784				${SETUP}
6785				out0 = in0.qs;
6786				${OUTPUT}
6787			}
6788		""
6789	end
6790
6791	case mediump_bvec4_qp
6792		version 300 es
6793		values
6794		{
6795			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6796			output bvec2 out0 = [ bvec2(true, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
6797		}
6798
6799		both ""
6800			#version 300 es
6801			precision mediump float;
6802
6803			${DECLARATIONS}
6804
6805			void main()
6806			{
6807				${SETUP}
6808				out0 = in0.qp;
6809				${OUTPUT}
6810			}
6811		""
6812	end
6813
6814	case mediump_bvec4_qqq
6815		version 300 es
6816		values
6817		{
6818			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6819			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6820		}
6821
6822		both ""
6823			#version 300 es
6824			precision mediump float;
6825
6826			${DECLARATIONS}
6827
6828			void main()
6829			{
6830				${SETUP}
6831				out0 = in0.qqq;
6832				${OUTPUT}
6833			}
6834		""
6835	end
6836
6837	case mediump_bvec4_ttq
6838		version 300 es
6839		values
6840		{
6841			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6842			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
6843		}
6844
6845		both ""
6846			#version 300 es
6847			precision mediump float;
6848
6849			${DECLARATIONS}
6850
6851			void main()
6852			{
6853				${SETUP}
6854				out0 = in0.ttq;
6855				${OUTPUT}
6856			}
6857		""
6858	end
6859
6860	case mediump_bvec4_qpt
6861		version 300 es
6862		values
6863		{
6864			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6865			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(true, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
6866		}
6867
6868		both ""
6869			#version 300 es
6870			precision mediump float;
6871
6872			${DECLARATIONS}
6873
6874			void main()
6875			{
6876				${SETUP}
6877				out0 = in0.qpt;
6878				${OUTPUT}
6879			}
6880		""
6881	end
6882
6883	case mediump_bvec4_stpq
6884		version 300 es
6885		values
6886		{
6887			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6888			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6889		}
6890
6891		both ""
6892			#version 300 es
6893			precision mediump float;
6894
6895			${DECLARATIONS}
6896
6897			void main()
6898			{
6899				${SETUP}
6900				out0 = in0.stpq;
6901				${OUTPUT}
6902			}
6903		""
6904	end
6905
6906	case mediump_bvec4_qpts
6907		version 300 es
6908		values
6909		{
6910			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6911			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, false) | bvec4(false, false, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6912		}
6913
6914		both ""
6915			#version 300 es
6916			precision mediump float;
6917
6918			${DECLARATIONS}
6919
6920			void main()
6921			{
6922				${SETUP}
6923				out0 = in0.qpts;
6924				${OUTPUT}
6925			}
6926		""
6927	end
6928
6929	case mediump_bvec4_ssss
6930		version 300 es
6931		values
6932		{
6933			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6934			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6935		}
6936
6937		both ""
6938			#version 300 es
6939			precision mediump float;
6940
6941			${DECLARATIONS}
6942
6943			void main()
6944			{
6945				${SETUP}
6946				out0 = in0.ssss;
6947				${OUTPUT}
6948			}
6949		""
6950	end
6951
6952	case mediump_bvec4_tttt
6953		version 300 es
6954		values
6955		{
6956			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6957			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6958		}
6959
6960		both ""
6961			#version 300 es
6962			precision mediump float;
6963
6964			${DECLARATIONS}
6965
6966			void main()
6967			{
6968				${SETUP}
6969				out0 = in0.tttt;
6970				${OUTPUT}
6971			}
6972		""
6973	end
6974
6975	case mediump_bvec4_qqqq
6976		version 300 es
6977		values
6978		{
6979			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6980			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
6981		}
6982
6983		both ""
6984			#version 300 es
6985			precision mediump float;
6986
6987			${DECLARATIONS}
6988
6989			void main()
6990			{
6991				${SETUP}
6992				out0 = in0.qqqq;
6993				${OUTPUT}
6994			}
6995		""
6996	end
6997
6998	case mediump_bvec4_qppq
6999		version 300 es
7000		values
7001		{
7002			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7003			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7004		}
7005
7006		both ""
7007			#version 300 es
7008			precision mediump float;
7009
7010			${DECLARATIONS}
7011
7012			void main()
7013			{
7014				${SETUP}
7015				out0 = in0.qppq;
7016				${OUTPUT}
7017			}
7018		""
7019	end
7020
7021	case mediump_bvec4_qqqt
7022		version 300 es
7023		values
7024		{
7025			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7026			output bvec4 out0 = [ bvec4(true, true, true, false) | bvec4(true, true, true, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7027		}
7028
7029		both ""
7030			#version 300 es
7031			precision mediump float;
7032
7033			${DECLARATIONS}
7034
7035			void main()
7036			{
7037				${SETUP}
7038				out0 = in0.qqqt;
7039				${OUTPUT}
7040			}
7041		""
7042	end
7043
7044	case mediump_bvec4_stss
7045		version 300 es
7046		values
7047		{
7048			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7049			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7050		}
7051
7052		both ""
7053			#version 300 es
7054			precision mediump float;
7055
7056			${DECLARATIONS}
7057
7058			void main()
7059			{
7060				${SETUP}
7061				out0 = in0.stss;
7062				${OUTPUT}
7063			}
7064		""
7065	end
7066
7067	case mediump_bvec4_ppqp
7068		version 300 es
7069		values
7070		{
7071			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7072			output bvec4 out0 = [ bvec4(false, false, true, false) | bvec4(false, false, true, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7073		}
7074
7075		both ""
7076			#version 300 es
7077			precision mediump float;
7078
7079			${DECLARATIONS}
7080
7081			void main()
7082			{
7083				${SETUP}
7084				out0 = in0.ppqp;
7085				${OUTPUT}
7086			}
7087		""
7088	end
7089
7090	case mediump_bvec4_r
7091		version 300 es
7092		values
7093		{
7094			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7095			output bool out0 = [ true | false | false | true | false ];
7096		}
7097
7098		both ""
7099			#version 300 es
7100			precision mediump float;
7101
7102			${DECLARATIONS}
7103
7104			void main()
7105			{
7106				${SETUP}
7107				out0 = in0.r;
7108				${OUTPUT}
7109			}
7110		""
7111	end
7112
7113	case mediump_bvec4_a
7114		version 300 es
7115		values
7116		{
7117			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7118			output bool out0 = [ true | true | false | true | false ];
7119		}
7120
7121		both ""
7122			#version 300 es
7123			precision mediump float;
7124
7125			${DECLARATIONS}
7126
7127			void main()
7128			{
7129				${SETUP}
7130				out0 = in0.a;
7131				${OUTPUT}
7132			}
7133		""
7134	end
7135
7136	case mediump_bvec4_ar
7137		version 300 es
7138		values
7139		{
7140			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7141			output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
7142		}
7143
7144		both ""
7145			#version 300 es
7146			precision mediump float;
7147
7148			${DECLARATIONS}
7149
7150			void main()
7151			{
7152				${SETUP}
7153				out0 = in0.ar;
7154				${OUTPUT}
7155			}
7156		""
7157	end
7158
7159	case mediump_bvec4_ab
7160		version 300 es
7161		values
7162		{
7163			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7164			output bvec2 out0 = [ bvec2(true, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ];
7165		}
7166
7167		both ""
7168			#version 300 es
7169			precision mediump float;
7170
7171			${DECLARATIONS}
7172
7173			void main()
7174			{
7175				${SETUP}
7176				out0 = in0.ab;
7177				${OUTPUT}
7178			}
7179		""
7180	end
7181
7182	case mediump_bvec4_aaa
7183		version 300 es
7184		values
7185		{
7186			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7187			output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
7188		}
7189
7190		both ""
7191			#version 300 es
7192			precision mediump float;
7193
7194			${DECLARATIONS}
7195
7196			void main()
7197			{
7198				${SETUP}
7199				out0 = in0.aaa;
7200				${OUTPUT}
7201			}
7202		""
7203	end
7204
7205	case mediump_bvec4_gga
7206		version 300 es
7207		values
7208		{
7209			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7210			output bvec3 out0 = [ bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ];
7211		}
7212
7213		both ""
7214			#version 300 es
7215			precision mediump float;
7216
7217			${DECLARATIONS}
7218
7219			void main()
7220			{
7221				${SETUP}
7222				out0 = in0.gga;
7223				${OUTPUT}
7224			}
7225		""
7226	end
7227
7228	case mediump_bvec4_abg
7229		version 300 es
7230		values
7231		{
7232			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7233			output bvec3 out0 = [ bvec3(true, false, false) | bvec3(true, false, false) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, false, false) ];
7234		}
7235
7236		both ""
7237			#version 300 es
7238			precision mediump float;
7239
7240			${DECLARATIONS}
7241
7242			void main()
7243			{
7244				${SETUP}
7245				out0 = in0.abg;
7246				${OUTPUT}
7247			}
7248		""
7249	end
7250
7251	case mediump_bvec4_rgba
7252		version 300 es
7253		values
7254		{
7255			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7256			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7257		}
7258
7259		both ""
7260			#version 300 es
7261			precision mediump float;
7262
7263			${DECLARATIONS}
7264
7265			void main()
7266			{
7267				${SETUP}
7268				out0 = in0.rgba;
7269				${OUTPUT}
7270			}
7271		""
7272	end
7273
7274	case mediump_bvec4_abgr
7275		version 300 es
7276		values
7277		{
7278			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7279			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, false) | bvec4(false, false, true, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7280		}
7281
7282		both ""
7283			#version 300 es
7284			precision mediump float;
7285
7286			${DECLARATIONS}
7287
7288			void main()
7289			{
7290				${SETUP}
7291				out0 = in0.abgr;
7292				${OUTPUT}
7293			}
7294		""
7295	end
7296
7297	case mediump_bvec4_rrrr
7298		version 300 es
7299		values
7300		{
7301			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7302			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7303		}
7304
7305		both ""
7306			#version 300 es
7307			precision mediump float;
7308
7309			${DECLARATIONS}
7310
7311			void main()
7312			{
7313				${SETUP}
7314				out0 = in0.rrrr;
7315				${OUTPUT}
7316			}
7317		""
7318	end
7319
7320	case mediump_bvec4_gggg
7321		version 300 es
7322		values
7323		{
7324			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7325			output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7326		}
7327
7328		both ""
7329			#version 300 es
7330			precision mediump float;
7331
7332			${DECLARATIONS}
7333
7334			void main()
7335			{
7336				${SETUP}
7337				out0 = in0.gggg;
7338				${OUTPUT}
7339			}
7340		""
7341	end
7342
7343	case mediump_bvec4_aaaa
7344		version 300 es
7345		values
7346		{
7347			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7348			output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7349		}
7350
7351		both ""
7352			#version 300 es
7353			precision mediump float;
7354
7355			${DECLARATIONS}
7356
7357			void main()
7358			{
7359				${SETUP}
7360				out0 = in0.aaaa;
7361				${OUTPUT}
7362			}
7363		""
7364	end
7365
7366	case mediump_bvec4_abba
7367		version 300 es
7368		values
7369		{
7370			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7371			output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7372		}
7373
7374		both ""
7375			#version 300 es
7376			precision mediump float;
7377
7378			${DECLARATIONS}
7379
7380			void main()
7381			{
7382				${SETUP}
7383				out0 = in0.abba;
7384				${OUTPUT}
7385			}
7386		""
7387	end
7388
7389	case mediump_bvec4_aaag
7390		version 300 es
7391		values
7392		{
7393			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7394			output bvec4 out0 = [ bvec4(true, true, true, false) | bvec4(true, true, true, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7395		}
7396
7397		both ""
7398			#version 300 es
7399			precision mediump float;
7400
7401			${DECLARATIONS}
7402
7403			void main()
7404			{
7405				${SETUP}
7406				out0 = in0.aaag;
7407				${OUTPUT}
7408			}
7409		""
7410	end
7411
7412	case mediump_bvec4_rgrr
7413		version 300 es
7414		values
7415		{
7416			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7417			output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7418		}
7419
7420		both ""
7421			#version 300 es
7422			precision mediump float;
7423
7424			${DECLARATIONS}
7425
7426			void main()
7427			{
7428				${SETUP}
7429				out0 = in0.rgrr;
7430				${OUTPUT}
7431			}
7432		""
7433	end
7434
7435	case mediump_bvec4_bbab
7436		version 300 es
7437		values
7438		{
7439			input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7440			output bvec4 out0 = [ bvec4(false, false, true, false) | bvec4(false, false, true, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ];
7441		}
7442
7443		both ""
7444			#version 300 es
7445			precision mediump float;
7446
7447			${DECLARATIONS}
7448
7449			void main()
7450			{
7451				${SETUP}
7452				out0 = in0.bbab;
7453				${OUTPUT}
7454			}
7455		""
7456	end
7457
7458
7459end # vector_swizzles
7460