summaryrefslogtreecommitdiff
path: root/vendor/github.com/jmespath
diff options
context:
space:
mode:
authorDave Henderson <dhenderson@gmail.com>2017-02-11 13:39:27 -0500
committerDave Henderson <dhenderson@gmail.com>2017-02-11 14:01:02 -0500
commit8b291f3528ca9f1568ff4f4030125f29f7cfec53 (patch)
tree1bd579e9072bf22e5eee16a036ab43300d2d5fdc /vendor/github.com/jmespath
parent684bbe1a9e45a56dbd826e529fb2d66757fc62e6 (diff)
Putting vendor/ in repo
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'vendor/github.com/jmespath')
-rw-r--r--vendor/github.com/jmespath/go-jmespath/.gitignore4
-rw-r--r--vendor/github.com/jmespath/go-jmespath/.travis.yml9
-rw-r--r--vendor/github.com/jmespath/go-jmespath/LICENSE13
-rw-r--r--vendor/github.com/jmespath/go-jmespath/Makefile44
-rw-r--r--vendor/github.com/jmespath/go-jmespath/README.md7
-rw-r--r--vendor/github.com/jmespath/go-jmespath/api.go49
-rw-r--r--vendor/github.com/jmespath/go-jmespath/api_test.go32
-rw-r--r--vendor/github.com/jmespath/go-jmespath/astnodetype_string.go16
-rw-r--r--vendor/github.com/jmespath/go-jmespath/cmd/jpgo/main.go96
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/basic.json96
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/boolean.json257
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/current.json25
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/escape.json46
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/filters.json468
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/functions.json825
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/identifiers.json1377
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/indices.json346
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/literal.json185
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/multiselect.json393
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/ormatch.json59
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/pipe.json131
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/slice.json187
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/syntax.json616
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/unicode.json38
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance/wildcard.json460
-rw-r--r--vendor/github.com/jmespath/go-jmespath/compliance_test.go123
-rw-r--r--vendor/github.com/jmespath/go-jmespath/functions.go842
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/jmespath.go13
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-11
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-101
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1001
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1011
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1021
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1031
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1041
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1051
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1061
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1071
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1081
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1091
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1101
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1121
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1151
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1181
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1191
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-121
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1201
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1211
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1221
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1231
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1261
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1281
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1291
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-131
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1301
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1311
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1321
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1331
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1341
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1351
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1361
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1371
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1381
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1391
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-141
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1401
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1411
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1421
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1431
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1441
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1451
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1461
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1471
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1481
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1491
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-151
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1501
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1511
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1521
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1531
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1551
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1561
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1571
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1581
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1591
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-161
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1601
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1611
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1621
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1631
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1641
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1651
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1661
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1671
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1681
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1691
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-171
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1701
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1711
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1721
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1731
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1741
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1751
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1781
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1791
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-181
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1801
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1811
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1821
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1831
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1841
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1851
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1861
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1871
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1881
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1891
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-191
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1901
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1911
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1921
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1931
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1941
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1951
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1961
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1981
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1991
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-21
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-201
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2001
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2011
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2021
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2031
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2041
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2051
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2061
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2071
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2081
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2091
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-211
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2101
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2111
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2121
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2131
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2141
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2151
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2161
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2171
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2181
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2191
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-221
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2201
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2211
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2221
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2231
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2241
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2251
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2261
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2271
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2281
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2291
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-231
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2301
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2311
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2321
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2331
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2341
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2351
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2361
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2371
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2381
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2391
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-241
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2401
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2411
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2421
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2431
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2441
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2451
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2461
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2471
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2481
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2491
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-251
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2501
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2511
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2521
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2531
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2541
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2551
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2561
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2571
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2581
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2591
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-261
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2601
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2611
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2621
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2631
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2641
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2651
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2661
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2671
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2681
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2691
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-271
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2701
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2711
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2721
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2731
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2741
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2751
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2761
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2771
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2781
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2791
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-281
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2801
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2811
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2821
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2831
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2841
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2851
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2861
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2871
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2881
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2891
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-291
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2901
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2911
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2921
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2931
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2941
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2951
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2961
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2971
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2981
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2991
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-31
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-301
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3001
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3011
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3021
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3031
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3041
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3051
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3061
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3071
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3081
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3091
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-311
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3101
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3111
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3121
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3131
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3141
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3151
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3161
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3171
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3181
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3191
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-321
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3201
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3211
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3221
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3231
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3241
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3251
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3261
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3271
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3281
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3291
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-331
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3301
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3311
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3321
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3331
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3341
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3351
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3361
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3371
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3381
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3391
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-341
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3401
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3411
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3421
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3431
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3441
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3451
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3461
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3471
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3481
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3491
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-351
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3501
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3511
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3521
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3531
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3541
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3551
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3561
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3571
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3581
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3591
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-361
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3601
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3611
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3621
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3631
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3641
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3651
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3661
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3671
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3681
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3691
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-371
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3701
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3711
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3721
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3731
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3741
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3751
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3761
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3771
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3781
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3791
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-381
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3801
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3811
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3821
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3831
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3841
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3851
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3861
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3871
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3881
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3891
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-391
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3901
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3911
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3921
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3931
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3941
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3951
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3961
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3971
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3981
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3991
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-41
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-401
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4001
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4011
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4021
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4031
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4041
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4051
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4061
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4071
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4081
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4091
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-411
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4101
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4111
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4122
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4132
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4141
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4151
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4161
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4171
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4181
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4191
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-421
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4201
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4211
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4221
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4231
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4241
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4251
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4261
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4271
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4281
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4291
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-431
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4301
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4311
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4321
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4331
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4341
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4351
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4361
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4371
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4381
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4391
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-441
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4401
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4411
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4421
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4431
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4441
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4451
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4461
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4471
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4481
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4491
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-451
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4501
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4511
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4521
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4531
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4541
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4551
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4561
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4571
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4581
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4591
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-461
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4601
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4611
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4621
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4631
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4641
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4651
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4661
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4671
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4681
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4691
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-471
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4701
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4711
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4721
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4731
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4741
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4751
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4761
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4771
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4781
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4791
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-481
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4801
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4811
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4821
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4831
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4841
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4851
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4861
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4871
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4881
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4891
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-491
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4901
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4911
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4921
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4931
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4941
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4951
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4961
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4971
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4981
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4991
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-51
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-501
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5001
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5011
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5021
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5031
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5041
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5051
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5061
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5071
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5081
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5091
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-511
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5101
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5111
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5121
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5131
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5141
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5151
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5161
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5171
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5181
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5191
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-521
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5201
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5211
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5221
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5231
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5241
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5251
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5261
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5271
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5281
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5291
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-531
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5301
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5311
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5321
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5331
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5341
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5351
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5361
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5371
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5381
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5391
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-541
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5401
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5411
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5421
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5431
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5441
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5451
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5461
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5471
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5481
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5491
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-551
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5501
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5511
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5521
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5531
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5541
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5551
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5561
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5571
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5581
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5591
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-561
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5601
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5611
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5621
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5631
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5641
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5651
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5661
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5671
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5681
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5691
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-571
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5701
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5711
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5721
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5731
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5741
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5751
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5761
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5771
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5781
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5791
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-581
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5801
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5811
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5821
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5831
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5841
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5851
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5861
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5871
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5881
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5891
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-591
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5901
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5911
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5921
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5931
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5941
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5951
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5961
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5971
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5981
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5991
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-61
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-601
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6001
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6011
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6021
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6031
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6041
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6051
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6061
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6071
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6081
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6091
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-611
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6101
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6111
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6121
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6131
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6141
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6151
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6161
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6171
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6181
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6191
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-621
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6201
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6211
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6221
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6231
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6241
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6251
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6261
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6271
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6281
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6291
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-631
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6301
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6311
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6321
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6331
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6341
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6351
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6361
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6371
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6381
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6391
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-641
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6401
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6411
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6421
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6431
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6441
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6451
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6461
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6471
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6481
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6491
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-651
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6501
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6511
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6521
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6531
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6541
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6551
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6561
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-661
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-671
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-681
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-691
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-71
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-701
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-711
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-721
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-731
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-741
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-751
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-761
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-771
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-781
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-791
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-81
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-801
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-811
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-821
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-831
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-841
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-851
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-861
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-871
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-881
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-891
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-91
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-901
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-911
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-921
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-931
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-941
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-951
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-961
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-971
-rw-r--r--vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-981
-rw-r--r--vendor/github.com/jmespath/go-jmespath/interpreter.go418
-rw-r--r--vendor/github.com/jmespath/go-jmespath/interpreter_test.go221
-rw-r--r--vendor/github.com/jmespath/go-jmespath/lexer.go420
-rw-r--r--vendor/github.com/jmespath/go-jmespath/lexer_test.go161
-rw-r--r--vendor/github.com/jmespath/go-jmespath/parser.go603
-rw-r--r--vendor/github.com/jmespath/go-jmespath/parser_test.go136
-rw-r--r--vendor/github.com/jmespath/go-jmespath/toktype_string.go16
-rw-r--r--vendor/github.com/jmespath/go-jmespath/util.go185
-rw-r--r--vendor/github.com/jmespath/go-jmespath/util_test.go73
679 files changed, 9634 insertions, 0 deletions
diff --git a/vendor/github.com/jmespath/go-jmespath/.gitignore b/vendor/github.com/jmespath/go-jmespath/.gitignore
new file mode 100644
index 00000000..5091fb07
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/.gitignore
@@ -0,0 +1,4 @@
+/jpgo
+jmespath-fuzz.zip
+cpu.out
+go-jmespath.test
diff --git a/vendor/github.com/jmespath/go-jmespath/.travis.yml b/vendor/github.com/jmespath/go-jmespath/.travis.yml
new file mode 100644
index 00000000..1f980775
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/.travis.yml
@@ -0,0 +1,9 @@
+language: go
+
+sudo: false
+
+go:
+ - 1.4
+
+install: go get -v -t ./...
+script: make test
diff --git a/vendor/github.com/jmespath/go-jmespath/LICENSE b/vendor/github.com/jmespath/go-jmespath/LICENSE
new file mode 100644
index 00000000..b03310a9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/LICENSE
@@ -0,0 +1,13 @@
+Copyright 2015 James Saryerwinnie
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/vendor/github.com/jmespath/go-jmespath/Makefile b/vendor/github.com/jmespath/go-jmespath/Makefile
new file mode 100644
index 00000000..a828d284
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/Makefile
@@ -0,0 +1,44 @@
+
+CMD = jpgo
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " test to run all the tests"
+ @echo " build to build the library and jp executable"
+ @echo " generate to run codegen"
+
+
+generate:
+ go generate ./...
+
+build:
+ rm -f $(CMD)
+ go build ./...
+ rm -f cmd/$(CMD)/$(CMD) && cd cmd/$(CMD)/ && go build ./...
+ mv cmd/$(CMD)/$(CMD) .
+
+test:
+ go test -v ./...
+
+check:
+ go vet ./...
+ @echo "golint ./..."
+ @lint=`golint ./...`; \
+ lint=`echo "$$lint" | grep -v "astnodetype_string.go" | grep -v "toktype_string.go"`; \
+ echo "$$lint"; \
+ if [ "$$lint" != "" ]; then exit 1; fi
+
+htmlc:
+ go test -coverprofile="/tmp/jpcov" && go tool cover -html="/tmp/jpcov" && unlink /tmp/jpcov
+
+buildfuzz:
+ go-fuzz-build github.com/jmespath/go-jmespath/fuzz
+
+fuzz: buildfuzz
+ go-fuzz -bin=./jmespath-fuzz.zip -workdir=fuzz/testdata
+
+bench:
+ go test -bench . -cpuprofile cpu.out
+
+pprof-cpu:
+ go tool pprof ./go-jmespath.test ./cpu.out
diff --git a/vendor/github.com/jmespath/go-jmespath/README.md b/vendor/github.com/jmespath/go-jmespath/README.md
new file mode 100644
index 00000000..187ef676
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/README.md
@@ -0,0 +1,7 @@
+# go-jmespath - A JMESPath implementation in Go
+
+[![Build Status](https://img.shields.io/travis/jmespath/go-jmespath.svg)](https://travis-ci.org/jmespath/go-jmespath)
+
+
+
+See http://jmespath.org for more info.
diff --git a/vendor/github.com/jmespath/go-jmespath/api.go b/vendor/github.com/jmespath/go-jmespath/api.go
new file mode 100644
index 00000000..9cfa988b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/api.go
@@ -0,0 +1,49 @@
+package jmespath
+
+import "strconv"
+
+// JmesPath is the epresentation of a compiled JMES path query. A JmesPath is
+// safe for concurrent use by multiple goroutines.
+type JMESPath struct {
+ ast ASTNode
+ intr *treeInterpreter
+}
+
+// Compile parses a JMESPath expression and returns, if successful, a JMESPath
+// object that can be used to match against data.
+func Compile(expression string) (*JMESPath, error) {
+ parser := NewParser()
+ ast, err := parser.Parse(expression)
+ if err != nil {
+ return nil, err
+ }
+ jmespath := &JMESPath{ast: ast, intr: newInterpreter()}
+ return jmespath, nil
+}
+
+// MustCompile is like Compile but panics if the expression cannot be parsed.
+// It simplifies safe initialization of global variables holding compiled
+// JMESPaths.
+func MustCompile(expression string) *JMESPath {
+ jmespath, err := Compile(expression)
+ if err != nil {
+ panic(`jmespath: Compile(` + strconv.Quote(expression) + `): ` + err.Error())
+ }
+ return jmespath
+}
+
+// Search evaluates a JMESPath expression against input data and returns the result.
+func (jp *JMESPath) Search(data interface{}) (interface{}, error) {
+ return jp.intr.Execute(jp.ast, data)
+}
+
+// Search evaluates a JMESPath expression against input data and returns the result.
+func Search(expression string, data interface{}) (interface{}, error) {
+ intr := newInterpreter()
+ parser := NewParser()
+ ast, err := parser.Parse(expression)
+ if err != nil {
+ return nil, err
+ }
+ return intr.Execute(ast, data)
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/api_test.go b/vendor/github.com/jmespath/go-jmespath/api_test.go
new file mode 100644
index 00000000..b0b106d3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/api_test.go
@@ -0,0 +1,32 @@
+package jmespath
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestValidPrecompiledExpressionSearches(t *testing.T) {
+ assert := assert.New(t)
+ data := make(map[string]interface{})
+ data["foo"] = "bar"
+ precompiled, err := Compile("foo")
+ assert.Nil(err)
+ result, err := precompiled.Search(data)
+ assert.Nil(err)
+ assert.Equal("bar", result)
+}
+
+func TestInvalidPrecompileErrors(t *testing.T) {
+ assert := assert.New(t)
+ _, err := Compile("not a valid expression")
+ assert.NotNil(err)
+}
+
+func TestInvalidMustCompilePanics(t *testing.T) {
+ defer func() {
+ r := recover()
+ assert.NotNil(t, r)
+ }()
+ MustCompile("not a valid expression")
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/astnodetype_string.go b/vendor/github.com/jmespath/go-jmespath/astnodetype_string.go
new file mode 100644
index 00000000..1cd2d239
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/astnodetype_string.go
@@ -0,0 +1,16 @@
+// generated by stringer -type astNodeType; DO NOT EDIT
+
+package jmespath
+
+import "fmt"
+
+const _astNodeType_name = "ASTEmptyASTComparatorASTCurrentNodeASTExpRefASTFunctionExpressionASTFieldASTFilterProjectionASTFlattenASTIdentityASTIndexASTIndexExpressionASTKeyValPairASTLiteralASTMultiSelectHashASTMultiSelectListASTOrExpressionASTAndExpressionASTNotExpressionASTPipeASTProjectionASTSubexpressionASTSliceASTValueProjection"
+
+var _astNodeType_index = [...]uint16{0, 8, 21, 35, 44, 65, 73, 92, 102, 113, 121, 139, 152, 162, 180, 198, 213, 229, 245, 252, 265, 281, 289, 307}
+
+func (i astNodeType) String() string {
+ if i < 0 || i >= astNodeType(len(_astNodeType_index)-1) {
+ return fmt.Sprintf("astNodeType(%d)", i)
+ }
+ return _astNodeType_name[_astNodeType_index[i]:_astNodeType_index[i+1]]
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/cmd/jpgo/main.go b/vendor/github.com/jmespath/go-jmespath/cmd/jpgo/main.go
new file mode 100644
index 00000000..1c53cfc8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/cmd/jpgo/main.go
@@ -0,0 +1,96 @@
+/*Basic command line interface for debug and testing purposes.
+
+Examples:
+
+Only print the AST for the expression:
+
+ jp.go -ast "foo.bar.baz"
+
+Evaluate the JMESPath expression against JSON data from a file:
+
+ jp.go -input /tmp/data.json "foo.bar.baz"
+
+This program can also be used as an executable to the jp-compliance
+runner (github.com/jmespath/jmespath.test).
+
+*/
+package main
+
+import (
+ "flag"
+ "fmt"
+ "io/ioutil"
+ "os"
+)
+
+import (
+ "encoding/json"
+
+ "github.com/jmespath/go-jmespath"
+)
+
+func errMsg(msg string, a ...interface{}) int {
+ fmt.Fprintf(os.Stderr, msg, a...)
+ fmt.Fprintln(os.Stderr)
+ return 1
+}
+
+func run() int {
+
+ astOnly := flag.Bool("ast", false, "Print the AST for the input expression and exit.")
+ inputFile := flag.String("input", "", "Filename containing JSON data to search. If not provided, data is read from stdin.")
+
+ flag.Parse()
+ args := flag.Args()
+ if len(args) != 1 {
+ fmt.Fprintf(os.Stderr, "Usage:\n\n")
+ flag.PrintDefaults()
+ return errMsg("\nError: expected a single argument (the JMESPath expression).")
+ }
+
+ expression := args[0]
+ parser := jmespath.NewParser()
+ parsed, err := parser.Parse(expression)
+ if err != nil {
+ if syntaxError, ok := err.(jmespath.SyntaxError); ok {
+ return errMsg("%s\n%s\n", syntaxError, syntaxError.HighlightLocation())
+ }
+ return errMsg("%s", err)
+ }
+ if *astOnly {
+ fmt.Println("")
+ fmt.Printf("%s\n", parsed)
+ return 0
+ }
+
+ var inputData []byte
+ if *inputFile != "" {
+ inputData, err = ioutil.ReadFile(*inputFile)
+ if err != nil {
+ return errMsg("Error loading file %s: %s", *inputFile, err)
+ }
+ } else {
+ // If an input data file is not provided then we read the
+ // data from stdin.
+ inputData, err = ioutil.ReadAll(os.Stdin)
+ if err != nil {
+ return errMsg("Error reading from stdin: %s", err)
+ }
+ }
+ var data interface{}
+ json.Unmarshal(inputData, &data)
+ result, err := jmespath.Search(expression, data)
+ if err != nil {
+ return errMsg("Error executing expression: %s", err)
+ }
+ toJSON, err := json.MarshalIndent(result, "", " ")
+ if err != nil {
+ return errMsg("Error serializing result to JSON: %s", err)
+ }
+ fmt.Println(string(toJSON))
+ return 0
+}
+
+func main() {
+ os.Exit(run())
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/basic.json b/vendor/github.com/jmespath/go-jmespath/compliance/basic.json
new file mode 100644
index 00000000..d550e969
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/basic.json
@@ -0,0 +1,96 @@
+[{
+ "given":
+ {"foo": {"bar": {"baz": "correct"}}},
+ "cases": [
+ {
+ "expression": "foo",
+ "result": {"bar": {"baz": "correct"}}
+ },
+ {
+ "expression": "foo.bar",
+ "result": {"baz": "correct"}
+ },
+ {
+ "expression": "foo.bar.baz",
+ "result": "correct"
+ },
+ {
+ "expression": "foo\n.\nbar\n.baz",
+ "result": "correct"
+ },
+ {
+ "expression": "foo.bar.baz.bad",
+ "result": null
+ },
+ {
+ "expression": "foo.bar.bad",
+ "result": null
+ },
+ {
+ "expression": "foo.bad",
+ "result": null
+ },
+ {
+ "expression": "bad",
+ "result": null
+ },
+ {
+ "expression": "bad.morebad.morebad",
+ "result": null
+ }
+ ]
+},
+{
+ "given":
+ {"foo": {"bar": ["one", "two", "three"]}},
+ "cases": [
+ {
+ "expression": "foo",
+ "result": {"bar": ["one", "two", "three"]}
+ },
+ {
+ "expression": "foo.bar",
+ "result": ["one", "two", "three"]
+ }
+ ]
+},
+{
+ "given": ["one", "two", "three"],
+ "cases": [
+ {
+ "expression": "one",
+ "result": null
+ },
+ {
+ "expression": "two",
+ "result": null
+ },
+ {
+ "expression": "three",
+ "result": null
+ },
+ {
+ "expression": "one.two",
+ "result": null
+ }
+ ]
+},
+{
+ "given":
+ {"foo": {"1": ["one", "two", "three"], "-1": "bar"}},
+ "cases": [
+ {
+ "expression": "foo.\"1\"",
+ "result": ["one", "two", "three"]
+ },
+ {
+ "expression": "foo.\"1\"[0]",
+ "result": "one"
+ },
+ {
+ "expression": "foo.\"-1\"",
+ "result": "bar"
+ }
+ ]
+}
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/boolean.json b/vendor/github.com/jmespath/go-jmespath/compliance/boolean.json
new file mode 100644
index 00000000..e3fa196b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/boolean.json
@@ -0,0 +1,257 @@
+[
+ {
+ "given": {
+ "outer": {
+ "foo": "foo",
+ "bar": "bar",
+ "baz": "baz"
+ }
+ },
+ "cases": [
+ {
+ "expression": "outer.foo || outer.bar",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.foo||outer.bar",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.bar || outer.baz",
+ "result": "bar"
+ },
+ {
+ "expression": "outer.bar||outer.baz",
+ "result": "bar"
+ },
+ {
+ "expression": "outer.bad || outer.foo",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.bad||outer.foo",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.foo || outer.bad",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.foo||outer.bad",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.bad || outer.alsobad",
+ "result": null
+ },
+ {
+ "expression": "outer.bad||outer.alsobad",
+ "result": null
+ }
+ ]
+ },
+ {
+ "given": {
+ "outer": {
+ "foo": "foo",
+ "bool": false,
+ "empty_list": [],
+ "empty_string": ""
+ }
+ },
+ "cases": [
+ {
+ "expression": "outer.empty_string || outer.foo",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.nokey || outer.bool || outer.empty_list || outer.empty_string || outer.foo",
+ "result": "foo"
+ }
+ ]
+ },
+ {
+ "given": {
+ "True": true,
+ "False": false,
+ "Number": 5,
+ "EmptyList": [],
+ "Zero": 0
+ },
+ "cases": [
+ {
+ "expression": "True && False",
+ "result": false
+ },
+ {
+ "expression": "False && True",
+ "result": false
+ },
+ {
+ "expression": "True && True",
+ "result": true
+ },
+ {
+ "expression": "False && False",
+ "result": false
+ },
+ {
+ "expression": "True && Number",
+ "result": 5
+ },
+ {
+ "expression": "Number && True",
+ "result": true
+ },
+ {
+ "expression": "Number && False",
+ "result": false
+ },
+ {
+ "expression": "Number && EmptyList",
+ "result": []
+ },
+ {
+ "expression": "Number && True",
+ "result": true
+ },
+ {
+ "expression": "EmptyList && True",
+ "result": []
+ },
+ {
+ "expression": "EmptyList && False",
+ "result": []
+ },
+ {
+ "expression": "True || False",
+ "result": true
+ },
+ {
+ "expression": "True || True",
+ "result": true
+ },
+ {
+ "expression": "False || True",
+ "result": true
+ },
+ {
+ "expression": "False || False",
+ "result": false
+ },
+ {
+ "expression": "Number || EmptyList",
+ "result": 5
+ },
+ {
+ "expression": "Number || True",
+ "result": 5
+ },
+ {
+ "expression": "Number || True && False",
+ "result": 5
+ },
+ {
+ "expression": "(Number || True) && False",
+ "result": false
+ },
+ {
+ "expression": "Number || (True && False)",
+ "result": 5
+ },
+ {
+ "expression": "!True",
+ "result": false
+ },
+ {
+ "expression": "!False",
+ "result": true
+ },
+ {
+ "expression": "!Number",
+ "result": false
+ },
+ {
+ "expression": "!EmptyList",
+ "result": true
+ },
+ {
+ "expression": "True && !False",
+ "result": true
+ },
+ {
+ "expression": "True && !EmptyList",
+ "result": true
+ },
+ {
+ "expression": "!False && !EmptyList",
+ "result": true
+ },
+ {
+ "expression": "!(True && False)",
+ "result": true
+ },
+ {
+ "expression": "!Zero",
+ "result": false
+ },
+ {
+ "expression": "!!Zero",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "one": 1,
+ "two": 2,
+ "three": 3
+ },
+ "cases": [
+ {
+ "expression": "one < two",
+ "result": true
+ },
+ {
+ "expression": "one <= two",
+ "result": true
+ },
+ {
+ "expression": "one == one",
+ "result": true
+ },
+ {
+ "expression": "one == two",
+ "result": false
+ },
+ {
+ "expression": "one > two",
+ "result": false
+ },
+ {
+ "expression": "one >= two",
+ "result": false
+ },
+ {
+ "expression": "one != two",
+ "result": true
+ },
+ {
+ "expression": "one < two && three > one",
+ "result": true
+ },
+ {
+ "expression": "one < two || three > one",
+ "result": true
+ },
+ {
+ "expression": "one < two || three < one",
+ "result": true
+ },
+ {
+ "expression": "two < one || three < one",
+ "result": false
+ }
+ ]
+ }
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/current.json b/vendor/github.com/jmespath/go-jmespath/compliance/current.json
new file mode 100644
index 00000000..0c26248d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/current.json
@@ -0,0 +1,25 @@
+[
+ {
+ "given": {
+ "foo": [{"name": "a"}, {"name": "b"}],
+ "bar": {"baz": "qux"}
+ },
+ "cases": [
+ {
+ "expression": "@",
+ "result": {
+ "foo": [{"name": "a"}, {"name": "b"}],
+ "bar": {"baz": "qux"}
+ }
+ },
+ {
+ "expression": "@.bar",
+ "result": {"baz": "qux"}
+ },
+ {
+ "expression": "@.foo[0]",
+ "result": {"name": "a"}
+ }
+ ]
+ }
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/escape.json b/vendor/github.com/jmespath/go-jmespath/compliance/escape.json
new file mode 100644
index 00000000..4a62d951
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/escape.json
@@ -0,0 +1,46 @@
+[{
+ "given": {
+ "foo.bar": "dot",
+ "foo bar": "space",
+ "foo\nbar": "newline",
+ "foo\"bar": "doublequote",
+ "c:\\\\windows\\path": "windows",
+ "/unix/path": "unix",
+ "\"\"\"": "threequotes",
+ "bar": {"baz": "qux"}
+ },
+ "cases": [
+ {
+ "expression": "\"foo.bar\"",
+ "result": "dot"
+ },
+ {
+ "expression": "\"foo bar\"",
+ "result": "space"
+ },
+ {
+ "expression": "\"foo\\nbar\"",
+ "result": "newline"
+ },
+ {
+ "expression": "\"foo\\\"bar\"",
+ "result": "doublequote"
+ },
+ {
+ "expression": "\"c:\\\\\\\\windows\\\\path\"",
+ "result": "windows"
+ },
+ {
+ "expression": "\"/unix/path\"",
+ "result": "unix"
+ },
+ {
+ "expression": "\"\\\"\\\"\\\"\"",
+ "result": "threequotes"
+ },
+ {
+ "expression": "\"bar\".\"baz\"",
+ "result": "qux"
+ }
+ ]
+}]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/filters.json b/vendor/github.com/jmespath/go-jmespath/compliance/filters.json
new file mode 100644
index 00000000..5b9f52b1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/filters.json
@@ -0,0 +1,468 @@
+[
+ {
+ "given": {"foo": [{"name": "a"}, {"name": "b"}]},
+ "cases": [
+ {
+ "comment": "Matching a literal",
+ "expression": "foo[?name == 'a']",
+ "result": [{"name": "a"}]
+ }
+ ]
+ },
+ {
+ "given": {"foo": [0, 1], "bar": [2, 3]},
+ "cases": [
+ {
+ "comment": "Matching a literal",
+ "expression": "*[?[0] == `0`]",
+ "result": [[], []]
+ }
+ ]
+ },
+ {
+ "given": {"foo": [{"first": "foo", "last": "bar"},
+ {"first": "foo", "last": "foo"},
+ {"first": "foo", "last": "baz"}]},
+ "cases": [
+ {
+ "comment": "Matching an expression",
+ "expression": "foo[?first == last]",
+ "result": [{"first": "foo", "last": "foo"}]
+ },
+ {
+ "comment": "Verify projection created from filter",
+ "expression": "foo[?first == last].first",
+ "result": ["foo"]
+ }
+ ]
+ },
+ {
+ "given": {"foo": [{"age": 20},
+ {"age": 25},
+ {"age": 30}]},
+ "cases": [
+ {
+ "comment": "Greater than with a number",
+ "expression": "foo[?age > `25`]",
+ "result": [{"age": 30}]
+ },
+ {
+ "expression": "foo[?age >= `25`]",
+ "result": [{"age": 25}, {"age": 30}]
+ },
+ {
+ "comment": "Greater than with a number",
+ "expression": "foo[?age > `30`]",
+ "result": []
+ },
+ {
+ "comment": "Greater than with a number",
+ "expression": "foo[?age < `25`]",
+ "result": [{"age": 20}]
+ },
+ {
+ "comment": "Greater than with a number",
+ "expression": "foo[?age <= `25`]",
+ "result": [{"age": 20}, {"age": 25}]
+ },
+ {
+ "comment": "Greater than with a number",
+ "expression": "foo[?age < `20`]",
+ "result": []
+ },
+ {
+ "expression": "foo[?age == `20`]",
+ "result": [{"age": 20}]
+ },
+ {
+ "expression": "foo[?age != `20`]",
+ "result": [{"age": 25}, {"age": 30}]
+ }
+ ]
+ },
+ {
+ "given": {"foo": [{"top": {"name": "a"}},
+ {"top": {"name": "b"}}]},
+ "cases": [
+ {
+ "comment": "Filter with subexpression",
+ "expression": "foo[?top.name == 'a']",
+ "result": [{"top": {"name": "a"}}]
+ }
+ ]
+ },
+ {
+ "given": {"foo": [{"top": {"first": "foo", "last": "bar"}},
+ {"top": {"first": "foo", "last": "foo"}},
+ {"top": {"first": "foo", "last": "baz"}}]},
+ "cases": [
+ {
+ "comment": "Matching an expression",
+ "expression": "foo[?top.first == top.last]",
+ "result": [{"top": {"first": "foo", "last": "foo"}}]
+ },
+ {
+ "comment": "Matching a JSON array",
+ "expression": "foo[?top == `{\"first\": \"foo\", \"last\": \"bar\"}`]",
+ "result": [{"top": {"first": "foo", "last": "bar"}}]
+ }
+ ]
+ },
+ {
+ "given": {"foo": [
+ {"key": true},
+ {"key": false},
+ {"key": 0},
+ {"key": 1},
+ {"key": [0]},
+ {"key": {"bar": [0]}},
+ {"key": null},
+ {"key": [1]},
+ {"key": {"a":2}}
+ ]},
+ "cases": [
+ {
+ "expression": "foo[?key == `true`]",
+ "result": [{"key": true}]
+ },
+ {
+ "expression": "foo[?key == `false`]",
+ "result": [{"key": false}]
+ },
+ {
+ "expression": "foo[?key == `0`]",
+ "result": [{"key": 0}]
+ },
+ {
+ "expression": "foo[?key == `1`]",
+ "result": [{"key": 1}]
+ },
+ {
+ "expression": "foo[?key == `[0]`]",
+ "result": [{"key": [0]}]
+ },
+ {
+ "expression": "foo[?key == `{\"bar\": [0]}`]",
+ "result": [{"key": {"bar": [0]}}]
+ },
+ {
+ "expression": "foo[?key == `null`]",
+ "result": [{"key": null}]
+ },
+ {
+ "expression": "foo[?key == `[1]`]",
+ "result": [{"key": [1]}]
+ },
+ {
+ "expression": "foo[?key == `{\"a\":2}`]",
+ "result": [{"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?`true` == key]",
+ "result": [{"key": true}]
+ },
+ {
+ "expression": "foo[?`false` == key]",
+ "result": [{"key": false}]
+ },
+ {
+ "expression": "foo[?`0` == key]",
+ "result": [{"key": 0}]
+ },
+ {
+ "expression": "foo[?`1` == key]",
+ "result": [{"key": 1}]
+ },
+ {
+ "expression": "foo[?`[0]` == key]",
+ "result": [{"key": [0]}]
+ },
+ {
+ "expression": "foo[?`{\"bar\": [0]}` == key]",
+ "result": [{"key": {"bar": [0]}}]
+ },
+ {
+ "expression": "foo[?`null` == key]",
+ "result": [{"key": null}]
+ },
+ {
+ "expression": "foo[?`[1]` == key]",
+ "result": [{"key": [1]}]
+ },
+ {
+ "expression": "foo[?`{\"a\":2}` == key]",
+ "result": [{"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?key != `true`]",
+ "result": [{"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?key != `false`]",
+ "result": [{"key": true}, {"key": 0}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?key != `0`]",
+ "result": [{"key": true}, {"key": false}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?key != `1`]",
+ "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?key != `null`]",
+ "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": [1]}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?key != `[1]`]",
+ "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?key != `{\"a\":2}`]",
+ "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}]
+ },
+ {
+ "expression": "foo[?`true` != key]",
+ "result": [{"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?`false` != key]",
+ "result": [{"key": true}, {"key": 0}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?`0` != key]",
+ "result": [{"key": true}, {"key": false}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?`1` != key]",
+ "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?`null` != key]",
+ "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": [1]}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?`[1]` != key]",
+ "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": {"a":2}}]
+ },
+ {
+ "expression": "foo[?`{\"a\":2}` != key]",
+ "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
+ {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}]
+ }
+ ]
+ },
+ {
+ "given": {"reservations": [
+ {"instances": [
+ {"foo": 1, "bar": 2}, {"foo": 1, "bar": 3},
+ {"foo": 1, "bar": 2}, {"foo": 2, "bar": 1}]}]},
+ "cases": [
+ {
+ "expression": "reservations[].instances[?bar==`1`]",
+ "result": [[{"foo": 2, "bar": 1}]]
+ },
+ {
+ "expression": "reservations[*].instances[?bar==`1`]",
+ "result": [[{"foo": 2, "bar": 1}]]
+ },
+ {
+ "expression": "reservations[].instances[?bar==`1`][]",
+ "result": [{"foo": 2, "bar": 1}]
+ }
+ ]
+ },
+ {
+ "given": {
+ "baz": "other",
+ "foo": [
+ {"bar": 1}, {"bar": 2}, {"bar": 3}, {"bar": 4}, {"bar": 1, "baz": 2}
+ ]
+ },
+ "cases": [
+ {
+ "expression": "foo[?bar==`1`].bar[0]",
+ "result": []
+ }
+ ]
+ },
+ {
+ "given": {
+ "foo": [
+ {"a": 1, "b": {"c": "x"}},
+ {"a": 1, "b": {"c": "y"}},
+ {"a": 1, "b": {"c": "z"}},
+ {"a": 2, "b": {"c": "z"}},
+ {"a": 1, "baz": 2}
+ ]
+ },
+ "cases": [
+ {
+ "expression": "foo[?a==`1`].b.c",
+ "result": ["x", "y", "z"]
+ }
+ ]
+ },
+ {
+ "given": {"foo": [{"name": "a"}, {"name": "b"}, {"name": "c"}]},
+ "cases": [
+ {
+ "comment": "Filter with or expression",
+ "expression": "foo[?name == 'a' || name == 'b']",
+ "result": [{"name": "a"}, {"name": "b"}]
+ },
+ {
+ "expression": "foo[?name == 'a' || name == 'e']",
+ "result": [{"name": "a"}]
+ },
+ {
+ "expression": "foo[?name == 'a' || name == 'b' || name == 'c']",
+ "result": [{"name": "a"}, {"name": "b"}, {"name": "c"}]
+ }
+ ]
+ },
+ {
+ "given": {"foo": [{"a": 1, "b": 2}, {"a": 1, "b": 3}]},
+ "cases": [
+ {
+ "comment": "Filter with and expression",
+ "expression": "foo[?a == `1` && b == `2`]",
+ "result": [{"a": 1, "b": 2}]
+ },
+ {
+ "expression": "foo[?a == `1` && b == `4`]",
+ "result": []
+ }
+ ]
+ },
+ {
+ "given": {"foo": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]},
+ "cases": [
+ {
+ "comment": "Filter with Or and And expressions",
+ "expression": "foo[?c == `3` || a == `1` && b == `4`]",
+ "result": [{"a": 1, "b": 2, "c": 3}]
+ },
+ {
+ "expression": "foo[?b == `2` || a == `3` && b == `4`]",
+ "result": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]
+ },
+ {
+ "expression": "foo[?a == `3` && b == `4` || b == `2`]",
+ "result": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]
+ },
+ {
+ "expression": "foo[?(a == `3` && b == `4`) || b == `2`]",
+ "result": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]
+ },
+ {
+ "expression": "foo[?((a == `3` && b == `4`)) || b == `2`]",
+ "result": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]
+ },
+ {
+ "expression": "foo[?a == `3` && (b == `4` || b == `2`)]",
+ "result": [{"a": 3, "b": 4}]
+ },
+ {
+ "expression": "foo[?a == `3` && ((b == `4` || b == `2`))]",
+ "result": [{"a": 3, "b": 4}]
+ }
+ ]
+ },
+ {
+ "given": {"foo": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]},
+ "cases": [
+ {
+ "comment": "Verify precedence of or/and expressions",
+ "expression": "foo[?a == `1` || b ==`2` && c == `5`]",
+ "result": [{"a": 1, "b": 2, "c": 3}]
+ },
+ {
+ "comment": "Parentheses can alter precedence",
+ "expression": "foo[?(a == `1` || b ==`2`) && c == `5`]",
+ "result": []
+ },
+ {
+ "comment": "Not expressions combined with and/or",
+ "expression": "foo[?!(a == `1` || b ==`2`)]",
+ "result": [{"a": 3, "b": 4}]
+ }
+ ]
+ },
+ {
+ "given": {
+ "foo": [
+ {"key": true},
+ {"key": false},
+ {"key": []},
+ {"key": {}},
+ {"key": [0]},
+ {"key": {"a": "b"}},
+ {"key": 0},
+ {"key": 1},
+ {"key": null},
+ {"notkey": true}
+ ]
+ },
+ "cases": [
+ {
+ "comment": "Unary filter expression",
+ "expression": "foo[?key]",
+ "result": [
+ {"key": true}, {"key": [0]}, {"key": {"a": "b"}},
+ {"key": 0}, {"key": 1}
+ ]
+ },
+ {
+ "comment": "Unary not filter expression",
+ "expression": "foo[?!key]",
+ "result": [
+ {"key": false}, {"key": []}, {"key": {}},
+ {"key": null}, {"notkey": true}
+ ]
+ },
+ {
+ "comment": "Equality with null RHS",
+ "expression": "foo[?key == `null`]",
+ "result": [
+ {"key": null}, {"notkey": true}
+ ]
+ }
+ ]
+ },
+ {
+ "given": {
+ "foo": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ "cases": [
+ {
+ "comment": "Using @ in a filter expression",
+ "expression": "foo[?@ < `5`]",
+ "result": [0, 1, 2, 3, 4]
+ },
+ {
+ "comment": "Using @ in a filter expression",
+ "expression": "foo[?`5` > @]",
+ "result": [0, 1, 2, 3, 4]
+ },
+ {
+ "comment": "Using @ in a filter expression",
+ "expression": "foo[?@ == @]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ }
+ ]
+ }
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/functions.json b/vendor/github.com/jmespath/go-jmespath/compliance/functions.json
new file mode 100644
index 00000000..8b8db363
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/functions.json
@@ -0,0 +1,825 @@
+[{
+ "given":
+ {
+ "foo": -1,
+ "zero": 0,
+ "numbers": [-1, 3, 4, 5],
+ "array": [-1, 3, 4, 5, "a", "100"],
+ "strings": ["a", "b", "c"],
+ "decimals": [1.01, 1.2, -1.5],
+ "str": "Str",
+ "false": false,
+ "empty_list": [],
+ "empty_hash": {},
+ "objects": {"foo": "bar", "bar": "baz"},
+ "null_key": null
+ },
+ "cases": [
+ {
+ "expression": "abs(foo)",
+ "result": 1
+ },
+ {
+ "expression": "abs(foo)",
+ "result": 1
+ },
+ {
+ "expression": "abs(str)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "abs(array[1])",
+ "result": 3
+ },
+ {
+ "expression": "abs(array[1])",
+ "result": 3
+ },
+ {
+ "expression": "abs(`false`)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "abs(`-24`)",
+ "result": 24
+ },
+ {
+ "expression": "abs(`-24`)",
+ "result": 24
+ },
+ {
+ "expression": "abs(`1`, `2`)",
+ "error": "invalid-arity"
+ },
+ {
+ "expression": "abs()",
+ "error": "invalid-arity"
+ },
+ {
+ "expression": "unknown_function(`1`, `2`)",
+ "error": "unknown-function"
+ },
+ {
+ "expression": "avg(numbers)",
+ "result": 2.75
+ },
+ {
+ "expression": "avg(array)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "avg('abc')",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "avg(foo)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "avg(@)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "avg(strings)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "ceil(`1.2`)",
+ "result": 2
+ },
+ {
+ "expression": "ceil(decimals[0])",
+ "result": 2
+ },
+ {
+ "expression": "ceil(decimals[1])",
+ "result": 2
+ },
+ {
+ "expression": "ceil(decimals[2])",
+ "result": -1
+ },
+ {
+ "expression": "ceil('string')",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "contains('abc', 'a')",
+ "result": true
+ },
+ {
+ "expression": "contains('abc', 'd')",
+ "result": false
+ },
+ {
+ "expression": "contains(`false`, 'd')",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "contains(strings, 'a')",
+ "result": true
+ },
+ {
+ "expression": "contains(decimals, `1.2`)",
+ "result": true
+ },
+ {
+ "expression": "contains(decimals, `false`)",
+ "result": false
+ },
+ {
+ "expression": "ends_with(str, 'r')",
+ "result": true
+ },
+ {
+ "expression": "ends_with(str, 'tr')",
+ "result": true
+ },
+ {
+ "expression": "ends_with(str, 'Str')",
+ "result": true
+ },
+ {
+ "expression": "ends_with(str, 'SStr')",
+ "result": false
+ },
+ {
+ "expression": "ends_with(str, 'foo')",
+ "result": false
+ },
+ {
+ "expression": "ends_with(str, `0`)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "floor(`1.2`)",
+ "result": 1
+ },
+ {
+ "expression": "floor('string')",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "floor(decimals[0])",
+ "result": 1
+ },
+ {
+ "expression": "floor(foo)",
+ "result": -1
+ },
+ {
+ "expression": "floor(str)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "length('abc')",
+ "result": 3
+ },
+ {
+ "expression": "length('✓foo')",
+ "result": 4
+ },
+ {
+ "expression": "length('')",
+ "result": 0
+ },
+ {
+ "expression": "length(@)",
+ "result": 12
+ },
+ {
+ "expression": "length(strings[0])",
+ "result": 1
+ },
+ {
+ "expression": "length(str)",
+ "result": 3
+ },
+ {
+ "expression": "length(array)",
+ "result": 6
+ },
+ {
+ "expression": "length(objects)",
+ "result": 2
+ },
+ {
+ "expression": "length(`false`)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "length(foo)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "length(strings[0])",
+ "result": 1
+ },
+ {
+ "expression": "max(numbers)",
+ "result": 5
+ },
+ {
+ "expression": "max(decimals)",
+ "result": 1.2
+ },
+ {
+ "expression": "max(strings)",
+ "result": "c"
+ },
+ {
+ "expression": "max(abc)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "max(array)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "max(decimals)",
+ "result": 1.2
+ },
+ {
+ "expression": "max(empty_list)",
+ "result": null
+ },
+ {
+ "expression": "merge(`{}`)",
+ "result": {}
+ },
+ {
+ "expression": "merge(`{}`, `{}`)",
+ "result": {}
+ },
+ {
+ "expression": "merge(`{\"a\": 1}`, `{\"b\": 2}`)",
+ "result": {"a": 1, "b": 2}
+ },
+ {
+ "expression": "merge(`{\"a\": 1}`, `{\"a\": 2}`)",
+ "result": {"a": 2}
+ },
+ {
+ "expression": "merge(`{\"a\": 1, \"b\": 2}`, `{\"a\": 2, \"c\": 3}`, `{\"d\": 4}`)",
+ "result": {"a": 2, "b": 2, "c": 3, "d": 4}
+ },
+ {
+ "expression": "min(numbers)",
+ "result": -1
+ },
+ {
+ "expression": "min(decimals)",
+ "result": -1.5
+ },
+ {
+ "expression": "min(abc)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "min(array)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "min(empty_list)",
+ "result": null
+ },
+ {
+ "expression": "min(decimals)",
+ "result": -1.5
+ },
+ {
+ "expression": "min(strings)",
+ "result": "a"
+ },
+ {
+ "expression": "type('abc')",
+ "result": "string"
+ },
+ {
+ "expression": "type(`1.0`)",
+ "result": "number"
+ },
+ {
+ "expression": "type(`2`)",
+ "result": "number"
+ },
+ {
+ "expression": "type(`true`)",
+ "result": "boolean"
+ },
+ {
+ "expression": "type(`false`)",
+ "result": "boolean"
+ },
+ {
+ "expression": "type(`null`)",
+ "result": "null"
+ },
+ {
+ "expression": "type(`[0]`)",
+ "result": "array"
+ },
+ {
+ "expression": "type(`{\"a\": \"b\"}`)",
+ "result": "object"
+ },
+ {
+ "expression": "type(@)",
+ "result": "object"
+ },
+ {
+ "expression": "sort(keys(objects))",
+ "result": ["bar", "foo"]
+ },
+ {
+ "expression": "keys(foo)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "keys(strings)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "keys(`false`)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "sort(values(objects))",
+ "result": ["bar", "baz"]
+ },
+ {
+ "expression": "keys(empty_hash)",
+ "result": []
+ },
+ {
+ "expression": "values(foo)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "join(', ', strings)",
+ "result": "a, b, c"
+ },
+ {
+ "expression": "join(', ', strings)",
+ "result": "a, b, c"
+ },
+ {
+ "expression": "join(',', `[\"a\", \"b\"]`)",
+ "result": "a,b"
+ },
+ {
+ "expression": "join(',', `[\"a\", 0]`)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "join(', ', str)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "join('|', strings)",
+ "result": "a|b|c"
+ },
+ {
+ "expression": "join(`2`, strings)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "join('|', decimals)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "join('|', decimals[].to_string(@))",
+ "result": "1.01|1.2|-1.5"
+ },
+ {
+ "expression": "join('|', empty_list)",
+ "result": ""
+ },
+ {
+ "expression": "reverse(numbers)",
+ "result": [5, 4, 3, -1]
+ },
+ {
+ "expression": "reverse(array)",
+ "result": ["100", "a", 5, 4, 3, -1]
+ },
+ {
+ "expression": "reverse(`[]`)",
+ "result": []
+ },
+ {
+ "expression": "reverse('')",
+ "result": ""
+ },
+ {
+ "expression": "reverse('hello world')",
+ "result": "dlrow olleh"
+ },
+ {
+ "expression": "starts_with(str, 'S')",
+ "result": true
+ },
+ {
+ "expression": "starts_with(str, 'St')",
+ "result": true
+ },
+ {
+ "expression": "starts_with(str, 'Str')",
+ "result": true
+ },
+ {
+ "expression": "starts_with(str, 'String')",
+ "result": false
+ },
+ {
+ "expression": "starts_with(str, `0`)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "sum(numbers)",
+ "result": 11
+ },
+ {
+ "expression": "sum(decimals)",
+ "result": 0.71
+ },
+ {
+ "expression": "sum(array)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "sum(array[].to_number(@))",
+ "result": 111
+ },
+ {
+ "expression": "sum(`[]`)",
+ "result": 0
+ },
+ {
+ "expression": "to_array('foo')",
+ "result": ["foo"]
+ },
+ {
+ "expression": "to_array(`0`)",
+ "result": [0]
+ },
+ {
+ "expression": "to_array(objects)",
+ "result": [{"foo": "bar", "bar": "baz"}]
+ },
+ {
+ "expression": "to_array(`[1, 2, 3]`)",
+ "result": [1, 2, 3]
+ },
+ {
+ "expression": "to_array(false)",
+ "result": [false]
+ },
+ {
+ "expression": "to_string('foo')",
+ "result": "foo"
+ },
+ {
+ "expression": "to_string(`1.2`)",
+ "result": "1.2"
+ },
+ {
+ "expression": "to_string(`[0, 1]`)",
+ "result": "[0,1]"
+ },
+ {
+ "expression": "to_number('1.0')",
+ "result": 1.0
+ },
+ {
+ "expression": "to_number('1.1')",
+ "result": 1.1
+ },
+ {
+ "expression": "to_number('4')",
+ "result": 4
+ },
+ {
+ "expression": "to_number('notanumber')",
+ "result": null
+ },
+ {
+ "expression": "to_number(`false`)",
+ "result": null
+ },
+ {
+ "expression": "to_number(`null`)",
+ "result": null
+ },
+ {
+ "expression": "to_number(`[0]`)",
+ "result": null
+ },
+ {
+ "expression": "to_number(`{\"foo\": 0}`)",
+ "result": null
+ },
+ {
+ "expression": "\"to_string\"(`1.0`)",
+ "error": "syntax"
+ },
+ {
+ "expression": "sort(numbers)",
+ "result": [-1, 3, 4, 5]
+ },
+ {
+ "expression": "sort(strings)",
+ "result": ["a", "b", "c"]
+ },
+ {
+ "expression": "sort(decimals)",
+ "result": [-1.5, 1.01, 1.2]
+ },
+ {
+ "expression": "sort(array)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "sort(abc)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "sort(empty_list)",
+ "result": []
+ },
+ {
+ "expression": "sort(@)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "not_null(unknown_key, str)",
+ "result": "Str"
+ },
+ {
+ "expression": "not_null(unknown_key, foo.bar, empty_list, str)",
+ "result": []
+ },
+ {
+ "expression": "not_null(unknown_key, null_key, empty_list, str)",
+ "result": []
+ },
+ {
+ "expression": "not_null(all, expressions, are_null)",
+ "result": null
+ },
+ {
+ "expression": "not_null()",
+ "error": "invalid-arity"
+ },
+ {
+ "description": "function projection on single arg function",
+ "expression": "numbers[].to_string(@)",
+ "result": ["-1", "3", "4", "5"]
+ },
+ {
+ "description": "function projection on single arg function",
+ "expression": "array[].to_number(@)",
+ "result": [-1, 3, 4, 5, 100]
+ }
+ ]
+}, {
+ "given":
+ {
+ "foo": [
+ {"b": "b", "a": "a"},
+ {"c": "c", "b": "b"},
+ {"d": "d", "c": "c"},
+ {"e": "e", "d": "d"},
+ {"f": "f", "e": "e"}
+ ]
+ },
+ "cases": [
+ {
+ "description": "function projection on variadic function",
+ "expression": "foo[].not_null(f, e, d, c, b, a)",
+ "result": ["b", "c", "d", "e", "f"]
+ }
+ ]
+}, {
+ "given":
+ {
+ "people": [
+ {"age": 20, "age_str": "20", "bool": true, "name": "a", "extra": "foo"},
+ {"age": 40, "age_str": "40", "bool": false, "name": "b", "extra": "bar"},
+ {"age": 30, "age_str": "30", "bool": true, "name": "c"},
+ {"age": 50, "age_str": "50", "bool": false, "name": "d"},
+ {"age": 10, "age_str": "10", "bool": true, "name": 3}
+ ]
+ },
+ "cases": [
+ {
+ "description": "sort by field expression",
+ "expression": "sort_by(people, &age)",
+ "result": [
+ {"age": 10, "age_str": "10", "bool": true, "name": 3},
+ {"age": 20, "age_str": "20", "bool": true, "name": "a", "extra": "foo"},
+ {"age": 30, "age_str": "30", "bool": true, "name": "c"},
+ {"age": 40, "age_str": "40", "bool": false, "name": "b", "extra": "bar"},
+ {"age": 50, "age_str": "50", "bool": false, "name": "d"}
+ ]
+ },
+ {
+ "expression": "sort_by(people, &age_str)",
+ "result": [
+ {"age": 10, "age_str": "10", "bool": true, "name": 3},
+ {"age": 20, "age_str": "20", "bool": true, "name": "a", "extra": "foo"},
+ {"age": 30, "age_str": "30", "bool": true, "name": "c"},
+ {"age": 40, "age_str": "40", "bool": false, "name": "b", "extra": "bar"},
+ {"age": 50, "age_str": "50", "bool": false, "name": "d"}
+ ]
+ },
+ {
+ "description": "sort by function expression",
+ "expression": "sort_by(people, &to_number(age_str))",
+ "result": [
+ {"age": 10, "age_str": "10", "bool": true, "name": 3},
+ {"age": 20, "age_str": "20", "bool": true, "name": "a", "extra": "foo"},
+ {"age": 30, "age_str": "30", "bool": true, "name": "c"},
+ {"age": 40, "age_str": "40", "bool": false, "name": "b", "extra": "bar"},
+ {"age": 50, "age_str": "50", "bool": false, "name": "d"}
+ ]
+ },
+ {
+ "description": "function projection on sort_by function",
+ "expression": "sort_by(people, &age)[].name",
+ "result": [3, "a", "c", "b", "d"]
+ },
+ {
+ "expression": "sort_by(people, &extra)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "sort_by(people, &bool)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "sort_by(people, &name)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "sort_by(people, name)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "sort_by(people, &age)[].extra",
+ "result": ["foo", "bar"]
+ },
+ {
+ "expression": "sort_by(`[]`, &age)",
+ "result": []
+ },
+ {
+ "expression": "max_by(people, &age)",
+ "result": {"age": 50, "age_str": "50", "bool": false, "name": "d"}
+ },
+ {
+ "expression": "max_by(people, &age_str)",
+ "result": {"age": 50, "age_str": "50", "bool": false, "name": "d"}
+ },
+ {
+ "expression": "max_by(people, &bool)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "max_by(people, &extra)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "max_by(people, &to_number(age_str))",
+ "result": {"age": 50, "age_str": "50", "bool": false, "name": "d"}
+ },
+ {
+ "expression": "min_by(people, &age)",
+ "result": {"age": 10, "age_str": "10", "bool": true, "name": 3}
+ },
+ {
+ "expression": "min_by(people, &age_str)",
+ "result": {"age": 10, "age_str": "10", "bool": true, "name": 3}
+ },
+ {
+ "expression": "min_by(people, &bool)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "min_by(people, &extra)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "min_by(people, &to_number(age_str))",
+ "result": {"age": 10, "age_str": "10", "bool": true, "name": 3}
+ }
+ ]
+}, {
+ "given":
+ {
+ "people": [
+ {"age": 10, "order": "1"},
+ {"age": 10, "order": "2"},
+ {"age": 10, "order": "3"},
+ {"age": 10, "order": "4"},
+ {"age": 10, "order": "5"},
+ {"age": 10, "order": "6"},
+ {"age": 10, "order": "7"},
+ {"age": 10, "order": "8"},
+ {"age": 10, "order": "9"},
+ {"age": 10, "order": "10"},
+ {"age": 10, "order": "11"}
+ ]
+ },
+ "cases": [
+ {
+ "description": "stable sort order",
+ "expression": "sort_by(people, &age)",
+ "result": [
+ {"age": 10, "order": "1"},
+ {"age": 10, "order": "2"},
+ {"age": 10, "order": "3"},
+ {"age": 10, "order": "4"},
+ {"age": 10, "order": "5"},
+ {"age": 10, "order": "6"},
+ {"age": 10, "order": "7"},
+ {"age": 10, "order": "8"},
+ {"age": 10, "order": "9"},
+ {"age": 10, "order": "10"},
+ {"age": 10, "order": "11"}
+ ]
+ }
+ ]
+}, {
+ "given":
+ {
+ "people": [
+ {"a": 10, "b": 1, "c": "z"},
+ {"a": 10, "b": 2, "c": null},
+ {"a": 10, "b": 3},
+ {"a": 10, "b": 4, "c": "z"},
+ {"a": 10, "b": 5, "c": null},
+ {"a": 10, "b": 6},
+ {"a": 10, "b": 7, "c": "z"},
+ {"a": 10, "b": 8, "c": null},
+ {"a": 10, "b": 9}
+ ],
+ "empty": []
+ },
+ "cases": [
+ {
+ "expression": "map(&a, people)",
+ "result": [10, 10, 10, 10, 10, 10, 10, 10, 10]
+ },
+ {
+ "expression": "map(&c, people)",
+ "result": ["z", null, null, "z", null, null, "z", null, null]
+ },
+ {
+ "expression": "map(&a, badkey)",
+ "error": "invalid-type"
+ },
+ {
+ "expression": "map(&foo, empty)",
+ "result": []
+ }
+ ]
+}, {
+ "given": {
+ "array": [
+ {
+ "foo": {"bar": "yes1"}
+ },
+ {
+ "foo": {"bar": "yes2"}
+ },
+ {
+ "foo1": {"bar": "no"}
+ }
+ ]},
+ "cases": [
+ {
+ "expression": "map(&foo.bar, array)",
+ "result": ["yes1", "yes2", null]
+ },
+ {
+ "expression": "map(&foo1.bar, array)",
+ "result": [null, null, "no"]
+ },
+ {
+ "expression": "map(&foo.bar.baz, array)",
+ "result": [null, null, null]
+ }
+ ]
+}, {
+ "given": {
+ "array": [[1, 2, 3, [4]], [5, 6, 7, [8, 9]]]
+ },
+ "cases": [
+ {
+ "expression": "map(&[], array)",
+ "result": [[1, 2, 3, 4], [5, 6, 7, 8, 9]]
+ }
+ ]
+}
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/identifiers.json b/vendor/github.com/jmespath/go-jmespath/compliance/identifiers.json
new file mode 100644
index 00000000..7998a41a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/identifiers.json
@@ -0,0 +1,1377 @@
+[
+ {
+ "given": {
+ "__L": true
+ },
+ "cases": [
+ {
+ "expression": "__L",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "!\r": true
+ },
+ "cases": [
+ {
+ "expression": "\"!\\r\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "Y_1623": true
+ },
+ "cases": [
+ {
+ "expression": "Y_1623",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "x": true
+ },
+ "cases": [
+ {
+ "expression": "x",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\tF\uCebb": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\tF\\uCebb\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ " \t": true
+ },
+ "cases": [
+ {
+ "expression": "\" \\t\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ " ": true
+ },
+ "cases": [
+ {
+ "expression": "\" \"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "v2": true
+ },
+ "cases": [
+ {
+ "expression": "v2",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\t": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\t\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_X": true
+ },
+ "cases": [
+ {
+ "expression": "_X",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\t4\ud9da\udd15": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\t4\\ud9da\\udd15\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "v24_W": true
+ },
+ "cases": [
+ {
+ "expression": "v24_W",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "H": true
+ },
+ "cases": [
+ {
+ "expression": "\"H\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\f": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\f\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "E4": true
+ },
+ "cases": [
+ {
+ "expression": "\"E4\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "!": true
+ },
+ "cases": [
+ {
+ "expression": "\"!\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "tM": true
+ },
+ "cases": [
+ {
+ "expression": "tM",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ " [": true
+ },
+ "cases": [
+ {
+ "expression": "\" [\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "R!": true
+ },
+ "cases": [
+ {
+ "expression": "\"R!\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_6W": true
+ },
+ "cases": [
+ {
+ "expression": "_6W",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\uaBA1\r": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\uaBA1\\r\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "tL7": true
+ },
+ "cases": [
+ {
+ "expression": "tL7",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "<<U\t": true
+ },
+ "cases": [
+ {
+ "expression": "\"<<U\\t\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\ubBcE\ufAfB": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\ubBcE\\ufAfB\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "sNA_": true
+ },
+ "cases": [
+ {
+ "expression": "sNA_",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "9": true
+ },
+ "cases": [
+ {
+ "expression": "\"9\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\\\b\ud8cb\udc83": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\\\\\b\\ud8cb\\udc83\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "r": true
+ },
+ "cases": [
+ {
+ "expression": "\"r\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "Q": true
+ },
+ "cases": [
+ {
+ "expression": "Q",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_Q__7GL8": true
+ },
+ "cases": [
+ {
+ "expression": "_Q__7GL8",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\\": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\\\\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "RR9_": true
+ },
+ "cases": [
+ {
+ "expression": "RR9_",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\r\f:": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\r\\f:\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "r7": true
+ },
+ "cases": [
+ {
+ "expression": "r7",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "-": true
+ },
+ "cases": [
+ {
+ "expression": "\"-\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "p9": true
+ },
+ "cases": [
+ {
+ "expression": "p9",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "__": true
+ },
+ "cases": [
+ {
+ "expression": "__",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\b\t": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\b\\t\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "O_": true
+ },
+ "cases": [
+ {
+ "expression": "O_",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_r_8": true
+ },
+ "cases": [
+ {
+ "expression": "_r_8",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_j": true
+ },
+ "cases": [
+ {
+ "expression": "_j",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ ":": true
+ },
+ "cases": [
+ {
+ "expression": "\":\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\rB": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\rB\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "Obf": true
+ },
+ "cases": [
+ {
+ "expression": "Obf",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\n": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\n\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\f\udb54\udf33": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\f\udb54\udf33\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\\\u4FDc": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\\\\\u4FDc\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\r": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\r\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "m_": true
+ },
+ "cases": [
+ {
+ "expression": "m_",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\r\fB ": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\r\\fB \"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "+\"\"": true
+ },
+ "cases": [
+ {
+ "expression": "\"+\\\"\\\"\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "Mg": true
+ },
+ "cases": [
+ {
+ "expression": "Mg",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\"!\/": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\\"!\\/\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "7\"": true
+ },
+ "cases": [
+ {
+ "expression": "\"7\\\"\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\\\udb3a\udca4S": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\\\\udb3a\udca4S\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\"": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\\"\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "Kl": true
+ },
+ "cases": [
+ {
+ "expression": "Kl",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\b\b": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\b\\b\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ ">": true
+ },
+ "cases": [
+ {
+ "expression": "\">\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "hvu": true
+ },
+ "cases": [
+ {
+ "expression": "hvu",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "; !": true
+ },
+ "cases": [
+ {
+ "expression": "\"; !\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "hU": true
+ },
+ "cases": [
+ {
+ "expression": "hU",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "!I\n\/": true
+ },
+ "cases": [
+ {
+ "expression": "\"!I\\n\\/\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\uEEbF": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\uEEbF\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "U)\t": true
+ },
+ "cases": [
+ {
+ "expression": "\"U)\\t\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "fa0_9": true
+ },
+ "cases": [
+ {
+ "expression": "fa0_9",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "/": true
+ },
+ "cases": [
+ {
+ "expression": "\"/\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "Gy": true
+ },
+ "cases": [
+ {
+ "expression": "Gy",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\b": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\b\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "<": true
+ },
+ "cases": [
+ {
+ "expression": "\"<\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\t": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\t\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\t&\\\r": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\t&\\\\\\r\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "#": true
+ },
+ "cases": [
+ {
+ "expression": "\"#\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "B__": true
+ },
+ "cases": [
+ {
+ "expression": "B__",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\nS \n": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\nS \\n\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "Bp": true
+ },
+ "cases": [
+ {
+ "expression": "Bp",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ ",\t;": true
+ },
+ "cases": [
+ {
+ "expression": "\",\\t;\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "B_q": true
+ },
+ "cases": [
+ {
+ "expression": "B_q",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\/+\t\n\b!Z": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\/+\\t\\n\\b!Z\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\udadd\udfc7\\ueFAc": true
+ },
+ "cases": [
+ {
+ "expression": "\"\udadd\udfc7\\\\ueFAc\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ ":\f": true
+ },
+ "cases": [
+ {
+ "expression": "\":\\f\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\/": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\/\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_BW_6Hg_Gl": true
+ },
+ "cases": [
+ {
+ "expression": "_BW_6Hg_Gl",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\udbcf\udc02": true
+ },
+ "cases": [
+ {
+ "expression": "\"\udbcf\udc02\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "zs1DC": true
+ },
+ "cases": [
+ {
+ "expression": "zs1DC",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "__434": true
+ },
+ "cases": [
+ {
+ "expression": "__434",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\udb94\udd41": true
+ },
+ "cases": [
+ {
+ "expression": "\"\udb94\udd41\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "Z_5": true
+ },
+ "cases": [
+ {
+ "expression": "Z_5",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "z_M_": true
+ },
+ "cases": [
+ {
+ "expression": "z_M_",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "YU_2": true
+ },
+ "cases": [
+ {
+ "expression": "YU_2",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_0": true
+ },
+ "cases": [
+ {
+ "expression": "_0",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\b+": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\b+\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\"": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\\"\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "D7": true
+ },
+ "cases": [
+ {
+ "expression": "D7",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_62L": true
+ },
+ "cases": [
+ {
+ "expression": "_62L",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\tK\t": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\tK\\t\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\n\\\f": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\n\\\\\\f\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "I_": true
+ },
+ "cases": [
+ {
+ "expression": "I_",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "W_a0_": true
+ },
+ "cases": [
+ {
+ "expression": "W_a0_",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "BQ": true
+ },
+ "cases": [
+ {
+ "expression": "BQ",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\tX$\uABBb": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\tX$\\uABBb\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "Z9": true
+ },
+ "cases": [
+ {
+ "expression": "Z9",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\b%\"\uda38\udd0f": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\b%\\\"\uda38\udd0f\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_F": true
+ },
+ "cases": [
+ {
+ "expression": "_F",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "!,": true
+ },
+ "cases": [
+ {
+ "expression": "\"!,\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\"!": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\\"!\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "Hh": true
+ },
+ "cases": [
+ {
+ "expression": "Hh",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "&": true
+ },
+ "cases": [
+ {
+ "expression": "\"&\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "9\r\\R": true
+ },
+ "cases": [
+ {
+ "expression": "\"9\\r\\\\R\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "M_k": true
+ },
+ "cases": [
+ {
+ "expression": "M_k",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "!\b\n\udb06\ude52\"\"": true
+ },
+ "cases": [
+ {
+ "expression": "\"!\\b\\n\udb06\ude52\\\"\\\"\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "6": true
+ },
+ "cases": [
+ {
+ "expression": "\"6\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_7": true
+ },
+ "cases": [
+ {
+ "expression": "_7",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "0": true
+ },
+ "cases": [
+ {
+ "expression": "\"0\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\\8\\": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\\\8\\\\\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "b7eo": true
+ },
+ "cases": [
+ {
+ "expression": "b7eo",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "xIUo9": true
+ },
+ "cases": [
+ {
+ "expression": "xIUo9",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "5": true
+ },
+ "cases": [
+ {
+ "expression": "\"5\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "?": true
+ },
+ "cases": [
+ {
+ "expression": "\"?\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "sU": true
+ },
+ "cases": [
+ {
+ "expression": "sU",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "VH2&H\\\/": true
+ },
+ "cases": [
+ {
+ "expression": "\"VH2&H\\\\\\/\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_C": true
+ },
+ "cases": [
+ {
+ "expression": "_C",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "_": true
+ },
+ "cases": [
+ {
+ "expression": "_",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "<\t": true
+ },
+ "cases": [
+ {
+ "expression": "\"<\\t\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {
+ "\uD834\uDD1E": true
+ },
+ "cases": [
+ {
+ "expression": "\"\\uD834\\uDD1E\"",
+ "result": true
+ }
+ ]
+ }
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/indices.json b/vendor/github.com/jmespath/go-jmespath/compliance/indices.json
new file mode 100644
index 00000000..aa03b35d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/indices.json
@@ -0,0 +1,346 @@
+[{
+ "given":
+ {"foo": {"bar": ["zero", "one", "two"]}},
+ "cases": [
+ {
+ "expression": "foo.bar[0]",
+ "result": "zero"
+ },
+ {
+ "expression": "foo.bar[1]",
+ "result": "one"
+ },
+ {
+ "expression": "foo.bar[2]",
+ "result": "two"
+ },
+ {
+ "expression": "foo.bar[3]",
+ "result": null
+ },
+ {
+ "expression": "foo.bar[-1]",
+ "result": "two"
+ },
+ {
+ "expression": "foo.bar[-2]",
+ "result": "one"
+ },
+ {
+ "expression": "foo.bar[-3]",
+ "result": "zero"
+ },
+ {
+ "expression": "foo.bar[-4]",
+ "result": null
+ }
+ ]
+},
+{
+ "given":
+ {"foo": [{"bar": "one"}, {"bar": "two"}, {"bar": "three"}, {"notbar": "four"}]},
+ "cases": [
+ {
+ "expression": "foo.bar",
+ "result": null
+ },
+ {
+ "expression": "foo[0].bar",
+ "result": "one"
+ },
+ {
+ "expression": "foo[1].bar",
+ "result": "two"
+ },
+ {
+ "expression": "foo[2].bar",
+ "result": "three"
+ },
+ {
+ "expression": "foo[3].notbar",
+ "result": "four"
+ },
+ {
+ "expression": "foo[3].bar",
+ "result": null
+ },
+ {
+ "expression": "foo[0]",
+ "result": {"bar": "one"}
+ },
+ {
+ "expression": "foo[1]",
+ "result": {"bar": "two"}
+ },
+ {
+ "expression": "foo[2]",
+ "result": {"bar": "three"}
+ },
+ {
+ "expression": "foo[3]",
+ "result": {"notbar": "four"}
+ },
+ {
+ "expression": "foo[4]",
+ "result": null
+ }
+ ]
+},
+{
+ "given": [
+ "one", "two", "three"
+ ],
+ "cases": [
+ {
+ "expression": "[0]",
+ "result": "one"
+ },
+ {
+ "expression": "[1]",
+ "result": "two"
+ },
+ {
+ "expression": "[2]",
+ "result": "three"
+ },
+ {
+ "expression": "[-1]",
+ "result": "three"
+ },
+ {
+ "expression": "[-2]",
+ "result": "two"
+ },
+ {
+ "expression": "[-3]",
+ "result": "one"
+ }
+ ]
+},
+{
+ "given": {"reservations": [
+ {"instances": [{"foo": 1}, {"foo": 2}]}
+ ]},
+ "cases": [
+ {
+ "expression": "reservations[].instances[].foo",
+ "result": [1, 2]
+ },
+ {
+ "expression": "reservations[].instances[].bar",
+ "result": []
+ },
+ {
+ "expression": "reservations[].notinstances[].foo",
+ "result": []
+ },
+ {
+ "expression": "reservations[].notinstances[].foo",
+ "result": []
+ }
+ ]
+},
+{
+ "given": {"reservations": [{
+ "instances": [
+ {"foo": [{"bar": 1}, {"bar": 2}, {"notbar": 3}, {"bar": 4}]},
+ {"foo": [{"bar": 5}, {"bar": 6}, {"notbar": [7]}, {"bar": 8}]},
+ {"foo": "bar"},
+ {"notfoo": [{"bar": 20}, {"bar": 21}, {"notbar": [7]}, {"bar": 22}]},
+ {"bar": [{"baz": [1]}, {"baz": [2]}, {"baz": [3]}, {"baz": [4]}]},
+ {"baz": [{"baz": [1, 2]}, {"baz": []}, {"baz": []}, {"baz": [3, 4]}]},
+ {"qux": [{"baz": []}, {"baz": [1, 2, 3]}, {"baz": [4]}, {"baz": []}]}
+ ],
+ "otherkey": {"foo": [{"bar": 1}, {"bar": 2}, {"notbar": 3}, {"bar": 4}]}
+ }, {
+ "instances": [
+ {"a": [{"bar": 1}, {"bar": 2}, {"notbar": 3}, {"bar": 4}]},
+ {"b": [{"bar": 5}, {"bar": 6}, {"notbar": [7]}, {"bar": 8}]},
+ {"c": "bar"},
+ {"notfoo": [{"bar": 23}, {"bar": 24}, {"notbar": [7]}, {"bar": 25}]},
+ {"qux": [{"baz": []}, {"baz": [1, 2, 3]}, {"baz": [4]}, {"baz": []}]}
+ ],
+ "otherkey": {"foo": [{"bar": 1}, {"bar": 2}, {"notbar": 3}, {"bar": 4}]}
+ }
+ ]},
+ "cases": [
+ {
+ "expression": "reservations[].instances[].foo[].bar",
+ "result": [1, 2, 4, 5, 6, 8]
+ },
+ {
+ "expression": "reservations[].instances[].foo[].baz",
+ "result": []
+ },
+ {
+ "expression": "reservations[].instances[].notfoo[].bar",
+ "result": [20, 21, 22, 23, 24, 25]
+ },
+ {
+ "expression": "reservations[].instances[].notfoo[].notbar",
+ "result": [[7], [7]]
+ },
+ {
+ "expression": "reservations[].notinstances[].foo",
+ "result": []
+ },
+ {
+ "expression": "reservations[].instances[].foo[].notbar",
+ "result": [3, [7]]
+ },
+ {
+ "expression": "reservations[].instances[].bar[].baz",
+ "result": [[1], [2], [3], [4]]
+ },
+ {
+ "expression": "reservations[].instances[].baz[].baz",
+ "result": [[1, 2], [], [], [3, 4]]
+ },
+ {
+ "expression": "reservations[].instances[].qux[].baz",
+ "result": [[], [1, 2, 3], [4], [], [], [1, 2, 3], [4], []]
+ },
+ {
+ "expression": "reservations[].instances[].qux[].baz[]",
+ "result": [1, 2, 3, 4, 1, 2, 3, 4]
+ }
+ ]
+},
+{
+ "given": {
+ "foo": [
+ [["one", "two"], ["three", "four"]],
+ [["five", "six"], ["seven", "eight"]],
+ [["nine"], ["ten"]]
+ ]
+ },
+ "cases": [
+ {
+ "expression": "foo[]",
+ "result": [["one", "two"], ["three", "four"], ["five", "six"],
+ ["seven", "eight"], ["nine"], ["ten"]]
+ },
+ {
+ "expression": "foo[][0]",
+ "result": ["one", "three", "five", "seven", "nine", "ten"]
+ },
+ {
+ "expression": "foo[][1]",
+ "result": ["two", "four", "six", "eight"]
+ },
+ {
+ "expression": "foo[][0][0]",
+ "result": []
+ },
+ {
+ "expression": "foo[][2][2]",
+ "result": []
+ },
+ {
+ "expression": "foo[][0][0][100]",
+ "result": []
+ }
+ ]
+},
+{
+ "given": {
+ "foo": [{
+ "bar": [
+ {
+ "qux": 2,
+ "baz": 1
+ },
+ {
+ "qux": 4,
+ "baz": 3
+ }
+ ]
+ },
+ {
+ "bar": [
+ {
+ "qux": 6,
+ "baz": 5
+ },
+ {
+ "qux": 8,
+ "baz": 7
+ }
+ ]
+ }
+ ]
+ },
+ "cases": [
+ {
+ "expression": "foo",
+ "result": [{"bar": [{"qux": 2, "baz": 1}, {"qux": 4, "baz": 3}]},
+ {"bar": [{"qux": 6, "baz": 5}, {"qux": 8, "baz": 7}]}]
+ },
+ {
+ "expression": "foo[]",
+ "result": [{"bar": [{"qux": 2, "baz": 1}, {"qux": 4, "baz": 3}]},
+ {"bar": [{"qux": 6, "baz": 5}, {"qux": 8, "baz": 7}]}]
+ },
+ {
+ "expression": "foo[].bar",
+ "result": [[{"qux": 2, "baz": 1}, {"qux": 4, "baz": 3}],
+ [{"qux": 6, "baz": 5}, {"qux": 8, "baz": 7}]]
+ },
+ {
+ "expression": "foo[].bar[]",
+ "result": [{"qux": 2, "baz": 1}, {"qux": 4, "baz": 3},
+ {"qux": 6, "baz": 5}, {"qux": 8, "baz": 7}]
+ },
+ {
+ "expression": "foo[].bar[].baz",
+ "result": [1, 3, 5, 7]
+ }
+ ]
+},
+{
+ "given": {
+ "string": "string",
+ "hash": {"foo": "bar", "bar": "baz"},
+ "number": 23,
+ "nullvalue": null
+ },
+ "cases": [
+ {
+ "expression": "string[]",
+ "result": null
+ },
+ {
+ "expression": "hash[]",
+ "result": null
+ },
+ {
+ "expression": "number[]",
+ "result": null
+ },
+ {
+ "expression": "nullvalue[]",
+ "result": null
+ },
+ {
+ "expression": "string[].foo",
+ "result": null
+ },
+ {
+ "expression": "hash[].foo",
+ "result": null
+ },
+ {
+ "expression": "number[].foo",
+ "result": null
+ },
+ {
+ "expression": "nullvalue[].foo",
+ "result": null
+ },
+ {
+ "expression": "nullvalue[].foo[].bar",
+ "result": null
+ }
+ ]
+}
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/literal.json b/vendor/github.com/jmespath/go-jmespath/compliance/literal.json
new file mode 100644
index 00000000..c6706b97
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/literal.json
@@ -0,0 +1,185 @@
+[
+ {
+ "given": {
+ "foo": [{"name": "a"}, {"name": "b"}],
+ "bar": {"baz": "qux"}
+ },
+ "cases": [
+ {
+ "expression": "`\"foo\"`",
+ "result": "foo"
+ },
+ {
+ "comment": "Interpret escaped unicode.",
+ "expression": "`\"\\u03a6\"`",
+ "result": "Φ"
+ },
+ {
+ "expression": "`\"✓\"`",
+ "result": "✓"
+ },
+ {
+ "expression": "`[1, 2, 3]`",
+ "result": [1, 2, 3]
+ },
+ {
+ "expression": "`{\"a\": \"b\"}`",
+ "result": {"a": "b"}
+ },
+ {
+ "expression": "`true`",
+ "result": true
+ },
+ {
+ "expression": "`false`",
+ "result": false
+ },
+ {
+ "expression": "`null`",
+ "result": null
+ },
+ {
+ "expression": "`0`",
+ "result": 0
+ },
+ {
+ "expression": "`1`",
+ "result": 1
+ },
+ {
+ "expression": "`2`",
+ "result": 2
+ },
+ {
+ "expression": "`3`",
+ "result": 3
+ },
+ {
+ "expression": "`4`",
+ "result": 4
+ },
+ {
+ "expression": "`5`",
+ "result": 5
+ },
+ {
+ "expression": "`6`",
+ "result": 6
+ },
+ {
+ "expression": "`7`",
+ "result": 7
+ },
+ {
+ "expression": "`8`",
+ "result": 8
+ },
+ {
+ "expression": "`9`",
+ "result": 9
+ },
+ {
+ "comment": "Escaping a backtick in quotes",
+ "expression": "`\"foo\\`bar\"`",
+ "result": "foo`bar"
+ },
+ {
+ "comment": "Double quote in literal",
+ "expression": "`\"foo\\\"bar\"`",
+ "result": "foo\"bar"
+ },
+ {
+ "expression": "`\"1\\`\"`",
+ "result": "1`"
+ },
+ {
+ "comment": "Multiple literal expressions with escapes",
+ "expression": "`\"\\\\\"`.{a:`\"b\"`}",
+ "result": {"a": "b"}
+ },
+ {
+ "comment": "literal . identifier",
+ "expression": "`{\"a\": \"b\"}`.a",
+ "result": "b"
+ },
+ {
+ "comment": "literal . identifier . identifier",
+ "expression": "`{\"a\": {\"b\": \"c\"}}`.a.b",
+ "result": "c"
+ },
+ {
+ "comment": "literal . identifier bracket-expr",
+ "expression": "`[0, 1, 2]`[1]",
+ "result": 1
+ }
+ ]
+ },
+ {
+ "comment": "Literals",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "comment": "Literal with leading whitespace",
+ "expression": "` {\"foo\": true}`",
+ "result": {"foo": true}
+ },
+ {
+ "comment": "Literal with trailing whitespace",
+ "expression": "`{\"foo\": true} `",
+ "result": {"foo": true}
+ },
+ {
+ "comment": "Literal on RHS of subexpr not allowed",
+ "expression": "foo.`\"bar\"`",
+ "error": "syntax"
+ }
+ ]
+ },
+ {
+ "comment": "Raw String Literals",
+ "given": {},
+ "cases": [
+ {
+ "expression": "'foo'",
+ "result": "foo"
+ },
+ {
+ "expression": "' foo '",
+ "result": " foo "
+ },
+ {
+ "expression": "'0'",
+ "result": "0"
+ },
+ {
+ "expression": "'newline\n'",
+ "result": "newline\n"
+ },
+ {
+ "expression": "'\n'",
+ "result": "\n"
+ },
+ {
+ "expression": "'✓'",
+ "result": "✓"
+ },
+ {
+ "expression": "'𝄞'",
+ "result": "𝄞"
+ },
+ {
+ "expression": "' [foo] '",
+ "result": " [foo] "
+ },
+ {
+ "expression": "'[foo]'",
+ "result": "[foo]"
+ },
+ {
+ "comment": "Do not interpret escaped unicode.",
+ "expression": "'\\u03a6'",
+ "result": "\\u03a6"
+ }
+ ]
+ }
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/multiselect.json b/vendor/github.com/jmespath/go-jmespath/compliance/multiselect.json
new file mode 100644
index 00000000..8f2a481e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/multiselect.json
@@ -0,0 +1,393 @@
+[{
+ "given": {
+ "foo": {
+ "bar": "bar",
+ "baz": "baz",
+ "qux": "qux",
+ "nested": {
+ "one": {
+ "a": "first",
+ "b": "second",
+ "c": "third"
+ },
+ "two": {
+ "a": "first",
+ "b": "second",
+ "c": "third"
+ },
+ "three": {
+ "a": "first",
+ "b": "second",
+ "c": {"inner": "third"}
+ }
+ }
+ },
+ "bar": 1,
+ "baz": 2,
+ "qux\"": 3
+ },
+ "cases": [
+ {
+ "expression": "foo.{bar: bar}",
+ "result": {"bar": "bar"}
+ },
+ {
+ "expression": "foo.{\"bar\": bar}",
+ "result": {"bar": "bar"}
+ },
+ {
+ "expression": "foo.{\"foo.bar\": bar}",
+ "result": {"foo.bar": "bar"}
+ },
+ {
+ "expression": "foo.{bar: bar, baz: baz}",
+ "result": {"bar": "bar", "baz": "baz"}
+ },
+ {
+ "expression": "foo.{\"bar\": bar, \"baz\": baz}",
+ "result": {"bar": "bar", "baz": "baz"}
+ },
+ {
+ "expression": "{\"baz\": baz, \"qux\\\"\": \"qux\\\"\"}",
+ "result": {"baz": 2, "qux\"": 3}
+ },
+ {
+ "expression": "foo.{bar:bar,baz:baz}",
+ "result": {"bar": "bar", "baz": "baz"}
+ },
+ {
+ "expression": "foo.{bar: bar,qux: qux}",
+ "result": {"bar": "bar", "qux": "qux"}
+ },
+ {
+ "expression": "foo.{bar: bar, noexist: noexist}",
+ "result": {"bar": "bar", "noexist": null}
+ },
+ {
+ "expression": "foo.{noexist: noexist, alsonoexist: alsonoexist}",
+ "result": {"noexist": null, "alsonoexist": null}
+ },
+ {
+ "expression": "foo.badkey.{nokey: nokey, alsonokey: alsonokey}",
+ "result": null
+ },
+ {
+ "expression": "foo.nested.*.{a: a,b: b}",
+ "result": [{"a": "first", "b": "second"},
+ {"a": "first", "b": "second"},
+ {"a": "first", "b": "second"}]
+ },
+ {
+ "expression": "foo.nested.three.{a: a, cinner: c.inner}",
+ "result": {"a": "first", "cinner": "third"}
+ },
+ {
+ "expression": "foo.nested.three.{a: a, c: c.inner.bad.key}",
+ "result": {"a": "first", "c": null}
+ },
+ {
+ "expression": "foo.{a: nested.one.a, b: nested.two.b}",
+ "result": {"a": "first", "b": "second"}
+ },
+ {
+ "expression": "{bar: bar, baz: baz}",
+ "result": {"bar": 1, "baz": 2}
+ },
+ {
+ "expression": "{bar: bar}",
+ "result": {"bar": 1}
+ },
+ {
+ "expression": "{otherkey: bar}",
+ "result": {"otherkey": 1}
+ },
+ {
+ "expression": "{no: no, exist: exist}",
+ "result": {"no": null, "exist": null}
+ },
+ {
+ "expression": "foo.[bar]",
+ "result": ["bar"]
+ },
+ {
+ "expression": "foo.[bar,baz]",
+ "result": ["bar", "baz"]
+ },
+ {
+ "expression": "foo.[bar,qux]",
+ "result": ["bar", "qux"]
+ },
+ {
+ "expression": "foo.[bar,noexist]",
+ "result": ["bar", null]
+ },
+ {
+ "expression": "foo.[noexist,alsonoexist]",
+ "result": [null, null]
+ }
+ ]
+}, {
+ "given": {
+ "foo": {"bar": 1, "baz": [2, 3, 4]}
+ },
+ "cases": [
+ {
+ "expression": "foo.{bar:bar,baz:baz}",
+ "result": {"bar": 1, "baz": [2, 3, 4]}
+ },
+ {
+ "expression": "foo.[bar,baz[0]]",
+ "result": [1, 2]
+ },
+ {
+ "expression": "foo.[bar,baz[1]]",
+ "result": [1, 3]
+ },
+ {
+ "expression": "foo.[bar,baz[2]]",
+ "result": [1, 4]
+ },
+ {
+ "expression": "foo.[bar,baz[3]]",
+ "result": [1, null]
+ },
+ {
+ "expression": "foo.[bar[0],baz[3]]",
+ "result": [null, null]
+ }
+ ]
+}, {
+ "given": {
+ "foo": {"bar": 1, "baz": 2}
+ },
+ "cases": [
+ {
+ "expression": "foo.{bar: bar, baz: baz}",
+ "result": {"bar": 1, "baz": 2}
+ },
+ {
+ "expression": "foo.[bar,baz]",
+ "result": [1, 2]
+ }
+ ]
+}, {
+ "given": {
+ "foo": {
+ "bar": {"baz": [{"common": "first", "one": 1},
+ {"common": "second", "two": 2}]},
+ "ignoreme": 1,
+ "includeme": true
+ }
+ },
+ "cases": [
+ {
+ "expression": "foo.{bar: bar.baz[1],includeme: includeme}",
+ "result": {"bar": {"common": "second", "two": 2}, "includeme": true}
+ },
+ {
+ "expression": "foo.{\"bar.baz.two\": bar.baz[1].two, includeme: includeme}",
+ "result": {"bar.baz.two": 2, "includeme": true}
+ },
+ {
+ "expression": "foo.[includeme, bar.baz[*].common]",
+ "result": [true, ["first", "second"]]
+ },
+ {
+ "expression": "foo.[includeme, bar.baz[*].none]",
+ "result": [true, []]
+ },
+ {
+ "expression": "foo.[includeme, bar.baz[].common]",
+ "result": [true, ["first", "second"]]
+ }
+ ]
+}, {
+ "given": {
+ "reservations": [{
+ "instances": [
+ {"id": "id1",
+ "name": "first"},
+ {"id": "id2",
+ "name": "second"}
+ ]}, {
+ "instances": [
+ {"id": "id3",
+ "name": "third"},
+ {"id": "id4",
+ "name": "fourth"}
+ ]}
+ ]},
+ "cases": [
+ {
+ "expression": "reservations[*].instances[*].{id: id, name: name}",
+ "result": [[{"id": "id1", "name": "first"}, {"id": "id2", "name": "second"}],
+ [{"id": "id3", "name": "third"}, {"id": "id4", "name": "fourth"}]]
+ },
+ {
+ "expression": "reservations[].instances[].{id: id, name: name}",
+ "result": [{"id": "id1", "name": "first"},
+ {"id": "id2", "name": "second"},
+ {"id": "id3", "name": "third"},
+ {"id": "id4", "name": "fourth"}]
+ },
+ {
+ "expression": "reservations[].instances[].[id, name]",
+ "result": [["id1", "first"],
+ ["id2", "second"],
+ ["id3", "third"],
+ ["id4", "fourth"]]
+ }
+ ]
+},
+{
+ "given": {
+ "foo": [{
+ "bar": [
+ {
+ "qux": 2,
+ "baz": 1
+ },
+ {
+ "qux": 4,
+ "baz": 3
+ }
+ ]
+ },
+ {
+ "bar": [
+ {
+ "qux": 6,
+ "baz": 5
+ },
+ {
+ "qux": 8,
+ "baz": 7
+ }
+ ]
+ }
+ ]
+ },
+ "cases": [
+ {
+ "expression": "foo",
+ "result": [{"bar": [{"qux": 2, "baz": 1}, {"qux": 4, "baz": 3}]},
+ {"bar": [{"qux": 6, "baz": 5}, {"qux": 8, "baz": 7}]}]
+ },
+ {
+ "expression": "foo[]",
+ "result": [{"bar": [{"qux": 2, "baz": 1}, {"qux": 4, "baz": 3}]},
+ {"bar": [{"qux": 6, "baz": 5}, {"qux": 8, "baz": 7}]}]
+ },
+ {
+ "expression": "foo[].bar",
+ "result": [[{"qux": 2, "baz": 1}, {"qux": 4, "baz": 3}],
+ [{"qux": 6, "baz": 5}, {"qux": 8, "baz": 7}]]
+ },
+ {
+ "expression": "foo[].bar[]",
+ "result": [{"qux": 2, "baz": 1}, {"qux": 4, "baz": 3},
+ {"qux": 6, "baz": 5}, {"qux": 8, "baz": 7}]
+ },
+ {
+ "expression": "foo[].bar[].[baz, qux]",
+ "result": [[1, 2], [3, 4], [5, 6], [7, 8]]
+ },
+ {
+ "expression": "foo[].bar[].[baz]",
+ "result": [[1], [3], [5], [7]]
+ },
+ {
+ "expression": "foo[].bar[].[baz, qux][]",
+ "result": [1, 2, 3, 4, 5, 6, 7, 8]
+ }
+ ]
+},
+{
+ "given": {
+ "foo": {
+ "baz": [
+ {
+ "bar": "abc"
+ }, {
+ "bar": "def"
+ }
+ ],
+ "qux": ["zero"]
+ }
+ },
+ "cases": [
+ {
+ "expression": "foo.[baz[*].bar, qux[0]]",
+ "result": [["abc", "def"], "zero"]
+ }
+ ]
+},
+{
+ "given": {
+ "foo": {
+ "baz": [
+ {
+ "bar": "a",
+ "bam": "b",
+ "boo": "c"
+ }, {
+ "bar": "d",
+ "bam": "e",
+ "boo": "f"
+ }
+ ],
+ "qux": ["zero"]
+ }
+ },
+ "cases": [
+ {
+ "expression": "foo.[baz[*].[bar, boo], qux[0]]",
+ "result": [[["a", "c" ], ["d", "f" ]], "zero"]
+ }
+ ]
+},
+{
+ "given": {
+ "foo": {
+ "baz": [
+ {
+ "bar": "a",
+ "bam": "b",
+ "boo": "c"
+ }, {
+ "bar": "d",
+ "bam": "e",
+ "boo": "f"
+ }
+ ],
+ "qux": ["zero"]
+ }
+ },
+ "cases": [
+ {
+ "expression": "foo.[baz[*].not_there || baz[*].bar, qux[0]]",
+ "result": [["a", "d"], "zero"]
+ }
+ ]
+},
+{
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "comment": "Nested multiselect",
+ "expression": "[[*],*]",
+ "result": [null, ["object"]]
+ }
+ ]
+},
+{
+ "given": [],
+ "cases": [
+ {
+ "comment": "Nested multiselect",
+ "expression": "[[*]]",
+ "result": [[]]
+ }
+ ]
+}
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/ormatch.json b/vendor/github.com/jmespath/go-jmespath/compliance/ormatch.json
new file mode 100644
index 00000000..2127cf44
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/ormatch.json
@@ -0,0 +1,59 @@
+[{
+ "given":
+ {"outer": {"foo": "foo", "bar": "bar", "baz": "baz"}},
+ "cases": [
+ {
+ "expression": "outer.foo || outer.bar",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.foo||outer.bar",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.bar || outer.baz",
+ "result": "bar"
+ },
+ {
+ "expression": "outer.bar||outer.baz",
+ "result": "bar"
+ },
+ {
+ "expression": "outer.bad || outer.foo",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.bad||outer.foo",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.foo || outer.bad",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.foo||outer.bad",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.bad || outer.alsobad",
+ "result": null
+ },
+ {
+ "expression": "outer.bad||outer.alsobad",
+ "result": null
+ }
+ ]
+}, {
+ "given":
+ {"outer": {"foo": "foo", "bool": false, "empty_list": [], "empty_string": ""}},
+ "cases": [
+ {
+ "expression": "outer.empty_string || outer.foo",
+ "result": "foo"
+ },
+ {
+ "expression": "outer.nokey || outer.bool || outer.empty_list || outer.empty_string || outer.foo",
+ "result": "foo"
+ }
+ ]
+}]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/pipe.json b/vendor/github.com/jmespath/go-jmespath/compliance/pipe.json
new file mode 100644
index 00000000..b10c0a49
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/pipe.json
@@ -0,0 +1,131 @@
+[{
+ "given": {
+ "foo": {
+ "bar": {
+ "baz": "subkey"
+ },
+ "other": {
+ "baz": "subkey"
+ },
+ "other2": {
+ "baz": "subkey"
+ },
+ "other3": {
+ "notbaz": ["a", "b", "c"]
+ },
+ "other4": {
+ "notbaz": ["a", "b", "c"]
+ }
+ }
+ },
+ "cases": [
+ {
+ "expression": "foo.*.baz | [0]",
+ "result": "subkey"
+ },
+ {
+ "expression": "foo.*.baz | [1]",
+ "result": "subkey"
+ },
+ {
+ "expression": "foo.*.baz | [2]",
+ "result": "subkey"
+ },
+ {
+ "expression": "foo.bar.* | [0]",
+ "result": "subkey"
+ },
+ {
+ "expression": "foo.*.notbaz | [*]",
+ "result": [["a", "b", "c"], ["a", "b", "c"]]
+ },
+ {
+ "expression": "{\"a\": foo.bar, \"b\": foo.other} | *.baz",
+ "result": ["subkey", "subkey"]
+ }
+ ]
+}, {
+ "given": {
+ "foo": {
+ "bar": {
+ "baz": "one"
+ },
+ "other": {
+ "baz": "two"
+ },
+ "other2": {
+ "baz": "three"
+ },
+ "other3": {
+ "notbaz": ["a", "b", "c"]
+ },
+ "other4": {
+ "notbaz": ["d", "e", "f"]
+ }
+ }
+ },
+ "cases": [
+ {
+ "expression": "foo | bar",
+ "result": {"baz": "one"}
+ },
+ {
+ "expression": "foo | bar | baz",
+ "result": "one"
+ },
+ {
+ "expression": "foo|bar| baz",
+ "result": "one"
+ },
+ {
+ "expression": "not_there | [0]",
+ "result": null
+ },
+ {
+ "expression": "not_there | [0]",
+ "result": null
+ },
+ {
+ "expression": "[foo.bar, foo.other] | [0]",
+ "result": {"baz": "one"}
+ },
+ {
+ "expression": "{\"a\": foo.bar, \"b\": foo.other} | a",
+ "result": {"baz": "one"}
+ },
+ {
+ "expression": "{\"a\": foo.bar, \"b\": foo.other} | b",
+ "result": {"baz": "two"}
+ },
+ {
+ "expression": "foo.bam || foo.bar | baz",
+ "result": "one"
+ },
+ {
+ "expression": "foo | not_there || bar",
+ "result": {"baz": "one"}
+ }
+ ]
+}, {
+ "given": {
+ "foo": [{
+ "bar": [{
+ "baz": "one"
+ }, {
+ "baz": "two"
+ }]
+ }, {
+ "bar": [{
+ "baz": "three"
+ }, {
+ "baz": "four"
+ }]
+ }]
+ },
+ "cases": [
+ {
+ "expression": "foo[*].bar[*] | [0][0]",
+ "result": {"baz": "one"}
+ }
+ ]
+}]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/slice.json b/vendor/github.com/jmespath/go-jmespath/compliance/slice.json
new file mode 100644
index 00000000..35947727
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/slice.json
@@ -0,0 +1,187 @@
+[{
+ "given": {
+ "foo": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
+ "bar": {
+ "baz": 1
+ }
+ },
+ "cases": [
+ {
+ "expression": "bar[0:10]",
+ "result": null
+ },
+ {
+ "expression": "foo[0:10:1]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[0:10]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[0:10:]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[0::1]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[0::]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[0:]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[:10:1]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[::1]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[:10:]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[::]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[:]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[1:9]",
+ "result": [1, 2, 3, 4, 5, 6, 7, 8]
+ },
+ {
+ "expression": "foo[0:10:2]",
+ "result": [0, 2, 4, 6, 8]
+ },
+ {
+ "expression": "foo[5:]",
+ "result": [5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[5::2]",
+ "result": [5, 7, 9]
+ },
+ {
+ "expression": "foo[::2]",
+ "result": [0, 2, 4, 6, 8]
+ },
+ {
+ "expression": "foo[::-1]",
+ "result": [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
+ },
+ {
+ "expression": "foo[1::2]",
+ "result": [1, 3, 5, 7, 9]
+ },
+ {
+ "expression": "foo[10:0:-1]",
+ "result": [9, 8, 7, 6, 5, 4, 3, 2, 1]
+ },
+ {
+ "expression": "foo[10:5:-1]",
+ "result": [9, 8, 7, 6]
+ },
+ {
+ "expression": "foo[8:2:-2]",
+ "result": [8, 6, 4]
+ },
+ {
+ "expression": "foo[0:20]",
+ "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ },
+ {
+ "expression": "foo[10:-20:-1]",
+ "result": [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
+ },
+ {
+ "expression": "foo[10:-20]",
+ "result": []
+ },
+ {
+ "expression": "foo[-4:-1]",
+ "result": [6, 7, 8]
+ },
+ {
+ "expression": "foo[:-5:-1]",
+ "result": [9, 8, 7, 6]
+ },
+ {
+ "expression": "foo[8:2:0]",
+ "error": "invalid-value"
+ },
+ {
+ "expression": "foo[8:2:0:1]",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[8:2&]",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[2:a:3]",
+ "error": "syntax"
+ }
+ ]
+}, {
+ "given": {
+ "foo": [{"a": 1}, {"a": 2}, {"a": 3}],
+ "bar": [{"a": {"b": 1}}, {"a": {"b": 2}},
+ {"a": {"b": 3}}],
+ "baz": 50
+ },
+ "cases": [
+ {
+ "expression": "foo[:2].a",
+ "result": [1, 2]
+ },
+ {
+ "expression": "foo[:2].b",
+ "result": []
+ },
+ {
+ "expression": "foo[:2].a.b",
+ "result": []
+ },
+ {
+ "expression": "bar[::-1].a.b",
+ "result": [3, 2, 1]
+ },
+ {
+ "expression": "bar[:2].a.b",
+ "result": [1, 2]
+ },
+ {
+ "expression": "baz[:2].a",
+ "result": null
+ }
+ ]
+}, {
+ "given": [{"a": 1}, {"a": 2}, {"a": 3}],
+ "cases": [
+ {
+ "expression": "[:]",
+ "result": [{"a": 1}, {"a": 2}, {"a": 3}]
+ },
+ {
+ "expression": "[:2].a",
+ "result": [1, 2]
+ },
+ {
+ "expression": "[::-1].a",
+ "result": [3, 2, 1]
+ },
+ {
+ "expression": "[:2].b",
+ "result": []
+ }
+ ]
+}]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/syntax.json b/vendor/github.com/jmespath/go-jmespath/compliance/syntax.json
new file mode 100644
index 00000000..003c2945
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/syntax.json
@@ -0,0 +1,616 @@
+[{
+ "comment": "Dot syntax",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "expression": "foo.bar",
+ "result": null
+ },
+ {
+ "expression": "foo.1",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo.-11",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo",
+ "result": null
+ },
+ {
+ "expression": "foo.",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo.",
+ "error": "syntax"
+ },
+ {
+ "expression": ".foo",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo..bar",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo.bar.",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[.]",
+ "error": "syntax"
+ }
+ ]
+},
+ {
+ "comment": "Simple token errors",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "expression": ".",
+ "error": "syntax"
+ },
+ {
+ "expression": ":",
+ "error": "syntax"
+ },
+ {
+ "expression": ",",
+ "error": "syntax"
+ },
+ {
+ "expression": "]",
+ "error": "syntax"
+ },
+ {
+ "expression": "[",
+ "error": "syntax"
+ },
+ {
+ "expression": "}",
+ "error": "syntax"
+ },
+ {
+ "expression": "{",
+ "error": "syntax"
+ },
+ {
+ "expression": ")",
+ "error": "syntax"
+ },
+ {
+ "expression": "(",
+ "error": "syntax"
+ },
+ {
+ "expression": "((&",
+ "error": "syntax"
+ },
+ {
+ "expression": "a[",
+ "error": "syntax"
+ },
+ {
+ "expression": "a]",
+ "error": "syntax"
+ },
+ {
+ "expression": "a][",
+ "error": "syntax"
+ },
+ {
+ "expression": "!",
+ "error": "syntax"
+ }
+ ]
+ },
+ {
+ "comment": "Boolean syntax errors",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "expression": "![!(!",
+ "error": "syntax"
+ }
+ ]
+ },
+ {
+ "comment": "Wildcard syntax",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "expression": "*",
+ "result": ["object"]
+ },
+ {
+ "expression": "*.*",
+ "result": []
+ },
+ {
+ "expression": "*.foo",
+ "result": []
+ },
+ {
+ "expression": "*[0]",
+ "result": []
+ },
+ {
+ "expression": ".*",
+ "error": "syntax"
+ },
+ {
+ "expression": "*foo",
+ "error": "syntax"
+ },
+ {
+ "expression": "*0",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[*]bar",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[*]*",
+ "error": "syntax"
+ }
+ ]
+ },
+ {
+ "comment": "Flatten syntax",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "expression": "[]",
+ "result": null
+ }
+ ]
+ },
+ {
+ "comment": "Simple bracket syntax",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "expression": "[0]",
+ "result": null
+ },
+ {
+ "expression": "[*]",
+ "result": null
+ },
+ {
+ "expression": "*.[0]",
+ "error": "syntax"
+ },
+ {
+ "expression": "*.[\"0\"]",
+ "result": [[null]]
+ },
+ {
+ "expression": "[*].bar",
+ "result": null
+ },
+ {
+ "expression": "[*][0]",
+ "result": null
+ },
+ {
+ "expression": "foo[#]",
+ "error": "syntax"
+ }
+ ]
+ },
+ {
+ "comment": "Multi-select list syntax",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "expression": "foo[0]",
+ "result": null
+ },
+ {
+ "comment": "Valid multi-select of a list",
+ "expression": "foo[0, 1]",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo.[0]",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo.[*]",
+ "result": null
+ },
+ {
+ "comment": "Multi-select of a list with trailing comma",
+ "expression": "foo[0, ]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Multi-select of a list with trailing comma and no close",
+ "expression": "foo[0,",
+ "error": "syntax"
+ },
+ {
+ "comment": "Multi-select of a list with trailing comma and no close",
+ "expression": "foo.[a",
+ "error": "syntax"
+ },
+ {
+ "comment": "Multi-select of a list with extra comma",
+ "expression": "foo[0,, 1]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Multi-select of a list using an identifier index",
+ "expression": "foo[abc]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Multi-select of a list using identifier indices",
+ "expression": "foo[abc, def]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Multi-select of a list using an identifier index",
+ "expression": "foo[abc, 1]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Multi-select of a list using an identifier index with trailing comma",
+ "expression": "foo[abc, ]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Valid multi-select of a hash using an identifier index",
+ "expression": "foo.[abc]",
+ "result": null
+ },
+ {
+ "comment": "Valid multi-select of a hash",
+ "expression": "foo.[abc, def]",
+ "result": null
+ },
+ {
+ "comment": "Multi-select of a hash using a numeric index",
+ "expression": "foo.[abc, 1]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Multi-select of a hash with a trailing comma",
+ "expression": "foo.[abc, ]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Multi-select of a hash with extra commas",
+ "expression": "foo.[abc,, def]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Multi-select of a hash using number indices",
+ "expression": "foo.[0, 1]",
+ "error": "syntax"
+ }
+ ]
+ },
+ {
+ "comment": "Multi-select hash syntax",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "comment": "No key or value",
+ "expression": "a{}",
+ "error": "syntax"
+ },
+ {
+ "comment": "No closing token",
+ "expression": "a{",
+ "error": "syntax"
+ },
+ {
+ "comment": "Not a key value pair",
+ "expression": "a{foo}",
+ "error": "syntax"
+ },
+ {
+ "comment": "Missing value and closing character",
+ "expression": "a{foo:",
+ "error": "syntax"
+ },
+ {
+ "comment": "Missing closing character",
+ "expression": "a{foo: 0",
+ "error": "syntax"
+ },
+ {
+ "comment": "Missing value",
+ "expression": "a{foo:}",
+ "error": "syntax"
+ },
+ {
+ "comment": "Trailing comma and no closing character",
+ "expression": "a{foo: 0, ",
+ "error": "syntax"
+ },
+ {
+ "comment": "Missing value with trailing comma",
+ "expression": "a{foo: ,}",
+ "error": "syntax"
+ },
+ {
+ "comment": "Accessing Array using an identifier",
+ "expression": "a{foo: bar}",
+ "error": "syntax"
+ },
+ {
+ "expression": "a{foo: 0}",
+ "error": "syntax"
+ },
+ {
+ "comment": "Missing key-value pair",
+ "expression": "a.{}",
+ "error": "syntax"
+ },
+ {
+ "comment": "Not a key-value pair",
+ "expression": "a.{foo}",
+ "error": "syntax"
+ },
+ {
+ "comment": "Missing value",
+ "expression": "a.{foo:}",
+ "error": "syntax"
+ },
+ {
+ "comment": "Missing value with trailing comma",
+ "expression": "a.{foo: ,}",
+ "error": "syntax"
+ },
+ {
+ "comment": "Valid multi-select hash extraction",
+ "expression": "a.{foo: bar}",
+ "result": null
+ },
+ {
+ "comment": "Valid multi-select hash extraction",
+ "expression": "a.{foo: bar, baz: bam}",
+ "result": null
+ },
+ {
+ "comment": "Trailing comma",
+ "expression": "a.{foo: bar, }",
+ "error": "syntax"
+ },
+ {
+ "comment": "Missing key in second key-value pair",
+ "expression": "a.{foo: bar, baz}",
+ "error": "syntax"
+ },
+ {
+ "comment": "Missing value in second key-value pair",
+ "expression": "a.{foo: bar, baz:}",
+ "error": "syntax"
+ },
+ {
+ "comment": "Trailing comma",
+ "expression": "a.{foo: bar, baz: bam, }",
+ "error": "syntax"
+ },
+ {
+ "comment": "Nested multi select",
+ "expression": "{\"\\\\\":{\" \":*}}",
+ "result": {"\\": {" ": ["object"]}}
+ }
+ ]
+ },
+ {
+ "comment": "Or expressions",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "expression": "foo || bar",
+ "result": null
+ },
+ {
+ "expression": "foo ||",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo.|| bar",
+ "error": "syntax"
+ },
+ {
+ "expression": " || foo",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo || || foo",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo.[a || b]",
+ "result": null
+ },
+ {
+ "expression": "foo.[a ||]",
+ "error": "syntax"
+ },
+ {
+ "expression": "\"foo",
+ "error": "syntax"
+ }
+ ]
+ },
+ {
+ "comment": "Filter expressions",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "expression": "foo[?bar==`\"baz\"`]",
+ "result": null
+ },
+ {
+ "expression": "foo[? bar == `\"baz\"` ]",
+ "result": null
+ },
+ {
+ "expression": "foo[ ?bar==`\"baz\"`]",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[?bar==]",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[?==]",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[?==bar]",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[?bar==baz?]",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[?a.b.c==d.e.f]",
+ "result": null
+ },
+ {
+ "expression": "foo[?bar==`[0, 1, 2]`]",
+ "result": null
+ },
+ {
+ "expression": "foo[?bar==`[\"a\", \"b\", \"c\"]`]",
+ "result": null
+ },
+ {
+ "comment": "Literal char not escaped",
+ "expression": "foo[?bar==`[\"foo`bar\"]`]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Literal char escaped",
+ "expression": "foo[?bar==`[\"foo\\`bar\"]`]",
+ "result": null
+ },
+ {
+ "comment": "Unknown comparator",
+ "expression": "foo[?bar<>baz]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Unknown comparator",
+ "expression": "foo[?bar^baz]",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[bar==baz]",
+ "error": "syntax"
+ },
+ {
+ "comment": "Quoted identifier in filter expression no spaces",
+ "expression": "[?\"\\\\\">`\"foo\"`]",
+ "result": null
+ },
+ {
+ "comment": "Quoted identifier in filter expression with spaces",
+ "expression": "[?\"\\\\\" > `\"foo\"`]",
+ "result": null
+ }
+ ]
+ },
+ {
+ "comment": "Filter expression errors",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "expression": "bar.`\"anything\"`",
+ "error": "syntax"
+ },
+ {
+ "expression": "bar.baz.noexists.`\"literal\"`",
+ "error": "syntax"
+ },
+ {
+ "comment": "Literal wildcard projection",
+ "expression": "foo[*].`\"literal\"`",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[*].name.`\"literal\"`",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[].name.`\"literal\"`",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[].name.`\"literal\"`.`\"subliteral\"`",
+ "error": "syntax"
+ },
+ {
+ "comment": "Projecting a literal onto an empty list",
+ "expression": "foo[*].name.noexist.`\"literal\"`",
+ "error": "syntax"
+ },
+ {
+ "expression": "foo[].name.noexist.`\"literal\"`",
+ "error": "syntax"
+ },
+ {
+ "expression": "twolen[*].`\"foo\"`",
+ "error": "syntax"
+ },
+ {
+ "comment": "Two level projection of a literal",
+ "expression": "twolen[*].threelen[*].`\"bar\"`",
+ "error": "syntax"
+ },
+ {
+ "comment": "Two level flattened projection of a literal",
+ "expression": "twolen[].threelen[].`\"bar\"`",
+ "error": "syntax"
+ }
+ ]
+ },
+ {
+ "comment": "Identifiers",
+ "given": {"type": "object"},
+ "cases": [
+ {
+ "expression": "foo",
+ "result": null
+ },
+ {
+ "expression": "\"foo\"",
+ "result": null
+ },
+ {
+ "expression": "\"\\\\\"",
+ "result": null
+ }
+ ]
+ },
+ {
+ "comment": "Combined syntax",
+ "given": [],
+ "cases": [
+ {
+ "expression": "*||*|*|*",
+ "result": null
+ },
+ {
+ "expression": "*[]||[*]",
+ "result": []
+ },
+ {
+ "expression": "[*.*]",
+ "result": [null]
+ }
+ ]
+ }
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/unicode.json b/vendor/github.com/jmespath/go-jmespath/compliance/unicode.json
new file mode 100644
index 00000000..6b07b0b6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/unicode.json
@@ -0,0 +1,38 @@
+[
+ {
+ "given": {"foo": [{"✓": "✓"}, {"✓": "✗"}]},
+ "cases": [
+ {
+ "expression": "foo[].\"✓\"",
+ "result": ["✓", "✗"]
+ }
+ ]
+ },
+ {
+ "given": {"☯": true},
+ "cases": [
+ {
+ "expression": "\"☯\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {"♪♫•*¨*•.¸¸❤¸¸.•*¨*•♫♪": true},
+ "cases": [
+ {
+ "expression": "\"♪♫•*¨*•.¸¸❤¸¸.•*¨*•♫♪\"",
+ "result": true
+ }
+ ]
+ },
+ {
+ "given": {"☃": true},
+ "cases": [
+ {
+ "expression": "\"☃\"",
+ "result": true
+ }
+ ]
+ }
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance/wildcard.json b/vendor/github.com/jmespath/go-jmespath/compliance/wildcard.json
new file mode 100644
index 00000000..3bcec302
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance/wildcard.json
@@ -0,0 +1,460 @@
+[{
+ "given": {
+ "foo": {
+ "bar": {
+ "baz": "val"
+ },
+ "other": {
+ "baz": "val"
+ },
+ "other2": {
+ "baz": "val"
+ },
+ "other3": {
+ "notbaz": ["a", "b", "c"]
+ },
+ "other4": {
+ "notbaz": ["a", "b", "c"]
+ },
+ "other5": {
+ "other": {
+ "a": 1,
+ "b": 1,
+ "c": 1
+ }
+ }
+ }
+ },
+ "cases": [
+ {
+ "expression": "foo.*.baz",
+ "result": ["val", "val", "val"]
+ },
+ {
+ "expression": "foo.bar.*",
+ "result": ["val"]
+ },
+ {
+ "expression": "foo.*.notbaz",
+ "result": [["a", "b", "c"], ["a", "b", "c"]]
+ },
+ {
+ "expression": "foo.*.notbaz[0]",
+ "result": ["a", "a"]
+ },
+ {
+ "expression": "foo.*.notbaz[-1]",
+ "result": ["c", "c"]
+ }
+ ]
+}, {
+ "given": {
+ "foo": {
+ "first-1": {
+ "second-1": "val"
+ },
+ "first-2": {
+ "second-1": "val"
+ },
+ "first-3": {
+ "second-1": "val"
+ }
+ }
+ },
+ "cases": [
+ {
+ "expression": "foo.*",
+ "result": [{"second-1": "val"}, {"second-1": "val"},
+ {"second-1": "val"}]
+ },
+ {
+ "expression": "foo.*.*",
+ "result": [["val"], ["val"], ["val"]]
+ },
+ {
+ "expression": "foo.*.*.*",
+ "result": [[], [], []]
+ },
+ {
+ "expression": "foo.*.*.*.*",
+ "result": [[], [], []]
+ }
+ ]
+}, {
+ "given": {
+ "foo": {
+ "bar": "one"
+ },
+ "other": {
+ "bar": "one"
+ },
+ "nomatch": {
+ "notbar": "three"
+ }
+ },
+ "cases": [
+ {
+ "expression": "*.bar",
+ "result": ["one", "one"]
+ }
+ ]
+}, {
+ "given": {
+ "top1": {
+ "sub1": {"foo": "one"}
+ },
+ "top2": {
+ "sub1": {"foo": "one"}
+ }
+ },
+ "cases": [
+ {
+ "expression": "*",
+ "result": [{"sub1": {"foo": "one"}},
+ {"sub1": {"foo": "one"}}]
+ },
+ {
+ "expression": "*.sub1",
+ "result": [{"foo": "one"},
+ {"foo": "one"}]
+ },
+ {
+ "expression": "*.*",
+ "result": [[{"foo": "one"}],
+ [{"foo": "one"}]]
+ },
+ {
+ "expression": "*.*.foo[]",
+ "result": ["one", "one"]
+ },
+ {
+ "expression": "*.sub1.foo",
+ "result": ["one", "one"]
+ }
+ ]
+},
+{
+ "given":
+ {"foo": [{"bar": "one"}, {"bar": "two"}, {"bar": "three"}, {"notbar": "four"}]},
+ "cases": [
+ {
+ "expression": "foo[*].bar",
+ "result": ["one", "two", "three"]
+ },
+ {
+ "expression": "foo[*].notbar",
+ "result": ["four"]
+ }
+ ]
+},
+{
+ "given":
+ [{"bar": "one"}, {"bar": "two"}, {"bar": "three"}, {"notbar": "four"}],
+ "cases": [
+ {
+ "expression": "[*]",
+ "result": [{"bar": "one"}, {"bar": "two"}, {"bar": "three"}, {"notbar": "four"}]
+ },
+ {
+ "expression": "[*].bar",
+ "result": ["one", "two", "three"]
+ },
+ {
+ "expression": "[*].notbar",
+ "result": ["four"]
+ }
+ ]
+},
+{
+ "given": {
+ "foo": {
+ "bar": [
+ {"baz": ["one", "two", "three"]},
+ {"baz": ["four", "five", "six"]},
+ {"baz": ["seven", "eight", "nine"]}
+ ]
+ }
+ },
+ "cases": [
+ {
+ "expression": "foo.bar[*].baz",
+ "result": [["one", "two", "three"], ["four", "five", "six"], ["seven", "eight", "nine"]]
+ },
+ {
+ "expression": "foo.bar[*].baz[0]",
+ "result": ["one", "four", "seven"]
+ },
+ {
+ "expression": "foo.bar[*].baz[1]",
+ "result": ["two", "five", "eight"]
+ },
+ {
+ "expression": "foo.bar[*].baz[2]",
+ "result": ["three", "six", "nine"]
+ },
+ {
+ "expression": "foo.bar[*].baz[3]",
+ "result": []
+ }
+ ]
+},
+{
+ "given": {
+ "foo": {
+ "bar": [["one", "two"], ["three", "four"]]
+ }
+ },
+ "cases": [
+ {
+ "expression": "foo.bar[*]",
+ "result": [["one", "two"], ["three", "four"]]
+ },
+ {
+ "expression": "foo.bar[0]",
+ "result": ["one", "two"]
+ },
+ {
+ "expression": "foo.bar[0][0]",
+ "result": "one"
+ },
+ {
+ "expression": "foo.bar[0][0][0]",
+ "result": null
+ },
+ {
+ "expression": "foo.bar[0][0][0][0]",
+ "result": null
+ },
+ {
+ "expression": "foo[0][0]",
+ "result": null
+ }
+ ]
+},
+{
+ "given": {
+ "foo": [
+ {"bar": [{"kind": "basic"}, {"kind": "intermediate"}]},
+ {"bar": [{"kind": "advanced"}, {"kind": "expert"}]},
+ {"bar": "string"}
+ ]
+
+ },
+ "cases": [
+ {
+ "expression": "foo[*].bar[*].kind",
+ "result": [["basic", "intermediate"], ["advanced", "expert"]]
+ },
+ {
+ "expression": "foo[*].bar[0].kind",
+ "result": ["basic", "advanced"]
+ }
+ ]
+},
+{
+ "given": {
+ "foo": [
+ {"bar": {"kind": "basic"}},
+ {"bar": {"kind": "intermediate"}},
+ {"bar": {"kind": "advanced"}},
+ {"bar": {"kind": "expert"}},
+ {"bar": "string"}
+ ]
+ },
+ "cases": [
+ {
+ "expression": "foo[*].bar.kind",
+ "result": ["basic", "intermediate", "advanced", "expert"]
+ }
+ ]
+},
+{
+ "given": {
+ "foo": [{"bar": ["one", "two"]}, {"bar": ["three", "four"]}, {"bar": ["five"]}]
+ },
+ "cases": [
+ {
+ "expression": "foo[*].bar[0]",
+ "result": ["one", "three", "five"]
+ },
+ {
+ "expression": "foo[*].bar[1]",
+ "result": ["two", "four"]
+ },
+ {
+ "expression": "foo[*].bar[2]",
+ "result": []
+ }
+ ]
+},
+{
+ "given": {
+ "foo": [{"bar": []}, {"bar": []}, {"bar": []}]
+ },
+ "cases": [
+ {
+ "expression": "foo[*].bar[0]",
+ "result": []
+ }
+ ]
+},
+{
+ "given": {
+ "foo": [["one", "two"], ["three", "four"], ["five"]]
+ },
+ "cases": [
+ {
+ "expression": "foo[*][0]",
+ "result": ["one", "three", "five"]
+ },
+ {
+ "expression": "foo[*][1]",
+ "result": ["two", "four"]
+ }
+ ]
+},
+{
+ "given": {
+ "foo": [
+ [
+ ["one", "two"], ["three", "four"]
+ ], [
+ ["five", "six"], ["seven", "eight"]
+ ], [
+ ["nine"], ["ten"]
+ ]
+ ]
+ },
+ "cases": [
+ {
+ "expression": "foo[*][0]",
+ "result": [["one", "two"], ["five", "six"], ["nine"]]
+ },
+ {
+ "expression": "foo[*][1]",
+ "result": [["three", "four"], ["seven", "eight"], ["ten"]]
+ },
+ {
+ "expression": "foo[*][0][0]",
+ "result": ["one", "five", "nine"]
+ },
+ {
+ "expression": "foo[*][1][0]",
+ "result": ["three", "seven", "ten"]
+ },
+ {
+ "expression": "foo[*][0][1]",
+ "result": ["two", "six"]
+ },
+ {
+ "expression": "foo[*][1][1]",
+ "result": ["four", "eight"]
+ },
+ {
+ "expression": "foo[*][2]",
+ "result": []
+ },
+ {
+ "expression": "foo[*][2][2]",
+ "result": []
+ },
+ {
+ "expression": "bar[*]",
+ "result": null
+ },
+ {
+ "expression": "bar[*].baz[*]",
+ "result": null
+ }
+ ]
+},
+{
+ "given": {
+ "string": "string",
+ "hash": {"foo": "bar", "bar": "baz"},
+ "number": 23,
+ "nullvalue": null
+ },
+ "cases": [
+ {
+ "expression": "string[*]",
+ "result": null
+ },
+ {
+ "expression": "hash[*]",
+ "result": null
+ },
+ {
+ "expression": "number[*]",
+ "result": null
+ },
+ {
+ "expression": "nullvalue[*]",
+ "result": null
+ },
+ {
+ "expression": "string[*].foo",
+ "result": null
+ },
+ {
+ "expression": "hash[*].foo",
+ "result": null
+ },
+ {
+ "expression": "number[*].foo",
+ "result": null
+ },
+ {
+ "expression": "nullvalue[*].foo",
+ "result": null
+ },
+ {
+ "expression": "nullvalue[*].foo[*].bar",
+ "result": null
+ }
+ ]
+},
+{
+ "given": {
+ "string": "string",
+ "hash": {"foo": "val", "bar": "val"},
+ "number": 23,
+ "array": [1, 2, 3],
+ "nullvalue": null
+ },
+ "cases": [
+ {
+ "expression": "string.*",
+ "result": null
+ },
+ {
+ "expression": "hash.*",
+ "result": ["val", "val"]
+ },
+ {
+ "expression": "number.*",
+ "result": null
+ },
+ {
+ "expression": "array.*",
+ "result": null
+ },
+ {
+ "expression": "nullvalue.*",
+ "result": null
+ }
+ ]
+},
+{
+ "given": {
+ "a": [0, 1, 2],
+ "b": [0, 1, 2]
+ },
+ "cases": [
+ {
+ "expression": "*[0]",
+ "result": [0, 0]
+ }
+ ]
+}
+]
diff --git a/vendor/github.com/jmespath/go-jmespath/compliance_test.go b/vendor/github.com/jmespath/go-jmespath/compliance_test.go
new file mode 100644
index 00000000..4ee9c959
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/compliance_test.go
@@ -0,0 +1,123 @@
+package jmespath
+
+import (
+ "encoding/json"
+ "fmt"
+ "io/ioutil"
+ "os"
+ "path/filepath"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+type TestSuite struct {
+ Given interface{}
+ TestCases []TestCase `json:"cases"`
+ Comment string
+}
+type TestCase struct {
+ Comment string
+ Expression string
+ Result interface{}
+ Error string
+}
+
+var whiteListed = []string{
+ "compliance/basic.json",
+ "compliance/current.json",
+ "compliance/escape.json",
+ "compliance/filters.json",
+ "compliance/functions.json",
+ "compliance/identifiers.json",
+ "compliance/indices.json",
+ "compliance/literal.json",
+ "compliance/multiselect.json",
+ "compliance/ormatch.json",
+ "compliance/pipe.json",
+ "compliance/slice.json",
+ "compliance/syntax.json",
+ "compliance/unicode.json",
+ "compliance/wildcard.json",
+ "compliance/boolean.json",
+}
+
+func allowed(path string) bool {
+ for _, el := range whiteListed {
+ if el == path {
+ return true
+ }
+ }
+ return false
+}
+
+func TestCompliance(t *testing.T) {
+ assert := assert.New(t)
+
+ var complianceFiles []string
+ err := filepath.Walk("compliance", func(path string, _ os.FileInfo, _ error) error {
+ //if strings.HasSuffix(path, ".json") {
+ if allowed(path) {
+ complianceFiles = append(complianceFiles, path)
+ }
+ return nil
+ })
+ if assert.Nil(err) {
+ for _, filename := range complianceFiles {
+ runComplianceTest(assert, filename)
+ }
+ }
+}
+
+func runComplianceTest(assert *assert.Assertions, filename string) {
+ var testSuites []TestSuite
+ data, err := ioutil.ReadFile(filename)
+ if assert.Nil(err) {
+ err := json.Unmarshal(data, &testSuites)
+ if assert.Nil(err) {
+ for _, testsuite := range testSuites {
+ runTestSuite(assert, testsuite, filename)
+ }
+ }
+ }
+}
+
+func runTestSuite(assert *assert.Assertions, testsuite TestSuite, filename string) {
+ for _, testcase := range testsuite.TestCases {
+ if testcase.Error != "" {
+ // This is a test case that verifies we error out properly.
+ runSyntaxTestCase(assert, testsuite.Given, testcase, filename)
+ } else {
+ runTestCase(assert, testsuite.Given, testcase, filename)
+ }
+ }
+}
+
+func runSyntaxTestCase(assert *assert.Assertions, given interface{}, testcase TestCase, filename string) {
+ // Anything with an .Error means that we expect that JMESPath should return
+ // an error when we try to evaluate the expression.
+ _, err := Search(testcase.Expression, given)
+ assert.NotNil(err, fmt.Sprintf("Expression: %s", testcase.Expression))
+}
+
+func runTestCase(assert *assert.Assertions, given interface{}, testcase TestCase, filename string) {
+ lexer := NewLexer()
+ var err error
+ _, err = lexer.tokenize(testcase.Expression)
+ if err != nil {
+ errMsg := fmt.Sprintf("(%s) Could not lex expression: %s -- %s", filename, testcase.Expression, err.Error())
+ assert.Fail(errMsg)
+ return
+ }
+ parser := NewParser()
+ _, err = parser.Parse(testcase.Expression)
+ if err != nil {
+ errMsg := fmt.Sprintf("(%s) Could not parse expression: %s -- %s", filename, testcase.Expression, err.Error())
+ assert.Fail(errMsg)
+ return
+ }
+ actual, err := Search(testcase.Expression, given)
+ if assert.Nil(err, fmt.Sprintf("Expression: %s", testcase.Expression)) {
+ assert.Equal(testcase.Result, actual, fmt.Sprintf("Expression: %s", testcase.Expression))
+ }
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/functions.go b/vendor/github.com/jmespath/go-jmespath/functions.go
new file mode 100644
index 00000000..9b7cd89b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/functions.go
@@ -0,0 +1,842 @@
+package jmespath
+
+import (
+ "encoding/json"
+ "errors"
+ "fmt"
+ "math"
+ "reflect"
+ "sort"
+ "strconv"
+ "strings"
+ "unicode/utf8"
+)
+
+type jpFunction func(arguments []interface{}) (interface{}, error)
+
+type jpType string
+
+const (
+ jpUnknown jpType = "unknown"
+ jpNumber jpType = "number"
+ jpString jpType = "string"
+ jpArray jpType = "array"
+ jpObject jpType = "object"
+ jpArrayNumber jpType = "array[number]"
+ jpArrayString jpType = "array[string]"
+ jpExpref jpType = "expref"
+ jpAny jpType = "any"
+)
+
+type functionEntry struct {
+ name string
+ arguments []argSpec
+ handler jpFunction
+ hasExpRef bool
+}
+
+type argSpec struct {
+ types []jpType
+ variadic bool
+}
+
+type byExprString struct {
+ intr *treeInterpreter
+ node ASTNode
+ items []interface{}
+ hasError bool
+}
+
+func (a *byExprString) Len() int {
+ return len(a.items)
+}
+func (a *byExprString) Swap(i, j int) {
+ a.items[i], a.items[j] = a.items[j], a.items[i]
+}
+func (a *byExprString) Less(i, j int) bool {
+ first, err := a.intr.Execute(a.node, a.items[i])
+ if err != nil {
+ a.hasError = true
+ // Return a dummy value.
+ return true
+ }
+ ith, ok := first.(string)
+ if !ok {
+ a.hasError = true
+ return true
+ }
+ second, err := a.intr.Execute(a.node, a.items[j])
+ if err != nil {
+ a.hasError = true
+ // Return a dummy value.
+ return true
+ }
+ jth, ok := second.(string)
+ if !ok {
+ a.hasError = true
+ return true
+ }
+ return ith < jth
+}
+
+type byExprFloat struct {
+ intr *treeInterpreter
+ node ASTNode
+ items []interface{}
+ hasError bool
+}
+
+func (a *byExprFloat) Len() int {
+ return len(a.items)
+}
+func (a *byExprFloat) Swap(i, j int) {
+ a.items[i], a.items[j] = a.items[j], a.items[i]
+}
+func (a *byExprFloat) Less(i, j int) bool {
+ first, err := a.intr.Execute(a.node, a.items[i])
+ if err != nil {
+ a.hasError = true
+ // Return a dummy value.
+ return true
+ }
+ ith, ok := first.(float64)
+ if !ok {
+ a.hasError = true
+ return true
+ }
+ second, err := a.intr.Execute(a.node, a.items[j])
+ if err != nil {
+ a.hasError = true
+ // Return a dummy value.
+ return true
+ }
+ jth, ok := second.(float64)
+ if !ok {
+ a.hasError = true
+ return true
+ }
+ return ith < jth
+}
+
+type functionCaller struct {
+ functionTable map[string]functionEntry
+}
+
+func newFunctionCaller() *functionCaller {
+ caller := &functionCaller{}
+ caller.functionTable = map[string]functionEntry{
+ "length": {
+ name: "length",
+ arguments: []argSpec{
+ {types: []jpType{jpString, jpArray, jpObject}},
+ },
+ handler: jpfLength,
+ },
+ "starts_with": {
+ name: "starts_with",
+ arguments: []argSpec{
+ {types: []jpType{jpString}},
+ {types: []jpType{jpString}},
+ },
+ handler: jpfStartsWith,
+ },
+ "abs": {
+ name: "abs",
+ arguments: []argSpec{
+ {types: []jpType{jpNumber}},
+ },
+ handler: jpfAbs,
+ },
+ "avg": {
+ name: "avg",
+ arguments: []argSpec{
+ {types: []jpType{jpArrayNumber}},
+ },
+ handler: jpfAvg,
+ },
+ "ceil": {
+ name: "ceil",
+ arguments: []argSpec{
+ {types: []jpType{jpNumber}},
+ },
+ handler: jpfCeil,
+ },
+ "contains": {
+ name: "contains",
+ arguments: []argSpec{
+ {types: []jpType{jpArray, jpString}},
+ {types: []jpType{jpAny}},
+ },
+ handler: jpfContains,
+ },
+ "ends_with": {
+ name: "ends_with",
+ arguments: []argSpec{
+ {types: []jpType{jpString}},
+ {types: []jpType{jpString}},
+ },
+ handler: jpfEndsWith,
+ },
+ "floor": {
+ name: "floor",
+ arguments: []argSpec{
+ {types: []jpType{jpNumber}},
+ },
+ handler: jpfFloor,
+ },
+ "map": {
+ name: "amp",
+ arguments: []argSpec{
+ {types: []jpType{jpExpref}},
+ {types: []jpType{jpArray}},
+ },
+ handler: jpfMap,
+ hasExpRef: true,
+ },
+ "max": {
+ name: "max",
+ arguments: []argSpec{
+ {types: []jpType{jpArrayNumber, jpArrayString}},
+ },
+ handler: jpfMax,
+ },
+ "merge": {
+ name: "merge",
+ arguments: []argSpec{
+ {types: []jpType{jpObject}, variadic: true},
+ },
+ handler: jpfMerge,
+ },
+ "max_by": {
+ name: "max_by",
+ arguments: []argSpec{
+ {types: []jpType{jpArray}},
+ {types: []jpType{jpExpref}},
+ },
+ handler: jpfMaxBy,
+ hasExpRef: true,
+ },
+ "sum": {
+ name: "sum",
+ arguments: []argSpec{
+ {types: []jpType{jpArrayNumber}},
+ },
+ handler: jpfSum,
+ },
+ "min": {
+ name: "min",
+ arguments: []argSpec{
+ {types: []jpType{jpArrayNumber, jpArrayString}},
+ },
+ handler: jpfMin,
+ },
+ "min_by": {
+ name: "min_by",
+ arguments: []argSpec{
+ {types: []jpType{jpArray}},
+ {types: []jpType{jpExpref}},
+ },
+ handler: jpfMinBy,
+ hasExpRef: true,
+ },
+ "type": {
+ name: "type",
+ arguments: []argSpec{
+ {types: []jpType{jpAny}},
+ },
+ handler: jpfType,
+ },
+ "keys": {
+ name: "keys",
+ arguments: []argSpec{
+ {types: []jpType{jpObject}},
+ },
+ handler: jpfKeys,
+ },
+ "values": {
+ name: "values",
+ arguments: []argSpec{
+ {types: []jpType{jpObject}},
+ },
+ handler: jpfValues,
+ },
+ "sort": {
+ name: "sort",
+ arguments: []argSpec{
+ {types: []jpType{jpArrayString, jpArrayNumber}},
+ },
+ handler: jpfSort,
+ },
+ "sort_by": {
+ name: "sort_by",
+ arguments: []argSpec{
+ {types: []jpType{jpArray}},
+ {types: []jpType{jpExpref}},
+ },
+ handler: jpfSortBy,
+ hasExpRef: true,
+ },
+ "join": {
+ name: "join",
+ arguments: []argSpec{
+ {types: []jpType{jpString}},
+ {types: []jpType{jpArrayString}},
+ },
+ handler: jpfJoin,
+ },
+ "reverse": {
+ name: "reverse",
+ arguments: []argSpec{
+ {types: []jpType{jpArray, jpString}},
+ },
+ handler: jpfReverse,
+ },
+ "to_array": {
+ name: "to_array",
+ arguments: []argSpec{
+ {types: []jpType{jpAny}},
+ },
+ handler: jpfToArray,
+ },
+ "to_string": {
+ name: "to_string",
+ arguments: []argSpec{
+ {types: []jpType{jpAny}},
+ },
+ handler: jpfToString,
+ },
+ "to_number": {
+ name: "to_number",
+ arguments: []argSpec{
+ {types: []jpType{jpAny}},
+ },
+ handler: jpfToNumber,
+ },
+ "not_null": {
+ name: "not_null",
+ arguments: []argSpec{
+ {types: []jpType{jpAny}, variadic: true},
+ },
+ handler: jpfNotNull,
+ },
+ }
+ return caller
+}
+
+func (e *functionEntry) resolveArgs(arguments []interface{}) ([]interface{}, error) {
+ if len(e.arguments) == 0 {
+ return arguments, nil
+ }
+ if !e.arguments[len(e.arguments)-1].variadic {
+ if len(e.arguments) != len(arguments) {
+ return nil, errors.New("incorrect number of args")
+ }
+ for i, spec := range e.arguments {
+ userArg := arguments[i]
+ err := spec.typeCheck(userArg)
+ if err != nil {
+ return nil, err
+ }
+ }
+ return arguments, nil
+ }
+ if len(arguments) < len(e.arguments) {
+ return nil, errors.New("Invalid arity.")
+ }
+ return arguments, nil
+}
+
+func (a *argSpec) typeCheck(arg interface{}) error {
+ for _, t := range a.types {
+ switch t {
+ case jpNumber:
+ if _, ok := arg.(float64); ok {
+ return nil
+ }
+ case jpString:
+ if _, ok := arg.(string); ok {
+ return nil
+ }
+ case jpArray:
+ if isSliceType(arg) {
+ return nil
+ }
+ case jpObject:
+ if _, ok := arg.(map[string]interface{}); ok {
+ return nil
+ }
+ case jpArrayNumber:
+ if _, ok := toArrayNum(arg); ok {
+ return nil
+ }
+ case jpArrayString:
+ if _, ok := toArrayStr(arg); ok {
+ return nil
+ }
+ case jpAny:
+ return nil
+ case jpExpref:
+ if _, ok := arg.(expRef); ok {
+ return nil
+ }
+ }
+ }
+ return fmt.Errorf("Invalid type for: %v, expected: %#v", arg, a.types)
+}
+
+func (f *functionCaller) CallFunction(name string, arguments []interface{}, intr *treeInterpreter) (interface{}, error) {
+ entry, ok := f.functionTable[name]
+ if !ok {
+ return nil, errors.New("unknown function: " + name)
+ }
+ resolvedArgs, err := entry.resolveArgs(arguments)
+ if err != nil {
+ return nil, err
+ }
+ if entry.hasExpRef {
+ var extra []interface{}
+ extra = append(extra, intr)
+ resolvedArgs = append(extra, resolvedArgs...)
+ }
+ return entry.handler(resolvedArgs)
+}
+
+func jpfAbs(arguments []interface{}) (interface{}, error) {
+ num := arguments[0].(float64)
+ return math.Abs(num), nil
+}
+
+func jpfLength(arguments []interface{}) (interface{}, error) {
+ arg := arguments[0]
+ if c, ok := arg.(string); ok {
+ return float64(utf8.RuneCountInString(c)), nil
+ } else if isSliceType(arg) {
+ v := reflect.ValueOf(arg)
+ return float64(v.Len()), nil
+ } else if c, ok := arg.(map[string]interface{}); ok {
+ return float64(len(c)), nil
+ }
+ return nil, errors.New("could not compute length()")
+}
+
+func jpfStartsWith(arguments []interface{}) (interface{}, error) {
+ search := arguments[0].(string)
+ prefix := arguments[1].(string)
+ return strings.HasPrefix(search, prefix), nil
+}
+
+func jpfAvg(arguments []interface{}) (interface{}, error) {
+ // We've already type checked the value so we can safely use
+ // type assertions.
+ args := arguments[0].([]interface{})
+ length := float64(len(args))
+ numerator := 0.0
+ for _, n := range args {
+ numerator += n.(float64)
+ }
+ return numerator / length, nil
+}
+func jpfCeil(arguments []interface{}) (interface{}, error) {
+ val := arguments[0].(float64)
+ return math.Ceil(val), nil
+}
+func jpfContains(arguments []interface{}) (interface{}, error) {
+ search := arguments[0]
+ el := arguments[1]
+ if searchStr, ok := search.(string); ok {
+ if elStr, ok := el.(string); ok {
+ return strings.Index(searchStr, elStr) != -1, nil
+ }
+ return false, nil
+ }
+ // Otherwise this is a generic contains for []interface{}
+ general := search.([]interface{})
+ for _, item := range general {
+ if item == el {
+ return true, nil
+ }
+ }
+ return false, nil
+}
+func jpfEndsWith(arguments []interface{}) (interface{}, error) {
+ search := arguments[0].(string)
+ suffix := arguments[1].(string)
+ return strings.HasSuffix(search, suffix), nil
+}
+func jpfFloor(arguments []interface{}) (interface{}, error) {
+ val := arguments[0].(float64)
+ return math.Floor(val), nil
+}
+func jpfMap(arguments []interface{}) (interface{}, error) {
+ intr := arguments[0].(*treeInterpreter)
+ exp := arguments[1].(expRef)
+ node := exp.ref
+ arr := arguments[2].([]interface{})
+ mapped := make([]interface{}, 0, len(arr))
+ for _, value := range arr {
+ current, err := intr.Execute(node, value)
+ if err != nil {
+ return nil, err
+ }
+ mapped = append(mapped, current)
+ }
+ return mapped, nil
+}
+func jpfMax(arguments []interface{}) (interface{}, error) {
+ if items, ok := toArrayNum(arguments[0]); ok {
+ if len(items) == 0 {
+ return nil, nil
+ }
+ if len(items) == 1 {
+ return items[0], nil
+ }
+ best := items[0]
+ for _, item := range items[1:] {
+ if item > best {
+ best = item
+ }
+ }
+ return best, nil
+ }
+ // Otherwise we're dealing with a max() of strings.
+ items, _ := toArrayStr(arguments[0])
+ if len(items) == 0 {
+ return nil, nil
+ }
+ if len(items) == 1 {
+ return items[0], nil
+ }
+ best := items[0]
+ for _, item := range items[1:] {
+ if item > best {
+ best = item
+ }
+ }
+ return best, nil
+}
+func jpfMerge(arguments []interface{}) (interface{}, error) {
+ final := make(map[string]interface{})
+ for _, m := range arguments {
+ mapped := m.(map[string]interface{})
+ for key, value := range mapped {
+ final[key] = value
+ }
+ }
+ return final, nil
+}
+func jpfMaxBy(arguments []interface{}) (interface{}, error) {
+ intr := arguments[0].(*treeInterpreter)
+ arr := arguments[1].([]interface{})
+ exp := arguments[2].(expRef)
+ node := exp.ref
+ if len(arr) == 0 {
+ return nil, nil
+ } else if len(arr) == 1 {
+ return arr[0], nil
+ }
+ start, err := intr.Execute(node, arr[0])
+ if err != nil {
+ return nil, err
+ }
+ switch t := start.(type) {
+ case float64:
+ bestVal := t
+ bestItem := arr[0]
+ for _, item := range arr[1:] {
+ result, err := intr.Execute(node, item)
+ if err != nil {
+ return nil, err
+ }
+ current, ok := result.(float64)
+ if !ok {
+ return nil, errors.New("invalid type, must be number")
+ }
+ if current > bestVal {
+ bestVal = current
+ bestItem = item
+ }
+ }
+ return bestItem, nil
+ case string:
+ bestVal := t
+ bestItem := arr[0]
+ for _, item := range arr[1:] {
+ result, err := intr.Execute(node, item)
+ if err != nil {
+ return nil, err
+ }
+ current, ok := result.(string)
+ if !ok {
+ return nil, errors.New("invalid type, must be string")
+ }
+ if current > bestVal {
+ bestVal = current
+ bestItem = item
+ }
+ }
+ return bestItem, nil
+ default:
+ return nil, errors.New("invalid type, must be number of string")
+ }
+}
+func jpfSum(arguments []interface{}) (interface{}, error) {
+ items, _ := toArrayNum(arguments[0])
+ sum := 0.0
+ for _, item := range items {
+ sum += item
+ }
+ return sum, nil
+}
+
+func jpfMin(arguments []interface{}) (interface{}, error) {
+ if items, ok := toArrayNum(arguments[0]); ok {
+ if len(items) == 0 {
+ return nil, nil
+ }
+ if len(items) == 1 {
+ return items[0], nil
+ }
+ best := items[0]
+ for _, item := range items[1:] {
+ if item < best {
+ best = item
+ }
+ }
+ return best, nil
+ }
+ items, _ := toArrayStr(arguments[0])
+ if len(items) == 0 {
+ return nil, nil
+ }
+ if len(items) == 1 {
+ return items[0], nil
+ }
+ best := items[0]
+ for _, item := range items[1:] {
+ if item < best {
+ best = item
+ }
+ }
+ return best, nil
+}
+
+func jpfMinBy(arguments []interface{}) (interface{}, error) {
+ intr := arguments[0].(*treeInterpreter)
+ arr := arguments[1].([]interface{})
+ exp := arguments[2].(expRef)
+ node := exp.ref
+ if len(arr) == 0 {
+ return nil, nil
+ } else if len(arr) == 1 {
+ return arr[0], nil
+ }
+ start, err := intr.Execute(node, arr[0])
+ if err != nil {
+ return nil, err
+ }
+ if t, ok := start.(float64); ok {
+ bestVal := t
+ bestItem := arr[0]
+ for _, item := range arr[1:] {
+ result, err := intr.Execute(node, item)
+ if err != nil {
+ return nil, err
+ }
+ current, ok := result.(float64)
+ if !ok {
+ return nil, errors.New("invalid type, must be number")
+ }
+ if current < bestVal {
+ bestVal = current
+ bestItem = item
+ }
+ }
+ return bestItem, nil
+ } else if t, ok := start.(string); ok {
+ bestVal := t
+ bestItem := arr[0]
+ for _, item := range arr[1:] {
+ result, err := intr.Execute(node, item)
+ if err != nil {
+ return nil, err
+ }
+ current, ok := result.(string)
+ if !ok {
+ return nil, errors.New("invalid type, must be string")
+ }
+ if current < bestVal {
+ bestVal = current
+ bestItem = item
+ }
+ }
+ return bestItem, nil
+ } else {
+ return nil, errors.New("invalid type, must be number of string")
+ }
+}
+func jpfType(arguments []interface{}) (interface{}, error) {
+ arg := arguments[0]
+ if _, ok := arg.(float64); ok {
+ return "number", nil
+ }
+ if _, ok := arg.(string); ok {
+ return "string", nil
+ }
+ if _, ok := arg.([]interface{}); ok {
+ return "array", nil
+ }
+ if _, ok := arg.(map[string]interface{}); ok {
+ return "object", nil
+ }
+ if arg == nil {
+ return "null", nil
+ }
+ if arg == true || arg == false {
+ return "boolean", nil
+ }
+ return nil, errors.New("unknown type")
+}
+func jpfKeys(arguments []interface{}) (interface{}, error) {
+ arg := arguments[0].(map[string]interface{})
+ collected := make([]interface{}, 0, len(arg))
+ for key := range arg {
+ collected = append(collected, key)
+ }
+ return collected, nil
+}
+func jpfValues(arguments []interface{}) (interface{}, error) {
+ arg := arguments[0].(map[string]interface{})
+ collected := make([]interface{}, 0, len(arg))
+ for _, value := range arg {
+ collected = append(collected, value)
+ }
+ return collected, nil
+}
+func jpfSort(arguments []interface{}) (interface{}, error) {
+ if items, ok := toArrayNum(arguments[0]); ok {
+ d := sort.Float64Slice(items)
+ sort.Stable(d)
+ final := make([]interface{}, len(d))
+ for i, val := range d {
+ final[i] = val
+ }
+ return final, nil
+ }
+ // Otherwise we're dealing with sort()'ing strings.
+ items, _ := toArrayStr(arguments[0])
+ d := sort.StringSlice(items)
+ sort.Stable(d)
+ final := make([]interface{}, len(d))
+ for i, val := range d {
+ final[i] = val
+ }
+ return final, nil
+}
+func jpfSortBy(arguments []interface{}) (interface{}, error) {
+ intr := arguments[0].(*treeInterpreter)
+ arr := arguments[1].([]interface{})
+ exp := arguments[2].(expRef)
+ node := exp.ref
+ if len(arr) == 0 {
+ return arr, nil
+ } else if len(arr) == 1 {
+ return arr, nil
+ }
+ start, err := intr.Execute(node, arr[0])
+ if err != nil {
+ return nil, err
+ }
+ if _, ok := start.(float64); ok {
+ sortable := &byExprFloat{intr, node, arr, false}
+ sort.Stable(sortable)
+ if sortable.hasError {
+ return nil, errors.New("error in sort_by comparison")
+ }
+ return arr, nil
+ } else if _, ok := start.(string); ok {
+ sortable := &byExprString{intr, node, arr, false}
+ sort.Stable(sortable)
+ if sortable.hasError {
+ return nil, errors.New("error in sort_by comparison")
+ }
+ return arr, nil
+ } else {
+ return nil, errors.New("invalid type, must be number of string")
+ }
+}
+func jpfJoin(arguments []interface{}) (interface{}, error) {
+ sep := arguments[0].(string)
+ // We can't just do arguments[1].([]string), we have to
+ // manually convert each item to a string.
+ arrayStr := []string{}
+ for _, item := range arguments[1].([]interface{}) {
+ arrayStr = append(arrayStr, item.(string))
+ }
+ return strings.Join(arrayStr, sep), nil
+}
+func jpfReverse(arguments []interface{}) (interface{}, error) {
+ if s, ok := arguments[0].(string); ok {
+ r := []rune(s)
+ for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
+ r[i], r[j] = r[j], r[i]
+ }
+ return string(r), nil
+ }
+ items := arguments[0].([]interface{})
+ length := len(items)
+ reversed := make([]interface{}, length)
+ for i, item := range items {
+ reversed[length-(i+1)] = item
+ }
+ return reversed, nil
+}
+func jpfToArray(arguments []interface{}) (interface{}, error) {
+ if _, ok := arguments[0].([]interface{}); ok {
+ return arguments[0], nil
+ }
+ return arguments[:1:1], nil
+}
+func jpfToString(arguments []interface{}) (interface{}, error) {
+ if v, ok := arguments[0].(string); ok {
+ return v, nil
+ }
+ result, err := json.Marshal(arguments[0])
+ if err != nil {
+ return nil, err
+ }
+ return string(result), nil
+}
+func jpfToNumber(arguments []interface{}) (interface{}, error) {
+ arg := arguments[0]
+ if v, ok := arg.(float64); ok {
+ return v, nil
+ }
+ if v, ok := arg.(string); ok {
+ conv, err := strconv.ParseFloat(v, 64)
+ if err != nil {
+ return nil, nil
+ }
+ return conv, nil
+ }
+ if _, ok := arg.([]interface{}); ok {
+ return nil, nil
+ }
+ if _, ok := arg.(map[string]interface{}); ok {
+ return nil, nil
+ }
+ if arg == nil {
+ return nil, nil
+ }
+ if arg == true || arg == false {
+ return nil, nil
+ }
+ return nil, errors.New("unknown type")
+}
+func jpfNotNull(arguments []interface{}) (interface{}, error) {
+ for _, arg := range arguments {
+ if arg != nil {
+ return arg, nil
+ }
+ }
+ return nil, nil
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/jmespath.go b/vendor/github.com/jmespath/go-jmespath/fuzz/jmespath.go
new file mode 100644
index 00000000..c7df0878
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/jmespath.go
@@ -0,0 +1,13 @@
+package jmespath
+
+import "github.com/jmespath/go-jmespath"
+
+// Fuzz will fuzz test the JMESPath parser.
+func Fuzz(data []byte) int {
+ p := jmespath.NewParser()
+ _, err := p.Parse(string(data))
+ if err != nil {
+ return 1
+ }
+ return 0
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1
new file mode 100644
index 00000000..19102815
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1
@@ -0,0 +1 @@
+foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-10 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-10
new file mode 100644
index 00000000..4d5f9756
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-10
@@ -0,0 +1 @@
+foo.bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-100 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-100
new file mode 100644
index 00000000..bc4f6a3f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-100
@@ -0,0 +1 @@
+ends_with(str, 'SStr') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-101 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-101
new file mode 100644
index 00000000..81bf07a7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-101
@@ -0,0 +1 @@
+ends_with(str, 'foo') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-102 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-102
new file mode 100644
index 00000000..3225de91
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-102
@@ -0,0 +1 @@
+floor(`1.2`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-103 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-103
new file mode 100644
index 00000000..8cac9595
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-103
@@ -0,0 +1 @@
+floor(decimals[0]) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-104 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-104
new file mode 100644
index 00000000..bd76f47e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-104
@@ -0,0 +1 @@
+floor(foo) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-105 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-105
new file mode 100644
index 00000000..c719add3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-105
@@ -0,0 +1 @@
+length('abc') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-106 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-106
new file mode 100644
index 00000000..ff12f04f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-106
@@ -0,0 +1 @@
+length('') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-107 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-107
new file mode 100644
index 00000000..0eccba1d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-107
@@ -0,0 +1 @@
+length(@) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-108 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-108
new file mode 100644
index 00000000..ab14b0fa
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-108
@@ -0,0 +1 @@
+length(strings[0]) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-109 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-109
new file mode 100644
index 00000000..f1514bb7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-109
@@ -0,0 +1 @@
+length(str) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-110 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-110
new file mode 100644
index 00000000..09276059
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-110
@@ -0,0 +1 @@
+length(array) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-112 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-112
new file mode 100644
index 00000000..ab14b0fa
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-112
@@ -0,0 +1 @@
+length(strings[0]) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-115 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-115
new file mode 100644
index 00000000..bfb41ae9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-115
@@ -0,0 +1 @@
+max(strings) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-118 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-118
new file mode 100644
index 00000000..915ec172
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-118
@@ -0,0 +1 @@
+merge(`{}`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-119 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-119
new file mode 100644
index 00000000..5b74e9b5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-119
@@ -0,0 +1 @@
+merge(`{}`, `{}`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-12 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-12
new file mode 100644
index 00000000..64c5e588
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-12
@@ -0,0 +1 @@
+two \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-120 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-120
new file mode 100644
index 00000000..f34dcd8f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-120
@@ -0,0 +1 @@
+merge(`{"a": 1}`, `{"b": 2}`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-121 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-121
new file mode 100644
index 00000000..e335dc96
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-121
@@ -0,0 +1 @@
+merge(`{"a": 1}`, `{"a": 2}`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-122 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-122
new file mode 100644
index 00000000..aac28fff
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-122
@@ -0,0 +1 @@
+merge(`{"a": 1, "b": 2}`, `{"a": 2, "c": 3}`, `{"d": 4}`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-123 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-123
new file mode 100644
index 00000000..1c6fd671
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-123
@@ -0,0 +1 @@
+min(numbers) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-126 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-126
new file mode 100644
index 00000000..93e68db7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-126
@@ -0,0 +1 @@
+min(decimals) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-128 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-128
new file mode 100644
index 00000000..554601ea
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-128
@@ -0,0 +1 @@
+type('abc') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-129 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-129
new file mode 100644
index 00000000..1ab2d983
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-129
@@ -0,0 +1 @@
+type(`1.0`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-13 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-13
new file mode 100644
index 00000000..1d19714f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-13
@@ -0,0 +1 @@
+three \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-130 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-130
new file mode 100644
index 00000000..3cee2f56
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-130
@@ -0,0 +1 @@
+type(`2`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-131 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-131
new file mode 100644
index 00000000..4821f9ae
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-131
@@ -0,0 +1 @@
+type(`true`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-132 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-132
new file mode 100644
index 00000000..40b6913a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-132
@@ -0,0 +1 @@
+type(`false`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-133 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-133
new file mode 100644
index 00000000..c711252b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-133
@@ -0,0 +1 @@
+type(`null`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-134 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-134
new file mode 100644
index 00000000..ec5d07e9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-134
@@ -0,0 +1 @@
+type(`[0]`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-135 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-135
new file mode 100644
index 00000000..2080401e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-135
@@ -0,0 +1 @@
+type(`{"a": "b"}`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-136 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-136
new file mode 100644
index 00000000..c5ee2ba5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-136
@@ -0,0 +1 @@
+type(@) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-137 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-137
new file mode 100644
index 00000000..1814ca17
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-137
@@ -0,0 +1 @@
+keys(objects) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-138 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-138
new file mode 100644
index 00000000..e03cdb0d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-138
@@ -0,0 +1 @@
+values(objects) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-139 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-139
new file mode 100644
index 00000000..7fea8d2c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-139
@@ -0,0 +1 @@
+keys(empty_hash) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-14 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-14
new file mode 100644
index 00000000..a17c92f5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-14
@@ -0,0 +1 @@
+one.two \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-140 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-140
new file mode 100644
index 00000000..4f1d882a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-140
@@ -0,0 +1 @@
+join(', ', strings) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-141 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-141
new file mode 100644
index 00000000..4f1d882a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-141
@@ -0,0 +1 @@
+join(', ', strings) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-142 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-142
new file mode 100644
index 00000000..19ec1fe0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-142
@@ -0,0 +1 @@
+join(',', `["a", "b"]`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-143 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-143
new file mode 100644
index 00000000..761c68a6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-143
@@ -0,0 +1 @@
+join('|', strings) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-144 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-144
new file mode 100644
index 00000000..a0dd68ea
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-144
@@ -0,0 +1 @@
+join('|', decimals[].to_string(@)) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-145 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-145
new file mode 100644
index 00000000..a4190b2b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-145
@@ -0,0 +1 @@
+join('|', empty_list) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-146 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-146
new file mode 100644
index 00000000..f5033c30
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-146
@@ -0,0 +1 @@
+reverse(numbers) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-147 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-147
new file mode 100644
index 00000000..822f054d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-147
@@ -0,0 +1 @@
+reverse(array) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-148 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-148
new file mode 100644
index 00000000..a584adcc
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-148
@@ -0,0 +1 @@
+reverse(`[]`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-149 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-149
new file mode 100644
index 00000000..fb4cc5dc
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-149
@@ -0,0 +1 @@
+reverse('') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-15 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-15
new file mode 100644
index 00000000..693f9549
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-15
@@ -0,0 +1 @@
+foo."1" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-150 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-150
new file mode 100644
index 00000000..aa260fab
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-150
@@ -0,0 +1 @@
+reverse('hello world') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-151 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-151
new file mode 100644
index 00000000..d8c58826
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-151
@@ -0,0 +1 @@
+starts_with(str, 'S') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-152 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-152
new file mode 100644
index 00000000..32e16b7b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-152
@@ -0,0 +1 @@
+starts_with(str, 'St') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-153 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-153
new file mode 100644
index 00000000..5f575ae7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-153
@@ -0,0 +1 @@
+starts_with(str, 'Str') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-155 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-155
new file mode 100644
index 00000000..f31551c6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-155
@@ -0,0 +1 @@
+sum(numbers) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-156 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-156
new file mode 100644
index 00000000..18b90446
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-156
@@ -0,0 +1 @@
+sum(decimals) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-157 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-157
new file mode 100644
index 00000000..def4d0bc
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-157
@@ -0,0 +1 @@
+sum(array[].to_number(@)) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-158 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-158
new file mode 100644
index 00000000..48e4a770
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-158
@@ -0,0 +1 @@
+sum(`[]`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-159 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-159
new file mode 100644
index 00000000..9fb939a0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-159
@@ -0,0 +1 @@
+to_array('foo') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-16 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-16
new file mode 100644
index 00000000..86155ed7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-16
@@ -0,0 +1 @@
+foo."1"[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-160 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-160
new file mode 100644
index 00000000..74ba7cc6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-160
@@ -0,0 +1 @@
+to_array(`0`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-161 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-161
new file mode 100644
index 00000000..57f8b983
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-161
@@ -0,0 +1 @@
+to_array(objects) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-162 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-162
new file mode 100644
index 00000000..d17c7345
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-162
@@ -0,0 +1 @@
+to_array(`[1, 2, 3]`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-163 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-163
new file mode 100644
index 00000000..15f70f78
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-163
@@ -0,0 +1 @@
+to_array(false) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-164 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-164
new file mode 100644
index 00000000..9b227529
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-164
@@ -0,0 +1 @@
+to_string('foo') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-165 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-165
new file mode 100644
index 00000000..489a4293
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-165
@@ -0,0 +1 @@
+to_string(`1.2`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-166 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-166
new file mode 100644
index 00000000..d17106a0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-166
@@ -0,0 +1 @@
+to_string(`[0, 1]`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-167 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-167
new file mode 100644
index 00000000..4f4ae9e6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-167
@@ -0,0 +1 @@
+to_number('1.0') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-168 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-168
new file mode 100644
index 00000000..ce932e2e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-168
@@ -0,0 +1 @@
+to_number('1.1') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-169 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-169
new file mode 100644
index 00000000..e246fa4d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-169
@@ -0,0 +1 @@
+to_number('4') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-17 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-17
new file mode 100644
index 00000000..de0b4c39
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-17
@@ -0,0 +1 @@
+foo."-1" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-170 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-170
new file mode 100644
index 00000000..f8c26474
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-170
@@ -0,0 +1 @@
+to_number('notanumber') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-171 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-171
new file mode 100644
index 00000000..7d423b1c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-171
@@ -0,0 +1 @@
+to_number(`false`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-172 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-172
new file mode 100644
index 00000000..503716b6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-172
@@ -0,0 +1 @@
+to_number(`null`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-173 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-173
new file mode 100644
index 00000000..7f61dfa1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-173
@@ -0,0 +1 @@
+to_number(`[0]`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-174 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-174
new file mode 100644
index 00000000..ee72a8c0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-174
@@ -0,0 +1 @@
+to_number(`{"foo": 0}`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-175 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-175
new file mode 100644
index 00000000..8d8f1f75
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-175
@@ -0,0 +1 @@
+sort(numbers) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-178 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-178
new file mode 100644
index 00000000..8cb54ba4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-178
@@ -0,0 +1 @@
+sort(empty_list) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-179 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-179
new file mode 100644
index 00000000..cf2c9b1d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-179
@@ -0,0 +1 @@
+not_null(unknown_key, str) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-18 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-18
new file mode 100644
index 00000000..b516b2c4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-18
@@ -0,0 +1 @@
+@ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-180 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-180
new file mode 100644
index 00000000..e047d486
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-180
@@ -0,0 +1 @@
+not_null(unknown_key, foo.bar, empty_list, str) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-181 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-181
new file mode 100644
index 00000000..c4cc87b9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-181
@@ -0,0 +1 @@
+not_null(unknown_key, null_key, empty_list, str) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-182 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-182
new file mode 100644
index 00000000..2c7fa0a9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-182
@@ -0,0 +1 @@
+not_null(all, expressions, are_null) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-183 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-183
new file mode 100644
index 00000000..eb096e61
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-183
@@ -0,0 +1 @@
+numbers[].to_string(@) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-184 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-184
new file mode 100644
index 00000000..4958abae
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-184
@@ -0,0 +1 @@
+array[].to_number(@) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-185 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-185
new file mode 100644
index 00000000..10270847
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-185
@@ -0,0 +1 @@
+foo[].not_null(f, e, d, c, b, a) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-186 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-186
new file mode 100644
index 00000000..83cb9161
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-186
@@ -0,0 +1 @@
+sort_by(people, &age) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-187 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-187
new file mode 100644
index 00000000..a494d6c4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-187
@@ -0,0 +1 @@
+sort_by(people, &to_number(age_str)) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-188 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-188
new file mode 100644
index 00000000..2294fc54
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-188
@@ -0,0 +1 @@
+sort_by(people, &age)[].name \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-189 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-189
new file mode 100644
index 00000000..bb8c2b46
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-189
@@ -0,0 +1 @@
+sort_by(people, &age)[].extra \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-19 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-19
new file mode 100644
index 00000000..e3ed49ac
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-19
@@ -0,0 +1 @@
+@.bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-190 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-190
new file mode 100644
index 00000000..3ab02903
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-190
@@ -0,0 +1 @@
+sort_by(`[]`, &age) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-191 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-191
new file mode 100644
index 00000000..97db56f7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-191
@@ -0,0 +1 @@
+max_by(people, &age) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-192 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-192
new file mode 100644
index 00000000..a7e648de
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-192
@@ -0,0 +1 @@
+max_by(people, &age_str) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-193 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-193
new file mode 100644
index 00000000..be4348d0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-193
@@ -0,0 +1 @@
+max_by(people, &to_number(age_str)) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-194 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-194
new file mode 100644
index 00000000..a707283d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-194
@@ -0,0 +1 @@
+min_by(people, &age) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-195 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-195
new file mode 100644
index 00000000..2cd6618d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-195
@@ -0,0 +1 @@
+min_by(people, &age_str) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-196 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-196
new file mode 100644
index 00000000..833e6837
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-196
@@ -0,0 +1 @@
+min_by(people, &to_number(age_str)) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-198 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-198
new file mode 100644
index 00000000..706dbda8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-198
@@ -0,0 +1 @@
+__L \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-199 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-199
new file mode 100644
index 00000000..ca593ca9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-199
@@ -0,0 +1 @@
+"!\r" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2
new file mode 100644
index 00000000..4d5f9756
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2
@@ -0,0 +1 @@
+foo.bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-20 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-20
new file mode 100644
index 00000000..f300ab91
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-20
@@ -0,0 +1 @@
+@.foo[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-200 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-200
new file mode 100644
index 00000000..9c938435
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-200
@@ -0,0 +1 @@
+Y_1623 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-201 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-201
new file mode 100644
index 00000000..c1b0730e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-201
@@ -0,0 +1 @@
+x \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-202 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-202
new file mode 100644
index 00000000..1552ec63
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-202
@@ -0,0 +1 @@
+"\tF\uCebb" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-203 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-203
new file mode 100644
index 00000000..04704127
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-203
@@ -0,0 +1 @@
+" \t" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-204 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-204
new file mode 100644
index 00000000..efd782cc
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-204
@@ -0,0 +1 @@
+" " \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-205 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-205
new file mode 100644
index 00000000..8494ac27
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-205
@@ -0,0 +1 @@
+v2 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-206 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-206
new file mode 100644
index 00000000..c61f7f7e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-206
@@ -0,0 +1 @@
+"\t" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-207 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-207
new file mode 100644
index 00000000..f6055f18
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-207
@@ -0,0 +1 @@
+_X \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-208 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-208
new file mode 100644
index 00000000..4f58e0e7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-208
@@ -0,0 +1 @@
+"\t4\ud9da\udd15" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-209 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-209
new file mode 100644
index 00000000..f536bfbf
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-209
@@ -0,0 +1 @@
+v24_W \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-21 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-21
new file mode 100644
index 00000000..ef47ff2c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-21
@@ -0,0 +1 @@
+"foo.bar" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-210 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-210
new file mode 100644
index 00000000..69759281
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-210
@@ -0,0 +1 @@
+"H" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-211 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-211
new file mode 100644
index 00000000..c3e8b592
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-211
@@ -0,0 +1 @@
+"\f" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-212 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-212
new file mode 100644
index 00000000..24ecc222
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-212
@@ -0,0 +1 @@
+"E4" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-213 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-213
new file mode 100644
index 00000000..5693009d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-213
@@ -0,0 +1 @@
+"!" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-214 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-214
new file mode 100644
index 00000000..62dd220e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-214
@@ -0,0 +1 @@
+tM \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-215 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-215
new file mode 100644
index 00000000..3c1e81f5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-215
@@ -0,0 +1 @@
+" [" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-216 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-216
new file mode 100644
index 00000000..493daa67
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-216
@@ -0,0 +1 @@
+"R!" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-217 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-217
new file mode 100644
index 00000000..116b50ab
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-217
@@ -0,0 +1 @@
+_6W \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-218 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-218
new file mode 100644
index 00000000..0073fac4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-218
@@ -0,0 +1 @@
+"\uaBA1\r" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-219 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-219
new file mode 100644
index 00000000..00d8fa37
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-219
@@ -0,0 +1 @@
+tL7 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-22 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-22
new file mode 100644
index 00000000..661ebcfa
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-22
@@ -0,0 +1 @@
+"foo bar" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-220 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-220
new file mode 100644
index 00000000..c14f16e0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-220
@@ -0,0 +1 @@
+"<<U\t" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-221 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-221
new file mode 100644
index 00000000..080e5bb0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-221
@@ -0,0 +1 @@
+"\ubBcE\ufAfB" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-222 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-222
new file mode 100644
index 00000000..a42a6b01
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-222
@@ -0,0 +1 @@
+sNA_ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-223 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-223
new file mode 100644
index 00000000..099b20fa
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-223
@@ -0,0 +1 @@
+"9" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-224 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-224
new file mode 100644
index 00000000..8c57e792
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-224
@@ -0,0 +1 @@
+"\\\b\ud8cb\udc83" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-225 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-225
new file mode 100644
index 00000000..9fc53f26
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-225
@@ -0,0 +1 @@
+"r" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-226 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-226
new file mode 100644
index 00000000..866ad474
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-226
@@ -0,0 +1 @@
+Q \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-227 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-227
new file mode 100644
index 00000000..999d2f61
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-227
@@ -0,0 +1 @@
+_Q__7GL8 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-228 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-228
new file mode 100644
index 00000000..d58ac16b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-228
@@ -0,0 +1 @@
+"\\" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-229 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-229
new file mode 100644
index 00000000..b140e324
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-229
@@ -0,0 +1 @@
+RR9_ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-23 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-23
new file mode 100644
index 00000000..9fccfa41
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-23
@@ -0,0 +1 @@
+"foo\nbar" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-230 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-230
new file mode 100644
index 00000000..131f27f7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-230
@@ -0,0 +1 @@
+"\r\f:" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-231 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-231
new file mode 100644
index 00000000..094c0377
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-231
@@ -0,0 +1 @@
+r7 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-232 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-232
new file mode 100644
index 00000000..08ff0d95
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-232
@@ -0,0 +1 @@
+"-" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-233 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-233
new file mode 100644
index 00000000..ddba9ae3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-233
@@ -0,0 +1 @@
+p9 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-234 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-234
new file mode 100644
index 00000000..9b4441c8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-234
@@ -0,0 +1 @@
+__ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-235 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-235
new file mode 100644
index 00000000..9b485826
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-235
@@ -0,0 +1 @@
+"\b\t" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-236 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-236
new file mode 100644
index 00000000..6e0c0871
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-236
@@ -0,0 +1 @@
+O_ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-237 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-237
new file mode 100644
index 00000000..a7b2218b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-237
@@ -0,0 +1 @@
+_r_8 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-238 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-238
new file mode 100644
index 00000000..7df5b82a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-238
@@ -0,0 +1 @@
+_j \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-239 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-239
new file mode 100644
index 00000000..62540bff
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-239
@@ -0,0 +1 @@
+":" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-24 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-24
new file mode 100644
index 00000000..4ca810c5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-24
@@ -0,0 +1 @@
+"foo\"bar" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-240 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-240
new file mode 100644
index 00000000..34bdf712
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-240
@@ -0,0 +1 @@
+"\rB" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-241 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-241
new file mode 100644
index 00000000..a1af1502
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-241
@@ -0,0 +1 @@
+Obf \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-242 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-242
new file mode 100644
index 00000000..5a373848
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-242
@@ -0,0 +1 @@
+"\n" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-243 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-243
new file mode 100644
index 00000000..8ac9c199
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-243
@@ -0,0 +1 @@
+"\f󥌳" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-244 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-244
new file mode 100644
index 00000000..423a7b02
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-244
@@ -0,0 +1 @@
+"\\\u4FDc" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-245 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-245
new file mode 100644
index 00000000..c9d13372
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-245
@@ -0,0 +1 @@
+"\r" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-246 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-246
new file mode 100644
index 00000000..2da77934
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-246
@@ -0,0 +1 @@
+m_ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-247 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-247
new file mode 100644
index 00000000..92169e98
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-247
@@ -0,0 +1 @@
+"\r\fB " \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-248 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-248
new file mode 100644
index 00000000..9d7ed401
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-248
@@ -0,0 +1 @@
+"+\"\"" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-249 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-249
new file mode 100644
index 00000000..f5582b7a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-249
@@ -0,0 +1 @@
+Mg \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-25 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-25
new file mode 100644
index 00000000..e4754ec8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-25
@@ -0,0 +1 @@
+"c:\\\\windows\\path" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-250 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-250
new file mode 100644
index 00000000..f38d52e5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-250
@@ -0,0 +1 @@
+"\"!\/" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-251 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-251
new file mode 100644
index 00000000..01cee572
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-251
@@ -0,0 +1 @@
+"7\"" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-252 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-252
new file mode 100644
index 00000000..3582a4ee
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-252
@@ -0,0 +1 @@
+"\\󞢤S" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-253 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-253
new file mode 100644
index 00000000..a3ec2ed7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-253
@@ -0,0 +1 @@
+"\"" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-254 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-254
new file mode 100644
index 00000000..a6320e8d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-254
@@ -0,0 +1 @@
+Kl \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-255 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-255
new file mode 100644
index 00000000..265a6b0f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-255
@@ -0,0 +1 @@
+"\b\b" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-256 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-256
new file mode 100644
index 00000000..addaff95
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-256
@@ -0,0 +1 @@
+">" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-257 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-257
new file mode 100644
index 00000000..8a2443e6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-257
@@ -0,0 +1 @@
+hvu \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-258 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-258
new file mode 100644
index 00000000..c9ddacbb
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-258
@@ -0,0 +1 @@
+"; !" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-259 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-259
new file mode 100644
index 00000000..d0209c6d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-259
@@ -0,0 +1 @@
+hU \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-26 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-26
new file mode 100644
index 00000000..82649bd2
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-26
@@ -0,0 +1 @@
+"/unix/path" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-260 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-260
new file mode 100644
index 00000000..c07242aa
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-260
@@ -0,0 +1 @@
+"!I\n\/" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-261 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-261
new file mode 100644
index 00000000..7aae4eff
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-261
@@ -0,0 +1 @@
+"\uEEbF" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-262 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-262
new file mode 100644
index 00000000..c1574f35
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-262
@@ -0,0 +1 @@
+"U)\t" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-263 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-263
new file mode 100644
index 00000000..5197e3a2
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-263
@@ -0,0 +1 @@
+fa0_9 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-264 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-264
new file mode 100644
index 00000000..320558b0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-264
@@ -0,0 +1 @@
+"/" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-265 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-265
new file mode 100644
index 00000000..4a2cb086
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-265
@@ -0,0 +1 @@
+Gy \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-266 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-266
new file mode 100644
index 00000000..9524c838
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-266
@@ -0,0 +1 @@
+"\b" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-267 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-267
new file mode 100644
index 00000000..066b8d98
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-267
@@ -0,0 +1 @@
+"<" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-268 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-268
new file mode 100644
index 00000000..c61f7f7e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-268
@@ -0,0 +1 @@
+"\t" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-269 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-269
new file mode 100644
index 00000000..a582f62d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-269
@@ -0,0 +1 @@
+"\t&\\\r" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-27 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-27
new file mode 100644
index 00000000..a1d50731
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-27
@@ -0,0 +1 @@
+"\"\"\"" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-270 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-270
new file mode 100644
index 00000000..e3c5eede
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-270
@@ -0,0 +1 @@
+"#" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-271 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-271
new file mode 100644
index 00000000..e75309a5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-271
@@ -0,0 +1 @@
+B__ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-272 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-272
new file mode 100644
index 00000000..02717727
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-272
@@ -0,0 +1 @@
+"\nS \n" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-273 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-273
new file mode 100644
index 00000000..99432276
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-273
@@ -0,0 +1 @@
+Bp \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-274 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-274
new file mode 100644
index 00000000..d4f8a788
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-274
@@ -0,0 +1 @@
+",\t;" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-275 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-275
new file mode 100644
index 00000000..56c384f7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-275
@@ -0,0 +1 @@
+B_q \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-276 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-276
new file mode 100644
index 00000000..f093d2aa
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-276
@@ -0,0 +1 @@
+"\/+\t\n\b!Z" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-277 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-277
new file mode 100644
index 00000000..11e1229d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-277
@@ -0,0 +1 @@
+"󇟇\\ueFAc" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-278 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-278
new file mode 100644
index 00000000..90dbfcfc
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-278
@@ -0,0 +1 @@
+":\f" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-279 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-279
new file mode 100644
index 00000000..b06b8302
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-279
@@ -0,0 +1 @@
+"\/" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-28 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-28
new file mode 100644
index 00000000..5f55d73a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-28
@@ -0,0 +1 @@
+"bar"."baz" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-280 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-280
new file mode 100644
index 00000000..0e4bf7c1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-280
@@ -0,0 +1 @@
+_BW_6Hg_Gl \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-281 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-281
new file mode 100644
index 00000000..81bb45f8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-281
@@ -0,0 +1 @@
+"􃰂" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-282 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-282
new file mode 100644
index 00000000..d0b4de14
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-282
@@ -0,0 +1 @@
+zs1DC \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-283 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-283
new file mode 100644
index 00000000..68797580
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-283
@@ -0,0 +1 @@
+__434 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-284 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-284
new file mode 100644
index 00000000..e61be91c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-284
@@ -0,0 +1 @@
+"󵅁" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-285 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-285
new file mode 100644
index 00000000..026cb9cb
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-285
@@ -0,0 +1 @@
+Z_5 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-286 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-286
new file mode 100644
index 00000000..ca9587d0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-286
@@ -0,0 +1 @@
+z_M_ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-287 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-287
new file mode 100644
index 00000000..67f6d9c4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-287
@@ -0,0 +1 @@
+YU_2 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-288 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-288
new file mode 100644
index 00000000..927ab653
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-288
@@ -0,0 +1 @@
+_0 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-289 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-289
new file mode 100644
index 00000000..39307ab9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-289
@@ -0,0 +1 @@
+"\b+" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-29 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-29
new file mode 100644
index 00000000..8b0c5b41
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-29
@@ -0,0 +1 @@
+foo[?name == 'a'] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-290 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-290
new file mode 100644
index 00000000..a3ec2ed7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-290
@@ -0,0 +1 @@
+"\"" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-291 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-291
new file mode 100644
index 00000000..26bf7e12
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-291
@@ -0,0 +1 @@
+D7 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-292 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-292
new file mode 100644
index 00000000..d595c9f4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-292
@@ -0,0 +1 @@
+_62L \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-293 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-293
new file mode 100644
index 00000000..f6869694
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-293
@@ -0,0 +1 @@
+"\tK\t" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-294 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-294
new file mode 100644
index 00000000..f3a9b7ed
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-294
@@ -0,0 +1 @@
+"\n\\\f" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-295 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-295
new file mode 100644
index 00000000..455f00ff
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-295
@@ -0,0 +1 @@
+I_ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-296 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-296
new file mode 100644
index 00000000..ccd5968f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-296
@@ -0,0 +1 @@
+W_a0_ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-297 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-297
new file mode 100644
index 00000000..ee55c16f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-297
@@ -0,0 +1 @@
+BQ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-298 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-298
new file mode 100644
index 00000000..0d1a169a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-298
@@ -0,0 +1 @@
+"\tX$\uABBb" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-299 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-299
new file mode 100644
index 00000000..0573cfd7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-299
@@ -0,0 +1 @@
+Z9 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3
new file mode 100644
index 00000000..f0fcbd8e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3
@@ -0,0 +1 @@
+foo.bar.baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-30 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-30
new file mode 100644
index 00000000..4f8e6a17
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-30
@@ -0,0 +1 @@
+*[?[0] == `0`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-300 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-300
new file mode 100644
index 00000000..a0db02be
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-300
@@ -0,0 +1 @@
+"\b%\"򞄏" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-301 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-301
new file mode 100644
index 00000000..56032f7a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-301
@@ -0,0 +1 @@
+_F \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-302 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-302
new file mode 100644
index 00000000..4a8a3cff
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-302
@@ -0,0 +1 @@
+"!," \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-303 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-303
new file mode 100644
index 00000000..7c1efac0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-303
@@ -0,0 +1 @@
+"\"!" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-304 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-304
new file mode 100644
index 00000000..a0f489d5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-304
@@ -0,0 +1 @@
+Hh \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-305 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-305
new file mode 100644
index 00000000..c64e8d5a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-305
@@ -0,0 +1 @@
+"&" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-306 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-306
new file mode 100644
index 00000000..0567e992
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-306
@@ -0,0 +1 @@
+"9\r\\R" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-307 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-307
new file mode 100644
index 00000000..ce8245c5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-307
@@ -0,0 +1 @@
+M_k \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-308 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-308
new file mode 100644
index 00000000..8f16a5ac
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-308
@@ -0,0 +1 @@
+"!\b\n󑩒\"\"" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-309 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-309
new file mode 100644
index 00000000..504ff5ae
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-309
@@ -0,0 +1 @@
+"6" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-31 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-31
new file mode 100644
index 00000000..07fb5723
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-31
@@ -0,0 +1 @@
+foo[?first == last] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-310 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-310
new file mode 100644
index 00000000..533dd8e5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-310
@@ -0,0 +1 @@
+_7 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-311 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-311
new file mode 100644
index 00000000..1e4a3a34
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-311
@@ -0,0 +1 @@
+"0" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-312 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-312
new file mode 100644
index 00000000..37961f6c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-312
@@ -0,0 +1 @@
+"\\8\\" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-313 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-313
new file mode 100644
index 00000000..23480cff
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-313
@@ -0,0 +1 @@
+b7eo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-314 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-314
new file mode 100644
index 00000000..e609f81a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-314
@@ -0,0 +1 @@
+xIUo9 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-315 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-315
new file mode 100644
index 00000000..d89a25f0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-315
@@ -0,0 +1 @@
+"5" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-316 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-316
new file mode 100644
index 00000000..5adcf5e7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-316
@@ -0,0 +1 @@
+"?" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-317 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-317
new file mode 100644
index 00000000..ace4a897
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-317
@@ -0,0 +1 @@
+sU \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-318 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-318
new file mode 100644
index 00000000..feffb706
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-318
@@ -0,0 +1 @@
+"VH2&H\\\/" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-319 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-319
new file mode 100644
index 00000000..8223f1e5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-319
@@ -0,0 +1 @@
+_C \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-32 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-32
new file mode 100644
index 00000000..7e85c4bd
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-32
@@ -0,0 +1 @@
+foo[?first == last].first \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-320 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-320
new file mode 100644
index 00000000..c9cdc63b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-320
@@ -0,0 +1 @@
+_ \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-321 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-321
new file mode 100644
index 00000000..c82f7982
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-321
@@ -0,0 +1 @@
+"<\t" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-322 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-322
new file mode 100644
index 00000000..dae65c51
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-322
@@ -0,0 +1 @@
+"\uD834\uDD1E" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-323 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-323
new file mode 100644
index 00000000..b6b36954
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-323
@@ -0,0 +1 @@
+foo.bar[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-324 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-324
new file mode 100644
index 00000000..bf06e678
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-324
@@ -0,0 +1 @@
+foo.bar[1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-325 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-325
new file mode 100644
index 00000000..5d48e020
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-325
@@ -0,0 +1 @@
+foo.bar[2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-326 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-326
new file mode 100644
index 00000000..de3af723
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-326
@@ -0,0 +1 @@
+foo.bar[3] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-327 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-327
new file mode 100644
index 00000000..a1c33350
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-327
@@ -0,0 +1 @@
+foo.bar[-1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-328 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-328
new file mode 100644
index 00000000..ad0fef91
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-328
@@ -0,0 +1 @@
+foo.bar[-2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-329 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-329
new file mode 100644
index 00000000..3e83c6f7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-329
@@ -0,0 +1 @@
+foo.bar[-3] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-33 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-33
new file mode 100644
index 00000000..72fc0a53
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-33
@@ -0,0 +1 @@
+foo[?age > `25`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-330 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-330
new file mode 100644
index 00000000..433a737d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-330
@@ -0,0 +1 @@
+foo.bar[-4] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-331 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-331
new file mode 100644
index 00000000..4d5f9756
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-331
@@ -0,0 +1 @@
+foo.bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-332 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-332
new file mode 100644
index 00000000..5e0d9b71
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-332
@@ -0,0 +1 @@
+foo[0].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-333 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-333
new file mode 100644
index 00000000..3cd7e946
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-333
@@ -0,0 +1 @@
+foo[1].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-334 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-334
new file mode 100644
index 00000000..74cb1765
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-334
@@ -0,0 +1 @@
+foo[2].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-335 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-335
new file mode 100644
index 00000000..3cf2007f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-335
@@ -0,0 +1 @@
+foo[3].notbar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-336 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-336
new file mode 100644
index 00000000..9674d880
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-336
@@ -0,0 +1 @@
+foo[3].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-337 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-337
new file mode 100644
index 00000000..9b0b2f81
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-337
@@ -0,0 +1 @@
+foo[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-338 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-338
new file mode 100644
index 00000000..83c639a1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-338
@@ -0,0 +1 @@
+foo[1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-339 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-339
new file mode 100644
index 00000000..3b76c9f6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-339
@@ -0,0 +1 @@
+foo[2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-34 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-34
new file mode 100644
index 00000000..9a2b0184
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-34
@@ -0,0 +1 @@
+foo[?age >= `25`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-340 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-340
new file mode 100644
index 00000000..ff99e045
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-340
@@ -0,0 +1 @@
+foo[3] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-341 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-341
new file mode 100644
index 00000000..040ecb24
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-341
@@ -0,0 +1 @@
+foo[4] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-342 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-342
new file mode 100644
index 00000000..6e7ea636
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-342
@@ -0,0 +1 @@
+[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-343 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-343
new file mode 100644
index 00000000..bace2a0b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-343
@@ -0,0 +1 @@
+[1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-344 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-344
new file mode 100644
index 00000000..5d50c80c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-344
@@ -0,0 +1 @@
+[2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-345 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-345
new file mode 100644
index 00000000..99d21a2a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-345
@@ -0,0 +1 @@
+[-1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-346 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-346
new file mode 100644
index 00000000..133a9c62
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-346
@@ -0,0 +1 @@
+[-2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-347 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-347
new file mode 100644
index 00000000..b7f78c5d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-347
@@ -0,0 +1 @@
+[-3] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-348 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-348
new file mode 100644
index 00000000..bd9de815
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-348
@@ -0,0 +1 @@
+reservations[].instances[].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-349 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-349
new file mode 100644
index 00000000..55e62573
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-349
@@ -0,0 +1 @@
+reservations[].instances[].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-35 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-35
new file mode 100644
index 00000000..fa83f1da
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-35
@@ -0,0 +1 @@
+foo[?age > `30`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-350 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-350
new file mode 100644
index 00000000..1661747c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-350
@@ -0,0 +1 @@
+reservations[].notinstances[].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-351 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-351
new file mode 100644
index 00000000..1661747c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-351
@@ -0,0 +1 @@
+reservations[].notinstances[].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-352 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-352
new file mode 100644
index 00000000..3debc70f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-352
@@ -0,0 +1 @@
+reservations[].instances[].foo[].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-353 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-353
new file mode 100644
index 00000000..75af2fda
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-353
@@ -0,0 +1 @@
+reservations[].instances[].foo[].baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-354 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-354
new file mode 100644
index 00000000..4a70cd8a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-354
@@ -0,0 +1 @@
+reservations[].instances[].notfoo[].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-355 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-355
new file mode 100644
index 00000000..987985b0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-355
@@ -0,0 +1 @@
+reservations[].instances[].notfoo[].notbar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-356 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-356
new file mode 100644
index 00000000..1661747c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-356
@@ -0,0 +1 @@
+reservations[].notinstances[].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-357 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-357
new file mode 100644
index 00000000..634f937e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-357
@@ -0,0 +1 @@
+reservations[].instances[].foo[].notbar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-358 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-358
new file mode 100644
index 00000000..09cb7b8b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-358
@@ -0,0 +1 @@
+reservations[].instances[].bar[].baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-359 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-359
new file mode 100644
index 00000000..f5d9ac5b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-359
@@ -0,0 +1 @@
+reservations[].instances[].baz[].baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-36 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-36
new file mode 100644
index 00000000..463a2a54
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-36
@@ -0,0 +1 @@
+foo[?age < `25`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-360 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-360
new file mode 100644
index 00000000..d1016d6e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-360
@@ -0,0 +1 @@
+reservations[].instances[].qux[].baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-361 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-361
new file mode 100644
index 00000000..ef54cf52
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-361
@@ -0,0 +1 @@
+reservations[].instances[].qux[].baz[] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-362 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-362
new file mode 100644
index 00000000..bea506ff
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-362
@@ -0,0 +1 @@
+foo[] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-363 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-363
new file mode 100644
index 00000000..20dd081e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-363
@@ -0,0 +1 @@
+foo[][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-364 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-364
new file mode 100644
index 00000000..4803734b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-364
@@ -0,0 +1 @@
+foo[][1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-365 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-365
new file mode 100644
index 00000000..1be56598
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-365
@@ -0,0 +1 @@
+foo[][0][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-366 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-366
new file mode 100644
index 00000000..d2cf6da5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-366
@@ -0,0 +1 @@
+foo[][2][2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-367 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-367
new file mode 100644
index 00000000..c609ca64
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-367
@@ -0,0 +1 @@
+foo[][0][0][100] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-368 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-368
new file mode 100644
index 00000000..19102815
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-368
@@ -0,0 +1 @@
+foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-369 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-369
new file mode 100644
index 00000000..bea506ff
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-369
@@ -0,0 +1 @@
+foo[] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-37 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-37
new file mode 100644
index 00000000..10ed5d3f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-37
@@ -0,0 +1 @@
+foo[?age <= `25`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-370 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-370
new file mode 100644
index 00000000..13f2c4a0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-370
@@ -0,0 +1 @@
+foo[].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-371 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-371
new file mode 100644
index 00000000..edf3d927
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-371
@@ -0,0 +1 @@
+foo[].bar[] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-372 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-372
new file mode 100644
index 00000000..2a3b993a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-372
@@ -0,0 +1 @@
+foo[].bar[].baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-373 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-373
new file mode 100644
index 00000000..d5ca878a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-373
@@ -0,0 +1 @@
+string[] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-374 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-374
new file mode 100644
index 00000000..fcd255f5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-374
@@ -0,0 +1 @@
+hash[] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-375 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-375
new file mode 100644
index 00000000..2d53bd7c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-375
@@ -0,0 +1 @@
+number[] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-376 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-376
new file mode 100644
index 00000000..cb10d249
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-376
@@ -0,0 +1 @@
+nullvalue[] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-377 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-377
new file mode 100644
index 00000000..f6c79ca8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-377
@@ -0,0 +1 @@
+string[].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-378 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-378
new file mode 100644
index 00000000..09bf36e8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-378
@@ -0,0 +1 @@
+hash[].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-379 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-379
new file mode 100644
index 00000000..4c357818
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-379
@@ -0,0 +1 @@
+number[].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-38 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-38
new file mode 100644
index 00000000..16a4c36a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-38
@@ -0,0 +1 @@
+foo[?age < `20`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-380 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-380
new file mode 100644
index 00000000..2dd8ae21
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-380
@@ -0,0 +1 @@
+nullvalue[].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-381 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-381
new file mode 100644
index 00000000..dfed8160
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-381
@@ -0,0 +1 @@
+nullvalue[].foo[].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-382 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-382
new file mode 100644
index 00000000..d7628e64
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-382
@@ -0,0 +1 @@
+`"foo"` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-383 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-383
new file mode 100644
index 00000000..49c5269b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-383
@@ -0,0 +1 @@
+`"\u03a6"` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-384 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-384
new file mode 100644
index 00000000..d5db721d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-384
@@ -0,0 +1 @@
+`"✓"` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-385 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-385
new file mode 100644
index 00000000..a2b6e4ec
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-385
@@ -0,0 +1 @@
+`[1, 2, 3]` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-386 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-386
new file mode 100644
index 00000000..f5801bdd
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-386
@@ -0,0 +1 @@
+`{"a": "b"}` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-387 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-387
new file mode 100644
index 00000000..f87db59a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-387
@@ -0,0 +1 @@
+`true` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-388 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-388
new file mode 100644
index 00000000..3b20d905
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-388
@@ -0,0 +1 @@
+`false` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-389 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-389
new file mode 100644
index 00000000..70bcd29a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-389
@@ -0,0 +1 @@
+`null` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-39 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-39
new file mode 100644
index 00000000..351054d3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-39
@@ -0,0 +1 @@
+foo[?age == `20`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-390 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-390
new file mode 100644
index 00000000..0918d415
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-390
@@ -0,0 +1 @@
+`0` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-391 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-391
new file mode 100644
index 00000000..ef70c4c1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-391
@@ -0,0 +1 @@
+`1` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-392 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-392
new file mode 100644
index 00000000..b39a922f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-392
@@ -0,0 +1 @@
+`2` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-393 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-393
new file mode 100644
index 00000000..7e65687d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-393
@@ -0,0 +1 @@
+`3` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-394 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-394
new file mode 100644
index 00000000..770d1ece
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-394
@@ -0,0 +1 @@
+`4` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-395 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-395
new file mode 100644
index 00000000..a8b81985
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-395
@@ -0,0 +1 @@
+`5` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-396 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-396
new file mode 100644
index 00000000..7f086106
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-396
@@ -0,0 +1 @@
+`6` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-397 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-397
new file mode 100644
index 00000000..495114d9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-397
@@ -0,0 +1 @@
+`7` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-398 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-398
new file mode 100644
index 00000000..94f355c4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-398
@@ -0,0 +1 @@
+`8` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-399 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-399
new file mode 100644
index 00000000..600d2aa3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-399
@@ -0,0 +1 @@
+`9` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4
new file mode 100644
index 00000000..31485223
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4
@@ -0,0 +1 @@
+foo.bar.baz.bad \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-40 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-40
new file mode 100644
index 00000000..99d9258a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-40
@@ -0,0 +1 @@
+foo[?age != `20`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-400 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-400
new file mode 100644
index 00000000..637015b5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-400
@@ -0,0 +1 @@
+`"foo\`bar"` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-401 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-401
new file mode 100644
index 00000000..6fa7557b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-401
@@ -0,0 +1 @@
+`"foo\"bar"` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-402 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-402
new file mode 100644
index 00000000..5aabeec3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-402
@@ -0,0 +1 @@
+`"1\`"` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-403 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-403
new file mode 100644
index 00000000..8302ea19
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-403
@@ -0,0 +1 @@
+`"\\"`.{a:`"b"`} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-404 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-404
new file mode 100644
index 00000000..d88d014a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-404
@@ -0,0 +1 @@
+`{"a": "b"}`.a \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-405 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-405
new file mode 100644
index 00000000..47152ddd
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-405
@@ -0,0 +1 @@
+`{"a": {"b": "c"}}`.a.b \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-406 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-406
new file mode 100644
index 00000000..895d4293
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-406
@@ -0,0 +1 @@
+`[0, 1, 2]`[1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-407 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-407
new file mode 100644
index 00000000..42500a36
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-407
@@ -0,0 +1 @@
+` {"foo": true}` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-408 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-408
new file mode 100644
index 00000000..08b944da
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-408
@@ -0,0 +1 @@
+`{"foo": true} ` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-409 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-409
new file mode 100644
index 00000000..6de163f8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-409
@@ -0,0 +1 @@
+'foo' \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-41 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-41
new file mode 100644
index 00000000..5bc357d9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-41
@@ -0,0 +1 @@
+foo[?top.name == 'a'] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-410 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-410
new file mode 100644
index 00000000..b84bbdb2
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-410
@@ -0,0 +1 @@
+' foo ' \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-411 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-411
new file mode 100644
index 00000000..bf6a07ac
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-411
@@ -0,0 +1 @@
+'0' \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-412 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-412
new file mode 100644
index 00000000..c742f5b0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-412
@@ -0,0 +1,2 @@
+'newline
+' \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-413 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-413
new file mode 100644
index 00000000..04e9b3ad
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-413
@@ -0,0 +1,2 @@
+'
+' \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-414 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-414
new file mode 100644
index 00000000..ebdaf120
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-414
@@ -0,0 +1 @@
+'✓' \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-415 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-415
new file mode 100644
index 00000000..d0ba5d7f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-415
@@ -0,0 +1 @@
+'𝄞' \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-416 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-416
new file mode 100644
index 00000000..19c2e2ef
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-416
@@ -0,0 +1 @@
+' [foo] ' \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-417 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-417
new file mode 100644
index 00000000..5faa483b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-417
@@ -0,0 +1 @@
+'[foo]' \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-418 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-418
new file mode 100644
index 00000000..e3c05c16
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-418
@@ -0,0 +1 @@
+'\u03a6' \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-419 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-419
new file mode 100644
index 00000000..7c13861a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-419
@@ -0,0 +1 @@
+foo.{bar: bar} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-42 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-42
new file mode 100644
index 00000000..d037a0a4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-42
@@ -0,0 +1 @@
+foo[?top.first == top.last] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-420 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-420
new file mode 100644
index 00000000..f795c255
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-420
@@ -0,0 +1 @@
+foo.{"bar": bar} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-421 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-421
new file mode 100644
index 00000000..772c4563
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-421
@@ -0,0 +1 @@
+foo.{"foo.bar": bar} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-422 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-422
new file mode 100644
index 00000000..8808e92b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-422
@@ -0,0 +1 @@
+foo.{bar: bar, baz: baz} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-423 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-423
new file mode 100644
index 00000000..3f13757a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-423
@@ -0,0 +1 @@
+foo.{"bar": bar, "baz": baz} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-424 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-424
new file mode 100644
index 00000000..23cd8903
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-424
@@ -0,0 +1 @@
+{"baz": baz, "qux\"": "qux\""} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-425 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-425
new file mode 100644
index 00000000..fabb6da4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-425
@@ -0,0 +1 @@
+foo.{bar:bar,baz:baz} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-426 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-426
new file mode 100644
index 00000000..4c3f615b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-426
@@ -0,0 +1 @@
+foo.{bar: bar,qux: qux} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-427 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-427
new file mode 100644
index 00000000..8bc46535
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-427
@@ -0,0 +1 @@
+foo.{bar: bar, noexist: noexist} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-428 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-428
new file mode 100644
index 00000000..2024b6f1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-428
@@ -0,0 +1 @@
+foo.{noexist: noexist, alsonoexist: alsonoexist} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-429 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-429
new file mode 100644
index 00000000..b52191d1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-429
@@ -0,0 +1 @@
+foo.badkey.{nokey: nokey, alsonokey: alsonokey} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-43 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-43
new file mode 100644
index 00000000..8534a5ca
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-43
@@ -0,0 +1 @@
+foo[?top == `{"first": "foo", "last": "bar"}`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-430 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-430
new file mode 100644
index 00000000..5cd310b6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-430
@@ -0,0 +1 @@
+foo.nested.*.{a: a,b: b} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-431 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-431
new file mode 100644
index 00000000..0b24ef53
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-431
@@ -0,0 +1 @@
+foo.nested.three.{a: a, cinner: c.inner} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-432 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-432
new file mode 100644
index 00000000..473c1c35
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-432
@@ -0,0 +1 @@
+foo.nested.three.{a: a, c: c.inner.bad.key} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-433 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-433
new file mode 100644
index 00000000..44ba735a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-433
@@ -0,0 +1 @@
+foo.{a: nested.one.a, b: nested.two.b} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-434 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-434
new file mode 100644
index 00000000..f5f89b12
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-434
@@ -0,0 +1 @@
+{bar: bar, baz: baz} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-435 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-435
new file mode 100644
index 00000000..697764cb
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-435
@@ -0,0 +1 @@
+{bar: bar} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-436 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-436
new file mode 100644
index 00000000..20447fb1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-436
@@ -0,0 +1 @@
+{otherkey: bar} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-437 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-437
new file mode 100644
index 00000000..310b9b1d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-437
@@ -0,0 +1 @@
+{no: no, exist: exist} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-438 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-438
new file mode 100644
index 00000000..c79b2e24
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-438
@@ -0,0 +1 @@
+foo.[bar] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-439 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-439
new file mode 100644
index 00000000..ab498ef6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-439
@@ -0,0 +1 @@
+foo.[bar,baz] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-44 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-44
new file mode 100644
index 00000000..71307c40
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-44
@@ -0,0 +1 @@
+foo[?key == `true`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-440 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-440
new file mode 100644
index 00000000..4b8f39a4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-440
@@ -0,0 +1 @@
+foo.[bar,qux] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-441 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-441
new file mode 100644
index 00000000..b8f9020f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-441
@@ -0,0 +1 @@
+foo.[bar,noexist] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-442 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-442
new file mode 100644
index 00000000..b7c7b3f6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-442
@@ -0,0 +1 @@
+foo.[noexist,alsonoexist] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-443 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-443
new file mode 100644
index 00000000..fabb6da4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-443
@@ -0,0 +1 @@
+foo.{bar:bar,baz:baz} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-444 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-444
new file mode 100644
index 00000000..c15c39f8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-444
@@ -0,0 +1 @@
+foo.[bar,baz[0]] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-445 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-445
new file mode 100644
index 00000000..9cebd898
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-445
@@ -0,0 +1 @@
+foo.[bar,baz[1]] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-446 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-446
new file mode 100644
index 00000000..c5bbfbf8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-446
@@ -0,0 +1 @@
+foo.[bar,baz[2]] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-447 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-447
new file mode 100644
index 00000000..d81cb2b9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-447
@@ -0,0 +1 @@
+foo.[bar,baz[3]] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-448 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-448
new file mode 100644
index 00000000..3a65aa7d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-448
@@ -0,0 +1 @@
+foo.[bar[0],baz[3]] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-449 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-449
new file mode 100644
index 00000000..8808e92b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-449
@@ -0,0 +1 @@
+foo.{bar: bar, baz: baz} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-45 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-45
new file mode 100644
index 00000000..e142b22a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-45
@@ -0,0 +1 @@
+foo[?key == `false`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-450 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-450
new file mode 100644
index 00000000..ab498ef6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-450
@@ -0,0 +1 @@
+foo.[bar,baz] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-451 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-451
new file mode 100644
index 00000000..8e3d22dc
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-451
@@ -0,0 +1 @@
+foo.{bar: bar.baz[1],includeme: includeme} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-452 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-452
new file mode 100644
index 00000000..398c7f8b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-452
@@ -0,0 +1 @@
+foo.{"bar.baz.two": bar.baz[1].two, includeme: includeme} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-453 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-453
new file mode 100644
index 00000000..a1764448
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-453
@@ -0,0 +1 @@
+foo.[includeme, bar.baz[*].common] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-454 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-454
new file mode 100644
index 00000000..da5225dd
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-454
@@ -0,0 +1 @@
+foo.[includeme, bar.baz[*].none] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-455 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-455
new file mode 100644
index 00000000..a8870b22
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-455
@@ -0,0 +1 @@
+foo.[includeme, bar.baz[].common] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-456 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-456
new file mode 100644
index 00000000..420b1a57
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-456
@@ -0,0 +1 @@
+reservations[*].instances[*].{id: id, name: name} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-457 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-457
new file mode 100644
index 00000000..0761ee16
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-457
@@ -0,0 +1 @@
+reservations[].instances[].{id: id, name: name} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-458 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-458
new file mode 100644
index 00000000..aa1191a4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-458
@@ -0,0 +1 @@
+reservations[].instances[].[id, name] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-459 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-459
new file mode 100644
index 00000000..19102815
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-459
@@ -0,0 +1 @@
+foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-46 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-46
new file mode 100644
index 00000000..9a24a464
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-46
@@ -0,0 +1 @@
+foo[?key == `0`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-460 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-460
new file mode 100644
index 00000000..bea506ff
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-460
@@ -0,0 +1 @@
+foo[] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-461 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-461
new file mode 100644
index 00000000..13f2c4a0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-461
@@ -0,0 +1 @@
+foo[].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-462 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-462
new file mode 100644
index 00000000..edf3d927
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-462
@@ -0,0 +1 @@
+foo[].bar[] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-463 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-463
new file mode 100644
index 00000000..d965466e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-463
@@ -0,0 +1 @@
+foo[].bar[].[baz, qux] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-464 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-464
new file mode 100644
index 00000000..f1822a17
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-464
@@ -0,0 +1 @@
+foo[].bar[].[baz] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-465 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-465
new file mode 100644
index 00000000..c6f77b80
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-465
@@ -0,0 +1 @@
+foo[].bar[].[baz, qux][] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-466 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-466
new file mode 100644
index 00000000..db56262a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-466
@@ -0,0 +1 @@
+foo.[baz[*].bar, qux[0]] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-467 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-467
new file mode 100644
index 00000000..b901067d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-467
@@ -0,0 +1 @@
+foo.[baz[*].[bar, boo], qux[0]] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-468 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-468
new file mode 100644
index 00000000..738479fa
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-468
@@ -0,0 +1 @@
+foo.[baz[*].not_there || baz[*].bar, qux[0]] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-469 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-469
new file mode 100644
index 00000000..6926996a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-469
@@ -0,0 +1 @@
+[[*],*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-47 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-47
new file mode 100644
index 00000000..6d33cc72
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-47
@@ -0,0 +1 @@
+foo[?key == `1`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-470 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-470
new file mode 100644
index 00000000..736be0a3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-470
@@ -0,0 +1 @@
+[[*]] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-471 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-471
new file mode 100644
index 00000000..29e1fb20
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-471
@@ -0,0 +1 @@
+outer.foo || outer.bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-472 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-472
new file mode 100644
index 00000000..c0070ba7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-472
@@ -0,0 +1 @@
+outer.foo||outer.bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-473 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-473
new file mode 100644
index 00000000..661b0bec
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-473
@@ -0,0 +1 @@
+outer.bar || outer.baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-474 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-474
new file mode 100644
index 00000000..296d5aee
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-474
@@ -0,0 +1 @@
+outer.bar||outer.baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-475 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-475
new file mode 100644
index 00000000..ca140f8a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-475
@@ -0,0 +1 @@
+outer.bad || outer.foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-476 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-476
new file mode 100644
index 00000000..15d30924
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-476
@@ -0,0 +1 @@
+outer.bad||outer.foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-477 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-477
new file mode 100644
index 00000000..56148d95
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-477
@@ -0,0 +1 @@
+outer.foo || outer.bad \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-478 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-478
new file mode 100644
index 00000000..6d3cf6d9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-478
@@ -0,0 +1 @@
+outer.foo||outer.bad \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-479 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-479
new file mode 100644
index 00000000..100fa833
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-479
@@ -0,0 +1 @@
+outer.bad || outer.alsobad \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-48 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-48
new file mode 100644
index 00000000..de56fc04
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-48
@@ -0,0 +1 @@
+foo[?key == `[0]`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-480 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-480
new file mode 100644
index 00000000..64490352
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-480
@@ -0,0 +1 @@
+outer.bad||outer.alsobad \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-481 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-481
new file mode 100644
index 00000000..af901bde
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-481
@@ -0,0 +1 @@
+outer.empty_string || outer.foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-482 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-482
new file mode 100644
index 00000000..36b63e46
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-482
@@ -0,0 +1 @@
+outer.nokey || outer.bool || outer.empty_list || outer.empty_string || outer.foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-483 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-483
new file mode 100644
index 00000000..aba584f9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-483
@@ -0,0 +1 @@
+foo.*.baz | [0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-484 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-484
new file mode 100644
index 00000000..4234ac01
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-484
@@ -0,0 +1 @@
+foo.*.baz | [1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-485 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-485
new file mode 100644
index 00000000..12330d99
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-485
@@ -0,0 +1 @@
+foo.*.baz | [2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-486 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-486
new file mode 100644
index 00000000..1b2d93e1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-486
@@ -0,0 +1 @@
+foo.bar.* | [0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-487 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-487
new file mode 100644
index 00000000..c371fc64
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-487
@@ -0,0 +1 @@
+foo.*.notbaz | [*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-488 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-488
new file mode 100644
index 00000000..3c835642
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-488
@@ -0,0 +1 @@
+foo | bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-489 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-489
new file mode 100644
index 00000000..decaa042
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-489
@@ -0,0 +1 @@
+foo | bar | baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-49 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-49
new file mode 100644
index 00000000..49d9c63a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-49
@@ -0,0 +1 @@
+foo[?key == `{"bar": [0]}`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-490 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-490
new file mode 100644
index 00000000..b9106803
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-490
@@ -0,0 +1 @@
+foo|bar| baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-491 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-491
new file mode 100644
index 00000000..11df74d8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-491
@@ -0,0 +1 @@
+not_there | [0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-492 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-492
new file mode 100644
index 00000000..11df74d8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-492
@@ -0,0 +1 @@
+not_there | [0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-493 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-493
new file mode 100644
index 00000000..37da9fc0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-493
@@ -0,0 +1 @@
+[foo.bar, foo.other] | [0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-494 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-494
new file mode 100644
index 00000000..1f4fc943
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-494
@@ -0,0 +1 @@
+{"a": foo.bar, "b": foo.other} | a \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-495 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-495
new file mode 100644
index 00000000..67c7ea9c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-495
@@ -0,0 +1 @@
+{"a": foo.bar, "b": foo.other} | b \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-496 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-496
new file mode 100644
index 00000000..d87f9bba
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-496
@@ -0,0 +1 @@
+{"a": foo.bar, "b": foo.other} | *.baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-497 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-497
new file mode 100644
index 00000000..ebf8e271
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-497
@@ -0,0 +1 @@
+foo.bam || foo.bar | baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-498 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-498
new file mode 100644
index 00000000..f32bc6db
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-498
@@ -0,0 +1 @@
+foo | not_there || bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-499 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-499
new file mode 100644
index 00000000..d04459d9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-499
@@ -0,0 +1 @@
+foo[*].bar[*] | [0][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5
new file mode 100644
index 00000000..b537264a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5
@@ -0,0 +1 @@
+foo.bar.bad \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-50 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-50
new file mode 100644
index 00000000..c17c1df1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-50
@@ -0,0 +1 @@
+foo[?key == `null`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-500 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-500
new file mode 100644
index 00000000..3eb869f4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-500
@@ -0,0 +1 @@
+bar[0:10] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-501 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-501
new file mode 100644
index 00000000..aa5d6be5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-501
@@ -0,0 +1 @@
+foo[0:10:1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-502 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-502
new file mode 100644
index 00000000..1a4d1682
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-502
@@ -0,0 +1 @@
+foo[0:10] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-503 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-503
new file mode 100644
index 00000000..5925a578
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-503
@@ -0,0 +1 @@
+foo[0:10:] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-504 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-504
new file mode 100644
index 00000000..081e93ab
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-504
@@ -0,0 +1 @@
+foo[0::1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-505 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-505
new file mode 100644
index 00000000..92270014
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-505
@@ -0,0 +1 @@
+foo[0::] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-506 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-506
new file mode 100644
index 00000000..fd2294d6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-506
@@ -0,0 +1 @@
+foo[0:] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-507 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-507
new file mode 100644
index 00000000..c6b551d5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-507
@@ -0,0 +1 @@
+foo[:10:1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-508 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-508
new file mode 100644
index 00000000..503f58da
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-508
@@ -0,0 +1 @@
+foo[::1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-509 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-509
new file mode 100644
index 00000000..f78bb770
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-509
@@ -0,0 +1 @@
+foo[:10:] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-51 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-51
new file mode 100644
index 00000000..589a214f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-51
@@ -0,0 +1 @@
+foo[?key == `[1]`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-510 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-510
new file mode 100644
index 00000000..eb9d2ba8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-510
@@ -0,0 +1 @@
+foo[::] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-511 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-511
new file mode 100644
index 00000000..1921a3d9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-511
@@ -0,0 +1 @@
+foo[:] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-512 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-512
new file mode 100644
index 00000000..a87afcb1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-512
@@ -0,0 +1 @@
+foo[1:9] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-513 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-513
new file mode 100644
index 00000000..dbf51d8c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-513
@@ -0,0 +1 @@
+foo[0:10:2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-514 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-514
new file mode 100644
index 00000000..f7288763
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-514
@@ -0,0 +1 @@
+foo[5:] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-515 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-515
new file mode 100644
index 00000000..64395761
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-515
@@ -0,0 +1 @@
+foo[5::2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-516 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-516
new file mode 100644
index 00000000..706bb14d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-516
@@ -0,0 +1 @@
+foo[::2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-517 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-517
new file mode 100644
index 00000000..8fcfaee9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-517
@@ -0,0 +1 @@
+foo[::-1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-518 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-518
new file mode 100644
index 00000000..f6a00bf9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-518
@@ -0,0 +1 @@
+foo[1::2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-519 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-519
new file mode 100644
index 00000000..ea068ee0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-519
@@ -0,0 +1 @@
+foo[10:0:-1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-52 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-52
new file mode 100644
index 00000000..214917ac
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-52
@@ -0,0 +1 @@
+foo[?key == `{"a":2}`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-520 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-520
new file mode 100644
index 00000000..1fe14258
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-520
@@ -0,0 +1 @@
+foo[10:5:-1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-521 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-521
new file mode 100644
index 00000000..4ba0e130
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-521
@@ -0,0 +1 @@
+foo[8:2:-2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-522 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-522
new file mode 100644
index 00000000..25db439f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-522
@@ -0,0 +1 @@
+foo[0:20] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-523 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-523
new file mode 100644
index 00000000..8a965920
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-523
@@ -0,0 +1 @@
+foo[10:-20:-1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-524 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-524
new file mode 100644
index 00000000..b1e5ba37
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-524
@@ -0,0 +1 @@
+foo[10:-20] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-525 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-525
new file mode 100644
index 00000000..06253112
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-525
@@ -0,0 +1 @@
+foo[-4:-1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-526 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-526
new file mode 100644
index 00000000..1e14a6a4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-526
@@ -0,0 +1 @@
+foo[:-5:-1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-527 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-527
new file mode 100644
index 00000000..aef5c274
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-527
@@ -0,0 +1 @@
+foo[:2].a \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-528 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-528
new file mode 100644
index 00000000..93c95fcf
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-528
@@ -0,0 +1 @@
+foo[:2].b \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-529 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-529
new file mode 100644
index 00000000..7e0733e5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-529
@@ -0,0 +1 @@
+foo[:2].a.b \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-53 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-53
new file mode 100644
index 00000000..4c002ed8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-53
@@ -0,0 +1 @@
+foo[?`true` == key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-530 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-530
new file mode 100644
index 00000000..2438b257
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-530
@@ -0,0 +1 @@
+bar[::-1].a.b \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-531 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-531
new file mode 100644
index 00000000..549994b6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-531
@@ -0,0 +1 @@
+bar[:2].a.b \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-532 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-532
new file mode 100644
index 00000000..ab98292b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-532
@@ -0,0 +1 @@
+baz[:2].a \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-533 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-533
new file mode 100644
index 00000000..65fca968
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-533
@@ -0,0 +1 @@
+[:] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-534 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-534
new file mode 100644
index 00000000..18c5daf7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-534
@@ -0,0 +1 @@
+[:2].a \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-535 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-535
new file mode 100644
index 00000000..1bb84f7d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-535
@@ -0,0 +1 @@
+[::-1].a \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-536 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-536
new file mode 100644
index 00000000..7a0416f0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-536
@@ -0,0 +1 @@
+[:2].b \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-537 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-537
new file mode 100644
index 00000000..4d5f9756
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-537
@@ -0,0 +1 @@
+foo.bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-538 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-538
new file mode 100644
index 00000000..19102815
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-538
@@ -0,0 +1 @@
+foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-539 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-539
new file mode 100644
index 00000000..f59ec20a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-539
@@ -0,0 +1 @@
+* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-54 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-54
new file mode 100644
index 00000000..23d27073
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-54
@@ -0,0 +1 @@
+foo[?`false` == key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-540 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-540
new file mode 100644
index 00000000..dee56957
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-540
@@ -0,0 +1 @@
+*.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-541 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-541
new file mode 100644
index 00000000..1a16f741
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-541
@@ -0,0 +1 @@
+*.foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-542 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-542
new file mode 100644
index 00000000..7e8066d3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-542
@@ -0,0 +1 @@
+*[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-543 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-543
new file mode 100644
index 00000000..0637a088
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-543
@@ -0,0 +1 @@
+[] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-544 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-544
new file mode 100644
index 00000000..6e7ea636
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-544
@@ -0,0 +1 @@
+[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-545 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-545
new file mode 100644
index 00000000..5a519464
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-545
@@ -0,0 +1 @@
+[*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-546 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-546
new file mode 100644
index 00000000..41612742
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-546
@@ -0,0 +1 @@
+*.["0"] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-547 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-547
new file mode 100644
index 00000000..cd9fb6ba
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-547
@@ -0,0 +1 @@
+[*].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-548 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-548
new file mode 100644
index 00000000..9f3ada48
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-548
@@ -0,0 +1 @@
+[*][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-549 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-549
new file mode 100644
index 00000000..9b0b2f81
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-549
@@ -0,0 +1 @@
+foo[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-55 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-55
new file mode 100644
index 00000000..6d840ee5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-55
@@ -0,0 +1 @@
+foo[?`0` == key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-550 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-550
new file mode 100644
index 00000000..b23413b9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-550
@@ -0,0 +1 @@
+foo.[*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-551 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-551
new file mode 100644
index 00000000..08ab2e1c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-551
@@ -0,0 +1 @@
+foo.[abc] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-552 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-552
new file mode 100644
index 00000000..78b05a5c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-552
@@ -0,0 +1 @@
+foo.[abc, def] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-553 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-553
new file mode 100644
index 00000000..1e7b886e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-553
@@ -0,0 +1 @@
+a.{foo: bar} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-554 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-554
new file mode 100644
index 00000000..91b4c989
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-554
@@ -0,0 +1 @@
+a.{foo: bar, baz: bam} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-555 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-555
new file mode 100644
index 00000000..8301ef98
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-555
@@ -0,0 +1 @@
+{"\\":{" ":*}} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-556 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-556
new file mode 100644
index 00000000..8f75cc91
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-556
@@ -0,0 +1 @@
+foo || bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-557 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-557
new file mode 100644
index 00000000..e5f122c5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-557
@@ -0,0 +1 @@
+foo.[a || b] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-558 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-558
new file mode 100644
index 00000000..39d19143
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-558
@@ -0,0 +1 @@
+foo[?bar==`"baz"`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-559 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-559
new file mode 100644
index 00000000..d08bbe25
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-559
@@ -0,0 +1 @@
+foo[? bar == `"baz"` ] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-56 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-56
new file mode 100644
index 00000000..addaf204
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-56
@@ -0,0 +1 @@
+foo[?`1` == key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-560 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-560
new file mode 100644
index 00000000..a77f3558
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-560
@@ -0,0 +1 @@
+foo[?a.b.c==d.e.f] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-561 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-561
new file mode 100644
index 00000000..c9697aa4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-561
@@ -0,0 +1 @@
+foo[?bar==`[0, 1, 2]`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-562 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-562
new file mode 100644
index 00000000..fd7064a0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-562
@@ -0,0 +1 @@
+foo[?bar==`["a", "b", "c"]`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-563 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-563
new file mode 100644
index 00000000..61e5e1b8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-563
@@ -0,0 +1 @@
+foo[?bar==`["foo\`bar"]`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-564 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-564
new file mode 100644
index 00000000..bc9d8af1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-564
@@ -0,0 +1 @@
+[?"\\">`"foo"`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-565 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-565
new file mode 100644
index 00000000..2dd54dc3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-565
@@ -0,0 +1 @@
+[?"\\" > `"foo"`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-566 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-566
new file mode 100644
index 00000000..19102815
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-566
@@ -0,0 +1 @@
+foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-567 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-567
new file mode 100644
index 00000000..7e9668e7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-567
@@ -0,0 +1 @@
+"foo" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-568 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-568
new file mode 100644
index 00000000..d58ac16b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-568
@@ -0,0 +1 @@
+"\\" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-569 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-569
new file mode 100644
index 00000000..33ac9fba
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-569
@@ -0,0 +1 @@
+*||*|*|* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-57 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-57
new file mode 100644
index 00000000..acf2435c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-57
@@ -0,0 +1 @@
+foo[?`[0]` == key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-570 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-570
new file mode 100644
index 00000000..99e19638
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-570
@@ -0,0 +1 @@
+*[]||[*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-571 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-571
new file mode 100644
index 00000000..be084501
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-571
@@ -0,0 +1 @@
+[*.*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-572 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-572
new file mode 100644
index 00000000..a84b51e1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-572
@@ -0,0 +1 @@
+foo[]."✓" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-573 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-573
new file mode 100644
index 00000000..c2de5581
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-573
@@ -0,0 +1 @@
+"☯" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-574 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-574
new file mode 100644
index 00000000..dc2dda0b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-574
@@ -0,0 +1 @@
+"♪♫•*¨*•.¸¸❤¸¸.•*¨*•♫♪" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-575 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-575
new file mode 100644
index 00000000..a2d3d5f6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-575
@@ -0,0 +1 @@
+"☃" \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-576 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-576
new file mode 100644
index 00000000..0971c37e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-576
@@ -0,0 +1 @@
+foo.*.baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-577 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-577
new file mode 100644
index 00000000..0e39dfd6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-577
@@ -0,0 +1 @@
+foo.bar.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-578 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-578
new file mode 100644
index 00000000..89c1ce22
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-578
@@ -0,0 +1 @@
+foo.*.notbaz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-579 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-579
new file mode 100644
index 00000000..5199b9f9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-579
@@ -0,0 +1 @@
+foo.*.notbaz[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-58 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-58
new file mode 100644
index 00000000..99fe382c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-58
@@ -0,0 +1 @@
+foo[?`{"bar": [0]}` == key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-580 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-580
new file mode 100644
index 00000000..5bb6d4ae
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-580
@@ -0,0 +1 @@
+foo.*.notbaz[-1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-581 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-581
new file mode 100644
index 00000000..edac7318
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-581
@@ -0,0 +1 @@
+foo.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-582 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-582
new file mode 100644
index 00000000..458d0a6d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-582
@@ -0,0 +1 @@
+foo.*.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-583 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-583
new file mode 100644
index 00000000..f757fd53
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-583
@@ -0,0 +1 @@
+foo.*.*.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-584 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-584
new file mode 100644
index 00000000..670049d9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-584
@@ -0,0 +1 @@
+foo.*.*.*.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-585 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-585
new file mode 100644
index 00000000..3c88caaf
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-585
@@ -0,0 +1 @@
+*.bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-586 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-586
new file mode 100644
index 00000000..f59ec20a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-586
@@ -0,0 +1 @@
+* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-587 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-587
new file mode 100644
index 00000000..0852fcc7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-587
@@ -0,0 +1 @@
+*.sub1 \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-588 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-588
new file mode 100644
index 00000000..dee56957
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-588
@@ -0,0 +1 @@
+*.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-589 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-589
new file mode 100644
index 00000000..66781bba
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-589
@@ -0,0 +1 @@
+*.*.foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-59 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-59
new file mode 100644
index 00000000..4aad20ae
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-59
@@ -0,0 +1 @@
+foo[?`null` == key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-590 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-590
new file mode 100644
index 00000000..0db15d97
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-590
@@ -0,0 +1 @@
+*.sub1.foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-591 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-591
new file mode 100644
index 00000000..b24be9d7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-591
@@ -0,0 +1 @@
+foo[*].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-592 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-592
new file mode 100644
index 00000000..e6efe133
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-592
@@ -0,0 +1 @@
+foo[*].notbar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-593 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-593
new file mode 100644
index 00000000..5a519464
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-593
@@ -0,0 +1 @@
+[*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-594 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-594
new file mode 100644
index 00000000..cd9fb6ba
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-594
@@ -0,0 +1 @@
+[*].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-595 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-595
new file mode 100644
index 00000000..cbf1a5d5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-595
@@ -0,0 +1 @@
+[*].notbar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-596 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-596
new file mode 100644
index 00000000..8bd13b7e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-596
@@ -0,0 +1 @@
+foo.bar[*].baz \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-597 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-597
new file mode 100644
index 00000000..7239f3e8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-597
@@ -0,0 +1 @@
+foo.bar[*].baz[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-598 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-598
new file mode 100644
index 00000000..f5e431d9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-598
@@ -0,0 +1 @@
+foo.bar[*].baz[1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-599 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-599
new file mode 100644
index 00000000..d0c25953
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-599
@@ -0,0 +1 @@
+foo.bar[*].baz[2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6
new file mode 100644
index 00000000..b9749b74
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6
@@ -0,0 +1 @@
+foo.bad \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-60 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-60
new file mode 100644
index 00000000..dac67509
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-60
@@ -0,0 +1 @@
+foo[?`[1]` == key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-600 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-600
new file mode 100644
index 00000000..a6388271
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-600
@@ -0,0 +1 @@
+foo.bar[*].baz[3] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-601 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-601
new file mode 100644
index 00000000..2a66ffe9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-601
@@ -0,0 +1 @@
+foo.bar[*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-602 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-602
new file mode 100644
index 00000000..b6b36954
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-602
@@ -0,0 +1 @@
+foo.bar[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-603 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-603
new file mode 100644
index 00000000..7e57f9e7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-603
@@ -0,0 +1 @@
+foo.bar[0][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-604 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-604
new file mode 100644
index 00000000..c5f8bef0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-604
@@ -0,0 +1 @@
+foo.bar[0][0][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-605 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-605
new file mode 100644
index 00000000..3decf080
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-605
@@ -0,0 +1 @@
+foo.bar[0][0][0][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-606 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-606
new file mode 100644
index 00000000..655e2959
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-606
@@ -0,0 +1 @@
+foo[0][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-607 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-607
new file mode 100644
index 00000000..2aa15971
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-607
@@ -0,0 +1 @@
+foo[*].bar[*].kind \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-608 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-608
new file mode 100644
index 00000000..556b380b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-608
@@ -0,0 +1 @@
+foo[*].bar[0].kind \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-609 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-609
new file mode 100644
index 00000000..0de3229b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-609
@@ -0,0 +1 @@
+foo[*].bar.kind \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-61 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-61
new file mode 100644
index 00000000..130ed3b3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-61
@@ -0,0 +1 @@
+foo[?`{"a":2}` == key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-610 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-610
new file mode 100644
index 00000000..3b511f13
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-610
@@ -0,0 +1 @@
+foo[*].bar[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-611 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-611
new file mode 100644
index 00000000..c8dfa16e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-611
@@ -0,0 +1 @@
+foo[*].bar[1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-612 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-612
new file mode 100644
index 00000000..69f04ee2
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-612
@@ -0,0 +1 @@
+foo[*].bar[2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-613 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-613
new file mode 100644
index 00000000..3b511f13
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-613
@@ -0,0 +1 @@
+foo[*].bar[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-614 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-614
new file mode 100644
index 00000000..03e0c0cb
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-614
@@ -0,0 +1 @@
+foo[*][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-615 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-615
new file mode 100644
index 00000000..ac1c8966
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-615
@@ -0,0 +1 @@
+foo[*][1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-616 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-616
new file mode 100644
index 00000000..03e0c0cb
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-616
@@ -0,0 +1 @@
+foo[*][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-617 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-617
new file mode 100644
index 00000000..ac1c8966
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-617
@@ -0,0 +1 @@
+foo[*][1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-618 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-618
new file mode 100644
index 00000000..6494cf1c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-618
@@ -0,0 +1 @@
+foo[*][0][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-619 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-619
new file mode 100644
index 00000000..1406be57
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-619
@@ -0,0 +1 @@
+foo[*][1][0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-62 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-62
new file mode 100644
index 00000000..3d15fcc1
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-62
@@ -0,0 +1 @@
+foo[?key != `true`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-620 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-620
new file mode 100644
index 00000000..72b5aa28
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-620
@@ -0,0 +1 @@
+foo[*][0][1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-621 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-621
new file mode 100644
index 00000000..02a26491
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-621
@@ -0,0 +1 @@
+foo[*][1][1] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-622 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-622
new file mode 100644
index 00000000..cb08037e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-622
@@ -0,0 +1 @@
+foo[*][2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-623 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-623
new file mode 100644
index 00000000..91d69599
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-623
@@ -0,0 +1 @@
+foo[*][2][2] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-624 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-624
new file mode 100644
index 00000000..f40f261a
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-624
@@ -0,0 +1 @@
+bar[*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-625 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-625
new file mode 100644
index 00000000..03904b1d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-625
@@ -0,0 +1 @@
+bar[*].baz[*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-626 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-626
new file mode 100644
index 00000000..fd7c21c3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-626
@@ -0,0 +1 @@
+string[*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-627 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-627
new file mode 100644
index 00000000..d7ca4719
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-627
@@ -0,0 +1 @@
+hash[*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-628 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-628
new file mode 100644
index 00000000..b3ddffe3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-628
@@ -0,0 +1 @@
+number[*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-629 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-629
new file mode 100644
index 00000000..c03cd39e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-629
@@ -0,0 +1 @@
+nullvalue[*] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-63 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-63
new file mode 100644
index 00000000..08731af6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-63
@@ -0,0 +1 @@
+foo[?key != `false`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-630 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-630
new file mode 100644
index 00000000..b3c40cd5
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-630
@@ -0,0 +1 @@
+string[*].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-631 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-631
new file mode 100644
index 00000000..c5930d54
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-631
@@ -0,0 +1 @@
+hash[*].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-632 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-632
new file mode 100644
index 00000000..cc0b1a48
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-632
@@ -0,0 +1 @@
+number[*].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-633 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-633
new file mode 100644
index 00000000..d677b965
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-633
@@ -0,0 +1 @@
+nullvalue[*].foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-634 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-634
new file mode 100644
index 00000000..c1166640
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-634
@@ -0,0 +1 @@
+nullvalue[*].foo[*].bar \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-635 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-635
new file mode 100644
index 00000000..e3399771
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-635
@@ -0,0 +1 @@
+string.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-636 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-636
new file mode 100644
index 00000000..76f53453
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-636
@@ -0,0 +1 @@
+hash.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-637 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-637
new file mode 100644
index 00000000..dd485072
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-637
@@ -0,0 +1 @@
+number.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-638 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-638
new file mode 100644
index 00000000..16000c00
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-638
@@ -0,0 +1 @@
+array.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-639 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-639
new file mode 100644
index 00000000..1d0d03ed
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-639
@@ -0,0 +1 @@
+nullvalue.* \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-64 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-64
new file mode 100644
index 00000000..b67aebe9
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-64
@@ -0,0 +1 @@
+foo[?key != `0`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-640 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-640
new file mode 100644
index 00000000..7e8066d3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-640
@@ -0,0 +1 @@
+*[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-641 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-641
new file mode 100644
index 00000000..41ebe5ba
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-641
@@ -0,0 +1 @@
+`foo` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-642 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-642
new file mode 100644
index 00000000..fe039799
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-642
@@ -0,0 +1 @@
+`foo\"quote` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-643 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-643
new file mode 100644
index 00000000..1a27fd80
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-643
@@ -0,0 +1 @@
+`✓` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-644 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-644
new file mode 100644
index 00000000..559a1345
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-644
@@ -0,0 +1 @@
+`foo\"bar` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-645 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-645
new file mode 100644
index 00000000..e31621b4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-645
@@ -0,0 +1 @@
+`1\`` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-646 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-646
new file mode 100644
index 00000000..6bf7a103
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-646
@@ -0,0 +1 @@
+`\\`.{a:`b`} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-647 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-647
new file mode 100644
index 00000000..41ebe5ba
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-647
@@ -0,0 +1 @@
+`foo` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-648 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-648
new file mode 100644
index 00000000..28b9bcbb
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-648
@@ -0,0 +1 @@
+` foo` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-649 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-649
new file mode 100644
index 00000000..41ebe5ba
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-649
@@ -0,0 +1 @@
+`foo` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-65 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-65
new file mode 100644
index 00000000..d3ac793b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-65
@@ -0,0 +1 @@
+foo[?key != `1`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-650 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-650
new file mode 100644
index 00000000..fe039799
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-650
@@ -0,0 +1 @@
+`foo\"quote` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-651 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-651
new file mode 100644
index 00000000..1a27fd80
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-651
@@ -0,0 +1 @@
+`✓` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-652 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-652
new file mode 100644
index 00000000..559a1345
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-652
@@ -0,0 +1 @@
+`foo\"bar` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-653 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-653
new file mode 100644
index 00000000..e31621b4
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-653
@@ -0,0 +1 @@
+`1\`` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-654 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-654
new file mode 100644
index 00000000..6bf7a103
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-654
@@ -0,0 +1 @@
+`\\`.{a:`b`} \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-655 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-655
new file mode 100644
index 00000000..41ebe5ba
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-655
@@ -0,0 +1 @@
+`foo` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-656 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-656
new file mode 100644
index 00000000..28b9bcbb
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-656
@@ -0,0 +1 @@
+` foo` \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-66 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-66
new file mode 100644
index 00000000..065295bc
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-66
@@ -0,0 +1 @@
+foo[?key != `null`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-67 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-67
new file mode 100644
index 00000000..43d16492
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-67
@@ -0,0 +1 @@
+foo[?key != `[1]`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-68 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-68
new file mode 100644
index 00000000..6b884fa8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-68
@@ -0,0 +1 @@
+foo[?key != `{"a":2}`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-69 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-69
new file mode 100644
index 00000000..d85c779d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-69
@@ -0,0 +1 @@
+foo[?`true` != key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-7 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-7
new file mode 100644
index 00000000..44d6628c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-7
@@ -0,0 +1 @@
+bad \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-70 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-70
new file mode 100644
index 00000000..3e6dcf30
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-70
@@ -0,0 +1 @@
+foo[?`false` != key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-71 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-71
new file mode 100644
index 00000000..bdb820b3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-71
@@ -0,0 +1 @@
+foo[?`0` != key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-72 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-72
new file mode 100644
index 00000000..3f3048a0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-72
@@ -0,0 +1 @@
+foo[?`1` != key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-73 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-73
new file mode 100644
index 00000000..dacc2572
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-73
@@ -0,0 +1 @@
+foo[?`null` != key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-74 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-74
new file mode 100644
index 00000000..32ebae88
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-74
@@ -0,0 +1 @@
+foo[?`[1]` != key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-75 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-75
new file mode 100644
index 00000000..dcd023e0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-75
@@ -0,0 +1 @@
+foo[?`{"a":2}` != key] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-76 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-76
new file mode 100644
index 00000000..e08cc13c
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-76
@@ -0,0 +1 @@
+reservations[].instances[?bar==`1`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-77 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-77
new file mode 100644
index 00000000..1ec43f45
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-77
@@ -0,0 +1 @@
+reservations[*].instances[?bar==`1`] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-78 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-78
new file mode 100644
index 00000000..30387116
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-78
@@ -0,0 +1 @@
+reservations[].instances[?bar==`1`][] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-79 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-79
new file mode 100644
index 00000000..e3875746
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-79
@@ -0,0 +1 @@
+foo[?bar==`1`].bar[0] \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-8 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-8
new file mode 100644
index 00000000..da7bc1cc
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-8
@@ -0,0 +1 @@
+bad.morebad.morebad \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-80 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-80
new file mode 100644
index 00000000..5c3d6835
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-80
@@ -0,0 +1 @@
+foo[?a==`1`].b.c \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-81 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-81
new file mode 100644
index 00000000..6232808f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-81
@@ -0,0 +1 @@
+abs(foo) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-82 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-82
new file mode 100644
index 00000000..6232808f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-82
@@ -0,0 +1 @@
+abs(foo) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-83 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-83
new file mode 100644
index 00000000..29497f4f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-83
@@ -0,0 +1 @@
+abs(array[1]) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-84 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-84
new file mode 100644
index 00000000..29497f4f
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-84
@@ -0,0 +1 @@
+abs(array[1]) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-85 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-85
new file mode 100644
index 00000000..34669656
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-85
@@ -0,0 +1 @@
+abs(`-24`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-86 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-86
new file mode 100644
index 00000000..34669656
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-86
@@ -0,0 +1 @@
+abs(`-24`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-87 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-87
new file mode 100644
index 00000000..c6268f84
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-87
@@ -0,0 +1 @@
+avg(numbers) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-88 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-88
new file mode 100644
index 00000000..7ce70369
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-88
@@ -0,0 +1 @@
+ceil(`1.2`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-89 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-89
new file mode 100644
index 00000000..0561bc26
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-89
@@ -0,0 +1 @@
+ceil(decimals[0]) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-9 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-9
new file mode 100644
index 00000000..19102815
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-9
@@ -0,0 +1 @@
+foo \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-90 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-90
new file mode 100644
index 00000000..c78c1fc3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-90
@@ -0,0 +1 @@
+ceil(decimals[1]) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-91 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-91
new file mode 100644
index 00000000..ebcb4bbd
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-91
@@ -0,0 +1 @@
+ceil(decimals[2]) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-92 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-92
new file mode 100644
index 00000000..6edbf1af
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-92
@@ -0,0 +1 @@
+contains('abc', 'a') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-93 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-93
new file mode 100644
index 00000000..d2b2f070
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-93
@@ -0,0 +1 @@
+contains('abc', 'd') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-94 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-94
new file mode 100644
index 00000000..3535da2e
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-94
@@ -0,0 +1 @@
+contains(strings, 'a') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-95 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-95
new file mode 100644
index 00000000..ba839fe6
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-95
@@ -0,0 +1 @@
+contains(decimals, `1.2`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-96 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-96
new file mode 100644
index 00000000..f4358186
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-96
@@ -0,0 +1 @@
+contains(decimals, `false`) \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-97 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-97
new file mode 100644
index 00000000..adb65fc0
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-97
@@ -0,0 +1 @@
+ends_with(str, 'r') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-98 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-98
new file mode 100644
index 00000000..93d6901b
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-98
@@ -0,0 +1 @@
+ends_with(str, 'tr') \ No newline at end of file
diff --git a/vendor/github.com/jmespath/go-jmespath/interpreter.go b/vendor/github.com/jmespath/go-jmespath/interpreter.go
new file mode 100644
index 00000000..13c74604
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/interpreter.go
@@ -0,0 +1,418 @@
+package jmespath
+
+import (
+ "errors"
+ "reflect"
+ "unicode"
+ "unicode/utf8"
+)
+
+/* This is a tree based interpreter. It walks the AST and directly
+ interprets the AST to search through a JSON document.
+*/
+
+type treeInterpreter struct {
+ fCall *functionCaller
+}
+
+func newInterpreter() *treeInterpreter {
+ interpreter := treeInterpreter{}
+ interpreter.fCall = newFunctionCaller()
+ return &interpreter
+}
+
+type expRef struct {
+ ref ASTNode
+}
+
+// Execute takes an ASTNode and input data and interprets the AST directly.
+// It will produce the result of applying the JMESPath expression associated
+// with the ASTNode to the input data "value".
+func (intr *treeInterpreter) Execute(node ASTNode, value interface{}) (interface{}, error) {
+ switch node.nodeType {
+ case ASTComparator:
+ left, err := intr.Execute(node.children[0], value)
+ if err != nil {
+ return nil, err
+ }
+ right, err := intr.Execute(node.children[1], value)
+ if err != nil {
+ return nil, err
+ }
+ switch node.value {
+ case tEQ:
+ return objsEqual(left, right), nil
+ case tNE:
+ return !objsEqual(left, right), nil
+ }
+ leftNum, ok := left.(float64)
+ if !ok {
+ return nil, nil
+ }
+ rightNum, ok := right.(float64)
+ if !ok {
+ return nil, nil
+ }
+ switch node.value {
+ case tGT:
+ return leftNum > rightNum, nil
+ case tGTE:
+ return leftNum >= rightNum, nil
+ case tLT:
+ return leftNum < rightNum, nil
+ case tLTE:
+ return leftNum <= rightNum, nil
+ }
+ case ASTExpRef:
+ return expRef{ref: node.children[0]}, nil
+ case ASTFunctionExpression:
+ resolvedArgs := []interface{}{}
+ for _, arg := range node.children {
+ current, err := intr.Execute(arg, value)
+ if err != nil {
+ return nil, err
+ }
+ resolvedArgs = append(resolvedArgs, current)
+ }
+ return intr.fCall.CallFunction(node.value.(string), resolvedArgs, intr)
+ case ASTField:
+ if m, ok := value.(map[string]interface{}); ok {
+ key := node.value.(string)
+ return m[key], nil
+ }
+ return intr.fieldFromStruct(node.value.(string), value)
+ case ASTFilterProjection:
+ left, err := intr.Execute(node.children[0], value)
+ if err != nil {
+ return nil, nil
+ }
+ sliceType, ok := left.([]interface{})
+ if !ok {
+ if isSliceType(left) {
+ return intr.filterProjectionWithReflection(node, left)
+ }
+ return nil, nil
+ }
+ compareNode := node.children[2]
+ collected := []interface{}{}
+ for _, element := range sliceType {
+ result, err := intr.Execute(compareNode, element)
+ if err != nil {
+ return nil, err
+ }
+ if !isFalse(result) {
+ current, err := intr.Execute(node.children[1], element)
+ if err != nil {
+ return nil, err
+ }
+ if current != nil {
+ collected = append(collected, current)
+ }
+ }
+ }
+ return collected, nil
+ case ASTFlatten:
+ left, err := intr.Execute(node.children[0], value)
+ if err != nil {
+ return nil, nil
+ }
+ sliceType, ok := left.([]interface{})
+ if !ok {
+ // If we can't type convert to []interface{}, there's
+ // a chance this could still work via reflection if we're
+ // dealing with user provided types.
+ if isSliceType(left) {
+ return intr.flattenWithReflection(left)
+ }
+ return nil, nil
+ }
+ flattened := []interface{}{}
+ for _, element := range sliceType {
+ if elementSlice, ok := element.([]interface{}); ok {
+ flattened = append(flattened, elementSlice...)
+ } else if isSliceType(element) {
+ reflectFlat := []interface{}{}
+ v := reflect.ValueOf(element)
+ for i := 0; i < v.Len(); i++ {
+ reflectFlat = append(reflectFlat, v.Index(i).Interface())
+ }
+ flattened = append(flattened, reflectFlat...)
+ } else {
+ flattened = append(flattened, element)
+ }
+ }
+ return flattened, nil
+ case ASTIdentity, ASTCurrentNode:
+ return value, nil
+ case ASTIndex:
+ if sliceType, ok := value.([]interface{}); ok {
+ index := node.value.(int)
+ if index < 0 {
+ index += len(sliceType)
+ }
+ if index < len(sliceType) && index >= 0 {
+ return sliceType[index], nil
+ }
+ return nil, nil
+ }
+ // Otherwise try via reflection.
+ rv := reflect.ValueOf(value)
+ if rv.Kind() == reflect.Slice {
+ index := node.value.(int)
+ if index < 0 {
+ index += rv.Len()
+ }
+ if index < rv.Len() && index >= 0 {
+ v := rv.Index(index)
+ return v.Interface(), nil
+ }
+ }
+ return nil, nil
+ case ASTKeyValPair:
+ return intr.Execute(node.children[0], value)
+ case ASTLiteral:
+ return node.value, nil
+ case ASTMultiSelectHash:
+ if value == nil {
+ return nil, nil
+ }
+ collected := make(map[string]interface{})
+ for _, child := range node.children {
+ current, err := intr.Execute(child, value)
+ if err != nil {
+ return nil, err
+ }
+ key := child.value.(string)
+ collected[key] = current
+ }
+ return collected, nil
+ case ASTMultiSelectList:
+ if value == nil {
+ return nil, nil
+ }
+ collected := []interface{}{}
+ for _, child := range node.children {
+ current, err := intr.Execute(child, value)
+ if err != nil {
+ return nil, err
+ }
+ collected = append(collected, current)
+ }
+ return collected, nil
+ case ASTOrExpression:
+ matched, err := intr.Execute(node.children[0], value)
+ if err != nil {
+ return nil, err
+ }
+ if isFalse(matched) {
+ matched, err = intr.Execute(node.children[1], value)
+ if err != nil {
+ return nil, err
+ }
+ }
+ return matched, nil
+ case ASTAndExpression:
+ matched, err := intr.Execute(node.children[0], value)
+ if err != nil {
+ return nil, err
+ }
+ if isFalse(matched) {
+ return matched, nil
+ }
+ return intr.Execute(node.children[1], value)
+ case ASTNotExpression:
+ matched, err := intr.Execute(node.children[0], value)
+ if err != nil {
+ return nil, err
+ }
+ if isFalse(matched) {
+ return true, nil
+ }
+ return false, nil
+ case ASTPipe:
+ result := value
+ var err error
+ for _, child := range node.children {
+ result, err = intr.Execute(child, result)
+ if err != nil {
+ return nil, err
+ }
+ }
+ return result, nil
+ case ASTProjection:
+ left, err := intr.Execute(node.children[0], value)
+ if err != nil {
+ return nil, err
+ }
+ sliceType, ok := left.([]interface{})
+ if !ok {
+ if isSliceType(left) {
+ return intr.projectWithReflection(node, left)
+ }
+ return nil, nil
+ }
+ collected := []interface{}{}
+ var current interface{}
+ for _, element := range sliceType {
+ current, err = intr.Execute(node.children[1], element)
+ if err != nil {
+ return nil, err
+ }
+ if current != nil {
+ collected = append(collected, current)
+ }
+ }
+ return collected, nil
+ case ASTSubexpression, ASTIndexExpression:
+ left, err := intr.Execute(node.children[0], value)
+ if err != nil {
+ return nil, err
+ }
+ return intr.Execute(node.children[1], left)
+ case ASTSlice:
+ sliceType, ok := value.([]interface{})
+ if !ok {
+ if isSliceType(value) {
+ return intr.sliceWithReflection(node, value)
+ }
+ return nil, nil
+ }
+ parts := node.value.([]*int)
+ sliceParams := make([]sliceParam, 3)
+ for i, part := range parts {
+ if part != nil {
+ sliceParams[i].Specified = true
+ sliceParams[i].N = *part
+ }
+ }
+ return slice(sliceType, sliceParams)
+ case ASTValueProjection:
+ left, err := intr.Execute(node.children[0], value)
+ if err != nil {
+ return nil, nil
+ }
+ mapType, ok := left.(map[string]interface{})
+ if !ok {
+ return nil, nil
+ }
+ values := make([]interface{}, len(mapType))
+ for _, value := range mapType {
+ values = append(values, value)
+ }
+ collected := []interface{}{}
+ for _, element := range values {
+ current, err := intr.Execute(node.children[1], element)
+ if err != nil {
+ return nil, err
+ }
+ if current != nil {
+ collected = append(collected, current)
+ }
+ }
+ return collected, nil
+ }
+ return nil, errors.New("Unknown AST node: " + node.nodeType.String())
+}
+
+func (intr *treeInterpreter) fieldFromStruct(key string, value interface{}) (interface{}, error) {
+ rv := reflect.ValueOf(value)
+ first, n := utf8.DecodeRuneInString(key)
+ fieldName := string(unicode.ToUpper(first)) + key[n:]
+ if rv.Kind() == reflect.Struct {
+ v := rv.FieldByName(fieldName)
+ if !v.IsValid() {
+ return nil, nil
+ }
+ return v.Interface(), nil
+ } else if rv.Kind() == reflect.Ptr {
+ // Handle multiple levels of indirection?
+ if rv.IsNil() {
+ return nil, nil
+ }
+ rv = rv.Elem()
+ v := rv.FieldByName(fieldName)
+ if !v.IsValid() {
+ return nil, nil
+ }
+ return v.Interface(), nil
+ }
+ return nil, nil
+}
+
+func (intr *treeInterpreter) flattenWithReflection(value interface{}) (interface{}, error) {
+ v := reflect.ValueOf(value)
+ flattened := []interface{}{}
+ for i := 0; i < v.Len(); i++ {
+ element := v.Index(i).Interface()
+ if reflect.TypeOf(element).Kind() == reflect.Slice {
+ // Then insert the contents of the element
+ // slice into the flattened slice,
+ // i.e flattened = append(flattened, mySlice...)
+ elementV := reflect.ValueOf(element)
+ for j := 0; j < elementV.Len(); j++ {
+ flattened = append(
+ flattened, elementV.Index(j).Interface())
+ }
+ } else {
+ flattened = append(flattened, element)
+ }
+ }
+ return flattened, nil
+}
+
+func (intr *treeInterpreter) sliceWithReflection(node ASTNode, value interface{}) (interface{}, error) {
+ v := reflect.ValueOf(value)
+ parts := node.value.([]*int)
+ sliceParams := make([]sliceParam, 3)
+ for i, part := range parts {
+ if part != nil {
+ sliceParams[i].Specified = true
+ sliceParams[i].N = *part
+ }
+ }
+ final := []interface{}{}
+ for i := 0; i < v.Len(); i++ {
+ element := v.Index(i).Interface()
+ final = append(final, element)
+ }
+ return slice(final, sliceParams)
+}
+
+func (intr *treeInterpreter) filterProjectionWithReflection(node ASTNode, value interface{}) (interface{}, error) {
+ compareNode := node.children[2]
+ collected := []interface{}{}
+ v := reflect.ValueOf(value)
+ for i := 0; i < v.Len(); i++ {
+ element := v.Index(i).Interface()
+ result, err := intr.Execute(compareNode, element)
+ if err != nil {
+ return nil, err
+ }
+ if !isFalse(result) {
+ current, err := intr.Execute(node.children[1], element)
+ if err != nil {
+ return nil, err
+ }
+ if current != nil {
+ collected = append(collected, current)
+ }
+ }
+ }
+ return collected, nil
+}
+
+func (intr *treeInterpreter) projectWithReflection(node ASTNode, value interface{}) (interface{}, error) {
+ collected := []interface{}{}
+ v := reflect.ValueOf(value)
+ for i := 0; i < v.Len(); i++ {
+ element := v.Index(i).Interface()
+ result, err := intr.Execute(node.children[1], element)
+ if err != nil {
+ return nil, err
+ }
+ if result != nil {
+ collected = append(collected, result)
+ }
+ }
+ return collected, nil
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/interpreter_test.go b/vendor/github.com/jmespath/go-jmespath/interpreter_test.go
new file mode 100644
index 00000000..11c6d0aa
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/interpreter_test.go
@@ -0,0 +1,221 @@
+package jmespath
+
+import (
+ "encoding/json"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+type scalars struct {
+ Foo string
+ Bar string
+}
+
+type sliceType struct {
+ A string
+ B []scalars
+ C []*scalars
+}
+
+type benchmarkStruct struct {
+ Fooasdfasdfasdfasdf string
+}
+
+type benchmarkNested struct {
+ Fooasdfasdfasdfasdf nestedA
+}
+
+type nestedA struct {
+ Fooasdfasdfasdfasdf nestedB
+}
+
+type nestedB struct {
+ Fooasdfasdfasdfasdf nestedC
+}
+
+type nestedC struct {
+ Fooasdfasdfasdfasdf string
+}
+
+type nestedSlice struct {
+ A []sliceType
+}
+
+func TestCanSupportEmptyInterface(t *testing.T) {
+ assert := assert.New(t)
+ data := make(map[string]interface{})
+ data["foo"] = "bar"
+ result, err := Search("foo", data)
+ assert.Nil(err)
+ assert.Equal("bar", result)
+}
+
+func TestCanSupportUserDefinedStructsValue(t *testing.T) {
+ assert := assert.New(t)
+ s := scalars{Foo: "one", Bar: "bar"}
+ result, err := Search("Foo", s)
+ assert.Nil(err)
+ assert.Equal("one", result)
+}
+
+func TestCanSupportUserDefinedStructsRef(t *testing.T) {
+ assert := assert.New(t)
+ s := scalars{Foo: "one", Bar: "bar"}
+ result, err := Search("Foo", &s)
+ assert.Nil(err)
+ assert.Equal("one", result)
+}
+
+func TestCanSupportStructWithSliceAll(t *testing.T) {
+ assert := assert.New(t)
+ data := sliceType{A: "foo", B: []scalars{{"f1", "b1"}, {"correct", "b2"}}}
+ result, err := Search("B[].Foo", data)
+ assert.Nil(err)
+ assert.Equal([]interface{}{"f1", "correct"}, result)
+}
+
+func TestCanSupportStructWithSlicingExpression(t *testing.T) {
+ assert := assert.New(t)
+ data := sliceType{A: "foo", B: []scalars{{"f1", "b1"}, {"correct", "b2"}}}
+ result, err := Search("B[:].Foo", data)
+ assert.Nil(err)
+ assert.Equal([]interface{}{"f1", "correct"}, result)
+}
+
+func TestCanSupportStructWithFilterProjection(t *testing.T) {
+ assert := assert.New(t)
+ data := sliceType{A: "foo", B: []scalars{{"f1", "b1"}, {"correct", "b2"}}}
+ result, err := Search("B[? `true` ].Foo", data)
+ assert.Nil(err)
+ assert.Equal([]interface{}{"f1", "correct"}, result)
+}
+
+func TestCanSupportStructWithSlice(t *testing.T) {
+ assert := assert.New(t)
+ data := sliceType{A: "foo", B: []scalars{{"f1", "b1"}, {"correct", "b2"}}}
+ result, err := Search("B[-1].Foo", data)
+ assert.Nil(err)
+ assert.Equal("correct", result)
+}
+
+func TestCanSupportStructWithOrExpressions(t *testing.T) {
+ assert := assert.New(t)
+ data := sliceType{A: "foo", C: nil}
+ result, err := Search("C || A", data)
+ assert.Nil(err)
+ assert.Equal("foo", result)
+}
+
+func TestCanSupportStructWithSlicePointer(t *testing.T) {
+ assert := assert.New(t)
+ data := sliceType{A: "foo", C: []*scalars{{"f1", "b1"}, {"correct", "b2"}}}
+ result, err := Search("C[-1].Foo", data)
+ assert.Nil(err)
+ assert.Equal("correct", result)
+}
+
+func TestWillAutomaticallyCapitalizeFieldNames(t *testing.T) {
+ assert := assert.New(t)
+ s := scalars{Foo: "one", Bar: "bar"}
+ // Note that there's a lower cased "foo" instead of "Foo",
+ // but it should still correspond to the Foo field in the
+ // scalars struct
+ result, err := Search("foo", &s)
+ assert.Nil(err)
+ assert.Equal("one", result)
+}
+
+func TestCanSupportStructWithSliceLowerCased(t *testing.T) {
+ assert := assert.New(t)
+ data := sliceType{A: "foo", B: []scalars{{"f1", "b1"}, {"correct", "b2"}}}
+ result, err := Search("b[-1].foo", data)
+ assert.Nil(err)
+ assert.Equal("correct", result)
+}
+
+func TestCanSupportStructWithNestedPointers(t *testing.T) {
+ assert := assert.New(t)
+ data := struct{ A *struct{ B int } }{}
+ result, err := Search("A.B", data)
+ assert.Nil(err)
+ assert.Nil(result)
+}
+
+func TestCanSupportFlattenNestedSlice(t *testing.T) {
+ assert := assert.New(t)
+ data := nestedSlice{A: []sliceType{
+ {B: []scalars{{Foo: "f1a"}, {Foo: "f1b"}}},
+ {B: []scalars{{Foo: "f2a"}, {Foo: "f2b"}}},
+ }}
+ result, err := Search("A[].B[].Foo", data)
+ assert.Nil(err)
+ assert.Equal([]interface{}{"f1a", "f1b", "f2a", "f2b"}, result)
+}
+
+func TestCanSupportFlattenNestedEmptySlice(t *testing.T) {
+ assert := assert.New(t)
+ data := nestedSlice{A: []sliceType{
+ {}, {B: []scalars{{Foo: "a"}}},
+ }}
+ result, err := Search("A[].B[].Foo", data)
+ assert.Nil(err)
+ assert.Equal([]interface{}{"a"}, result)
+}
+
+func TestCanSupportProjectionsWithStructs(t *testing.T) {
+ assert := assert.New(t)
+ data := nestedSlice{A: []sliceType{
+ {A: "first"}, {A: "second"}, {A: "third"},
+ }}
+ result, err := Search("A[*].A", data)
+ assert.Nil(err)
+ assert.Equal([]interface{}{"first", "second", "third"}, result)
+}
+
+func TestCanSupportSliceOfStructsWithFunctions(t *testing.T) {
+ assert := assert.New(t)
+ data := []scalars{scalars{"a1", "b1"}, scalars{"a2", "b2"}}
+ result, err := Search("length(@)", data)
+ assert.Nil(err)
+ assert.Equal(result.(float64), 2.0)
+}
+
+func BenchmarkInterpretSingleFieldStruct(b *testing.B) {
+ intr := newInterpreter()
+ parser := NewParser()
+ ast, _ := parser.Parse("fooasdfasdfasdfasdf")
+ data := benchmarkStruct{"foobarbazqux"}
+ for i := 0; i < b.N; i++ {
+ intr.Execute(ast, &data)
+ }
+}
+
+func BenchmarkInterpretNestedStruct(b *testing.B) {
+ intr := newInterpreter()
+ parser := NewParser()
+ ast, _ := parser.Parse("fooasdfasdfasdfasdf.fooasdfasdfasdfasdf.fooasdfasdfasdfasdf.fooasdfasdfasdfasdf")
+ data := benchmarkNested{
+ nestedA{
+ nestedB{
+ nestedC{"foobarbazqux"},
+ },
+ },
+ }
+ for i := 0; i < b.N; i++ {
+ intr.Execute(ast, &data)
+ }
+}
+
+func BenchmarkInterpretNestedMaps(b *testing.B) {
+ jsonData := []byte(`{"fooasdfasdfasdfasdf": {"fooasdfasdfasdfasdf": {"fooasdfasdfasdfasdf": {"fooasdfasdfasdfasdf": "foobarbazqux"}}}}`)
+ var data interface{}
+ json.Unmarshal(jsonData, &data)
+
+ intr := newInterpreter()
+ parser := NewParser()
+ ast, _ := parser.Parse("fooasdfasdfasdfasdf.fooasdfasdfasdfasdf.fooasdfasdfasdfasdf.fooasdfasdfasdfasdf")
+ for i := 0; i < b.N; i++ {
+ intr.Execute(ast, data)
+ }
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/lexer.go b/vendor/github.com/jmespath/go-jmespath/lexer.go
new file mode 100644
index 00000000..817900c8
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/lexer.go
@@ -0,0 +1,420 @@
+package jmespath
+
+import (
+ "bytes"
+ "encoding/json"
+ "fmt"
+ "strconv"
+ "strings"
+ "unicode/utf8"
+)
+
+type token struct {
+ tokenType tokType
+ value string
+ position int
+ length int
+}
+
+type tokType int
+
+const eof = -1
+
+// Lexer contains information about the expression being tokenized.
+type Lexer struct {
+ expression string // The expression provided by the user.
+ currentPos int // The current position in the string.
+ lastWidth int // The width of the current rune. This
+ buf bytes.Buffer // Internal buffer used for building up values.
+}
+
+// SyntaxError is the main error used whenever a lexing or parsing error occurs.
+type SyntaxError struct {
+ msg string // Error message displayed to user
+ Expression string // Expression that generated a SyntaxError
+ Offset int // The location in the string where the error occurred
+}
+
+func (e SyntaxError) Error() string {
+ // In the future, it would be good to underline the specific
+ // location where the error occurred.
+ return "SyntaxError: " + e.msg
+}
+
+// HighlightLocation will show where the syntax error occurred.
+// It will place a "^" character on a line below the expression
+// at the point where the syntax error occurred.
+func (e SyntaxError) HighlightLocation() string {
+ return e.Expression + "\n" + strings.Repeat(" ", e.Offset) + "^"
+}
+
+//go:generate stringer -type=tokType
+const (
+ tUnknown tokType = iota
+ tStar
+ tDot
+ tFilter
+ tFlatten
+ tLparen
+ tRparen
+ tLbracket
+ tRbracket
+ tLbrace
+ tRbrace
+ tOr
+ tPipe
+ tNumber
+ tUnquotedIdentifier
+ tQuotedIdentifier
+ tComma
+ tColon
+ tLT
+ tLTE
+ tGT
+ tGTE
+ tEQ
+ tNE
+ tJSONLiteral
+ tStringLiteral
+ tCurrent
+ tExpref
+ tAnd
+ tNot
+ tEOF
+)
+
+var basicTokens = map[rune]tokType{
+ '.': tDot,
+ '*': tStar,
+ ',': tComma,
+ ':': tColon,
+ '{': tLbrace,
+ '}': tRbrace,
+ ']': tRbracket, // tLbracket not included because it could be "[]"
+ '(': tLparen,
+ ')': tRparen,
+ '@': tCurrent,
+}
+
+// Bit mask for [a-zA-Z_] shifted down 64 bits to fit in a single uint64.
+// When using this bitmask just be sure to shift the rune down 64 bits
+// before checking against identifierStartBits.
+const identifierStartBits uint64 = 576460745995190270
+
+// Bit mask for [a-zA-Z0-9], 128 bits -> 2 uint64s.
+var identifierTrailingBits = [2]uint64{287948901175001088, 576460745995190270}
+
+var whiteSpace = map[rune]bool{
+ ' ': true, '\t': true, '\n': true, '\r': true,
+}
+
+func (t token) String() string {
+ return fmt.Sprintf("Token{%+v, %s, %d, %d}",
+ t.tokenType, t.value, t.position, t.length)
+}
+
+// NewLexer creates a new JMESPath lexer.
+func NewLexer() *Lexer {
+ lexer := Lexer{}
+ return &lexer
+}
+
+func (lexer *Lexer) next() rune {
+ if lexer.currentPos >= len(lexer.expression) {
+ lexer.lastWidth = 0
+ return eof
+ }
+ r, w := utf8.DecodeRuneInString(lexer.expression[lexer.currentPos:])
+ lexer.lastWidth = w
+ lexer.currentPos += w
+ return r
+}
+
+func (lexer *Lexer) back() {
+ lexer.currentPos -= lexer.lastWidth
+}
+
+func (lexer *Lexer) peek() rune {
+ t := lexer.next()
+ lexer.back()
+ return t
+}
+
+// tokenize takes an expression and returns corresponding tokens.
+func (lexer *Lexer) tokenize(expression string) ([]token, error) {
+ var tokens []token
+ lexer.expression = expression
+ lexer.currentPos = 0
+ lexer.lastWidth = 0
+loop:
+ for {
+ r := lexer.next()
+ if identifierStartBits&(1<<(uint64(r)-64)) > 0 {
+ t := lexer.consumeUnquotedIdentifier()
+ tokens = append(tokens, t)
+ } else if val, ok := basicTokens[r]; ok {
+ // Basic single char token.
+ t := token{
+ tokenType: val,
+ value: string(r),
+ position: lexer.currentPos - lexer.lastWidth,
+ length: 1,
+ }
+ tokens = append(tokens, t)
+ } else if r == '-' || (r >= '0' && r <= '9') {
+ t := lexer.consumeNumber()
+ tokens = append(tokens, t)
+ } else if r == '[' {
+ t := lexer.consumeLBracket()
+ tokens = append(tokens, t)
+ } else if r == '"' {
+ t, err := lexer.consumeQuotedIdentifier()
+ if err != nil {
+ return tokens, err
+ }
+ tokens = append(tokens, t)
+ } else if r == '\'' {
+ t, err := lexer.consumeRawStringLiteral()
+ if err != nil {
+ return tokens, err
+ }
+ tokens = append(tokens, t)
+ } else if r == '`' {
+ t, err := lexer.consumeLiteral()
+ if err != nil {
+ return tokens, err
+ }
+ tokens = append(tokens, t)
+ } else if r == '|' {
+ t := lexer.matchOrElse(r, '|', tOr, tPipe)
+ tokens = append(tokens, t)
+ } else if r == '<' {
+ t := lexer.matchOrElse(r, '=', tLTE, tLT)
+ tokens = append(tokens, t)
+ } else if r == '>' {
+ t := lexer.matchOrElse(r, '=', tGTE, tGT)
+ tokens = append(tokens, t)
+ } else if r == '!' {
+ t := lexer.matchOrElse(r, '=', tNE, tNot)
+ tokens = append(tokens, t)
+ } else if r == '=' {
+ t := lexer.matchOrElse(r, '=', tEQ, tUnknown)
+ tokens = append(tokens, t)
+ } else if r == '&' {
+ t := lexer.matchOrElse(r, '&', tAnd, tExpref)
+ tokens = append(tokens, t)
+ } else if r == eof {
+ break loop
+ } else if _, ok := whiteSpace[r]; ok {
+ // Ignore whitespace
+ } else {
+ return tokens, lexer.syntaxError(fmt.Sprintf("Unknown char: %s", strconv.QuoteRuneToASCII(r)))
+ }
+ }
+ tokens = append(tokens, token{tEOF, "", len(lexer.expression), 0})
+ return tokens, nil
+}
+
+// Consume characters until the ending rune "r" is reached.
+// If the end of the expression is reached before seeing the
+// terminating rune "r", then an error is returned.
+// If no error occurs then the matching substring is returned.
+// The returned string will not include the ending rune.
+func (lexer *Lexer) consumeUntil(end rune) (string, error) {
+ start := lexer.currentPos
+ current := lexer.next()
+ for current != end && current != eof {
+ if current == '\\' && lexer.peek() != eof {
+ lexer.next()
+ }
+ current = lexer.next()
+ }
+ if lexer.lastWidth == 0 {
+ // Then we hit an EOF so we never reached the closing
+ // delimiter.
+ return "", SyntaxError{
+ msg: "Unclosed delimiter: " + string(end),
+ Expression: lexer.expression,
+ Offset: len(lexer.expression),
+ }
+ }
+ return lexer.expression[start : lexer.currentPos-lexer.lastWidth], nil
+}
+
+func (lexer *Lexer) consumeLiteral() (token, error) {
+ start := lexer.currentPos
+ value, err := lexer.consumeUntil('`')
+ if err != nil {
+ return token{}, err
+ }
+ value = strings.Replace(value, "\\`", "`", -1)
+ return token{
+ tokenType: tJSONLiteral,
+ value: value,
+ position: start,
+ length: len(value),
+ }, nil
+}
+
+func (lexer *Lexer) consumeRawStringLiteral() (token, error) {
+ start := lexer.currentPos
+ currentIndex := start
+ current := lexer.next()
+ for current != '\'' && lexer.peek() != eof {
+ if current == '\\' && lexer.peek() == '\'' {
+ chunk := lexer.expression[currentIndex : lexer.currentPos-1]
+ lexer.buf.WriteString(chunk)
+ lexer.buf.WriteString("'")
+ lexer.next()
+ currentIndex = lexer.currentPos
+ }
+ current = lexer.next()
+ }
+ if lexer.lastWidth == 0 {
+ // Then we hit an EOF so we never reached the closing
+ // delimiter.
+ return token{}, SyntaxError{
+ msg: "Unclosed delimiter: '",
+ Expression: lexer.expression,
+ Offset: len(lexer.expression),
+ }
+ }
+ if currentIndex < lexer.currentPos {
+ lexer.buf.WriteString(lexer.expression[currentIndex : lexer.currentPos-1])
+ }
+ value := lexer.buf.String()
+ // Reset the buffer so it can reused again.
+ lexer.buf.Reset()
+ return token{
+ tokenType: tStringLiteral,
+ value: value,
+ position: start,
+ length: len(value),
+ }, nil
+}
+
+func (lexer *Lexer) syntaxError(msg string) SyntaxError {
+ return SyntaxError{
+ msg: msg,
+ Expression: lexer.expression,
+ Offset: lexer.currentPos - 1,
+ }
+}
+
+// Checks for a two char token, otherwise matches a single character
+// token. This is used whenever a two char token overlaps a single
+// char token, e.g. "||" -> tPipe, "|" -> tOr.
+func (lexer *Lexer) matchOrElse(first rune, second rune, matchedType tokType, singleCharType tokType) token {
+ start := lexer.currentPos - lexer.lastWidth
+ nextRune := lexer.next()
+ var t token
+ if nextRune == second {
+ t = token{
+ tokenType: matchedType,
+ value: string(first) + string(second),
+ position: start,
+ length: 2,
+ }
+ } else {
+ lexer.back()
+ t = token{
+ tokenType: singleCharType,
+ value: string(first),
+ position: start,
+ length: 1,
+ }
+ }
+ return t
+}
+
+func (lexer *Lexer) consumeLBracket() token {
+ // There's three options here:
+ // 1. A filter expression "[?"
+ // 2. A flatten operator "[]"
+ // 3. A bare rbracket "["
+ start := lexer.currentPos - lexer.lastWidth
+ nextRune := lexer.next()
+ var t token
+ if nextRune == '?' {
+ t = token{
+ tokenType: tFilter,
+ value: "[?",
+ position: start,
+ length: 2,
+ }
+ } else if nextRune == ']' {
+ t = token{
+ tokenType: tFlatten,
+ value: "[]",
+ position: start,
+ length: 2,
+ }
+ } else {
+ t = token{
+ tokenType: tLbracket,
+ value: "[",
+ position: start,
+ length: 1,
+ }
+ lexer.back()
+ }
+ return t
+}
+
+func (lexer *Lexer) consumeQuotedIdentifier() (token, error) {
+ start := lexer.currentPos
+ value, err := lexer.consumeUntil('"')
+ if err != nil {
+ return token{}, err
+ }
+ var decoded string
+ asJSON := []byte("\"" + value + "\"")
+ if err := json.Unmarshal([]byte(asJSON), &decoded); err != nil {
+ return token{}, err
+ }
+ return token{
+ tokenType: tQuotedIdentifier,
+ value: decoded,
+ position: start - 1,
+ length: len(decoded),
+ }, nil
+}
+
+func (lexer *Lexer) consumeUnquotedIdentifier() token {
+ // Consume runes until we reach the end of an unquoted
+ // identifier.
+ start := lexer.currentPos - lexer.lastWidth
+ for {
+ r := lexer.next()
+ if r < 0 || r > 128 || identifierTrailingBits[uint64(r)/64]&(1<<(uint64(r)%64)) == 0 {
+ lexer.back()
+ break
+ }
+ }
+ value := lexer.expression[start:lexer.currentPos]
+ return token{
+ tokenType: tUnquotedIdentifier,
+ value: value,
+ position: start,
+ length: lexer.currentPos - start,
+ }
+}
+
+func (lexer *Lexer) consumeNumber() token {
+ // Consume runes until we reach something that's not a number.
+ start := lexer.currentPos - lexer.lastWidth
+ for {
+ r := lexer.next()
+ if r < '0' || r > '9' {
+ lexer.back()
+ break
+ }
+ }
+ value := lexer.expression[start:lexer.currentPos]
+ return token{
+ tokenType: tNumber,
+ value: value,
+ position: start,
+ length: lexer.currentPos - start,
+ }
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/lexer_test.go b/vendor/github.com/jmespath/go-jmespath/lexer_test.go
new file mode 100644
index 00000000..d13a042d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/lexer_test.go
@@ -0,0 +1,161 @@
+package jmespath
+
+import (
+ "fmt"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+var lexingTests = []struct {
+ expression string
+ expected []token
+}{
+ {"*", []token{{tStar, "*", 0, 1}}},
+ {".", []token{{tDot, ".", 0, 1}}},
+ {"[?", []token{{tFilter, "[?", 0, 2}}},
+ {"[]", []token{{tFlatten, "[]", 0, 2}}},
+ {"(", []token{{tLparen, "(", 0, 1}}},
+ {")", []token{{tRparen, ")", 0, 1}}},
+ {"[", []token{{tLbracket, "[", 0, 1}}},
+ {"]", []token{{tRbracket, "]", 0, 1}}},
+ {"{", []token{{tLbrace, "{", 0, 1}}},
+ {"}", []token{{tRbrace, "}", 0, 1}}},
+ {"||", []token{{tOr, "||", 0, 2}}},
+ {"|", []token{{tPipe, "|", 0, 1}}},
+ {"29", []token{{tNumber, "29", 0, 2}}},
+ {"2", []token{{tNumber, "2", 0, 1}}},
+ {"0", []token{{tNumber, "0", 0, 1}}},
+ {"-20", []token{{tNumber, "-20", 0, 3}}},
+ {"foo", []token{{tUnquotedIdentifier, "foo", 0, 3}}},
+ {`"bar"`, []token{{tQuotedIdentifier, "bar", 0, 3}}},
+ // Escaping the delimiter
+ {`"bar\"baz"`, []token{{tQuotedIdentifier, `bar"baz`, 0, 7}}},
+ {",", []token{{tComma, ",", 0, 1}}},
+ {":", []token{{tColon, ":", 0, 1}}},
+ {"<", []token{{tLT, "<", 0, 1}}},
+ {"<=", []token{{tLTE, "<=", 0, 2}}},
+ {">", []token{{tGT, ">", 0, 1}}},
+ {">=", []token{{tGTE, ">=", 0, 2}}},
+ {"==", []token{{tEQ, "==", 0, 2}}},
+ {"!=", []token{{tNE, "!=", 0, 2}}},
+ {"`[0, 1, 2]`", []token{{tJSONLiteral, "[0, 1, 2]", 1, 9}}},
+ {"'foo'", []token{{tStringLiteral, "foo", 1, 3}}},
+ {"'a'", []token{{tStringLiteral, "a", 1, 1}}},
+ {`'foo\'bar'`, []token{{tStringLiteral, "foo'bar", 1, 7}}},
+ {"@", []token{{tCurrent, "@", 0, 1}}},
+ {"&", []token{{tExpref, "&", 0, 1}}},
+ // Quoted identifier unicode escape sequences
+ {`"\u2713"`, []token{{tQuotedIdentifier, "✓", 0, 3}}},
+ {`"\\"`, []token{{tQuotedIdentifier, `\`, 0, 1}}},
+ {"`\"foo\"`", []token{{tJSONLiteral, "\"foo\"", 1, 5}}},
+ // Combinations of tokens.
+ {"foo.bar", []token{
+ {tUnquotedIdentifier, "foo", 0, 3},
+ {tDot, ".", 3, 1},
+ {tUnquotedIdentifier, "bar", 4, 3},
+ }},
+ {"foo[0]", []token{
+ {tUnquotedIdentifier, "foo", 0, 3},
+ {tLbracket, "[", 3, 1},
+ {tNumber, "0", 4, 1},
+ {tRbracket, "]", 5, 1},
+ }},
+ {"foo[?a<b]", []token{
+ {tUnquotedIdentifier, "foo", 0, 3},
+ {tFilter, "[?", 3, 2},
+ {tUnquotedIdentifier, "a", 5, 1},
+ {tLT, "<", 6, 1},
+ {tUnquotedIdentifier, "b", 7, 1},
+ {tRbracket, "]", 8, 1},
+ }},
+}
+
+func TestCanLexTokens(t *testing.T) {
+ assert := assert.New(t)
+ lexer := NewLexer()
+ for _, tt := range lexingTests {
+ tokens, err := lexer.tokenize(tt.expression)
+ if assert.Nil(err) {
+ errMsg := fmt.Sprintf("Mismatch expected number of tokens: (expected: %s, actual: %s)",
+ tt.expected, tokens)
+ tt.expected = append(tt.expected, token{tEOF, "", len(tt.expression), 0})
+ if assert.Equal(len(tt.expected), len(tokens), errMsg) {
+ for i, token := range tokens {
+ expected := tt.expected[i]
+ assert.Equal(expected, token, "Token not equal")
+ }
+ }
+ }
+ }
+}
+
+var lexingErrorTests = []struct {
+ expression string
+ msg string
+}{
+ {"'foo", "Missing closing single quote"},
+ {"[?foo==bar?]", "Unknown char '?'"},
+}
+
+func TestLexingErrors(t *testing.T) {
+ assert := assert.New(t)
+ lexer := NewLexer()
+ for _, tt := range lexingErrorTests {
+ _, err := lexer.tokenize(tt.expression)
+ assert.NotNil(err, fmt.Sprintf("Expected lexing error: %s", tt.msg))
+ }
+}
+
+var exprIdentifier = "abcdefghijklmnopqrstuvwxyz"
+var exprSubexpr = "abcdefghijklmnopqrstuvwxyz.abcdefghijklmnopqrstuvwxyz"
+var deeplyNested50 = "j49.j48.j47.j46.j45.j44.j43.j42.j41.j40.j39.j38.j37.j36.j35.j34.j33.j32.j31.j30.j29.j28.j27.j26.j25.j24.j23.j22.j21.j20.j19.j18.j17.j16.j15.j14.j13.j12.j11.j10.j9.j8.j7.j6.j5.j4.j3.j2.j1.j0"
+var deeplyNested50Pipe = "j49|j48|j47|j46|j45|j44|j43|j42|j41|j40|j39|j38|j37|j36|j35|j34|j33|j32|j31|j30|j29|j28|j27|j26|j25|j24|j23|j22|j21|j20|j19|j18|j17|j16|j15|j14|j13|j12|j11|j10|j9|j8|j7|j6|j5|j4|j3|j2|j1|j0"
+var deeplyNested50Index = "[49][48][47][46][45][44][43][42][41][40][39][38][37][36][35][34][33][32][31][30][29][28][27][26][25][24][23][22][21][20][19][18][17][16][15][14][13][12][11][10][9][8][7][6][5][4][3][2][1][0]"
+var deepProjection104 = "a[*].b[*].c[*].d[*].e[*].f[*].g[*].h[*].i[*].j[*].k[*].l[*].m[*].n[*].o[*].p[*].q[*].r[*].s[*].t[*].u[*].v[*].w[*].x[*].y[*].z[*].a[*].b[*].c[*].d[*].e[*].f[*].g[*].h[*].i[*].j[*].k[*].l[*].m[*].n[*].o[*].p[*].q[*].r[*].s[*].t[*].u[*].v[*].w[*].x[*].y[*].z[*].a[*].b[*].c[*].d[*].e[*].f[*].g[*].h[*].i[*].j[*].k[*].l[*].m[*].n[*].o[*].p[*].q[*].r[*].s[*].t[*].u[*].v[*].w[*].x[*].y[*].z[*].a[*].b[*].c[*].d[*].e[*].f[*].g[*].h[*].i[*].j[*].k[*].l[*].m[*].n[*].o[*].p[*].q[*].r[*].s[*].t[*].u[*].v[*].w[*].x[*].y[*].z[*]"
+var exprQuotedIdentifier = `"abcdefghijklmnopqrstuvwxyz.abcdefghijklmnopqrstuvwxyz"`
+var quotedIdentifierEscapes = `"\n\r\b\t\n\r\b\t\n\r\b\t\n\r\b\t\n\r\b\t\n\r\b\t\n\r\b\t"`
+var rawStringLiteral = `'abcdefghijklmnopqrstuvwxyz.abcdefghijklmnopqrstuvwxyz'`
+
+func BenchmarkLexIdentifier(b *testing.B) {
+ runLexBenchmark(b, exprIdentifier)
+}
+
+func BenchmarkLexSubexpression(b *testing.B) {
+ runLexBenchmark(b, exprSubexpr)
+}
+
+func BenchmarkLexDeeplyNested50(b *testing.B) {
+ runLexBenchmark(b, deeplyNested50)
+}
+
+func BenchmarkLexDeepNested50Pipe(b *testing.B) {
+ runLexBenchmark(b, deeplyNested50Pipe)
+}
+
+func BenchmarkLexDeepNested50Index(b *testing.B) {
+ runLexBenchmark(b, deeplyNested50Index)
+}
+
+func BenchmarkLexQuotedIdentifier(b *testing.B) {
+ runLexBenchmark(b, exprQuotedIdentifier)
+}
+
+func BenchmarkLexQuotedIdentifierEscapes(b *testing.B) {
+ runLexBenchmark(b, quotedIdentifierEscapes)
+}
+
+func BenchmarkLexRawStringLiteral(b *testing.B) {
+ runLexBenchmark(b, rawStringLiteral)
+}
+
+func BenchmarkLexDeepProjection104(b *testing.B) {
+ runLexBenchmark(b, deepProjection104)
+}
+
+func runLexBenchmark(b *testing.B, expression string) {
+ lexer := NewLexer()
+ for i := 0; i < b.N; i++ {
+ lexer.tokenize(expression)
+ }
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/parser.go b/vendor/github.com/jmespath/go-jmespath/parser.go
new file mode 100644
index 00000000..1240a175
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/parser.go
@@ -0,0 +1,603 @@
+package jmespath
+
+import (
+ "encoding/json"
+ "fmt"
+ "strconv"
+ "strings"
+)
+
+type astNodeType int
+
+//go:generate stringer -type astNodeType
+const (
+ ASTEmpty astNodeType = iota
+ ASTComparator
+ ASTCurrentNode
+ ASTExpRef
+ ASTFunctionExpression
+ ASTField
+ ASTFilterProjection
+ ASTFlatten
+ ASTIdentity
+ ASTIndex
+ ASTIndexExpression
+ ASTKeyValPair
+ ASTLiteral
+ ASTMultiSelectHash
+ ASTMultiSelectList
+ ASTOrExpression
+ ASTAndExpression
+ ASTNotExpression
+ ASTPipe
+ ASTProjection
+ ASTSubexpression
+ ASTSlice
+ ASTValueProjection
+)
+
+// ASTNode represents the abstract syntax tree of a JMESPath expression.
+type ASTNode struct {
+ nodeType astNodeType
+ value interface{}
+ children []ASTNode
+}
+
+func (node ASTNode) String() string {
+ return node.PrettyPrint(0)
+}
+
+// PrettyPrint will pretty print the parsed AST.
+// The AST is an implementation detail and this pretty print
+// function is provided as a convenience method to help with
+// debugging. You should not rely on its output as the internal
+// structure of the AST may change at any time.
+func (node ASTNode) PrettyPrint(indent int) string {
+ spaces := strings.Repeat(" ", indent)
+ output := fmt.Sprintf("%s%s {\n", spaces, node.nodeType)
+ nextIndent := indent + 2
+ if node.value != nil {
+ if converted, ok := node.value.(fmt.Stringer); ok {
+ // Account for things like comparator nodes
+ // that are enums with a String() method.
+ output += fmt.Sprintf("%svalue: %s\n", strings.Repeat(" ", nextIndent), converted.String())
+ } else {
+ output += fmt.Sprintf("%svalue: %#v\n", strings.Repeat(" ", nextIndent), node.value)
+ }
+ }
+ lastIndex := len(node.children)
+ if lastIndex > 0 {
+ output += fmt.Sprintf("%schildren: {\n", strings.Repeat(" ", nextIndent))
+ childIndent := nextIndent + 2
+ for _, elem := range node.children {
+ output += elem.PrettyPrint(childIndent)
+ }
+ }
+ output += fmt.Sprintf("%s}\n", spaces)
+ return output
+}
+
+var bindingPowers = map[tokType]int{
+ tEOF: 0,
+ tUnquotedIdentifier: 0,
+ tQuotedIdentifier: 0,
+ tRbracket: 0,
+ tRparen: 0,
+ tComma: 0,
+ tRbrace: 0,
+ tNumber: 0,
+ tCurrent: 0,
+ tExpref: 0,
+ tColon: 0,
+ tPipe: 1,
+ tOr: 2,
+ tAnd: 3,
+ tEQ: 5,
+ tLT: 5,
+ tLTE: 5,
+ tGT: 5,
+ tGTE: 5,
+ tNE: 5,
+ tFlatten: 9,
+ tStar: 20,
+ tFilter: 21,
+ tDot: 40,
+ tNot: 45,
+ tLbrace: 50,
+ tLbracket: 55,
+ tLparen: 60,
+}
+
+// Parser holds state about the current expression being parsed.
+type Parser struct {
+ expression string
+ tokens []token
+ index int
+}
+
+// NewParser creates a new JMESPath parser.
+func NewParser() *Parser {
+ p := Parser{}
+ return &p
+}
+
+// Parse will compile a JMESPath expression.
+func (p *Parser) Parse(expression string) (ASTNode, error) {
+ lexer := NewLexer()
+ p.expression = expression
+ p.index = 0
+ tokens, err := lexer.tokenize(expression)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ p.tokens = tokens
+ parsed, err := p.parseExpression(0)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ if p.current() != tEOF {
+ return ASTNode{}, p.syntaxError(fmt.Sprintf(
+ "Unexpected token at the end of the expresssion: %s", p.current()))
+ }
+ return parsed, nil
+}
+
+func (p *Parser) parseExpression(bindingPower int) (ASTNode, error) {
+ var err error
+ leftToken := p.lookaheadToken(0)
+ p.advance()
+ leftNode, err := p.nud(leftToken)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ currentToken := p.current()
+ for bindingPower < bindingPowers[currentToken] {
+ p.advance()
+ leftNode, err = p.led(currentToken, leftNode)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ currentToken = p.current()
+ }
+ return leftNode, nil
+}
+
+func (p *Parser) parseIndexExpression() (ASTNode, error) {
+ if p.lookahead(0) == tColon || p.lookahead(1) == tColon {
+ return p.parseSliceExpression()
+ }
+ indexStr := p.lookaheadToken(0).value
+ parsedInt, err := strconv.Atoi(indexStr)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ indexNode := ASTNode{nodeType: ASTIndex, value: parsedInt}
+ p.advance()
+ if err := p.match(tRbracket); err != nil {
+ return ASTNode{}, err
+ }
+ return indexNode, nil
+}
+
+func (p *Parser) parseSliceExpression() (ASTNode, error) {
+ parts := []*int{nil, nil, nil}
+ index := 0
+ current := p.current()
+ for current != tRbracket && index < 3 {
+ if current == tColon {
+ index++
+ p.advance()
+ } else if current == tNumber {
+ parsedInt, err := strconv.Atoi(p.lookaheadToken(0).value)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ parts[index] = &parsedInt
+ p.advance()
+ } else {
+ return ASTNode{}, p.syntaxError(
+ "Expected tColon or tNumber" + ", received: " + p.current().String())
+ }
+ current = p.current()
+ }
+ if err := p.match(tRbracket); err != nil {
+ return ASTNode{}, err
+ }
+ return ASTNode{
+ nodeType: ASTSlice,
+ value: parts,
+ }, nil
+}
+
+func (p *Parser) match(tokenType tokType) error {
+ if p.current() == tokenType {
+ p.advance()
+ return nil
+ }
+ return p.syntaxError("Expected " + tokenType.String() + ", received: " + p.current().String())
+}
+
+func (p *Parser) led(tokenType tokType, node ASTNode) (ASTNode, error) {
+ switch tokenType {
+ case tDot:
+ if p.current() != tStar {
+ right, err := p.parseDotRHS(bindingPowers[tDot])
+ return ASTNode{
+ nodeType: ASTSubexpression,
+ children: []ASTNode{node, right},
+ }, err
+ }
+ p.advance()
+ right, err := p.parseProjectionRHS(bindingPowers[tDot])
+ return ASTNode{
+ nodeType: ASTValueProjection,
+ children: []ASTNode{node, right},
+ }, err
+ case tPipe:
+ right, err := p.parseExpression(bindingPowers[tPipe])
+ return ASTNode{nodeType: ASTPipe, children: []ASTNode{node, right}}, err
+ case tOr:
+ right, err := p.parseExpression(bindingPowers[tOr])
+ return ASTNode{nodeType: ASTOrExpression, children: []ASTNode{node, right}}, err
+ case tAnd:
+ right, err := p.parseExpression(bindingPowers[tAnd])
+ return ASTNode{nodeType: ASTAndExpression, children: []ASTNode{node, right}}, err
+ case tLparen:
+ name := node.value
+ var args []ASTNode
+ for p.current() != tRparen {
+ expression, err := p.parseExpression(0)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ if p.current() == tComma {
+ if err := p.match(tComma); err != nil {
+ return ASTNode{}, err
+ }
+ }
+ args = append(args, expression)
+ }
+ if err := p.match(tRparen); err != nil {
+ return ASTNode{}, err
+ }
+ return ASTNode{
+ nodeType: ASTFunctionExpression,
+ value: name,
+ children: args,
+ }, nil
+ case tFilter:
+ return p.parseFilter(node)
+ case tFlatten:
+ left := ASTNode{nodeType: ASTFlatten, children: []ASTNode{node}}
+ right, err := p.parseProjectionRHS(bindingPowers[tFlatten])
+ return ASTNode{
+ nodeType: ASTProjection,
+ children: []ASTNode{left, right},
+ }, err
+ case tEQ, tNE, tGT, tGTE, tLT, tLTE:
+ right, err := p.parseExpression(bindingPowers[tokenType])
+ if err != nil {
+ return ASTNode{}, err
+ }
+ return ASTNode{
+ nodeType: ASTComparator,
+ value: tokenType,
+ children: []ASTNode{node, right},
+ }, nil
+ case tLbracket:
+ tokenType := p.current()
+ var right ASTNode
+ var err error
+ if tokenType == tNumber || tokenType == tColon {
+ right, err = p.parseIndexExpression()
+ if err != nil {
+ return ASTNode{}, err
+ }
+ return p.projectIfSlice(node, right)
+ }
+ // Otherwise this is a projection.
+ if err := p.match(tStar); err != nil {
+ return ASTNode{}, err
+ }
+ if err := p.match(tRbracket); err != nil {
+ return ASTNode{}, err
+ }
+ right, err = p.parseProjectionRHS(bindingPowers[tStar])
+ if err != nil {
+ return ASTNode{}, err
+ }
+ return ASTNode{
+ nodeType: ASTProjection,
+ children: []ASTNode{node, right},
+ }, nil
+ }
+ return ASTNode{}, p.syntaxError("Unexpected token: " + tokenType.String())
+}
+
+func (p *Parser) nud(token token) (ASTNode, error) {
+ switch token.tokenType {
+ case tJSONLiteral:
+ var parsed interface{}
+ err := json.Unmarshal([]byte(token.value), &parsed)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ return ASTNode{nodeType: ASTLiteral, value: parsed}, nil
+ case tStringLiteral:
+ return ASTNode{nodeType: ASTLiteral, value: token.value}, nil
+ case tUnquotedIdentifier:
+ return ASTNode{
+ nodeType: ASTField,
+ value: token.value,
+ }, nil
+ case tQuotedIdentifier:
+ node := ASTNode{nodeType: ASTField, value: token.value}
+ if p.current() == tLparen {
+ return ASTNode{}, p.syntaxErrorToken("Can't have quoted identifier as function name.", token)
+ }
+ return node, nil
+ case tStar:
+ left := ASTNode{nodeType: ASTIdentity}
+ var right ASTNode
+ var err error
+ if p.current() == tRbracket {
+ right = ASTNode{nodeType: ASTIdentity}
+ } else {
+ right, err = p.parseProjectionRHS(bindingPowers[tStar])
+ }
+ return ASTNode{nodeType: ASTValueProjection, children: []ASTNode{left, right}}, err
+ case tFilter:
+ return p.parseFilter(ASTNode{nodeType: ASTIdentity})
+ case tLbrace:
+ return p.parseMultiSelectHash()
+ case tFlatten:
+ left := ASTNode{
+ nodeType: ASTFlatten,
+ children: []ASTNode{{nodeType: ASTIdentity}},
+ }
+ right, err := p.parseProjectionRHS(bindingPowers[tFlatten])
+ if err != nil {
+ return ASTNode{}, err
+ }
+ return ASTNode{nodeType: ASTProjection, children: []ASTNode{left, right}}, nil
+ case tLbracket:
+ tokenType := p.current()
+ //var right ASTNode
+ if tokenType == tNumber || tokenType == tColon {
+ right, err := p.parseIndexExpression()
+ if err != nil {
+ return ASTNode{}, nil
+ }
+ return p.projectIfSlice(ASTNode{nodeType: ASTIdentity}, right)
+ } else if tokenType == tStar && p.lookahead(1) == tRbracket {
+ p.advance()
+ p.advance()
+ right, err := p.parseProjectionRHS(bindingPowers[tStar])
+ if err != nil {
+ return ASTNode{}, err
+ }
+ return ASTNode{
+ nodeType: ASTProjection,
+ children: []ASTNode{{nodeType: ASTIdentity}, right},
+ }, nil
+ } else {
+ return p.parseMultiSelectList()
+ }
+ case tCurrent:
+ return ASTNode{nodeType: ASTCurrentNode}, nil
+ case tExpref:
+ expression, err := p.parseExpression(bindingPowers[tExpref])
+ if err != nil {
+ return ASTNode{}, err
+ }
+ return ASTNode{nodeType: ASTExpRef, children: []ASTNode{expression}}, nil
+ case tNot:
+ expression, err := p.parseExpression(bindingPowers[tNot])
+ if err != nil {
+ return ASTNode{}, err
+ }
+ return ASTNode{nodeType: ASTNotExpression, children: []ASTNode{expression}}, nil
+ case tLparen:
+ expression, err := p.parseExpression(0)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ if err := p.match(tRparen); err != nil {
+ return ASTNode{}, err
+ }
+ return expression, nil
+ case tEOF:
+ return ASTNode{}, p.syntaxErrorToken("Incomplete expression", token)
+ }
+
+ return ASTNode{}, p.syntaxErrorToken("Invalid token: "+token.tokenType.String(), token)
+}
+
+func (p *Parser) parseMultiSelectList() (ASTNode, error) {
+ var expressions []ASTNode
+ for {
+ expression, err := p.parseExpression(0)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ expressions = append(expressions, expression)
+ if p.current() == tRbracket {
+ break
+ }
+ err = p.match(tComma)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ }
+ err := p.match(tRbracket)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ return ASTNode{
+ nodeType: ASTMultiSelectList,
+ children: expressions,
+ }, nil
+}
+
+func (p *Parser) parseMultiSelectHash() (ASTNode, error) {
+ var children []ASTNode
+ for {
+ keyToken := p.lookaheadToken(0)
+ if err := p.match(tUnquotedIdentifier); err != nil {
+ if err := p.match(tQuotedIdentifier); err != nil {
+ return ASTNode{}, p.syntaxError("Expected tQuotedIdentifier or tUnquotedIdentifier")
+ }
+ }
+ keyName := keyToken.value
+ err := p.match(tColon)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ value, err := p.parseExpression(0)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ node := ASTNode{
+ nodeType: ASTKeyValPair,
+ value: keyName,
+ children: []ASTNode{value},
+ }
+ children = append(children, node)
+ if p.current() == tComma {
+ err := p.match(tComma)
+ if err != nil {
+ return ASTNode{}, nil
+ }
+ } else if p.current() == tRbrace {
+ err := p.match(tRbrace)
+ if err != nil {
+ return ASTNode{}, nil
+ }
+ break
+ }
+ }
+ return ASTNode{
+ nodeType: ASTMultiSelectHash,
+ children: children,
+ }, nil
+}
+
+func (p *Parser) projectIfSlice(left ASTNode, right ASTNode) (ASTNode, error) {
+ indexExpr := ASTNode{
+ nodeType: ASTIndexExpression,
+ children: []ASTNode{left, right},
+ }
+ if right.nodeType == ASTSlice {
+ right, err := p.parseProjectionRHS(bindingPowers[tStar])
+ return ASTNode{
+ nodeType: ASTProjection,
+ children: []ASTNode{indexExpr, right},
+ }, err
+ }
+ return indexExpr, nil
+}
+func (p *Parser) parseFilter(node ASTNode) (ASTNode, error) {
+ var right, condition ASTNode
+ var err error
+ condition, err = p.parseExpression(0)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ if err := p.match(tRbracket); err != nil {
+ return ASTNode{}, err
+ }
+ if p.current() == tFlatten {
+ right = ASTNode{nodeType: ASTIdentity}
+ } else {
+ right, err = p.parseProjectionRHS(bindingPowers[tFilter])
+ if err != nil {
+ return ASTNode{}, err
+ }
+ }
+
+ return ASTNode{
+ nodeType: ASTFilterProjection,
+ children: []ASTNode{node, right, condition},
+ }, nil
+}
+
+func (p *Parser) parseDotRHS(bindingPower int) (ASTNode, error) {
+ lookahead := p.current()
+ if tokensOneOf([]tokType{tQuotedIdentifier, tUnquotedIdentifier, tStar}, lookahead) {
+ return p.parseExpression(bindingPower)
+ } else if lookahead == tLbracket {
+ if err := p.match(tLbracket); err != nil {
+ return ASTNode{}, err
+ }
+ return p.parseMultiSelectList()
+ } else if lookahead == tLbrace {
+ if err := p.match(tLbrace); err != nil {
+ return ASTNode{}, err
+ }
+ return p.parseMultiSelectHash()
+ }
+ return ASTNode{}, p.syntaxError("Expected identifier, lbracket, or lbrace")
+}
+
+func (p *Parser) parseProjectionRHS(bindingPower int) (ASTNode, error) {
+ current := p.current()
+ if bindingPowers[current] < 10 {
+ return ASTNode{nodeType: ASTIdentity}, nil
+ } else if current == tLbracket {
+ return p.parseExpression(bindingPower)
+ } else if current == tFilter {
+ return p.parseExpression(bindingPower)
+ } else if current == tDot {
+ err := p.match(tDot)
+ if err != nil {
+ return ASTNode{}, err
+ }
+ return p.parseDotRHS(bindingPower)
+ } else {
+ return ASTNode{}, p.syntaxError("Error")
+ }
+}
+
+func (p *Parser) lookahead(number int) tokType {
+ return p.lookaheadToken(number).tokenType
+}
+
+func (p *Parser) current() tokType {
+ return p.lookahead(0)
+}
+
+func (p *Parser) lookaheadToken(number int) token {
+ return p.tokens[p.index+number]
+}
+
+func (p *Parser) advance() {
+ p.index++
+}
+
+func tokensOneOf(elements []tokType, token tokType) bool {
+ for _, elem := range elements {
+ if elem == token {
+ return true
+ }
+ }
+ return false
+}
+
+func (p *Parser) syntaxError(msg string) SyntaxError {
+ return SyntaxError{
+ msg: msg,
+ Expression: p.expression,
+ Offset: p.lookaheadToken(0).position,
+ }
+}
+
+// Create a SyntaxError based on the provided token.
+// This differs from syntaxError() which creates a SyntaxError
+// based on the current lookahead token.
+func (p *Parser) syntaxErrorToken(msg string, t token) SyntaxError {
+ return SyntaxError{
+ msg: msg,
+ Expression: p.expression,
+ Offset: t.position,
+ }
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/parser_test.go b/vendor/github.com/jmespath/go-jmespath/parser_test.go
new file mode 100644
index 00000000..997a0f4d
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/parser_test.go
@@ -0,0 +1,136 @@
+package jmespath
+
+import (
+ "fmt"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+var parsingErrorTests = []struct {
+ expression string
+ msg string
+}{
+ {"foo.", "Incopmlete expression"},
+ {"[foo", "Incopmlete expression"},
+ {"]", "Invalid"},
+ {")", "Invalid"},
+ {"}", "Invalid"},
+ {"foo..bar", "Invalid"},
+ {`foo."bar`, "Forwards lexer errors"},
+ {`{foo: bar`, "Incomplete expression"},
+ {`{foo bar}`, "Invalid"},
+ {`[foo bar]`, "Invalid"},
+ {`foo@`, "Invalid"},
+ {`&&&&&&&&&&&&t(`, "Invalid"},
+ {`[*][`, "Invalid"},
+}
+
+func TestParsingErrors(t *testing.T) {
+ assert := assert.New(t)
+ parser := NewParser()
+ for _, tt := range parsingErrorTests {
+ _, err := parser.Parse(tt.expression)
+ assert.NotNil(err, fmt.Sprintf("Expected parsing error: %s, for expression: %s", tt.msg, tt.expression))
+ }
+}
+
+var prettyPrinted = `ASTProjection {
+ children: {
+ ASTField {
+ value: "foo"
+ }
+ ASTSubexpression {
+ children: {
+ ASTSubexpression {
+ children: {
+ ASTField {
+ value: "bar"
+ }
+ ASTField {
+ value: "baz"
+ }
+ }
+ ASTField {
+ value: "qux"
+ }
+ }
+}
+`
+
+var prettyPrintedCompNode = `ASTFilterProjection {
+ children: {
+ ASTField {
+ value: "a"
+ }
+ ASTIdentity {
+ }
+ ASTComparator {
+ value: tLTE
+ children: {
+ ASTField {
+ value: "b"
+ }
+ ASTField {
+ value: "c"
+ }
+ }
+}
+`
+
+func TestPrettyPrintedAST(t *testing.T) {
+ assert := assert.New(t)
+ parser := NewParser()
+ parsed, _ := parser.Parse("foo[*].bar.baz.qux")
+ assert.Equal(parsed.PrettyPrint(0), prettyPrinted)
+}
+
+func TestPrettyPrintedCompNode(t *testing.T) {
+ assert := assert.New(t)
+ parser := NewParser()
+ parsed, _ := parser.Parse("a[?b<=c]")
+ assert.Equal(parsed.PrettyPrint(0), prettyPrintedCompNode)
+}
+
+func BenchmarkParseIdentifier(b *testing.B) {
+ runParseBenchmark(b, exprIdentifier)
+}
+
+func BenchmarkParseSubexpression(b *testing.B) {
+ runParseBenchmark(b, exprSubexpr)
+}
+
+func BenchmarkParseDeeplyNested50(b *testing.B) {
+ runParseBenchmark(b, deeplyNested50)
+}
+
+func BenchmarkParseDeepNested50Pipe(b *testing.B) {
+ runParseBenchmark(b, deeplyNested50Pipe)
+}
+
+func BenchmarkParseDeepNested50Index(b *testing.B) {
+ runParseBenchmark(b, deeplyNested50Index)
+}
+
+func BenchmarkParseQuotedIdentifier(b *testing.B) {
+ runParseBenchmark(b, exprQuotedIdentifier)
+}
+
+func BenchmarkParseQuotedIdentifierEscapes(b *testing.B) {
+ runParseBenchmark(b, quotedIdentifierEscapes)
+}
+
+func BenchmarkParseRawStringLiteral(b *testing.B) {
+ runParseBenchmark(b, rawStringLiteral)
+}
+
+func BenchmarkParseDeepProjection104(b *testing.B) {
+ runParseBenchmark(b, deepProjection104)
+}
+
+func runParseBenchmark(b *testing.B, expression string) {
+ parser := NewParser()
+ for i := 0; i < b.N; i++ {
+ parser.Parse(expression)
+ }
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/toktype_string.go b/vendor/github.com/jmespath/go-jmespath/toktype_string.go
new file mode 100644
index 00000000..dae79cbd
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/toktype_string.go
@@ -0,0 +1,16 @@
+// generated by stringer -type=tokType; DO NOT EDIT
+
+package jmespath
+
+import "fmt"
+
+const _tokType_name = "tUnknowntStartDottFiltertFlattentLparentRparentLbrackettRbrackettLbracetRbracetOrtPipetNumbertUnquotedIdentifiertQuotedIdentifiertCommatColontLTtLTEtGTtGTEtEQtNEtJSONLiteraltStringLiteraltCurrenttExpreftAndtNottEOF"
+
+var _tokType_index = [...]uint8{0, 8, 13, 17, 24, 32, 39, 46, 55, 64, 71, 78, 81, 86, 93, 112, 129, 135, 141, 144, 148, 151, 155, 158, 161, 173, 187, 195, 202, 206, 210, 214}
+
+func (i tokType) String() string {
+ if i < 0 || i >= tokType(len(_tokType_index)-1) {
+ return fmt.Sprintf("tokType(%d)", i)
+ }
+ return _tokType_name[_tokType_index[i]:_tokType_index[i+1]]
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/util.go b/vendor/github.com/jmespath/go-jmespath/util.go
new file mode 100644
index 00000000..ddc1b7d7
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/util.go
@@ -0,0 +1,185 @@
+package jmespath
+
+import (
+ "errors"
+ "reflect"
+)
+
+// IsFalse determines if an object is false based on the JMESPath spec.
+// JMESPath defines false values to be any of:
+// - An empty string array, or hash.
+// - The boolean value false.
+// - nil
+func isFalse(value interface{}) bool {
+ switch v := value.(type) {
+ case bool:
+ return !v
+ case []interface{}:
+ return len(v) == 0
+ case map[string]interface{}:
+ return len(v) == 0
+ case string:
+ return len(v) == 0
+ case nil:
+ return true
+ }
+ // Try the reflection cases before returning false.
+ rv := reflect.ValueOf(value)
+ switch rv.Kind() {
+ case reflect.Struct:
+ // A struct type will never be false, even if
+ // all of its values are the zero type.
+ return false
+ case reflect.Slice, reflect.Map:
+ return rv.Len() == 0
+ case reflect.Ptr:
+ if rv.IsNil() {
+ return true
+ }
+ // If it's a pointer type, we'll try to deref the pointer
+ // and evaluate the pointer value for isFalse.
+ element := rv.Elem()
+ return isFalse(element.Interface())
+ }
+ return false
+}
+
+// ObjsEqual is a generic object equality check.
+// It will take two arbitrary objects and recursively determine
+// if they are equal.
+func objsEqual(left interface{}, right interface{}) bool {
+ return reflect.DeepEqual(left, right)
+}
+
+// SliceParam refers to a single part of a slice.
+// A slice consists of a start, a stop, and a step, similar to
+// python slices.
+type sliceParam struct {
+ N int
+ Specified bool
+}
+
+// Slice supports [start:stop:step] style slicing that's supported in JMESPath.
+func slice(slice []interface{}, parts []sliceParam) ([]interface{}, error) {
+ computed, err := computeSliceParams(len(slice), parts)
+ if err != nil {
+ return nil, err
+ }
+ start, stop, step := computed[0], computed[1], computed[2]
+ result := []interface{}{}
+ if step > 0 {
+ for i := start; i < stop; i += step {
+ result = append(result, slice[i])
+ }
+ } else {
+ for i := start; i > stop; i += step {
+ result = append(result, slice[i])
+ }
+ }
+ return result, nil
+}
+
+func computeSliceParams(length int, parts []sliceParam) ([]int, error) {
+ var start, stop, step int
+ if !parts[2].Specified {
+ step = 1
+ } else if parts[2].N == 0 {
+ return nil, errors.New("Invalid slice, step cannot be 0")
+ } else {
+ step = parts[2].N
+ }
+ var stepValueNegative bool
+ if step < 0 {
+ stepValueNegative = true
+ } else {
+ stepValueNegative = false
+ }
+
+ if !parts[0].Specified {
+ if stepValueNegative {
+ start = length - 1
+ } else {
+ start = 0
+ }
+ } else {
+ start = capSlice(length, parts[0].N, step)
+ }
+
+ if !parts[1].Specified {
+ if stepValueNegative {
+ stop = -1
+ } else {
+ stop = length
+ }
+ } else {
+ stop = capSlice(length, parts[1].N, step)
+ }
+ return []int{start, stop, step}, nil
+}
+
+func capSlice(length int, actual int, step int) int {
+ if actual < 0 {
+ actual += length
+ if actual < 0 {
+ if step < 0 {
+ actual = -1
+ } else {
+ actual = 0
+ }
+ }
+ } else if actual >= length {
+ if step < 0 {
+ actual = length - 1
+ } else {
+ actual = length
+ }
+ }
+ return actual
+}
+
+// ToArrayNum converts an empty interface type to a slice of float64.
+// If any element in the array cannot be converted, then nil is returned
+// along with a second value of false.
+func toArrayNum(data interface{}) ([]float64, bool) {
+ // Is there a better way to do this with reflect?
+ if d, ok := data.([]interface{}); ok {
+ result := make([]float64, len(d))
+ for i, el := range d {
+ item, ok := el.(float64)
+ if !ok {
+ return nil, false
+ }
+ result[i] = item
+ }
+ return result, true
+ }
+ return nil, false
+}
+
+// ToArrayStr converts an empty interface type to a slice of strings.
+// If any element in the array cannot be converted, then nil is returned
+// along with a second value of false. If the input data could be entirely
+// converted, then the converted data, along with a second value of true,
+// will be returned.
+func toArrayStr(data interface{}) ([]string, bool) {
+ // Is there a better way to do this with reflect?
+ if d, ok := data.([]interface{}); ok {
+ result := make([]string, len(d))
+ for i, el := range d {
+ item, ok := el.(string)
+ if !ok {
+ return nil, false
+ }
+ result[i] = item
+ }
+ return result, true
+ }
+ return nil, false
+}
+
+func isSliceType(v interface{}) bool {
+ if v == nil {
+ return false
+ }
+ return reflect.TypeOf(v).Kind() == reflect.Slice
+}
diff --git a/vendor/github.com/jmespath/go-jmespath/util_test.go b/vendor/github.com/jmespath/go-jmespath/util_test.go
new file mode 100644
index 00000000..1754b5d3
--- /dev/null
+++ b/vendor/github.com/jmespath/go-jmespath/util_test.go
@@ -0,0 +1,73 @@
+package jmespath
+
+import (
+ "github.com/stretchr/testify/assert"
+ "testing"
+)
+
+func TestSlicePositiveStep(t *testing.T) {
+ assert := assert.New(t)
+ input := make([]interface{}, 5)
+ input[0] = 0
+ input[1] = 1
+ input[2] = 2
+ input[3] = 3
+ input[4] = 4
+ result, err := slice(input, []sliceParam{{0, true}, {3, true}, {1, true}})
+ assert.Nil(err)
+ assert.Equal(input[:3], result)
+}
+
+func TestIsFalseJSONTypes(t *testing.T) {
+ assert := assert.New(t)
+ assert.True(isFalse(false))
+ assert.True(isFalse(""))
+ var empty []interface{}
+ assert.True(isFalse(empty))
+ m := make(map[string]interface{})
+ assert.True(isFalse(m))
+ assert.True(isFalse(nil))
+
+}
+
+func TestIsFalseWithUserDefinedStructs(t *testing.T) {
+ assert := assert.New(t)
+ type nilStructType struct {
+ SliceOfPointers []*string
+ }
+ nilStruct := nilStructType{SliceOfPointers: nil}
+ assert.True(isFalse(nilStruct.SliceOfPointers))
+
+ // A user defined struct will never be false though,
+ // even if it's fields are the zero type.
+ assert.False(isFalse(nilStruct))
+}
+
+func TestIsFalseWithNilInterface(t *testing.T) {
+ assert := assert.New(t)
+ var a *int = nil
+ var nilInterface interface{}
+ nilInterface = a
+ assert.True(isFalse(nilInterface))
+}
+
+func TestIsFalseWithMapOfUserStructs(t *testing.T) {
+ assert := assert.New(t)
+ type foo struct {
+ Bar string
+ Baz string
+ }
+ m := make(map[int]foo)
+ assert.True(isFalse(m))
+}
+
+func TestObjsEqual(t *testing.T) {
+ assert := assert.New(t)
+ assert.True(objsEqual("foo", "foo"))
+ assert.True(objsEqual(20, 20))
+ assert.True(objsEqual([]int{1, 2, 3}, []int{1, 2, 3}))
+ assert.True(objsEqual(nil, nil))
+ assert.True(!objsEqual(nil, "foo"))
+ assert.True(objsEqual([]int{}, []int{}))
+ assert.True(!objsEqual([]int{}, nil))
+}