summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolkmar W. Pogatzki <gentoo@pogatzki.net>2022-05-17 13:14:28 +0200
committerFlorian Schmaus <flow@gentoo.org>2022-05-22 19:29:50 +0200
commit9cdbdd263f3eba4938780167075de3d25b9389ae (patch)
treeb0b1b297026a785edb6f4a2047178f8132263d67 /dev-java/pdfbox
parentdev-java/xmpbox: add 2.0.26 (diff)
downloadgentoo-9cdbdd263f3eba4938780167075de3d25b9389ae.tar.gz
gentoo-9cdbdd263f3eba4938780167075de3d25b9389ae.tar.bz2
gentoo-9cdbdd263f3eba4938780167075de3d25b9389ae.zip
dev-java/pdfbox: add 2.0.26
Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/25497 Signed-off-by: Florian Schmaus <flow@gentoo.org>
Diffstat (limited to 'dev-java/pdfbox')
-rw-r--r--dev-java/pdfbox/Manifest2
-rw-r--r--dev-java/pdfbox/pdfbox-2.0.26.ebuild261
2 files changed, 263 insertions, 0 deletions
diff --git a/dev-java/pdfbox/Manifest b/dev-java/pdfbox/Manifest
index 8b098def5e68..284815e98a4f 100644
--- a/dev-java/pdfbox/Manifest
+++ b/dev-java/pdfbox/Manifest
@@ -32,9 +32,11 @@ DIST PDFBOX-4423-000746.pdf 574613 BLAKE2B 01f139d1c9b9e60d5e3be184b6289a4c50f03
DIST PDFBOX-4490.pdf 283351 BLAKE2B 4abac1974e9fc7ca0ede73d5c388125794760a32b24fbb245799f92bebf3cc37a6f0fb8e38fa282d39d0aa00093b829e924d90560b90562033958c270d07dec2 SHA512 5ae7f232c47c13ed31997eb2c368e7deb1013c1321d70bf79369f8d709b33406191d94c21a5d27b4c4bb48241bafd9328a0a6d2d093d4e540d5044e9503bd099
DIST PDFBOX-4517-cryptfilter.pdf 2157 BLAKE2B 69fea4396c05d977dcb7bc5c29143ad3a64fc45331dd8ddd660e3d557d222d56a548b3b24bb0141e8c8e8b6a5dfee2a3f83fa48a2b39fd448b9209204b3e4d9f SHA512 ed55a65bad6f91104846d28e9e7dcb18b11efbf980a74781350551428bbaecba375d9e22af02edf0f91263c7f668e93ec7c52d397898b7640c2d60e7dd3ae940
DIST PDFBOX-4750.pdf 333223 BLAKE2B 86e9191142b725a338c750d2f1cd25e3b65957160638e64ecdedc1a26f343709765b99fc15381e6a5045a60aa3d59cf6ff427599b89c03a6aface38e356a36da SHA512 add66ca86b5eb3bfd44fd8c273a81695586d76f6e630b714d4b8db6db5aee5b80e7a6d47b9863a42506773c2c0ee2181469d5cd717dba185b70ef5db7ffb80b9
+DIST PDFBOX-4831.pdf 708821 BLAKE2B b4b31a0c5685222b7dc4e9c3e1fbe5c72c6ee3b7ea4ac74727c10e04cc10a8c96ae82c7163d82a3003d69105d5990cefbb481d3c42be3bc69ca0a9c15db4d8b2 SHA512 cb13ce2ca64fa446b9d840444f6d363f0d826a55e4dae1c2de094aaee4dd92df192ec375ff6ca0ee50c5cdd52b634b9b838431d7aa6b852de02504c3fd95531a
DIST PDFBOX-5196-lotus.jpg 48292 BLAKE2B 9f9a02acb481349acc65266ab6529d40e9493fa0c6f5181aa46757ca2a3d29d519e7de2ea95c8288cd3f25f362a3fe7695e81fe0b653984ee267d2b5cc112e51 SHA512 37c73b41d1e00d66717c3715e6c45724c3f163d3d5b045c67e90c3713746d39eef96b4f0e6f368d0679d4c73d02ca01cfe5141d8a526e46ea15a4579ea1e75a2
DIST genko_oc_shiryo1.pdf 124896 BLAKE2B c3a9921afb052ee4fe5080a1f1e66d991e3041ff90bd26d42bf3a9116f05e81fb5bb51449411527c3c3193072854482cf4616bf57cad1ac7d774044fce26f13d SHA512 71888e06a0323ac6196c5942c5961f76f8a4d8c6913114aaa9e215f43112cfa5f1b741b7c801e794dc44e62c2d34bfaafe89267a4c7de753e4da1481b35820f3
DIST ipag00303.zip 4295310 BLAKE2B b68dd7dd7a7320894d782350c4598572c31d6ef492f9572adc2aac20ca98b5c5027995c0169bf815bc1e3a64d635b0e2d4e378b749e034f2fe718bcb7901d40a SHA512 59535137c649a2f8bdbb463cd716426811a6003a65883ca6e45bb0af1d526b3889af0fba3a353e90bc8d373cd32b90a27ff9ff6916ecbccb42e922c09e9b046a
DIST ipagp00303.zip 4295877 BLAKE2B e096303106029daaedae9befb003f70c2c7d00b858f89f5f8fffb9fc73679e63ec0dde8e0304cad2c611aa74d3cf1bfea56b9ac35e6838953d38b028654f5434 SHA512 26d0a9bfba7f5457a98b0bf45a4a6b081bca4140047a0886625691231459f8c81a6cdbe523e9abcbd45fd7caed21d78f1baf3a2cf9167320f6b79be3d697cb5b
DIST n019003l.pfb 79155 BLAKE2B 2995cd6e35de2d49cc6d4a5f6c7461396b23e14c6403cd7aecedbd5cec904fd0c42a114c4c5f5079fd1fad306dd8ddba649a13424ec5183395fb0fc1cbe2abb9 SHA512 8eafe21ffa6f3d7d0a50e9f4e5bcdeb727e804b552d74e65b709e778c9ed4605e5aa63743be285f0bc17ad162768583fec4196e1d1146d98f8703359247f22d0
DIST pdfbox-2.0.24-src.zip 15651754 BLAKE2B 5d0220c28c2be18a66aa66c2540d3e1d85ecc6826f632e6c9a0193f2f02dca645909b0a54c707d856bb2886d52b0b5fb706503b4f89f0eb7aede8e612bebfa8e SHA512 5d55b3cadbbae266d90c47f5b10c9b09b6dc16f53b77a0cf15c78e62fc69afc7b6eab5a4329608ecdf25de9194b38db1f7d23e7d71af473cc1bf7b09b0028642
+DIST pdfbox-2.0.26-src.zip 15766524 BLAKE2B eafedf1db5a54d36cb42111b736ad79adfcc106630fa4b2bc57873dcfbdbbb7bd0e9408611b0d8771909e719813e388430944ae0fbaf800bdc859595de2b101b SHA512 e14c57e28d10324dbcb6ad239bad5751a2dab0035bbd80427afd03f65467ec1376ddd7d08e7cefd4d950b149f85d8f505f6f50cc3093fd65bb8a2cbb2b8c7c1e
diff --git a/dev-java/pdfbox/pdfbox-2.0.26.ebuild b/dev-java/pdfbox/pdfbox-2.0.26.ebuild
new file mode 100644
index 000000000000..a31d7b769fa9
--- /dev/null
+++ b/dev-java/pdfbox/pdfbox-2.0.26.ebuild
@@ -0,0 +1,261 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri mirror://apache/pdfbox/2.0.26/pdfbox-2.0.26-src.zip --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild pdfbox-2.0.26.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.pdfbox:pdfbox:2.0.26"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java library and utilities for working with PDF documents"
+HOMEPAGE="https://pdfbox.apache.org/"
+SRC_URI="mirror://apache/${PN}/${PV}/${P}-src.zip
+ test? (
+ https://issues.apache.org/jira/secure/attachment/12481683/1.pdf -> PDFBOX-1031-1.pdf
+ https://issues.apache.org/jira/secure/attachment/12481684/2.pdf -> PDFBOX-1031-2.pdf
+ https://issues.apache.org/jira/secure/attachment/12486525/1_testfile1.pdf -> PDFBOX-1065-1.pdf
+ https://issues.apache.org/jira/secure/attachment/12486526/2_testfile1.pdf -> PDFBOX-1065-2.pdf
+ https://issues.apache.org/jira/secure/attachment/12490774/a.pdf -> PDFBOX-1100-1.pdf
+ https://issues.apache.org/jira/secure/attachment/12490775/b.pdf -> PDFBOX-1100-2.pdf
+ https://issues.apache.org/jira/secure/attachment/12848122/SF1199AEG%20%28Complete%29.pdf -> PDFBOX-3656.pdf
+ https://issues.apache.org/jira/secure/attachment/12852207/test.pdf -> PDFBOX-3682.pdf
+ https://issues.apache.org/jira/secure/attachment/12888957/079977.pdf -> PDFBOX-3940-079977.pdf
+ https://issues.apache.org/jira/secure/attachment/12867113/202097.pdf -> PDFBOX-3785-202097.pdf
+ https://issues.apache.org/jira/secure/attachment/12890031/670064.pdf -> PDFBOX-3947-670064.pdf
+ https://issues.apache.org/jira/secure/attachment/12890034/EUWO6SQS5TM4VGOMRD3FLXZHU35V2CP2.pdf -> PDFBOX-3948-EUWO6SQS5TM4VGOMRD3FLXZHU35V2CP2.pdf
+ https://issues.apache.org/jira/secure/attachment/12890037/MKFYUGZWS3OPXLLVU2Z4LWCTVA5WNOGF.pdf -> PDFBOX-3949-MKFYUGZWS3OPXLLVU2Z4LWCTVA5WNOGF.pdf
+ https://issues.apache.org/jira/secure/attachment/12890042/23EGDHXSBBYQLKYOKGZUOVYVNE675PRD.pdf -> PDFBOX-3950-23EGDHXSBBYQLKYOKGZUOVYVNE675PRD.pdf
+ https://issues.apache.org/jira/secure/attachment/12890047/FIHUZWDDL2VGPOE34N6YHWSIGSH5LVGZ.pdf -> PDFBOX-3951-FIHUZWDDL2VGPOE34N6YHWSIGSH5LVGZ.pdf
+ https://issues.apache.org/jira/secure/attachment/12892097/c687766d68ac766be3f02aaec5e0d713_2.pdf -> PDFBOX-3964-c687766d68ac766be3f02aaec5e0d713_2.pdf
+ https://issues.apache.org/jira/secure/attachment/12893582/63NGFQRI44HQNPIPEJH5W2TBM6DJZWMI.pdf -> PDFBOX-3977-63NGFQRI44HQNPIPEJH5W2TBM6DJZWMI.pdf
+ https://issues.apache.org/jira/secure/attachment/12896905/GeneralForbearance.pdf -> PDFBOX-3999-GeneralForbearance.pdf
+ https://issues.apache.org/jira/secure/attachment/12919726/sample.pdf -> PDFBOX-4197.pdf
+ https://issues.apache.org/jira/secure/attachment/12938094/Quelldatei.pdf -> PDFBOX-4308.pdf
+ https://issues.apache.org/jira/secure/attachment/12952086/form.pdf -> PDFBOX-4408.pdf
+ https://issues.apache.org/jira/secure/attachment/12953423/000314.pdf -> PDFBOX-4418-000314.pdf
+ https://issues.apache.org/jira/secure/attachment/12953421/000671.pdf -> PDFBOX-4418-000671.pdf
+ https://issues.apache.org/jira/secure/attachment/12953866/000746.pdf -> PDFBOX-4423-000746.pdf
+ https://issues.apache.org/jira/secure/attachment/12966453/cryptfilter.pdf -> PDFBOX-4517-cryptfilter.pdf
+ https://issues.apache.org/jira/secure/attachment/12991833/PDFBOX-4750-test.pdf -> PDFBOX-4750.pdf
+ https://issues.apache.org/jira/secure/attachment/12914331/WXMDXCYRWFDCMOSFQJ5OAJIAFXYRZ5OA.pdf -> PDFBOX-4153-WXMDXCYRWFDCMOSFQJ5OAJIAFXYRZ5OA.pdf
+ https://issues.apache.org/jira/secure/attachment/12962991/NeS1078.pdf -> PDFBOX-4490.pdf
+ https://issues.apache.org/jira/secure/attachment/12784025/PDFBOX-3208-L33MUTT2SVCWGCS6UIYL5TH3PNPXHIS6.pdf
+ https://issues.apache.org/jira/secure/attachment/12867102/PDFBOX-3783-72GLBIGUC6LB46ELZFBARRJTLN4RBSQM.pdf
+ https://issues.apache.org/jira/secure/attachment/12929821/16bit.png -> PDFBOX-4184-16bit.png
+ https://issues.apache.org/jira/secure/attachment/12943502/ArrayIndexOutOfBoundsException%20COSParser -> PDFBOX-4338.pdf
+ https://issues.apache.org/jira/secure/attachment/12943503/NullPointerException%20COSParser -> PDFBOX-4339.pdf
+ https://issues.apache.org/jira/secure/attachment/12867433/genko_oc_shiryo1.pdf
+ https://moji.or.jp/wp-content/ipafont/IPAfont/ipag00303.zip
+ https://moji.or.jp/wp-content/ipafont/IPAfont/ipagp00303.zip
+ https://issues.apache.org/jira/secure/attachment/12911053/n019003l.pfb
+ https://issues.apache.org/jira/secure/attachment/12949710/032163.jpg -> PDFBOX-4184-032163.jpg
+ https://issues.apache.org/jira/secure/attachment/13025718/lotus.jpg -> PDFBOX-5196-lotus.jpg
+ https://issues.apache.org/jira/secure/attachment/13002695/13._Korona_szallo_vegzes_13.09.26.eredeti.pdf -> PDFBOX-4831.pdf
+ )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="+tools"
+
+PROPERTIES="test_network"
+RESTRICT="test"
+
+# Common dependencies
+# POM: ${P}/${PN}/pom.xml
+# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
+# org.apache.pdfbox:fontbox:2.0.24 -> >=dev-java/fontbox-2.0.24:0
+# org.bouncycastle:bcmail-jdk15on:1.64 -> >=dev-java/bcmail-1.68:0
+# org.bouncycastle:bcprov-jdk15on:1.64 -> >=dev-java/bcprov-1.68:0
+
+CP_DEPEND="
+ dev-java/bcmail:0
+ dev-java/bcprov:0
+ dev-java/commons-logging:0
+ ~dev-java/fontbox-${PV}:0
+"
+
+# Compile dependencies
+# POM: ${P}/${PN}/pom.xml
+# test? com.github.jai-imageio:jai-imageio-core:1.4.0 -> >=dev-java/jai-imageio-core-1.4.0:0
+# test? com.github.jai-imageio:jai-imageio-jpeg2000:1.4.0 -> >=dev-java/jai-imageio-jpeg2000-1.4.0:0
+# test? com.googlecode.java-diff-utils:diffutils:1.3.0 -> >=dev-java/java-diff-utils-1.3.0:0
+# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
+# test? org.apache.pdfbox:jbig2-imageio:3.0.3 -> >=dev-java/jbig2-imageio-3.0.3:0
+# test? org.mockito:mockito-core:3.10.0 -> !!!suitble-mavenVersion-not-found!!!
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/jai-imageio-core:0
+ dev-java/jai-imageio-jpeg2000:0
+ dev-java/java-diff-utils:0
+ dev-java/jbig2-imageio:0
+ dev-java/mockito:4
+ )"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="app-arch/unzip"
+
+DOCS=( README.md {NOTICE,RELEASE-NOTES}.txt )
+
+PATCHES=(
+ # adds @Ignore annotation to
+ # public void testPDFBox3826() throws IOException, URISyntaxException
+ # https://issues.apache.org/jira/browse/PDFBOX-3826
+ "${FILESDIR}"/2.0.24-tests-ignore.patch
+)
+
+S="${WORKDIR}/${P}"
+
+JAVA_GENTOO_CLASSPATH_EXTRA="pdfbox.jar:pdfbox-debugger.jar"
+JAVA_TEST_GENTOO_CLASSPATH="jai-imageio-core,jai-imageio-jpeg2000,java-diff-utils,jbig2-imageio,junit-4,mockito-4"
+
+JAVA_TEST_EXCLUDES=(
+ # excluded upstream according to
+ # https://github.com/apache/pdfbox/blob/2.0.26/pdfbox/pom.xml#L123
+ "org.apache.pdfbox.rendering.TestPDFToImage"
+
+ # Causing test failures. Upstream does not run these tests.
+ "org.apache.pdfbox.cos.TestCOSBase"
+ "org.apache.pdfbox.cos.TestCOSNumber"
+)
+
+src_prepare() {
+ default
+}
+
+src_compile() {
+ einfo "Compiling pdfbox"
+ JAVA_SRC_DIR="pdfbox/src/main/java"
+ JAVA_RESOURCE_DIRS="pdfbox/src/main/resources"
+ JAVA_JAR_FILENAME="pdfbox.jar"
+ java-pkg-simple_src_compile
+
+ if use tools; then
+ einfo "Compiling debugger"
+ JAVA_SRC_DIR="debugger/src/main/java"
+ JAVA_RESOURCE_DIRS="debugger/src/main/resources"
+ JAVA_JAR_FILENAME="pdfbox-debugger.jar"
+ java-pkg-simple_src_compile
+
+ einfo "Compiling pdfbox-tools"
+ JAVA_SRC_DIR="tools/src/main/java"
+ JAVA_RESOURCE_DIRS=""
+ JAVA_JAR_FILENAME="pdfbox-tools.jar"
+ java-pkg-simple_src_compile
+ fi
+
+ if use doc; then
+ einfo "Compiling javadocs"
+ JAVA_SRC_DIR=(
+ "${S}/pdfbox/src/main/java"
+ "${S}/debugger/src/main/java"
+ )
+ if use tools; then
+ JAVA_SRC_DIR+=( "${S}/tools/src/main/java" )
+ fi
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_test() {
+ einfo "Testing pdfbox"
+ JAVA_TEST_SRC_DIR="pdfbox/src/test/java"
+ JAVA_TEST_RESOURCE_DIRS="pdfbox/src/test/resources"
+
+ # tests failed with S="${WORKDIR}/${P}"
+ find pdfbox/src/test/ -type f -exec sed -i 's:src/test/resources:pdfbox/src/test/resources:' {} + || die
+
+ mkdir --parents target/pdfs || die
+ cp \
+ "${DISTDIR}"/PDFBOX-1031-1.pdf \
+ "${DISTDIR}"/PDFBOX-1031-2.pdf \
+ "${DISTDIR}"/PDFBOX-1065-1.pdf \
+ "${DISTDIR}"/PDFBOX-1065-2.pdf \
+ "${DISTDIR}"/PDFBOX-1100-1.pdf \
+ "${DISTDIR}"/PDFBOX-1100-2.pdf \
+ "${DISTDIR}"/PDFBOX-3656.pdf \
+ "${DISTDIR}"/PDFBOX-3682.pdf \
+ "${DISTDIR}"/PDFBOX-3940-079977.pdf \
+ "${DISTDIR}"/PDFBOX-3785-202097.pdf \
+ "${DISTDIR}"/PDFBOX-3947-670064.pdf \
+ "${DISTDIR}"/PDFBOX-3948-EUWO6SQS5TM4VGOMRD3FLXZHU35V2CP2.pdf \
+ "${DISTDIR}"/PDFBOX-3949-MKFYUGZWS3OPXLLVU2Z4LWCTVA5WNOGF.pdf \
+ "${DISTDIR}"/PDFBOX-3950-23EGDHXSBBYQLKYOKGZUOVYVNE675PRD.pdf \
+ "${DISTDIR}"/PDFBOX-3951-FIHUZWDDL2VGPOE34N6YHWSIGSH5LVGZ.pdf \
+ "${DISTDIR}"/PDFBOX-3964-c687766d68ac766be3f02aaec5e0d713_2.pdf \
+ "${DISTDIR}"/PDFBOX-3977-63NGFQRI44HQNPIPEJH5W2TBM6DJZWMI.pdf \
+ "${DISTDIR}"/PDFBOX-3999-GeneralForbearance.pdf \
+ "${DISTDIR}"/PDFBOX-4197.pdf \
+ "${DISTDIR}"/PDFBOX-4308.pdf \
+ "${DISTDIR}"/PDFBOX-4408.pdf \
+ "${DISTDIR}"/PDFBOX-4418-000314.pdf \
+ "${DISTDIR}"/PDFBOX-4418-000671.pdf \
+ "${DISTDIR}"/PDFBOX-4423-000746.pdf \
+ "${DISTDIR}"/PDFBOX-4517-cryptfilter.pdf \
+ "${DISTDIR}"/PDFBOX-4750.pdf \
+ "${DISTDIR}"/PDFBOX-4153-WXMDXCYRWFDCMOSFQJ5OAJIAFXYRZ5OA.pdf \
+ "${DISTDIR}"/PDFBOX-4490.pdf \
+ "${DISTDIR}"/PDFBOX-3208-L33MUTT2SVCWGCS6UIYL5TH3PNPXHIS6.pdf \
+ "${DISTDIR}"/PDFBOX-3783-72GLBIGUC6LB46ELZFBARRJTLN4RBSQM.pdf \
+ "${DISTDIR}"/PDFBOX-4338.pdf \
+ "${DISTDIR}"/PDFBOX-4339.pdf \
+ "${DISTDIR}"/genko_oc_shiryo1.pdf \
+ "${DISTDIR}"/PDFBOX-4831.pdf \
+ "target/pdfs" || die
+
+ mkdir target/fonts || die
+ cp "${DISTDIR}"/n019003l.pfb "target/fonts" || die
+ unzip "${DISTDIR}"/ipag00303.zip -d "target/fonts" || die
+ unzip "${DISTDIR}"/ipagp00303.zip -d "target/fonts" || die
+
+ mkdir target/imgs || die
+ cp \
+ "${DISTDIR}"/PDFBOX-5196-lotus.jpg \
+ "${DISTDIR}"/PDFBOX-4184-032163.jpg \
+ "${DISTDIR}"/PDFBOX-4184-16bit.png \
+ "target/imgs" || die
+
+ java-pkg-simple_src_test
+ rm -r target/test-classes || die # avoid to run previous tests again
+
+ if use tools; then
+ einfo "Testing pdfbox-tools"
+ find tools/src/test/ -type f -exec sed -i 's:src/test/resources:tools/src/test/resources:' {} + || die
+ JAVA_TEST_SRC_DIR="tools/src/test/java"
+ JAVA_TEST_RESOURCE_DIRS="tools/src/test/resources"
+ java-pkg-simple_src_test
+ fi
+}
+
+src_install() {
+ # https://bugs.gentoo.org/789582
+ default
+
+ java-pkg_dojar "pdfbox.jar"
+ if use tools; then
+ java-pkg_dojar "pdfbox-debugger.jar"
+ java-pkg_dojar "pdfbox-tools.jar"
+ java-pkg_dolauncher ${PN} --main org.apache.pdfbox.tools.PDFBox
+ fi
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+
+ if use source; then
+ java-pkg_dosrc \
+ "${S}/pdfbox/src/main/java/*" \
+ "${S}/debugger/src/main/java/*" \
+ "${S}/tools/src/main/java/*"
+ fi
+}