# The lines in this file needs to be lexicographically sorted.
# Please only add direct dependencies. Overrides of transitive versions should be called out in a comment.
biz.aQute.bnd:biz.aQute.bnd.annotation=6.4.1
com.adobe.testing:s3mock-junit4=2.17.0
com.carrotsearch.randomizedtesting:*=2.8.1
com.carrotsearch:hppc=0.9.1
com.cybozu.labs:langdetect=1.1-20120112
com.fasterxml.jackson:jackson-bom=2.16.1
com.github.ben-manes.caffeine:caffeine=3.1.8
com.github.spotbugs:*=4.8.0
com.github.stephenc.jcip:jcip-annotations=1.0-1
com.google.cloud:google-cloud-bom=0.204.0
com.google.errorprone:*=2.23.0
com.google.guava:guava=32.1.3-jre
com.google.re2j:re2j=1.7
com.j256.simplemagic:simplemagic=1.17
com.jayway.jsonpath:json-path=2.9.0
com.lmax:disruptor=3.4.4
com.tdunning:t-digest=3.3
commons-cli:commons-cli=1.7.0
commons-codec:commons-codec=1.16.1
commons-collections:commons-collections=3.2.2
commons-io:commons-io=2.15.1
io.dropwizard.metrics:*=4.2.25
io.grpc:grpc-*=1.61.1
io.netty:*=4.1.108.Final
io.opentelemetry:opentelemetry-bom=1.35.0
io.prometheus:*=0.16.0
io.swagger.core.v3:*=2.2.20
jakarta.ws.rs:jakarta.ws.rs-api=3.1.0
junit:junit=4.13.2
net.sourceforge.argparse4j:argparse4j=0.9.0
net.thisptr:jackson-jq=0.0.13
no.nav.security:mock-oauth2-server=0.5.10
org.apache.calcite.avatica:avatica-core=1.23.0
org.apache.calcite:*=1.35.0
org.apache.commons:commons-collections4=4.4
org.apache.commons:commons-compress=1.26.1
org.apache.commons:commons-configuration2=2.10.1
org.apache.commons:commons-exec=1.4.0
org.apache.commons:commons-lang3=3.14.0
org.apache.commons:commons-math3=3.6.1
org.apache.curator:*=5.5.0
org.apache.hadoop.thirdparty:*=1.1.1
org.apache.hadoop:*=3.3.6
org.apache.httpcomponents:httpclient=4.5.14
org.apache.httpcomponents:httpcore=4.4.16
org.apache.httpcomponents:httpmime=4.5.14
org.apache.kerby:*=1.0.1
org.apache.logging.log4j:*=2.21.0
org.apache.lucene:*=9.10.0
org.apache.tika:*=1.28.5
org.apache.tomcat:annotations-api=6.0.53
org.apache.zookeeper:*=3.9.2
org.bitbucket.b_c:jose4j=0.9.6
org.bouncycastle:bcpkix-jdk18on=1.77
org.carrot2:carrot2-core=4.5.1
org.codehaus.woodstox:stax2-api=4.2.2
org.eclipse.jetty*:*=10.0.20
org.eclipse.jetty.toolchain:jetty-servlet-api=4.0.6
org.glassfish.hk2*:*=3.0.5
org.glassfish.hk2.external:jakarta.inject=2.6.1
org.glassfish.jersey*:*=3.1.5
org.glassfish.jersey.containers:jersey-container-jetty-http=2.39.1
org.hamcrest:*=2.2
org.hsqldb:hsqldb=2.7.2
org.immutables:value-annotations=2.10.1
org.jctools:jctools-core=4.0.1
org.mockito:mockito*=5.11.0
org.openjdk.jmh:*=1.37
org.osgi:osgi.annotation=8.1.0
org.quicktheories:quicktheories=0.26
org.semver4j:semver4j=5.2.3
org.slf4j:*=2.0.12
org.xerial.snappy:snappy-java=1.1.10.5
software.amazon.awssdk:*=2.20.155
