	.file	"1003633.c"
	.intel_syntax noprefix
	.text
	.globl	datatoc_gpu_shader_2D_nodelink_vert_glsl_size
	.data
	.align 4
	.type	datatoc_gpu_shader_2D_nodelink_vert_glsl_size, @object
	.size	datatoc_gpu_shader_2D_nodelink_vert_glsl_size, 4
datatoc_gpu_shader_2D_nodelink_vert_glsl_size:
	.long	2601
	.globl	datatoc_gpu_shader_2D_nodelink_vert_glsl
	.align 32
	.type	datatoc_gpu_shader_2D_nodelink_vert_glsl, @object
	.size	datatoc_gpu_shader_2D_nodelink_vert_glsl, 2602
datatoc_gpu_shader_2D_nodelink_vert_glsl:
	.ascii	"/**\r\n * 2D Quadratic Bezier thick line drawing\r\n **/\r\n"
	.ascii	"\r\n#define MID_VERTEX 57\r\n\r\n/* u is position along the "
	.ascii	"curve, defining the tangent space.\r\n * v is \"signed\" dis"
	.ascii	"tance (compressed to [0..1] range) from the pos in expand di"
	.ascii	"rection */\r\nin vec2 uv;\r\nin vec2 pos; /* verts position "
	.ascii	"in the curve tangent space */\r\nin vec2 expand;\r\n\r\n#ifd"
	.ascii	"ef USE_INSTANCE\r\n/* Instance attrib */\r\nin vec2 P0;\r\ni"
	.ascii	"n vec2 P1;\r\nin vec2 P2;\r\nin vec2 P3;\r\nin ivec4 colid_d"
	.ascii	"oarrow;\r\n\r\nuniform vec4 colors[6];\r\n\r\n#define colSta"
	.ascii	"rt   colors[colid_doarrow[0]]\r\n#define colEnd     colors[c"
	.ascii	"olid_doarrow[1]]\r\n#define colShadow  colors[colid_doarrow["
	.ascii	"2]]\r\n#define doArrow    (colid_doarrow[3] != 0)\r\n\r\n#el"
	.ascii	"se\r\n/* Single curve drawcall, use uniform. */\r\nuniform v"
	.ascii	"ec2 bezierPts[4];\r\n\r\n#define P0 bezierPts[0]\r\n#define "
	.ascii	"P1 bezierPts[1]\r\n#define P2 bezierPts[2]\r\n#define P3 bez"
	.ascii	"ierPts[3]\r\n\r\nuniform vec4 colors[3];\r\nuniform bool doA"
	.ascii	"rrow;\r\n\r\n#define colShadow  colors[0]\r\n#define colStar"
	.ascii	"t   colors[1]\r\n#define colEnd     colors[2]\r\n\r\n#endif\r"
	.ascii	"\n\r\nuniform float expandSize;\r\nuniform float arrowSize;\r"
	.ascii	"\nuniform mat4 ModelViewProjectionMatrix;\r\n\r\nout float c"
	.ascii	"olorGradient;\r\nout vec4 finalColor;\r\n\r\nvoid main(void)"
	.ascii	"\r\n{\r\n\tfloat t = uv.x;\r\n\tfloat t2 = t * t;\r\n\tfloat"
	.ascii	" t2_3 = 3.0 * t2;\r\n\tfloat one_minus_t = 1.0 - t;\r\n\tflo"
	.ascii	"at one_minus_t2 = one_minus_t * one_minus_t;\r\n\tfloat one_"
	.ascii	"minus_t2_3 = 3.0 * one_minus_t2;\r\n\r\n\tvec2 point = (P0 *"
	.ascii	" one_minus_t2 * one_minus_t +\r\n\t              P1 * one_mi"
	.ascii	"nus_t2_3 * t +\r\n\t              P2 * t2_3 * one_minus_t +\r"
	.ascii	"\n\t              P3 * t2 * t);\r\n\r\n\tvec2 tangent = ((P1"
	.ascii	" - P0) * one_minus_t2_3 +\r\n\t                (P2 - P1) * 6"
	.ascii	".0 * (t - t2) +\r\n\t                (P3 - P2) * t2_3);\r\n\r"
	.ascii	"\n\t/* tangent space at t */\r\n\ttangent = normalize(tangen"
	.ascii	"t);\r\n\tvec2 normal = tangent.yx * vec2(-1.0, 1.0);\r\n\r\n"
	.ascii	"\t/* Position vertex on the curve tangent space */\r\n\tpoin"
	.ascii	"t += (pos.x * tangent + pos.y * normal) * arrowSize;\r\n\r\n"
	.ascii	"\tgl_Position = ModelViewProjectionMatrix * vec4(point, 0.0,"
	.ascii	" 1.0);\r\n\r\n\tvec2 exp_axis = expand.x * tangent + expand."
	.ascii	"y * normal;\r\n\r\n\t"
	.ascii	"/* rotate & scale the expand axis */\r\n\texp_axis = ModelVi"
	.ascii	"ewProjectionMatrix[0].xy * exp_axis.xx +\r\n\t           Mod"
	.ascii	"elViewProjectionMatrix[1].xy * exp_axis.yy;\r\n\r\n\r\n\tflo"
	.ascii	"at expand_dist = (uv.y * 2.0 - 1.0);\r\n\tcolorGradient = ex"
	.ascii	"pand_dist;\r\n\r\n\tif (gl_VertexID < MID_VERTEX) {\r\n\t\t/"
	.ascii	"* Shadow pass */\r\n\t\tfinalColor = colShadow;\r\n\t}\r\n\t"
	.ascii	"else {\r\n\t\t/* Second "
	.string	"pass */\r\n\t\tfinalColor = mix(colStart, colEnd, uv.x);\r\n\t\texpand_dist *= 0.5;\r\n\t}\r\n\r\n\t/* Expand into a line */\r\n\tgl_Position.xy += exp_axis * expandSize * expand_dist;\r\n\r\n\t/* if arrow */\r\n\tif (expand.y != 1.0 && !doArrow) {\r\n\t\tgl_Position.xy *= 0.0;\r\n\t}\r\n}\r\n"
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"1003633.c"
	.text
	.global	datatoc_gpu_shader_2D_nodelink_vert_glsl_size
	.data
	.align	2
	.type	datatoc_gpu_shader_2D_nodelink_vert_glsl_size, %object
	.size	datatoc_gpu_shader_2D_nodelink_vert_glsl_size, 4
datatoc_gpu_shader_2D_nodelink_vert_glsl_size:
	.word	2601
	.global	datatoc_gpu_shader_2D_nodelink_vert_glsl
	.align	2
	.type	datatoc_gpu_shader_2D_nodelink_vert_glsl, %object
	.size	datatoc_gpu_shader_2D_nodelink_vert_glsl, 2602
datatoc_gpu_shader_2D_nodelink_vert_glsl:
	.ascii	"/**\015\012 * 2D Quadratic Bezier thick line drawin"
	.ascii	"g\015\012 **/\015\012\015\012#define MID_VERTEX 57\015"
	.ascii	"\012\015\012/* u is position along the curve, defin"
	.ascii	"ing the tangent space.\015\012 * v is \"signed\" di"
	.ascii	"stance (compressed to [0..1] range) from the pos in"
	.ascii	" expand direction */\015\012in vec2 uv;\015\012in v"
	.ascii	"ec2 pos; /* verts position in the curve tangent spa"
	.ascii	"ce */\015\012in vec2 expand;\015\012\015\012#ifdef "
	.ascii	"USE_INSTANCE\015\012/* Instance attrib */\015\012in"
	.ascii	" vec2 P0;\015\012in vec2 P1;\015\012in vec2 P2;\015"
	.ascii	"\012in vec2 P3;\015\012in ivec4 colid_doarrow;\015\012"
	.ascii	"\015\012uniform vec4 colors[6];\015\012\015\012#def"
	.ascii	"ine colStart   colors[colid_doarrow[0]]\015\012#def"
	.ascii	"ine colEnd     colors[colid_doarrow[1]]\015\012#def"
	.ascii	"ine colShadow  colors[colid_doarrow[2]]\015\012#def"
	.ascii	"ine doArrow    (colid_doarrow[3] != 0)\015\012\015\012"
	.ascii	"#else\015\012/* Single curve drawcall, use uniform."
	.ascii	" */\015\012uniform vec2 bezierPts[4];\015\012\015\012"
	.ascii	"#define P0 bezierPts[0]\015\012#define P1 bezierPts"
	.ascii	"[1]\015\012#define P2 bezierPts[2]\015\012#define P"
	.ascii	"3 bezierPts[3]\015\012\015\012uniform vec4 colors[3"
	.ascii	"];\015\012uniform bool doArrow;\015\012\015\012#def"
	.ascii	"ine colShadow  colors[0]\015\012#define colStart   "
	.ascii	"colors[1]\015\012#define colEnd     colors[2]\015\012"
	.ascii	"\015\012#endif\015\012\015\012uniform float expandS"
	.ascii	"ize;\015\012uniform float arrowSize;\015\012uniform"
	.ascii	" mat4 ModelViewProjectionMatrix;\015\012\015\012out"
	.ascii	" float colorGradient;\015\012out vec4 finalColor;\015"
	.ascii	"\012\015\012void main(void)\015\012{\015\012\011flo"
	.ascii	"at t = uv.x;\015\012\011float t2 = t * t;\015\012\011"
	.ascii	"float t2_3 = 3.0 * t2;\015\012\011float one_minus_t"
	.ascii	" = 1.0 - t;\015\012\011float one_minus_t2 = one_min"
	.ascii	"us_t * one_minus_t;\015\012\011float one_minus_t2_3"
	.ascii	" = 3.0 * one_minus_t2;\015\012\015\012\011vec2 poin"
	.ascii	"t = (P0 * one_minus_t2 * one_minus_t +\015\012\011 "
	.ascii	"             P1 * one_minus_t2_3 * t +\015\012\011 "
	.ascii	"             P2 * t2_3 * one_minus_t +\015\012\011 "
	.ascii	"             P3 * t2 * t);\015\012\015\012\011vec2 "
	.ascii	"tangent = ((P1 - P0) * one_minus_t2_3 +\015\012\011"
	.ascii	"                (P2 - P1) * 6.0 * (t - t2) +\015\012"
	.ascii	"\011                (P3 - P2) * t2_3);\015\012\015\012"
	.ascii	"\011/* tangent space at t */\015\012\011tangent = n"
	.ascii	"ormalize(tangent);\015\012\011vec2 normal = tangent"
	.ascii	".yx * vec2(-1.0, 1.0);\015\012\015\012\011/* Positi"
	.ascii	"on vertex on the curve tangent space */\015\012\011"
	.ascii	"point += (pos.x * tangent + pos.y * normal) * arrow"
	.ascii	"Size;\015\012\015\012\011gl_Position = ModelViewPro"
	.ascii	"jectionMatrix * vec4(point, 0.0, 1.0);\015\012\015\012"
	.ascii	"\011vec2 exp_axis = expand.x * tangent + expand.y *"
	.ascii	" normal;\015\012\015\012\011"
	.ascii	"/* rotate & scale the expand axis */\015\012\011exp"
	.ascii	"_axis = ModelViewProjectionMatrix[0].xy * exp_axis."
	.ascii	"xx +\015\012\011           ModelViewProjectionMatri"
	.ascii	"x[1].xy * exp_axis.yy;\015\012\015\012\015\012\011f"
	.ascii	"loat expand_dist = (uv.y * 2.0 - 1.0);\015\012\011c"
	.ascii	"olorGradient = expand_dist;\015\012\015\012\011if ("
	.ascii	"gl_VertexID < MID_VERTEX) {\015\012\011\011/* Shado"
	.ascii	"w pass */\015\012\011\011finalColor = colShadow;\015"
	.ascii	"\012\011}\015\012\011else {\015\012\011\011/* Secon"
	.ascii	"d pass */\015\012\011\011finalColor = mix(colStart,"
	.ascii	" colEnd, uv.x);\015\012\011\011expand_dist *= 0.5;\015"
	.ascii	"\012\011}\015\012\015\012\011/* Expand into a line "
	.ascii	"*/\015\012\011gl_Position.xy += exp_axis * expandSi"
	.ascii	"ze * expand_dist;\015\012\015\012\011/* if arrow */"
	.ascii	"\015\012\011if (expand.y != 1.0 && !doArrow) {\015\012"
	.ascii	"\011\011gl_Position.xy *= 0.0;\015\012\011}\015\012"
	.ascii	"}\015\012\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
