mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-30 19:02:24 -05:00 
			
		
		
		
	[chore]: Bump github.com/spf13/viper from 1.14.0 to 1.15.0 (#1375)
Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.14.0 to 1.15.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.14.0...v1.15.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
		
					parent
					
						
							
								3e4dc6bff3
							
						
					
				
			
			
				commit
				
					
						98a09b5633
					
				
			
		
					 53 changed files with 218 additions and 6032 deletions
				
			
		
							
								
								
									
										17
									
								
								vendor/github.com/magiconair/properties/.travis.yml
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/github.com/magiconair/properties/.travis.yml
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,17 +0,0 @@ | |||
| language: go | ||||
| go: | ||||
|     - 1.3.x | ||||
|     - 1.4.x | ||||
|     - 1.5.x | ||||
|     - 1.6.x | ||||
|     - 1.7.x | ||||
|     - 1.8.x | ||||
|     - 1.9.x | ||||
|     - "1.10.x" | ||||
|     - "1.11.x" | ||||
|     - "1.12.x" | ||||
|     - "1.13.x" | ||||
|     - "1.14.x" | ||||
|     - "1.15.x" | ||||
|     - "1.16.x" | ||||
|     - tip | ||||
							
								
								
									
										45
									
								
								vendor/github.com/magiconair/properties/CHANGELOG.md
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										45
									
								
								vendor/github.com/magiconair/properties/CHANGELOG.md
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,5 +1,50 @@ | |||
| ## Changelog | ||||
| 
 | ||||
| ### [1.8.7](https://github.com/magiconair/properties/tree/v1.8.7) - 08 Dec 2022 | ||||
| 
 | ||||
|  * [PR #65](https://github.com/magiconair/properties/pull/65): Speedup Merge | ||||
| 
 | ||||
|    Thanks to [@AdityaVallabh](https://github.com/AdityaVallabh) for the patch. | ||||
| 
 | ||||
|  * [PR #66](https://github.com/magiconair/properties/pull/66): use github actions | ||||
| 
 | ||||
| ### [1.8.6](https://github.com/magiconair/properties/tree/v1.8.6) - 23 Feb 2022 | ||||
| 
 | ||||
|  * [PR #57](https://github.com/magiconair/properties/pull/57):Fix "unreachable code" lint error | ||||
| 
 | ||||
|    Thanks to [@ellie](https://github.com/ellie) for the patch. | ||||
| 
 | ||||
|  * [PR #63](https://github.com/magiconair/properties/pull/63): Make TestMustGetParsedDuration backwards compatible | ||||
| 
 | ||||
|    This patch ensures that the `TestMustGetParsedDuration` still works with `go1.3` to make the | ||||
|    author happy until it affects real users. | ||||
| 
 | ||||
|    Thanks to [@maage](https://github.com/maage) for the patch. | ||||
| 
 | ||||
| ### [1.8.5](https://github.com/magiconair/properties/tree/v1.8.5) - 24 Mar 2021 | ||||
| 
 | ||||
|  * [PR #55](https://github.com/magiconair/properties/pull/55): Fix: Encoding Bug in Comments | ||||
| 
 | ||||
|    When reading comments \ are loaded correctly, but when writing they are then | ||||
|    replaced by \\. This leads to wrong comments when writing and reading multiple times. | ||||
| 
 | ||||
|    Thanks to [@doxsch](https://github.com/doxsch) for the patch. | ||||
| 
 | ||||
| ### [1.8.4](https://github.com/magiconair/properties/tree/v1.8.4) - 23 Sep 2020 | ||||
| 
 | ||||
|  * [PR #50](https://github.com/magiconair/properties/pull/50): enhance error message for circular references | ||||
| 
 | ||||
|    Thanks to [@sriv](https://github.com/sriv) for the patch. | ||||
| 
 | ||||
| ### [1.8.3](https://github.com/magiconair/properties/tree/v1.8.3) - 14 Sep 2020 | ||||
| 
 | ||||
|  * [PR #49](https://github.com/magiconair/properties/pull/49): Include the key in error message causing the circular reference | ||||
| 
 | ||||
|    The change is include the key in the error message which is causing the circular | ||||
|    reference when parsing/loading the properties files. | ||||
| 
 | ||||
|    Thanks to [@haroon-sheikh](https://github.com/haroon-sheikh) for the patch. | ||||
| 
 | ||||
| ### [1.8.2](https://github.com/magiconair/properties/tree/v1.8.2) - 25 Aug 2020 | ||||
| 
 | ||||
|  * [PR #36](https://github.com/magiconair/properties/pull/36): Escape backslash on write | ||||
|  |  | |||
							
								
								
									
										66
									
								
								vendor/github.com/magiconair/properties/decode.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										66
									
								
								vendor/github.com/magiconair/properties/decode.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,4 +1,4 @@ | |||
| // Copyright 2018 Frank Schroeder. All rights reserved. | ||||
| // Copyright 2013-2022 Frank Schroeder. All rights reserved. | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
| 
 | ||||
|  | @ -48,49 +48,49 @@ import ( | |||
| // | ||||
| // Examples: | ||||
| // | ||||
| //     // Field is ignored. | ||||
| //     Field int `properties:"-"` | ||||
| //	// Field is ignored. | ||||
| //	Field int `properties:"-"` | ||||
| // | ||||
| //     // Field is assigned value of 'Field'. | ||||
| //     Field int | ||||
| //	// Field is assigned value of 'Field'. | ||||
| //	Field int | ||||
| // | ||||
| //     // Field is assigned value of 'myName'. | ||||
| //     Field int `properties:"myName"` | ||||
| //	// Field is assigned value of 'myName'. | ||||
| //	Field int `properties:"myName"` | ||||
| // | ||||
| //     // Field is assigned value of key 'myName' and has a default | ||||
| //     // value 15 if the key does not exist. | ||||
| //     Field int `properties:"myName,default=15"` | ||||
| //	// Field is assigned value of key 'myName' and has a default | ||||
| //	// value 15 if the key does not exist. | ||||
| //	Field int `properties:"myName,default=15"` | ||||
| // | ||||
| //     // Field is assigned value of key 'Field' and has a default | ||||
| //     // value 15 if the key does not exist. | ||||
| //     Field int `properties:",default=15"` | ||||
| //	// Field is assigned value of key 'Field' and has a default | ||||
| //	// value 15 if the key does not exist. | ||||
| //	Field int `properties:",default=15"` | ||||
| // | ||||
| //     // Field is assigned value of key 'date' and the date | ||||
| //     // is in format 2006-01-02 | ||||
| //     Field time.Time `properties:"date,layout=2006-01-02"` | ||||
| //	// Field is assigned value of key 'date' and the date | ||||
| //	// is in format 2006-01-02 | ||||
| //	Field time.Time `properties:"date,layout=2006-01-02"` | ||||
| // | ||||
| //     // Field is assigned the non-empty and whitespace trimmed | ||||
| //     // values of key 'Field' split by commas. | ||||
| //     Field []string | ||||
| //	// Field is assigned the non-empty and whitespace trimmed | ||||
| //	// values of key 'Field' split by commas. | ||||
| //	Field []string | ||||
| // | ||||
| //     // Field is assigned the non-empty and whitespace trimmed | ||||
| //     // values of key 'Field' split by commas and has a default | ||||
| //     // value ["a", "b", "c"] if the key does not exist. | ||||
| //     Field []string `properties:",default=a;b;c"` | ||||
| //	// Field is assigned the non-empty and whitespace trimmed | ||||
| //	// values of key 'Field' split by commas and has a default | ||||
| //	// value ["a", "b", "c"] if the key does not exist. | ||||
| //	Field []string `properties:",default=a;b;c"` | ||||
| // | ||||
| //     // Field is decoded recursively with "Field." as key prefix. | ||||
| //     Field SomeStruct | ||||
| //	// Field is decoded recursively with "Field." as key prefix. | ||||
| //	Field SomeStruct | ||||
| // | ||||
| //     // Field is decoded recursively with "myName." as key prefix. | ||||
| //     Field SomeStruct `properties:"myName"` | ||||
| //	// Field is decoded recursively with "myName." as key prefix. | ||||
| //	Field SomeStruct `properties:"myName"` | ||||
| // | ||||
| //     // Field is decoded recursively with "Field." as key prefix | ||||
| //     // and the next dotted element of the key as map key. | ||||
| //     Field map[string]string | ||||
| //	// Field is decoded recursively with "Field." as key prefix | ||||
| //	// and the next dotted element of the key as map key. | ||||
| //	Field map[string]string | ||||
| // | ||||
| //     // Field is decoded recursively with "myName." as key prefix | ||||
| //     // and the next dotted element of the key as map key. | ||||
| //     Field map[string]string `properties:"myName"` | ||||
| //	// Field is decoded recursively with "myName." as key prefix | ||||
| //	// and the next dotted element of the key as map key. | ||||
| //	Field map[string]string `properties:"myName"` | ||||
| func (p *Properties) Decode(x interface{}) error { | ||||
| 	t, v := reflect.TypeOf(x), reflect.ValueOf(x) | ||||
| 	if t.Kind() != reflect.Ptr || v.Elem().Type().Kind() != reflect.Struct { | ||||
|  |  | |||
							
								
								
									
										127
									
								
								vendor/github.com/magiconair/properties/doc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										127
									
								
								vendor/github.com/magiconair/properties/doc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,4 +1,4 @@ | |||
| // Copyright 2018 Frank Schroeder. All rights reserved. | ||||
| // Copyright 2013-2022 Frank Schroeder. All rights reserved. | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
| 
 | ||||
|  | @ -13,7 +13,7 @@ | |||
| // | ||||
| // To load a single properties file use MustLoadFile(): | ||||
| // | ||||
| //   p := properties.MustLoadFile(filename, properties.UTF8) | ||||
| //	p := properties.MustLoadFile(filename, properties.UTF8) | ||||
| // | ||||
| // To load multiple properties files use MustLoadFiles() | ||||
| // which loads the files in the given order and merges the | ||||
|  | @ -23,25 +23,25 @@ | |||
| // Filenames can contain environment variables which are expanded | ||||
| // before loading. | ||||
| // | ||||
| //   f1 := "/etc/myapp/myapp.conf" | ||||
| //   f2 := "/home/${USER}/myapp.conf" | ||||
| //   p := MustLoadFiles([]string{f1, f2}, properties.UTF8, true) | ||||
| //	f1 := "/etc/myapp/myapp.conf" | ||||
| //	f2 := "/home/${USER}/myapp.conf" | ||||
| //	p := MustLoadFiles([]string{f1, f2}, properties.UTF8, true) | ||||
| // | ||||
| // All of the different key/value delimiters ' ', ':' and '=' are | ||||
| // supported as well as the comment characters '!' and '#' and | ||||
| // multi-line values. | ||||
| // | ||||
| //   ! this is a comment | ||||
| //   # and so is this | ||||
| //	! this is a comment | ||||
| //	# and so is this | ||||
| // | ||||
| //   # the following expressions are equal | ||||
| //   key value | ||||
| //   key=value | ||||
| //   key:value | ||||
| //   key = value | ||||
| //   key : value | ||||
| //   key = val\ | ||||
| //         ue | ||||
| //	# the following expressions are equal | ||||
| //	key value | ||||
| //	key=value | ||||
| //	key:value | ||||
| //	key = value | ||||
| //	key : value | ||||
| //	key = val\ | ||||
| //	      ue | ||||
| // | ||||
| // Properties stores all comments preceding a key and provides | ||||
| // GetComments() and SetComments() methods to retrieve and | ||||
|  | @ -55,62 +55,62 @@ | |||
| // and malformed expressions are not allowed and cause an | ||||
| // error. Expansion of environment variables is supported. | ||||
| // | ||||
| //   # standard property | ||||
| //   key = value | ||||
| //	# standard property | ||||
| //	key = value | ||||
| // | ||||
| //   # property expansion: key2 = value | ||||
| //   key2 = ${key} | ||||
| //	# property expansion: key2 = value | ||||
| //	key2 = ${key} | ||||
| // | ||||
| //   # recursive expansion: key3 = value | ||||
| //   key3 = ${key2} | ||||
| //	# recursive expansion: key3 = value | ||||
| //	key3 = ${key2} | ||||
| // | ||||
| //   # circular reference (error) | ||||
| //   key = ${key} | ||||
| //	# circular reference (error) | ||||
| //	key = ${key} | ||||
| // | ||||
| //   # malformed expression (error) | ||||
| //   key = ${ke | ||||
| //	# malformed expression (error) | ||||
| //	key = ${ke | ||||
| // | ||||
| //   # refers to the users' home dir | ||||
| //   home = ${HOME} | ||||
| //	# refers to the users' home dir | ||||
| //	home = ${HOME} | ||||
| // | ||||
| //   # local key takes precedence over env var: u = foo | ||||
| //   USER = foo | ||||
| //   u = ${USER} | ||||
| //	# local key takes precedence over env var: u = foo | ||||
| //	USER = foo | ||||
| //	u = ${USER} | ||||
| // | ||||
| // The default property expansion format is ${key} but can be | ||||
| // changed by setting different pre- and postfix values on the | ||||
| // Properties object. | ||||
| // | ||||
| //   p := properties.NewProperties() | ||||
| //   p.Prefix = "#[" | ||||
| //   p.Postfix = "]#" | ||||
| //	p := properties.NewProperties() | ||||
| //	p.Prefix = "#[" | ||||
| //	p.Postfix = "]#" | ||||
| // | ||||
| // Properties provides convenience functions for getting typed | ||||
| // values with default values if the key does not exist or the | ||||
| // type conversion failed. | ||||
| // | ||||
| //   # Returns true if the value is either "1", "on", "yes" or "true" | ||||
| //   # Returns false for every other value and the default value if | ||||
| //   # the key does not exist. | ||||
| //   v = p.GetBool("key", false) | ||||
| //	# Returns true if the value is either "1", "on", "yes" or "true" | ||||
| //	# Returns false for every other value and the default value if | ||||
| //	# the key does not exist. | ||||
| //	v = p.GetBool("key", false) | ||||
| // | ||||
| //   # Returns the value if the key exists and the format conversion | ||||
| //   # was successful. Otherwise, the default value is returned. | ||||
| //   v = p.GetInt64("key", 999) | ||||
| //   v = p.GetUint64("key", 999) | ||||
| //   v = p.GetFloat64("key", 123.0) | ||||
| //   v = p.GetString("key", "def") | ||||
| //   v = p.GetDuration("key", 999) | ||||
| //	# Returns the value if the key exists and the format conversion | ||||
| //	# was successful. Otherwise, the default value is returned. | ||||
| //	v = p.GetInt64("key", 999) | ||||
| //	v = p.GetUint64("key", 999) | ||||
| //	v = p.GetFloat64("key", 123.0) | ||||
| //	v = p.GetString("key", "def") | ||||
| //	v = p.GetDuration("key", 999) | ||||
| // | ||||
| // As an alternative properties may be applied with the standard | ||||
| // library's flag implementation at any time. | ||||
| // | ||||
| //   # Standard configuration | ||||
| //   v = flag.Int("key", 999, "help message") | ||||
| //   flag.Parse() | ||||
| //	# Standard configuration | ||||
| //	v = flag.Int("key", 999, "help message") | ||||
| //	flag.Parse() | ||||
| // | ||||
| //   # Merge p into the flag set | ||||
| //   p.MustFlag(flag.CommandLine) | ||||
| //	# Merge p into the flag set | ||||
| //	p.MustFlag(flag.CommandLine) | ||||
| // | ||||
| // Properties provides several MustXXX() convenience functions | ||||
| // which will terminate the app if an error occurs. The behavior | ||||
|  | @ -119,30 +119,30 @@ | |||
| // of logging the error set a different ErrorHandler before | ||||
| // you use the Properties package. | ||||
| // | ||||
| //   properties.ErrorHandler = properties.PanicHandler | ||||
| //	properties.ErrorHandler = properties.PanicHandler | ||||
| // | ||||
| //   # Will panic instead of logging an error | ||||
| //   p := properties.MustLoadFile("config.properties") | ||||
| //	# Will panic instead of logging an error | ||||
| //	p := properties.MustLoadFile("config.properties") | ||||
| // | ||||
| // You can also provide your own ErrorHandler function. The only requirement | ||||
| // is that the error handler function must exit after handling the error. | ||||
| // | ||||
| //   properties.ErrorHandler = func(err error) { | ||||
| //	     fmt.Println(err) | ||||
| //       os.Exit(1) | ||||
| //   } | ||||
| //	  properties.ErrorHandler = func(err error) { | ||||
| //		     fmt.Println(err) | ||||
| //	      os.Exit(1) | ||||
| //	  } | ||||
| // | ||||
| //   # Will write to stdout and then exit | ||||
| //   p := properties.MustLoadFile("config.properties") | ||||
| //	  # Will write to stdout and then exit | ||||
| //	  p := properties.MustLoadFile("config.properties") | ||||
| // | ||||
| // Properties can also be loaded into a struct via the `Decode` | ||||
| // method, e.g. | ||||
| // | ||||
| //   type S struct { | ||||
| //       A string        `properties:"a,default=foo"` | ||||
| //       D time.Duration `properties:"timeout,default=5s"` | ||||
| //       E time.Time     `properties:"expires,layout=2006-01-02,default=2015-01-01"` | ||||
| //   } | ||||
| //	type S struct { | ||||
| //	    A string        `properties:"a,default=foo"` | ||||
| //	    D time.Duration `properties:"timeout,default=5s"` | ||||
| //	    E time.Time     `properties:"expires,layout=2006-01-02,default=2015-01-01"` | ||||
| //	} | ||||
| // | ||||
| // See `Decode()` method for the full documentation. | ||||
| // | ||||
|  | @ -152,5 +152,4 @@ | |||
| // http://en.wikipedia.org/wiki/.properties | ||||
| // | ||||
| // http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#load%28java.io.Reader%29 | ||||
| // | ||||
| package properties | ||||
|  |  | |||
							
								
								
									
										7
									
								
								vendor/github.com/magiconair/properties/integrate.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/magiconair/properties/integrate.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,4 +1,4 @@ | |||
| // Copyright 2018 Frank Schroeder. All rights reserved. | ||||
| // Copyright 2013-2022 Frank Schroeder. All rights reserved. | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
| 
 | ||||
|  | @ -10,8 +10,9 @@ import "flag" | |||
| // the respective key for flag.Flag.Name. | ||||
| // | ||||
| // It's use is recommended with command line arguments as in: | ||||
| // 	flag.Parse() | ||||
| // 	p.MustFlag(flag.CommandLine) | ||||
| // | ||||
| //	flag.Parse() | ||||
| //	p.MustFlag(flag.CommandLine) | ||||
| func (p *Properties) MustFlag(dst *flag.FlagSet) { | ||||
| 	m := make(map[string]*flag.Flag) | ||||
| 	dst.VisitAll(func(f *flag.Flag) { | ||||
|  |  | |||
							
								
								
									
										2
									
								
								vendor/github.com/magiconair/properties/lex.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/magiconair/properties/lex.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,4 +1,4 @@ | |||
| // Copyright 2018 Frank Schroeder. All rights reserved. | ||||
| // Copyright 2013-2022 Frank Schroeder. All rights reserved. | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
| // | ||||
|  |  | |||
							
								
								
									
										2
									
								
								vendor/github.com/magiconair/properties/load.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/magiconair/properties/load.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,4 +1,4 @@ | |||
| // Copyright 2018 Frank Schroeder. All rights reserved. | ||||
| // Copyright 2013-2022 Frank Schroeder. All rights reserved. | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										2
									
								
								vendor/github.com/magiconair/properties/parser.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/magiconair/properties/parser.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,4 +1,4 @@ | |||
| // Copyright 2018 Frank Schroeder. All rights reserved. | ||||
| // Copyright 2013-2022 Frank Schroeder. All rights reserved. | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										17
									
								
								vendor/github.com/magiconair/properties/properties.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/github.com/magiconair/properties/properties.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,4 +1,4 @@ | |||
| // Copyright 2018 Frank Schroeder. All rights reserved. | ||||
| // Copyright 2013-2022 Frank Schroeder. All rights reserved. | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
| 
 | ||||
|  | @ -700,22 +700,17 @@ func (p *Properties) Delete(key string) { | |||
| 
 | ||||
| // Merge merges properties, comments and keys from other *Properties into p | ||||
| func (p *Properties) Merge(other *Properties) { | ||||
| 	for _, k := range other.k { | ||||
| 		if _, ok := p.m[k]; !ok { | ||||
| 			p.k = append(p.k, k) | ||||
| 		} | ||||
| 	} | ||||
| 	for k, v := range other.m { | ||||
| 		p.m[k] = v | ||||
| 	} | ||||
| 	for k, v := range other.c { | ||||
| 		p.c[k] = v | ||||
| 	} | ||||
| 
 | ||||
| outer: | ||||
| 	for _, otherKey := range other.k { | ||||
| 		for _, key := range p.k { | ||||
| 			if otherKey == key { | ||||
| 				continue outer | ||||
| 			} | ||||
| 		} | ||||
| 		p.k = append(p.k, otherKey) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // ---------------------------------------------------------------------------- | ||||
|  |  | |||
							
								
								
									
										2
									
								
								vendor/github.com/magiconair/properties/rangecheck.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/magiconair/properties/rangecheck.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,4 +1,4 @@ | |||
| // Copyright 2018 Frank Schroeder. All rights reserved. | ||||
| // Copyright 2013-2022 Frank Schroeder. All rights reserved. | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue