John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							874b1f8858 
							
						 
					 
					
						
						
							
							Add test results for merge pull request  #69 .  
						
						
						
						
					 
					
						2015-09-09 16:36:37 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							79807811b5 
							
						 
					 
					
						
						
							
							README: Update testing section.  
						
						
						
						
					 
					
						2015-09-09 16:34:13 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							358dd560c5 
							
						 
					 
					
						
						
							
							Update test results for pull request  #68 , SPIRV: Decorate matrices and arrays with their strides.  
						
						
						
						
					 
					
						2015-09-09 16:19:15 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ebb7bf37fd 
							
						 
					 
					
						
						
							
							Remove executables from the source tree.  This addresses issue  #48 .  
						
						
						
						
					 
					
						2015-09-09 15:33:41 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0fc4338f3e 
							
						 
					 
					
						
						
							
							Implement GL_OES_shader_multisample_interpolation, as well as core desktop versions of it.  
						
						
						
						
					 
					
						2015-08-22 13:11:12 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ba01ebd5ba 
							
						 
					 
					
						
						
							
							Link-check fix: Don't include built-in variables in the fragment output ES rule:  
						
						... 
						
						
						
						"No layout(location=) is required if there is only one output" should not count
built-in variables like gl_SampleMask.  This is fixed. 
						
						
					 
					
						2015-08-21 09:19:52 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fc51d284aa 
							
						 
					 
					
						
						
							
							Backward incompatible: Turn on PureOperatorBuiltins: use only enum-based built-in functions in the AST.  
						
						... 
						
						
						
						If this breaks your AST consumer, best is to modify it to test
against the enum values instead of doing string comparisons on
built-in function names.  This is the reason the change was made.
If you need the old behavior, you should be able to get it back by changing
PureOperatorBuiltins to be false instead of true.  This path will work for
a while, but is marked deprecated.
Also, the old behavior is tagged as release 2.4. 
						
						
					 
					
						2015-08-19 13:43:25 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							a32d8f620d 
							
						 
					 
					
						
						
							
							Create last version before moving to pure enums for built-in functions.  
						
						
						
						
					 
					
						2015-08-19 12:13:44 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							81639827d5 
							
						 
					 
					
						
						
							
							More preparation for pure built-in functions as enums: Add texturing op cracker.  
						
						
						
						
					 
					
						2015-08-19 10:46:52 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ef676b0a59 
							
						 
					 
					
						
						
							
							Front-end "pure" built-in TOperator:  Finish adding full support, but still turned off.  
						
						... 
						
						
						
						This is to avoid all need to do text comparison of built-in function names
when consuming the AST.  All built-in functions get enumerants.
Will want to turn on soon.  See PureOperatorBuiltins.  See issue #8 . 
						
						
					 
					
						2015-08-18 23:17:15 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e88217b7d8 
							
						 
					 
					
						
						
							
							Add more TOperator: fma/frexp/ldexp, AddCarry/SubBorrow/MulExtended/Bit*/Find*, (un)pack4x8/2x32, ftransform.  
						
						... 
						
						
						
						Also corrects some existing ones missing the "Op" part of their name. 
						
						
					 
					
						2015-08-18 22:27:23 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f5b2c06b32 
							
						 
					 
					
						
						
							
							Turn on the gpu_shader5 of the AEP .tesc test.  
						
						
						
						
					 
					
						2015-08-18 22:27:22 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fb5ba510ca 
							
						 
					 
					
						
						
							
							Implement GL_OES_shader_image_atomic.  
						
						
						
						
					 
					
						2015-08-16 23:40:15 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							556ab3ac96 
							
						 
					 
					
						
						
							
							Implement GL_OES_sample_variables.  
						
						
						
						
					 
					
						2015-08-16 21:55:59 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							a39159a192 
							
						 
					 
					
						
						
							
							Implement GL_OES_texture_storage_multisample_2d_array.  
						
						
						
						
					 
					
						2015-08-16 21:10:38 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2b0a11351f 
							
						 
					 
					
						
						
							
							Fix two multi-sample bugs: 1) include MS in name mangling, 2) add 'sample' argument texelFetch(*MS*,...).  
						
						
						
						
					 
					
						2015-08-16 21:04:07 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							302b46aebc 
							
						 
					 
					
						
						
							
							Implement GL_OES_texture_buffer.  
						
						
						
						
					 
					
						2015-08-16 13:11:01 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							30314590ff 
							
						 
					 
					
						
						
							
							Implement GL_OES_primitive_bounding_box.  
						
						
						
						
					 
					
						2015-08-16 12:09:15 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							cee88e3644 
							
						 
					 
					
						
						
							
							Whitespace in preprocessor results; trying to eliminate differences.  
						
						
						
						
					 
					
						2015-08-16 11:35:30 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							65c78a0b62 
							
						 
					 
					
						
						
							
							Array of array: Implement the core functionality: types, constructors, operations.  
						
						... 
						
						
						
						There will be subsequent commits to refine semantics, esp. version-specific semantics,
