From 48142c88ec79c6436d178327f223394759b2e7fc Mon Sep 17 00:00:00 2001
From: bini <abokouamebini@gmail.com>
Date: Wed, 12 Mar 2025 10:18:10 +0100
Subject: [PATCH] initial commit

---
 .classpath                                    |   10 +
 .project                                      |   28 +
 .settings/org.eclipse.core.resources.prefs    |    2 +
 .settings/org.eclipse.jdt.core.prefs          |   14 +
 Diagramme/Diagramme _sequence.drawio.pdf      |  Bin 0 -> 41409 bytes
 Diagramme/diagramme_classe.drawio.pdf         |  Bin 0 -> 35210 bytes
 Diagramme/justidication.pdf                   |  Bin 0 -> 94785 bytes
 bin/Panier/Disque.class                       |  Bin 0 -> 611 bytes
 bin/Panier/Main.class                         |  Bin 0 -> 2569 bytes
 bin/Panier/Nourriture.class                   |  Bin 0 -> 777 bytes
 bin/Panier/Panier.class                       |  Bin 0 -> 1834 bytes
 bin/Panier/Produit.class                      |  Bin 0 -> 741 bytes
 bin/Panier/ValeurInvalideException.class      |  Bin 0 -> 439 bytes
 bin/Panier/Vendable.class                     |  Bin 0 -> 128 bytes
 bin/module-info.class                         |  Bin 0 -> 153 bytes
 doc/Gestion_panier/Panier/Disque.html         |  200 +++
 doc/Gestion_panier/Panier/Main.html           |  186 +++
 doc/Gestion_panier/Panier/Nourriture.html     |  206 +++
 doc/Gestion_panier/Panier/Panier.html         |  213 +++
 doc/Gestion_panier/Panier/Produit.html        |  206 +++
 doc/Gestion_panier/Panier/Vendable.html       |  161 +++
 .../Panier/class-use/Disque.html              |   58 +
 doc/Gestion_panier/Panier/class-use/Main.html |   58 +
 .../Panier/class-use/Nourriture.html          |   58 +
 .../Panier/class-use/Panier.html              |   58 +
 .../Panier/class-use/Produit.html             |   58 +
 .../Panier/class-use/Vendable.html            |  107 ++
 .../Panier/package-summary.html               |  117 ++
 doc/Gestion_panier/Panier/package-tree.html   |   78 +
 doc/Gestion_panier/Panier/package-use.html    |   75 +
 doc/Gestion_panier/module-summary.html        |   79 ++
 doc/allclasses-index.html                     |   91 ++
 doc/allpackages-index.html                    |   65 +
 doc/copy.svg                                  |   33 +
 doc/element-list                              |    2 +
 doc/help-doc.html                             |  194 +++
 doc/index-files/index-1.html                  |   66 +
 doc/index-files/index-2.html                  |   70 +
 doc/index-files/index-3.html                  |   84 ++
 doc/index-files/index-4.html                  |   72 +
 doc/index-files/index-5.html                  |   70 +
 doc/index-files/index-6.html                  |   78 +
 doc/index-files/index-7.html                  |   66 +
 doc/index.html                                |   26 +
 doc/legal/COPYRIGHT                           |    1 +
 doc/legal/LICENSE                             |    1 +
 doc/legal/jquery.md                           |   72 +
 doc/legal/jqueryUI.md                         |   49 +
 doc/member-search-index.js                    |    1 +
 doc/module-search-index.js                    |    1 +
 doc/overview-tree.html                        |   82 ++
 doc/package-search-index.js                   |    1 +
 doc/resources/glass.png                       |  Bin 0 -> 499 bytes
 doc/resources/x.png                           |  Bin 0 -> 394 bytes
 doc/script-dir/jquery-3.6.1.min.js            |    2 +
 doc/script-dir/jquery-ui.min.css              |    6 +
 doc/script-dir/jquery-ui.min.js               |    6 +
 doc/script.js                                 |  268 ++++
 doc/search-page.js                            |  299 ++++
 doc/search.html                               |   73 +
 doc/search.js                                 |  458 ++++++
 doc/stylesheet.css                            | 1264 +++++++++++++++++
 doc/tag-search-index.js                       |    1 +
 doc/type-search-index.js                      |    1 +
 src/Panier/Disque.java                        |   34 +
 src/Panier/Main.java                          |   69 +
 src/Panier/Nourriture.java                    |   40 +
 src/Panier/Panier.java                        |   43 +
 src/Panier/Produit.java                       |   39 +
 src/Panier/ValeurInvalideException.java       |   27 +
 src/Panier/Vendable.java                      |   19 +
 src/module-info.java                          |    8 +
 72 files changed, 5754 insertions(+)
 create mode 100644 .classpath
 create mode 100644 .project
 create mode 100644 .settings/org.eclipse.core.resources.prefs
 create mode 100644 .settings/org.eclipse.jdt.core.prefs
 create mode 100644 Diagramme/Diagramme _sequence.drawio.pdf
 create mode 100644 Diagramme/diagramme_classe.drawio.pdf
 create mode 100644 Diagramme/justidication.pdf
 create mode 100644 bin/Panier/Disque.class
 create mode 100644 bin/Panier/Main.class
 create mode 100644 bin/Panier/Nourriture.class
 create mode 100644 bin/Panier/Panier.class
 create mode 100644 bin/Panier/Produit.class
 create mode 100644 bin/Panier/ValeurInvalideException.class
 create mode 100644 bin/Panier/Vendable.class
 create mode 100644 bin/module-info.class
 create mode 100644 doc/Gestion_panier/Panier/Disque.html
 create mode 100644 doc/Gestion_panier/Panier/Main.html
 create mode 100644 doc/Gestion_panier/Panier/Nourriture.html
 create mode 100644 doc/Gestion_panier/Panier/Panier.html
 create mode 100644 doc/Gestion_panier/Panier/Produit.html
 create mode 100644 doc/Gestion_panier/Panier/Vendable.html
 create mode 100644 doc/Gestion_panier/Panier/class-use/Disque.html
 create mode 100644 doc/Gestion_panier/Panier/class-use/Main.html
 create mode 100644 doc/Gestion_panier/Panier/class-use/Nourriture.html
 create mode 100644 doc/Gestion_panier/Panier/class-use/Panier.html
 create mode 100644 doc/Gestion_panier/Panier/class-use/Produit.html
 create mode 100644 doc/Gestion_panier/Panier/class-use/Vendable.html
 create mode 100644 doc/Gestion_panier/Panier/package-summary.html
 create mode 100644 doc/Gestion_panier/Panier/package-tree.html
 create mode 100644 doc/Gestion_panier/Panier/package-use.html
 create mode 100644 doc/Gestion_panier/module-summary.html
 create mode 100644 doc/allclasses-index.html
 create mode 100644 doc/allpackages-index.html
 create mode 100644 doc/copy.svg
 create mode 100644 doc/element-list
 create mode 100644 doc/help-doc.html
 create mode 100644 doc/index-files/index-1.html
 create mode 100644 doc/index-files/index-2.html
 create mode 100644 doc/index-files/index-3.html
 create mode 100644 doc/index-files/index-4.html
 create mode 100644 doc/index-files/index-5.html
 create mode 100644 doc/index-files/index-6.html
 create mode 100644 doc/index-files/index-7.html
 create mode 100644 doc/index.html
 create mode 100644 doc/legal/COPYRIGHT
 create mode 100644 doc/legal/LICENSE
 create mode 100644 doc/legal/jquery.md
 create mode 100644 doc/legal/jqueryUI.md
 create mode 100644 doc/member-search-index.js
 create mode 100644 doc/module-search-index.js
 create mode 100644 doc/overview-tree.html
 create mode 100644 doc/package-search-index.js
 create mode 100644 doc/resources/glass.png
 create mode 100644 doc/resources/x.png
 create mode 100644 doc/script-dir/jquery-3.6.1.min.js
 create mode 100644 doc/script-dir/jquery-ui.min.css
 create mode 100644 doc/script-dir/jquery-ui.min.js
 create mode 100644 doc/script.js
 create mode 100644 doc/search-page.js
 create mode 100644 doc/search.html
 create mode 100644 doc/search.js
 create mode 100644 doc/stylesheet.css
 create mode 100644 doc/tag-search-index.js
 create mode 100644 doc/type-search-index.js
 create mode 100644 src/Panier/Disque.java
 create mode 100644 src/Panier/Main.java
 create mode 100644 src/Panier/Nourriture.java
 create mode 100644 src/Panier/Panier.java
 create mode 100644 src/Panier/Produit.java
 create mode 100644 src/Panier/ValeurInvalideException.java
 create mode 100644 src/Panier/Vendable.java
 create mode 100644 src/module-info.java

diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..7b57c0d
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-20">
+		<attributes>
+			<attribute name="module" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/.project b/.project
new file mode 100644
index 0000000..30848b5
--- /dev/null
+++ b/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Gestion_panier</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+	<filteredResources>
+		<filter>
+			<id>1741770836841</id>
+			<name></name>
+			<type>30</type>
+			<matcher>
+				<id>org.eclipse.core.resources.regexFilterMatcher</id>
+				<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
+</projectDescription>
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..ccfd559
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=20
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=20
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=20
diff --git a/Diagramme/Diagramme _sequence.drawio.pdf b/Diagramme/Diagramme _sequence.drawio.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..56ed5d372260372c4606d0e3aa10a3a289f79836
GIT binary patch
literal 41409
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
Ll1o+9)!z*Om_f;T

literal 0
HcmV?d00001

diff --git a/Diagramme/diagramme_classe.drawio.pdf b/Diagramme/diagramme_classe.drawio.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..03b207292eab27d51d448f7b5a9e58fb4123b1b4
GIT binary patch
literal 35210
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
TMX70A#wM0#hFq$uuKsQSB%j7W

literal 0
HcmV?d00001