as well as I/O functionality and restrictions.
Note: I'm getting white-space differences in the preprocessor test results,
which I'm not checking in.  I think they need to be tagged as binary or something. 
						
						
					 
					
						2015-08-10 17:08:55 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							b35483587f 
							
						 
					 
					
						
						
							
							Array of Array prep: Turn a batch of 0's into nullptr or UnsizedArraySize.  
						
						... 
						
						
						
						Added some const as well. This will remove camouflage of the next commit,
which will add the bulk of Array of Array semantics and functionality.
(Note the basic grammar and data structure is already in place.) 
						
						
					 
					
						2015-08-09 18:15:25 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							5e4b1242bf 
							
						 
					 
					
						
						
							
							Move to revision 31 of SPIR-V.  
						
						
						
						
					 
					
						2015-08-06 22:55:01 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e24a74c320 
							
						 
					 
					
						
						
							
							Create last version before going to SPIR-V Revision 31.  
						
						
						
						
					 
					
						2015-08-06 22:22:22 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							306695360d 
							
						 
					 
					
						
						
							
							Fixes to 8f1684b7bb881813365efd013b05bc0900a52a0c, merge pull request 52.  
						
						
						
						
					 
					
						2015-08-06 22:02:24 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							61d7d7ad73 
							
						 
					 
					
						
						
							
							Revisioning: Include GLSL.std.450 version.  Also, the revision.h script now includes redirection to revision.h.  
						
						
						
						
					 
					
						2015-08-03 12:04:56 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0da9eaabe8 
							
						 
					 
					
						
						
							
							Version reporting: Restart active use of revision.h, now based on a git tag.  
						
						... 
						
						
						
						The new make-revision script regenerates glslang/Include/revision.h,
used as it always has been, but made with a git-tag version and the
the number of commits on master.
I have a pre-commit hook that will automatically do this on master,
likely often enough to work in practice, without needing pull requests
to include it. 
						
						
					 
					
						2015-08-02 10:21:10 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							b63263267d 
							
						 
					 
					
						
						
							
							Second round line ending clean up, from fresh round trip.  
						
						
						
						
					 
					
						2015-06-26 16:42:50 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6b57784690 
							
						 
					 
					
						
						
							
							Use more modern bison %parse-param and %lex-param rather than #defined YYPARSE_PARAM and YYLEX_PARAM.  This should make it build across a broader range of modern versions of bison, as well as avoid void* and type casting.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25746  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-03-08 00:17:27 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							8922ce7353 
							
						 
					 
					
						
						
							
							Fix bug 11736: Minor glslang compilation fixes: Correct "currentChar" logic for recently switched to unsigned size_t locations, and protect more pool guard code with #ifdef.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25512  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-02-24 21:36:08 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							b35e9bfa21 
							
						 
					 
					
						
						
							
							Track things like "(3)" and "+3" as expressions, not literals.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25511  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-02-24 21:16:19 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							35f04bde8a 
							
						 
					 
					
						
						
							
							Make 64-bit VS compile clean. Mostly size_t vs. int tweaks.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25411  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-02-19 02:47:20 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6494baf371 
							
						 
					 
					
						
						
							
							Check-in a couple submitted char* string portability bug fixes: correct sizing of buffers and stop overwriting preprocessor token names with themselves.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25402  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-02-19 00:08:59 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							51cdd90fa8 
							
						 
					 
					
						
						
							
							Fix the few non-portable uses of "char" (where a -1 might be relevant): All uses of char are now either "int", "unsigned char" or char arrays for storing strings.  Also, went to consistent "char* foo" coding convention.  (There were only a few ambiguous uses.)  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25400  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-02-18 23:37:57 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							52c351442c 
							
						 
					 
					
						
						
							
							Update rules for "GL_", "gl_", and "__" to match latest specification bug fixes.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25392  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-02-18 21:55:42 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							56876dcfe7 
							
						 
					 
					
						
						
							
							Fix missing semantic check: Disallow layout qualifiers when augmenting an already declared variable with a qualifier.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25351  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-02-13 19:14:33 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							782aa830b6 
							
						 
					 
					
						
						
							
							Correct which versions can support the extensions GL_ARB_separate_shader_objects and GL_ARB_shading_language_420pack.  They'd only gone back to 150, rather than 130/140.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25314  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-02-12 05:15:49 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4094630ca3 
							
						 
					 
					
						
						
							
							GL_ARB_enhanced_layouts, final.  #extension tests, built-in constants, and bug fix for non-constant expression in layout(...=expr).  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25220  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-02-03 16:28:23 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ac1e188f3b 
							
						 
					 
					
						
						
							
							GL_ARB_enhanced_layouts, part 6: Numerical side of uniform offset and align semantics. Included  
						
						... 
						
						
						
						- moving offset calculations for std140/std430 from reflection to linkValidate.cpp
 - applying the offset/align rules on top of std140/std430
 - removing caching the structure's number of components (and correcting that this is components, not size)
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25174  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-31 02:40:19 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							04b1c6ed4c 
							
						 
					 
					
						
						
							
							GL_ARB_enhanced_layouts, part 5: uniform offset and align semantics.  Numerical computations not yet done.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25092  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-28 21:13:59 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e5fbec8a17 
							
						 
					 
					
						
						
							
							Support GL_ARB_texture_cube_map_array extension for desktop.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25025  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-26 22:22:54 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4e9d8c3171 
							
						 
					 
					
						
						
							
							x86 (32-bit) fix for last g++ fix.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25018  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-26 07:56:43 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							c7776ec3fd 
							
						 
					 
					
						
						
							
							GL_ARB_enhanced_layouts, part 4:  Numerical side of xfb_*: offset computation, size computation, alias detection, paddings, overflow, implicit strides, gl_Max* checks, etc.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25014  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-26 01:37:13 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f359199cc3 
							
						 
					 
					
						
						
							
							Support both dynamic CRT and static CRT configurations on VS11 build.  The public download needs the static one for user simplicity, while some downstream tools need the dynamic one.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24977  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-23 21:40:33 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							efb2b7d433 
							
						 
					 
					
						
						
							
							Move to the v110_xp toolset to support XP.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24964  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-23 00:35:24 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f4d6634713 
							
						 
					 
					
						
						
							
							Bug 11531: Use %zu when printing size_t values in printf and use "friend class" instead of "friend".  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24959  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-22 23:37:55 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							28b95b682c 
							
						 
					 
					
						
						
							
							Remove Windows VS 11 executable dependencies on MSVCP110.dll and MSVCR110.dll.  The only DLL needed now is the standard KERNEL32.DLL.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24957  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-22 23:23:19 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							44b807e1d0 
							
						 
					 
					
						
						
							
							GL_ARB_enhanced_layouts, part 3: Semantics for xfb_*: where they can go, inheritance, etc., but not yet the backing arithmetic for offsets and strides.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24916  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-21 04:43:23 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							281958c21a 
							
						 
					 
					
						
						
							
							Fix g++ warning and update Window's binary.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24741  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-11 20:35:26 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							a9819921b3 
							
						 
					 
					
						
						
							
							Improvement to the AST traversal infrastructure.  
						
						... 
						
						
						
						Note:  This affects any downstream consumers of glslang's traverser.  Let me know if there are any issues.  Essentially, you will need to change the functions that were pointed to into overriding base-class members instead.  See the examples in this check in.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24740  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-11 19:29:55 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							3cdc47bf0b 
							
						 
					 
					
						
						
							
							Several miscellaneous portability improvements (no functional changes).  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24737  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-10 21:09:51 +00:00