diff --git a/Diagramme/justidication.pdf b/Diagramme/justidication.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..1315c12de8418195872e4e6d075cd0a1d4ffec4d
GIT binary patch
literal 94785
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%0DP7FJ%ecE*MMceE`$1iG-L}g?r!9_c+Wc_q{+eC2
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
OGIU3qm>HNs9Ss1=>Z1Yx

literal 0
HcmV?d00001

diff --git a/bin/Panier/Disque.class b/bin/Panier/Disque.class
new file mode 100644
index 0000000000000000000000000000000000000000..61f9cf906ae57c7e221e62f2f91f0c1c8c94a730
GIT binary patch
literal 611
zcmX^0Z`VEs1_lQPC3XfTMh4!1#JtSZB7K+4;=<BYb_Nzk27#=^vPAuy#JqHU|D>$c
z<PvrUHbw@1sKT(+yp+VGoK!{zmV%<p3PuJ-7e)p)o6Nk-5<5l)77Z88Fh&M0*NWuS
zf|AVqykd3+UPcBvnC8Ts)Y2l)yt2fc%#>8PB1Q%l=lqmZE(T@>0UicU20=y!W)00S
z4hCUH234O_1&~DwDWwW2U`HyX<Y$&B99~sYl&VmWUz}NznWo3Zz{4O4(kjNtAgbYm
z@Ii1%QD$DcwPqM610#b34+A>`2O|T&Pi9`KUukYqYEcNpFG4=~$%#2(iA9+pK2(sU
zBqOsJq#EjaNElf&GVlhMBqnG3CKf;yvZtq(1b_pBSwqu>k%22XzqBYh)h!bgOxzG{
zdLTD3C^9fIFf%YRure?*Fo7Jyz`(%7z{tSKz{SACz|FwGz{0@Dz{9}Dz`#(*z{0@H
zz`!7-wVi=qoo~im2HxEaJdr{|+ZjamYpHK#5Z}naz`)EP$-uxM#=y$Jz#zoH!XV7R
z#UR2U!XU;V$so=k1(st1nZh8=Aj1FxQeb--8Dtq47<d^N|1*d%FtIZ*f~;a>kYkW%
tU<6yQ4|W&>1FO~+2J!V^cY<tUV_;-pU{C;?%mZe#LQQ65Pynk^1OPn6b<zL;

literal 0
HcmV?d00001

diff --git a/bin/Panier/Main.class b/bin/Panier/Main.class
new file mode 100644
index 0000000000000000000000000000000000000000..31774097bd3e7e1a4d6226e4f86c3601310a5ed0
GIT binary patch
literal 2569
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

literal 0
HcmV?d00001

diff --git a/bin/Panier/Nourriture.class b/bin/Panier/Nourriture.class
new file mode 100644
index 0000000000000000000000000000000000000000..7befdc1e58c98feb634cecd8beda2fdad76d1f13
GIT binary patch
literal 777
zcmX^0Z`VEs1_lQPb#?|OMh3xv#JtSZB7ML7(xRfwlG377b_Nzk27#=^vPAuy#JqHU
z|D>$c<PvrUHbw@1sN%5Hyp+VGoK!{zwt}L}3h#7A21XY~2KIvd%#>mfkIg1CFSEps
zk%3ji#YHoWk%7y#B0067Br`v+n4N)-kwFe-QesYOX_04MSz=CRN-A6tBLj<beo87A
z12cml4+9s25F-P#hGrNCg9syowNI)7$X11d#3F_4%$)r6qQu<XRE3mOg`7l%Jh(p;
zQt~rP6b`Q{DN0o+$S=+;$xPGZV&G*E0~sjJ$RMiWgYaZ<Nl|8Ax;4lONk#@;kQE@m
z5M?MQ10#bp4+A>`2Z$xh!@$YF!N|bxlbM(5SDKrYS`-2aD<Pl!<iwn?#G*_PA1cUF
zl95@=$RO+k4G=^;STi#42A3ozXZt1=Kozs6r<Md1WmbSg!-bK7D>%QjC^^+F6BHHv
z2(5Y`k1;4RFfuSRFfy<*FflNJoX5bxzyxv}m}X?)V&G<AV&Gw5U|?ZjWZ-4sXJBBM
z$H2nC%D}*&ueF^)K%H;KTn66V47`y-!rK`{_iG~f5+J^o`c?)hEzPYAG8-8f7?>I4
z7#J9o7&sUh7(^IY7(^Mk7{nMv7$g{^7$g}~7^E3A8Dtpr7-Sjb85kH87??rUFeor6
zGJt?S*nx~-F-`^!24)5&1_lOx2B!ZEA`Hyz42;aoATA?=GJ^^OBiOAbV0SYxaA|E}
kkkZ=1Ad|fw>@$!v*cd=Yse!HH0kgTFRxvWDf>o&j09TZviU0rr

literal 0
HcmV?d00001

diff --git a/bin/Panier/Panier.class b/bin/Panier/Panier.class
new file mode 100644
index 0000000000000000000000000000000000000000..b8a3719f2acdfbba6222adde8b6e9284bdb5f670
GIT binary patch
literal 1834
zcmX^0Z`VEs1_lR)cy<ORMh4!1#JtSZB7F$O&cMRRAdr<<mZ+bTn3t~apOlrFT*An}
zQBahhQkq#(%*Y_%1C}l=$;{FB$t*6hW@O+D&P>lsEGaEYWn@r7leY1Jn5-WFF~Qo-
znvsFcCNnRy#Ey}HSwl07k%7fIKP8omfti7qhk=uUi=Ba=kwF+?i(^qyVkO8bE(SgZ
zUQPx^1|c2>Rt7dk27aH+yi~u^+@#c^ki?{%R7M6NpZw&+oUp{AOb{O`$WoG#SqxGQ
za|+nY){G3yi76?J45AvIFh_=^=B0o%T7#U$<yw)PT2PXipI6MzAkD}i2h|>yn3Gys
z<e68Nn3I{33RlFzAj`<0>655XSelqul38+ir9w)6W{JY#RV78K3dN-bhgTM5rj{0^
zDjZ&*V4%mvAjKdL@~;BO1&~k!hk0;GQD$DcwPqMQgAyYHAJkH4@NqFHGN^!bse*Mu
zCE?EY)C}WhP-oC&XV73|;6nr<DD-$3#2K`}y1?RKyCCsvtr^A0zyWo3DkB4<CnE!E
zaz=h}DkFm+M$j-autQS=C@}<p!xA35j10WNC5g$|zKI3Uz~@O%EeXjlNz4f-%B%p#
zxC_XMraTO04CagsY{ex-sfoFa4AL5!kU#*ZEQqLnFj&%Bh=GB@l83>H!J3hQH?g1~
zr_!<5CBGCL<LW5-(n|A^K{2Kuk`Gbf1{JX8X0T<jXJ@cuWDp1YAJZBh1_uU5Mh5QO
z!~&RZMg}(xBv;`!9gEu`_CtNZ&EU-7%Ff`z$RLYhJF-F^1~&#{Mh52M(p*LcuHgLA
zqU2P!Oi;?^hJ>^pNIN5gfKz^cNpVS0Vu5dJNk)E3F&Be3gD*RS4<myTNChPOX6BXU
zXQ%4>B<3ciB>JY7B&H=Mm*f{!@-X-@_=9|k5MpFF1NA95VL)|44EIRPOUX$sR`JQt
z&n_*nh6D&$88odTiJ)i<sVqoER!+Pm#7g{np<xbo2-IZf#GIVq%#u`Vel`X#9BJJ}
zfFTf+jY4=BLP258m!4VzN}JFe#?Q(S%*Y_D0ZaE#VQWnn0ful!1|HA6ywoD+oW$bd
z)M9pqXhsHAjPS-5YU~WLj0|%4l`=B0L4ue;k%5tcnSp_Uk%0+R(lIbHurn|)Ffnj2
zFf%ZM%18!A25trh1}89|fk8lPI|Gl_ZU(-{?F<5283Z?iRSPpPFz|uR;bLH6;AP-v
z;9?MAU|`^3U}Rum5MU5x5ChvG&LF|S#30GQz`(-5$RGtaxs`#1frWvAK}C8l1MhAI
zsYoH2?F@4JcQYtP>PT;AQ1;W>!XT)-lR=G%Asl2IGXuyrF$Pu!1_lWR76wTMJ_Z>E
z2?jX^Wd?b$ty&QCptdqFs4!?V=zv|K!l28b$H2rO!N9|y&tSm7%wWjC0P-0h10#bG
zgE7>z&J0Xo<&q$)cQTkTGVEfoU|`tEV8g_)lfj9RVLjZ}Y+!|&V0$6Hm4w>M%-{}I
j<-y<y4T%5-W`-b!Fop<*NCpN5E(S)1D25n@I0i`oXROtq

literal 0
HcmV?d00001

diff --git a/bin/Panier/Produit.class b/bin/Panier/Produit.class
new file mode 100644
index 0000000000000000000000000000000000000000..6d112b300564078f98627887efb2b3d8a67df1b1
GIT binary patch
literal 741
zcmX^0Z`VEs1_lQPO?Cz*Mh3os#JtSZBK?4({FKtn5_Sd_Mh1bb#Ii*FoW#6zegCAa
z)Z`LI2G-<^{Nhwb20<UF`mofzl*FW*RBJ{Cj>6K!ypqh4R7M6yPeukdo6Nk-5<5l)
zQ4I{mo|<8d3|y`i$*Bb;nfZCe><qk&4013d6LV5ai#+qn5_2+BQsIgi8Cab2Q&PDY
zm>C3k7&sXO85x*0G{ZO;gc%t$eG(O*wjW-pkdmKSqHuUsNl~goacRNfl|`AUrA4U<
zhZiUq=y5UdFo=S*i-8@6@L_OCQD$DcwPqM610#b34+AR$8;B*v!@$nK!N|bxlbM(5
zSDKrYS`-5EFC&AHPkwS@PFP}5CWsFeWGTtWEM{a7fcY32oYssCyul@j$=SY%1z?rz
z42p~l{4ftg!;q1IFFmy+peVBfstxQz7j6ax22~ygH3nry26m_dMh33n{L-T2RJY8W
zR7M6Ks0KZde;5=Q7#Wxu7#Nrsm_XhDv)CCpz%(NRCj%D)69YE`0|N^KBLfcu9|HqJ
zD+4oFhpg6i27Z~j47|G;cp`;_wlj$A*V5j~Ag(2|l|gbN0|NsygERvJgA@ZB0|SF7
z0}F!~0|$dRgAjuxgE)f}gA9W-gA4-$g95}b23ZC<1`v=1JA;vdfk74&nhZ<~@(c_N
z0t}4*8H5;^*%=tw85BUWj0{Q)$_$KPCs~1=$G{+<wS_^lU26-2_)Z2DMuzP5U~hn2
Y!Nvg6qYAc>2h0|L+Q`VD4pyZB01$qa^Z)<=

literal 0
HcmV?d00001

diff --git a/bin/Panier/ValeurInvalideException.class b/bin/Panier/ValeurInvalideException.class
new file mode 100644
index 0000000000000000000000000000000000000000..fc591aa047bef1e904a770d1b07fa801c2bb04ed
GIT binary patch
literal 439
zcmX^0Z`VEs1_lQPadrkKMh3Zn#JtSZBK@$$oYc}H&%Cn4oXnI|*NWuSf|AVqJaz^a
zMh4-m#Ii*FoW#6zeYgZ8gFta=QD$OJSZYymW`16%rwbzkqZcCsuXBE0aY<rcNmyb|
zX(}rN1TZo(u-RnhWtP}6GKgyUAPfvHDay=Cx7G|}WMFa5Pf6usU}oUsVc=rmW@O;^
z$;?ajE6q(xEec6Y%1LEp5c0`SPRt2QEXoA&p@J+W8JWe53<^H@y<*MCz@D30T%4E=
zHVDHBj0{}C`K3k4scxAdt7LG5h#p8Ig8~C112Y2y10#bJ11kd?10w@F0|NsS0|x^m
z10%@w42%ps3=9l*3``763=9lxTH4zgcsGL8@G~$laDhc78CV&l7z7v?7{tJQHU>ck
TA#i}PF$gn=fXxyG>k$J0J4<En

literal 0
HcmV?d00001

diff --git a/bin/Panier/Vendable.class b/bin/Panier/Vendable.class
new file mode 100644
index 0000000000000000000000000000000000000000..2e584e9ee7f90656220a04ca3ec6475e49cb757c
GIT binary patch
literal 128
zcmX^0Z`VEs1_lQPPId++Mh5<X#JtSZBK@$`yp+VGoK$uO7Dfhvti-ZJ{hY+SbbbG%
ztkmQZMh5ou)RKUr%nC*ZW(`djMh33n{L-T2RJY8WR7M6~m~K6gMm9zUMh0dE5MX3s
VWME}rV_;xlWMF4tU|?e4005Dx925Wm

literal 0
HcmV?d00001

diff --git a/bin/module-info.class b/bin/module-info.class
new file mode 100644
index 0000000000000000000000000000000000000000..ba1f550672d9e268e09818e9922ef1bc8d408862
GIT binary patch
literal 153
zcmX^0Z`VEs1_lQPE_MbcMh5QO{FKt1RNc(Hw0uSeuHgLAqU2P!%$!t41_2}~y{yEt
zL`DWSU$AOn26jdUKKIn(lFa<P_=3c|%+w-b22Mr>PLMLaq{QOX1_lO31{h#sU}j)o
ZU}9ilU}a!n5My8iOE5BUG=Lcp0sty3A5Q=P

literal 0
HcmV?d00001

diff --git a/doc/Gestion_panier/Panier/Disque.html b/doc/Gestion_panier/Panier/Disque.html
new file mode 100644
index 0000000..c07d2ea
--- /dev/null
+++ b/doc/Gestion_panier/Panier/Disque.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Disque</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="declaration: module: Gestion_panier, package: Panier, class: Disque">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="class-use/Disque.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../index-files/index-1.html">Index</a></li>
+<li><a href="../../help-doc.html#class">Help</a></li>
+</ul>
+<ul class="sub-nav-list-small">
+<li>
+<p>Summary:</p>
+<ul>
+<li>Nested</li>
+<li>Field</li>
+<li><a href="#constructor-summary">Constr</a></li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+</li>
+<li>
+<p>Detail:</p>
+<ul>
+<li>Field</li>
+<li><a href="#constructor-detail">Constr</a></li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list">
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../module-summary.html">Gestion_panier</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">Panier</a></div>
+<h1 title="Class Disque" class="title">Class Disque</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">Panier.Disque</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="Vendable.html" title="interface in Panier">Vendable</a></code></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Disque</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
+implements <a href="Vendable.html" title="interface in Panier">Vendable</a></span></div>
+<div class="block">Classe représentant un disque (CD/DVD) vendable.
+ Implémente l'interface <a href="Vendable.html" title="interface in Panier"><code>Vendable</code></a>.</div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(double)" class="member-name-link">Disque</a><wbr>(double&nbsp;prix)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Constructeur pour initialiser le prix du disque.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPrix()" class="member-name-link">getPrix</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Retourne le prix du disque.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(double)">
+<h3>Disque</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Disque</span><wbr><span class="parameters">(double&nbsp;prix)</span>
+       throws <span class="exceptions">Panier.ValeurInvalideException</span></div>
+<div class="block">Constructeur pour initialiser le prix du disque.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>prix</code> - Le prix du disque en euros. Doit être un nombre positif.</dd>
+<dt>Throws:</dt>
+<dd><code>Panier.ValeurInvalideException</code> - si le prix est inférieur ou égal à 0.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="getPrix()">
+<h3>getPrix</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">getPrix</span>()</div>
+<div class="block">Retourne le prix du disque.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="Vendable.html#getPrix()">getPrix</a></code>&nbsp;in interface&nbsp;<code><a href="Vendable.html" title="interface in Panier">Vendable</a></code></dd>
+<dt>Returns:</dt>
+<dd>Le prix du disque en euros.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/Main.html b/doc/Gestion_panier/Panier/Main.html
new file mode 100644
index 0000000..898a769
--- /dev/null
+++ b/doc/Gestion_panier/Panier/Main.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Main</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="declaration: module: Gestion_panier, package: Panier, class: Main">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="class-use/Main.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../index-files/index-1.html">Index</a></li>
+<li><a href="../../help-doc.html#class">Help</a></li>
+</ul>
+<ul class="sub-nav-list-small">
+<li>
+<p>Summary:</p>
+<ul>
+<li>Nested</li>
+<li>Field</li>
+<li><a href="#constructor-summary">Constr</a></li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+</li>
+<li>
+<p>Detail:</p>
+<ul>
+<li>Field</li>
+<li><a href="#constructor-detail">Constr</a></li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list">
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../module-summary.html">Gestion_panier</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">Panier</a></div>
+<h1 title="Class Main" class="title">Class Main</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">Panier.Main</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Main</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">Classe principale contenant le programme de test pour la gestion d'un panier d'achats.
+ <p>
+ Cette classe permet de tester l'ajout de produits (Disques et Nourriture) dans un panier
+ et d'afficher le prix total. Elle gère également les erreurs liées à des valeurs invalides.
+ </p></div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">Main</a>()</code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#main(java.lang.String%5B%5D)" class="member-name-link">main</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
+<div class="block">Méthode principale qui exécute différents scénarios de test pour la gestion des paniers.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;()">
+<h3>Main</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Main</span>()</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="main(java.lang.String[])">
+<h3>main</h3>
+<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">main</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</span></div>
+<div class="block">Méthode principale qui exécute différents scénarios de test pour la gestion des paniers.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>args</code> - Arguments de la ligne de commande (non utilisés ici).</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/Nourriture.html b/doc/Gestion_panier/Panier/Nourriture.html
new file mode 100644
index 0000000..7098e17
--- /dev/null
+++ b/doc/Gestion_panier/Panier/Nourriture.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Nourriture</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="declaration: module: Gestion_panier, package: Panier, class: Nourriture">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="class-use/Nourriture.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../index-files/index-1.html">Index</a></li>
+<li><a href="../../help-doc.html#class">Help</a></li>
+</ul>
+<ul class="sub-nav-list-small">
+<li>
+<p>Summary:</p>
+<ul>
+<li>Nested</li>
+<li>Field</li>
+<li><a href="#constructor-summary">Constr</a></li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+</li>
+<li>
+<p>Detail:</p>
+<ul>
+<li>Field</li>
+<li><a href="#constructor-detail">Constr</a></li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list">
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../module-summary.html">Gestion_panier</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">Panier</a></div>
+<h1 title="Class Nourriture" class="title">Class Nourriture</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">Panier.Nourriture</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="Vendable.html" title="interface in Panier">Vendable</a></code></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Nourriture</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
+implements <a href="Vendable.html" title="interface in Panier">Vendable</a></span></div>
+<div class="block">Classe représentant un produit alimentaire vendable.
+ <p>
+ Chaque instance de cette classe correspond à une portion de nourriture,
+ définie par un prix par kilogramme et un poids en kilogrammes.
+ </p></div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(double,double)" class="member-name-link">Nourriture</a><wbr>(double&nbsp;prixKg,
+ double&nbsp;poidsKg)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Constructeur permettant d'initialiser une portion de nourriture avec son prix et son poids.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPrix()" class="member-name-link">getPrix</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Calcule et retourne le prix total de la portion de nourriture.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(double,double)">
+<h3>Nourriture</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Nourriture</span><wbr><span class="parameters">(double&nbsp;prixKg,
+ double&nbsp;poidsKg)</span>
+           throws <span class="exceptions">Panier.ValeurInvalideException</span></div>
+<div class="block">Constructeur permettant d'initialiser une portion de nourriture avec son prix et son poids.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>prixKg</code> - Prix par kilogramme (doit être strictement positif).</dd>
+<dd><code>poidsKg</code> - Poids en kilogrammes (doit être strictement positif).</dd>
+<dt>Throws:</dt>
+<dd><code>Panier.ValeurInvalideException</code> - Si le prix par kilogramme ou le poids sont négatifs ou nuls.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="getPrix()">
+<h3>getPrix</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">getPrix</span>()</div>
+<div class="block">Calcule et retourne le prix total de la portion de nourriture.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="Vendable.html#getPrix()">getPrix</a></code>&nbsp;in interface&nbsp;<code><a href="Vendable.html" title="interface in Panier">Vendable</a></code></dd>
+<dt>Returns:</dt>
+<dd>Le prix total (prix par kilogramme * poids en kilogrammes).</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/Panier.html b/doc/Gestion_panier/Panier/Panier.html
new file mode 100644
index 0000000..8d330d2
--- /dev/null
+++ b/doc/Gestion_panier/Panier/Panier.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Panier</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="declaration: module: Gestion_panier, package: Panier, class: Panier">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="class-use/Panier.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../index-files/index-1.html">Index</a></li>
+<li><a href="../../help-doc.html#class">Help</a></li>
+</ul>
+<ul class="sub-nav-list-small">
+<li>
+<p>Summary:</p>
+<ul>
+<li>Nested</li>
+<li>Field</li>
+<li><a href="#constructor-summary">Constr</a></li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+</li>
+<li>
+<p>Detail:</p>
+<ul>
+<li>Field</li>
+<li><a href="#constructor-detail">Constr</a></li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list">
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../module-summary.html">Gestion_panier</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">Panier</a></div>
+<h1 title="Class Panier" class="title">Class Panier</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">Panier.Panier</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Panier</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">Classe représentant un panier contenant des produits.
+ <p>
+ Cette classe permet d'ajouter des produits dans le panier et de calculer le prix total du panier.
+ </p></div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">Panier</a>()</code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#add(int,Panier.Vendable)" class="member-name-link">add</a><wbr>(int&nbsp;quantite,
+ <a href="Vendable.html" title="interface in Panier">Vendable</a>&nbsp;chose)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Ajoute un produit dans le panier.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getTotalPrix()" class="member-name-link">getTotalPrix</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Calcule le prix total du panier.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;()">
+<h3>Panier</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Panier</span>()</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="add(int,Panier.Vendable)">
+<h3>add</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">add</span><wbr><span class="parameters">(int&nbsp;quantite,
+ <a href="Vendable.html" title="interface in Panier">Vendable</a>&nbsp;chose)</span>
+         throws <span class="exceptions">Panier.ValeurInvalideException</span></div>
+<div class="block">Ajoute un produit dans le panier.
+ <p>
+ Si la quantité demandée est inférieure ou égale à 0, une exception est levée.
+ </p></div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>quantite</code> - La quantité du produit à ajouter (doit être supérieure à 0).</dd>
+<dd><code>chose</code> - Le produit à ajouter, qui doit implémenter l'interface <a href="Vendable.html" title="interface in Panier"><code>Vendable</code></a>.</dd>
+<dt>Throws:</dt>
+<dd><code>Panier.ValeurInvalideException</code> - Si la quantité est inférieure ou égale à 0.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getTotalPrix()">
+<h3>getTotalPrix</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">getTotalPrix</span>()</div>
+<div class="block">Calcule le prix total du panier.
+ <p>
+ Le prix total est la somme des prix de chaque produit, calculé en fonction de la quantité et du prix de chaque produit.
+ </p></div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>Le prix total du panier.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/Produit.html b/doc/Gestion_panier/Panier/Produit.html
new file mode 100644
index 0000000..dda82a0
--- /dev/null
+++ b/doc/Gestion_panier/Panier/Produit.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Produit</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="declaration: module: Gestion_panier, package: Panier, class: Produit">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="class-use/Produit.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../index-files/index-1.html">Index</a></li>
+<li><a href="../../help-doc.html#class">Help</a></li>
+</ul>
+<ul class="sub-nav-list-small">
+<li>
+<p>Summary:</p>
+<ul>
+<li>Nested</li>
+<li>Field</li>
+<li><a href="#constructor-summary">Constr</a></li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+</li>
+<li>
+<p>Detail:</p>
+<ul>
+<li>Field</li>
+<li><a href="#constructor-detail">Constr</a></li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list">
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../module-summary.html">Gestion_panier</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">Panier</a></div>
+<h1 title="Class Produit" class="title">Class Produit</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">Panier.Produit</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Produit</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+<div class="block">Classe représentant un produit dans un panier.
+ <p>
+ Cette classe contient un produit (qui doit implémenter l'interface <a href="Vendable.html" title="interface in Panier"><code>Vendable</code></a>)
+ ainsi qu'une quantité. Elle permet de calculer le prix total du produit en fonction de la quantité.
+ </p></div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(Panier.Vendable,int)" class="member-name-link">Produit</a><wbr>(<a href="Vendable.html" title="interface in Panier">Vendable</a>&nbsp;chose,
+ int&nbsp;quantite)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Constructeur pour initialiser un produit avec une chose vendable et une quantité.</div>
+</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPrixProduit()" class="member-name-link">getPrixProduit</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Méthode pour obtenir le prix total du produit (quantité * prix unitaire).</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(Panier.Vendable,int)">
+<h3>Produit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Produit</span><wbr><span class="parameters">(<a href="Vendable.html" title="interface in Panier">Vendable</a>&nbsp;chose,
+ int&nbsp;quantite)</span>
+        throws <span class="exceptions">Panier.ValeurInvalideException</span></div>
+<div class="block">Constructeur pour initialiser un produit avec une chose vendable et une quantité.
+ <p>
+ Si la quantité est inférieure ou égale à 0, une exception <code>ValeurInvalideException</code> est levée.
+ </p></div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>chose</code> - Le produit à ajouter (doit être une instance d'un objet implémentant <a href="Vendable.html" title="interface in Panier"><code>Vendable</code></a>).</dd>
+<dd><code>quantite</code> - La quantité du produit à ajouter (doit être supérieure à 0).</dd>
+<dt>Throws:</dt>
+<dd><code>Panier.ValeurInvalideException</code> - Si la quantité est inférieure ou égale à 0.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="getPrixProduit()">
+<h3>getPrixProduit</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">getPrixProduit</span>()</div>
+<div class="block">Méthode pour obtenir le prix total du produit (quantité * prix unitaire).
+ <p>
+ Cette méthode calcule le prix total du produit en multipliant la quantité par le prix unitaire
+ du produit (qui est obtenu via la méthode <a href="Vendable.html#getPrix()"><code>Vendable.getPrix()</code></a>).
+ </p></div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>Le prix total du produit (quantité * prix unitaire).</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/Vendable.html b/doc/Gestion_panier/Panier/Vendable.html
new file mode 100644
index 0000000..34494d7
--- /dev/null
+++ b/doc/Gestion_panier/Panier/Vendable.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Vendable</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="declaration: module: Gestion_panier, package: Panier, interface: Vendable">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="class-use/Vendable.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../index-files/index-1.html">Index</a></li>
+<li><a href="../../help-doc.html#class">Help</a></li>
+</ul>
+<ul class="sub-nav-list-small">
+<li>
+<p>Summary:</p>
+<ul>
+<li>Nested</li>
+<li>Field</li>
+<li>Constr</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+</li>
+<li>
+<p>Detail:</p>
+<ul>
+<li>Field</li>
+<li>Constr</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list">
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../module-summary.html">Gestion_panier</a></div>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">Panier</a></div>
+<h1 title="Interface Vendable" class="title">Interface Vendable</h1>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>All Known Implementing Classes:</dt>
+<dd><code><a href="Disque.html" title="class in Panier">Disque</a></code>, <code><a href="Nourriture.html" title="class in Panier">Nourriture</a></code></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">Vendable</span></div>
+<div class="block">Interface représentant un objet vendable, c'est-à-dire un objet qui a un prix.
+ <p>
+ Les classes qui implémentent cette interface doivent définir la méthode <a href="#getPrix()"><code>getPrix()</code></a>,
+ qui retourne le prix unitaire de l'objet.
+ </p></div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>double</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getPrix()" class="member-name-link">getPrix</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
+<div class="block">Méthode pour obtenir le prix unitaire de l'objet.</div>
+</div>
+</div>
+</div>
+</div>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="getPrix()">
+<h3>getPrix</h3>
+<div class="member-signature"><span class="return-type">double</span>&nbsp;<span class="element-name">getPrix</span>()</div>
+<div class="block">Méthode pour obtenir le prix unitaire de l'objet.
+ <p>
+ Cette méthode doit être implémentée dans toutes les classes qui
+ représentent des objets ayant un prix, comme les produits vendus
+ dans un panier.
+ </p></div>
+<dl class="notes">
+<dt>Returns:</dt>
+<dd>Le prix unitaire de l'objet.</dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/class-use/Disque.html b/doc/Gestion_panier/Panier/class-use/Disque.html
new file mode 100644
index 0000000..665be38
--- /dev/null
+++ b/doc/Gestion_panier/Panier/class-use/Disque.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Uses of Class Panier.Disque</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="use: module: Gestion_panier, package: Panier, class: Disque">
+<meta name="generator" content="javadoc/ClassUseWriter">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-use-page">
+<script type="text/javascript">var pathtoroot = "../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../module-summary.html">Module</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../Disque.html" title="class in Panier">Class</a></li>
+<li class="nav-bar-cell1-rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html#use">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Uses of Class Panier.Disque" class="title">Uses of Class<br>Panier.Disque</h1>
+</div>
+No usage of Panier.Disque</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/class-use/Main.html b/doc/Gestion_panier/Panier/class-use/Main.html
new file mode 100644
index 0000000..e937af6
--- /dev/null
+++ b/doc/Gestion_panier/Panier/class-use/Main.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Uses of Class Panier.Main</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="use: module: Gestion_panier, package: Panier, class: Main">
+<meta name="generator" content="javadoc/ClassUseWriter">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-use-page">
+<script type="text/javascript">var pathtoroot = "../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../module-summary.html">Module</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../Main.html" title="class in Panier">Class</a></li>
+<li class="nav-bar-cell1-rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html#use">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Uses of Class Panier.Main" class="title">Uses of Class<br>Panier.Main</h1>
+</div>
+No usage of Panier.Main</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/class-use/Nourriture.html b/doc/Gestion_panier/Panier/class-use/Nourriture.html
new file mode 100644
index 0000000..1c4dace
--- /dev/null
+++ b/doc/Gestion_panier/Panier/class-use/Nourriture.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Uses of Class Panier.Nourriture</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="use: module: Gestion_panier, package: Panier, class: Nourriture">
+<meta name="generator" content="javadoc/ClassUseWriter">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-use-page">
+<script type="text/javascript">var pathtoroot = "../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../module-summary.html">Module</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../Nourriture.html" title="class in Panier">Class</a></li>
+<li class="nav-bar-cell1-rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html#use">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Uses of Class Panier.Nourriture" class="title">Uses of Class<br>Panier.Nourriture</h1>
+</div>
+No usage of Panier.Nourriture</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/class-use/Panier.html b/doc/Gestion_panier/Panier/class-use/Panier.html
new file mode 100644
index 0000000..8f7cf9e
--- /dev/null
+++ b/doc/Gestion_panier/Panier/class-use/Panier.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Uses of Class Panier.Panier</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="use: module: Gestion_panier, package: Panier, class: Panier">
+<meta name="generator" content="javadoc/ClassUseWriter">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-use-page">
+<script type="text/javascript">var pathtoroot = "../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../module-summary.html">Module</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../Panier.html" title="class in Panier">Class</a></li>
+<li class="nav-bar-cell1-rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html#use">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Uses of Class Panier.Panier" class="title">Uses of Class<br>Panier.Panier</h1>
+</div>
+No usage of Panier.Panier</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/class-use/Produit.html b/doc/Gestion_panier/Panier/class-use/Produit.html
new file mode 100644
index 0000000..bb90d5d
--- /dev/null
+++ b/doc/Gestion_panier/Panier/class-use/Produit.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Uses of Class Panier.Produit</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="use: module: Gestion_panier, package: Panier, class: Produit">
+<meta name="generator" content="javadoc/ClassUseWriter">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-use-page">
+<script type="text/javascript">var pathtoroot = "../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../module-summary.html">Module</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../Produit.html" title="class in Panier">Class</a></li>
+<li class="nav-bar-cell1-rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html#use">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Uses of Class Panier.Produit" class="title">Uses of Class<br>Panier.Produit</h1>
+</div>
+No usage of Panier.Produit</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/class-use/Vendable.html b/doc/Gestion_panier/Panier/class-use/Vendable.html
new file mode 100644
index 0000000..8a98c9d
--- /dev/null
+++ b/doc/Gestion_panier/Panier/class-use/Vendable.html
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Uses of Interface Panier.Vendable</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="use: module: Gestion_panier, package: Panier, interface: Vendable">
+<meta name="generator" content="javadoc/ClassUseWriter">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-use-page">
+<script type="text/javascript">var pathtoroot = "../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../module-summary.html">Module</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../Vendable.html" title="interface in Panier">Class</a></li>
+<li class="nav-bar-cell1-rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html#use">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Uses of Interface Panier.Vendable" class="title">Uses of Interface<br>Panier.Vendable</h1>
+</div>
+<section class="class-uses">
+<ul class="block-list">
+<li>
+<section class="detail" id="Panier">
+<h2>Uses of <a href="../Vendable.html" title="interface in Panier">Vendable</a> in <a href="../package-summary.html">Panier</a></h2>
+<div class="caption"><span>Classes in <a href="../package-summary.html">Panier</a> that implement <a href="../Vendable.html" title="interface in Panier">Vendable</a></span></div>
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><code>class&nbsp;</code></div>
+<div class="col-second even-row-color"><code><a href="../Disque.html" class="type-name-link" title="class in Panier">Disque</a></code></div>
+<div class="col-last even-row-color">
+<div class="block">Classe représentant un disque (CD/DVD) vendable.</div>
+</div>
+<div class="col-first odd-row-color"><code>class&nbsp;</code></div>
+<div class="col-second odd-row-color"><code><a href="../Nourriture.html" class="type-name-link" title="class in Panier">Nourriture</a></code></div>
+<div class="col-last odd-row-color">
+<div class="block">Classe représentant un produit alimentaire vendable.</div>
+</div>
+</div>
+<div class="caption"><span>Methods in <a href="../package-summary.html">Panier</a> with parameters of type <a href="../Vendable.html" title="interface in Panier">Vendable</a></span></div>
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><code>void</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">Panier.</span><code><a href="../Panier.html#add(int,Panier.Vendable)" class="member-name-link">add</a><wbr>(int&nbsp;quantite,
+ <a href="../Vendable.html" title="interface in Panier">Vendable</a>&nbsp;chose)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Ajoute un produit dans le panier.</div>
+</div>
+</div>
+<div class="caption"><span>Constructors in <a href="../package-summary.html">Panier</a> with parameters of type <a href="../Vendable.html" title="interface in Panier">Vendable</a></span></div>
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier</div>
+<div class="table-header col-second">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><code>&nbsp;</code></div>
+<div class="col-second even-row-color"><code><a href="../Produit.html#%3Cinit%3E(Panier.Vendable,int)" class="member-name-link">Produit</a><wbr>(<a href="../Vendable.html" title="interface in Panier">Vendable</a>&nbsp;chose,
+ int&nbsp;quantite)</code></div>
+<div class="col-last even-row-color">
+<div class="block">Constructeur pour initialiser un produit avec une chose vendable et une quantité.</div>
+</div>
+</div>
+</section>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/package-summary.html b/doc/Gestion_panier/Panier/package-summary.html
new file mode 100644
index 0000000..59e0b45
--- /dev/null
+++ b/doc/Gestion_panier/Panier/package-summary.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Panier</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="declaration: module: Gestion_panier, package: Panier">
+<meta name="generator" content="javadoc/PackageWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../module-summary.html">Module</a></li>
+<li class="nav-bar-cell1-rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../index-files/index-1.html">Index</a></li>
+<li><a href="../../help-doc.html#package">Help</a></li>
+</ul>
+<ul class="sub-nav-list-small">
+<li>
+<p>Package:</p>
+<ul>
+<li>Description</li>
+<li>Related Packages</li>
+<li><a href="#class-summary">Classes and Interfaces</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list">
+<ul class="sub-nav-list">
+<li>Package:&nbsp;</li>
+<li>Description&nbsp;|&nbsp;</li>
+<li>Related Packages&nbsp;|&nbsp;</li>
+<li><a href="#class-summary">Classes and Interfaces</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<div class="sub-title"><span class="module-label-in-package">Module</span>&nbsp;<a href="../module-summary.html">Gestion_panier</a></div>
+<h1 title="Package Panier" class="title">Package Panier</h1>
+</div>
+<hr>
+<div class="package-signature">package <span class="element-name">Panier</span></div>
+<section class="summary">
+<ul class="summary-list">
+<li>
+<div id="class-summary">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button></div>
+<div id="class-summary.tabpanel" role="tabpanel">
+<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
+<div class="table-header col-first">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Disque.html" title="class in Panier">Disque</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">Classe représentant un disque (CD/DVD) vendable.</div>
+</div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Main.html" title="class in Panier">Main</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="block">Classe principale contenant le programme de test pour la gestion d'un panier d'achats.</div>
+</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Nourriture.html" title="class in Panier">Nourriture</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">Classe représentant un produit alimentaire vendable.</div>
+</div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Panier.html" title="class in Panier">Panier</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="block">Classe représentant un panier contenant des produits.</div>
+</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Produit.html" title="class in Panier">Produit</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">Classe représentant un produit dans un panier.</div>
+</div>
+<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="Vendable.html" title="interface in Panier">Vendable</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab1">
+<div class="block">Interface représentant un objet vendable, c'est-à-dire un objet qui a un prix.</div>
+</div>
+</div>
+</div>
+</div>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/package-tree.html b/doc/Gestion_panier/Panier/package-tree.html
new file mode 100644
index 0000000..d9b1b32
--- /dev/null
+++ b/doc/Gestion_panier/Panier/package-tree.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Panier Class Hierarchy</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="tree: module: Gestion_panier, package: Panier">
+<meta name="generator" content="javadoc/PackageTreeWriter">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-tree-page">
+<script type="text/javascript">var pathtoroot = "../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="nav-bar-cell1-rev">Tree</li>
+<li><a href="../../index-files/index-1.html">Index</a></li>
+<li><a href="../../help-doc.html#tree">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 class="title">Hierarchy For Package Panier</h1>
+</div>
+<section class="hierarchy">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">Panier.<a href="Disque.html" class="type-name-link" title="class in Panier">Disque</a> (implements Panier.<a href="Vendable.html" title="interface in Panier">Vendable</a>)</li>
+<li class="circle">Panier.<a href="Main.html" class="type-name-link" title="class in Panier">Main</a></li>
+<li class="circle">Panier.<a href="Nourriture.html" class="type-name-link" title="class in Panier">Nourriture</a> (implements Panier.<a href="Vendable.html" title="interface in Panier">Vendable</a>)</li>
+<li class="circle">Panier.<a href="Panier.html" class="type-name-link" title="class in Panier">Panier</a></li>
+<li class="circle">Panier.<a href="Produit.html" class="type-name-link" title="class in Panier">Produit</a></li>
+</ul>
+</li>
+</ul>
+</section>
+<section class="hierarchy">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li class="circle">Panier.<a href="Vendable.html" class="type-name-link" title="interface in Panier">Vendable</a></li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/Panier/package-use.html b/doc/Gestion_panier/Panier/package-use.html
new file mode 100644
index 0000000..94ed29d
--- /dev/null
+++ b/doc/Gestion_panier/Panier/package-use.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Uses of Package Panier</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="use: module: Gestion_panier, package: Panier">
+<meta name="generator" content="javadoc/PackageUseWriter">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-use-page">
+<script type="text/javascript">var pathtoroot = "../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../module-summary.html">Module</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="nav-bar-cell1-rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../index-files/index-1.html">Index</a></li>
+<li><a href="../../help-doc.html#use">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Uses of Package Panier" class="title">Uses of Package<br>Panier</h1>
+</div>
+<section class="package-uses">
+<ul class="block-list">
+<li>
+<section class="detail" id="Panier">
+<div class="caption"><span>Classes in <a href="package-summary.html">Panier</a> used by <a href="package-summary.html">Panier</a></span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><a href="class-use/Vendable.html#Panier">Vendable</a></div>
+<div class="col-last even-row-color">
+<div class="block">Interface représentant un objet vendable, c'est-à-dire un objet qui a un prix.</div>
+</div>
+</div>
+</section>
+</li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/Gestion_panier/module-summary.html b/doc/Gestion_panier/module-summary.html
new file mode 100644
index 0000000..818cb2c
--- /dev/null
+++ b/doc/Gestion_panier/module-summary.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Gestion_panier</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="declaration: module: Gestion_panier">
+<meta name="generator" content="javadoc/ModuleWriterImpl">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="module-declaration-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li class="nav-bar-cell1-rev">Module</li>
+<li><a href="Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="Panier/package-tree.html">Tree</a></li>
+<li><a href="../index-files/index-1.html">Index</a></li>
+<li><a href="../help-doc.html#module">Help</a></li>
+</ul>
+<ul class="sub-nav-list-small">
+<li>
+<p>Module:</p>
+<ul>
+<li>Description</li>
+<li>Modules</li>
+<li>Packages</li>
+<li>Services</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list">
+<ul class="sub-nav-list">
+<li>Module:&nbsp;</li>
+<li>Description&nbsp;|&nbsp;</li>
+<li>Modules&nbsp;|&nbsp;</li>
+<li>Packages&nbsp;|&nbsp;</li>
+<li>Services</li>
+</ul>
+</div>
+<div class="nav-list-search"><a href="../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Module Gestion_panier" class="title">Module Gestion_panier</h1>
+</div>
+<hr>
+<div class="module-signature">module <span class="element-name">Gestion_panier</span></div>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/allclasses-index.html b/doc/allclasses-index.html
new file mode 100644
index 0000000..2854f65
--- /dev/null
+++ b/doc/allclasses-index.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>All Classes and Interfaces</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="class index">
+<meta name="generator" content="javadoc/AllClassesIndexWriter">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="all-classes-index-page">
+<script type="text/javascript">var pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="Gestion_panier/module-summary.html">Module</a></li>
+<li><a href="Gestion_panier/Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="Gestion_panier/Panier/package-tree.html">Tree</a></li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html#all-classes">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces</h1>
+</div>
+<div id="all-classes-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="all-classes-table-tab0" role="tab" aria-selected="true" aria-controls="all-classes-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="all-classes-table-tab1" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab1', 2)" class="table-tab">Interfaces</button><button id="all-classes-table-tab2" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab2', 2)" class="table-tab">Classes</button></div>
+<div id="all-classes-table.tabpanel" role="tabpanel">
+<div class="summary-table two-column-summary" aria-labelledby="all-classes-table-tab0">
+<div class="table-header col-first">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="Gestion_panier/Panier/Disque.html" title="class in Panier">Disque</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Classe représentant un disque (CD/DVD) vendable.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="Gestion_panier/Panier/Main.html" title="class in Panier">Main</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Classe principale contenant le programme de test pour la gestion d'un panier d'achats.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="Gestion_panier/Panier/Nourriture.html" title="class in Panier">Nourriture</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Classe représentant un produit alimentaire vendable.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="Gestion_panier/Panier/Panier.html" title="class in Panier">Panier</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Classe représentant un panier contenant des produits.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="Gestion_panier/Panier/Produit.html" title="class in Panier">Produit</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Classe représentant un produit dans un panier.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="Gestion_panier/Panier/Vendable.html" title="interface in Panier">Vendable</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="block">Interface représentant un objet vendable, c'est-à-dire un objet qui a un prix.</div>
+</div>
+</div>
+</div>
+</div>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/allpackages-index.html b/doc/allpackages-index.html
new file mode 100644
index 0000000..fcc603c
--- /dev/null
+++ b/doc/allpackages-index.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>All Packages</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="package index">
+<meta name="generator" content="javadoc/AllPackagesIndexWriter">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="all-packages-index-page">
+<script type="text/javascript">var pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="Gestion_panier/module-summary.html">Module</a></li>
+<li><a href="Gestion_panier/Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="Gestion_panier/Panier/package-tree.html">Tree</a></li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html#all-packages">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
+</div>
+<div class="caption"><span>Package Summary</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Package</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><a href="Gestion_panier/Panier/package-summary.html">Panier</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/copy.svg b/doc/copy.svg
new file mode 100644
index 0000000..d435f6c
--- /dev/null
+++ b/doc/copy.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
+ ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+-->
+
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 380 460" fill="#505050">
+  <path
+     d="M 346,8 H 108 C 90,8 75,23 75,41 v 316 c 0,18 15,33 33,33 h 238 c 18,0 33,-15 33,-33 V 41 C 379,23 364,8 346,8 Z m -8,344 H 116 c -2,0 -3,-1 -3,-3 V 49 c 0,-2 1,-3 3,-3 h 222 c 2,0 3,1 3,3 v 300 h 10e-4 c 0,2 -1,3 -3,3 z"/>
+  <path
+     d="m 290,389 v 26 h 10e-4 c 0,2 -1,3 -3,3 H 49 c -2,0 -3,-1 -3,-3 V 99 c 0,-2 1,-3 3,-3 h 27 v 0 l -5e-4,-38 H 41 C 23,58 8,73 8,91 v 332 c 10e-4,18 15,33 33,33 h 254 c 18,0 33,-15 33,-33 v -34"/>
+</svg>
diff --git a/doc/element-list b/doc/element-list
new file mode 100644
index 0000000..76363ff
--- /dev/null
+++ b/doc/element-list
@@ -0,0 +1,2 @@
+module:Gestion_panier
+Panier
diff --git a/doc/help-doc.html b/doc/help-doc.html
new file mode 100644
index 0000000..d3e7031
--- /dev/null
+++ b/doc/help-doc.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>API Help</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="help">
+<meta name="generator" content="javadoc/HelpWriter">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="help-page">
+<script type="text/javascript">var pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="Gestion_panier/module-summary.html">Module</a></li>
+<li><a href="Gestion_panier/Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="Gestion_panier/Panier/package-tree.html">Tree</a></li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li class="nav-bar-cell1-rev">Help</li>
+</ul>
+<ul class="sub-nav-list-small">
+<li>
+<p>Help:</p>
+<ul>
+<li><a href="#help-navigation">Navigation</a></li>
+<li><a href="#help-pages">Pages</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list">
+<ul class="sub-nav-list">
+<li>Help:&nbsp;</li>
+<li><a href="#help-navigation">Navigation</a>&nbsp;|&nbsp;</li>
+<li><a href="#help-pages">Pages</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><a href="search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<h1 class="title">JavaDoc Help</h1>
+<ul class="help-toc">
+<li><a href="#help-navigation">Navigation</a>: 
+<ul class="help-subtoc">
+<li><a href="#search">Search</a></li>
+</ul>
+</li>
+<li><a href="#help-pages">Kinds of Pages</a>: 
+<ul class="help-subtoc">
+<li><a href="#module">Module</a></li>
+<li><a href="#package">Package</a></li>
+<li><a href="#class">Class or Interface</a></li>
+<li><a href="#doc-file">Other Files</a></li>
+<li><a href="#use">Use</a></li>
+<li><a href="#tree">Tree (Class Hierarchy)</a></li>
+<li><a href="#all-packages">All Packages</a></li>
+<li><a href="#all-classes">All Classes and Interfaces</a></li>
+<li><a href="#index">Index</a></li>
+</ul>
+</li>
+</ul>
+<hr>
+<div class="sub-title">
+<h2 id="help-navigation">Navigation</h2>
+Starting from the <a href="index.html">Overview</a> page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The <a href="index-files/index-1.html">Index</a> and Search box allow you to navigate to specific declarations and summary pages, including: <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>
+<section class="help-section" id="search">
+<h3>Search</h3>
+<p>You can search for definitions of modules, packages, types, fields, methods, system properties and other terms defined in the API. These items can be searched using part or all of the name, optionally using "camelCase" abbreviations, or multiple search terms separated by whitespace. Some examples:</p>
+<ul class="help-section-list">
+<li><code>"j.l.obj"</code> matches "java.lang.Object"</li>
+<li><code>"InpStr"</code> matches "java.io.InputStream"</li>
+<li><code>"math exact long"</code> matches "java.lang.Math.absExact(long)"</li>
+</ul>
+<p>Refer to the <a href="https://docs.oracle.com/en/java/javase/20/docs/specs/javadoc/javadoc-search-spec.html">Javadoc Search Specification</a> for a full description of search features.</p>
+</section>
+</div>
+<hr>
+<div class="sub-title">
+<h2 id="help-pages">Kinds of Pages</h2>
+The following sections describe the different kinds of pages in this collection.
+<section class="help-section" id="module">
+<h3>Module</h3>
+<p>Each module has a page that contains a list of its packages, dependencies on other modules, and services, with a summary for each. These pages may contain the following categories:</p>
+<ul class="help-section-list">
+<li>Packages</li>
+<li>Modules</li>
+<li>Services</li>
+</ul>
+</section>
+<section class="help-section" id="package">
+<h3>Package</h3>
+<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:</p>
+<ul class="help-section-list">
+<li>Interfaces</li>
+<li>Classes</li>
+<li>Enum Classes</li>
+<li>Exception Classes</li>
+<li>Annotation Interfaces</li>
+</ul>
+</section>
+<section class="help-section" id="class">
+<h3>Class or Interface</h3>
+<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.</p>
+<ul class="help-section-list">
+<li>Class Inheritance Diagram</li>
+<li>Direct Subclasses</li>
+<li>All Known Subinterfaces</li>
+<li>All Known Implementing Classes</li>
+<li>Class or Interface Declaration</li>
+<li>Class or Interface Description</li>
+</ul>
+<br>
+<ul class="help-section-list">
+<li>Nested Class Summary</li>
+<li>Enum Constant Summary</li>
+<li>Field Summary</li>
+<li>Property Summary</li>
+<li>Constructor Summary</li>
+<li>Method Summary</li>
+<li>Required Element Summary</li>
+<li>Optional Element Summary</li>
+</ul>
+<br>
+<ul class="help-section-list">
+<li>Enum Constant Details</li>
+<li>Field Details</li>
+<li>Property Details</li>
+<li>Constructor Details</li>
+<li>Method Details</li>
+<li>Element Details</li>
+</ul>
+<p><span class="help-note">Note:</span> Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.</p>
+<p>The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
+</section>
+<section class="help-section" id="doc-file">
+<h3>Other Files</h3>
+<p>Packages and modules may contain pages with additional information related to the declarations nearby.</p>
+</section>
+<section class="help-section" id="use">
+<h3>Use</h3>
+<p>Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the USE link in the navigation bar.</p>
+</section>
+<section class="help-section" id="tree">
+<h3>Tree (Class Hierarchy)</h3>
+<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with <code>java.lang.Object</code>. Interfaces do not inherit from <code>java.lang.Object</code>.</p>
+<ul class="help-section-list">
+<li>When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.</li>
+<li>When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.</li>
+</ul>
+</section>
+<section class="help-section" id="all-packages">
+<h3>All Packages</h3>
+<p>The <a href="allpackages-index.html">All Packages</a> page contains an alphabetic index of all packages contained in the documentation.</p>
+</section>
+<section class="help-section" id="all-classes">
+<h3>All Classes and Interfaces</h3>
+<p>The <a href="allclasses-index.html">All Classes and Interfaces</a> page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.</p>
+</section>
+<section class="help-section" id="index">
+<h3>Index</h3>
+<p>The <a href="index-files/index-1.html">Index</a> contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>.</p>
+</section>
+</div>
+<hr>
+<span class="help-footnote">This help file applies to API documentation generated by the standard doclet.</span></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/index-files/index-1.html b/doc/index-files/index-1.html
new file mode 100644
index 0000000..2e50eba
--- /dev/null
+++ b/doc/index-files/index-1.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>A-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="index: A">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../Gestion_panier/module-summary.html">Module</a></li>
+<li><a href="../Gestion_panier/Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="../Gestion_panier/Panier/package-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
+<h2 class="title" id="I:A">A</h2>
+<dl class="index">
+<dt><a href="../Gestion_panier/Panier/Panier.html#add(int,Panier.Vendable)" class="member-name-link">add(int, Vendable)</a> - Method in class Panier.<a href="../Gestion_panier/Panier/Panier.html" title="class in Panier">Panier</a></dt>
+<dd>
+<div class="block">Ajoute un produit dans le panier.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/index-files/index-2.html b/doc/index-files/index-2.html
new file mode 100644
index 0000000..771ecb6
--- /dev/null
+++ b/doc/index-files/index-2.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>D-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="index: D">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../Gestion_panier/module-summary.html">Module</a></li>
+<li><a href="../Gestion_panier/Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="../Gestion_panier/Panier/package-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
+<h2 class="title" id="I:D">D</h2>
+<dl class="index">
+<dt><a href="../Gestion_panier/Panier/Disque.html" class="type-name-link" title="class in Panier">Disque</a> - Class in <a href="../Gestion_panier/Panier/package-summary.html">Panier</a></dt>
+<dd>
+<div class="block">Classe représentant un disque (CD/DVD) vendable.</div>
+</dd>
+<dt><a href="../Gestion_panier/Panier/Disque.html#%3Cinit%3E(double)" class="member-name-link">Disque(double)</a> - Constructor for class Panier.<a href="../Gestion_panier/Panier/Disque.html" title="class in Panier">Disque</a></dt>
+<dd>
+<div class="block">Constructeur pour initialiser le prix du disque.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/index-files/index-3.html b/doc/index-files/index-3.html
new file mode 100644
index 0000000..8053e31
--- /dev/null
+++ b/doc/index-files/index-3.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>G-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="index: G">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../Gestion_panier/module-summary.html">Module</a></li>
+<li><a href="../Gestion_panier/Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="../Gestion_panier/Panier/package-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
+<h2 class="title" id="I:G">G</h2>
+<dl class="index">
+<dt><a href="../Gestion_panier/module-summary.html">Gestion_panier</a> - module Gestion_panier</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../Gestion_panier/Panier/Disque.html#getPrix()" class="member-name-link">getPrix()</a> - Method in class Panier.<a href="../Gestion_panier/Panier/Disque.html" title="class in Panier">Disque</a></dt>
+<dd>
+<div class="block">Retourne le prix du disque.</div>
+</dd>
+<dt><a href="../Gestion_panier/Panier/Nourriture.html#getPrix()" class="member-name-link">getPrix()</a> - Method in class Panier.<a href="../Gestion_panier/Panier/Nourriture.html" title="class in Panier">Nourriture</a></dt>
+<dd>
+<div class="block">Calcule et retourne le prix total de la portion de nourriture.</div>
+</dd>
+<dt><a href="../Gestion_panier/Panier/Vendable.html#getPrix()" class="member-name-link">getPrix()</a> - Method in interface Panier.<a href="../Gestion_panier/Panier/Vendable.html" title="interface in Panier">Vendable</a></dt>
+<dd>
+<div class="block">Méthode pour obtenir le prix unitaire de l'objet.</div>
+</dd>
+<dt><a href="../Gestion_panier/Panier/Produit.html#getPrixProduit()" class="member-name-link">getPrixProduit()</a> - Method in class Panier.<a href="../Gestion_panier/Panier/Produit.html" title="class in Panier">Produit</a></dt>
+<dd>
+<div class="block">Méthode pour obtenir le prix total du produit (quantité * prix unitaire).</div>
+</dd>
+<dt><a href="../Gestion_panier/Panier/Panier.html#getTotalPrix()" class="member-name-link">getTotalPrix()</a> - Method in class Panier.<a href="../Gestion_panier/Panier/Panier.html" title="class in Panier">Panier</a></dt>
+<dd>
+<div class="block">Calcule le prix total du panier.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/index-files/index-4.html b/doc/index-files/index-4.html
new file mode 100644
index 0000000..1cf9d50
--- /dev/null
+++ b/doc/index-files/index-4.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>M-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="index: M">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../Gestion_panier/module-summary.html">Module</a></li>
+<li><a href="../Gestion_panier/Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="../Gestion_panier/Panier/package-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
+<h2 class="title" id="I:M">M</h2>
+<dl class="index">
+<dt><a href="../Gestion_panier/Panier/Main.html#main(java.lang.String%5B%5D)" class="member-name-link">main(String[])</a> - Static method in class Panier.<a href="../Gestion_panier/Panier/Main.html" title="class in Panier">Main</a></dt>
+<dd>
+<div class="block">Méthode principale qui exécute différents scénarios de test pour la gestion des paniers.</div>
+</dd>
+<dt><a href="../Gestion_panier/Panier/Main.html" class="type-name-link" title="class in Panier">Main</a> - Class in <a href="../Gestion_panier/Panier/package-summary.html">Panier</a></dt>
+<dd>
+<div class="block">Classe principale contenant le programme de test pour la gestion d'un panier d'achats.</div>
+</dd>
+<dt><a href="../Gestion_panier/Panier/Main.html#%3Cinit%3E()" class="member-name-link">Main()</a> - Constructor for class Panier.<a href="../Gestion_panier/Panier/Main.html" title="class in Panier">Main</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/index-files/index-5.html b/doc/index-files/index-5.html
new file mode 100644
index 0000000..cfdd526
--- /dev/null
+++ b/doc/index-files/index-5.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>N-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="index: N">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../Gestion_panier/module-summary.html">Module</a></li>
+<li><a href="../Gestion_panier/Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="../Gestion_panier/Panier/package-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
+<h2 class="title" id="I:N">N</h2>
+<dl class="index">
+<dt><a href="../Gestion_panier/Panier/Nourriture.html" class="type-name-link" title="class in Panier">Nourriture</a> - Class in <a href="../Gestion_panier/Panier/package-summary.html">Panier</a></dt>
+<dd>
+<div class="block">Classe représentant un produit alimentaire vendable.</div>
+</dd>
+<dt><a href="../Gestion_panier/Panier/Nourriture.html#%3Cinit%3E(double,double)" class="member-name-link">Nourriture(double, double)</a> - Constructor for class Panier.<a href="../Gestion_panier/Panier/Nourriture.html" title="class in Panier">Nourriture</a></dt>
+<dd>
+<div class="block">Constructeur permettant d'initialiser une portion de nourriture avec son prix et son poids.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/index-files/index-6.html b/doc/index-files/index-6.html
new file mode 100644
index 0000000..e657e7f
--- /dev/null
+++ b/doc/index-files/index-6.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>P-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="index: P">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../Gestion_panier/module-summary.html">Module</a></li>
+<li><a href="../Gestion_panier/Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="../Gestion_panier/Panier/package-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
+<h2 class="title" id="I:P">P</h2>
+<dl class="index">
+<dt><a href="../Gestion_panier/Panier/package-summary.html">Panier</a> - package Panier</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../Gestion_panier/Panier/Panier.html" class="type-name-link" title="class in Panier">Panier</a> - Class in <a href="../Gestion_panier/Panier/package-summary.html">Panier</a></dt>
+<dd>
+<div class="block">Classe représentant un panier contenant des produits.</div>
+</dd>
+<dt><a href="../Gestion_panier/Panier/Panier.html#%3Cinit%3E()" class="member-name-link">Panier()</a> - Constructor for class Panier.<a href="../Gestion_panier/Panier/Panier.html" title="class in Panier">Panier</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../Gestion_panier/Panier/Produit.html" class="type-name-link" title="class in Panier">Produit</a> - Class in <a href="../Gestion_panier/Panier/package-summary.html">Panier</a></dt>
+<dd>
+<div class="block">Classe représentant un produit dans un panier.</div>
+</dd>
+<dt><a href="../Gestion_panier/Panier/Produit.html#%3Cinit%3E(Panier.Vendable,int)" class="member-name-link">Produit(Vendable, int)</a> - Constructor for class Panier.<a href="../Gestion_panier/Panier/Produit.html" title="class in Panier">Produit</a></dt>
+<dd>
+<div class="block">Constructeur pour initialiser un produit avec une chose vendable et une quantité.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/index-files/index-7.html b/doc/index-files/index-7.html
new file mode 100644
index 0000000..852b353
--- /dev/null
+++ b/doc/index-files/index-7.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>V-Index</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="index: V">
+<meta name="generator" content="javadoc/IndexWriter">
+<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="../script.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="index-page">
+<script type="text/javascript">var pathtoroot = "../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../Gestion_panier/module-summary.html">Module</a></li>
+<li><a href="../Gestion_panier/Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="../Gestion_panier/Panier/package-tree.html">Tree</a></li>
+<li class="nav-bar-cell1-rev">Index</li>
+<li><a href="../help-doc.html#index">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="../search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1>Index</h1>
+</div>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a>
+<h2 class="title" id="I:V">V</h2>
+<dl class="index">
+<dt><a href="../Gestion_panier/Panier/Vendable.html" class="type-name-link" title="interface in Panier">Vendable</a> - Interface in <a href="../Gestion_panier/Panier/package-summary.html">Panier</a></dt>
+<dd>
+<div class="block">Interface représentant un objet vendable, c'est-à-dire un objet qui a un prix.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">D</a>&nbsp;<a href="index-3.html">G</a>&nbsp;<a href="index-4.html">M</a>&nbsp;<a href="index-5.html">N</a>&nbsp;<a href="index-6.html">P</a>&nbsp;<a href="index-7.html">V</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a></main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/index.html b/doc/index.html
new file mode 100644
index 0000000..90baf7e
--- /dev/null
+++ b/doc/index.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Generated Documentation (Untitled)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="index redirect">
+<meta name="generator" content="javadoc/IndexRedirectWriter">
+<link rel="canonical" href="Gestion_panier/module-summary.html">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript">window.location.replace('Gestion_panier/module-summary.html')</script>
+<noscript>
+<meta http-equiv="Refresh" content="0;Gestion_panier/module-summary.html">
+</noscript>
+</head>
+<body class="index-redirect-page">
+<main role="main">
+<noscript>
+<p>JavaScript is disabled on your browser.</p>
+</noscript>
+<p><a href="Gestion_panier/module-summary.html">Gestion_panier/module-summary.html</a></p>
+</main>
+</body>
+</html>
diff --git a/doc/legal/COPYRIGHT b/doc/legal/COPYRIGHT
new file mode 100644
index 0000000..ca74fff
--- /dev/null
+++ b/doc/legal/COPYRIGHT
@@ -0,0 +1 @@
+Please see ..\java.base\COPYRIGHT
diff --git a/doc/legal/LICENSE b/doc/legal/LICENSE
new file mode 100644
index 0000000..4ad9fe4
--- /dev/null
+++ b/doc/legal/LICENSE
@@ -0,0 +1 @@
+Please see ..\java.base\LICENSE
diff --git a/doc/legal/jquery.md b/doc/legal/jquery.md
new file mode 100644
index 0000000..d468b31
--- /dev/null
+++ b/doc/legal/jquery.md
@@ -0,0 +1,72 @@
+## jQuery v3.6.1
+
+### jQuery License
+```
+jQuery v 3.6.1
+Copyright OpenJS Foundation and other contributors, https://openjsf.org/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+******************************************
+
+The jQuery JavaScript Library v3.6.1 also includes Sizzle.js
+
+Sizzle.js includes the following license:
+
+Copyright JS Foundation and other contributors, https://js.foundation/
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/jquery/sizzle
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+====
+
+All files located in the node_modules and external directories are
+externally maintained libraries used by this software which have their
+own licenses; we recommend you read them, as their terms may differ from
+the terms above.
+
+*********************
+
+```
diff --git a/doc/legal/jqueryUI.md b/doc/legal/jqueryUI.md
new file mode 100644
index 0000000..9f4c9e9
--- /dev/null
+++ b/doc/legal/jqueryUI.md
@@ -0,0 +1,49 @@
+## jQuery UI v1.13.1
+
+### jQuery UI License
+```
+Copyright jQuery Foundation and other contributors, https://jquery.org/
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/jquery/jquery-ui
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+====
+
+Copyright and related rights for sample code are waived via CC0. Sample
+code is defined as all source code contained within the demos directory.
+
+CC0: http://creativecommons.org/publicdomain/zero/1.0/
+
+====
+
+All files located in the node_modules and external directories are
+externally maintained libraries used by this software which have their
+own licenses; we recommend you read them, as their terms may differ from
+the terms above.
+
+```
diff --git a/doc/member-search-index.js b/doc/member-search-index.js
new file mode 100644
index 0000000..b35fc82
--- /dev/null
+++ b/doc/member-search-index.js
@@ -0,0 +1 @@
+memberSearchIndex = [{"p":"Panier","c":"Panier","l":"add(int, Vendable)","u":"add(int,Panier.Vendable)"},{"p":"Panier","c":"Disque","l":"Disque(double)","u":"%3Cinit%3E(double)"},{"p":"Panier","c":"Disque","l":"getPrix()"},{"p":"Panier","c":"Nourriture","l":"getPrix()"},{"p":"Panier","c":"Vendable","l":"getPrix()"},{"p":"Panier","c":"Produit","l":"getPrixProduit()"},{"p":"Panier","c":"Panier","l":"getTotalPrix()"},{"p":"Panier","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"Panier","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"Panier","c":"Nourriture","l":"Nourriture(double, double)","u":"%3Cinit%3E(double,double)"},{"p":"Panier","c":"Panier","l":"Panier()","u":"%3Cinit%3E()"},{"p":"Panier","c":"Produit","l":"Produit(Vendable, int)","u":"%3Cinit%3E(Panier.Vendable,int)"}];updateSearchResults();
\ No newline at end of file
diff --git a/doc/module-search-index.js b/doc/module-search-index.js
new file mode 100644
index 0000000..a0ad1a3
--- /dev/null
+++ b/doc/module-search-index.js
@@ -0,0 +1 @@
+moduleSearchIndex = [{"l":"Gestion_panier"}];updateSearchResults();
\ No newline at end of file
diff --git a/doc/overview-tree.html b/doc/overview-tree.html
new file mode 100644
index 0000000..eddab56
--- /dev/null
+++ b/doc/overview-tree.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Class Hierarchy</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="class tree">
+<meta name="generator" content="javadoc/TreeWriter">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="tree-page">
+<script type="text/javascript">var pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li>Module</li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li class="nav-bar-cell1-rev">Tree</li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html#tree">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+<div class="nav-list-search"><a href="search.html">SEARCH</a>
+<input type="text" id="search-input" disabled placeholder="Search">
+<input type="reset" id="reset-button" disabled value="reset">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 class="title">Hierarchy For All Packages</h1>
+</div>
+<span class="package-hierarchy-label">Package Hierarchies:</span>
+<ul class="horizontal contents-list">
+<li><a href="Gestion_panier/Panier/package-tree.html">Panier</a></li>
+</ul>
+<section class="hierarchy">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">Panier.<a href="Gestion_panier/Panier/Disque.html" class="type-name-link" title="class in Panier">Disque</a> (implements Panier.<a href="Gestion_panier/Panier/Vendable.html" title="interface in Panier">Vendable</a>)</li>
+<li class="circle">Panier.<a href="Gestion_panier/Panier/Main.html" class="type-name-link" title="class in Panier">Main</a></li>
+<li class="circle">Panier.<a href="Gestion_panier/Panier/Nourriture.html" class="type-name-link" title="class in Panier">Nourriture</a> (implements Panier.<a href="Gestion_panier/Panier/Vendable.html" title="interface in Panier">Vendable</a>)</li>
+<li class="circle">Panier.<a href="Gestion_panier/Panier/Panier.html" class="type-name-link" title="class in Panier">Panier</a></li>
+<li class="circle">Panier.<a href="Gestion_panier/Panier/Produit.html" class="type-name-link" title="class in Panier">Produit</a></li>
+</ul>
+</li>
+</ul>
+</section>
+<section class="hierarchy">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li class="circle">Panier.<a href="Gestion_panier/Panier/Vendable.html" class="type-name-link" title="interface in Panier">Vendable</a></li>
+</ul>
+</section>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/package-search-index.js b/doc/package-search-index.js
new file mode 100644
index 0000000..1d7b216
--- /dev/null
+++ b/doc/package-search-index.js
@@ -0,0 +1 @@
+packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"m":"Gestion_panier","l":"Panier"}];updateSearchResults();
\ No newline at end of file
diff --git a/doc/resources/glass.png b/doc/resources/glass.png
new file mode 100644
index 0000000000000000000000000000000000000000..a7f591f467a1c0c949bbc510156a0c1afb860a6e
GIT binary patch
literal 499
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm
z@{>{(JaZG%Q-e|yQz{EjrrIztFi!P!aSW-rmGtNTe|u&Qmvi^?IhLGixWU-L+VDeB
zU_I-jdrv$2-b)lPxJ_VmIP2-~%}1e*<%o9U4^e^F4QE&%U3YlHWb%YBj9KZ~TVv)+
z#~Ug%1(q|4{%i4M;tgX8vTpogF7TT9Y29M!11v|T2FwngXxhv$p`PF4XkpRk45pU>
zIeH9|3G7F*8@lQfgBe8Z|NVU}K7n=H4xR^0kIwV_VDy;BJe|?J;Rf4uzXXd8CQVa?
zeSN1JBKI&g<vFxAMwl2gt@OO$5Yu*+L2Lr!eEU7$87{4Ekg8h170+O(@gS@5hNOr!
z`}?|IUHY;cm~NhRm~;Bv$&+87f6r$NGb?M8zrXJudzUDKY4fF{WeR-t*B<TXKFpw^
z{+U6uIK!)k;mGsGS&nV@p9oK%_W#Q#O^sQH8`^RXWijX}gl-m0d11%M8M%&MU#|I(
zvRK9muLuPp7KfwijZ@?UKI=PXvQFrp#>DHZa*NeNuahCjyCr4njQh6x*e}g+o5UF4
zY-IVfby?vjPNO~5HQ$v_vN`Z-HoAQ*YG7by_;hl<EJLNjQU(SF22WQ%mvv4FO#nFj
B#b5vc

literal 0
HcmV?d00001

diff --git a/doc/resources/x.png b/doc/resources/x.png
new file mode 100644
index 0000000000000000000000000000000000000000..30548a756e151be4e927e8d28c508cc5b3514bf3
GIT binary patch
literal 394
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm
z@{>{(JaZG%Q-e|yQz{EjrrIztFzR@^IEGZ*O3HaZ^8f?OQim9pBaxy<f4-Ld(9n0U
zGtnVSNMJj|Rlmft!p|CvMY|ejuy-)`%h*@mJ$CAm72ny14q1`{pP4p_2fVFTQ&=qK
z$tx|O&#uLDaABpUfUz=Xcq7jV)<^q2n%2B%dvJm0(&XbzDq@Tu>lNnpFKJ-S;!vKD
zc4(oclmy%Ahy_gD3r*S-1I*0MYD+Fy*31~dkm6x8t9-`COgBS@ERGW^3p3gtT<J+<
znB)}Gz`35G?}FR6b4d$kWvpR)(5dysAd(|Qx;c+Q@2tXYrN$rpvlO`-+KwDrq{ZWJ
zv%Y0lALFc+$O$|%`GwM((s=d+vZkzW+x5hJmiI0Pwk?8PS}PQ@FYqufy;n7Z+u`R!
vQvvtH%RMP4qB1IM*&gvI)QdSZFfwGaS2)}aWlm;bU|{fc^>bP0l+XkKG;Nb2

literal 0
HcmV?d00001

diff --git a/doc/script-dir/jquery-3.6.1.min.js b/doc/script-dir/jquery-3.6.1.min.js
new file mode 100644
index 0000000..2c69bc9
--- /dev/null
+++ b/doc/script-dir/jquery-3.6.1.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:v}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,y,s,c,v,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,y){var v="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===y?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=v!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(v){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=y)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ye(function(){return[0]}),last:ye(function(e,t){return[t-1]}),eq:ye(function(e,t,n){return[n<0?n+t:n]}),even:ye(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ye(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ye(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ye(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,y,v,e){return y&&!y[S]&&(y=Ce(y)),v&&!v[S]&&(v=Ce(v,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?v||(e?d:l||y)?[]:t:f;if(g&&g(f,p,n,r),y){i=Te(p,u),y(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(v||d){if(v){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);v(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=v?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),v?v(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,y,v,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(y=o,m=0<(v=i).length,x=0<y.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=y[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=v[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+v.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ve(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function $(){E.removeEventListener("DOMContentLoaded",$),C.removeEventListener("load",$),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",$),C.addEventListener("load",$));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):B(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",v.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,v.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=y.events)||(u=y.events=Object.create(null)),(a=y.handle)||(a=y.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.hasData(e)&&Y.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||S.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(t,e){S.event.special[t]={setup:function(){return Se(this,t,Ce),!1},trigger:function(){return Se(this,t),!0},_default:function(e){return Y.get(e.target,t)},delegateType:e}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!v.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ye(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ye(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ye(c),r=0,i=(o=ye(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ye(e),a=a||ye(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ye(c,"script")).length&&ve(a,!f&&ye(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ye(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=/^--/,Me=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Ie=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},We=new RegExp(ne.join("|"),"i"),Fe="[\\x20\\t\\r\\n\\f]",$e=new RegExp("^"+Fe+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Fe+"+$","g");function Be(e,t,n){var r,i,o,a,s=Re.test(t),u=e.style;return(n=n||Me(e))&&(a=n.getPropertyValue(t)||n[t],s&&(a=a.replace($e,"$1")),""!==a||ie(e)||(a=S.style(e,t)),!v.pixelBoxStyles()&&Pe.test(a)&&We.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(v,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var ze=["Webkit","Moz","ms"],Ue=E.createElement("div").style,Xe={};function Ve(e){var t=S.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=ze.length;while(n--)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Me(e),i=(!v.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Re.test(t),l=e.style;if(u||(t=Ve(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Re.test(t)||(t=Ve(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):Ie(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Me(e),o=!v.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=_e(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-Ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Me(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(y?"hidden"in y&&(g=y.hidden):y=Y.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",v.checkOn=""!==rt.value,v.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",v.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return B(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function yt(e){return(e.match(P)||[]).join(" ")}function vt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return B(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),v.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){S(this).addClass(t.call(this,e,vt(this)))}):(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=yt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){S(this).removeClass(t.call(this,e,vt(this)))}):arguments.length?(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=yt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return m(t)?this.each(function(e){S(this).toggleClass(t.call(this,e,vt(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=mt(t),this.each(function(){if(s)for(o=S(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=vt(this))&&Y.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":Y.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+yt(vt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:yt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},v.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),v.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),v.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function jt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):jt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)jt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var Dt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function $t(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Bt(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,S.ajaxSettings),t):Bt(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,y=S.ajaxSetup({},t),v=y.context||y,m=y.context&&(v.nodeType||v.jquery)?S(v):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=y.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(y.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),y.url=((e||y.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),y.type=t.method||t.type||y.method||y.type,y.dataTypes=(y.dataType||"*").toLowerCase().match(P)||[""],null==y.crossDomain){r=E.createElement("a");try{r.href=y.url,r.href=r.href,y.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){y.crossDomain=!0}}if(y.data&&y.processData&&"string"!=typeof y.data&&(y.data=S.param(y.data,y.traditional)),$t(Rt,y,t,T),h)return T;for(i in(g=S.event&&y.global)&&0==S.active++&&S.event.trigger("ajaxStart"),y.type=y.type.toUpperCase(),y.hasContent=!Ot.test(y.type),f=y.url.replace(qt,""),y.hasContent?y.data&&y.processData&&0===(y.contentType||"").indexOf("application/x-www-form-urlencoded")&&(y.data=y.data.replace(Dt,"+")):(o=y.url.slice(f.length),y.data&&(y.processData||"string"==typeof y.data)&&(f+=(Et.test(f)?"&":"?")+y.data,delete y.data),!1===y.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),y.url=f+o),y.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(y.data&&y.hasContent&&!1!==y.contentType||t.contentType)&&T.setRequestHeader("Content-Type",y.contentType),T.setRequestHeader("Accept",y.dataTypes[0]&&y.accepts[y.dataTypes[0]]?y.accepts[y.dataTypes[0]]+("*"!==y.dataTypes[0]?", "+It+"; q=0.01":""):y.accepts["*"]),y.headers)T.setRequestHeader(i,y.headers[i]);if(y.beforeSend&&(!1===y.beforeSend.call(v,T,y)||h))return T.abort();if(u="abort",b.add(y.complete),T.done(y.success),T.fail(y.error),c=$t(Mt,y,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,y]),h)return T;y.async&&0<y.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},y.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(y,T,n)),!i&&-1<S.inArray("script",y.dataTypes)&&S.inArray("json",y.dataTypes)<0&&(y.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(y,s,T,i),i?(y.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===y.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(v,[o,l,T]):x.rejectWith(v,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,y,i?o:a]),b.fireWith(v,[T,l]),g&&(m.trigger("ajaxComplete",[T,y]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();v.cors=!!zt&&"withCredentials"in zt,v.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(v.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=yt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
diff --git a/doc/script-dir/jquery-ui.min.css b/doc/script-dir/jquery-ui.min.css
new file mode 100644
index 0000000..d64539c
--- /dev/null
+++ b/doc/script-dir/jquery-ui.min.css
@@ -0,0 +1,6 @@
+/*! jQuery UI - v1.13.1 - 2022-05-12
+* http://jqueryui.com
+* Includes: core.css, autocomplete.css, menu.css
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;-ms-filter:"alpha(opacity=0)"}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}
\ No newline at end of file
diff --git a/doc/script-dir/jquery-ui.min.js b/doc/script-dir/jquery-ui.min.js
new file mode 100644
index 0000000..55c2832
--- /dev/null
+++ b/doc/script-dir/jquery-ui.min.js
@@ -0,0 +1,6 @@
+/*! jQuery UI - v1.13.1 - 2022-05-12
+* http://jqueryui.com
+* Includes: widget.js, position.js, keycode.js, unique-id.js, widgets/autocomplete.js, widgets/menu.js
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";x.ui=x.ui||{};x.ui.version="1.13.1";var n,i=0,l=Array.prototype.hasOwnProperty,a=Array.prototype.slice;x.cleanData=(n=x.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");n(t)}),x.widget=function(t,i,e){var s,n,o,l={},a=t.split(".")[0],r=a+"-"+(t=t.split(".")[1]);return e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[r.toLowerCase()]=function(t){return!!x.data(t,r)},x[a]=x[a]||{},s=x[a][t],n=x[a][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},x.extend(n,s,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(o=new i).options=x.widget.extend({},o.options),x.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}l[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=x.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},l,{constructor:n,namespace:a,widgetName:t,widgetFullName:r}),s?(x.each(s._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),x.widget.bridge(t,n),n},x.widget.extend=function(t){for(var e,i,s=a.call(arguments,1),n=0,o=s.length;n<o;n++)for(e in s[n])i=s[n][e],l.call(s[n],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(o,e){var l=e.prototype.widgetFullName||o;x.fn[o]=function(i){var t="string"==typeof i,s=a.call(arguments,1),n=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,l);return"instance"===i?(n=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+o+" widget instance"):(t=e[i].apply(e,s))!==e&&void 0!==t?(n=t&&t.jquery?n.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+o+" prior to initialization; attempted to call method '"+i+"'")}):n=void 0:(s.length&&(i=x.widget.extend.apply(null,[i].concat(s))),this.each(function(){var t=x.data(this,l);t?(t.option(i||{}),t._init&&t._init()):x.data(this,l,new e(i,this))})),n}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n<i.length-1;n++)s[i[n]]=s[i[n]]||{},s=s[i[n]];if(t=i.pop(),1===arguments.length)return void 0===s[t]?null:s[t];s[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=e}return this._setOptions(o),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,s;for(e in t)s=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&s&&s.length&&(i=x(s.get()),this._removeClass(s,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(n){var o=[],l=this;function t(t,e){for(var i,s=0;s<t.length;s++)i=l.classesElementLookup[t[s]]||x(),i=n.add?(function(){var i=[];n.element.each(function(t,e){x.map(l.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),l._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(n.element.get())))):x(i.not(n.element).get()),l.classesElementLookup[t[s]]=i,o.push(t[s]),e&&n.classes[t[s]]&&o.push(n.classes[t[s]])}return(n=x.extend({element:this.element,classes:this.options.classes||{}},n)).keys&&t(n.keys.match(/\S+/g)||[],!0),n.extra&&t(n.extra.match(/\S+/g)||[]),o.join(" ")},_untrackClassesElement:function(i){var s=this;x.each(s.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(s.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){var n="string"==typeof t||null===t,i={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s="boolean"==typeof s?s:i};return i.element.toggleClass(this._classes(i),s),this},_on:function(n,o,t){var l,a=this;"boolean"!=typeof n&&(t=o,o=n,n=!1),t?(o=l=x(o),this.bindings=this.bindings.add(o)):(t=o,o=this.element,l=this.widget()),x.each(t,function(t,e){function i(){if(n||!0!==a.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?a[e]:e).apply(a,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var s=t.match(/^([\w:-]*)\s*(.*)$/),t=s[1]+a.eventNamespace,s=s[2];s?l.on(t,s,i):o.on(t,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var s,n,o=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],n=e.originalEvent)for(s in n)s in e||(e[s]=n[s]);return this.element.trigger(e,i),!("function"==typeof o&&!1===o.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(o,l){x.Widget.prototype["_"+o]=function(e,t,i){var s,n=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||l:o;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),s=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),s&&x.effects&&x.effects.effect[n]?e[o](t):n!==o&&e[n]?e[n](t.duration,t.easing,i):e.queue(function(t){x(this)[o](),i&&i.call(e[0]),t()})}});var s,C,E,o,r,u,h,c,k;x.widget;function T(t,e,i){return[parseFloat(t[0])*(c.test(t[0])?e/100:1),parseFloat(t[1])*(c.test(t[1])?i/100:1)]}function A(t,e){return parseInt(x.css(t,e),10)||0}function W(t){return null!=t&&t===t.window}C=Math.max,E=Math.abs,o=/left|center|right/,r=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,h=/^\w+/,c=/%$/,k=x.fn.position,x.position={scrollbarWidth:function(){if(void 0!==s)return s;var t,e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=W(e[0]),s=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:s,offset:!i&&!s?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(c){if(!c||!c.of)return k.apply(this,arguments);var d,f,m,p,v,t,g="string"==typeof(c=x.extend({},c)).of?x(document).find(c.of):x(c.of),_=x.position.getWithinInfo(c.within),y=x.position.getScrollInfo(_),b=(c.collision||"flip").split(" "),w={},e=9===(t=(e=g)[0]).nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:W(t)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:t.preventDefault?{width:0,height:0,offset:{top:t.pageY,left:t.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()};return g[0].preventDefault&&(c.at="left top"),f=e.width,m=e.height,v=x.extend({},p=e.offset),x.each(["my","at"],function(){var t,e,i=(c[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):r.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=r.test(i[1])?i[1]:"center",t=u.exec(i[0]),e=u.exec(i[1]),w[this]=[t?t[0]:0,e?e[0]:0],c[this]=[h.exec(i[0])[0],h.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===c.at[0]?v.left+=f:"center"===c.at[0]&&(v.left+=f/2),"bottom"===c.at[1]?v.top+=m:"center"===c.at[1]&&(v.top+=m/2),d=T(w.at,f,m),v.left+=d[0],v.top+=d[1],this.each(function(){var i,t,l=x(this),a=l.outerWidth(),r=l.outerHeight(),e=A(this,"marginLeft"),s=A(this,"marginTop"),n=a+e+A(this,"marginRight")+y.width,o=r+s+A(this,"marginBottom")+y.height,u=x.extend({},v),h=T(w.my,l.outerWidth(),l.outerHeight());"right"===c.my[0]?u.left-=a:"center"===c.my[0]&&(u.left-=a/2),"bottom"===c.my[1]?u.top-=r:"center"===c.my[1]&&(u.top-=r/2),u.left+=h[0],u.top+=h[1],i={marginLeft:e,marginTop:s},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](u,{targetWidth:f,targetHeight:m,elemWidth:a,elemHeight:r,collisionPosition:i,collisionWidth:n,collisionHeight:o,offset:[d[0]+h[0],d[1]+h[1]],my:c.my,at:c.at,within:_,elem:l})}),c.using&&(t=function(t){var e=p.left-u.left,i=e+f-a,s=p.top-u.top,n=s+m-r,o={target:{element:g,left:p.left,top:p.top,width:f,height:m},element:{element:l,left:u.left,top:u.top,width:a,height:r},horizontal:i<0?"left":0<e?"right":"center",vertical:n<0?"top":0<s?"bottom":"middle"};f<a&&E(e+i)<f&&(o.horizontal="center"),m<r&&E(s+n)<m&&(o.vertical="middle"),C(E(e),E(i))>C(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0<l&&a<=0?(i=t.left+l+e.collisionWidth-n-s,t.left+=l-i):t.left=!(0<a&&l<=0)&&a<l?s+n-e.collisionWidth:s:0<l?t.left+=l:0<a?t.left-=a:t.left=C(t.left-o,t.left)},top:function(t,e){var i=e.within,s=i.isWindow?i.scrollTop:i.offset.top,n=e.within.height,o=t.top-e.collisionPosition.marginTop,l=s-o,a=o+e.collisionHeight-n-s;e.collisionHeight>n?0<l&&a<=0?(i=t.top+l+e.collisionHeight-n-s,t.top+=l-i):t.top=!(0<a&&l<=0)&&a<l?s+n-e.collisionHeight:s:0<l?t.top+=l:0<a?t.top-=a:t.top=C(t.top-o,t.top)}},flip:{left:function(t,e){var i=e.within,s=i.offset.left+i.scrollLeft,n=i.width,o=i.isWindow?i.scrollLeft:i.offset.left,l=t.left-e.collisionPosition.marginLeft,a=l-o,r=l+e.collisionWidth-n-o,u="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,i="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,l=-2*e.offset[0];a<0?((s=t.left+u+i+l+e.collisionWidth-n-s)<0||s<E(a))&&(t.left+=u+i+l):0<r&&(0<(o=t.left-e.collisionPosition.marginLeft+u+i+l-o)||E(o)<r)&&(t.left+=u+i+l)},top:function(t,e){var i=e.within,s=i.offset.top+i.scrollTop,n=i.height,o=i.isWindow?i.scrollTop:i.offset.top,l=t.top-e.collisionPosition.marginTop,a=l-o,r=l+e.collisionHeight-n-o,u="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,i="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,l=-2*e.offset[1];a<0?((s=t.top+u+i+l+e.collisionHeight-n-s)<0||s<E(a))&&(t.top+=u+i+l):0<r&&(0<(o=t.top-e.collisionPosition.marginTop+u+i+l-o)||E(o)<r)&&(t.top+=u+i+l)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}};var t;x.ui.position,x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},x.fn.extend({uniqueId:(t=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}}),x.ui.safeActiveElement=function(e){var i;try{i=e.activeElement}catch(t){i=e.body}return i=!(i=i||e.body).nodeName?e.body:i},x.widget("ui.menu",{version:"1.13.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("<span>").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s<e+t&&this.activeMenu.scrollTop(i+e-s+t))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(t){var e=x.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(e)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var t=i?this.element:x(e&&e.target).closest(this.element.find(".ui-menu"));t.length||(t=this.element),this._close(t),this.blur(e),this._removeClass(t.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=t},i?0:this.delay)},_close:function(t){(t=t||(this.active?this.active.parent():this.element)).find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(t){return!x(t.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this._menuItems(this.active.children(".ui-menu")).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_menuItems:function(t){return(t||this.element).find(this.options.items).filter(".ui-menu-item")},_move:function(t,e,i){var s;(s=this.active?"first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").last():this.active[t+"All"](".ui-menu-item").first():s)&&s.length&&this.active||(s=this._menuItems(this.activeMenu)[e]()),this.focus(i,s)},nextPage:function(t){var e,i,s;this.active?this.isLastItem()||(this._hasScroll()?(i=this.active.offset().top,s=this.element.innerHeight(),0===x.fn.jquery.indexOf("3.2.")&&(s+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.nextAll(".ui-menu-item").each(function(){return(e=x(this)).offset().top-i-s<0}),this.focus(t,e)):this.focus(t,this._menuItems(this.activeMenu)[this.active?"last":"first"]())):this.next(t)},previousPage:function(t){var e,i,s;this.active?this.isFirstItem()||(this._hasScroll()?(i=this.active.offset().top,s=this.element.innerHeight(),0===x.fn.jquery.indexOf("3.2.")&&(s+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.prevAll(".ui-menu-item").each(function(){return 0<(e=x(this)).offset().top-i+s}),this.focus(t,e)):this.focus(t,this._menuItems(this.activeMenu).first())):this.next(t)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||x(t.target).closest(".ui-menu-item");var e={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,e)},_filterMenuItems:function(t){var t=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),e=new RegExp("^"+t,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return e.test(String.prototype.trim.call(x(this).children(".ui-menu-item-wrapper").text()))})}});x.widget("ui.autocomplete",{version:"1.13.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("<div>").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):!1!==this._trigger("search",e)?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")}.bind(this)},__response:function(t){t=t&&this._normalize(t),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:x.map(t,function(t){return"string"==typeof t?{label:t,value:t}:x.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var e=this.menu.element.empty();this._renderMenu(e,t),this.isNewMenu=!0,this.menu.refresh(),e.show(),this._resizeMenu(),e.position(x.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(i,t){var s=this;x.each(t,function(t,e){s._renderItemData(i,e)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(t,e){return x("<li>").append(x("<div>").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1<t?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var e;this._superApply(arguments),this.options.disabled||this.cancelSearch||(e=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("<div>").text(e))},100))}});x.ui.autocomplete});
\ No newline at end of file
diff --git a/doc/script.js b/doc/script.js
new file mode 100644
index 0000000..4f18152
--- /dev/null
+++ b/doc/script.js
@@ -0,0 +1,268 @@
+/*
+ * Copyright (c) 2013, 2022, Oracle and/or its affiliates. All rights reserved.
+ * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+
+var moduleSearchIndex;
+var packageSearchIndex;
+var typeSearchIndex;
+var memberSearchIndex;
+var tagSearchIndex;
+
+var oddRowColor = "odd-row-color";
+var evenRowColor = "even-row-color";
+var sortAsc = "sort-asc";
+var sortDesc = "sort-desc";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+
+function loadScripts(doc, tag) {
+    createElem(doc, tag, 'search.js');
+
+    createElem(doc, tag, 'module-search-index.js');
+    createElem(doc, tag, 'package-search-index.js');
+    createElem(doc, tag, 'type-search-index.js');
+    createElem(doc, tag, 'member-search-index.js');
+    createElem(doc, tag, 'tag-search-index.js');
+}
+
+function createElem(doc, tag, path) {
+    var script = doc.createElement(tag);
+    var scriptElement = doc.getElementsByTagName(tag)[0];
+    script.src = pathtoroot + path;
+    scriptElement.parentNode.insertBefore(script, scriptElement);
+}
+
+// Helper for  making content containing release names comparable lexicographically
+function makeComparable(s) {
+    return s.toLowerCase().replace(/(\d+)/g,
+        function(n, m) {
+            return ("000" + m).slice(-4);
+        });
+}
+
+// Switches between two styles depending on a condition
+function toggleStyle(classList, condition, trueStyle, falseStyle) {
+    if (condition) {
+        classList.remove(falseStyle);
+        classList.add(trueStyle);
+    } else {
+        classList.remove(trueStyle);
+        classList.add(falseStyle);
+    }
+}
+
+// Sorts the rows in a table lexicographically by the content of a specific column
+function sortTable(header, columnIndex, columns) {
+    var container = header.parentElement;
+    var descending = header.classList.contains(sortAsc);
+    container.querySelectorAll("div.table-header").forEach(
+        function(header) {
+            header.classList.remove(sortAsc);
+            header.classList.remove(sortDesc);
+        }
+    )
+    var cells = container.children;
+    var rows = [];
+    for (var i = columns; i < cells.length; i += columns) {
+        rows.push(Array.prototype.slice.call(cells, i, i + columns));
+    }
+    var comparator = function(a, b) {
+        var ka = makeComparable(a[columnIndex].textContent);
+        var kb = makeComparable(b[columnIndex].textContent);
+        if (ka < kb)
+            return descending ? 1 : -1;
+        if (ka > kb)
+            return descending ? -1 : 1;
+        return 0;
+    };
+    var sorted = rows.sort(comparator);
+    var visible = 0;
+    sorted.forEach(function(row) {
+        if (row[0].style.display !== 'none') {
+            var isEvenRow = visible++ % 2 === 0;
+        }
+        row.forEach(function(cell) {
+            toggleStyle(cell.classList, isEvenRow, evenRowColor, oddRowColor);
+            container.appendChild(cell);
+        })
+    });
+    toggleStyle(header.classList, descending, sortDesc, sortAsc);
+}
+
+// Toggles the visibility of a table category in all tables in a page
+function toggleGlobal(checkbox, selected, columns) {
+    var display = checkbox.checked ? '' : 'none';
+    document.querySelectorAll("div.table-tabs").forEach(function(t) {
+        var id = t.parentElement.getAttribute("id");
+        var selectedClass = id + "-tab" + selected;
+        // if selected is empty string it selects all uncategorized entries
+        var selectUncategorized = !Boolean(selected);
+        var visible = 0;
+        document.querySelectorAll('div.' + id)
+            .forEach(function(elem) {
+                if (selectUncategorized) {
+                    if (elem.className.indexOf(selectedClass) === -1) {
+                        elem.style.display = display;
+                    }
+                } else if (elem.classList.contains(selectedClass)) {
+                    elem.style.display = display;
+                }
+                if (elem.style.display === '') {
+                    var isEvenRow = visible++ % (columns * 2) < columns;
+                    toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor);
+                }
+            });
+        var displaySection = visible === 0 ? 'none' : '';
+        t.parentElement.style.display = displaySection;
+        document.querySelector("li#contents-" + id).style.display = displaySection;
+    })
+}
+
+// Shows the elements of a table belonging to a specific category
+function show(tableId, selected, columns) {
+    if (tableId !== selected) {
+        document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
+            .forEach(function(elem) {
+                elem.style.display = 'none';
+            });
+    }
+    document.querySelectorAll('div.' + selected)
+        .forEach(function(elem, index) {
+            elem.style.display = '';
+            var isEvenRow = index % (columns * 2) < columns;
+            toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor);
+        });
+    updateTabs(tableId, selected);
+}
+
+function updateTabs(tableId, selected) {
+    document.querySelector('div#' + tableId +' .summary-table')
+        .setAttribute('aria-labelledby', selected);
+    document.querySelectorAll('button[id^="' + tableId + '"]')
+        .forEach(function(tab, index) {
+            if (selected === tab.id || (tableId === selected && index === 0)) {
+                tab.className = activeTableTab;
+                tab.setAttribute('aria-selected', true);
+                tab.setAttribute('tabindex',0);
+            } else {
+                tab.className = tableTab;
+                tab.setAttribute('aria-selected', false);
+                tab.setAttribute('tabindex',-1);
+            }
+        });
+}
+
+function switchTab(e) {
+    var selected = document.querySelector('[aria-selected=true]');
+    if (selected) {
+        if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
+            // left or up arrow key pressed: move focus to previous tab
+            selected.previousSibling.click();
+            selected.previousSibling.focus();
+            e.preventDefault();
+        } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
+            // right or down arrow key pressed: move focus to next tab
+            selected.nextSibling.click();
+            selected.nextSibling.focus();
+            e.preventDefault();
+        }
+    }
+}
+
+var updateSearchResults = function() {};
+
+function indexFilesLoaded() {
+    return moduleSearchIndex
+        && packageSearchIndex
+        && typeSearchIndex
+        && memberSearchIndex
+        && tagSearchIndex;
+}
+// Copy the contents of the local snippet to the clipboard
+function copySnippet(button) {
+    copyToClipboard(button.nextElementSibling.innerText);
+    switchCopyLabel(button.firstElementChild, button.parentElement);
+}
+// Copy the link to the adjacent header to the clipboard
+function copyUrl(button) {
+    var id;
+    var header = button.parentElement;
+    if (header.hasAttribute("id")) {
+        id = header.getAttribute("id");
+    } else if (header.parentElement.tagName === 'SECTION' && header.parentElement.hasAttribute("id")) {
+        id = header.parentElement.getAttribute("id");
+    } else if (header.firstElementChild && header.firstElementChild.tagName === "A"
+                                        && header.firstElementChild.hasAttribute("id")) {
+        id = header.firstElementChild.getAttribute("id");
+    }
+    var url = document.location.href;
+    if (url.indexOf("#") > -1) {
+        url = url.substring(0, url.indexOf("#"));
+    }
+    copyToClipboard(url + "#" + id);
+    switchCopyLabel(button.lastElementChild, button.parentElement);
+}
+function copyToClipboard(content) {
+    var textarea = document.createElement("textarea");
+    textarea.style.height = 0;
+    document.body.appendChild(textarea);
+    textarea.value = content;
+    textarea.select();
+    document.execCommand("copy");
+    document.body.removeChild(textarea);
+}
+function switchCopyLabel(span, parent) {
+    var copied = span.getAttribute("data-copied");
+    if (span.innerHTML !== copied) {
+        var initialLabel = span.innerHTML;
+        span.innerHTML = copied;
+        parent.onmouseleave = parent.ontouchend = function() {
+            span.innerHTML = initialLabel;
+        };
+    }
+}
+// Workaround for scroll position not being included in browser history (8249133)
+document.addEventListener("DOMContentLoaded", function(e) {
+    var contentDiv = document.querySelector("div.flex-content");
+    window.addEventListener("popstate", function(e) {
+        if (e.state !== null) {
+            contentDiv.scrollTop = e.state;
+        }
+    });
+    window.addEventListener("hashchange", function(e) {
+        history.replaceState(contentDiv.scrollTop, document.title);
+    });
+    var timeoutId;
+    contentDiv.addEventListener("scroll", function(e) {
+        if (timeoutId) {
+            clearTimeout(timeoutId);
+        }
+        timeoutId = setTimeout(function() {
+            history.replaceState(contentDiv.scrollTop, document.title);
+        }, 100);
+    });
+    if (!location.hash) {
+        history.replaceState(contentDiv.scrollTop, document.title);
+    }
+});
diff --git a/doc/search-page.js b/doc/search-page.js
new file mode 100644
index 0000000..a7d29d8
--- /dev/null
+++ b/doc/search-page.js
@@ -0,0 +1,299 @@
+/*
+ * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
+ * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+
+"use strict";
+$(function() {
+    var copy = $("#page-search-copy");
+    var expand = $("#page-search-expand");
+    var searchLink = $("span#page-search-link");
+    var redirect = $("input#search-redirect");
+    function setSearchUrlTemplate() {
+        var href = document.location.href.split(/[#?]/)[0];
+        href += "?q=" + "%s";
+        if (redirect.is(":checked")) {
+            href += "&r=1";
+        }
+        searchLink.html(href);
+        copy[0].onmouseenter();
+    }
+    function copyLink(e) {
+        var textarea = document.createElement("textarea");
+        textarea.style.height = 0;
+        document.body.appendChild(textarea);
+        textarea.value = this.previousSibling.innerText;
+        textarea.select();
+        document.execCommand("copy");
+        document.body.removeChild(textarea);
+        var span = this.lastElementChild;
+        var copied = span.getAttribute("data-copied");
+        if (span.innerHTML !== copied) {
+            var initialLabel = span.innerHTML;
+            span.innerHTML = copied;
+            var parent = this.parentElement.parentElement;
+            parent.onmouseleave = parent.ontouchend = copy[0].onmouseenter = function() {
+                span.innerHTML = initialLabel;
+            };
+        }
+    }
+    copy.click(copyLink);
+    copy[0].onmouseenter = function() {};
+    redirect.click(setSearchUrlTemplate);
+    setSearchUrlTemplate();
+    copy.prop("disabled", false);
+    redirect.prop("disabled", false);
+    expand.click(function (e) {
+        var searchInfo = $("div.page-search-info");
+        if(this.parentElement.hasAttribute("open")) {
+            searchInfo.attr("style", "border-width: 0;");
+        } else {
+            searchInfo.attr("style", "border-width: 1px;").height(searchInfo.prop("scrollHeight"));
+        }
+    });
+});
+$(window).on("load", function() {
+    var input = $("#page-search-input");
+    var reset = $("#page-search-reset");
+    var notify = $("#page-search-notify");
+    var resultSection = $("div#result-section");
+    var resultContainer = $("div#result-container");
+    var searchTerm = "";
+    var activeTab = "";
+    var fixedTab = false;
+    var visibleTabs = [];
+    var feelingLucky = false;
+    function renderResults(result) {
+        if (!result.length) {
+            notify.html(messages.noResult);
+        } else if (result.length === 1) {
+            notify.html(messages.oneResult);
+        } else {
+            notify.html(messages.manyResults.replace("{0}", result.length));
+        }
+        resultContainer.empty();
+        var r = {
+            "types": [],
+            "members": [],
+            "packages": [],
+            "modules": [],
+            "searchTags": []
+        };
+        for (var i in result) {
+            var item = result[i];
+            var arr = r[item.category];
+            arr.push(item);
+        }
+        if (!activeTab || r[activeTab].length === 0 || !fixedTab) {
+            Object.keys(r).reduce(function(prev, curr) {
+                if (r[curr].length > 0 && r[curr][0].score > prev) {
+                    activeTab = curr;
+                    return r[curr][0].score;
+                }
+                return prev;
+            }, 0);
+        }
+        if (feelingLucky && activeTab) {
+            notify.html(messages.redirecting)
+            var firstItem = r[activeTab][0];
+            window.location = getURL(firstItem.indexItem, firstItem.category);
+            return;
+        }
+        if (result.length > 20) {
+            if (searchTerm[searchTerm.length - 1] === ".") {
+                if (activeTab === "types" && r["members"].length > r["types"].length) {
+                    activeTab = "members";
+                } else if (activeTab === "packages" && r["types"].length > r["packages"].length) {
+                    activeTab = "types";
+                }
+            }
+        }
+        var categoryCount = Object.keys(r).reduce(function(prev, curr) {
+            return prev + (r[curr].length > 0 ? 1 : 0);
+        }, 0);
+        visibleTabs = [];
+        var tabContainer = $("<div class='table-tabs'></div>").appendTo(resultContainer);
+        for (var key in r) {
+            var id = "#result-tab-" + key.replace("searchTags", "search_tags");
+            if (r[key].length) {
+                var count = r[key].length >= 1000 ? "999+" : r[key].length;
+                if (result.length > 20 && categoryCount > 1) {
+                    var button = $("<button id='result-tab-" + key
+                        + "' class='page-search-header'><span>" + categories[key] + "</span>"
+                        + "<span style='font-weight: normal'> (" + count + ")</span></button>").appendTo(tabContainer);
+                    button.click(key, function(e) {
+                        fixedTab = true;
+                        renderResult(e.data, $(this));
+                    });
+                    visibleTabs.push(key);
+                } else {
+                    $("<span class='page-search-header active-table-tab'>" + categories[key]
+                        + "<span style='font-weight: normal'> (" + count + ")</span></span>").appendTo(tabContainer);
+                    renderTable(key, r[key]).appendTo(resultContainer);
+                    tabContainer = $("<div class='table-tabs'></div>").appendTo(resultContainer);
+
+                }
+            }
+        }
+        if (activeTab && result.length > 20 && categoryCount > 1) {
+            $("button#result-tab-" + activeTab).addClass("active-table-tab");
+            renderTable(activeTab, r[activeTab]).appendTo(resultContainer);
+        }
+        resultSection.show();
+        function renderResult(category, button) {
+            activeTab = category;
+            setSearchUrl();
+            resultContainer.find("div.summary-table").remove();
+            renderTable(activeTab, r[activeTab]).appendTo(resultContainer);
+            button.siblings().removeClass("active-table-tab");
+            button.addClass("active-table-tab");
+        }
+    }
+    function selectTab(category) {
+        $("button#result-tab-" + category).click();
+    }
+    function renderTable(category, items) {
+        var table = $("<div class='summary-table'>")
+            .addClass(category === "modules"
+                ? "one-column-search-results"
+                : "two-column-search-results");
+        var col1, col2;
+        if (category === "modules") {
+            col1 = "Module";
+        } else if (category === "packages") {
+            col1 = "Module";
+            col2 = "Package";
+        } else if (category === "types") {
+            col1 = "Package";
+            col2 = "Class"
+        } else if (category === "members") {
+            col1 = "Class";
+            col2 = "Member";
+        } else if (category === "searchTags") {
+            col1 = "Location";
+            col2 = "Name";
+        }
+        $("<div class='table-header col-plain'>" + col1 + "</div>").appendTo(table);
+        if (category !== "modules") {
+            $("<div class='table-header col-plain'>" + col2 + "</div>").appendTo(table);
+        }
+        $.each(items, function(index, item) {
+            var rowColor = index % 2 ? "odd-row-color" : "even-row-color";
+            renderItem(item, table, rowColor);
+        });
+        return table;
+    }
+    function renderItem(item, table, rowColor) {
+        var label = getHighlightedText(item.input, item.boundaries, item.prefix.length, item.input.length);
+        var link = $("<a/>")
+            .attr("href",  getURL(item.indexItem, item.category))
+            .attr("tabindex", "0")
+            .addClass("search-result-link")
+            .html(label);
+        var container = getHighlightedText(item.input, item.boundaries, 0, item.prefix.length - 1);
+        if (item.category === "searchTags") {
+            container = item.indexItem.h || "";
+        }
+        if (item.category !== "modules") {
+            $("<div/>").html(container).addClass("col-plain").addClass(rowColor).appendTo(table);
+        }
+        $("<div/>").html(link).addClass("col-last").addClass(rowColor).appendTo(table);
+    }
+    var timeout;
+    function schedulePageSearch() {
+        if (timeout) {
+            clearTimeout(timeout);
+        }
+        timeout = setTimeout(function () {
+            doPageSearch()
+        }, 100);
+    }
+    function doPageSearch() {
+        setSearchUrl();
+        var term = searchTerm = input.val().trim();
+        if (term === "") {
+            notify.html(messages.enterTerm);
+            activeTab = "";
+            fixedTab = false;
+            resultContainer.empty();
+            resultSection.hide();
+        } else {
+            notify.html(messages.searching);
+            doSearch({ term: term, maxResults: 1200 }, renderResults);
+        }
+    }
+    function setSearchUrl() {
+        var query = input.val().trim();
+        var url = document.location.pathname;
+        if (query) {
+            url += "?q=" + encodeURI(query);
+            if (activeTab && fixedTab) {
+                url += "&c=" + activeTab;
+            }
+        }
+        history.replaceState({query: query}, "", url);
+    }
+    input.on("input", function(e) {
+        feelingLucky = false;
+        schedulePageSearch();
+    });
+    $(document).keydown(function(e) {
+        if ((e.ctrlKey || e.metaKey) && (e.key === "ArrowLeft" || e.key === "ArrowRight")) {
+            if (activeTab && visibleTabs.length > 1) {
+                var idx = visibleTabs.indexOf(activeTab);
+                idx += e.key === "ArrowLeft" ? visibleTabs.length - 1 : 1;
+                selectTab(visibleTabs[idx % visibleTabs.length]);
+                return false;
+            }
+        }
+    });
+    reset.click(function() {
+        notify.html(messages.enterTerm);
+        resultSection.hide();
+        activeTab = "";
+        fixedTab = false;
+        resultContainer.empty();
+        input.val('').focus();
+        setSearchUrl();
+    });
+    input.prop("disabled", false);
+    reset.prop("disabled", false);
+
+    var urlParams = new URLSearchParams(window.location.search);
+    if (urlParams.has("q")) {
+        input.val(urlParams.get("q"))
+    }
+    if (urlParams.has("c")) {
+        activeTab = urlParams.get("c");
+        fixedTab = true;
+    }
+    if (urlParams.get("r")) {
+        feelingLucky = true;
+    }
+    if (input.val()) {
+        doPageSearch();
+    } else {
+        notify.html(messages.enterTerm);
+    }
+    input.select().focus();
+});
diff --git a/doc/search.html b/doc/search.html
new file mode 100644
index 0000000..7454df9
--- /dev/null
+++ b/doc/search.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML>
+<html lang="fr">
+<head>
+<!-- Generated by javadoc (20) on Sat Mar 08 23:13:19 CET 2025 -->
+<title>Search</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="dc.created" content="2025-03-08">
+<meta name="description" content="search">
+<meta name="generator" content="javadoc/SearchWriter">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="search-page">
+<script type="text/javascript">var pathtoroot = "./";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="Gestion_panier/module-summary.html">Module</a></li>
+<li><a href="Gestion_panier/Panier/package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="Gestion_panier/Panier/package-tree.html">Tree</a></li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html#search">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div id="navbar-sub-list"></div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<h1 class="title">Search</h1>
+<div>
+<input type="text" id="page-search-input" disabled placeholder="Search">
+<input type="reset" id="page-search-reset" disabled value="Reset" style="margin: 6px;">
+<details class="page-search-details">
+<summary id="page-search-expand">Additional resources</summary>
+</details>
+</div>
+<div class="page-search-info">
+<p>The <a href="help-doc.html#search">help page</a> provides an introduction to the scope and syntax of JavaDoc search.</p>
+<p>You can use the &lt;ctrl&gt; or &lt;cmd&gt; keys in combination with the left and right arrow keys to switch between result tabs in this page.</p>
+<p>The URL template below may be used to configure this page as a search engine in browsers that support this feature. It has been tested to work in Google Chrome and Mozilla Firefox. Note that other browsers may not support this feature or require a different URL format.</p>
+<span id="page-search-link">link</span><button class="copy" id="page-search-copy"><img src="copy.svg" alt="Copy URL"><span data-copied="Copied!">Copy URL</span></button>
+<p>
+<input type="checkbox" id="search-redirect" disabled>
+<label for="search-redirect">Redirect to first result</label></p>
+</div>
+<p id="page-search-notify">Loading search index...</p>
+<div id="result-section" style="display: none;">
+<div id="result-container"></div>
+<script type="text/javascript" src="search-page.js"></script>
+</div>
+</main>
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/search.js b/doc/search.js
new file mode 100644
index 0000000..9e61cfe
--- /dev/null
+++ b/doc/search.js
@@ -0,0 +1,458 @@
+/*
+ * Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
+ * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+"use strict";
+const messages = {
+    enterTerm: "Enter a search term",
+    noResult: "No results found",
+    oneResult: "Found one result",
+    manyResults: "Found {0} results",
+    loading: "Loading search index...",
+    searching: "Searching...",
+    redirecting: "Redirecting to first result...",
+    copyUrl: "Copy URL",
+    urlCopied: "Copied!"
+}
+const categories = {
+    modules: "Modules",
+    packages: "Packages",
+    types: "Classes and Interfaces",
+    members: "Members",
+    searchTags: "Search Tags"
+};
+const highlight = "<span class='result-highlight'>$&</span>";
+const NO_MATCH = {};
+const MAX_RESULTS = 300;
+function checkUnnamed(name, separator) {
+    return name === "<Unnamed>" || !name ? "" : name + separator;
+}
+function escapeHtml(str) {
+    return str.replace(/</g, "&lt;").replace(/>/g, "&gt;");
+}
+function getHighlightedText(str, boundaries, from, to) {
+    var start = from;
+    var text = "";
+    for (var i = 0; i < boundaries.length; i += 2) {
+        var b0 = boundaries[i];
+        var b1 = boundaries[i + 1];
+        if (b0 >= to || b1 <= from) {
+            continue;
+        }
+        text += escapeHtml(str.slice(start, Math.max(start, b0)));
+        text += "<span class='result-highlight'>";
+        text += escapeHtml(str.slice(Math.max(start, b0), Math.min(to, b1)));
+        text += "</span>";
+        start = Math.min(to, b1);
+    }
+    text += escapeHtml(str.slice(start, to));
+    return text;
+}
+function getURLPrefix(item, category) {
+    var urlPrefix = "";
+    var slash = "/";
+    if (category === "modules") {
+        return item.l + slash;
+    } else if (category === "packages" && item.m) {
+        return item.m + slash;
+    } else if (category === "types" || category === "members") {
+        if (item.m) {
+            urlPrefix = item.m + slash;
+        } else {
+            $.each(packageSearchIndex, function(index, it) {
+                if (it.m && item.p === it.l) {
+                    urlPrefix = it.m + slash;
+                }
+            });
+        }
+    }
+    return urlPrefix;
+}
+function getURL(item, category) {
+    if (item.url) {
+        return item.url;
+    }
+    var url = getURLPrefix(item, category);
+    if (category === "modules") {
+        url += "module-summary.html";
+    } else if (category === "packages") {
+        if (item.u) {
+            url = item.u;
+        } else {
+            url += item.l.replace(/\./g, '/') + "/package-summary.html";
+        }
+    } else if (category === "types") {
+        if (item.u) {
+            url = item.u;
+        } else {
+            url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.l + ".html";
+        }
+    } else if (category === "members") {
+        url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.c + ".html" + "#";
+        if (item.u) {
+            url += item.u;
+        } else {
+            url += item.l;
+        }
+    } else if (category === "searchTags") {
+        url += item.u;
+    }
+    item.url = url;
+    return url;
+}
+function createMatcher(term, camelCase) {
+    if (camelCase && !isUpperCase(term)) {
+        return null;  // no need for camel-case matcher for lower case query
+    }
+    var pattern = "";
+    var upperCase = [];
+    term.trim().split(/\s+/).forEach(function(w, index, array) {
+        var tokens = w.split(/(?=[A-Z,.()<>?[\/])/);
+        for (var i = 0; i < tokens.length; i++) {
+            var s = tokens[i];
+            // ',' and '?' are the only delimiters commonly followed by space in java signatures
+            pattern += "(" + $.ui.autocomplete.escapeRegex(s).replace(/[,?]/g, "$&\\s*?") + ")";
+            upperCase.push(false);
+            var isWordToken =  /\w$/.test(s);
+            if (isWordToken) {
+                if (i === tokens.length - 1 && index < array.length - 1) {
+                    // space in query string matches all delimiters
+                    pattern += "(.*?)";
+                    upperCase.push(isUpperCase(s[0]));
+                } else {
+                    if (!camelCase && isUpperCase(s) && s.length === 1) {
+                        pattern += "()";
+                    } else {
+                        pattern += "([a-z0-9$<>?[\\]]*?)";
+                    }
+                    upperCase.push(isUpperCase(s[0]));
+                }
+            } else {
+                pattern += "()";
+                upperCase.push(false);
+            }
+        }
+    });
+    var re = new RegExp(pattern, "gi");
+    re.upperCase = upperCase;
+    return re;
+}
+function findMatch(matcher, input, startOfName, endOfName) {
+    var from = startOfName;
+    matcher.lastIndex = from;
+    var match = matcher.exec(input);
+    // Expand search area until we get a valid result or reach the beginning of the string
+    while (!match || match.index + match[0].length < startOfName || endOfName < match.index) {
+        if (from === 0) {
+            return NO_MATCH;
+        }
+        from = input.lastIndexOf(".", from - 2) + 1;
+        matcher.lastIndex = from;
+        match = matcher.exec(input);
+    }
+    var boundaries = [];
+    var matchEnd = match.index + match[0].length;
+    var score = 5;
+    var start = match.index;
+    var prevEnd = -1;
+    for (var i = 1; i < match.length; i += 2) {
+        var isUpper = isUpperCase(input[start]);
+        var isMatcherUpper = matcher.upperCase[i];
+        // capturing groups come in pairs, match and non-match
+        boundaries.push(start, start + match[i].length);
+        // make sure groups are anchored on a left word boundary
+        var prevChar = input[start - 1] || "";
+        var nextChar = input[start + 1] || "";
+        if (start !== 0 && !/[\W_]/.test(prevChar) && !/[\W_]/.test(input[start])) {
+            if (isUpper && (isLowerCase(prevChar) || isLowerCase(nextChar))) {
+                score -= 0.1;
+            } else if (isMatcherUpper && start === prevEnd) {
+                score -= isUpper ? 0.1 : 1.0;
+            } else {
+                return NO_MATCH;
+            }
+        }
+        prevEnd = start + match[i].length;
+        start += match[i].length + match[i + 1].length;
+
+        // lower score for parts of the name that are missing
+        if (match[i + 1] && prevEnd < endOfName) {
+            score -= rateNoise(match[i + 1]);
+        }
+    }
+    // lower score if a type name contains unmatched camel-case parts
+    if (input[matchEnd - 1] !== "." && endOfName > matchEnd)
+        score -= rateNoise(input.slice(matchEnd, endOfName));
+    score -= rateNoise(input.slice(0, Math.max(startOfName, match.index)));
+
+    if (score <= 0) {
+        return NO_MATCH;
+    }
+    return {
+        input: input,
+        score: score,
+        boundaries: boundaries
+    };
+}
+function isUpperCase(s) {
+    return s !== s.toLowerCase();
+}
+function isLowerCase(s) {
+    return s !== s.toUpperCase();
+}
+function rateNoise(str) {
+    return (str.match(/([.(])/g) || []).length / 5
+         + (str.match(/([A-Z]+)/g) || []).length / 10
+         +  str.length / 20;
+}
+function doSearch(request, response) {
+    var term = request.term.trim();
+    var maxResults = request.maxResults || MAX_RESULTS;
+    if (term.length === 0) {
+        return this.close();
+    }
+    var matcher = {
+        plainMatcher: createMatcher(term, false),
+        camelCaseMatcher: createMatcher(term, true)
+    }
+    var indexLoaded = indexFilesLoaded();
+
+    function getPrefix(item, category) {
+        switch (category) {
+            case "packages":
+                return checkUnnamed(item.m, "/");
+            case "types":
+                return checkUnnamed(item.p, ".");
+            case "members":
+                return checkUnnamed(item.p, ".") + item.c + ".";
+            default:
+                return "";
+        }
+    }
+    function useQualifiedName(category) {
+        switch (category) {
+            case "packages":
+                return /[\s/]/.test(term);
+            case "types":
+            case "members":
+                return /[\s.]/.test(term);
+            default:
+                return false;
+        }
+    }
+    function searchIndex(indexArray, category) {
+        var matches = [];
+        if (!indexArray) {
+            if (!indexLoaded) {
+                matches.push({ l: messages.loading, category: category });
+            }
+            return matches;
+        }
+        $.each(indexArray, function (i, item) {
+            var prefix = getPrefix(item, category);
+            var simpleName = item.l;
+            var qualifiedName = prefix + simpleName;
+            var useQualified = useQualifiedName(category);
+            var input = useQualified ? qualifiedName : simpleName;
+            var startOfName = useQualified ? prefix.length : 0;
+            var endOfName = category === "members" && input.indexOf("(", startOfName) > -1
+                ? input.indexOf("(", startOfName) : input.length;
+            var m = findMatch(matcher.plainMatcher, input, startOfName, endOfName);
+            if (m === NO_MATCH && matcher.camelCaseMatcher) {
+                m = findMatch(matcher.camelCaseMatcher, input, startOfName, endOfName);
+            }
+            if (m !== NO_MATCH) {
+                m.indexItem = item;
+                m.prefix = prefix;
+                m.category = category;
+                if (!useQualified) {
+                    m.input = qualifiedName;
+                    m.boundaries = m.boundaries.map(function(b) {
+                        return b + prefix.length;
+                    });
+                }
+                matches.push(m);
+            }
+            return true;
+        });
+        return matches.sort(function(e1, e2) {
+            return e2.score - e1.score;
+        }).slice(0, maxResults);
+    }
+
+    var result = searchIndex(moduleSearchIndex, "modules")
+         .concat(searchIndex(packageSearchIndex, "packages"))
+         .concat(searchIndex(typeSearchIndex, "types"))
+         .concat(searchIndex(memberSearchIndex, "members"))
+         .concat(searchIndex(tagSearchIndex, "searchTags"));
+
+    if (!indexLoaded) {
+        updateSearchResults = function() {
+            doSearch(request, response);
+        }
+    } else {
+        updateSearchResults = function() {};
+    }
+    response(result);
+}
+// JQuery search menu implementation
+$.widget("custom.catcomplete", $.ui.autocomplete, {
+    _create: function() {
+        this._super();
+        this.widget().menu("option", "items", "> .result-item");
+        // workaround for search result scrolling
+        this.menu._scrollIntoView = function _scrollIntoView( item ) {
+            var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
+            if ( this._hasScroll() ) {
+                borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0;
+                paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0;
+                offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
+                scroll = this.activeMenu.scrollTop();
+                elementHeight = this.activeMenu.height() - 26;
+                itemHeight = item.outerHeight();
+
+                if ( offset < 0 ) {
+                    this.activeMenu.scrollTop( scroll + offset );
+                } else if ( offset + itemHeight > elementHeight ) {
+                    this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );
+                }
+            }
+        };
+    },
+    _renderMenu: function(ul, items) {
+        var currentCategory = "";
+        var widget = this;
+        widget.menu.bindings = $();
+        $.each(items, function(index, item) {
+            if (item.category && item.category !== currentCategory) {
+                ul.append("<li class='ui-autocomplete-category'>" + categories[item.category] + "</li>");
+                currentCategory = item.category;
+            }
+            var li = widget._renderItemData(ul, item);
+            if (item.category) {
+                li.attr("aria-label", categories[item.category] + " : " + item.l);
+            } else {
+                li.attr("aria-label", item.l);
+            }
+            li.attr("class", "result-item");
+        });
+        ul.append("<li class='ui-static-link'><a href='" + pathtoroot + "search.html?q="
+            + encodeURI(widget.term) + "'>Go to search page</a></li>");
+    },
+    _renderItem: function(ul, item) {
+        var li = $("<li/>").appendTo(ul);
+        var div = $("<div/>").appendTo(li);
+        var label = item.l
+            ? item.l
+            : getHighlightedText(item.input, item.boundaries, 0, item.input.length);
+        var idx = item.indexItem;
+        if (item.category === "searchTags" && idx.h) {
+            if (idx.d) {
+                div.html(label + "<span class='search-tag-holder-result'> (" + idx.h + ")</span><br><span class='search-tag-desc-result'>"
+                    + idx.d + "</span><br>");
+            } else {
+                div.html(label + "<span class='search-tag-holder-result'> (" + idx.h + ")</span>");
+            }
+        } else {
+            div.html(label);
+        }
+        return li;
+    }
+});
+$(function() {
+    var expanded = false;
+    var windowWidth;
+    function collapse() {
+        if (expanded) {
+            $("div#navbar-top").removeAttr("style");
+            $("button#navbar-toggle-button")
+                .removeClass("expanded")
+                .attr("aria-expanded", "false");
+            expanded = false;
+        }
+    }
+    $("button#navbar-toggle-button").click(function (e) {
+        if (expanded) {
+            collapse();
+        } else {
+            var navbar = $("div#navbar-top");
+            navbar.height(navbar.prop("scrollHeight"));
+            $("button#navbar-toggle-button")
+                .addClass("expanded")
+                .attr("aria-expanded", "true");
+            expanded = true;
+            windowWidth = window.innerWidth;
+        }
+    });
+    $("ul.sub-nav-list-small li a").click(collapse);
+    $("input#search-input").focus(collapse);
+    $("main").click(collapse);
+    $("section[id] > :header, :header[id], :header:has(a[id])").hover(
+        function () {
+            $(this).append($("<button class='copy copy-header' onclick='copyUrl(this)'> " +
+                "<img src='" + pathtoroot + "copy.svg' alt='" + messages.copyUrl + "'> " +
+                "<span data-copied='" + messages.urlCopied + "'></span></button>"));
+        },
+        function () {
+            $(this).find("button:last").remove();
+        }
+    );
+    $(window).on("orientationchange", collapse).on("resize", function(e) {
+        if (expanded && windowWidth !== window.innerWidth) collapse();
+    });
+    var search = $("#search-input");
+    var reset = $("#reset-button");
+    search.catcomplete({
+        minLength: 1,
+        delay: 200,
+        source: doSearch,
+        response: function(event, ui) {
+            if (!ui.content.length) {
+                ui.content.push({ l: messages.noResult });
+            } else {
+                $("#search-input").empty();
+            }
+        },
+        autoFocus: true,
+        focus: function(event, ui) {
+            return false;
+        },
+        position: {
+            collision: "flip"
+        },
+        select: function(event, ui) {
+            if (ui.item.indexItem) {
+                var url = getURL(ui.item.indexItem, ui.item.category);
+                window.location.href = pathtoroot + url;
+                $("#search-input").focus();
+            }
+        }
+    });
+    search.val('');
+    search.prop("disabled", false);
+    reset.prop("disabled", false);
+    reset.click(function() {
+        search.val('').focus();
+    });
+    search.focus();
+});
diff --git a/doc/stylesheet.css b/doc/stylesheet.css
new file mode 100644
index 0000000..5f38959
--- /dev/null
+++ b/doc/stylesheet.css
@@ -0,0 +1,1264 @@
+/*
+ * Javadoc style sheet
+ */
+
+@import url('resources/fonts/dejavu.css');
+
+/*
+ * These CSS custom properties (variables) define the core color and font
+ * properties used in this stylesheet.
+ */
+:root {
+    /* body, block and code fonts */
+    --body-font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
+    --block-font-family: 'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+    --code-font-family: 'DejaVu Sans Mono', monospace;
+    /* Base font sizes for body and code elements */
+    --body-font-size: 14px;
+    --code-font-size: 14px;
+    /* Text colors for body and block elements */
+    --body-text-color: #353833;
+    --block-text-color: #474747;
+    /* Background colors for various structural elements */
+    --body-background-color: #ffffff;
+    --section-background-color: #f8f8f8;
+    --detail-background-color: #ffffff;
+    /* Colors for navigation bar and table captions */
+    --navbar-background-color: #4D7A97;
+    --navbar-text-color: #ffffff;
+    /* Background color for subnavigation and various headers */
+    --subnav-background-color: #dee3e9;
+    /* Background and text colors for selected tabs and navigation items */
+    --selected-background-color: #f8981d;
+    --selected-text-color: #253441;
+    --selected-link-color: #1f389c;
+    /* Background colors for generated tables */
+    --even-row-color: #ffffff;
+    --odd-row-color: #eeeeef;
+    /* Text color for page title */
+    --title-color: #2c4557;
+    /* Text colors for links */
+    --link-color: #4A6782;
+    --link-color-active: #bb7a2a;
+    /* Snippet colors */
+    --snippet-background-color: #ebecee;
+    --snippet-text-color: var(--block-text-color);
+    --snippet-highlight-color: #f7c590;
+    /* Border colors for structural elements and user defined tables */
+    --border-color: #ededed;
+    --table-border-color: #000000;
+    /* Search input colors */
+    --search-input-background-color: #ffffff;
+    --search-input-text-color: #000000;
+    --search-input-placeholder-color: #909090;
+    /* Highlight color for active search tag target */
+    --search-tag-highlight-color: #ffff00;
+    /* Adjustments for icon and active background colors of copy-to-clipboard buttons */
+    --copy-icon-brightness: 100%;
+    --copy-button-background-color-active: rgba(168, 168, 176, 0.3);
+    /* Colors for invalid tag notifications */
+    --invalid-tag-background-color: #ffe6e6;
+    --invalid-tag-text-color: #000000;
+}
+/*
+ * Styles for individual HTML elements.
+ *
+ * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular
+ * HTML element throughout the page.
+ */
+body {
+    background-color:var(--body-background-color);
+    color:var(--body-text-color);
+    font-family:var(--body-font-family);
+    font-size:var(--body-font-size);
+    margin:0;
+    padding:0;
+    height:100%;
+    width:100%;
+}
+iframe {
+    margin:0;
+    padding:0;
+    height:100%;
+    width:100%;
+    overflow-y:scroll;
+    border:none;
+}
+a:link, a:visited {
+    text-decoration:none;
+    color:var(--link-color);
+}
+a[href]:hover, a[href]:focus {
+    text-decoration:none;
+    color:var(--link-color-active);
+}
+pre {
+    font-family:var(--code-font-family);
+    font-size:1em;
+}
+h1 {
+    font-size:1.428em;
+}
+h2 {
+    font-size:1.285em;
+}
+h3 {
+    font-size:1.14em;
+}
+h4 {
+    font-size:1.072em;
+}
+h5 {
+    font-size:1.001em;
+}
+h6 {
+    font-size:0.93em;
+}
+/* Disable font boosting for selected elements */
+h1, h2, h3, h4, h5, h6, div.member-signature {
+    max-height: 1000em;
+}
+ul {
+    list-style-type:disc;
+}
+code, tt {
+    font-family:var(--code-font-family);
+}
+:not(h1, h2, h3, h4, h5, h6) > code,
+:not(h1, h2, h3, h4, h5, h6) > tt {
+    font-size:var(--code-font-size);
+    padding-top:4px;
+    margin-top:8px;
+    line-height:1.4em;
+}
+dt code {
+    font-family:var(--code-font-family);
+    font-size:1em;
+    padding-top:4px;
+}
+.summary-table dt code {
+    font-family:var(--code-font-family);
+    font-size:1em;
+    vertical-align:top;
+    padding-top:4px;
+}
+sup {
+    font-size:8px;
+}
+button {
+    font-family: var(--body-font-family);
+    font-size: 1em;
+}
+/*
+ * Styles for HTML generated by javadoc.
+ *
+ * These are style classes that are used by the standard doclet to generate HTML documentation.
+ */
+
+/*
+ * Styles for document title and copyright.
+ */
+.about-language {
+    float:right;
+    padding:0 21px 8px 8px;
+    font-size:0.915em;
+    margin-top:-9px;
+    height:2.9em;
+}
+.legal-copy {
+    margin-left:.5em;
+}
+/*
+ * Styles for navigation bar.
+ */
+@media screen {
+    div.flex-box {
+        position:fixed;
+        display:flex;
+        flex-direction:column;
+        height: 100%;
+        width: 100%;
+    }
+    header.flex-header {
+        flex: 0 0 auto;
+    }
+    div.flex-content {
+        flex: 1 1 auto;
+        overflow-y: auto;
+    }
+}
+.top-nav {
+    background-color:var(--navbar-background-color);
+    color:var(--navbar-text-color);
+    float:left;
+    width:100%;
+    clear:right;
+    min-height:2.8em;
+    padding:10px 0 0 0;
+    overflow:hidden;
+    font-size:0.857em;
+}
+button#navbar-toggle-button {
+    display:none;
+}
+ul.sub-nav-list-small {
+    display: none;
+}
+.sub-nav {
+    background-color:var(--subnav-background-color);
+    float:left;
+    width:100%;
+    overflow:hidden;
+    font-size:0.857em;
+}
+.sub-nav div {
+    clear:left;
+    float:left;
+    padding:6px;
+    text-transform:uppercase;
+}
+.sub-nav .sub-nav-list {
+    padding-top:4px;
+}
+ul.nav-list {
+    display:block;
+    margin:0 25px 0 0;
+    padding:0;
+}
+ul.sub-nav-list {
+    float:left;
+    margin:0 25px 0 0;
+    padding:0;
+}
+ul.nav-list li {
+    list-style:none;
+    float:left;
+    padding: 5px 6px;
+    text-transform:uppercase;
+}
+.sub-nav .nav-list-search {
+    float:right;
+    margin:0;
+    padding:6px;
+    clear:none;
+    text-align:right;
+    position:relative;
+}
+ul.sub-nav-list li {
+    list-style:none;
+    float:left;
+}
+.top-nav a:link, .top-nav a:active, .top-nav a:visited {
+    color:var(--navbar-text-color);
+    text-decoration:none;
+    text-transform:uppercase;
+}
+.top-nav a:hover {
+    color:var(--link-color-active);
+}
+.nav-bar-cell1-rev {
+    background-color:var(--selected-background-color);
+    color:var(--selected-text-color);
+    margin: auto 5px;
+}
+.skip-nav {
+    position:absolute;
+    top:auto;
+    left:-9999px;
+    overflow:hidden;
+}
+/*
+ * Hide navigation links and search box in print layout
+ */
+@media print {
+    ul.nav-list, div.sub-nav  {
+        display:none;
+    }
+}
+/*
+ * Styles for page header.
+ */
+.title {
+    color:var(--title-color);
+    margin:10px 0;
+}
+.sub-title {
+    margin:5px 0 0 0;
+}
+ul.contents-list {
+    margin: 0 0 15px 0;
+    padding: 0;
+    list-style: none;
+}
+ul.contents-list li {
+    font-size:0.93em;
+}
+/*
+ * Styles for headings.
+ */
+body.class-declaration-page .summary h2,
+body.class-declaration-page .details h2,
+body.class-use-page h2,
+body.module-declaration-page .block-list h2 {
+    font-style: italic;
+    padding:0;
+    margin:15px 0;
+}
+body.class-declaration-page .summary h3,
+body.class-declaration-page .details h3,
+body.class-declaration-page .summary .inherited-list h2 {
+    background-color:var(--subnav-background-color);
+    border:1px solid var(--border-color);
+    margin:0 0 6px -8px;
+    padding:7px 5px;
+}
+/*
+ * Styles for page layout containers.
+ */
+main {
+    clear:both;
+    padding:10px 20px;
+    position:relative;
+}
+dl.notes > dt {
+    font-family: var(--body-font-family);
+    font-size:0.856em;
+    font-weight:bold;
+    margin:10px 0 0 0;
+    color:var(--body-text-color);
+}
+dl.notes > dd {
+    margin:5px 10px 10px 0;
+    font-size:1em;
+    font-family:var(--block-font-family)
+}
+dl.name-value > dt {
+    margin-left:1px;
+    font-size:1.1em;
+    display:inline;
+    font-weight:bold;
+}
+dl.name-value > dd {
+    margin:0 0 0 1px;
+    font-size:1.1em;
+    display:inline;
+}
+/*
+ * Styles for lists.
+ */
+li.circle {
+    list-style:circle;
+}
+ul.horizontal li {
+    display:inline;
+    font-size:0.9em;
+}
+div.inheritance {
+    margin:0;
+    padding:0;
+}
+div.inheritance div.inheritance {
+    margin-left:2em;
+}
+ul.block-list,
+ul.details-list,
+ul.member-list,
+ul.summary-list {
+    margin:10px 0 10px 0;
+    padding:0;
+}
+ul.block-list > li,
+ul.details-list > li,
+ul.member-list > li,
+ul.summary-list > li {
+    list-style:none;
+    margin-bottom:15px;
+    line-height:1.4;
+}
+ul.ref-list {
+  padding:0;
+  margin:0;
+}
+ul.ref-list > li {
+    list-style:none;
+}
+.summary-table dl, .summary-table dl dt, .summary-table dl dd {
+    margin-top:0;
+    margin-bottom:1px;
+}
+ul.tag-list, ul.tag-list-long {
+    padding-left: 0;
+    list-style: none;
+}
+ul.tag-list li {
+    display: inline;
+}
+ul.tag-list li:not(:last-child):after,
+ul.tag-list-long li:not(:last-child):after
+{
+    content: ", ";
+    white-space: pre-wrap;
+}
+ul.preview-feature-list {
+    list-style: none;
+    margin:0;
+    padding:0.1em;
+    line-height: 1.6em;
+}
+/*
+ * Styles for tables.
+ */
+.summary-table, .details-table {
+    width:100%;
+    border-spacing:0;
+    border:1px solid var(--border-color);
+    border-top:0;
+    padding:0;
+}
+.caption {
+    position:relative;
+    text-align:left;
+    background-repeat:no-repeat;
+    color:var(--selected-text-color);
+    clear:none;
+    overflow:hidden;
+    padding: 10px 0 0 1px;
+    margin:0;
+}
+.caption a:link, .caption a:visited {
+    color:var(--selected-link-color);
+}
+.caption a:hover,
+.caption a:active {
+    color:var(--navbar-text-color);
+}
+.caption span {
+    font-weight:bold;
+    white-space:nowrap;
+    padding:5px 12px 7px 12px;
+    display:inline-block;
+    float:left;
+    background-color:var(--selected-background-color);
+    border: none;
+    height:16px;
+}
+div.table-tabs {
+    padding:10px 0 0 1px;
+    margin:10px 0 0 0;
+}
+div.table-tabs > button {
+    border: none;
+    cursor: pointer;
+    padding: 5px 12px 7px 12px;
+    font-weight: bold;
+    margin-right: 8px;
+}
+div.table-tabs > .active-table-tab {
+    background: var(--selected-background-color);
+    color: var(--selected-text-color);
+}
+div.table-tabs > button.table-tab {
+    background: var(--navbar-background-color);
+    color: var(--navbar-text-color);
+}
+.two-column-search-results {
+    display: grid;
+    grid-template-columns: minmax(400px, max-content) minmax(400px, auto);
+}
+div.checkboxes {
+    line-height: 2em;
+}
+div.checkboxes > span {
+    margin-left: 10px;
+}
+div.checkboxes > label {
+    margin-left: 8px;
+    white-space: nowrap;
+}
+div.checkboxes > label > input {
+    margin: 0 2px;
+}
+.two-column-summary {
+    display: grid;
+    grid-template-columns: minmax(25%, max-content) minmax(25%, auto);
+}
+.three-column-summary {
+    display: grid;
+    grid-template-columns: minmax(15%, max-content) minmax(20%, max-content) minmax(20%, auto);
+}
+.three-column-release-summary {
+    display: grid;
+    grid-template-columns: minmax(40%, max-content) minmax(10%, max-content) minmax(40%, auto);
+}
+.four-column-summary {
+    display: grid;
+    grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, max-content) minmax(15%, auto);
+}
+@media screen and (max-width: 1000px) {
+    .four-column-summary {
+        display: grid;
+        grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
+    }
+}
+@media screen and (max-width: 800px) {
+    .two-column-search-results {
+        display: grid;
+        grid-template-columns: minmax(40%, max-content) minmax(40%, auto);
+    }
+    .three-column-summary {
+        display: grid;
+        grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
+    }
+    .three-column-release-summary {
+        display: grid;
+        grid-template-columns: minmax(70%, max-content) minmax(30%, max-content)
+    }
+    .three-column-summary .col-last,
+    .three-column-release-summary .col-last{
+        grid-column-end: span 2;
+    }
+}
+@media screen and (max-width: 600px) {
+    .two-column-summary {
+        display: grid;
+        grid-template-columns: 1fr;
+    }
+}
+.summary-table > div, .details-table > div {
+    text-align:left;
+    padding: 8px 3px 3px 7px;
+    overflow-x: auto;
+    scrollbar-width: thin;
+}
+.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name {
+    vertical-align:top;
+    padding-right:0;
+    padding-top:8px;
+    padding-bottom:3px;
+}
+.table-header {
+    background:var(--subnav-background-color);
+    font-weight: bold;
+}
+/* Sortable table columns */
+.table-header[onclick] {
+    cursor: pointer;
+}
+.table-header[onclick]::after {
+    content:"";
+    display:inline-block;
+    background-image:url('data:image/svg+xml; utf8, \
+    <svg xmlns="http://www.w3.org/2000/svg" width="125" height="170"> \
+    <path d="M10.101 57.059L63.019 4.142l52.917 52.917M10.101 86.392l52.917 52.917 52.917-52.917" style="opacity:.35;"/></svg>');
+    background-size:100% 100%;
+    width:9px;
+    height:14px;
+    margin-left:4px;
+    margin-bottom:-3px;
+}
+.table-header[onclick].sort-asc::after {
+    background-image:url('data:image/svg+xml; utf8, \
+    <svg xmlns="http://www.w3.org/2000/svg" width="125" height="170"> \
+    <path d="M10.101 57.059L63.019 4.142l52.917 52.917" style="opacity:.75;"/> \
+    <path d="M10.101 86.392l52.917 52.917 52.917-52.917" style="opacity:.35;"/></svg>');
+
+}
+.table-header[onclick].sort-desc::after {
+    background-image:url('data:image/svg+xml; utf8, \
+    <svg xmlns="http://www.w3.org/2000/svg" width="125" height="170"> \
+    <path d="M10.101 57.059L63.019 4.142l52.917 52.917" style="opacity:.35;"/> \
+    <path d="M10.101 86.392l52.917 52.917 52.917-52.917" style="opacity:.75;"/></svg>');
+}
+.col-first, .col-first {
+    font-size:0.93em;
+}
+.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last {
+    font-size:0.93em;
+}
+.col-first, .col-second, .col-constructor-name {
+    vertical-align:top;
+    overflow: auto;
+}
+.col-last {
+    white-space:normal;
+}
+.col-first a:link, .col-first a:visited,
+.col-second a:link, .col-second a:visited,
+.col-first a:link, .col-first a:visited,
+.col-second a:link, .col-second a:visited,
+.col-constructor-name a:link, .col-constructor-name a:visited,
+.col-summary-item-name a:link, .col-summary-item-name a:visited {
+    font-weight:bold;
+}
+.even-row-color, .even-row-color .table-header {
+    background-color:var(--even-row-color);
+}
+.odd-row-color, .odd-row-color .table-header {
+    background-color:var(--odd-row-color);
+}
+/*
+ * Styles for contents.
+ */
+div.block {
+    font-size:var(--body-font-size);
+    font-family:var(--block-font-family);
+}
+.col-last div {
+    padding-top:0;
+}
+.col-last a {
+    padding-bottom:3px;
+}
+.module-signature,
+.package-signature,
+.type-signature,
+.member-signature {
+    font-family:var(--code-font-family);
+    font-size:1em;
+    margin:14px 0;
+    white-space: pre-wrap;
+}
+.module-signature,
+.package-signature,
+.type-signature {
+    margin-top: 0;
+}
+.member-signature .type-parameters-long,
+.member-signature .parameters,
+.member-signature .exceptions {
+    display: inline-block;
+    vertical-align: top;
+    white-space: pre;
+}
+.member-signature .type-parameters {
+    white-space: normal;
+}
+/*
+ * Styles for formatting effect.
+ */
+.source-line-no {
+    /* Color of line numbers in source pages can be set via custom property below */
+    color:var(--source-linenumber-color, green);
+    padding:0 30px 0 0;
+}
+.block {
+    display:block;
+    margin:0 10px 5px 0;
+    color:var(--block-text-color);
+}
+.deprecated-label, .description-from-type-label, .implementation-label, .member-name-link,
+.module-label-in-package, .module-label-in-type, .package-label-in-type,
+.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label {
+    font-weight:bold;
+}
+.deprecation-comment, .help-footnote, .preview-comment {
+    font-style:italic;
+}
+.deprecation-block {
+    font-size:1em;
+    font-family:var(--block-font-family);
+    border-style:solid;
+    border-width:thin;
+    border-radius:10px;
+    padding:10px;
+    margin-bottom:10px;
+    margin-right:10px;
+    display:inline-block;
+}
+.preview-block {
+    font-size:1em;
+    font-family:var(--block-font-family);
+    border-style:solid;
+    border-width:thin;
+    border-radius:10px;
+    padding:10px;
+    margin-bottom:10px;
+    margin-right:10px;
+    display:inline-block;
+}
+div.block div.deprecation-comment {
+    font-style:normal;
+}
+details.invalid-tag, span.invalid-tag {
+    font-size:1em;
+    font-family:var(--block-font-family);
+    color: var(--invalid-tag-text-color);
+    background: var(--invalid-tag-background-color);
+    border: thin solid var(--table-border-color);
+    border-radius:2px;
+    padding: 2px 4px;
+    display:inline-block;
+}
+details summary {
+    cursor: pointer;
+}
+/*
+ * Styles specific to HTML5 elements.
+ */
+main, nav, header, footer, section {
+    display:block;
+}
+/*
+ * Styles for javadoc search.
+ */
+.ui-state-active {
+    /* Overrides the color of selection used in jQuery UI */
+    background: var(--selected-background-color);
+    border: 1px solid var(--selected-background-color);
+    color: var(--selected-text-color);
+}
+.ui-autocomplete-category {
+    font-weight:bold;
+    font-size:15px;
+    padding:7px 0 7px 3px;
+    background-color:var(--navbar-background-color);
+    color:var(--navbar-text-color);
+}
+.ui-autocomplete {
+    max-height:85%;
+    max-width:65%;
+    overflow-y:auto;
+    overflow-x:auto;
+    scrollbar-width: thin;
+    white-space:nowrap;
+    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
+}
+ul.ui-autocomplete {
+    position:fixed;
+    z-index:1;
+    background-color: var(--body-background-color);
+}
+ul.ui-autocomplete li {
+    float:left;
+    clear:both;
+    min-width:100%;
+}
+ul.ui-autocomplete li.ui-static-link {
+    position:sticky;
+    bottom:0;
+    left:0;
+    background: var(--subnav-background-color);
+    padding: 5px 0;
+    font-family: var(--body-font-family);
+    font-size: 0.93em;
+    font-weight: bolder;
+    z-index: 2;
+}
+li.ui-static-link a, li.ui-static-link a:visited {
+    text-decoration:none;
+    color:var(--link-color);
+    float:right;
+    margin-right:20px;
+}
+.ui-autocomplete .result-item {
+    font-size: inherit;
+}
+.ui-autocomplete .result-highlight {
+    font-weight:bold;
+}
+#search-input, #page-search-input {
+    background-image:url('resources/glass.png');
+    background-size:13px;
+    background-repeat:no-repeat;
+    background-position:2px 3px;
+    background-color: var(--search-input-background-color);
+    color: var(--search-input-text-color);
+    border-color: var(--border-color);
+    padding-left:20px;
+    width: 250px;
+    margin: 0;
+}
+#search-input {
+    margin-left: 4px;
+}
+#reset-button {
+    background-color: transparent;
+    background-image:url('resources/x.png');
+    background-repeat:no-repeat;
+    background-size:contain;
+    border:0;
+    border-radius:0;
+    width:12px;
+    height:12px;
+    position:absolute;
+    right:12px;
+    top:10px;
+    font-size:0;
+}
+::placeholder {
+    color:var(--search-input-placeholder-color);
+    opacity: 1;
+}
+.search-tag-desc-result {
+    font-style:italic;
+    font-size:11px;
+}
+.search-tag-holder-result {
+    font-style:italic;
+    font-size:12px;
+}
+.search-tag-result:target {
+    background-color:var(--search-tag-highlight-color);
+}
+details.page-search-details {
+    display: inline-block;
+}
+div#result-container {
+    font-size: 1em;
+}
+div#result-container a.search-result-link {
+    padding: 0;
+    margin: 4px 0;
+    width: 100%;
+}
+#result-container .result-highlight {
+    font-weight:bolder;
+}
+.page-search-info {
+    background-color: var(--subnav-background-color);
+    border-radius: 3px;
+    border: 0 solid var(--border-color);
+    padding: 0 8px;
+    overflow: hidden;
+    height: 0;
+    transition: all 0.2s ease;
+}
+div.table-tabs > button.table-tab {
+    background: var(--navbar-background-color);
+    color: var(--navbar-text-color);
+}
+.page-search-header {
+    padding: 5px 12px 7px 12px;
+    font-weight: bold;
+    margin-right: 3px;
+    background-color:var(--navbar-background-color);
+    color:var(--navbar-text-color);
+    display: inline-block;
+}
+button.page-search-header {
+    border: none;
+    cursor: pointer;
+}
+span#page-search-link {
+    text-decoration: underline;
+}
+.module-graph span, .sealed-graph span {
+    display:none;
+    position:absolute;
+}
+.module-graph:hover span, .sealed-graph:hover span {
+    display:block;
+    margin: -100px 0 0 100px;
+    z-index: 1;
+}
+.inherited-list {
+    margin: 10px 0 10px 0;
+}
+section.class-description {
+    line-height: 1.4;
+}
+.summary section[class$="-summary"], .details section[class$="-details"],
+.class-uses .detail, .serialized-class-details {
+    padding: 0 20px 5px 10px;
+    border: 1px solid var(--border-color);
+    background-color: var(--section-background-color);
+}
+.inherited-list, section[class$="-details"] .detail {
+    padding:0 0 5px 8px;
+    background-color:var(--detail-background-color);
+    border:none;
+}
+.vertical-separator {
+    padding: 0 5px;
+}
+ul.help-section-list {
+    margin: 0;
+}
+ul.help-subtoc > li {
+  display: inline-block;
+  padding-right: 5px;
+  font-size: smaller;
+}
+ul.help-subtoc > li::before {
+  content: "\2022" ;
+  padding-right:2px;
+}
+.help-note {
+    font-style: italic;
+}
+/*
+ * Indicator icon for external links.
+ */
+main a[href*="://"]::after {
+    content:"";
+    display:inline-block;
+    background-image:url('data:image/svg+xml; utf8, \
+      <svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
+        <path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
+        132-240 240 120 120 240-240 132 132V0z" fill="%234a6782"/>\
+      </svg>');
+    background-size:100% 100%;
+    width:7px;
+    height:7px;
+    margin-left:2px;
+    margin-bottom:4px;
+}
+main a[href*="://"]:hover::after,
+main a[href*="://"]:focus::after {
+    background-image:url('data:image/svg+xml; utf8, \
+      <svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
+        <path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
+        132-240 240 120 120 240-240 132 132V0z" fill="%23bb7a2a"/>\
+      </svg>');
+}
+/*
+ * Styles for copy-to-clipboard buttons
+ */
+button.copy {
+    opacity: 80%;
+    border: none;
+    border-radius: 3px;
+    position: relative;
+    background:none;
+    transition: opacity 0.2s;
+    cursor: pointer;
+}
+button.copy:hover,
+button.copy:active {
+    opacity: 100%;
+}
+button.copy img {
+    position: relative;
+    background: none;
+    filter: brightness(var(--copy-icon-brightness));
+}
+button.copy:active {
+    background-color: var(--copy-button-background-color-active);
+}
+button.copy span {
+    color: var(--body-text-color);
+    position: relative;
+    top: -0.1em;
+    transition: all 0.1s;
+    font-size: 0.76rem;
+    line-height: 1.2em;
+}
+/* header/section copy button */
+button.copy-header {
+    margin: 0 0.2em;
+    padding: 0 4px;
+    height: 1.16em;
+}
+button.copy-header img {
+    height: 0.88em;
+    top: 0.1em;
+}
+/* search page copy button */
+button#page-search-copy {
+    margin-left: 0.4em;
+    padding:0.3em;
+    top:0.13em;
+}
+button#page-search-copy img {
+    width: 1.2em;
+    height: 1.2em;
+    padding: 0.01em 0;
+    top: 0.15em;
+}
+button#page-search-copy span {
+    color: var(--body-text-color);
+    content: attr(aria-label);
+    line-height: 1.2em;
+    padding: 0.2em;
+    top: -0.18em;
+    opacity: 0;
+}
+div.page-search-info:hover button#page-search-copy,
+div.page-search-info:hover button#page-search-copy span {
+    opacity: 90%;
+}
+/* snippet copy button */
+button.snippet-copy {
+    position: absolute;
+    top: 6px;
+    right: 6px;
+    height: 1.7em;
+    opacity: 50%;
+    padding: 2px;
+}
+button.snippet-copy img {
+    width: 18px;
+    height: 18px;
+    padding: 0.05em 0;
+}
+button.snippet-copy span {
+    content: attr(aria-label);
+    line-height: 1.2em;
+    padding: 0.2em;
+    position: relative;
+    top: -0.5em;
+    display: none;
+}
+div.snippet-container:hover button.snippet-copy span {
+    display: inline;
+}
+div.snippet-container:hover button.snippet-copy {
+    opacity: 80%;
+}
+div.snippet-container button.snippet-copy:hover {
+    opacity: 100%;
+}
+/*
+ * Styles for user-provided tables.
+ *
+ * borderless:
+ *      No borders, vertical margins, styled caption.
+ *      This style is provided for use with existing doc comments.
+ *      In general, borderless tables should not be used for layout purposes.
+ *
+ * plain:
+ *      Plain borders around table and cells, vertical margins, styled caption.
+ *      Best for small tables or for complex tables for tables with cells that span
+ *      rows and columns, when the "striped" style does not work well.
+ *
+ * striped:
+ *      Borders around the table and vertical borders between cells, striped rows,
+ *      vertical margins, styled caption.
+ *      Best for tables that have a header row, and a body containing a series of simple rows.
+ */
+
+table.borderless,
+table.plain,
+table.striped {
+    margin-top: 10px;
+    margin-bottom: 10px;
+}
+table.borderless > caption,
+table.plain > caption,
+table.striped > caption {
+    font-weight: bold;
+    font-size: smaller;
+}
+table.borderless th, table.borderless td,
+table.plain th, table.plain td,
+table.striped th, table.striped td {
+    padding: 2px 5px;
+}
+table.borderless,
+table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th,
+table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td {
+    border: none;
+}
+table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr {
+    background-color: transparent;
+}
+table.plain {
+    border-collapse: collapse;
+    border: 1px solid var(--table-border-color);
+}
+table.plain > thead > tr, table.plain > tbody tr, table.plain > tr {
+    background-color: transparent;
+}
+table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th,
+table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td {
+    border: 1px solid var(--table-border-color);
+}
+table.striped {
+    border-collapse: collapse;
+    border: 1px solid var(--table-border-color);
+}
+table.striped > thead {
+    background-color: var(--subnav-background-color);
+}
+table.striped > thead > tr > th, table.striped > thead > tr > td {
+    border: 1px solid var(--table-border-color);
+}
+table.striped > tbody > tr:nth-child(even) {
+    background-color: var(--odd-row-color)
+}
+table.striped > tbody > tr:nth-child(odd) {
+    background-color: var(--even-row-color)
+}
+table.striped > tbody > tr > th, table.striped > tbody > tr > td {
+    border-left: 1px solid var(--table-border-color);
+    border-right: 1px solid var(--table-border-color);
+}
+table.striped > tbody > tr > th {
+    font-weight: normal;
+}
+/**
+ * Tweak style for small screens.
+ */
+@media screen and (max-width: 920px) {
+    header.flex-header {
+        max-height: 100vh;
+        overflow-y: auto;
+    }
+    div#navbar-top {
+        height: 2.8em;
+        transition: height 0.35s ease;
+    }
+    ul.nav-list {
+        display: block;
+        width: 40%;
+        float:left;
+        clear: left;
+        margin: 10px 0 0 0;
+        padding: 0;
+    }
+    ul.nav-list li {
+        float: none;
+        padding: 6px;
+        margin-left: 10px;
+        margin-top: 2px;
+    }
+    ul.sub-nav-list-small {
+        display:block;
+        height: 100%;
+        width: 50%;
+        float: right;
+        clear: right;
+        background-color: var(--subnav-background-color);
+        color: var(--body-text-color);
+        margin: 6px 0 0 0;
+        padding: 0;
+    }
+    ul.sub-nav-list-small ul {
+        padding-left: 20px;
+    }
+    ul.sub-nav-list-small a:link, ul.sub-nav-list-small a:visited {
+        color:var(--link-color);
+    }
+    ul.sub-nav-list-small a:hover {
+        color:var(--link-color-active);
+    }
+    ul.sub-nav-list-small li {
+        list-style:none;
+        float:none;
+        padding: 6px;
+        margin-top: 1px;
+        text-transform:uppercase;
+    }
+    ul.sub-nav-list-small > li {
+        margin-left: 10px;
+    }
+    ul.sub-nav-list-small li p {
+        margin: 5px 0;
+    }
+    div#navbar-sub-list {
+        display: none;
+    }
+    .top-nav a:link, .top-nav a:active, .top-nav a:visited {
+        display: block;
+    }
+    button#navbar-toggle-button {
+        width: 3.4em;
+        height: 2.8em;
+        background-color: transparent;
+        display: block;
+        float: left;
+        border: 0;
+        margin: 0 10px;
+        cursor: pointer;
+        font-size: 10px;
+    }
+    button#navbar-toggle-button .nav-bar-toggle-icon {
+        display: block;
+        width: 24px;
+        height: 3px;
+        margin: 1px 0 4px 0;
+        border-radius: 2px;
+        transition: all 0.1s;
+        background-color: var(--navbar-text-color);
+    }
+    button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(1) {
+        transform: rotate(45deg);
+        transform-origin: 10% 10%;
+        width: 26px;
+    }
+    button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(2) {
+        opacity: 0;
+    }
+    button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(3) {
+        transform: rotate(-45deg);
+        transform-origin: 10% 90%;
+        width: 26px;
+    }
+}
+@media screen and (max-width: 800px) {
+    .about-language {
+        padding-right: 16px;
+    }
+    ul.nav-list li {
+        margin-left: 5px;
+    }
+    ul.sub-nav-list-small > li {
+        margin-left: 5px;
+    }
+    main {
+        padding: 10px;
+    }
+    .summary section[class$="-summary"], .details section[class$="-details"],
+    .class-uses .detail, .serialized-class-details {
+        padding: 0 8px 5px 8px;
+    }
+    body {
+        -webkit-text-size-adjust: none;
+    }
+}
+@media screen and (max-width: 400px) {
+    .about-language {
+        font-size: 10px;
+        padding-right: 12px;
+    }
+}
+@media screen and (max-width: 400px) {
+    .nav-list-search {
+        width: 94%;
+    }
+    #search-input, #page-search-input {
+        width: 70%;
+    }
+}
+@media screen and (max-width: 320px) {
+    .nav-list-search > label {
+        display: none;
+    }
+    .nav-list-search {
+        width: 90%;
+    }
+    #search-input, #page-search-input {
+        width: 80%;
+    }
+}
+
+pre.snippet {
+    background-color: var(--snippet-background-color);
+    color: var(--snippet-text-color);
+    padding: 10px;
+    margin: 12px 0;
+    overflow: auto;
+    white-space: pre;
+}
+div.snippet-container {
+    position: relative;
+}
+@media screen and (max-width: 800px) {
+    pre.snippet {
+        padding-top: 26px;
+    }
+    button.snippet-copy {
+        top: 4px;
+        right: 4px;
+    }
+}
+pre.snippet .italic {
+    font-style: italic;
+}
+pre.snippet .bold {
+    font-weight: bold;
+}
+pre.snippet .highlighted {
+    background-color: var(--snippet-highlight-color);
+    border-radius: 10%;
+}
diff --git a/doc/tag-search-index.js b/doc/tag-search-index.js
new file mode 100644
index 0000000..0367dae
--- /dev/null
+++ b/doc/tag-search-index.js
@@ -0,0 +1 @@
+tagSearchIndex = [];updateSearchResults();
\ No newline at end of file
diff --git a/doc/type-search-index.js b/doc/type-search-index.js
new file mode 100644
index 0000000..6ea21ad
--- /dev/null
+++ b/doc/type-search-index.js
@@ -0,0 +1 @@
+typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"Panier","l":"Disque"},{"p":"Panier","l":"Main"},{"p":"Panier","l":"Nourriture"},{"p":"Panier","l":"Panier"},{"p":"Panier","l":"Produit"},{"p":"Panier","l":"Vendable"}];updateSearchResults();
\ No newline at end of file
diff --git a/src/Panier/Disque.java b/src/Panier/Disque.java
new file mode 100644
index 0000000..cf19626
--- /dev/null
+++ b/src/Panier/Disque.java
@@ -0,0 +1,34 @@
+package Panier;
+
+/**
+ * Classe représentant un disque (CD/DVD) vendable.
+ * Implémente l'interface {@link Vendable}.
+ */
+public class Disque implements Vendable {
+    
+    /** Prix du disque */
+    private double prix;
+
+    /**
+     * Constructeur pour initialiser le prix du disque.
+     * 
+     * @param prix Le prix du disque en euros. Doit être un nombre positif.
+     * @throws ValeurInvalideException si le prix est inférieur ou égal à 0.
+     */
+    public Disque(double prix) throws ValeurInvalideException {
+        if (prix <= 0) {
+            throw new ValeurInvalideException("Le prix du disque doit être positif.");
+        }
+        this.prix = prix;
+    }
+
+    /**
+     * Retourne le prix du disque.
+     * 
+     * @return Le prix du disque en euros.
+     */
+    @Override
+    public double getPrix() {
+        return prix;
+    }
+}
diff --git a/src/Panier/Main.java b/src/Panier/Main.java
new file mode 100644
index 0000000..33bfeee
--- /dev/null
+++ b/src/Panier/Main.java
@@ -0,0 +1,69 @@
+package Panier;
+
+/**
+ * Classe principale contenant le programme de test pour la gestion d'un panier d'achats.
+ * Cette classe permet de tester l'ajout de produits (Disques et Nourriture) dans un panier
+ * et d'afficher le prix total. Elle gère également les erreurs liées à des valeurs invalides.
+ */
+public class Main {
+
+    /**
+     * Méthode principale qui exécute différents scénarios de test pour la gestion des paniers.
+     *
+     * @param args Arguments de la ligne de commande (non utilisés ici).
+     */
+    public static void main(String[] args) {
+        
+        // =================== TEST 1 : Panier avec 2 disques et 3 portions de nourriture ===================
+        Panier panier1 = new Panier();
+        try {
+            panier1.add(2, new Disque(15.0));  // 2 disques à 15€
+            panier1.add(3, new Nourriture(10.0, 0.5)); // 3 portions de 0.5kg à 10€/kg
+        } catch (ValeurInvalideException e) {
+            System.err.println("Erreur lors de l'ajout au panier 1 : " + e.getMessage());
+        }
+        System.out.println("Prix total du panier 1 : " + panier1.getTotalPrix() + "€");
+        // Attendu : (2 * 15) + (3 * (10 * 0.5)) = 30 + 15 = 45€
+
+        // =================== TEST 2 : Panier avec 5 disques ===================
+        Panier panier2 = new Panier();
+        try {
+            panier2.add(5, new Disque(20.0));  // 5 disques à 20€
+        } catch (ValeurInvalideException e) {
+            System.err.println("Erreur lors de l'ajout au panier 2 : " + e.getMessage());
+        }
+        System.out.println("Prix total du panier 2 : " + panier2.getTotalPrix() + "€");
+        // Attendu : 5 * 20 = 100€
+
+        // =================== TEST 3 : Panier avec 4 portions de nourriture ===================
+        Panier panier3 = new Panier();
+        try {
+            panier3.add(4, new Nourriture(8.0, 1.0)); // 4 portions de 1kg à 8€/kg
+        } catch (ValeurInvalideException e) {
+            System.err.println("Erreur lors de l'ajout au panier 3 : " + e.getMessage());
+        }
+        System.out.println("Prix total du panier 3 : " + panier3.getTotalPrix() + "€");
+        // Attendu : 4 * (8 * 1) = 32€
+
+        // =================== TEST 4 : Panier vide ===================
+        Panier panier4 = new Panier();
+        System.out.println("Prix total du panier 4 : " + panier4.getTotalPrix() + "€");
+        // Attendu : 0€
+
+        // =================== TEST 5 : Erreur - Ajouter une quantité négative ===================
+        Panier panier5 = new Panier();
+        try {
+            panier5.add(-1, new Disque(15.0)); // Devrait déclencher une exception
+        } catch (ValeurInvalideException e) {
+            System.err.println("Erreur lors de l'ajout au panier 5 : " + e.getMessage());
+        }
+
+        // =================== TEST 6 : Erreur - Ajouter un produit avec un prix négatif ===================
+        Panier panier6 = new Panier();
+        try {
+            panier6.add(2, new Disque(-10.0)); // Devrait déclencher une exception
+        } catch (ValeurInvalideException e) {
+            System.err.println("Erreur lors de l'ajout au panier 6 : " + e.getMessage());
+        }
+    }
+}
diff --git a/src/Panier/Nourriture.java b/src/Panier/Nourriture.java
new file mode 100644
index 0000000..163f08d
--- /dev/null
+++ b/src/Panier/Nourriture.java
@@ -0,0 +1,40 @@
+package Panier;
+
+/**
+ * Classe représentant un produit alimentaire vendable.
+ * Chaque instance de cette classe correspond à une portion de nourriture,
+ * définie par un prix par kilogramme et un poids en kilogrammes.
+ */
+public class Nourriture implements Vendable {
+
+    private double prixKg;   // Prix par kilogramme
+    private double poidsKg;  // Poids en kilogrammes
+
+    /**
+     * Constructeur permettant d'initialiser une portion de nourriture avec son prix et son poids.
+     *
+     * @param prixKg  Prix par kilogramme (doit être strictement positif).
+     * @param poidsKg Poids en kilogrammes (doit être strictement positif).
+     * @throws ValeurInvalideException Si le prix par kilogramme ou le poids sont négatifs ou nuls.
+     */
+    public Nourriture(double prixKg, double poidsKg) throws ValeurInvalideException {
+        if (prixKg <= 0) {
+            throw new ValeurInvalideException("Le prix par kilogramme de la nourriture doit être positif.");
+        }
+        if (poidsKg <= 0) {
+            throw new ValeurInvalideException("Le poids de la nourriture doit être positif.");
+        }
+        this.prixKg = prixKg;
+        this.poidsKg = poidsKg;
+    }
+
+    /**
+     * Calcule et retourne le prix total de la portion de nourriture.
+     *
+     * @return Le prix total (prix par kilogramme * poids en kilogrammes).
+     */
+    @Override
+    public double getPrix() {
+        return prixKg * poidsKg;
+    }
+}
diff --git a/src/Panier/Panier.java b/src/Panier/Panier.java
new file mode 100644
index 0000000..24f7c14
--- /dev/null
+++ b/src/Panier/Panier.java
@@ -0,0 +1,43 @@
+package Panier;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Classe représentant un panier contenant des produits.
+ * Cette classe permet d'ajouter des produits dans le panier et de calculer le prix total du panier.
+ */
+public class Panier {
+    
+    // Liste des produits dans le panier
+    private List<Produit> produits = new ArrayList<>();
+    
+    /**
+     * Ajoute un produit dans le panier.
+     * Si la quantité demandée est inférieure ou égale à 0, une exception est levée.
+     *
+     * @param quantite La quantité du produit à ajouter (doit être supérieure à 0).
+     * @param chose Le produit à ajouter, qui doit implémenter l'interface {@link Vendable}.
+     * @throws ValeurInvalideException Si la quantité est inférieure ou égale à 0.
+     */
+    public void add(int quantite, Vendable chose) throws ValeurInvalideException {
+        if (quantite <= 0) {
+            throw new ValeurInvalideException("La quantité doit être supérieure à 0.");
+        }
+        // Création du produit à ajouter avec la quantité spécifiée
+        Produit produit = new Produit(chose, quantite);
+        // Ajout du produit dans la liste
+        produits.add(produit);
+    }
+    
+    /**
+     * Calcule le prix total du panier.
+     * Le prix total est la somme des prix de chaque produit, calculé en fonction de la quantité et du prix de chaque produit.
+     *
+     * @return Le prix total du panier.
+     */
+    public double getTotalPrix() {
+        // On parcourt la liste des produits et on somme les prix de chaque produit
+        return produits.stream().mapToDouble(Produit::getPrixProduit).sum();
+    }
+}
diff --git a/src/Panier/Produit.java b/src/Panier/Produit.java
new file mode 100644
index 0000000..5d86f7c
--- /dev/null
+++ b/src/Panier/Produit.java
@@ -0,0 +1,39 @@
+package Panier;
+
+/**
+ * Classe représentant un produit dans un panier.
+ * Cette classe contient un produit (qui doit implémenter l'interface {@link Vendable})
+ * ainsi qu'une quantité. Elle permet de calculer le prix total du produit en fonction de la quantité.
+ */
+public class Produit {
+    
+    private Vendable chose;  // L'objet vendable (comme un disque ou de la nourriture)
+    private int quantite;    // La quantité de ce produit dans le panier
+    
+    /**
+     * Constructeur pour initialiser un produit avec une chose vendable et une quantité.
+     * Si la quantité est inférieure ou égale à 0, une exception {@link ValeurInvalideException} est levée.
+     * 
+     * @param chose Le produit à ajouter (doit être une instance d'un objet implémentant {@link Vendable}).
+     * @param quantite La quantité du produit à ajouter (doit être supérieure à 0).
+     * @throws ValeurInvalideException Si la quantité est inférieure ou égale à 0.
+     */
+    public Produit(Vendable chose, int quantite) throws ValeurInvalideException {
+        if (quantite <= 0) {
+            throw new ValeurInvalideException("La quantité doit être supérieure à 0.");
+        }
+        this.chose = chose;
+        this.quantite = quantite;
+    }
+    
+    /**
+     * Méthode pour obtenir le prix total du produit (quantité * prix unitaire).
+     * Cette méthode calcule le prix total du produit en multipliant la quantité par le prix unitaire
+     * du produit (qui est obtenu via la méthode {@link Vendable#getPrix()}).
+     *
+     * @return Le prix total du produit (quantité * prix unitaire).
+     */
+    public double getPrixProduit() {
+        return quantite * chose.getPrix();
+    }
+}
diff --git a/src/Panier/ValeurInvalideException.java b/src/Panier/ValeurInvalideException.java
new file mode 100644
index 0000000..245b73c
--- /dev/null
+++ b/src/Panier/ValeurInvalideException.java
@@ -0,0 +1,27 @@
+package Panier;
+
+/**
+ * Exception personnalisée pour gérer les erreurs liées à des valeurs invalides,
+ * telles que des prix ou quantités non valides.
+ * Cette exception est levée lorsque des valeurs invalides sont détectées dans
+ * les processus liés aux produits dans le panier (par exemple, un prix ou une
+ * quantité inférieure ou égale à 0).
+ */
+class ValeurInvalideException extends Exception {
+
+    /**
+     * ID de version pour la sérialisation.
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Constructeur de l'exception {@link ValeurInvalideException}.
+     * Ce constructeur permet de créer une exception avec un message d'erreur
+     * détaillant la raison de l'échec.
+     * 
+     * @param message Le message d'erreur à afficher lorsqu'une valeur invalide est rencontrée.
+     */
+    public ValeurInvalideException(String message) {
+        super(message);
+    }
+}
diff --git a/src/Panier/Vendable.java b/src/Panier/Vendable.java
new file mode 100644
index 0000000..8fd08a9
--- /dev/null
+++ b/src/Panier/Vendable.java
@@ -0,0 +1,19 @@
+package Panier;
+
+/**
+ * Interface représentant un objet vendable, c'est-à-dire un objet qui a un prix.
+ * Les classes qui implémentent cette interface doivent définir la méthode {@link #getPrix()},
+ * qui retourne le prix unitaire de l'objet.
+ */
+public interface Vendable {
+
+    /**
+     * Méthode pour obtenir le prix unitaire de l'objet.
+     * Cette méthode doit être implémentée dans toutes les classes qui
+     * représentent des objets ayant un prix, comme les produits vendus
+     * dans un panier.
+     * 
+     * @return Le prix unitaire de l'objet.
+     */
+    double getPrix();
+}
diff --git a/src/module-info.java b/src/module-info.java
new file mode 100644
index 0000000..61d7fda
--- /dev/null
+++ b/src/module-info.java
@@ -0,0 +1,8 @@
+/**
+ * 
+ */
+/**
+ * 
+ */
+module Gestion_panier {
+}
\ No newline at end of file
-- 
GitLab